FB_IotHttpRequest

FB_IotHttpRequest 1:

Dieser Funktionsbaustein ermöglicht es der SPS, HTTP-Befehle an den Server zu senden, der mit dem Funktionsbaustein FB_IotHttpClient konfiguriert worden ist. Um eine HTTP-Antwort verarbeiten zu können, muss der Ausgang bBusy dieses Funktionsbausteins zuerst FALSE zurückgeben. Dann können die Inhaltsnutzlast, bestimmte Header-Felder oder ein JSON-String aus der Antwort extrahiert werden.

Syntax

Definition:

FUNCTION_BLOCK FB_IotHttpRequest IMPLEMENTS ITcIotHttpResponse
VAR_INPUT
    sContentType     : STRING((ParameterList.cSizeOfHttpContentType-1)) :='text/html;charset=UTF-8';
    eCompressionMode : E_IotHttpCompressionMode                         := 'E_IotHttpCompressionMode.NoCompression';
END_VAR
VAR_OUTPUT
    bBusy            : BOOL;
    bError           : BOOL;
    eErrorId         : ETcIotHttpRequestError;
    nStatusCode      : UINT;
    nContentSize     : UDINT;
END_VAR

FB_IotHttpRequest 2: Eingänge

Name

Typ

Beschreibung

sContentType

STRING

Inhaltstyp der Anfrage, z. B. der Initialwert „text/html; charset=UTF-8“.

eCompressionMode

E_IotHttpCompressionMode

Aufzählung der verschiedenen Kompressions-Modi. Weitere Informationen werden im Kapitel Kompression zur Verfügung gestellt. Die Aufzählung befindet sich im Anhang.

FB_IotHttpRequest 3: Ausgänge

Name

Typ

Beschreibung

bBusy

BOOL

Dieser Ausgang bleibt TRUE, bis der Funktionsbaustein den Befehl ausgeführt hat.

bError

BOOL

Wird TRUE, sobald eine Fehlersituation auftritt.

eErrorId

ETcIotHttpRequestError

Aufzählung des Statuscodes auf Transportebene, z. B. ob eine Zertifikatsvalidierung fehlgeschlagen ist. Die Aufzählung befindet sich im Anhang.

nStatusCode

UINT

HTTP-Statuscode, der vom Server in der Antwort gesendet wird.

nContentSize

UDINT

Größe der Inhaltsnutzlast.

FB_IotHttpRequest 4: Methoden

Name

Beschreibung

GetContent

Liest die Antwort vom HTTP-Server.

GetHeaderField

Liest den Wert eines bestimmten Header-Feldes.

GetJsonDomContent

Parst die Serverantwort als JSON-Objekt.

SendJsonDomRequest

Sendet eine Anfrage an den Server als JSON-Objekt.

SendRequest

Sendet einen HTTP-Befehl an den Server.

SendXmlDomRequest

Sendet eine Anfrage an den Server als XML-Objekt.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.7 oder höher

IPC oder CX (x86, x64, ARM)

Tc3_IotBase