EK9160 unter TC3 als IoT MQTT Device konfigurieren

In TC3 stehen mit dem „IoT MQTT Controller“ und „IoT MQTT Device“ zwei I/O Geräte zur Verfügung, mit deren Hilfe sich eine MQTT-basierte Kommunikationsverbindung aufbauen lässt. Der EK9160 lässt sich damit sehr einfach als IoT MQTT Device für eine TC3 Runtime konfigurieren. Der Vorteil liegt darin, dass der EK9160 die Prozessdaten der EtherCAT-Slaves über ein standard TCP/IP Netzwerk dem Twin-CAT Anwenderprogramm zur Verfügung stellen kann.

EK9160 unter TC3 als IoT MQTT Device konfigurieren 1:
MQTT Device einfügen

Das folgende Schaubild zeigt mögliche Einsatzszenarien auf. Über diese Art der Kommunikationsverbindung lassen sich sowohl TwinCAT-Systeme untereinander als auch TwinCAT mit einem oder mehreren EK9160 koppeln.

EK9160 unter TC3 als IoT MQTT Device konfigurieren 2:
Einsatzszenarien MQTT-Kommunikation

Bei einem „IoT MQTT Device“ werden Symbolinformationen zu allen konfigurierten Variablen im Prozessabbild auf dem Message Broker in einem bestimmten Topic abgelegt. Ein „IoT MQTT Controller“ hat dann die Möglichkeit diese Symbolinformationen einzuscannen und passende Variablen in seinem eigenen Prozessabbild anzulegen. Der EK9160 ist hierbei automatisch immer ein „IoT MQTT Device“.

Konfiguration des EK9160

Die Konfiguration des EK9160 als „IoT MQTT Device“ erfolgt automatisch im Hintergrund, sobald das Gerät für die Verbindung mit einem MQTT Message Broker konfiguriert wird. Als Voraussetzung muss als Datenformat „Binary“ gewählt, sowie Retain-Nachrichten aktiviert werden. Der folgende Screenshot zeigt den entsprechenden Ausschnitt aus der EK9160 Konfigurationswebseite.

EK9160 unter TC3 als IoT MQTT Device konfigurieren 3:
Konfiguration des EK9160 als MQTT-Device

Alle I/O Klemmen wurden für die Kommunikationsverbindung mit dem Message Broker aktiviert. Der folgende Screenshot zeigt diesen Vorgang exemplarisch auf der Konfigurationsoberfläche.

EK9160 unter TC3 als IoT MQTT Device konfigurieren 4:
Aktivierung der I/O-Klemmen

Hinweis

Keine Umlaute in den Bezeichnern verwenden!

Wenn Sie TwinCAT als IoT MQTT Controller verwenden, schalten Sie die Spracheinstellung auf Englisch oder ändern in Bezeichnungen wie „Eingänge“ oder „Ausgänge“ das „ä“ gegen „ae“, da einige MQTT Broker keine Umlaute akzeptieren.

EK9160 unter TC3 als IoT MQTT Device konfigurieren 5:

TwinCAT als „IoT MQTT Device“

Neben dem EK9160 kann auch TwinCAT selbst als „IoT MQTT Device“ agieren. Die entsprechenden Konfigurationsschritte müssen in diesem Fall über den TwinCAT I/O Bereich im TwinCAT XAE durchgeführt werden. Das „IoT MQTT Device“ verhält sich dann vom weiteren Ablauf identisch zum EK9160.

Konfiguration von TwinCAT

Damit TwinCAT die Symbolinformationen und Prozesswerte vom EK9160 verarbeiten kann, muss im I/O Bereich von TwinCAT XAE ein „IoT MQTT Controller“ angelegt und für die Verbindung mit dem Message Broker konfiguriert werden. Entscheidend ist hierbei, dass die Felder „Main Topic“, „Device“ und „Stream“ mit der Konfiguration des EK9160 übereinstimmen. Der folgende Screenshot veranschaulicht diesen Vorgang.

EK9160 unter TC3 als IoT MQTT Device konfigurieren 6:
Felder „Publish Topic“ und „Subcribe Topic“ müssen mit der Konfiguration des EK9160 übereinstimmen
EK9160 unter TC3 als IoT MQTT Device konfigurieren 7:
Übereinstimmung der Konfiguration sicherstellen

Unterhalb des „IoT MQTT Controllers“ können anschließend „Publisher“ und „Subscriber“ angelegt werden, je nachdem ob man die Aus- oder Eingangsklemmen einscannen möchte. Eingangsklemmen werden hierbei über den „Publisher“ bedient und Ausgangsklemmen über den „Subscriber“.

EK9160 unter TC3 als IoT MQTT Device konfigurieren 8:
Anlegen von „MQTT Publisher“ und „MQTT Subscriber“
EK9160 unter TC3 als IoT MQTT Device konfigurieren 9:
Eingangsklemmen werden über den „Publisher“ und Ausgangsklemmen über den „Subscriber“ bedient

Anschließend können über einen Scan-Mechanismus die Symbolinformationen ausgelesen und automatisch entsprechende Ein-/Ausgangsvariablen im Prozessabbild des Geräts angelegt werden.

EK9160 unter TC3 als IoT MQTT Device konfigurieren 10:
Scannen über Kontextmenü

Resultat (exemplarisch am Beispiel des Subscribers):

EK9160 unter TC3 als IoT MQTT Device konfigurieren 11:
Darstellung der Eingänge

Weitere Informationen

Nachdem die Konfiguration auf dem EK9160 aktiviert wurde, werden auf dem Message Broker drei Topics unterhalb des konfigurierten „Main Topics“ verwendet:

  1. Das Symbol-Topic beinhaltet die Symbolinformationen zu den angeschlossenen I/O Klemmen und wird vom EK9160 nach dem Herstellen der Kommunikationsverbindung mit dem Message Broker befüllt.
  2. Das Description-Topic beinhaltet allgemeine Statusinformationen zum Gerät und wird vom EK9160 nach dem Herstellen der Kommunikationsverbindung mit dem Message Broker befüllt.
  3. Das Daten-Topic beinhaltet die reinen Prozessdaten der angeschlossenen I/O Klemmen. Dieses Topic wird vom EK9160 somit zyklisch mit Daten befüllt.

Der folgende Screenshot zeigt einen Ausschnitt vom Mosquitto Message Broker im Verbose-Modus, auf welchem man die einzelnen Publishes des EK9160 auf die o.g. Topics erkennt.

EK9160 unter TC3 als IoT MQTT Device konfigurieren 12:
Mosquitto Message Broker im Verbose-Modus