FB_IotMqtt5PublishProperties
Der Funktionsbaustein ermöglicht die Definition von verschiedenen Properties, welche beim Versenden einer Nachricht gesetzt werden können. Hiermit können bei der Nachrichtenübermittlung zusätzliche Metadaten an eine Nachricht angehängt werden. Es können die folgenden Metadaten definiert werden:
Allgemeine Beschreibung der Publish Properties:
Eigenschaft | Beschreibung |
---|---|
Content Type | Kann von den Applikationen verwendet werden, um eine inhaltliche Beschreibung des Payloads zu übermitteln. |
Topic Alias | Ein Topic-Alias kann verwendet werden, um ein Topic z.B. durch einen Integer-Wert zu repräsentieren anstelle durch einen (potenziell langen) String. |
Subscription Identifier | Eine ID um eine Subscription identifizieren zu können. |
Message Expiry Interval | Gibt die Lebensdauer einer Nachricht an bis diese vom Message Broker verworfen werden kann. |
Payload UTF-8 Indicator | Gibt an, ob die übermittelte Nachricht im UTF-8 Format aufgebaut ist. |
User Properties | User Properties sind Key/Value Paare, welche an die PublishProperties angehängt werden können. Dies erfolgt mittels des Bausteins FB_IotMqtt5UserProperties. Die Bedeutung der UserProperties ist nicht Bestandteil der MQTT5 Spezifikation und somit applikationsspezifisch. |
Syntax
Definition:
FUNCTION_BLOCK FB_IotMqtt5PublishProperties EXTENDS FB_IotMqtt5UserProperties
VAR_OUTPUT
bError : BOOL;
hrErrorCode : HRESULT;
END_VAR
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
bError | BOOL | Wird TRUE, sobald eine Fehlersituation eintritt. |
hrErrorCode | HRESULT | Liefert bei einem gesetzten bError-Ausgang einen Fehlercode. Eine Erläuterung zu den möglichen Fehlercodes befindet sich im Anhang. |
Eigenschaften
Name | Typ | Zugriff | Beschreibung |
---|---|---|---|
bPayloadUtf8 | BOOL | Get, Set | Gibt an ob der Nachrichteninhalt UTF-8 formatiert ist. |
bTopicAlias | BOOL | Get, Set | Gibt einen Topic-Alias an. |
nMsgExpiryInterval | UDINT | Get, Set | Gibt eine Lebensdauer in Sekunden für die Nachricht an. |
nSubIdCnt | UINT | Get | Gibt die Anzahl an Subscription-Ids zurück. |
pPublishProperties | POINTER TO MqttPublishProperties | Get | Pointer auf ein Objekt vom Typ MqttPublishProperties. Beim Aufruf von FB_IotMqtt5Client.Publish(), sowie Request() und Response() ist es möglich dies direkt zu übergeben. |
sContentType | STRING | Get, Set | Gibt einen Content Type für den Nachrichteninhalt an. |
Methoden
Name | Beschreibung |
---|---|
GetSubIds | Gibt die Subscription-IDs zurück. |
SetPublishProperties | Setzt die konfigurierten PublishProperties. |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4026.0 | IPC oder CX (x86, x64, ARM) | Tc3_IotBase (>= v3.4.2.0) |