OPC UA и OPC DA в BMS: архитектура, безопасность и приёмка на ПНР

OPC UA и OPC DA в BMS: архитектура, безопасность и приёмка на ПНР

  • Сен, 16, 2026
  1. OPC DA и OPC UA: архитектурная разница
  2. Когда Classic OPC DA ещё встречается в BMS
  3. Безопасность OPC UA: endpoints, сертификаты, политики
  4. Отображение тегов, качество и метки времени
  5. Сеть и порты: типовые значения и оговорки
  6. Приёмочные испытания на ПНР
  7. Чек-лист приёмки OPC UA / OPC DA

OPC (Open Platform Communications) — распространённый способ связать контроллеры, шлюзы и SCADA/BMS. На объектах сосуществуют Classic OPC DA (Data Access на COM/DCOM) и OPC UA (Unified Architecture, спецификации OPC Foundation). Для инженера ПНР важно не путать стеки: разные модель безопасности, развёртывание, диагностика и критерии приёмки. Ниже — практическая методика без выдуманных пунктов ГОСТ: ориентир — документация OPC Foundation, проект и руководства SCADA/BMS.

Сравнение архитектур OPC DA (COM/DCOM) и OPC UA (клиент-сервер, сертификаты)
OPC DA опирается на COM/DCOM в экосистеме Windows; OPC UA — кроссплатформенный стек с явными endpoint URL, сессиями и (при включённой безопасности) сертификатами сторон.

1. OPC DA и OPC UA: архитектурная разница

Критерий Classic OPC DA OPC UA
Транспорт / API COM/DCOM (Windows) TCP (бинарный), HTTPS и др. по профилю
Платформы Практически Windows-сервер/клиент Кроссплатформенно (Windows, Linux, встраиваемые)
Адрес пространства Items / Groups в DA-сервере Nodes (Objects, Variables) в Address Space
Безопасность Учётки Windows, DCOM permissions, firewall DCOM Security Policy, Mode, сертификаты Application Instance
Обнаружение OPCEnum / ProgID сервера Discovery URL / Endpoint URL

OPC UA не является «DA по TCP»: это другая информационная модель и другой стек безопасности. Миграция часто идёт через шлюз DA↔UA или замену драйвера SCADA — план миграции должен быть в проекте.

2. Когда Classic OPC DA ещё встречается в BMS

  • Legacy-шлюзы полевых шин (Modbus, BACnet) с DA-сервером под старую SCADA.
  • Рабочие станции диспетчеризации на Windows с историческими проектами.
  • Интеграция со сторонним ПО, у которого есть только DA-клиент.
ПНР на DA. Типовые боли: DCOM (права Launch/Access), различие учёток сервиса и интерактивного пользователя, сетевые ограничения RPC, «сервер виден локально, но не с клиента». Диагностика — по журналам Windows, dcomcnfg (где применимо) и документации конкретного OPC-сервера; порты RPC часто динамические — это нужно учитывать в firewall по проекту ИБ.

3. Безопасность OPC UA: endpoints, сертификаты, политики

