
Основни изводи
Кратък отговор: MQTT е pub/sub протокол за съобщения, проектиран за IoT с ниска пропускателна способност, но възприет в мащаб в производството, защото разделя производителите на данни (машини) от консуматорите на данни (OEE платформи, облак, аналитика). Модерните индустриални внедрявания използват спецификацията Sparkplug B върху MQTT, за да добавят моделиране на данни и проследяване на състоянието, които суровият MQTT няма. MQTT и OPC UA решават припокриващи се проблеми; много стекове използват и двата. Вижте също OEE за пакетно производство.
MQTT (Message Queuing Telemetry Transport) е publish/subscribe протокол за съобщения, изобретен през 1999 г. в IBM за телеметрия с ниска пропускателна способност в петролния и газовия сектор. Архитектурата е проста:
Развързването е ключовата полза. PLC публикува състоянието си на тема; който се абонира, получава данните. PLC-то не знае и не се интересува кой е потребителят.
Три причини:
За OEE платформа, която консумира данни от над 50 машини в завод, MQTT е естествен избор. Един брокер, много публикуващи, много абонати.
Суровият MQTT няма мнение относно съдържанието на съобщенията. PLC, който публикува "423" в тема "line5/cycle", е добре докато два различни PLC-та използват различни конвенции за темите, единици или формати на съобщенията. Интеграцията става хаос.
Решението е Sparkplug B, отворена спецификация върху MQTT, която добавя:
Повечето модерни индустриални MQTT внедрявания използват Sparkplug B. Суровият MQTT работи за нови инсталации с строга дисциплина на темите, но рядко мащабира.
Те се припокриват, но решават различни проблеми:
Много модерни стекове използват и двата: OPC UA за структуриран обмен на данни на линия (PLC към шлюз), MQTT/Sparkplug B за високомащабна телеметрия от шлюза към облака или централна OEE платформа.
Унифицирано пространство от имена (UNS) е архитектурен модел, при който всяка система публикува в един споделен MQTT брокер. Брокерът става единствен източник на истината за всички реалновременни заводски данни. ERP, MES, OEE платформа, историзатор, аналитика — всички се абонират за темите, които им трябват, без point-to-point интеграции.
UNS заменя стриктната йерархия PLC → SCADA → MES → ERP с плоска pub/sub шина. Той е много подходящ за нови дигитални трансформации и за модернизация чрез "lift-and-shift" на заводи със стари SCADA системи.
За малки и средни производители без съществуващ брокер, само OPC UA често е по-просто. За по-големи или многосайтови операции, MQTT + Sparkplug B обикновено печели по отношение на дългосрочната мащабируемост.
OEE модулът на Fabrico поддържа както OPC UA, така и MQTT/Sparkplug B като източници на данни и може да публикува обратно изчислени OEE метрики в MQTT за низходящи потребители.
Вижте как Fabrico улавя това автоматично — разгледайте OEE за производството или запазете демонстрация.
За повечето малки и средни заводи OPC UA е достатъчен и по-прост. За многосайтови или стратегии с унифицирано пространство от имена, MQTT/Sparkplug B е по-добрата дългосрочна опция.
Отворена спецификация върху MQTT, която добавя стандартно именуване на теми, съобщения за включване/изключване, проследяване на състоянието и типизирани метрики. Де факто стандартът за индустриален MQTT.
Да. MQTT е изграден около брокер. Често използвани варианти: HiveMQ, EMQX, Mosquitto (отворен код) или облачни брокери (AWS IoT, Azure IoT Hub).
Да, с TLS криптиране и автентикация. Анонимен, нешифрован MQTT в продукция не е безопасен.
MQTT е много по-ефективен за непрекъсната телеметрия. HTTP е подходящ за случайни API повиквания. За машинни данни, които текат на всеки няколко секунди от хиляди устройства, MQTT печели категорично.