Перестала работать один порт RS-485

Добрый день,

После года успешного использования сборки на WirenBoard 8, вдруг (или после обновления одного из модулей) перестал работать порт RS485-1, причем линия на втором порте RS485-2 продолжает работать без сбоев. Все устройства (разные) на этой линии перестали опрашиваться, у них зеленый индикатор не моргает, горит постоянно. Последним действием до начала проблем был запуск обновления модуля WB-MR6CU v.2, которое видимо не закончилось штатно, т.к. на нем индикатор просто медленно мигает (не может загрузиться?).

При попытке перезагрузить контроллер мигает красным (загрузка), потом зеленым (готов?), потом опять красным и потом опять зеленым. Как будто красная фаза должна быть только одна, а тут дважды загружается.

Попробовал на RS485-1 оставить на линии только один рабочий модуль WB-MAC v.2 - то же самое поведение - модуль не опрашивается.

Питание стабильное 24В, организовано на БП Arlight ARV-DR60-24 и модуле WB-UPS v.2, хотя ИБП последнее время стал вечно показывать Charge, не переходит к Full.

Диагностический файл приложил, и лог от момента старта загрузки системы.

log_20260303T202321.log (66,0 КБ).

приложен диагностический архив, доступен только сотрудникам поддержки
(234,9 КБ)

Добрый день!

У вас порт /dev/ttyRS485-1 отключен в настройках:

            {
              "enabled" : false,
              "name" : "Serial"
            }

А как так может получаться?

Я его не отключал, и помню что в интерфейсе он включен - скриншот смогу прислать вечером. Кроме того, есть еще наблюдение - в момент запуска системы модуль на этом порте начинает мигать быстро, потом медленнее, потом еще медленнее, потом перестает. В настройках порта модуль показывается как подключенный, но по факту не отвечает на сигналы. При этом сам по себе он работает штатно как в автономном режиме. Может ли сама система по какой-то причине отключать порт?

Маловероятно, что система сама изменила конфиг. Если сейчас в WEB-UI галочка включения порта установлена, а в конфиге false, то это баг.

Итак, в настройках порта он стоит как включенный, но работает очень медленно. Если его выключить и включить, то становится лучше, но ненадолго - система снижает его скорость. После нажатия кнопки в интерфейсе свет реагирует секунд через 10.

В логе многочисленные сообщения
WARNING: </dev/ttyRS485-1 9600 8 N 2>: closed due to repetitive errors

Кроме того, два девайса без связи - пропала после попытки обновления прошивки.

Что делать?

Здравствуйте!

Если устройства перешли в режим загрузчика, то вам потребуется восстановить прошивку.

В режиме загрузчика индикатор Status устройства мигает с периодом 1 секунда.

Восстановление прошивки описано в статье Обновление прошивки Modbus-устройств Wiren Board.

Спасибо, но для этого нужная работающий порт, и остальные вопросы остались.

Вот наутро все устройства на RS485-1 опять совсем не реагируют на действия в web-ui, хотя порт включен. На замыкание входов устройства типа WB-LED работают нормально. Прикладываю файл диагностики.

приложен диагностический архив, доступен только сотрудникам поддержки
(270,1 КБ)

У вас для многих устройств отключен опрос.

Уберите их конфига "enabled" : false, и их опрос возобновится.

Как это сделать? «Уберите из конфига»

И вопрос как эта настройка попала в конфиг, если я ничего не отключал? Если система сама отключает, то почему? Если не должна так делать, то как такая настройка попала в конфиг?

Как я уже говорил, после перезапуска порта опрос идет, устройства работают, но его скорость постепенно падает сама, и наконец совсем прекращается.

В веб-интерфейсе опрос всех устройств включен. На скриншоте пример WB-LED 54, который не откликается. Если галочку снять, сохранить настройки, потом поставить и сохранить, то девайс начинает откликаться, но со временем все медленнее, пока опять не перестанет реагировать.

Да, в настройках опрос порта включен – причина не в этом.

Проблема в том, что на шине возникает множество ошибок — какое-то устройство их создаёт (возможно, из-за плохого контакта, наводок или короткого замыкания).

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

Особое внимание уделите устройствам, при опросе которых возникают ошибки: они могут влиять на работу всей шины:

device modbus:121 is disconnected

device modbus:91 is disconnected

failed to read ... device modbus:21: Serial protocol error: request timed out

failed to read ... device modbus:205: Serial protocol error: request timed out

failed to read ... device modbus:98: Serial protocol error: request timed out

Опрос RS-485-1 прекращается, потому что драйвер фиксирует слишком много ошибок на шине подряд и закрывает порт.

Проверьте, чтобы прокладка шины соответствовала этим рекомендациям: RS-485:Физическое подключение

Так же прикладываю полезные статьи по диагностике:

Я отключил вообще все устройства с порта RS485-1, перезагрузил контроллер, но в логах продолжаю видеть многочисленные ошибки порта каждые 5 секунд WARNING: </dev/ttyRS485-1 9600 8 N 2>: closed due to repetitive errors

Выключение порта помогает - ошибки прекращаются.

Или это нормально? Надо ли удалить все устройства в интерфейсе? Как я понимаю, система продолжает пытаться к ним достучаться.

Да, если устройств не найдено то получаете ссобщения вида: "closed due to repetitive errors. Check if devices on the bus are powered"

Отключите опрос или удалите отключенные устройства из настроек и оставьте то, которое подключили.