Клиент OPC UA подключается к Endpoint URL (например, opc.tcp://host:4840 — порт часто 4840, но настраивается). Сервер публикует несколько endpoint с разными Security Policy / Message Security Mode.

  • Security Policy — набор криптографии (например, профили None / Basic256Sha256 и др. — актуальный перечень в спецификации OPC UA и руководстве сервера).
  • Message Security Mode — None / Sign / SignAndEncrypt.
  • Application Instance Certificate — сертификат приложения клиента и сервера; взаимное доверие через trust list / отказ в rejected.
  • User token — Anonymous / Username / Certificate — по политике объекта.
На приёмке: режим None допустим только если это явно разрешено проектом/ИБ (лаборатория, изолированный сегмент). Для боевой BMS обычно требуют SignAndEncrypt и обмен сертификатами по регламенту заказчика. Не оставляйте открытый endpoint «для удобства ПНР» без письменного согласования.

Процедура trust: клиент подключается → сертификат сервера попадает в rejected → инженер переносит в trusted (или наоборот для клиента на сервере) → повторное соединение. Точные пути папок сертификатов — в руководстве конкретного стека (Siemens, Schneider, Ignition, Prosys, Unified Automation и т.д.).

4. Отображение тегов, качество и метки времени

На ПНР связка «точка поля ↔ тег SCADA» проверяется не только по имени:

Аспект Что проверить
NodeId / ItemId Совпадение с таблицей точек проекта; пространство имён (Namespace Index) для UA
Data type Boolean / Int16 / Float / Double — без неявных обрезаний
Engineering units / scale Сырое значение vs отображаемое (°C, %, Па)
Quality / StatusCode Good при живом источнике; Bad/Uncertain при обрыве — отображение на графике
Timestamp Источник времени (сервер/источник); синхронизация NTP на хостах
Write Разрешённые уставки: запись из SCADA доходит до контроллера и возвращается в Read

Подписка (Subscription / MonitoredItems в UA, Groups в DA): проверьте publishing interval и чувствительность к изменению — слишком редкий опрос маскирует аварии, слишком частый перегружает CPU/сеть.

5. Сеть и порты: типовые значения и оговорки

  • OPC UA: часто используют порт 4840/tcp для opc.tcp, но значение задаётся конфигурацией сервера. HTTPS-профили — свои порты (часто 443 или иной по проекту).
  • OPC DA / DCOM: RPC Endpoint Mapper (типично 135/tcp) плюс динамический диапазон портов high ports — диапазон должен быть зафиксирован политикой ИБ и открыт на МСЭ между клиентом и сервером.
  • VLAN диспетчеризации, ACL, запрет маршрутизации «в интернет» для OPC-хостов — по проекту ИБ объекта.
Не утверждайте в акте «порт 4840 по ГОСТ». Фиксируйте фактический Endpoint URL и правила firewall из проектной/эксплуатационной документации. Порты — конфигурация, не универсальная константа закона.

6. Приёмочные испытания на ПНР

  1. Connectivity: клиент SCADA устанавливает сессию (UA) / подключается к DA-серверу.
  2. Security: подтверждён режим безопасности и trust сертификатов (или согласованный None).
  3. Browse: дерево узлов соответствует таблице точек (выборка критичных + случайная).
  4. Read path: изменение на поле (датчик/имитация) → обновление тега в SCADA с корректным Quality.
  5. Write path: уставка из SCADA → подтверждение на контроллере / обратный Read.
  6. Fail path: отключение источника / обрыв канала → Bad/Uncertain и авария связи на графике/в журнале.
  7. Time: NTP; расхождение часов клиент/сервер в допуске проекта.
  8. Load (по ТЗ): число мониторных элементов и интервал подписки без потери обновлений.
  9. Документы: список endpoint, политика безопасности, резервная копия конфигурации сервера/клиента.

7. Чек-лист приёмки OPC UA / OPC DA

Скачать чек-лист (Word):
Checklist_OPC_UA_DA_PNR.docx
— заполняемый бланк для работы на объекте.
Пункт
1 Тип интеграции (DA / UA / шлюз) соответствует проекту
2 Endpoint URL / ProgID зафиксированы в исполнительной документации
3 Security Mode / Policy согласованы с ИБ; сертификаты в trust
4 Правила МСЭ открывают фактические порты (не «мифический ГОСТ»)
5 Выборка тегов: Read с поля совпадает с ожиданием
6 Разрешённые Write проверены туда-обратно
7 Обрыв связи даёт Bad/Uncertain и аварию в SCADA
8 NTP / метки времени в допуске проекта
9 Резервная копия конфигурации OPC-сервера и клиента сохранена
10 Протокол испытаний подписан сторонами

Приёмка OPC — это подтверждение сессии, политики безопасности, соответствия тегов таблице точек и корректной деградации при обрыве. «Теги зелёные на экране» без fail-теста и без фиксации endpoint/сертификатов — недостаточный результат ПНР.

Материал носит образовательно-методический характер. Требования к безопасности, портам, составу тегов и сценариям испытаний определяются проектом, ТЗ, политикой ИБ заказчика и спецификациями OPC Foundation (OPC UA / Classic OPC). Статья не заменяет проектные решения и руководства производителей SCADA/BMS. Перед подписанием акта сверяйте фактическую конфигурацию с документацией на объект.