MQTT и отсутствие связи


#1

Есть 2 устройства. Одно в сети, а другое нет. В самом WB6 показывает, что есть связь с 1м, а со вторым нет


Они добавлены в MQTT to Modbus-TCP gateway configuration
и при опросе ОРС-сервером качество переменных, связь с которыми отсутствует, отображается как GOOD. т.е. для ОРС-сервера всё нормально. А как узнать, что связь пропала с объектом???


#2

Добрый день!
Какой-то специальный топик, отражающий работоспособность устройства не передается в MQTT и, соответственно, в шлюз Modbus TCP.
Создайте виртуальное устройство с контролом, которое будет, например, устанавливаться в 1, если данные от Modbus-устройства долго не поступают, и его уже транслируйте в Modbus TCP.


#3

Всё так прекрасно выглядит. А могли бы Вы написать пример всего этого? Есть 3 устройства, в которых данные меняются достаточно редко. Даже представления нет как реализовать Вашу задумку


#4

Это устройства не нашего производства? Нет у них никакого параметра, который бы менялся часто? В mqtt соощения о недоступности публикуются, но я не уверен, получится ли их направить в шлюз mqtt - modbus tcp. Поэкспериментируем.


#5

Нет, в этот наш шлюз поддержку meta/error не протащили. Только если делать какой-то скрипт снаружи, который публикует это в обычный контрол, типа

mosquitto_sub  -t /devices/device/controls/value/meta/error | mosquitto_pub -l -t /devices/device_errors/controls/value

#6

Как я понимаю, mosquitto - это сторонняя программа, про которую надо почитать отдельно и самому всё реализовать как-то какой-то скрипт?


#7

Да.
Начать можно здесь: https://wirenboard.com/wiki/index.php/MQTT#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80_.D0.BF.D0.BE.D0.B4.D0.BF.D0.B8.D1.81.D0.BA.D0.B8