Теги серверов OPC DA старых SCADA прямо в чате
Подключите серверы OPC DA старых SCADA к ИИ-агенту через шлюз на Windows: теги, время сервера и качество. Агент покажет значения и среднее за смену.
Как агент работает с OPC DA
Шлюз ставится службой на компьютер с Windows, лучше всего на ту же машину, где работает сервер OPC DA: локальному COM не нужны права DCOM и правила брандмауэра. В подключении указывается адрес вида opcda://localhost/Kepware.KEPServerEX.V6, где после хоста стоит ProgID или CLSID сервера. Подключение назначается шлюзу на вкладке «Шлюзы».
OPC DA работает поверх COM, у которого нет таймаута вызова, поэтому шлюз держит COM в отдельном вспомогательном процессе и снимает его, если сервер не ответил вовремя. Шлюз создаёт одну активную группу и читает кэш сервера, а не устройство: ПЛК не получает лишних запросов, как бы часто ни шёл опрос. Перед каждым чтением шлюз спрашивает статус сервера.
Теги берутся из обзора адресного пространства сервера (DA 3, а если сервер его не поддерживает, DA 2) или из вашего списка строк «путь, ItemID, тип». Служебные ветки вроде _System у Kepware пропускаются, если вы их не назвали. Подписку с обратным вызовом шлюз не использует: она требует входящего канала DCOM к компьютеру шлюза.
Шлюз только читает: записи в OPC DA в коде драйвера нет. У самого OPC DA истории нет, поэтому история тега копится из опросов шлюза с учётом мёртвой зоны и повтора молчащего тега. Пока облако недоступно, значения ждут на диске шлюза и приходят после восстановления связи.
Сценарии интеграции
Что сейчас на линии
Агент найдёт теги по ветке или ItemID и покажет текущие значения со временем сервера и качеством.
История за смену
Агент прочитает накопленную историю тега за смену или сутки и посчитает минимум, максимум и среднее.
Теги с плохим качеством
Агент найдёт теги, которые сервер отдаёт с качеством bad или uncertain, и покажет, с какого момента.
Сравнение линий
Агент сравнит одинаковые теги разных линий или станций за период и покажет, где значения расходятся.
Сообщение о пороге
В задаче «По событию» агент сообщит, когда значение тега выйдет за порог и продержится заданное время, и когда вернётся в норму.
Связь с объектом
Агент скажет, когда шлюз пропал со связи и когда вернулся, чтобы пропуск в истории был виден сразу.
Примеры: OPC DA
В среднем 4,2 бар, минимум 3,6, максимум 4,9.
- Ниже 3,8 бар давление опускалось дважды, около 14:00 и 17:30
- Качество все восемь часов good
Историю копит шлюз на Windows: сам сервер OPC DA её не хранит.
Как подключить
Перед подключением
- Компьютер с Windows под шлюз, лучше машина самого сервера OPC DA
- Пакет OPC Core Components от OPC Foundation на компьютере шлюза
- Для удалённого сервера: открытые TCP 135 и динамические порты DCOM
- Учётка Windows с правами запуска и доступа к серверу
- Сервер пускает только известные адреса? Разрешите подключения с 158.160.205.91 и 87.228.27.163.
- 1
Поставьте шлюз рядом с сервером OPC DA
Шлюз работает на Windows. На машине самого сервера COM вызывается локально: правила DCOM и брандмауэра не нужны, обычно хватает учётки службы шлюза.
- 2
Установите OPC Core Components
Прокси интерфейсов OPC ставятся пакетом OPC Core Components от OPC Foundation. Без него на компьютере шлюза вызовы к серверу не проходят.
- 3
Для удалённого сервера откройте DCOM
Откройте TCP 135 и динамический диапазон портов DCOM, дайте учётке права запуска и доступа к серверу. ProgID удалённо разрешает служба OpcEnum.
- 4
Укажите учётку Windows
В поле пользователя впишите ДОМЕН\пользователь, которому сервер разрешает чтение. Пустое поле: шлюз ходит от учётки своей службы.
Частые вопросы
Поставьте шлюз на компьютер с Windows, лучше на машину сервера, и заведите его на вкладке «Шлюзы». В подключении укажите адрес opcda://localhost/ с ProgID сервера, например Kepware.KEPServerEX.V6. Логин можно не указывать: локальному серверу обычно хватает учётки службы шлюза.
Теги, которые показывает обзор сервера, или те, что вы перечислили строками, с текущим значением, временем сервера и качеством, и историю, которую шлюз накопил опросами. Ветка, под которой найден тег, служит подписью, а сам тег определяется своим ItemID.
Нет. Шлюз читает только кэш своей активной группы на сервере, записи в коде драйвера нет. Обратных вызовов от сервера к шлюзу тоже нет, поэтому входящий канал DCOM на компьютер шлюза не открывается.
На компьютере шлюза нет прокси интерфейсов OPC, без которых вызов между процессами не проходит. Установите пакет OPC Core Components от OPC Foundation на компьютер, где работает шлюз.