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

→‎Input- и Holding-registers: исправил информацию для текстовых полей
(→‎Input- и Holding-registers: исправил информацию для текстовых полей)
 
(не показаны 3 промежуточные версии 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 ==
Строка 16: Строка 18:


== Modbus RTU binding ==
== Modbus RTU binding ==
[[Image:Modbus-RTU-settings-mbgate.png|300 px|thumb|right|Настройка Modbus RTU шлюза в веб-интерфейсе контроллера Wiren Board]]
Выберите здесь тип шлюза — '''RTU''', а также укажите serial-порт и параметры соединения:
Выберите здесь тип шлюза — '''RTU''', а также укажите serial-порт и параметры соединения:
* Path to device — адрес serial-порта контроллера, на котором будет доступен шлюз.
* Path to device — адрес serial-порта контроллера, на котором будет доступен шлюз.
Строка 22: Строка 25:
* Data bits — биты данных.
* Data bits — биты данных.
* Stop bits — стоп-биты.
* Stop bits — стоп-биты.
[[Image:Modbus-RTU-settings-mbgate.png|center|300 px|Настройка Modbus RTU шлюза в веб-интерфейсе контроллера Wiren Board]]
 
== MQTT connection ==
== MQTT connection ==
Здесь можно настроить параметры для подключения к брокеру сообщений MQTT. По умолчанию шлюз использует MQTT-брокер контроллера. Также вы можете настроить аутентификацию при подключении к брокеру.
Здесь можно настроить параметры для подключения к брокеру сообщений MQTT. По умолчанию шлюз использует MQTT-брокер контроллера. Также вы можете настроить аутентификацию при подключении к брокеру.
Строка 62: Строка 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 при указании его в вашем ПО.
Строка 77: Строка 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

правок