Купил китайское 16-ти канальное реле управляемое через RS485 (MODBUS) интерфейс. Подключил к WB5 и пытался сделать для него шаблон для wb-modbus-seiral драйвера, но полностью устройство так и не заработало. Описал все 16 каналов как в примере ниже.
Состояние каналов вроде бы считывается правильно, но все нечетные каналы подсвечены красным (периодически есть проблемы считывания). Иногда ситуация меняется и красным подсвечиваются четные каналы. Пробовал менять poll_intervall для устройства и для каналов - не помогает. Устройство возвращает два состояние в двух байтах - 0x0000 или 0x0001. Может ли это являться причиной такого поведения с WB? Подскажите, как можно определить, в чем проблема?
Не работает управление каналами через MQTT. Проблема похоже в том, что команда включения/выключения состоит из двух байт - состояние и задержка. Например включение 1го канала через modbus_client выглядит следующим образом:
Если включить дебаг для serial - таймауты? Или ошибка CRC?
Нет, если обмен идет без ошибок.
Я поискал , но карты регистров в интернете нет, вы откуда брали документацию?
По сути - для такого рода устройств надо писать как “шаблон” - который отобразит состояние регистров в MQTT так и виртуальное устройство, которое уже позволит им “удобно” управлять.
То же switch из шаблона не даст при “выключении” записать 0x200.
Попробовал debug, увидел, что периодически проскакивали ошибки serial port timeout. Методом подбора, нашел, что guard_interval_us = 4000 избавляет от ошибок при чтении статуса каналов. Однако после записи, иногда проскакивают ошибки. Буду дальше эксперементировать.
Сегодня поигрался с типами регистров и контролов. В итоге, при использовании “holding” или “holding_single” с контролом типа “value” удалось таки заставить реле переключаться, записывая числа 256 (вкл) или 512 (выкл) в MQTT топик */on. Правда есть одна маленькая проблемка. После записи указанных чисел в топик */on, это же значение на секунду появляется в веб интерфейсе для соответсвующего канала, затем оно зменяется на 0 или 1. Думаю это не критично. Буду дальше двигаться в сторону виртуального устройства для нормального управления, как другими стандартными реле.
удалось ли продвинуться в сторону виртуального устройства? у меня тоже такое реле, но на 8 входов и 8 реле. я только начал свой путь по освоению данного чуда))
могли бы поделиться своими наработками?