Метрики узлов Sparkplug B как данные оборудования прямо в чате
Подключите узлы Sparkplug B к ИИ-агенту: метрики Ignition, HighByte и Litmus с единицами из BIRTH. Агент покажет историю за период и узлы, которые отключились.
Как агент работает с Sparkplug B
Брокер, через который узлы Sparkplug B публикуют метрики, обычно стоит в сети объекта, поэтому к нему ходит шлюз: программа, установленная на компьютер в той же сети. Шлюз добавляется на вкладке «Шлюзы» и назначается подключению. В подключении указываются адрес брокера, при необходимости логин и пароль и группы Sparkplug; пусто значит все группы брокера.
Шлюз читает Sparkplug B 3.0 как наблюдающий хост. NBIRTH и DBIRTH объявляют метрики с типами и единицами и задают псевдонимы, NDATA и DDATA приходят по имени или псевдониму, NDEATH и DDEATH гасят метрики узла или устройства. Тег называется по имени метрики, а не по псевдониму. Разрыв последовательности не обрывает чтение: шлюз сбрасывает псевдонимы узла и запрашивает у брокера сохранённые BIRTH.
Шлюз не публикует STATE и не отправляет NCMD Rebirth, поэтому его нельзя принять за Primary Host, и узлы не отключатся из-за его ухода. Сообщений в брокер он не пишет вовсе, и его учётной записи достаточно права подписки. Агент читает значения, историю и свежесть, но не отправляет команд ни узлам, ни устройствам.
Если шлюз подключился посреди сессии узла, имена псевдонимов берутся из сохранённых BIRTH брокера с поддержкой Sparkplug Aware или из следующего BIRTH узла; метрики, пришедшие по имени, читаются сразу. Каталог ограничен настройкой «Не больше тегов» (по умолчанию 10000). История копится с момента подключения.
Сценарии интеграции
Текущие метрики узла
Агент найдёт метрики по группе, узлу, устройству или имени и покажет последние значения с единицами из BIRTH и свежестью.
История за период
Агент соберёт историю метрики интервалами: минимум, максимум, среднее и последнее значение, с пропусками там, где данных не было.
Какие узлы отключились
Агент увидит метрики, погашенные по NDEATH или DDEATH, и назовёт узлы и устройства, от которых нет данных.
Сравнение устройств
Агент сопоставит одну метрику у нескольких устройств группы, например давление на разных насосах, и сравнит средние и пики за период.
Задача по условию
Агент заведёт задачу «По событию»: она запустится, когда значение метрики перейдёт порог и продержится заданное время.
Связь шлюза
Агент скажет, на связи ли шлюз и подключение к брокеру, а задача по событию узнает, когда шлюз пропал и когда вернулся.
Примеры: Sparkplug B
2 узла и одно устройство не присылают данных.
- Узел Edge-Line2 погашен по NDEATH в 07:52
- Устройство Filler-03 на узле Edge-Line1 погашено по DDEATH в 08:10
Их метрики не показываю текущими, пока узел не пришлёт новый BIRTH.
Как подключить
Перед подключением
- Брокер MQTT 5 или 3.1.1 с узлами Sparkplug B 3.0
- Право подписки на spBv1.0/… и $sparkplug/certificates/… брокера
- Компьютер в сети объекта для программы шлюза
- Отдельный Primary Host, если узлы его ждут
- Сервер пускает только известные адреса? Разрешите подключения с 158.160.205.91 и 87.228.27.163.
- 1
Оставьте действующий Primary Host
Шлюз только наблюдает: не публикует STATE и не отправляет NCMD Rebirth. Если узлы ждут Primary Host, его должен предоставлять другой клиент брокера.
- 2
Дождитесь BIRTH от узлов
Имена псевдонимов приходят в NBIRTH/DBIRTH. При подключении посреди сессии нужны сохранённые BIRTH от Sparkplug Aware брокера или следующий BIRTH узла.
Частые вопросы
Установите шлюз на компьютер в сети объекта и добавьте его на вкладке «Шлюзы». В подключении Sparkplug B укажите адрес брокера, например mqtt://10.0.12.5:1883, логин и пароль, если брокер их требует, и точные имена групп через запятую или оставьте поле пустым для всех групп.
Метрики узлов и устройств выбранных групп как теги с типами, единицами и описаниями из BIRTH, их текущие значения, историю с момента подключения и то, какие узлы и устройства погашены по DEATH.
Нет. Шлюз не публикует ни STATE, ни NCMD, ни DCMD и вообще ничего не пишет в брокер. Ему достаточно права подписки.
Узел шлёт данные по псевдонимам, а его BIRTH шлюз не застал. Имена появятся из сохранённых BIRTH, если брокер поддерживает Sparkplug Aware, или из следующего BIRTH узла.