Blogs der Factory Software GmbH

Verbindung der Systemplattform mit einem MQTT-Broker (MessageQueueTelemetryTransport)

Geschrieben von Thomas FORM | 28.02.2020 14:02:05

Verbindung der Systemplattform mit einem MQTT-Broker

Im Zeitalter des IoT bzw IIoT findet das MQTT-Protokoll in industriellen Architekturen immer größere Verwendung. Im Gegensatz zu der in der Wonderware Welt verbreiteten Client /Server Kommunikation, gibt es bei MQTT eine weitere Komponente, den sogenannten Broker. Hierbei handelt es sich um eine Art Middleware, die die Daten empfangen und weiterverteilen kann. Dieser Broker muss sich irgendwo im Netzwerk befinden, er kann aber auch im Internet gehostet sein. Mit dem Broker kann man über PUBLISH und SUBSCRIBE in Verbindung treten. Die Station, die Daten senden möchte, published die Daten auf den Broker. Die Station, die Daten empfangen möchte, subscribed die entsprechenden Datenpunkte. Sobald der Broker nun neue Daten empfängt, sendet er sie an die Subscriber (Abonnenten).

Seit einigen Monaten bietet Wonderware eine MQTT-Schnittstelle über das OI-Gateway an. Heute werde ich Ihnen zeigen, wie einfach Sie die Systemplattform mit einem öffentlichen MQTT-Broker verbinden können. Ich habe mich für den HiveMQ-Broker entschieden. Wie unten auf dem Bild dargestellt können Sie MQTT Clients einfach mit dem Broker verbinden und so Ihre Daten zu der Systemplattform senden lassen...

HiveMQ bietet eine Web-Client-Schnittstelle zur Überprüfung des ordnungsgemäßen Empfangs von Nachrichten auf dem Broker. Dieses ist ein sehr nützliches Werkzeug zur Validierung der Kommunikationskette. Unten finden Sie ein Beispiel und den Link, um darauf zuzugreifen: http://www.hivemq.com/demos/websocket-client/

Nun benötigen wir noch ein Device, welches Daten published. Im realen Leben wäre dies ein Sensor oder ein Automatisierungsgerät, das MQTT fähig ist. Für mein Beispiel habe ich die App „IoT OnOff“ verwendet.

Diese App ist sowohl für iPhone, -> Klick hier
als auch für Android -> Klick hier verfügbar.

Die Anwendung ermöglicht es Ihnen, Ihr SmartPhone mit einem MQTT-Broker zu verbinden, und als Publisher und/oder Subscriber zu agieren. Die abonnierten Daten können auf dem SmartPhone auch visualisiert werden.  

Die Visualisierung der Daten hätte man natürlich auch mit einer Software aus unserem Hause erstellen können, dazu demnächst mehr in einem gesonderten Blog.

Nun zu der Konfiguration in der Wonderware Umgebung. Sollten Sie kein aktuelles Testsystem zur Verfügung haben, so können Sie am einfachsten unser Integration Studio in der Cloud nutzen. Hier steht Ihnen binnen weniger Minuten eine aktuelle Testumgebung zur Verfügung. Bei Interesse sprechen Sie uns gerne an. Integration Studio bietet eine große Zeit- und Ressourcenersparnis bei der Erstellung eigener Projekte.

Kommen wir zur Konfiguration der MQTT Schnittstelle

diese ist in dem OI Gateway integriert und kann mit einigen wenigen Klicks konfiguriert werden.

Dazu in der SMC unter „Operation Integration Server Manager“ -> OI Gateway -> Configuration mit einem Rechtsklick eine MQTT Broker Connection hinzufügen: .

In der Konfigurationsmaske muss nur die Adresse des Brokers und des Ports konfiguriert werden. In unserem Fall werden wir den HiveMQ-Broker verwenden, der unter der folgenden Adresse gehostet wird: broker.hivemq.com. Der zu konfigurierende Port ist 1883. .

Jetzt noch durch eine RechtsKlick eine MQTT-Gruppe erstellen, die wir Machine01 nennen. Der Gruppenname ist frei wählbar, muss natürlich in allen beteiligten Geräten der Gleiche sein.

Ihr OI-Gateway ist jetzt konfiguriert.
Stellen Sie sicher, dass die Verbindung mit dem Broker hergestellt ist (Test durch den Validate Adress and Port Button).

Kommen wir nun zur Konfiguration der Systemplatform

jetzt, wo die Kommunikation auf der Seite des OI-Gateways vorhanden ist, werden wir diese Kommunikation mit dem DDESuiteLinkClient Standardobjekt direkt in die Platform bringen. Ab hier ist dann die Vorgehensweise wie gewohnt. In unserem kleinen Beispiel erstelle ich noch ein Objekt, mit einem Attribut vom Typ integer und dem Namen „Speed“. Dieses Attribut werden wir dann über MQTT anbinden und zur Anzeige bringen. Der Wert wird dann von unserem SmartPhone über die IoT OnOff-Anwendung gesendet. Wir werden diese Variable über ein InTouch-Diagramm anzeigen. Konfiguration dieses Obektes, siehe nächste Abbildung: .

DDESuiteLinkClientObjekt Konfiguration:

Servernode: localhost
Servername: Gateway
Topic: MQTT_Machine01

Achtung: Der Topic Name setzt sich aus dem Namen der MQTT Broker Connection und dem Namen der MQTT Broker Gruppe zusammen.

 

Die Item Syntax des Speed Attributes lautet also: MQTTSL.MQTT_Machine01.M01/x1

Hier die Zusammensetzung zum besseren Verständnis:

MQTTSL = Instanz Name des DDSuiteLinkClient-Objektes

MQTT_Machine01 = der Name des Topics, das die Verbindung mit der im OI-Gateway deklarierten Kommunikationsgruppe ermöglicht

M01/x1 = der Name des Geräts und der vom SmartPhone (oder Feldgerät) gesendeten Variablen

Nun, da alles miteinander verbunden ist, finden Sie unten eine vereinfachte Ansicht InTouch OMI mit Echtzeit- und historischen Daten, sowie in Historian InSight. Rechts finden Sie die Ansicht der IoT-OnOff-Schnittstelle.

Das war ein kleiner Ausflug in die Kommunikation mit MQTT. Ich hoffe, dass der Artikel ein wenig dazu beigetragen hat das Thema in den Grundsätzen zu verstehen. Nun können Sie auch selbst besser bewerten, warum die Wonderware System Platform Ihnen eine schnell und einfach zu implementierende IT/OT-Konvergenzplattform bietet! In Kürze folgt ein weiterer Blog mit dem Thema „Unterstützung IT Projekte via MQTT“.