---
title: 'Поддерживаемые протоколы связи'
section: 'Reference'
weight: 1
description: 'Обзор промышленных и IoT-протоколов связи, которые поддерживает платформа, — Modbus, OPC UA, MQTT и DLMS/COSEM.'
related:
  - architecture/data-collection-layer
  - integration
  - equipment
  - rest-api
---

import Alert from '@/components/docs/Alert.astro';

## Modbus (RTU / TCP)

### Назначение и описание

Простой и широко распространённый промышленный протокол для обмена технологическими данными между контроллерами, датчиками и исполнительными механизмами. Разработанный в 1979 году компанией Modicon (ныне Schneider Electric), он стал фактическим стандартом промышленной автоматизации. Применяется в системах SCADA, ПЛК, частотных преобразователях, измерительных приборах и датчиках. Благодаря простоте реализации и минимальным требованиям к вычислительным ресурсам протокол идеально подходит для встраиваемых систем и устройств с ограниченным объёмом памяти.

### Архитектура и модель данных

Регистровая модель данных строится на четырёх типах адресного пространства:

- **Coils (0x)** — дискретные выходы (чтение/запись битовых значений)
- **Discrete Inputs (1x)** — дискретные входы (только чтение)
- **Input Registers (3x)** — 16-битные входные регистры (только чтение)
- **Holding Registers (4x)** — 16-битные регистры хранения (чтение/запись)

Архитектура «клиент—сервер» (master—slave): ведущее устройство (master) инициирует запросы, ведомые (slave) отвечают. Каждое ведомое устройство имеет уникальный адрес (1–247). Протокол не содержит встроенной семантики данных — интерпретация значений регистров определяется на прикладном уровне и в документации устройства. Поддерживает операции чтения и записи одиночных и групповых регистров.

### Транспорт

**Modbus RTU:**

- Последовательные линии RS-485 (до 32 устройств на шину, дальность до 1200 м) или RS-232 (соединение «точка—точка»)
- Двоичное представление данных
- Контроль целостности по CRC-16
- Скорость обмена: от 1200 до 115200 бод
- Полудуплексная передача

**Modbus TCP:**

- Инкапсуляция кадров Modbus в TCP/IP (порт 502)
- Заголовок MBAP (Modbus Application Protocol) для идентификации транзакций
- Полнодуплексная передача
- Возможность одновременной работы с несколькими устройствами
- Контрольная сумма не требуется (надёжность обеспечивает TCP)

### Ключевые возможности

- Чтение и запись дискретных сигналов (Coils) и регистров
- Поддержка стандартных кодов функций (FC 01–06, 15–16, 23)
- Диагностические функции (FC 08)
- Чтение идентификационных данных устройства (FC 17, 43)
- Минимальные требования к вычислительным ресурсам устройств
- Простота реализации и отладки
- Низкая стоимость внедрения
- Обработка исключений и кодов ошибок
- Поддержка широковещательных сообщений (адрес 0) в RTU
- Масштабируемость до 247 устройств на линии (RTU) или без ограничений по TCP

<Alert type="note">**Полная поддержка**</Alert>

## OPC UA

### Назначение и описание

Универсальный кроссплатформенный стандарт (OPC Unified Architecture, IEC 62541) для безопасного и структурированного обмена промышленными данными, метаданными и семантической информацией. Разработан организацией OPC Foundation как преемник классических спецификаций OPC DA/AE/HDA и устраняет зависимость от технологий Microsoft DCOM. Обеспечивает вертикальную и горизонтальную интеграцию в промышленных системах — от полевого уровня до корпоративных информационных систем (ERP, MES). Поддерживает концепции Industrie 4.0 и цифровых двойников благодаря богатым возможностям информационного моделирования.

### Архитектура и модель данных

Объектно-ориентированная модель данных, представляющая информацию в виде адресуемого пространства узлов (Address Space):

- **Узлы (Nodes)** различных типов: Variable, Object, Method, View, DataType, ReferenceType
- **Атрибуты узлов**: Value, DataType, AccessLevel, Timestamp, Quality, DisplayName и др.
- **Ссылки (References)** между узлами: иерархические, ассоциативные, компонентные
- **Типы данных**: примитивы, структуры, массивы, перечисления

Поддерживаемые сервисы:

- **Subscription** — мониторинг изменений данных с настраиваемыми интервалами выборки и фильтрами
- **Events & Alarms** — асинхронные уведомления о событиях, тревогах и состояниях
- **Historical Access** — доступ к архивным данным и событиям
- **Methods** — удалённый вызов процедур на устройствах

