I/O Gerät

Zusätzlich zur SPS-Bibliothek Tc3_IotBase stehen mit dem IoT MQTT Controller und IoT MQTT Device zwei TwinCAT I/O Geräte zur Verfügung, mit deren Hilfe sich eine MQTT-basierte Kommunikationsverbindung zwischen zwei TwinCAT Systemen aufbauen lässt. Alternativ lässt sich auch ein EK9160 IoT-Koppler in diese Art von Kommunikation integrieren.

I/O Gerät 1:

Die beiden Gerätetypen können über den entsprechenden Dialog im TwinCAT I/O Bereich hinzugefügt werden und befinden sich dort innerhalb der Kategorie Ethernet.

I/O Gerät 2:

Bei einem IoT MQTT Device werden dessen Symbolinformationen zu allen konfigurierten Variablen des Prozessabbilds auf dem Message Broker in einem bestimmten Topic als Retain-Nachricht 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.

I/O Gerät 3:

Datenformat

Das Datenformat für diese Art der MQTT Kommunikation muss auf „Binär“ eingestellt werden.

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 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.

I/O Gerät 4:

Alle I/O Klemmen sollen in diesem Beispiel für die Kommunikationsverbindung mit dem Message Broker aktiviert werden.

Der folgende Screenshot zeigt diesen Vorgang exemplarisch auf der Konfigurationsoberfläche.

I/O Gerät 5:
I/O Gerät 6:

TwinCAT als IoT MQTT Device

Neben dem EK9160 kann auch ein TwinCAT-System als IoT MQTT Device konfiguriert werden. Die entsprechenden Konfigurationsschritte müssen in diesem Fall über den TwinCAT I/O Bereich manuell durchgeführt werden. Das IoT MQTT Device verhält sich dann vom weiteren Ablauf analog zum EK9160.

Konfiguration von TwinCAT

Damit TwinCAT die Symbolinformationen und Prozesswerte vom EK9160 verarbeiten kann, muss im I/O Bereich von TwinCAT 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.

I/O Gerät 7:
I/O Gerät 8:

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.

I/O Gerät 9:
I/O Gerät 10:

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

I/O Gerät 11:

Resultat (exemplarisch am Beispiel des Subscribers):

I/O Gerät 12:

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 oben genannten Topics erkennt.

I/O Gerät 13: