Добрый день, начал экспериментировать с возможностями arOPC и решил испытать передачу данных через MQTT: идея такая один arOPC (развернут на сервере) передаёт данные MQTT брокеру (Mosquitto (развернут на моём ПК)), а другой экземпляр arOPC (на моём ПК) их от брокера принимает. Передачу данных MQTT брокеру организовал и проверил с помощью MQTT explorer - всё работает! Для второго сервера arOPC добавил устройство: симуляция, и вроде указал путь к тегу, проверил с помощью диагностики - связь есть! Вроде всё отлично, но почему то статус переменной тега "Uncertain limit ok", и на этом моменте я в тупике, как получить данные? Прикладываю скрины основных параметров коммуникации.
P.s. в arOPC и MQTT я новичок и возможно упускаю совсем банальную вещь :-\
Добрый день.
Очень похоже на несовпадение типов данных с обеих сторон.
Возможно, для публикации, выставлен тип float, а для подписки, строка.
Айрат
Большое спасибо за идею, попробую описать этот момент в деталях: на сервере значение изначально float, но брокеку я передаю его в формате string, чтобы MQTT explorer нормально отображал, соответственно в подписке пытаюсь ловить его тоже как строку.
Добрый день.
В таком случае, вроде как, верно всё делаете.
Можете конфиги скинуть, посмотреть как вы настраиваете на публикацию и подпись?
Айрат
Добрый день, передаю конфигурацию тегов на сервере и тестовом клиенте
С уважением,
Андрей
Добрый день.
Можете прислать конфигу OPC серверов в виде файлов.
Ошибка эта не воспроизводится, возможно в другом месте что то не то.
Айрат
Добрый день, высылаю конфигурационные файлы для севера и клиента
С уважением,
Андрей
Добрый день.
Развернул вашу систему на своём брокере, не наблюдаю такого поведения.
Попробуйте с моим поработать. Параметры для подключения отправил в личку
Айрат
Добрый день, попробовал подключиться к тестовому брокеру, ситуация та же, связь есть, а данных нет... :(
С уважением,
Андрей
Еще на раз все проверил, и кажется нашел ошибку с типом самой переменной в клиенте (исходная переменная float в MQTT передается в string (utf-8), поменял переменную в клиенте со string на float и всё завелось на локальном брокере. Единственное, если сбросить подключение на клиенте при повторном запуске он не всегда удачно подключается к брокеру: лечится перезапуском брокера.
С уважением,
Андрей