Erfolgsgeschichte eines Protokolls

MQTT im Industrial Internet of Things

Obwohl das MQTT-Protokoll bereits seit etwa zwei Jahrzehnten existiert, ist es durch sein Konzept bestens für moderne IIoT-Anwendungen geeignet. Vor allem für solche, die sich auf eine aktive Benachrichtigung stützen. Also dort, wo Geräte nur bei Bedarf Daten bereitstellen und nicht regelmäßig, wie bei der passiven Benachrichtigung. Doch wie lässt sich der Erfolg von MQTT im IIoT erklären, und was sollte man vor dem Einsatz des Übertragungsprotokolls wissen?

 (Bild: Moxa Europe GmbH)
(Bild: Moxa Europe GmbH)

Das MQTT-Messaging-Protokoll wurde erstmals 1999 von IBM und Cirrus Link (damals noch Arcom Control Systems) entwickelt und ist ab Version 3.1 seit 2013 als ISO-Standard akzeptiert. MQTT verwendet ein Publish-Subscribe-Muster, um Nachrichten auszutauschen. Ein MQTT-System umfasst einen Broker und mehrere Clients, bei denen die Clients entweder Publisher oder Subscriber, also Abonnenten, sein können. Publisher senden Daten an den Broker in Form von MQTT-Paketen, die aus einem ‚Thema‘ und einer ‚Nutzlast‘ bestehen. Der Broker verteilt die Daten dann an die Abonnenten, je nachdem, für welche Themen sie sich interessiert haben. Das MQTT-Protokoll legt kein Standardformat für die Datenübertragung fest, obwohl Anwendungen üblicherweise das JSON-Protokoll oder Nur-Text verwenden. Im Vergleich zu anderen Protokollen bietet MQTT für IoT-Anwendungen eine Reihe von Vorzügen.

Messaging-Muster für Pub-Sub

Im Vergleich zu anderen Request-Response-Pattern-Protokollen ermöglicht das von MQTT verwendete Publish-Subscribe-Muster, dass IoT-Entwickler bestimmte häufige Verbindungsprobleme lösen können. Anfrage-Antwort-Muster (Request-Response-Muster) erfordern beispielsweise, dass Client und Server gleichzeitig online sind, um sicherzustellen, dass Daten erfolgreich übertragen und empfangen werden. Insbesondere für IIoT-Anwendungen kann es jedoch unmöglich sein, dass Geräte eine ausreichend starke Verbindung zum Netzwerk aufrechterhalten, um die erforderlichen Daten zu empfangen, folglich ist das Anfrage-Antwort-Muster für solche Anwendungen nicht geeignet. Das MQTT-Muster für Veröffentlichungen und Abonnements ist auf Situationen zugeschnitten, in denen nicht garantiert wird, dass Geräte gleichzeitig mit dem Netzwerk verbunden sind. Der MQTT-Broker ist in dieser Hinsicht entscheidend. Der Broker fungiert als Informationszentrum, indem er Daten annimmt, die von als ‚Herausgeber‘ bezeichneten Clients an ihn gesendet wurden, und die Daten dann an als ‚Abonnenten‘ bezeichnete Clients gesendet werden. Wenn der Broker die Daten an einen Abonnenten sendet, prüft er zuerst, ob der Zielclient online ist oder nicht. Wenn nicht, kann der Broker die Daten aufbewahren, bis der Abonnent online ist, und diese dann senden. Ein Vorteil dieser Strategie ist, dass nur der Broker ständig online sein muss. Die Clients – sowohl Publisher als auch Abonnenten- müssen nur online sein, wenn eine Verbindung verfügbar ist oder wenn sie Daten senden oder empfangen müssen.

Ereignisgesteuert

Bei Verwendung eines Publish-Subscribe-Musters veröffentlichen MQTT-Clients nur Daten an den Broker, wenn bestimmte Bedingungen erfüllt sind: z.B. könnte ein Warnsignal darauf hinweisen, dass die Temperatur eines bestimmten Geräts zu hoch ist. Eine andere Möglichkeit, diese Art von Vorgang zu beschreiben, besteht darin, dass Clients aktiv Daten aktualisieren, anstatt passiv darauf zu warten, dass ein anderes Gerät die Daten anfordert. Bei IoT-Anwendungen werden Kommunikationsgebühren abhängig von der Anzahl der übertragenen Datenpakete berechnet. Verglichen mit einem Anforderungs-Antwort-Muster spart MQTT Geld, da zur Durchführung der Datenübertragung nur unidirektionale Kommunikation erforderlich ist.

Architektur zur direkten Anbindung an die Cloud (Bild: Moxa Europe GmbH)
Architektur zur direkten Anbindung an die Cloud (Bild: Moxa Europe GmbH)

Viele-zu-Viele-Kommunikation

Einer der Hauptvorteile von MQTT besteht darin, dass ein Publish-Subscribe-Muster verwendet werden kann, um auf einfache Weise eine Kommunikation zwischen vielen Benutzern herzustellen. Das Machine-to-Machine-(M2M)-Konzept, bei dem die Kommunikation zwischen mehreren Teilnehmern realisiert wird, ist eines der heißesten Themen im IIoT. In werkseitigen M2M-Anwendungen teilen Maschinen an jeder Station ihren eigenen Prozessstatus mit Maschinen an anderen Stationen. Das Teilen von Informationen auf diese Weise dient zur Automatisierung der Produktionsoptimierung, ohne dass manuelle Eingaben von Bedienern erforderlich sind. Da MQTT zur Implementierung der M2M-Kommunikation verwendet wird, müssen Maschinen nur eine Verbindung mit dem Broker aufbauen, anstatt direkt miteinander zu kommunizieren, wodurch beim Handshaking eine erhebliche Zeitersparnis entsteht. Da ein Broker die Kommunikation zwischen allen Maschinen abwickelt, ist die Datenübertragung zuverlässiger.





  • Innovationstreiber Thin[gk]athon: Kollaborative Intelligenz trifft auf Industrie-Expertise

    Der Thin[gk]athon, veranstaltet vom Smart Systems Hub, vereint kollaborative Intelligenz und Industrie-Expertise, um in einem dreitägigen Hackathon innovative Lösungsansätze für komplexe Fragestellungen…


  • Einflüsse auf die Produktionsplanung simulieren

    Wie lassen sich Aufträge und Ressourcen in Einklang bringen? In anspruchsvollen Szenarien geraten grobe Planungshilfen etwa im ERP-System bei der Beantwortung dieser…


  • Warum ein MES-Projekt Change Management braucht

    Verspätete Wareneingänge, Mitarbeiterausfälle, Störungen und Planänderungen können massiv auf die Produktion, Montage und Liefertermine einwirken. Automatische Planung löst nicht alle Probleme, reduziert…


  • Mit Strategie gegen Silos

    Hersteller investieren viel Zeit und Geld, um die Wertschöpfungskette kontinuierlich zu verbessern. Dabei entstehen oft Silo-Systeme, die isoliert voneinander arbeiten und wenig…


  • Datenpunkte in der Batteriezellfertigung setzen

    In der Batteriezellfertigung erzeugen heterogene Quellen enorme Datenmengen. Um die Produktion mit Digitaltechnik aufzurüsten, müssen die verschiedenen Datenquellen an die IT-Systeme in…