Настройка modbus устройств через MGE

Не получается перевести MR6C в режим работы с выключателями с фиксацией через MGE модуль.

Пытаюсь выполнить команду

modbus_client --debug -mtcp -a67 -t0x06 -r0x05 -p 20108 10.1.30.15 1

на выходе:

Data to write: 0x1
Connecting to 10.1.30.15
[00][01][00][00][00][06][43][06][00][09][00][01]
Waiting for a confirmation…
<43><02><01><00><B5><F0><43><02><01><00>
Invalid TID received 0x4302 (not 0x1)
ERROR occured!

Что я делаю не так?

Тоже столкнулся с подобной проблемой, решил просто - в Web интерфейсе WB6 отключил целиком порт на котором сидел девайс. После чего обмен через modbus_client пошел нормально.
После всех манипуляций не забыть включить порт!

1 лайк

WB-MGE не поддерживает Modbus TCP. Удобной консольной утилиты типа modbus_client для работы в режиме Modbus RTU-over-TCP на WB, к сожалению, нет.

В итоге Сделал дополнительный шаблон с нужными регистрами и через web интерфейс поменял.

2 лайка

Так ведь было уже подобное:

https://support.wirenboard.com/t/problema-s-wb-mcm16-cherez-wb-mge/2853/6

Делаем примерно так

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

Далее модбас-клиентом опрашиваем созданный виртуальный порт

modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-x -a54 -t0x03 -r128 -c 1
Opening /dev/ttyRS485-x at 9600 bauds (N, 8, 2)
[36][03][00][80][00][01][81][A5]
2020/01/17 22:47:12.716984 length=8 from=0 to=7
36 03 00 80 00 01 81 a5
2020/01/17 22:47:12 socat[27492] I transferred 8 bytes from 5 to 7
Waiting for a confirmation…
< 2020/01/17 22:47:12.753129 length=7 from=0 to=6
36 03 02 00 36 cd 96
2020/01/17 22:47:12 socat[27492] I transferred 7 bytes from 7 to 5
<36><03><02><00><36><96>
SUCCESS: read 1 of elements:
Data: 0x0036

2 лайка