Перейти к основному содержимому

Протоколы связи в Eclipse 4diac

Eclipse 4diac FORTE поддерживает широкий спектр промышленных и IoT-протоколов через механизм Communication Function Blocks (Comm FBs).

Поддерживаемые протоколы

ПротоколFBПрименениеСложность
MQTTPUBLISH, SUBSCRIBEIIoT, облако, мониторинг🟢 Просто
OPC-UAUA_*Промышленная интеграция🟡 Средне
Modbus TCPCLIENT_1, SERVER_1ПЛК, датчики, частотники🟡 Средне
EtherNet/IPEIP_*Системы Allen-Bradley, Omron🔴 Сложно
HTTPHTTP_GET, HTTP_POSTREST API, веб-сервисы🟢 Просто
TCP/UDPCLIENT_1, SERVER_1Произвольные протоколы🟡 Средне
4diac FORTEPUBLISH, SUBSCRIBEМежду FORTE-устройствами🟢 Просто

Архитектура Comm FBs

Все коммуникационные FB в 4diac следуют единому шаблону:

           ┌────────────────────────────┐
INIT ──►│ │
REQ ──►│ Comm FB (клиент/сервер) │──► CNF
RSP ──►│ │──► IND
│ ID = "протокол://..." │
└────────────────────────────┘

Порты:

ПортТипОписание
INITСобытиеИнициализировать соединение
REQСобытиеВыполнить запрос/отправить данные
RSPСобытиеОтветить на входящий запрос
CNFСобытиеПодтверждение операции
INDСобытиеВходящие данные получены
IDStringURI/адрес соединения
SD_*ДанныеИсходящие данные (Send Data)
RD_*ДанныеВходящие данные (Receive Data)

Параметр ID

Строка ID определяет протокол и адрес подключения:

ПротоколФормат ID
TCP клиентtcp://192.168.1.10:1234
MQTT publishmqtt://broker.example.com#topic/path
MQTT subscribemqtt://broker.example.com#topic/path
OPC-UAopc_ua://192.168.1.10:4840#ns=2;s=Node1
Modbus TCPmodbus[192.168.1.10:502,0,3,0,10]
HTTP GEThttp://api.example.com/endpoint

Быстрый выбор протокола

Вопрос 1: Нужна ли двусторонняя связь?
├── Нет → PUBLISH/SUBSCRIBE (MQTT или 4diac FORTE)
└── Да → CLIENT/SERVER

Вопрос 2: Промышленный протокол или IoT/облако?
├── Промышленный → Modbus/OPC-UA/EtherNet/IP
└── IoT/облако → MQTT/HTTP

Вопрос 3: Масштаб?
├── Несколько устройств → прямой TCP
└── Много устройств → MQTT брокер

Подробные руководства

  • MQTT — наиболее распространённый выбор для IIoT
  • Modbus — интеграция с ПЛК и датчиками
  • EtherNet/IP — Allen-Bradley, Omron
  • HTTP — REST API и веб-интеграция

Компиляция FORTE с протоколами

При сборке FORTE укажите нужные модули:

cmake .. \
-DFORTE_ARCHITECTURE=Posix \
-DFORTE_COM_MQTT=ON \
-DFORTE_COM_OPC_UA=ON \
-DFORTE_COM_MODBUS=ON \
-DFORTE_COM_HTTP=ON
примечание

На Ларус FORTE собран с поддержкой Modbus и MQTT. Если нужны дополнительные протоколы, обратитесь в команду Лиман.