Тест Мобильного клиента (SIMP HMI)
Тут оставляем сообщения об ошибках, пожелания по доработке/
Описание настройки в статье по адресу:
Тут оставляем сообщения об ошибках, пожелания по доработке/
Описание настройки в статье по адресу:
Посмотрел ваш проект.
Настройки типа канала влияют только на внутренние расчеты. Для указания типа значений, считываемые с контроллера - надо настраивать сам Modbus драйвер. И типы данных в нем.
По умолчанию - тип данных в modbus драйвере - Auto. это int16. Если вам нужны числа больше 32767 - то поставьте UInt16.
Разрыв соединения повторить не удалось.
Спасибо, после исправления вижу на HMI значения > 32767 , тода вопрос, почему при старых настройках модбас драйвера Монитор отображал эти данные корректно?
Спасибо, после исправления вижу на HMI значения > 32767 , тода вопрос, почему при старых настройках модбас драйвера Монитор отображал эти данные корректно?
Немного по разному значения воспринимаются в мониторе и в мобильном hmi. Постараемся привести к одному виду.
Отправил проект на simp@simplight.ru, проблема с отображением значений тегов в мобильном клиенте через Modbus TCP сервер Lantan CS-3102, не поможете?
Отправил проект на simp@simplight.ru, проблема с отображением значений тегов в мобильном клиенте через Modbus TCP сервер Lantan CS-3102, не поможете?
В вашем проекте на всех каналах стояли формулы на чтение. Не понял их назначение. Но с ними и в виндовом мониторе ничего не работало. После удаления формул - заработало и на винде и на андроиде. В качестве устройства использовал modbus эмулятр.
HMI в данный момент не поддерживает формулы ни на чтение ни на запись.
В вашем проекте на всех каналах стояли формулы на чтение. Не понял их назначение. Но с ними и в виндовом мониторе ничего не работало. После удаления формул - заработало и на винде и на андроиде. В качестве устройства использовал modbus эмулятр.
HMI в данный момент не поддерживает формулы ни на чтение ни на запись.
А будет поддерживать?
Объясню на примере. С2000-ПП, два состояния, 24 взят (шс на охране), 109 снят. Добавляю тег, если читать с младшего байта то получаю 24 или 109, все как надо, а вот запись идет со старшего байта, приходиться записывать значения 6144 и 27904, а не те же 24 и 109, это не удобно. Поэтому считываю со старшего байта, добавляю формулу, чтоб из 6144 и 27904 получить 24 и 109 в Мониторе, на запись при этом формула не нужна, при чтении со старшего байта записываются значения 24 и 109, как в таблице, в общем я один раз применил формулу, а дальше работаю со значениями описанными в РЭ на С2000-ПП. Как то так, если поняли конечно). Не на эмуляторе в винде все работает как надо.
А будет поддерживать?
Объясню на примере. С2000-ПП, два состояния, 24 взят (шс на охране), 109 снят. Добавляю тег, если читать с младшего байта то получаю 24 или 109, все как надо, а вот запись идет со старшего байта, приходиться записывать значения 6144 и 27904, а не те же 24 и 109, это не удобно. Поэтому считываю со старшего байта, добавляю формулу, чтоб из 6144 и 27904 получить 24 и 109 в Мониторе, на запись при этом формула не нужна, при чтении со старшего байта записываются значения 24 и 109, как в таблице, в общем я один раз применил формулу, а дальше работаю со значениями описанными в РЭ на С2000-ПП. Как то так, если поняли конечно). Не на эмуляторе в винде все работает как надо.
мда... странный прибор.
в первом релизе точно формул не будет. дальше - возможно будут, а возможно нет.
В данный момент могу посоветовать только записывать значения с поменянными старшим и младшим байтом. Увы, но другого пути нет.
мда... странный прибор.
в первом релизе точно формул не будет. дальше - возможно будут, а возможно нет.
В данный момент могу посоветовать только записывать значения с поменянными старшим и младшим байтом. Увы, но другого пути нет.
Я вот так и сделал, читаю с младшего, вижу нормальные значения, формулу убрал, на запись все равно два значения, не запутаюсь, записываю 6144 и 27904, функции на запись 05, 06 и для ПК и для HMI, а вот когда использовал формулу на чтение и записывал 24 и 109 соответственно, с мобильного клиента требовалось использовать функции записи 15,16, мы выше обсуждали проблему, то что не с первого нажатия значение записывается, сначала записывался 0 потом уже 24/109.
Lantan этот, тормозит, через раз записывает, по своему живет. Через инет так и не записал я значение, хотя отображение есть. В общем отказываюсь я от этой идеи. Вам спасибо за ответы.
Я вот так и сделал, читаю с младшего, вижу нормальные значения, формулу убрал, на запись все равно два значения, не запутаюсь, записываю 6144 и 27904, функции на запись 05, 06 и для ПК и для HMI, а вот когда использовал формулу на чтение и записывал 24 и 109 соответственно, с мобильного клиента требовалось использовать функции записи 15,16, мы выше обсуждали проблему, то что не с первого нажатия значение записывается, сначала записывался 0 потом уже 24/109.
Lantan этот, тормозит, через раз записывает, по своему живет. Через инет так и не записал я значение, хотя отображение есть. В общем отказываюсь я от этой идеи. Вам спасибо за ответы.
Хотя нет, беру слова обратно. Изменил настройки modbus драйвера, было так:
Сделал так(как в прошлом проекте):
Начал отрабатывать корректно, в плане управления, даже через интернет.
А не объясните что такое оптимизатор данных? Где какой и по какой причине применять тот или иной? А то в справке я этого не нашел.
Хотя нет, беру слова обратно. Изменил настройки modbus драйвера, было так:
Сделал так(как в прошлом проекте):
Начал отрабатывать корректно, в плане управления, даже через интернет.
А не объясните что такое оптимизатор данных? Где какой и по какой причине применять тот или иной? А то в справке я этого не нашел.
оптимизатор:
None - отсутствие оптимизатора. т.е. каждый адрес запрашивается отдельным пакетом данных. это самый тормозной способ. т.к. необходимо дожидаться пока придет предыдущий ответ и только потом отправлять следующий. Но он нужен для тех приборов, которые не поддерживают множественное чтение.
Data - симп анализирует карту заданных адресов и пытается группировать адреса для запроса одним пакетом. при этом при разрывах в карте адресов - формируется отдельный пакет. т.е. например, заданы адреса 1, 2, 5, 6 - будут сформированы 2 пакета для адресов 1, 2 и для 5, 6.
Full - то же что и Data, но разрывы в карте адресов могут быть включены в пакет (если программа решит что ей выгоднее спросить несколько "лишних" адресов, чем разбивать данные на несколько пакетов). т.е. для адресов 1, 2, 5, 6 будет сформирован один пакет. в нем также придут "лишние" данные - адреса 3 и 4. но их значения будут отброшены. По количеству передаваемых данных - это самый оптимальный вариант. Но он работает не на всех устройствах.
если устройство не поддерживает множественное чтение - то однозначно оптимизатор надо отключать (None).
если поддерживает - то Data или Full. это зависит от того, как обрабатывает запросы к несуществующим адресам само устройство. Есть устройства, которые при запросе несуществующих адресов возвращают ошибку. Например, заданы адреса 1, 2, 5, 6 - то любое чтение (даже множественное с 1 по 6) - возвратит ошибку. Для таких устройств подойдет только оптимизация Data. Ну или надо делать карту адресов без разрывов. Тогда подойдет Full, но работать будет точно так же как и Data.
Full может реально ускорить работу, если адреса заданы через 1. Тогда Data будет работать как None. На каждый адрес будет отдельный запрос. А Full - сгруппирует по возможности чтение. Но таких ситуаций следует избегать.
Побочный эффект множественного чтения - обновление данных может быть гораздо быстрее чем указано при настройке канала. Например адреса 1 и 3 настроены на 1 сек. а адрес 2 - на 2 сек. При групповом чтении все 3 адреса будут обновляться с частотой 1 сек.
Это надо учитывать. И если это нежелательно - группировать адреса с одной частотой опроса близко друг к другу.
В настройках каналов стоит тип переменнной тега - word, при выводе в HMI (графический элемент "Текст" ) при значении > 65535/2 значение не выводится и соединение отваливается.
Посмотрел ваш проект.
Настройки типа канала влияют только на внутренние расчеты. Для указания типа значений, считываемые с контроллера - надо настраивать сам Modbus драйвер. И типы данных в нем.
По умолчанию - тип данных в modbus драйвере - Auto. это int16. Если вам нужны числа больше 32767 - то поставьте UInt16.
Разрыв соединения повторить не удалось.