Добрый день.
Уточните, что подразумеваете под “передавать статусы (0-не в сети, 1-в сети)”?
Насколько я понимаю, данных статусов нет нигде как сущности, т.е. вы никак не передадите через шлюз ModbusTCP того, чего нет.
Я понимаю вопрос так: как мне проверить есть ли обмен между WB мастером и slave-устройствами?
Обратите внимание, как формируется структура топика при ошибке опроса устройства. Допустим, вы можете создать виртуальное устройство для контроля статуса Modbus-устройства и написать правило, которое проверяет, к примеру, есть ли ошибка при чтении какого-либо регистра с устройства и при наличии данной ошибки переводить в соответствующее состояние виртуальное устройство, а затем включить данное виртуально устройство в wb-mqtt-mbgate.
Я же могу в wb-mqtt-mbgate добавить сразу значение meta-топика, например: wb-mr3_48/K1#error. И если тип регистра в wb-mqtt-mbgate поставить “текстовый”, то буду считывать значение “r” при ошибке (в кодировке ASCII) или так не получится?)
Добрый день.
Извините за долгий ответ.
По мне этот вариант неудачный, т.к. неизвестно как себя поведет система, если вы данный топик запрашиваете, а его нет и если нет ошибки, то чего ожидаете в сообщении этого топика?
Я пока не видел, как это можно реализовать именно таким образом.
Посмотрите в сторону реализации через правила.
Добрый день.
Да, уже занимаюсь изучением JS, чтобы что-то осмысленное написать.
Был бы признателен, если бы смогли написать пример реализации такой задачи:
Создать виртуальную переменную (топик для привязки к mbgate), которая бы принимала значение=0, если нет контролируемого топика или есть ошибка, и принимала бы значение=1, если существует контролируемый топик и нет ошибок.