MQTT_Publish-Baustein
Kurz-Information
Name |
MQTT_Publish |
→POE-Typ |
|
Kategorie |
|
Grafische Schnittstelle |
|
Verfügbar ab |
Dieser Baustein wird für →Raspberry Pi unterstützt. |
Funktionalität
Der Baustein publiziert eine Nachricht zu einem bestimmten Thema über die Verbindung, die durch den Verbindungshandler spezifiziert ist. Die Nachrichten werden asynchron versendet.
Die Übertragung der Daten erfolgt mit Hilfe eines bereits vorhandenen MQTT-Brokers
(siehe "Datenübertragung via MQTT vorbereiten/durchführen")
.
Eingänge, Ausgänge
|
Bezeichner |
Beschreibung |
|
Eingänge: |
ch |
DINT |
Verbindungshandler, wie vom MQTT_Connect-Baustein erhalten |
topic |
STRING |
Thema für die Nachricht |
|
payload |
REF_TO BYTE |
Nutzdaten der Nachricht |
|
len |
DINT |
Länge der zu publizierenden Nutzdaten |
|
Ausgänge: |
rc |
MQTT_RC |
Ergebniscode der beteiligten MQTT-Funktionen, wie im Datentyp MQTT_RC definiert |
Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.
Beispiel für Verwendung im ST-Editor
PROGRAM Program1
VAR
ioImageLocal : ARRAY[0..1023] OF BYTE;
ioImageLocalLen : DINT := 2;
ch : DINT := -1;
cnt : DINT := 0;
rc : MQTT_RC;
state : MQTT_SUBSCRIBER_STATE := MQTT_SUBSCRIBER_STATE#INVALID;
END_VAR
state := MQTT_GetState(ch := ch, rc => rc, ENO => ENO);
/* make sure MQTT connection is established and messages are received */
IF state <> MQTT_SUBSCRIBER_STATE#CONNECTING AND state <> MQTT_SUBSCRIBER_STATE#CONNECTED THEN
ch := MQTT_Connect(address := '192.168.1.107', clientId := 'RTS1', rc => rc, ENO => ENO);
END_IF;
IF ENO AND state = MQTT_SUBSCRIBER_STATE#CONNECTED THEN
/* prepare data to be transferred over MQTT */
ioImageLocal[0] := 16#CA;
ioImageLocal[1] := 16#FE;
/* send updated io image to remote */
MQTT_Publish(ch := ch, topic := 'sample_topic',
payload := REF(ioImageLocal[0]),
len := ioImageLocalLen,
rc => rc);
END_IF;
END_PROGRAM
Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.