Протокол MQTT в Eclipse 4diac
MQTT (Message Queuing Telemetry Transport) — лёгкий протокол pub/sub для IoT и промышленного мониторинга. Широко используется для передачи данных с датчиков в облако или SCADA-системы.
Когда использовать MQTT
✅ Телеметрия с датчиков в реальном времени ✅ Интеграция с облачными платформами (AWS IoT, Azure IoT Hub, Thingsboard) ✅ Много устройств → один брокер ✅ Ненадёжные или медленные каналы связи ❌ Не подходит для синхронных команд (лучше OPC-UA)
Требования
- MQTT-брокер: Eclipse Mosquitto (рекомендуется), HiveMQ, EMQX
- FORTE собранный с
-DFORTE_COM_MQTT=ON
Установка Mosquitto-брокера
# Ubuntu / Debian
sudo apt install mosquitto mosquitto-clients
sudo systemctl enable mosquitto
Публикация данных (PUBLISH)
Структура FB:
┌──────────────────────────┐
INIT ──►│ │──► CNF
REQ ──►│ PUBLISH_1 │
│ ID = "mqtt://broker │
│ #factory/temp/sensor1" │
│ SD_1: REAL │
└──────────────────────────┘
Пример применения:
E_CYCLE(T#5s) ──EO──► SENSOR_READ ──EO──► PUBLISH_1
temperature ──────► SD_1
Параметры PUBLISH_1:
ID = "mqtt://192.168.1.100#factory/line1/temperature"
SD_1 = (значение температуры в REAL)