Протоколы связи в Eclipse 4diac
Eclipse 4diac FORTE поддерживает широкий спектр промышленных и IoT-протоколов через механизм Communication Function Blocks (Comm FBs).
Поддерживаемые протоколы
| Протокол | FB | Применение | Сложность |
|---|---|---|---|
| MQTT | PUBLISH, SUBSCRIBE | IIoT, облако, мониторинг | 🟢 Просто |
| OPC-UA | UA_* | Промышленная интеграция | 🟡 Средне |
| Modbus TCP | CLIENT_1, SERVER_1 | ПЛК, датчики, частотники | 🟡 Средне |
| EtherNet/IP | EIP_* | Системы Allen-Bradley, Omron | 🔴 Сложно |
| HTTP | HTTP_GET, HTTP_POST | REST API, веб-сервисы | 🟢 Просто |
| TCP/UDP | CLIENT_1, SERVER_1 | Произвольные протоколы | 🟡 Средне |
| 4diac FORTE | PUBLISH, SUBSCRIBE | Между FORTE-устройствами | 🟢 Просто |
Архитектура Comm FBs
Все коммуникационные FB в 4diac следуют единому шаблону:
┌────────────────────────────┐
INIT ──►│ │
REQ ──►│ Comm FB (клиент/сервер) │──► CNF
RSP ──►│ │──► IND
│ ID = "протокол://..." │
└─────────────── ─────────────┘
Порты:
| Порт | Тип | Описание |
|---|---|---|
INIT | Событие | Инициализировать соединение |
REQ | Событие | Выполнить запрос/отправить данные |
RSP | Событие | Ответить на входящий запрос |
CNF | Событие | Подтверждение операции |
IND | Событие | Входящие данные получены |
ID | String | URI/адрес соединения |
SD_* | Данные | Исходящие данные (Send Data) |
RD_* | Данные | Входящие данные (Receive Data) |
Параметр ID
Строка ID определяет протокол и адрес подключения:
| Протокол | Формат ID |
|---|---|
| TCP клиент | tcp://192.168.1.10:1234 |
| MQTT publish | mqtt://broker.example.com#topic/path |
| MQTT subscribe | mqtt://broker.example.com#topic/path |
| OPC-UA | opc_ua://192.168.1.10:4840#ns=2;s=Node1 |
| Modbus TCP | modbus[192.168.1.10:502,0,3,0,10] |
| HTTP GET | http://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. Если нужны дополнительные протоколы, обратитесь в команду Лиман.