Теги, история и аварии сервера OPC UA прямо в чате
Подключите сервер OPC UA к ИИ-агенту: теги Kepware, Ignition и ПЛК, история и аварии Alarms & Conditions. Агент покажет тренд за смену и станки на модели umati.
Как агент работает с OPC UA
Шлюз ставится службой на компьютер в сети объекта и сам подключается к серверу OPC UA по адресу opc.tcp, который вы укажете, с логином и паролем или анонимно. Данные он отправляет наружу только исходящим соединением. Подключение назначается шлюзу на вкладке «Шлюзы» в настройках подключений.
Шлюз обходит адресное пространство от Objects или от корня, который вы назовёте, берёт у числовых переменных единицы и диапазон и подписывается на изменения, а не опрашивает теги. Мёртвая зона уходит серверу фильтром изменений. Аварии читаются по Alarms & Conditions, а на сервере с моделью umati шлюз узнаёт станки, их состояние и активную программу.
По умолчанию шлюз выбирает самую сильную защищённую политику сервера и сам на None не переходит: открытый канал выбирает только владелец. Устаревшие Basic128Rsa15 и Basic256 не поддерживаются, незнакомому сертификату сервера шлюз не доверяет. Сессия шлюза умеет только читать: записи значений и вызова методов в ней нет, кроме запроса текущих аварий (ConditionRefresh).
Если связь с сервером пропала, после переподключения шлюз дочитывает пропущенное из истории сервера (HistoryRead), но не дальше недели назад. Kepware и Ignition как серверы OPC UA историю обычно не хранят, и тогда разрыв остаётся пропуском. Пока облако недоступно, значения копятся на диске шлюза и приходят после восстановления связи.
Сценарии интеграции
Что сейчас на линии
Агент найдёт теги по имени или описанию и покажет текущие значения с единицами, временем источника и качеством.
Тренд за смену
Агент прочитает историю тега за смену или неделю и назовёт минимум, максимум, среднее и моменты, когда значение выходило за диапазон.
Активные аварии
Агент соберёт аварии сервера из Alarms & Conditions: какие стоят сейчас, какие квитированы и когда поднялись.
Состояние станков
На сервере с моделью umati агент покажет каждую машину, её состояние, режим работы, состояние каналов, коррекцию подачи и активную программу.
Сообщение о пороге
В задаче «По событию» агент сообщит, когда значение тега выйдет за порог и продержится заданное время, и когда вернётся в норму.
Связь с объектом
Агент скажет, когда шлюз пропал со связи и когда вернулся, и покажет пропуск в истории тега, если сервер не смог его заполнить.
Примеры: OPC UA
Активны 3 аварии, одна не квитирована.
- Не квитирована: высокий уровень в резервуаре R2 с 09:41
- Квитированы: вибрация насоса P4 и связь с весами
Квитировать сам не могу: сессия шлюза только читает.
Как подключить
Перед подключением
- Сервер OPC UA, доступный по opc.tcp с компьютера шлюза
- Компьютер в сети объекта под службу шлюза
- Пользователь сервера с правом чтения либо разрешённый анонимный вход
- Взаимное доверие сертификатов шлюза и сервера в защищённом режиме
- Сервер пускает только известные адреса? Разрешите подключения с 158.160.205.91 и 87.228.27.163.
- 1
Узнайте адрес эндпоинта сервера
Адрес вида opc.tcp://хост:порт есть в настройках сервера OPC UA (стандартный порт 4840). Откройте этот порт с компьютера шлюза до сервера.
- 2
Заведите пользователя с правом чтения
Создайте на сервере пользователя, которому разрешено читать теги и их историю. Без логина и пароля шлюз входит анонимно, если сервер это разрешает.
- 3
Доверьте сертификат шлюза на сервере
Шлюз предъявляет серверу свой сертификат приложения. Если сервер отклонил его при первой попытке, переведите этот сертификат в доверенные на сервере.
- 4
Доверьте сертификат сервера на шлюзе
Незнакомый сертификат сервера шлюз кладёт в pki/opcua/rejected/certs/ папки данных. Перенесите его в pki/opcua/trusted/certs/.
Частые вопросы
Поставьте шлюз на компьютер в сети объекта и заведите его на вкладке «Шлюзы». В подключении укажите адрес вида opc.tcp://10.0.12.5:4840, а также пользователя и пароль, если сервер их требует. Затем доверьте сертификат шлюза на сервере и сертификат сервера на шлюзе.
Переменные дерева сервера с типом, единицами, диапазоном и описанием, их текущие значения и историю, аварии Alarms & Conditions, а на серверах с моделью umati ещё станки с их состоянием и программой. Обход можно сузить корнем или перечнем NodeId.
Нет. Сессия шлюза не умеет писать значения и вызывать методы. Единственный вызов в ней, ConditionRefresh, только просит сервер прислать текущие аварии заново. Квитировать аварии агент тоже не может.
Незнакомый сертификат сервера шлюз кладёт в pki/opcua/rejected/certs/ папки данных. Перенесите файл в pki/opcua/trusted/certs/ или положите в pki/opcua/issuer/certs/ сертификат центра, который его выпустил. Сервер, в свою очередь, должен доверять сертификату шлюза.