Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
German

Maschinen per MQTT mit Assets verbinden

Wenn eine Maschine mit einem Asset verbunden werden soll stehen nun 2 Wege zur Verfügung.

  1. die indirekte Anbindung über x4remote, welche in dem Artikel x4remote Connections beschrieben wird.

  2. die Anbindung direkt per MQTT an die Plattform.

Die Anbindung per MQTT am Beispiel des Lenze x500 ist Thema dieses Artikels.

Allgemein

Ein MQTT-Telegramm besteht aus ein Topic und eine Nutzlast (Payload). Außerdem benötigt ein Router auch Verbindungsdaten, wie URL, Zugangsdaten um seine Telegramme an einen Broker senden zu können. All diese Infromationen URL, Zugangsdaten, Server-Zertifikat und Topic werden von der Asset Performance Plattform vorgegeben und sind im Router einzustellen.

MQTT selbst Die Asset Performance Plattform stellt einen Broker bereit, der nur eine verschlüsselte und authentifizierte Verbindung erlaubt.

Die MQTT Protokoll Spezifikation definiert nicht wie die Payload gestalltet sein muss, damit die Systeme sich verstehen. gestaltet sein muss. Diese Lücke füllt die die Sparkplug B Spezifikation für MQTT Nutzdaten.

Info

Sparkplug ist eine Open-Source-Spezifikation, die bei der Eclipse Foundation gehostet wird und MQTT-Clients ein Framework zur nahtlosen Integration von Daten aus ihren Anwendungen, Sensoren, Geräten und Gateways in die MQTT-Infrastruktur bietet.

Die Spezifikation zu Sparkplug B ist hier zu finden https://sparkplug.eclipse.org/specification/

Der Lenze x500 überträgt seine Daten in der MQTT-Payload Sparkplug - B konform. Die Asset Performance Plattform kann die Nutzlast im Sparkplug B Format einlesen. Ausnahme ist die Formatierung im JSONMit der Einschränkung das die Payload als Klartext JSON formatiert sein muss. Die Verwendung des Google Protocol Buffer Schema, wie in der Spezifikation beschrieben, ist in Vorbereitung.

Die Spezifikation zu Sparkplug B ist hier zu finden https://sparkplug.eclipse.org/specification/

Eine Payload nach Sparkplug B format stellt sich wie folgt dar:

Code Block
languagejson
{
  "timestamp": <send timestamp>,
  "metrics": [{
    "name": <metric_name>,
    "alias": <alias>,
    "timestamp": <collect timestamp>,
    "dataType": <datatype>,
    "value": <value>
  }],
  "seq": <sequence_number>
}

Die Keys von oben nach unten sind folgendermaßen zu verstehen:

Key

Bedeutung

<send timestamp>

zwingend

Zeitstempel wann das Telegramm versendet wurde

metrics

zwingend

Array von Datenpunktobjekten. Es können 1..n Datenpunktojekte hier eingefügt werden.

<metric_name>

zwingend

Name des Datenpunkts

<alias>

optional

Ersatznummer für den Datenpunkt.

<collect timestamp>

zwingend

Zeitstempel wann die Daten gelesen / bereitgestellt wurden

<datatype>

zwingend

Datentyp des Datums. Sie dazu die Liste am Ende.

<value>

optional

Wert des Datenpunkts, sofern ein Wert publiziert werden soll.

<sequence_number>

zwingend

Sequenznummer. Fortlaufend steigend.

Payload Beispiel:

Code Block
languagejson
{
	"metrics": [
		{
			"alias": 2,
			"datatype": 9,
			"name": "scCloud_rOEErt",
			"timestamp": 1721829360000,
			"value": 75.28211975097656
		},
		{
			"alias": 11,
			"datatype": 10,
			"name": "scCloud_lrQuantityOK",
			"timestamp": 1721829360000,
			"value": 3589.0
		}
	],
	"seq": 215,
	"timestamp": 1721829360042
}

Einstellungen in der Asset Performance Plattform

Um eine Verbindung für ein Asset zuerstellen kann über das Connection Icon der Konfigurationsdialog aufgerufen werden.

grafik-20240724-143225.pngImage Added

In diesem Dialog kann der Typ der Verbindung ausgewählt werden. Hier muss der Eintrag “x500 per MQTT” gewählt werden.

grafik-20240724-143504.pngImage Added

Danach kann die Auswahl mit “Speichern” bestätigt werden, denn weitere Einstellungen sind nicht nötig. Die Verbindungsdaten werden jetzt vom System erzeugt. Diese Verbindungsdaten müssen nun im Router eingestellt werden, was abhängig vom Routerhersteller ist. Im nächsten Abschnitt wird dies für den x500 exemplarisch beschrieben.

Neben den Zugangsdaten kann hier das Serverzertifikat heruntergeladen werden. Diese ist nötig, damit der Client die Verbindung überprüfen kann.

grafik-20240724-143940.pngImage Added

Diese Verbindungseinstellungen können jederzeit über den gleichen Weg wieder angezeigt werden.

Einstellungen im x500 bzw. x4remote

Datentypenliste

...