WB FAQ/modbus-modules-behind-gateway: различия между версиями

Материал из Wiren Board
(добавил информацию по обновлению прошивки)
(добавил информацию по обновлению прошивки)
Строка 1: Строка 1:
{{DISPLAYTITLE: Работа с Modbus-модулями, подключенными к шлюзам WB-MGE или WB-MIO-E по сети RS-485, с помощью утилиты modbus_client}}
{{DISPLAYTITLE: Работа с Modbus-модулями, подключенными к шлюзам WB-MGE или WB-MIO-E по сети RS-485, с помощью утилиты modbus_client}}


Утилита [[ Modbus-client | modbus_client]] для опроса устройств по протоколам Modbus RTU и Modbus TCP из командной строки не умеет работать с протоколом Modbus over TCP, который используется для коммуникации с модулем WB-MGE и WB-MIO-E по сети Ethernet. Для конфигурирования Modbus-устройств, подключенных к WB-MGE (WB-MIO-E) по сети RS-485 можно использовать [[Wb-mqtt-serial_templates#.D0.A1.D0.B5.D0.BA.D1.86.D0.B8.D1.8F_.D0.B8.D0.BD.D0.B8.D1.86.D0.B8.D0.B0.D0.BB.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D0.B8_.28setup-.D1.81.D0.B5.D0.BA.D1.86.D0.B8.D1.8F.29 | "setup"-секцию ]] интерфейса wb-mqtt-serial или создать виртуальный порт для работы утилиты [[ Modbus-client | modbus_client]]. Сделать это можно следующим образом.  
Утилита [[ Modbus-client | modbus_client]] для опроса устройств по протоколам Modbus RTU и Modbus TCP из командной строки не умеет работать с протоколом Modbus over TCP, который используется для коммуникации с модулем WB-MGE и WB-MIO-E по сети Ethernet. Для конфигурирования Modbus-устройств, подключенных к WB-MGE (WB-MIO-E) по сети RS-485 можно использовать [[Wb-mqtt-serial_templates#.D0.A1.D0.B5.D0.BA.D1.86.D0.B8.D1.8F_.D0.B8.D0.BD.D0.B8.D1.86.D0.B8.D0.B0.D0.BB.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D0.B8_.28setup-.D1.81.D0.B5.D0.BA.D1.86.D0.B8.D1.8F.29 | "setup"-секцию ]] интерфейса wb-mqtt-serial или создать виртуальный порт для работы утилиты [[ Modbus-client | modbus_client]] или обновления прошивки с помощью утилиты [[Wb-mcu-fw-flasher | wb-mcu-fw-flasher ]]. Сделать это можно следующим образом.  


Остановить сервис wb-mqtt-serial:
Остановить сервис wb-mqtt-serial:

Версия 10:14, 28 сентября 2021


Утилита modbus_client для опроса устройств по протоколам Modbus RTU и Modbus TCP из командной строки не умеет работать с протоколом Modbus over TCP, который используется для коммуникации с модулем WB-MGE и WB-MIO-E по сети Ethernet. Для конфигурирования Modbus-устройств, подключенных к WB-MGE (WB-MIO-E) по сети RS-485 можно использовать "setup"-секцию интерфейса wb-mqtt-serial или создать виртуальный порт для работы утилиты modbus_client или обновления прошивки с помощью утилиты wb-mcu-fw-flasher . Сделать это можно следующим образом.

Остановить сервис wb-mqtt-serial:

 service wb-mqtt-serial stop    

Установить утилиту socat (если она еще не установлена)

 apt-get install socat

Предположим, что модуль WB-MGE (WB-MIO-E) имеет IP-адрес 192.168.0.7, тогда в одном терминале на контроллере нужно выполнить команду:

 socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-5 tcp:192.168.1.7:20108&

В системе появляется виртуальный порт /dev/ttyRS485-5, с которым можно работать как с локальным. Для этого нужно открыть второй терминал и, используя утилиту modbus_client и обычные адреса Modbus-устройств, читать и записывать значения в регистры устройств, подключенных к шлюзу по сети RS-485. При этом в первом терминале остается запущенной команда socat. Для обновления прошивки модулей, подключенных за модулем WB-MGE или WB-MIO-E можно использовать аналогичным образом утилиту wb-mcu-fw-flasher , указав порт /dev/ttyRS485-5.

Информация по теме на форуме

  • Доступ к модулям, стоящим за шлюзом WB-MGE или WB-MIO-E

https://support.wirenboard.com/t/kak-smenit-proshivku-ili-skorost-u-modulya-wb-podklyuchyonnogo-k-tcp-portu/8480

https://support.wirenboard.com/t/wb-mio-e-nastrojka-podklyuchennogo-ustrojstva-modbus-client/8471