# Протоколы оборудования

Шлюз читает оборудование по протоколам ниже, все только на чтение. Подключение добавляется на вкладке **«Сервисы»** раздела **«Интеграции»** карточкой протокола, а затем назначается шлюзу на вкладке **«Шлюзы»**. Карточки протоколов с полями подключения есть в [каталоге интеграций](/integrations/equipment).

## Что поддерживается

| Протокол | Что читает | Теги | Аварии событиями | Порт по умолчанию | Платформа шлюза |
|---|---|---|---|---|---|
| OPC UA | серверы OPC UA: Kepware, Ignition, SCADA, ПЛК | обход дерева сервера | да | из адреса сервера | Windows, Linux |
| OPC DA (Classic) | серверы OPC DA старых SCADA, например KEPServerEX | обход сервера | нет | | только Windows |
| MQTT | топики брокера, в том числе UNS | по топикам | нет | 1883, с TLS 8883 | Windows, Linux |
| Sparkplug B | метрики узлов Sparkplug B 3.0: Ignition, HighByte, Litmus | по метрикам узлов | нет | как у MQTT | Windows, Linux |
| Modbus TCP, RTU поверх TCP | регистры по карте тегов | список адресов | нет | 502 | Windows, Linux |
| Siemens S7 | S7-300 и S7-400 по адресам STEP 7, S7-200 и LOGO! | список адресов | нет | 102 | Windows, Linux |
| EtherNet/IP | Rockwell Logix, Micro800, PLC-5 и SLC, Omron NJ/NX | список тегов Logix или адресов | нет | 44818 | Windows, Linux |
| Omron FINS | Omron CS, CJ, CP и NJ/NX по областям памяти | список адресов | нет | 9600 | Windows, Linux |
| Mitsubishi SLMP | MELSEC Q, L, iQ-R, iQ-L и iQ-F по устройствам | список адресов | нет | из адреса подключения | Windows, Linux |
| MTConnect | модель и значения агента MTConnect | модель агента | да | из адреса агента | Windows, Linux |
| FANUC FOCAS | стойки ЧПУ FANUC по FOCAS2 | набор полей станка | да | 8193 | Windows, Linux |
| Mitsubishi CNC (EZSocket) | стойки ЧПУ M700 и M800 | набор полей станка | да | 683 | только Windows |
| BACnet/IP | объекты контроллеров здания и котельной | список объектов | нет | 47808 | Windows, Linux |
| SNMP v1, v2c, v3 | ИБП, сеть, серверная, датчики климата | стандартные MIB | нет | 161 | Windows, Linux |
| МЭК 60870-5-104 | телемеханика подстанций и КП | список адресов | нет | 2404 | Windows, Linux |
| PI Web API | историан AVEVA PI и FactoryTalk Historian SE, архив и текущие значения | точки историана | нет | из адреса сервера | Windows, Linux |
| Ignition | теги и история Ignition через модуль WebDev | теги Ignition | нет | из адреса сервера | Windows, Linux |
| ONVIF | IP-камеры: кадр по запросу и движение | профили камеры | нет | из адреса камеры | Windows, Linux |

Протокол, который работает только на Windows, на шлюзе Linux пишет **«Платформа шлюза не поддерживается»**: назначьте подключению шлюз на Windows.

## Что нужно поставить на объекте

- **OPC DA**: OPC Core Components от OPC Foundation на машине шлюза.
- **FANUC FOCAS**: лицензионную библиотеку FANUC площадка кладёт в папку `focas` каталога данных шлюза сама, в поставку она не входит.
- **Mitsubishi CNC**: библиотеку EZSocket (FCSB1224W100) площадка ставит сама. Она 32-битная, её загружает 32-битный помощник, который идёт вместе со шлюзом.

Библиотеки FANUC, EZSocket и OPC DA работают в отдельном процессе: их сбой или зависание обрывает одно чтение, а не всю службу.

## Как появляются теги

- **Обход источника.** OPC UA, OPC DA, MTConnect, PI, Ignition, MQTT и Sparkplug сами отдают свои теги: шлюз обходит дерево, топики или модель и объявляет найденное. EtherNet/IP так же читает список тегов контроллера Logix, BACnet/IP список объектов контроллера, SNMP стандартные MIB.
- **Список адресов.** Modbus, S7, FINS, SLMP и МЭК 104 каталога не отдают: что значит регистр или байт, знает только проект контроллера. Теги перечисляются в настройках подключения адресом и типом, например `DB1.DBD8 real` или `M10.1 bool` для S7.

Если обход упёрся в предел, подключение пишет **«Каталог неполон: …»** с причиной. Тег, у которого источник не отдал значение, называется в строке подключения с причиной, например **«нет такого адреса»** или **«устройство не ответило»**.

## OPC UA: сертификаты и история

Шлюз не доверяет неизвестному сертификату сервера. Для защищённого подключения положите сертификат сервера в `pki/opcua/trusted/certs` каталога данных шлюза или сертификат выпустившего его центра в `pki/opcua/issuer/certs`. Отклонённый сертификат шлюз кладёт в `pki/opcua/rejected/certs`, а подключение пишет **«Сертификат сервера не доверен»**. Свой сертификат шлюз создаёт один раз, и сервер доверяет шлюзу по нему.

После обрыва связи с сервером шлюз дочитывает пропущенное из истории сервера, если сервер её хранит.

## Состояние станка

Агент видит у станка одно слово состояния: **работает**, **простаивает**, **остановлена**, **приостановлена**, **наладка**, **обслуживание**, **выведена из работы** или **состояние неизвестно**. Слово считается одинаково для любого протокола:

- **Стандартная модель источника**: umati (OPC 40501) через OPC UA, устройство агента MTConnect, стойка FANUC FOCAS или Mitsubishi EZSocket. Станки FOCAS и EZSocket отдают одинаковый набор полей: состояние, программа, счётчик деталей, коррекция шпинделя и подачи, аварийный стоп, модель и серийный номер.
- **Отдельный тег состояния**: если станок отдаёт состояние своим тегом, укажите в настройке подключения **«Соответствие состояний машины»** имя машины, тег и значения состояний в JSON.

Сырые теги станка идут рядом с этим словом, оно их не заменяет.

## Камеры

Камера ONVIF подключается через шлюз, облако до неё не достаёт. Агент может попросить кадр: шлюз снимает его и отправляет файлом в чат. Движение камера сообщает событием. Видеопоток шлюз не передаёт. На объекте, закрытом по КИИ, кадр не снимается.

## Чего нет

- Записи в оборудование: ни уставок, ни команд, ни вызова методов.
- DNP3 и МЭК 61850.
- Modbus RTU по последовательному порту: только Modbus TCP и RTU поверх TCP, например через преобразователь в прозрачном режиме.
- Видеопотока с камер.
