Проблема с wb-mcm16 через wb-mge


#1

WB через wifi мост подключается к wb-mge, за котором wb-mcm16+wb-msgr+wb-ms-thls+ modbus датчик соли в воде. Работает все кроме wb-mcm16 - данные были, но перестали приходить, перенедгивание питания помогало не долго. Пробовал другой wb-mcm16 - тоже самое.

В логах (весь лог с дебагом https://yadi.sk/d/Jp7WAxJ8XOUXGw)
Apr 6 14:54:04 wirenboard-ACGBQNLL user.notice serial: Write:ModbusRTU::ReadRegisterRange(): failed to read 4 input(s) @ 36 of device modbus:43: Serial protocol error: request timed out
Apr 6 14:54:04 wirenboard-ACGBQNLL user.notice serial: modbus: read 4 input(s) @ 40 of device modbus:43

Возможно не хватает времени на получение данных через wifi ?


#2

Добрый день, Владислав! А пробовали увеличить таймауты для MCM? Когда вы, кстати, его у нас приобретали?


#3

какие именно? покупал - давно, >года.


#4


(В это й статье подробно описано: https://wirenboard.com/wiki/index.php/RS-485:Configuration_via_Web_Interface)


#5

таймауты не помогли.
работу устройств на modbus я могу проверить через modbus_client (например modbus_client --debug -mrtu /dev/ttyAPP1 -a23 -t4 -r1 b9600 d8 -s2 -pnone)
а как можно достучаться до устройства за wb-mge чтоб проверить ?


#6

Через socat: в качестве удаленного адреса указываете IP-адрес и порт MGE:

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

А дальше через modbus_client общаетесь с устройством, указывая порт /dev/ttyRS485-x

Примеры с socat: https://wirenboard.com/wiki/index.php/Доступ_к_порту_RS-485_контроллера_Wiren_Board_с_компьютера