У меня на контроллере 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 в виде вложения.