Отраслевые информационные модели (Companion Specifications): машиностроение, энергетика, нефтегазовая отрасль, фармацевтика.

### Транспорт

**UA Binary Protocol поверх TCP/IP:**

- Двоичный протокол с оптимизированной сериализацией (порт 4840)
- Высокая производительность и минимальные накладные расходы

**HTTPS / SOAP:**

- Профиль Web Services для интеграции с корпоративными системами
- Кодирование JSON для облачных приложений

**OPC UA PubSub:**

- Модель «издатель—подписчик» для распределённых систем
- Транспорт: UDP Multicast, MQTT, AMQP, Ethernet TSN
- Детерминированная передача для задач, критичных ко времени

**Безопасность:**

- Многоуровневые режимы безопасности (None, Sign, SignAndEncrypt)
- Сертификаты X.509 для аутентификации
- Шифрование AES, RSA

### Ключевые возможности

- **Информационное моделирование**: передача не просто «сырых» значений, а сложных структурированных данных с семантикой, типизацией и метаданными
- **Подписки** с настраиваемыми интервалами опроса, фильтрами мёртвой зоны (deadband) и буферизацией
- **События** и система тревог с условной фильтрацией
- **Вызов методов** для управления устройствами и выполнения операций
- **Доступ к историческим данным** с агрегацией
- **Обнаружение сервисов** в локальных сетях
- **Встроенная безопасность**: шифрование канала, аутентификация по сертификатам или паре «имя пользователя/пароль», управление доступом на уровне узлов
- **Резервирование серверов и отказоустойчивость**
- **Кроссплатформенность**: Windows, Linux, VxWorks, QNX и другие ОС
- **Масштабируемость**: от микроконтроллеров до распределённых систем

<Alert type="note">**Полная поддержка**</Alert>

## MQTT

### Назначение и описание

Лёгкий протокол передачи сообщений (Message Queuing Telemetry Transport) для телеметрии, удалённого мониторинга и управления IoT-устройствами, оптимизированный для ненадёжных сетей, ограниченной пропускной способности и высоких задержек. Разработан в 1999 году компанией IBM для мониторинга нефтепроводов, стандартизирован OASIS и ISO/IEC (20922:2016). Широко применяется в промышленном IoT, системах «умного дома», телематике транспортных средств и мобильных приложениях. Протокол ориентирован на минимизацию сетевого трафика и энергопотребления устройств.

### Архитектура и модель данных

Асинхронная модель **Publish/Subscribe** с централизованным брокером:

- **Publisher** — устройство или приложение, публикующее сообщения в темы
- **Subscriber** — устройство или приложение, подписанное на получение сообщений из тем
- **Broker** — центральный сервер маршрутизации сообщений (Mosquitto, HiveMQ, EMQ X и др.)

**Темы (Topics)** — иерархическая структура путей для категоризации сообщений:

- Разделители уровней: `/` (например, `factory/building1/temperature`)
- Подстановочные символы: `+` (один уровень), `#` (несколько уровней)
- Пример подписки: `sensors/+/temperature` или `factory/#`

**Формат данных** определяется приложением: JSON, Protocol Buffers, XML, двоичные данные, текст.  
**Сохраняемые сообщения (Retained messages)**: брокер хранит последнее сообщение темы и доставляет его новым подписчикам.  
**Постоянные сессии (Persistent sessions)**: брокер сохраняет подписки клиента при разрыве соединения.

### Транспорт

- Транспортный уровень: TCP/IP (порт 1883 для незащищённых соединений)
- TLS/SSL (порт 8883) для шифрования и аутентификации
- WebSockets для интеграции с браузерами и веб-приложениями
- Версии протокола: MQTT 3.1.1 (наиболее распространённая), MQTT 5.0 (расширенные возможности)
- Размер заголовка: минимум 2 байта (фиксированный заголовок)
- Механизм keep-alive: периодические PINGREQ/PINGRESP для контроля соединения
- Работа через брокер обеспечивает развязку издателя и подписчика, горизонтальное масштабирование и централизованное управление

### Ключевые возможности

- **QoS (Quality of Service)** — три уровня гарантии доставки:
  - QoS 0: At most once (без подтверждения)
  - QoS 1: At least once (с подтверждением)
  - QoS 2: Exactly once (четырёхэтапное квитирование)
