Möglichkeiten einer MQTT Infrastruktur für Industrie 4.0
Einleitung und Übersicht
Eine MQTT Infrastruktur für industrielle Anwendungen zu betreiben ist genauso wie MQTT an und für sich: Einfach und flexibel. Trotzdem ist es wie für alle Vorhaben empfehlenswert einige Vorüberlegungen anzustellen und zu entsprechend zu planen. Dies verhindert, dass die erstellte Infrastruktur direkt nach der Fertigstellung angepasst werden muss. Weiter ist es notwendig, angrenzende Bereiche vor allem aus dem Bereich der Netzwerkinfrastruktur in die Überlegungen und Entscheidungen mit einfließen zu lassen.
Grundsätzlich lässt eine MQTT Infrastruktur in 3 Teile unterteilen: Die Sensoren oder Aktoren (IoT Devices) als primäre Datenlieferanten, den MQTT Broker als Vermittler der Daten und das Backend als primärer Abonnent der Daten. Dies ist eine logische Aufteilung. MQTT-Technisch gibt es Publisher (= Datenlieferanten) und Subscriber (=Datenabonnenten) – doch jeder Publisher kann auch selbst Daten beziehen und jeder Subscriber kann auch Daten senden (und macht dies normalerweise auch). Trotzdem ist es eher so, dass im Datenbackend eher mehr Subscriber von Nutzdaten sitzen und die Devices als Sensoren und Aktoren die primären Datenlieferanten des Systems sind.
Das Bindeglied zwischen den 3 Komponenten des Systems ist das Netzwerk. Bei einer MQTT Infrastruktur geht es also um klassische TCP/IP Netzwerktechnik.
Eine MQTT Device ist normalerweise über WLAN an das Netzwerk angebunden. Wir haben in unserer Netzwerkinfrastruktur also ein WLAN Netzwerk integriert.
Lokale Infrastruktur
In dieser einfachen Infrastruktur befindet sich alles in einem einzigen Netzwerk (LAN, Local area network). Es kommt keine spezielle industrielle Hardware zum Einsatz. Vielmehr dient ein einfacher Accesspoint als Zugangspunkt zum Netzwerk mit MQTT Broker und Backend.
Der MQTT Broker kann hierbei auf irgendeinem Rechner des Netzwerks laufen. Möglich ist es sogar, sowohl Broker als auch Accesspoint auf einem einzigen Android Endgerät zu betreiben. Somit besteht die gesamte Infrastruktur z.B. nur aus der IoT Device und einem Tablet. Dieser Spezialfall einer minimalen MQTT Architektur ist in unserem Artikel MQTT Broker auf Android beschrieben.
Gateway als MQTT Broker
Eine fast genauso einfache Infrastruktur setzt einen MQTT Broker als Gateway zwischen 2 LAN Netzwerken ein. Dieser Broker kann als proprietäres System oder als Linux System umgesetzt sein.
Firmen wie die Wiesemann & Theis GmbH (www.wut.de) bieten einen einfachen MQTT Broker als fertige Komponente an. Alternativ kann ein kleiner Linux Rechner wie z.B. ein Raspberry Pi Rechner als MQTT Broker eingesetzt werden. Die erste Option bietet eventuell einen etwas leichteren Einstieg in die Konfiguration, da diese komplett über eine WEB Oberfläche vorgenommen werden kann.
Der Raspberry Computer bietet dagegen eine maximale Flexibilität durch ein komplett offenes und frei konfigurierbares System welches mit Sicherheit über viele Jahre gepflegt und weiterentwickelt wird.
Mit dem von uns entwickelten und angeboten Raspberry Industrierechner können wir ein System liefern welches eine sehr einfache Konfiguration ermöglicht und trotzdem die maximale Flexibilität eines quelloffenen und freien Linux Systems bietet.
MQTT Broker im WAN Netzwerk
Eine für nicht-industrielle Anwendungen häufig umgesetzte Konfiguration ist die Verwendung des MQTT Brokers als Service in einer Cloud, also auf einem entfernten Rechner in einem WAN (wide area network; Internet).
Dies vereinfacht die Gesamtkonfiguration und den Betrieb etwas, da ein MQTT Broker eben überhaupt gar nicht erst installiert und konfiguriert werden muss. Dies ist natürlich auch für Industrielle Anwendungen denkbar.
Meist kommt diese Konfiguration aus mindestens 2 Gründen nicht zum Einsatz:
Erstens ist die Grundanforderung der Unabhängigkeit einer Industrieanlage nicht gewährleistet. Sollte der externe Dienst des MQTT Brokers aus irgendeinem Grund nicht mehr erreichbar sein ist eine Produktion im schlimmsten Fall nicht mehr oder nur noch deutlich eingeschränkt möglich.
Ein zweiter Grund ist, dass Daten der Anlage außerhalb des lokalen Netzwerkes oder Firmennetzwerkes gespeichert werden. Zwar können die Datenverbindungen und Übertragungen unter MQTT z.B. Passwort oder über eine TLS/SSL Verschlüsselung geschützt werden, ein Risiko zur Einsicht oder Manipulation der Daten auf dem Server selbst bleibt jedoch bestehen.
Wenn man bedenkt, wie einfach ein MQTT Server installiert, administriert und betrieben werden kann ist es empfehlenswert den MQTT Server in einem lokalen Firmen-LAN zu betreiben.
Ergänzung
Ergänzung: Gleichzeitiges Messen mehrerer Messuhren
Bei verschiedenen Szenarien ist es oft eine Anforderung, mehrere Messungen gleichzeitig zu erfassen.
Wirklich Gleichzeitig in einem einzelnen WLAN Netzwerk zu messen ist nicht möglich, da die Datenpakete hintereinander über das Netzwerk übertragen werden. Die Übertragungszeiten sind jedoch kurz. Aus der Praxis können wir diese Werte angeben:
Der Datendurchlauf des Anfordern und Empfangen eines Messwertes dauert ca. 50 ms. Dies bedeutet, dass der PC einen Messwert über den Broker anfordert, der Broker die Anforderung an die Messuhr weitergibt, die Messuhr die Messung durchführt und die Messdaten an den Broker überträgt. Diese gibt die Daten dann an den PC weiter.