Функция Modbus/TCP сервер/en — различия между версиями

Материал из WebHMI Wiki
Перейти к: навигация, поиск
(Обновление для соответствия новой версии исходной страницы.)
Строка 1: Строка 1:
 
<languages/>
 
<languages/>
  
Существует возможность внешнего доступа к регистрам WebHMI по протоколу Modbus/TCP. Для этого служит меню '''Конфигурация (Setup) --> Modbus/TCP server'''. При указании в списке для регистров опции Экспортировать(Export), данный регистр может быть доступен извне по протоколу Modbus/TCP, с адресом, введенным в поле '''Адрес ModBus/TCP.''' Формат адреса -  значение от 0..65535. В данном случае речь идет не об адресе модели данных Modbus (например 40001-49999 для holding - регистров), а об адресе в сообщении (адресе PDU).
+
There is the possibility of external access to the WebHMI registers via the Modbus / TCP protocol. To do this, go to the menu '''Configuration -> Modbus / TCP server'''. If you specify the option Export in the list for registers, this register can be accessed externally via the Modbus / TCP protocol, with the address entered in the '''ModBus / TCP Address.'''
*'''чтение''' - используется функция Modbus номера 3, 4 (Holding and Input Register);
+
The address format is a value from 0..65535. In this case, it's not about the address of the Modbus data model (for example 40001-49999 for holding registers), but about the address in the modubs telegram(PDU address).
** при использовании 3 функции (HR) сервер будет возвращать нормализованное значение (преобразование к типу, умножение сдвиг и т.д.)
+
*'''read''' - Modbus function '''#3''' or '''#4''' is used, Holding or Input Register;
** при использовании 4 функции (IR) сервер будет возвращать не-нормализованное значение, так как оно было прочитано с исходного устройства
+
** with '''#3''' (HR) function the server will return normilized value, i.e. of a given type, after multiplication or shift etc.
*'''запись''' - используются либо '''функция номер 6''' (Write Single) для записи одного слова, либо '''16''' (Write Multiple) для записи нескольких;
+
** with '''#4''' (IR) function the server will return non-normilized value (raw), as it was read from the source device
Интересным применением является связь разнородных систем между собой, когда устройства WebHMI установленные в разных системах, позволяют им обмениваться данными между собой. В этом случае, например для чтения регистра по протоколу Modbus/TCP c другого устройства WebHMI, необходимо использовать адрес в формате IRxxxxx (где ххххх - адрес на сервере).<br>
+
*'''write''' - Modubs functions '''#6''' (Write Single) for single word write, or '''#16''' (Write Multiple) for multipple words are used;
 +
An interesting application is the connection of heterogeneous systems to each other when WebHMI devices are installed in different systems, allowing them to exchange data among themselves. In this case, for example, to read the register using the Modbus / TCP protocol from another WebHMI device, you need to use the address in the format IRxxxxx (where xxxxx is the server address).
 +
<br>
  
 
  ATTENTION! For correct reading from the WebHMI registers of Double Word type (time, float, etc.) via the Modbus TCP protocol, the Modbus - client should use a group read registers, i.e. to use the minimum data length of 2 or more words in a query.
 
  ATTENTION! For correct reading from the WebHMI registers of Double Word type (time, float, etc.) via the Modbus TCP protocol, the Modbus - client should use a group read registers, i.e. to use the minimum data length of 2 or more words in a query.
 
[[Файл:Modbus tcp func.png|800px]]<br>
 
[[Файл:Modbus tcp func.png|800px]]<br>

Версия 08:47, 14 мая 2018

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

There is the possibility of external access to the WebHMI registers via the Modbus / TCP protocol. To do this, go to the menu Configuration -> Modbus / TCP server. If you specify the option Export in the list for registers, this register can be accessed externally via the Modbus / TCP protocol, with the address entered in the ModBus / TCP Address. The address format is a value from 0..65535. In this case, it's not about the address of the Modbus data model (for example 40001-49999 for holding registers), but about the address in the modubs telegram(PDU address).

  • read - Modbus function #3 or #4 is used, Holding or Input Register;
    • with #3 (HR) function the server will return normilized value, i.e. of a given type, after multiplication or shift etc.
    • with #4 (IR) function the server will return non-normilized value (raw), as it was read from the source device
  • write - Modubs functions #6 (Write Single) for single word write, or #16 (Write Multiple) for multipple words are used;

An interesting application is the connection of heterogeneous systems to each other when WebHMI devices are installed in different systems, allowing them to exchange data among themselves. In this case, for example, to read the register using the Modbus / TCP protocol from another WebHMI device, you need to use the address in the format IRxxxxx (where xxxxx is the server address).

ATTENTION! For correct reading from the WebHMI registers of Double Word type (time, float, etc.) via the Modbus TCP protocol, the Modbus - client should use a group read registers, i.e. to use the minimum data length of 2 or more words in a query.

Modbus tcp func.png