MQTT
Um einen Publisher oder Subscriber für die Verwendung des MQTT-Transports zu konfigurieren, öffnen Sie einfach die Publisher/Subscriber-Konfigurationsseite und wählen den MQTT-Transport aus. MQTT unterstützt sowohl die (binäre) UADP-Kodierung als auch JSON und kann mit einem bestimmten Header-Layout konfiguriert werden.
Kodierung
Es stehen zwei Kodierungen zur Auswahl: MQTT/UADP und MQTT/JSON. Das erste Datenformat verwendet die binäre UADP-Kodierung zur Kodierung von Nachrichten und das letzte ein JSON-Format.
Je nach gewähltem Header-Layout kann die MQTT/JSON-Kodierung wie folgt aussehen:
{
"MessageId": "{0CF7F27A-56FF-1F85-CFC2-12C886365C1D}",
"MessageType": "ua-data",
"Messages": [
{
"DataSetWriterId": 1,
"Payload": {
"nCounter": {
"Type": 4,
"Body": 18
},
"bToogle": {
"Type": 1,
"Body": false
}
}
},
{
"DataSetWriterId": 2,
"Payload": {
"myNewVariable": {
"Type": 4,
"Body": 42
}
}
}
]
}
Das JSON-Format ist in der OPC UA Pub/Sub Spezifikation standardisiert. Eine vollständige Beschreibung des JSON-Schemas und jedes einzelnen Feldes finden Sie in der Spezifikation.
Verbindungsparameter
Wenn Sie MQTT als Transportprotokoll verwenden, müssen Sie auch Verbindungsparameter für den MQTT Message Broker definieren. Diese Parameter können, je nach Anwendungsfall, an zwei verschiedenen Stellen angegeben werden:
- Sie können entweder einzelne MQTT-Verbindungen auf jedem Publisher oder Subscriber konfigurieren
- oder Sie können eine "globale" MQTT Verbindung in den OPC UA RT Device Settings konfigurieren. In diesem Fall teilen sich alle Publisher und Subscriber eine Verbindung zum MQTT Message Broker.
Der folgende Screenshot zeigt die MQTT-Verbindungsparameter für einen Publisher:
Der folgende Screenshot zeigt, wo die globale MQTT-Verbindung auf dem OPC UA RT Gerät eingerichtet werden kann:
In beiden Fällen ist der Dialog für die Eingabe der Verbindungsparameter gleich und sieht wie folgt aus:
Topics
Die Daten des MQTT Message Brokers sind in sogenannten "Topics" organisiert. Aus Sicht von OPC UA Pub/Sub können Sie Topics auf zwei Ebenen spezifizieren:
- Das Topic eines Publishers wird in den Publisher-Einstellungen konfiguriert.
- Das Topic eines Subscribers wird für jedes DataSet individuell konfiguriert.