Функция Modbus/TCP сервер

Материал из WebHMI Wiki
Перейти к: навигация, поиск
На этой странице были произведены изменения, не отмеченные для перевода.

Другие языки:
English • ‎русский

Существует возможность внешнего доступа к регистрам WebHMI по протоколу Modbus/TCP. Для этого служит меню Конфигурация (Setup) --> Modbus/TCP server. При указании в списке для регистров опции Экспортировать(Export), данный регистр может быть доступен извне по протоколу Modbus/TCP, с адресом, введенным в поле Адрес ModBus/TCP. Формат адреса - значение от 0..65535. В данном случае речь идет не об адресе модели данных Modbus (например 40001-49999 для holding - регистров), а об адресе в сообщении (адресе PDU).

  • чтение - используется функция Modbus номера 3, 4 (Holding and Input Register);
    • при использовании 3 функции (HR) сервер будет возвращать нормализованное значение (преобразование к типу, умножение сдвиг и т.д.)
    • при использовании 4 функции (IR) сервер будет возвращать не-нормализованное значение, так как оно было прочитано с исходного устройства
  • запись - используются либо функция номер 6 (Write Single) для записи одного слова, либо 16 (Write Multiple) для записи нескольких;

Интересным применением является связь разнородных систем между собой, когда устройства WebHMI установленные в разных системах, позволяют им обмениваться данными между собой. В этом случае, например для чтения регистра по протоколу Modbus/TCP c другого устройства WebHMI, необходимо использовать адрес в формате IRxxxxx (где ххххх - адрес на сервере).

ВНИМАНИЕ! Для корректного чтения с WebHMI регистров по протоколу Modbus TCP, имеющих длину 2 слова (время, float и др.) Modbus - клиент должен группировать регистры, т.е. использовать минимальную длину данных в запроса равную 2. 

Modbus tcp func.png