Request

Diese Methode wird einmalig aufgerufen, um einen Request zum Broker zu versenden.
Mögliche Fehler werden an den Ausgängen bError und hrErrorCode der Bausteininstanz ausgegeben.
Syntax
METHOD Request : BOOL
VAR_IN_OUT
    sTopic              : STRING; // topic string (UTF-8) with any length (attend that MQTT topics are case sensitive)
    sResponseTopic      : STRING; // topic string (UTF-8) with any length (attend that MQTT topics are case sensitive)
END_VAR
VAR_INPUT
    pPayload            : PVOID;
    nPayloadSize        : UDINT;
    eQoS                : TcIotMqttQos; // quality of service between the publishing client and the broker
    bRetain             : BOOL; // if TRUE the broker stores the message in order to send it to new subscribers
    bQueue              : BOOL; // for future extension
    pProps              : POINTER TO MqttPublishProperties;
    pCorrelationData    : POINTER TO BYTE;
    nCorrelationDataSize: UINT;
END_VAR Rückgabewert
 Rückgabewert
| Name | Typ | Beschreibung | 
|---|---|---|
| Request | BOOL | Bei erfolgreichem Aufruf liefert die Methode den Rückgabewert TRUE. | 
 Eingänge
 Eingänge
| Name | Typ | Beschreibung | 
|---|---|---|
| pPayload | PVOID | Adresse zum Payload der MQTT-Nachricht | 
| nPayloadSize | UDINT | Größe vom Payload in Bytes | 
| eQoS | TcIotMqttQos | "Quality of Service" | 
| bRetain | BOOL | Wenn bRetain TRUE ist, speichert der Broker die Nachricht, um sie später hinzukommenden Subscribern nachträglich zukommen zu lassen. | 
| bQueue | BOOL | Reservierter Parameter, welcher immer mit FALSE belegt werden kann. | 
| pProps | POINTER TO MqttPublishProperties | Pointer auf zu verschickende Publish Properties. Der Parameter ist optional. Um Publish Properties anzugeben kann der FB_IotMqtt5PublishProperties zur Hilfe genommen werden. | 
| pCorrelationData | POINTER TO BYTE | Pointer auf die zu verschickende CorrelationData. Hiermit kann bei einem Request/Response Verfahren eine Zuordnung von Request zu empfangener Response erfolgen. | 
| nCorrelationDataSize | UINT | Größe der CorrelationData in Bytes | 
 Ein-/Ausgänge
 Ein-/Ausgänge
| Name | Typ | Beschreibung | 
|---|---|---|
| sTopic | STRING | Topic der MQTT-Nachricht | 
| sResponseTopic | STRING | Response-Topic auf dem der Request beantwortet werden soll. | 
|  | Message-Payload-Formatierung Beachten Sie, dass der Datentyp und die Formatierung des Inhalts der Sender- und Empfängerseite bekannt sein müssen, insbesondere beim Versand von Binärinformationen (Alignment) oder Strings (mit/ohne Nullterminierung). | 
|  | Strings im UTF-8-Format Die hier verwendeten Variablen vom Typ STRING nutzen das UTF-8-Format. Diese STRING-Formatierung ist üblich bei IoT/MQTT-Kommunikation sowie JSON-Dokumenten. Um Sonderzeichen und Texte verschiedenster Sprachen empfangen zu können, wird der Zeichensatz in den Bibliotheken Tc3_IotBase und Tc3_JsonXml nicht auf den typischen Zeichensatz vom Datentyp STRING beschränkt. Stattdessen wird der Unicode-Zeichensatz als UTF-8-Format in Verbindung mit dem Datentyp STRING verwendet. Bei Verwendung des ASCII-Zeichensatzes besteht kein Unterschied zwischen der typischen Formatierung in einem STRING und der UTF-8-Formatierung eines STRING. Weitere Informationen zum UTF-8-STRING-Format sowie vorhandenen Anzeige- und Konvertierungsmöglichkeiten finden Sie in der Dokumentation der SPS-Bibliothek Tc2_Utilities. |