Зависли оба базовых порта RS485 на контроллере WB6

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

У меня на контроллере WB6 зависли оба базовых(существующих с завода) порта RS485.

В разделе Serial Device Driver Configuration(/etc/wb-mqtt-serial.conf) устройства добавляется/удаляются - всё нормально.

Кнопка Save тоже работает.
Но в разделе Devices:
1)новые устройства не появляются и старые не исчезают;
2)включённые контакты реле остались включенными(синими-ON) и они даже переключаются(только в веб-интерфейсе) в реальности-нет;
3)напряжение питание модулей тоже зависло.
Как я сам предполагаю, это могло возникнуть из-за частого добавления/удаления/перемещения устройств с одного порта на другой/изменения скорости передачи данных/изменения времени тайм-аута.

С чем это может быть связано?
Как решить эту проблему?

Решит ли эту проблему сброс контроллера на заводские настройки?
Также вопрос по сбросу до заводских настроек: на контроллере установлено ПО Node-RED и в этом ПО написано уже достаточно работающих правил. Пропадёт ли это ПО Node-RED вместе с написанными правилами?)

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

По симптомам очень похоже на то, что драйвер serial-устройств wb-mqtt-serial не работает.
Для начала проверьте статус работы драйвера командой:

systemctl status wb-mqtt-serial

Статус должен быть Active: running.

Опишите вашу конфигурацию оборудования, какие устройства и как подключены, какие шаблоны используете. Пришлите скриншот окна System на странице Devices, а также список установленных пакетов, который можно вывести с помощью команды:

dpkg -l | grep wb-

Да, должен. При сбросе на заводские настройки все разделы и настройки будут заменены заводскими. Однако это крайний вариант, не торопитесь. Думаю, проблему получится решить проще.

Да, все пропадет. Правила и конфигурации надо будет сохранить перед сбросом на другой носитель или компьютер. Подробнее описано в разделе “Сохранение пользовательских файлов и настроек”.

В продолжении описания своей проблемы, указанной в первом сообщении, добавлю, что в рабочем варианте системы, все устройства(а их только модулей, без датчиков и преобразователей температуры, около 28 шт.) были подключены к первому порту (RS485-1) и поэтому отклик от нажатия на выключатели, подключённые к модулю wbio-di-wd-14, был очень долгим(от 6 до 10 секунд).

Поэтому в начале я пытался в настройках порта RS485-1 увеличить скорость передачи данных с 9600 до 115200. После установки скорости 115200 устройства во вкладке Devices сразу становились красными(неактивными) - тоже вот вопрос почему изменение скорости приводит к таким последствиям?
В итоге я оставил единственную рабочую скорость 9600. На других система не работала вообще.

Потом я с первого порта (RS485-1) убрал модули дискретных входов WBIO-DI-WD-14 и с ними же естественно шлюз WB-MIO.
Потом я убрал из перечня устройств первого порта (RS485-1) свои модули WBIO-DI-WD-14 и добавил их в перечне устройств на 2-ом порту (RS485-2). Нажал Save, перешёл на вкладку Devices и тут началась ерунда в том плане, что во вкладке Devices при обновлении подключённых к контроллеру WB6 устройств отобразились не все устройства в обоих портов.
Потом я удалил вообще все устройства с обоих портов и добавил их заново. Это ситуацию не изменило. Порты к этому моменту уже зависли.

Потом я менял время тайм-аута с 10mS до 5 и до 1 mS. Существенного уменьшения времени отклика это не дало.
В итоге я оставил время тайм-аута на значении 10 mS.

Вопросы: как могли мои действия я устройствами и портами повлиять на зависание портов?

И соответственно как теперь мне сделать чтобы они(порты) отвисли/снова вернулись в рабочий режим?

Почему при изменении скорости опроса с 9600(единственная рабочая скорость) на любую выше 9600, система перестаёт работать?

Настройки скорости нужно изменять как на устройстве-мастере (контроллер), так и на каждом slave-устройстве (Modbus-модули). То есть сначала нужно изменить настройки на всех slave-устройствах, а потом уже переключать скорость работы порта. Вот здесь описано подробнее:
https://wirenboard.com/wiki/UART_Communication_Settings

Конфигурировать устройства, подключенные через шлюз WB-MIO нужно по-особенному:
Преобразователь интерфейсов WB-MIO — Wiren Board.
В поле Slave id… указывается адрес WBIO в формате <Modbus-адрес модуля>:<порядковый номер WBIO>, например, 15:1.

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

Выполните, пожалуйста, действия, указанные в моем сообщении выше.

Нужно изменять скорости на каждом из устройств.

Предлагаю сделать так. Выполните то, что указано в моем предыдущем сообщении. Также пришлите, пожалуйста файл /etc/wb-mqtt-serial.conf в виде вложения.

Опишите ту задачу, которую хотите решить, а также конфигурацию оборудования, какую хотите получить. Попробуем вместе по шагам все сделать. Также очень полезно ознакомиться с документацией по протоколам и нашему оборудованию. Она не везде легка в понимании, но иначе еще тяжелее.
https://wirenboard.com/wiki/Modbus
https://wirenboard.com/wiki/Wb-mqtt-serial_driver
https://wirenboard.com/wiki/Wiren_Board_6
https://wirenboard.com/wiki/MQTT