FB_IotMqtt5PublishProperties

FB_IotMqtt5PublishProperties 1:

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

FB_IotMqtt5PublishProperties 2: 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.

FB_IotMqtt5PublishProperties 3: 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.

FB_IotMqtt5PublishProperties 4: 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)