Contains

TwinCAT TIA
Werkzeuge String Funktionen

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

Überprüft, ob ein Text in einem anderen Text vorkommt und gibt das Ergebnis zurück.

Parameter:

    Value
    Der Text nach dem in ContainString gesucht werden soll.
    IgnoreCase
    Eine boolesche Variable, die angibt ob die Groß-/Kleinschreibung bei der Suche ignoriert werden soll oder nicht.

Rückgabewert:

    Contains
    Eine Struktur-Variable vom Typ OpcMethodReturnValueBoolean. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Eine boolesche Variable, die angibt, ob der Text nach der gesucht wird, in ContainString enthalten ist.

Beispiele:

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

Beckhoff Parameter:

    bStringContains
    Eine boolesche Variable, über welche die Ausführung des Contains-Befehls getriggert werden kann.
    OutputDataStringContains
    Eine Instanz der "ST_BoolOutputData" Struktur in welche der Rückgabewert der Contains-Methode geschrieben wird.
    hrStringContains
    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 in dem nach dem Wert Value gesucht wird.
    ContainStringLength
    Die Länge der Zeichenkette in der gesucht werden soll.
    Value
    Der Text nach dem in ContainString gesucht werden soll.
    ValueLength
    Die Länge der Zeichenkette nach der gesucht werden soll.
    IgnoreCase
    Eine boolesche Variable, die angibt ob die Groß-/Kleinschreibung bei der Suche ignoriert werden soll oder nicht.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
    bStringContains    : BOOL;
    OutputDataStringContains : ST_BoolOutputData;
    hrStringContains   : HRESULT;

    fbStringOperations : FB_StringOperations;
END_VAR

hrStringContains := fbStringOperations.StringContains(
      bExecute     := bStringContains, 
      ConnectionHandle  := depragSmartConnection.ConnectionHandle,
      ContainString   := 'Ich bin ein String',
      ContainStringLength  := SIZEOF('Ich bin ein String'),
      Value     := 'String',
      ValueLength    := SIZEOF('String'),
      IgnoreCase    := TRUE, 
      OutputData    => OutputDataStringContains);
IF hrStringContains <> S_FALSE THEN 
      bStringContains := 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.