Добрый день!
Есть контроллер WB7 с подключенным к нему датчиком wb-msv v3. Шлейф порядка 20см, терминаторы в настройках порта включены.
Сам датчик сканером из веб-морды находится через раз - хоть в быстром, хоть в медленном режиме. Когда подцепляется - то сначала все в порядке. Но потом - раз примерно в полтора часа прилетает значение CO2 величиной 2499. далее устаканивается до следующего взбрыка.
Что пробовал:
Все программы от порта отключил:
root@WB7-HCB18W10AA000272:/mnt/data# fuser -v /dev/tty*
USER PID ACCESS COMMAND
/dev/tty1: root 1586 F… agetty
/dev/tty6: root 354 F… systemd-logind
/dev/ttyS0: root 1600 F… agetty
/dev/ttyS0: root 1600 F… agetty
Прошелся сканером шины - пусто.
for i in {1…247}; do echo -n "$i - "; D=modbus_client -mrtu /dev/ttyRS485-2 --debug -b9600 -pnone -s2 -a$i -t3 -o100 -r200 -c6 2>/dev/null | grep Data: | awk 'gsub("Data:","")' | sed -e 's/0x00/\\\x/g' -e 's/\s//g'; echo -e $D; done
продолбил вручную - пусто
root@WB7-HCB18W10AA000272:/mnt/data# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a31 -t3 -r200 -c6
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[1F][03][00][C8][00][06][47][88]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!
Через некоторое время и число попыток нашелся:
root@WB7-HCB18W10AA000272:/mnt/data# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a31 -t3 -r200 -c6
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[1F][03][00][C8][00][06][47][88]
Waiting for a confirmation…
<1F><03><0C><00><57><00><42><00><4D><00><53><00><57><00><33><63>
SUCCESS: read 6 of elements:
Data: 0x0057 0x0042 0x004d 0x0053 0x0057 0x0033
<1F><03><0C><00><57><00><42><00><4D><00><53><00><57><00><33><63>
SUCCESS: read 6 of elements:
Data: 0x0057 0x0042 0x004d 0x0053 0x0057 0x0033
потом опять потерялся…
Отключил - подключил туда же wb-msv-4 - запустил wb-mqtt-serial - полет нормальный
Что мне нужно сделать, чтоб небыло этих выбросов и связь стабилизировалась?