Проблема с отображением значений регистров

21 Sep Проблема с отображением значений регистров

Доброго дня Уважаемые разработчики WebHMI.
Я работаю с ПЛК Unitronics и пытаюсь сделать полноценный проект с использованием Modbus TCP в качестве коммуникационного протокола. Однако столкнулся с серьезной проблемой. В проекте мне приходится работать с разным типом данных (целое, длинное целое, двойное слово, без знаковое и знаковое целое, числа с плавающей запятой). Набрав необходимые теги, я попытался проверить значение регистров и понять правильность их сбора, и каково же было мое удивление, когда я получил визуализацию только регистров с целыми значениями (16 бит). остальные же типы регистров читаются но не отображаются в поле предварительного просмотра окна настройки регистров. Наивно предполагая, что это просто ошибка просмотра, я вынес значения этих регистров на дашборд и снова потерпел фиаско. Вместо текущего значения регистра я вижу просто “0” или “0.0”. я попробовал в этом же окне занести значение регистра обратно в ПЛК и все прошло успешно, новое значение в ПЛК записалось, а вот в поле предварительного просмотра окна настройки регистров так и осталось значение “0”. я составил тестовые программы для ПЛК и для WEBHMI где проверил все типы регистров моего ПЛК и понял, что коммуникация между ПЛК и WebHMI происходит удачно и из полей предварительного просмотра окна настройки регистров новые значения всех типов регистров ПЛК записываются правильно, а вот отображение на WebHMI есть только для целочисленных значений 16 бит. Я уже было продумал, что по какой то причине я не читаю значения из ПЛК и проверил чтение значения регистров программой Modbus Poll. Все прекрасно читается и отображается безошибочно. Прошу пояснить мне, что я не верно делаю или в чем заключается проблема отображения и как ее исправить. Прошивка WEBHMI 2.8.4834. По запросу вышлю принтскрины на почту.

2 answers

Добрый день!
С такой проблемой мы не сталкивались. 
См. вложенный скриншот – я создал modbus tcp соедиение  с помощью программы Modbus Slave (из комплекта программы Modbus Poll)   на ноутбуке и прочитал float в WebHMI. Версия прошивки таже. На дешборде он тоже корректно отображается. 
Возможно, в свойствах регистров у вас остался тип данных Word uint , а нужно ставить корректный тип/длину для каждого регистра. попробуйте также отключить “групповое чтение” для этого соединения. 
Если проблема останется, звоните с приготовленным номером teamviewer, так будет быстрее. 
 

#1

или пришлите резервную копию проекта, мы можем посмотреть его на своем устройстве. 

#2

Пожалуйста войдите или зарегистрируйтесь чтобы добавить ответ