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

Материал из WebHMI Wiki
Перейти к: навигация, поиск
(Обновление для соответствия новой версии исходной страницы.)
 
(не показано 5 промежуточных версий 2 участников)
Строка 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 номер 4, 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).
*'''запись''' - используются либо '''функция номер 6''' (Write Single) для записи одного слова, либо '''16''' (Write Multiple) для записи нескольких;
+
*'''read''' - Modbus function '''#3''' or '''#4''' is used, Holding or Input Register;
Интересным применением является связь разнородных систем между собой, когда устройства WebHMI установленные в разных системах, позволяют им обмениваться данными между собой. В этом случае, например для чтения регистра по протоколу Modbus/TCP c другого устройства WebHMI, необходимо использовать адрес в формате IRxxxxx (где ххххх - адрес на сервере).<br>
+
** 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).
 +
<br>
  
  ВНИМАНИЕ! Для корректного чтения с WebHMI регистров по протоколу Modbus TCP, имеющих длину 2 слова (время, float и др.) Modbus - клиент должен группировать регистры, т.е. использовать минимальную длину данных в запроса равную 2 или больше.  
+
  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 register read, 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>

Текущая версия на 16:36, 15 мая 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 register read, i.e. to use the minimum data length of 2 or more words in a query.

Modbus tcp func.png