Modbus RTU/TCP Slave: различия между версиями

→‎Input- и Holding-registers: исправил информацию для текстовых полей
(→‎Input- и Holding-registers: исправил информацию для текстовых полей)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 8: Строка 8:


Настройки шлюза хранятся в файле <code>/etc/wb-mqtt-mbgate.conf</code> и могут быть изменены через веб-интерфейс. Чтобы открыть настройку шлюза, перейдите  в веб-интерфейсе в раздел '''Settings''' → '''Configs''' → '''MQTT to Modbus TCP and RTU slave gateway configuration'''.
Настройки шлюза хранятся в файле <code>/etc/wb-mqtt-mbgate.conf</code> и могут быть изменены через веб-интерфейс. Чтобы открыть настройку шлюза, перейдите  в веб-интерфейсе в раздел '''Settings''' → '''Configs''' → '''MQTT to Modbus TCP and RTU slave gateway configuration'''.
{{Note|info| Обратите внимание, что порт, выбранный для работы в режиме Modbus-slave, не должен использоваться в настройках опроса драйвера wb-mqtt-serial!}}


== Modbus TCP binding ==
== Modbus TCP binding ==
Строка 63: Строка 65:
* MQTT Device — имя канала в формате <code>+/+</code>, как соответствие <code>/devices/+/controls/+/</code>.
* MQTT Device — имя канала в формате <code>+/+</code>, как соответствие <code>/devices/+/controls/+/</code>.
* Meta-type — тип канала, полученный из очереди MQTT. Параметр отображен только «для пользователя», не влияет на работу службы.
* Meta-type — тип канала, полученный из очереди MQTT. Параметр отображен только «для пользователя», не влияет на работу службы.
* Modbus unit ID и Start address — адресные поля Modbus RTU/TCP. Определяются хешированием от имени канала. Таким образом, одинаковые каналы на разных контроллерах с большой вероятностью будут иметь одинаковые адресные поля. Адреса 1 и 2 зарезервированы за пользователем, поэтому ни один канал не будет назначен на них автоматически.
* Modbus unit ID и Start address — адрес slave-устройства в сети Modbus RTU/TCP и адрес его регистра. Определяются хешированием от имени канала. Таким образом, одинаковые каналы на разных контроллерах с большой вероятностью будут иметь одинаковые адресные поля. Адреса 1 и 2 зарезервированы за пользователем, поэтому ни один канал не будет назначен на них автоматически.


'''Важно для Modbus TCP:''' Так как контроллер является шлюзом, то он назначает разным устройствам, которые к нему подключены разные Unit ID. Некоторое программное обеспечение рассчитано на работу с одним Unit ID (например 1) на одном IP-адресе. В некоторых программах стартовый адрес считается начинающимся с 1, а не с 0. В таком случае к стартовому адресу из конфигурации шлюза надо добавлять 1 при указании его в вашем ПО.
'''Важно для Modbus TCP:''' Так как контроллер является шлюзом, то он назначает разным устройствам, которые к нему подключены разные Unit ID. Некоторое программное обеспечение рассчитано на работу с одним Unit ID (например 1) на одном IP-адресе. В некоторых программах стартовый адрес считается начинающимся с 1, а не с 0. В таком случае к стартовому адресу из конфигурации шлюза надо добавлять 1 при указании его в вашем ПО.
Строка 78: Строка 80:
** ''Varchar'' — текстовое поле фиксированного размера (1 символ на регистр).
** ''Varchar'' — текстовое поле фиксированного размера (1 символ на регистр).


* Size (in bytes) — размер данных в байтах. Нужно учитывать, что для всех типов, кроме текстового, в один регистр укладывается два байта:
* Size (in bytes) — размер данных в байтах. Нужно учитывать, что для всех типов в один регистр укладывается два байта:
** ''для целочисленных типов'' — 2, 4 и 8 байт — это будет 1, 2 и 4 регистра соответственно;
** ''для целочисленных типов'' — 2, 4 и 8 байт — это будет 1, 2 и 4 регистра соответственно;
** ''для чисел с плавающей точкой'' — 4 и 8 байт, то есть 2 и 4 регистра соответственно;
** ''для чисел с плавающей точкой'' — 4 и 8 байт, то есть 2 и 4 регистра соответственно;
** ''для текстовых полей'' — любое неотрицательное значение.
** ''для текстовых полей'' — длина строки указывается в регистрах (не в байтах), при этом 1 регистр = 1 символ.


* Maximum value — максимальное значение поля. Требуется для каналов типа ''range''. Все значения больше максимума будут заменены на максимальное.
* Maximum value — максимальное значение поля. Требуется для каналов типа ''range''. Все значения больше максимума будут заменены на максимальное.
wb_editors
480

правок