- **Минимальные сетевые накладные расходы**: фиксированный заголовок 2 байта, эффективное двоичное кодирование
- **LWT (Last Will and Testament)**: механизм автоматического уведомления о непредвиденном отключении устройства — брокер публикует заранее заданное сообщение, если клиент аварийно завершает сессию
- **Clean Session / Persistent Session**: возможность восстановления подписок и сообщений после переподключения
- **Retained Messages**: доступность последнего значения для новых подписчиков
- **Низкое энергопотребление**: идеально для устройств с батарейным питанием
- **Масштабируемость**: поддержка миллионов одновременных соединений на кластерах брокеров
- **Подписки с подстановочными символами** для гибкой фильтрации тем

<Alert type="note">**Полная поддержка**</Alert>

## DLMS / COSEM (IEC 62056)

### Назначение и описание

Международный стандарт обмена данными с приборами учёта коммунальных ресурсов: электроэнергии, газа, воды и тепла (Device Language Message Specification / Companion Specification for Energy Metering). Разработан ассоциацией DLMS User Association совместно с IEC для обеспечения совместимости интеллектуальных приборов учёта в автоматизированных системах коммерческого учёта и биллинга (AMBS). Обеспечивает удалённый сбор показаний, контроль качества электроэнергии, управление тарифами и обнаружение несанкционированного доступа. Широко применяется операторами электросетей, поставщиками коммунальных услуг и интеграторами систем Smart Grid.

### Архитектура и модель данных

**Объектная модель COSEM (Companion Specification for Energy Metering):**

- Данные прибора учёта представлены как **логические объекты (COSEM objects)** с классами интерфейсов
- **OBIS-коды (Object Identification System)** — шестибайтовый идентификатор для универсальной адресации параметров: `A-B:C.D.E*F`
  - A — вид энергии (1=электричество, 6=тепло, 7=газ, 8=вода)
  - B — измерительный канал
  - C — физическая величина (например, 1=активная энергия)
  - D — тип измерения (8=время интегрирования)
  - E — тарифная зона
  - F — глубина хранения истории

**Протокол DLMS:**

- Прикладной уровень по модели OSI
- **Ассоциации (Associations)** с различными правами доступа: Public, Reader, Manager
- **Аутентификация**: Low Level Security (LLS), High Level Security (HLS) по схеме «запрос—ответ» (challenge-response)
- **Шифрование**: поддержка DLMS Security Suite с алгоритмами AES-GCM-128
- **Профили нагрузки (Load Profiles)**: буферные объекты для хранения временных рядов
- **Система сценариев (Scripting)**: выполнение последовательностей действий на приборе учёта

### Транспорт

Физический и канальный уровень:

- **Оптический порт (IEC 62056-21, flag)** — прямое подключение через инфракрасную головку для локального считывания
- **RS-485 / RS-232** с протоколом HDLC (High-Level Data Link Control) для сетей с множественным подключением (multi-drop)
- **TCP/IP** (порт 4059) — DLMS поверх TCP или инкапсуляция в IP для удалённого доступа
- **GSM/GPRS/LTE** — передача данных через сети мобильной связи (обёрточные протоколы)
- **PLC (Power Line Communication)** — передача по силовым линиям (PRIME, G3-PLC)
- **M-Bus** — для интеграции с системами учёта воды и тепла

Профили передачи в зависимости от реализации прибора учёта:

- IEC 62056-46: COSEM over HDLC
- IEC 62056-47: COSEM transport over TCP-UDP/IP

### Ключевые возможности

- **Считывание показаний** — текущие значения потребления энергии, мощности, напряжения, тока, коэффициента мощности
- **Профили нагрузки (Load Profiles)** — детальные данные с метками времени (15-минутные, часовые, суточные интервалы)
- **Журналы событий** — регистрация вскрытия корпуса, отключений питания, перенапряжений, изменений параметров
- **Многоуровневая аутентификация и авторизация**: ролевое управление доступом (публичный доступ, чтение, конфигурирование)
- **Управление тарифами** — удалённое изменение тарифных расписаний и ставок
- **Синхронизация времени** для точности меток времени
- **Управление реле** (подключение/отключение нагрузки)
- **Контроль качества электроэнергии** (провалы, выбросы, гармоники)
- **Поддержка групповых операций** для нескольких приборов учёта
- **Криптографическая защита данных** и контроль целостности сообщений

<Alert type="note">**Поддержка в разработке**</Alert>
