Таймаут при опросе WB-MRWL3 через WB-MGE

Добрый день!

Недавно приобрел WB-MRWL3 и WB-MGE и собрал с ними тестовый стенд. Проблема в том, что попытки чтения регистра всегда заканчиваются тайм-аутами.

Подключение WB-MRWL3 → WB-MGE без терминирующего резистора, но чтение не удается даже на базовой скорости в 9600 бод.

Компьютер и WB-MGE соединены патчкордом напрямую, без роутеров между ними.

Что интересно, ошибка про таймаут прилетает менее чем через секунду несмотря на ключ -o3000

Настройка MGE:

Baud rate: 9600
Data size: 8 bit
Parity: none
Stop bits: 2
Local Port Number: 20108
Work mode: TCP Server

$modbus_client --debug -mtcp -a51 -t0x03 -r0x80 -o3000 -p20108 192.168.1.70 
Timeout set to 3000
Connecting to 192.168.1.70
[00][01][00][00][00][06][33][03][00][80][00][01]
Waiting for a confirmation...
ERROR connection timed out: select
ERROR occured!

Определение адреса способом из этой статьи тоже не работает и сканирование выполняется за считанные секунды. Тогда как, насколько я понимаю, должно занимать почти полминуты (247х100мс)

Буду рад любым подсказкам!



WB-MGE - это прозрачный мост последовательного порта. Протокол там, соответственно, не Modbus TCP, а Modbus RTU-через-TCP-сокет. Может быть в этом проблема?

modbus_client на вашем скриншоте отправляет через Modbus TCP, а Modbus RTU-over-TCP не умеет.

Спасибо за подсказку, Евгений! Действительно, получилось прочесть регистр при пробросе потока через socat, как описано вот в этом комментарии.