
Kluczowe wnioski
Krótka odpowiedź: MQTT to protokół publish/subscribe zaprojektowany dla IoT o niskiej przepustowości, ale przyjęty na szeroką skalę w przemyśle, ponieważ oddziela producentów danych (maszyny) od konsumentów danych (platformy OEE, chmura, analityka). Nowoczesne wdrożenia przemysłowe stosują specyfikację Sparkplug B na bazie MQTT, aby dodać modelowanie danych i śledzenie stanu, których surowe MQTT nie posiada.
MQTT i OPC UA rozwiązują pokrywające się problemy; wiele stosów używa obu. Zobacz także OEE dla produkcji wsadowej .
MQTT (Message Queuing Telemetry Transport) to protokół komunikacyjny publish/subscribe wynaleziony w 1999 roku w IBM do telemetrii w sektorze nafty i gazu przy niskiej przepustowości. Architektura jest prosta:
Wartością jest rozdzielenie. PLC publikuje stan pracy na temat; każdy, kto subskrybuje, otrzymuje dane. PLC nie zna ani nie interesuje się, kto jest konsumentem.
Trzy powody:
Dla platformy OEE konsumującej dane z ponad 50 maszyn w zakładzie, MQTT jest naturalnym wyborem. Jeden broker, wielu nadawców, wielu subskrybentów.
Surowe MQTT nie narzuca formatu wiadomości. PLC publikujące "423" na temacie "line5/cycle" jest w porządku dopóki dwa różne PLC nie stosują różnych konwencji tematów, jednostek lub formatów wiadomości. Integracja staje się chaotyczna.
Rozwiązaniem jest Sparkplug B, otwarta specyfikacja oparta na MQTT, która dodaje:
Większość nowoczesnych przemysłowych wdrożeń MQTT używa Sparkplug B. Surowe MQTT sprawdza się w greenfield (projektach od podstaw) przy ścisłej dyscyplinie tematów, ale rzadko skaluje się dobrze.
Pokrywają się, ale rozwiązują różne problemy:
Wiele nowoczesnych stosów używa obu: OPC UA do strukturalnej wymiany danych na poziomie linii (PLC → bramka), MQTT/Sparkplug B do telemetrycznej komunikacji na dużą skalę od bramki do chmury lub centralnej platformy OEE.
Jednolita przestrzeń nazw (UNS) to wzorzec architektoniczny, w którym każdy system publikuje do jednego wspólnego brokera MQTT. Broker staje się jednym źródłem prawdy dla wszystkich danych czasu rzeczywistego w zakładzie. ERP, MES, platforma OEE, historian, analityka, wszyscy subskrybują potrzebne tematy bez integracji punkt, punkt.
UNS zastępuje sztywną hierarchię PLC → SCADA → MES → ERP płaską magistralą pub/sub. Jest to dobre rozwiązanie dla projektów greenfield oraz modernizacji typu lift-and-shift zakładów z istniejącym SCADA.
Dla producentów z sektora MŚP bez istniejącego brokera, samo OPC UA bywa prostsze. Dla większych lub wielozakładowych operacji MQTT + Sparkplug B zwykle wygrywa pod względem długoterminowej skalowalności.
Moduł OEE Fabrico obsługuje zarówno OPC UA, jak i MQTT/Sparkplug B jako źródła danych i może publikować obliczone metryki OEE z powrotem do MQTT dla konsumentów downstream.
Zobacz, jak Fabrico robi to automatycznie, poznaj OEE dla produkcji lub zarezerwuj demo.
Dla większości zakładów MŚP OPC UA jest wystarczające i prostsze. Dla operacji wielozakładowych lub strategii jednolitej przestrzeni nazw lepszym długoterminowym wyborem jest MQTT/Sparkplug B.
Otwartą specyfikacją opartą na MQTT, która dodaje standardowe nazewnictwo tematów, komunikaty birth/death, śledzenie stanu i typowane metryki. De facto standard dla przemysłowego MQTT.
Tak. MQTT jest zbudowane wokół brokera. Popularne wybory: HiveMQ, EMQX, Mosquitto (open source) lub brokerzy chmurowi (AWS IoT, Azure IoT Hub).
Tak, przy użyciu szyfrowania TLS i uwierzytelniania. Anonimowe, niezaszyfrowane MQTT w środowisku produkcyjnym nie jest bezpieczne.
MQTT jest znacznie wydajniejsze dla ciągłej telemetrii. HTTP jest w porządku do sporadycznych wywołań API. Dla danych maszyn przesyłanych co kilka sekund z tysięcy urządzeń MQTT wygrywa zdecydowanie.