16 348
правок
(Скорректировал процедуру обновления прошивок) |
|||
Строка 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-client | modbus_client]] для опроса устройств по протоколам Modbus RTU и Modbus TCP из командной строки не умеет работать с протоколом Modbus over TCP, который используется для коммуникации с модулем WB-MGE и WB-MIO-E по сети Ethernet. | ||
Для конфигурирования Modbus-устройств, подключенных к WB-MGE (WB-MIO-E) по сети RS-485 можно: | |||
* Использовать [[RS-485:Configuration_via_Web_Interface#Дополнительные параметры устройства|дополнительные параметры устройства]] в веб-интерфейсе контроллера | |||
* Создать виртуальный порт для работы утилиты [[ Modbus-client | modbus_client]]. | |||
Чтобы создать виртуальный порт: | |||
# Остановите сервис wb-mqtt-serial: | |||
#:<syntaxhighlight lang="bash"> | |||
service wb-mqtt-serial stop | |||
</syntaxhighlight> | |||
# Установите утилиту socat | |||
#:<syntaxhighlight lang="bash"> | |||
apt-get install socat | apt-get install socat | ||
Предположим, что модуль WB-MGE (WB-MIO-E) имеет IP-адрес 192.168.0.7, тогда в одном терминале на контроллере нужно выполнить команду: | </syntaxhighlight> | ||
# Запустите перенаправление. Предположим, что модуль 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. | #:<syntaxhighlight lang="bash"> | ||
socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-5 tcp:192.168.0.7:20108& | |||
</syntaxhighlight> | |||
#: в системе появится виртуальный порт <code>/dev/ttyRS485-5</code>, с которым можно работать как с локальным. | |||
Теперь открываете второй терминал и, с помощью утилиты [[ Modbus-client | modbus_client]] читаете и записываете значения в регистры устройств, подключенных к шлюзу по сети RS-485. В качестве адреса используете Modbus-адреса устройств. При этом в первом терминале остается запущенной команда socat. | |||
Чтобы обновить прошивку с помощью утилит [[wb-mcu-fw-updater | wb-mcu-fw-updater]] или [[Wb-mcu-fw-flasher | wb-mcu-fw-flasher]]: | |||
# Используйте созданный socat порт, например, <code>/dev/ttyRS485-5</code>. | |||
# Режим шлюза должен быть TCP Server/None (для WB-MGE v2, WB-MIO-E v2) или TCP Server (для WB-MGE v1, WB-MIO-E v1). | |||
# Modbus-устройства и шлюз должны иметь одинаковые настройки обмена по интерфейсу RS-485: скорость 9600 бит/с, биты данных 8, бит четности - нет, количество стоп-битов 2. | |||
Только при соблюдении всех условий обновление прошивки будет работать. | |||
https://support.wirenboard.com/t/wb-mio-e-nastrojka-podklyuchennogo-ustrojstva-modbus-client/8471 | == Информация по теме на портале == | ||
* [https://support.wirenboard.com/t/kak-smenit-proshivku-ili-skorost-u-modulya-wb-podklyuchyonnogo-k-tcp-portu/8480 Как сменить прошивку или скорость у модуля Wiren Board, подключённого к TCP порту?] | |||
* [https://support.wirenboard.com/t/wb-mio-e-nastrojka-podklyuchennogo-ustrojstva-modbus-client/8471 WB-MIO-E - настройка подключенного устройства modbus_client] |