Substring

TwinCAT TIA
Werkzeuge String Funktionen

ns=2;s=DEPRAG Smart/Utilities/StringOperations/Substring

Gibt den Teil des angegebenen Textes ab einer übergebenen Indexposition zurück.

Parameter:

    StartIndex
    Der nullbasierte Index für die Anfangsposition.

Rückgabewert:

    Substring
    Eine Struktur-Variable vom Typ OpcMethodReturnValueString. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Der Teiltext vom Parameter ContainString ab der Indexposition StartIndex bis zum Ende des Textes.

Beispiele:

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

Beckhoff Parameter:

    bStringSubstring
    Eine boolesche Variable, über welche die Ausführung des Substring-Befehls getriggert werden kann.
    OutputDataStringSubstring
    Eine Instanz der "ST_StringOutputData" Struktur in welche der Rückgabewert der Substring-Methode geschrieben wird.
    hrStringSubstring
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ "HRESULT".
    fbStringOperations
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_StringOperations" Funktionsbausteins.
    ContainString
    Der Text.
    ContainStringLength
    Die Länge der Zeichenkette aus der die Teilzeichenkette extrahiert werden soll.
    StartIndex
    Der nullbasierte Index für die Anfangsposition.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
    bStringSubstring   : BOOL;
    OutputDataStringSubstring : ST_StringOutputData;
    hrStringSubstring   : HRESULT;

    fbStringOperations : FB_StringOperations;
END_VAR

hrStringSubstring := fbStringOperations.StringSubstring(
      bExecute     := bStringSubstring, 
      ConnectionHandle  := depragSmartConnection.ConnectionHandle,
      ContainString   := 'Ich bin ein String',
      ContainStringLength  := SIZEOF('Ich bin ein String'),
      StartIndex    := 5, 
      OutputData    => OutputDataStringSubstring);
IF hrStringSubstring <> S_FALSE THEN 
      bStringSubstring := 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.