AddClient

TwinCAT
Netzwerk REST Client

ns=2;s=DEPRAG Smart/Network/HTTP/REST/AddClient

Erstellt einen neuen, vollständig parametrierten REST Client. Der REST Client kann über den zurückgegebenen Index aus der Liste "ActiveClients" abgerufen werden.

Parameter:

    ConnectionTimeoutInMilliseconds
    Maximale Zeit in Millisekunden für den Verbindungsaufbau zur REST-API. Kann innerhalb des Zeitintervalls keine Verbindung aufgebaut werden, wird ein Fehler ausgegeben.
    TlsVersion
    TLS Version, die für die Verschlüsselung genutzt wird:
    SSL2, SSL3, TLS, Default, TLS11, TLS12, TLS13
    UserName
    Benutzername, mit dem sich bei dem angegebenen REST Server authentifiziert wird.
    Password
    Passwort, mit dem sich bei dem angegebenen REST Server authentifiziert wird.
    ApiToken
    API Token, mit dem sich bei dem angegebenen REST Server authentifiziert wird.
    AcceptSelfSignedCertificates
    Legt fest ob unsignierte Zertifikate akzeptiert werden. Wird dieser Wert auf ja gesetzt, kann sich die Anwendung zu REST Servern mit selbstsignierten Zertifikaten verbinden.
    Compression
    Legt den Kompressionsalgorithmus fest:
    All
    None
    Gzip
    Deflate
    Brotli

Rückgabewert:

    AddClient
    Eine Variable vom Typ OpcMethodReturnValueInt32. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Eindeutiger Index, mit dem der REST Client aus der Liste "ActiveClients" abgerufen werden kann.

Beispiele:

Neben den bereits erläuterten Parametern sind für die Implementierung in TwinCAT 3 nachfolgende Variablen anzulegen / zu übergeben:

Beckhoff Parameter:

    bHttpAddClient
    Eine boolesche Variable, über welche die Ausführung des AddClient-Befehls getriggert werden kann.
    OutputDataHttpAddClient
    Eine Instanz der ST_Int32OutputData Struktur, in welche der Rückgabewert der AddClient-Methode geschrieben wird.
    hrHttpAddClient
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ HRESULT.
    fbHttpRest
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_HttpRest" Funktionsbausteins.
    HostAddress
    Eine String(255)-Variable, welche die Adresse der REST-API darstellt.
    HostPort
    Eine DINT-Variable, welche den Port der REST-API spezifiziert.
    ConnectionTimeOutInMilliseconds
    Eine DINT-Variable, welche die maximale Zeit in Millisekunden für den Verbindungsaufbau zur REST-API darstellt. Kann innerhalb des Zeitintervalls keine Verbindung aufgebaut werden, wird ein Fehler ausgegeben.
    TlsVersion
    Ein Enum vom Typ "SslProtocols", welches die TLS Version, die für die Verschlüsselung genutzt wird spezifiziert: SSL2, SSL3, TLS, Default, TLS11, TLS12, TLS13
    UserName
    Eine String(255)-Variable, welche den Benutzernamen darstellt, mit dem sich bei dem angegebenen REST Server authentifiziert wird.
    Password
    Eine String(255)-Variable, welche das Passwort darstellt, mit dem sich bei dem angegebenen REST Server authentifiziert wird.
    ApiToken
    Eine String(255)-Variable, welche das API Token darstellt, mit dem sich bei dem angegebenen REST Server authentifiziert wird.
    AcceptSelfSingedCertificates
    Eine boolesche Variable, über welche festgelegt wird ob unsignierte Zertifikate akzeptiert werden. Wird dieser Wert auf ja gesetzt, kann sich die Anwendung zu REST Servern mit selbstsignierten Zertifikaten verbinden.
    Compression
    Ein Enum vom Typ "DecompressionMethods", welches den Kompressionsalgorithmus festlegt: All, None, Gzip, Deflate, Brotli
    ContentType
    Eine String(255)-Variable, welche den Content-Typ im HTTP Header hinzufügt.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
    bHttpAddClient : BOOL;
    OutputDataHttpAddClient : ST_Int32OutputData;
    hrHttpAddClient   : HRESULT;

    fbHttpRest   : FB_HttpRest;
END_VAR

hrHttpAddClient := fbHttpRest.AddClient( 
        bExecute      := bHttpAddClient, 
        ConnectionHandle    := depragSmartConnection.ConnectionHandle,
        HostAddress      := 'https://OpcUa.deprag.com/',  
        HostPort      := 443,
        ConnectionTimeOutInMilliseconds := 5000,
        TlsVersion      := SslProtocols.Tls12,
        UserName      := 'User1',
        Password      := 'Password1',
        ApiToken      := 'ApiToken1',
        AcceptSelfSingedCertificates := TRUE,
        Compression      := DecompressionMethods.All,
        ContentType      := '', 
        OutputData      => OutputDataHttpAddClient);
IF hrHttpAddClient <> S_FALSE THEN 
    bHttpAddClient := FALSE;
END_IF
                                                    

Für Beispiele und Erklärungen bezüglich der Aufrufe von Knoten via Siemens TIA Portal sei an dieser Stelle auf den Unterpunkt "Siemens TIA Portal" in Abschnitt "Erste Schritte" verwiesen.