MQTT_Publish-Baustein
Kurz-Information
Name |
MQTT_Publish |
→POE-Typ |
|
Kategorie |
|
Grafische Schnittstelle |
|
Verfügbar ab |
|
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.
Informieren Sie sich unter:
"Bausteine für sichere Logik", ob dieser Baustein für das Entwickeln von sicherheitsrelevanten Anwendungen unterstützt wird.
"Kennzeichnung von sicherer Logik im FBS-Editor", welche Auswirkung die Verwendung des Bausteins als Baustein für sichere Logik hat.
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.