1. Архитектурный дуэльный клуб

OPC UA (Open Platform Communications Unified Architecture)

Это тяжеловесный, объектно-ориентированный промышленный стандарт. Его ключевая ценность — строгая информационная модель (Asset Framework). OPC UA не просто передает «сырое» значение 24.5, он передает объект: датчик температуры, у которого есть метаданные (инженерные единицы, границы уставки, статус достоверности).

  • Плюсы: Нативная поддержка семантики, встроенная безопасность (X.509), исторические архивы (HA) на уровне протокола.
  • Минусы: Избыточный трафик, высокая нагрузка на стек ПЛК, плохая масштабируемость через WAN-сети и межсетевые экраны (требует открытия портов).

MQTT (Message Queuing Telemetry Transport)

Легковесный, асинхронный протокол, созданный для нестабильных каналов связи. Модель взаимодействия — Издатель — Брокер — Подписчик.

  • Плюсы: Минимальный размер пакета (от 2 байт), работа за NAT (ПЛК сам инициирует исходящее TLS-соединение), экстремальная масштабируемость.
  • Минусы: Полное отсутствие семантики «из коробки». Payload — это просто массив байт (обычно JSON).
Критерий OPC UA MQTT + Sparkplug B
Модель Клиент-Сервер (есть Pub/Sub) Издатель-Брокер-Подписчик
Семантика Встроенная (Asset Framework) Через спецификацию Sparkplug B
Трафик Избыточный Минимальный (Report-by-Exception)
Прохождение Firewall Плохое (нужны входящие порты) Отличное (исходящее TLS)

2. Спасательный круг для ОТ: Спецификация Sparkplug B

Чтобы решить проблему отсутствия семантики в MQTT, консорциум Eclipse разработал Sparkplug B. В 2026 году это фактический стандарт для промышленного IoT. Он жестко регламентирует структуру топиков и формат Payload (бинарный Protobuf) и вводит три механизма АСУ ТП:

  1. Унифицированный формат данных: Каждый тег имеет имя, тип, метку времени (Timestamp) и метку качества (Quality Code).
  2. Контроль состояния сессии: Механизм Birth and Death Certificates. Подписчики мгновенно узнают, если Edge-контроллер отключился.
  3. Report-by-Exception: Данные отправляются только при изменении значения за пределы зоны нечувствительности (Deadband).

3. Гибридная архитектура: Строим мост между ОТ и ИТ

Наиболее устойчивая конфигурация предприятия строится по следующему паттерну.

Три шага интеграции

  1. Сбор данных на Edge-узле: Промышленный шлюз выступает в роли OPC UA Клиента, опрашивая локальные контроллеры и собирая данные со всей семантикой.
  2. Нормализация и маппинг: Внутри шлюза (Node-RED, EMQX, Ignition Edge) происходит конвертация модели OPC UA в топики и структуры Sparkplug B (Protobuf).
  3. Безопасный транспорт через DMZ: Edge-узел открывает ОДНОНАПРАВЛЕННОЕ исходящее TLS-соединение через файрвол в DMZ, где находится корпоративный MQTT-брокер. Порты внутри АСУ ТП остаются закрытыми.

4. Борьба за данные: Как исключить потери при сбоях

Главный кошмар интегратора — обрыв связи между Edge-шлюзом и ИТ-платформой. Для 100% сохранности телеметрии внедряются три эшелона защиты:

  • Эшелон А: Оптимизация MQTT QoS. Для критических алармов используется QoS 1 (доставка хотя бы раз) или QoS 2 (строго однократная). Шлюз ждет подтверждения (PUBACK) от брокера.
  • Эшелон Б: Локальный буфер (Store and Forward). При падении линка шлюз перенаправляет поток Sparkplug B во внутреннюю БД временных рядов (SQLite или NVMe-буфер).
  • Эшелон В: Автоматическая обратная синхронизация (Backfilling). При восстановлении связи шлюз сначала отправляет данные реального времени, а затем в фоне выгружает накопленные исторические пакеты. Historian принимает их и дописывает в базу «задним числом» без нарушения хронологии.
OPC UA и MQTT — не конкуренты. Это два инструмента для разных задач: OPC UA обеспечивает строгую семантику внутри цеха, а MQTT (Sparkplug B) — надежный и легкий транспорт данных в корпоративную сеть.
Иван Исаев
Иван Исаев
Автор, эксперт по автоматизации

Обобщает опыт сотен внедрений АСУ ТП, стандарты программирования ПЛК и архитектуру SCADA. Пишет глубокие аналитические материалы о цифровизации заводов.

Частые вопросы

В чем главное отличие OPC UA от MQTT?

OPC UA — это тяжеловесный стандарт с клиент-серверной архитектурой и строгой информационной моделью (передает метаданные, единицы измерения, статус). MQTT — легковесный асинхронный протокол (Publish/Subscribe) с минимальным размером пакета, созданный для нестабильных сетей, но не имеющий промышленной семантики «из коробки».

Что такое Sparkplug B и зачем он нужен?

Это спецификация консорциума Eclipse, которая добавляет в MQTT промышленную семантику. Она жестко регламентирует структуру топиков и Payload (через Protobuf), вводит метки времени и качества, а также механизм Birth/Death сертификатов для контроля состояния сессий и Report-by-Exception для экономии трафика.

Как избежать потери данных при обрыве связи между цехом и офисом?

Используются три эшелона защиты: 1) MQTT QoS 1 или 2 для подтверждения доставки; 2) Локальный буфер на Edge-шлюзе (Store and Forward) с записью в SQLite/NVMe при падении сети; 3) Автоматическая обратная синхронизация (Backfilling) — при восстановлении связи исторические пакеты выгружаются в брокер в фоновом режиме.