Проблемы с RS-485 MAP12H


#1

Добрый день, MAP перестал отвечать по RS-485. При более детальном изучении выяснилось что при регулярном опросе, первые несколько секунд приходят ответы, а после таймаут. Пробовали изменить скорость со 115200 на 9600. Ответы проходили через раз, но в итоге все снова свелось к тайматуту на каждый запрос.
Попробовали изменить стоп-бит с 2 на 1. После чего до устройства не достучаться.
Подскажите в чем может быть причина? Предусмотрен ли физический сброс настроек связи?


#2

Добрый день, Virtual!
Неприятная ситуация. Напишите, пожалуйста, серийный номер счетчика.
Физического сброса коммуникационных параметров в устройствах нет, но можно определить текущие настройки перебором. Как это сделать, описано у нас в статье Настройка параметров обмена данными по RS-485 для modbus-устройств Wiren Board


#3

Kilpio, обязательно компилировать modbus-client или может есть готовая утилита под debian? Серийный номер: S/N: 3275.


#4

Тут есть сборки под Debian: https://github.com/contactless/modbus-utils/releases


#5

Странно, в серийном номере должно быть больше знаков, 7-8, можете сфотографировать наклейку?


#6


#7

Спасибо, да, еще нижние цифры в серийник входят, 3275373
Вам удалось определить коммуникационные параметры с помощью скрипта?


#8

Нет, появляется ошибка

Скрипт следующий:

#/bin/bash
for l in {1,2};
do
for k in {none,odd,even};
do
for j in {1200,2400,4800,9600,19200,38400,57600,115200};
do
for i in {1…247}; do
modbus_client -mrtu /dev/ttyAPP1 --debug -o 300 -a$i -t3 -r0x80 -b$j -s$l -p$k
done 2>/dev/null | grep Data: | sed -e ‘s/ //g’ -e ‘s/\n//’ | xargs -I {} printf “Speed:$j\tStop bits:$l\tParity:$k\tModbus address:{}” | grep Data: | sed -e ‘s/Data://’
done
done
done


#9

Где-то ошиблись, наверное, при копировании. Вот точно рабочий скрипт, держите:
Modbus_scan (455 Байты)


#10

Спасибо, скрипт работает, но достучатся до анализатора не удалось. Причем видно что сам анализатор измеряет, мигает светодиодами с частотой пропорционально нагрузке.


#11

Скажите а устройство порта вы поменяли в скрипте на свой адаптер RS-485?
В скрипте /dev/ttyAPP1 – у вас, скорее всего, другое, /dev/ttyUSB-какое-то.

На всякий случай, если у вас есть заведомо исправное Modbus-устройство Wiren Board? проверьте скрипт с ним.


#12

Да, я уже проверил на другом анализаторе, там обнаружены были настройки, все ок. Номер порта менял, он у меня другой.


#13

Отлично! А вопрос с таймаутом после нескольких опросов пока остается нерешенным? Вы с какого устройства опрашиваете MAP?


#14

Я имел ввиду что проверка на заранее рабочем устройстве прошла, а вот анализатор который замолчал, там все грустно - скрипт так ничего и не обнаружил.

Опрашивал с WB-MGE. Когда начались проблемы, для проверки использовал MOXA Uport 1150