GetString

TwinCAT TIA
Werkzeuge ByteArray Funktionen

ns=2;s=DEPRAG Smart/Utilities/ByteArrayOperations/GetString

Konvertiert ein Byte-Array unter Verwendung der angegebenen Zeichenkodierung in die entsprechende Zeichenfolgendarstellung.

Parameter:

    Encoding
    Eine Enumeration, welche die zu verwendende Zeichenkodierung angibt.

Rückgabewert:

    GetString
    Eine Struktur-Variable vom Typ OpcMethodReturnValueString, hier ist die übliche Antwortstruktur enthalten. Das Result enthält die konvertierte Zeichenkette.
      Result
      Die Zeichenkette, welche die konvertierten Zeichen enthält.

Beispiele:

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

Beckhoff Parameter:

    bGetString
    Eine boolesche Variable, über welche die Ausführung des GetString-Befehls getriggert werden kann.
    OutputDataGetString
    Eine Instanz der ST_StringOutputData Struktur in welche der Rückgabewert der GetString-Methode geschrieben wird.
    hrGetString
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ HRESULT.
    fbByteArrayOperations
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, FB_ByteArrayOperations Funktionsbausteins.
    nNumberOfBytesToConvert
    Eine UINT-Variable, welche die Größe des Byte-Arrays angibt.
    Encoding
    Eine Enumeration, welche die zu verwendende Zeichenkodierung angibt.
    ByteArrayToConvert
    Das zu konvertierende Byte-Array.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
      bGetString    : BOOL;
      OutputDataGetString  : ST_StringOutputData;
      hrGetString    : HRESULT;

      fbByteArrayOperations : FB_ByteArrayOperations;
END_VAR

VAR_IN_OUT
      ByteArrayToConvert   : ARRAY[*] OF BYTE;
END_VAR

hrGetString := fbByteArrayOperations.GetString(
      bExecute      := bGetString,
      ConnectionHandle   := depragSmartConnection.ConnectionHandle,
      ByteArrayToConvert   := testArray,
      nNumberOfBytesToConvert  := 10,
      Encoding     := Encoding.Utf8,
      OutputData     => OutputDataGetString);
IF hrGetString <> S_FALSE THEN
      bGetString := 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.