Не удаётся прочитать wb-mio v2

Добрый день! Прошу помочь разобраться с WB-MIO v.2
Подключил его ко второму ethernet-порту контроллера, контроллеру выдал адрес 192.168.0.1/24, шлюзу 192.168.0.2/24

Шлюз пингуется, удаётся подключиться утилитой telnet на 23й порт

root@wirenboard-AYGON34U:~# telnet 192.168.0.2 23
Trying 192.168.0.2…
Connected to 192.168.0.2.
Escape character is ‘^]’.
^]q

telnet> q
Connection closed.

добавил в разделе serial новый порт

в шлюз подключены три твердотельных реле

добавил новое устройство вручную

включил отладочные логи, вижу такое

Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: WARNING: <192.168.0.2:23>: closed due to repetitive errors
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [serial client] <192.168.0.2:23>786019779: Wait until 786019779
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Sleep 8000 us
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [modbus] <192.168.0.2:23> modbus:96 write 1 (type 0)(s) @ 114
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Sleep 0 us
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Write: 60 06 00 72 00 01 e0 60
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: ReadFrame: 00
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [serial client] Failed to open session: Serial protocol error: malformed response: invalid data size [slave_id is modbus_io:96:1]
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [serial client] <192.168.0.2:23>786019969: Wait until 786019969
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Sleep 8000 us
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [modbus] <192.168.0.2:23> modbus:96 write 1 (type 0)(s) @ 114
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Sleep 0 us
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Write: 60 06 00 72 00 01 e0 60
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: ReadFrame: 00
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [serial client] Failed to open session: Serial protocol error: malformed response: invalid data size [slave_id is modbus_io:96:1]
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [serial client] <192.168.0.2:23>786020157: Wait until 786020157
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Sleep 8000 us
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [modbus] <192.168.0.2:23> modbus:96 write 1 (type 0)(s) @ 114
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Sleep 0 us
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Write: 60 06 00 72 00 01 e0 60
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: ReadFrame: 00
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [serial client] Failed to open session: Serial protocol error: malformed response: invalid data size [slave_id is modbus_io:96:1]
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [serial client] <192.168.0.2:23>786020345: Wait until 786020345
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Sleep 8000 us
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [modbus] <192.168.0.2:23> modbus:96 write 1 (type 0)(s) @ 114
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Sleep 0 us
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: Write: 60 06 00 72 00 01 e0 60
Aug 14 14:52:24 wirenboard-AYGON34U wb-mqtt-serial[19825]: DEBUG: [port] 192.168.0.2:23: ReadFrame: 00

но контроллер не видит шлюз.
подскажите, что я делаю не так?

Добрый день!
Спасибо за диагностику! Судя по логам и скриншотам, вы все делаете правильно.
Такие проблемы чаще всего возникают, когда скорость обмена или Modbus-адрес не совпадают у самого преобразователя WB-MIO v.2 и Ethernet-модуля.
Мигает ли индикатор Status WB-MIO v.2 или светится постояно? (На вашей фотографии он сейчас закрыт пластроном щита)
Если не мигает, то я попросил бы вас в настройках на вкладке TTL1 изменить Baud Rate: на 115200, сохранить и согласиться с перезагрузкой модуля. Если после этого индикатор не начнет мигать, вернуть значение Baud Rate: 9600, снова сохранить и снова перезагрузить модуль.
Если эти шаги не помогут, напишите: далее надо будет подключить WB-MIO v.2 к контроллеру по RS-485 и проверить Modbus-адрес и скорость обмена. Подскажу, как это сделать.

я пробовал скорость 115200 и 9600 - одинаковое поведение.
сейчас тогда подключу шлюз к шине на контроллер и попробую прочитать его по адресу 96.
и жду от вас инструкций.

сканирование по modbus нашло модуль. адрес верный.

Индикация горит, а внизу не горела

шлюз успешно отвечает на своём адресе

root@wirenboard-AYGON34U:~# modbus_client --debug -mrtu -t0x03 -pnone -s2 /dev/ttyRS485-1 -a96 -r250 -c16
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[60][03][00][FA][00][10][6C][46]
Waiting for a confirmation…
<60><03><20><00><31><00><2E><00><36><00><2E><00><37><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><81><97>
SUCCESS: read 16 of elements:
Data: 0x0031 0x002e 0x0036 0x002e 0x0037 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

я обновил прошивку с бутлоадером по инструкции.
сейчас подключим обратно в режим ethernet, но что-то есть сомнения, что это поможет

функционал по-прежнему не работает, но теперь лампочка загорелась.
в настройках стоит скорость 9600, именно на этой скорости откликался модуль по modbus rtu.
что примечательно, когда я активирую TCP-порт шлюза в настройках serial, то у меня начинают сходить с ума устройства на RS485, которые подключены к контроллеру, все контролы начинают гореть то красным то снова работают, и вот кусок лога смотрите
log.txt (220,0 КБ)

Скажите, а как соединены модуль, контроллер и Modbus-устройства? WB-MIO-E не подключен случайно сейчас и к шине RS-485, а не только через Ethernet?

а ведь у меня была такая мысль. монтажники показали мне сейчас схему коммутации, возможно там действительно есть петля в шине, но уже только во вторник смогу это проверить. спасибо за подсказку!

Отлично, тогда дайте знать! Я уже было подумал попросить вас все отсоединить от модуля, кроме питания и эзернета, но вы прислали лог – спасибо! – и очень похоже, что петля.

спасибо большое, дело было в петле, всё заработало после отсоединения от rs485

1 лайк