Compare

TwinCAT TIA
Werkzeuge String Funktionen

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

Vergleicht zwei angegebene Zeichenketten und gibt eine Ganzzahl zurück, die ihre relative lexikographische Ordnung angibt.

Parameter:

    StrA
    Die erste Zeichenkette, die für den Vergleich verwendet wird.
    StrB
    Die zweite Zeichenkette, die für den Vergleich verwendet wird.
    IgnoreCase
    Eine boolesche Variable, die angibt ob die Groß-/Kleinschreibung beim Vergleich ignoriert werden soll oder nicht.

Rückgabewert:

    Compare
    Eine Struktur-Variable vom Typ OpcMethodReturnValueInt32. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Eine Int32-Variable, die die relative lexikographische Ordnung zwischen den verglichenen Elementen angibt.

Beispiele:

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

Beckhoff Parameter:

    bStringCompare
    Eine boolesche Variable, über welche die Ausführung des Compare-Befehls getriggert werden kann.
    OutputDataStringCompare
    Eine Instanz der "ST_Int32OutputData" Struktur in welche der Rückgabewert der Compare-Methode geschrieben wird.
    hrStringCompare
    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.
    StringOneToCompare
    Die erste Zeichenkette, die für den Vergleich verwendet wird. Der Parameter ist vom Typ "STRING(80)"
    StringOneToCompareLength
    Die Länge der ersten Zeichenkette, die für den Vergleich verwendet wird.
    StringTwoToCompare
    Die zweite Zeichenkette, die für den Vergleich verwendet wird. Der Parameter ist vom Typ "STRING(80)"
    StringTwoToCompareLength
    Die Länge der zweiten Zeichenkette, die für den Vergleich verwendet wird.
    IgnoreCase
    Eine boolesche Variable, die angibt ob die Groß-/Kleinschreibung beim Vergleich ignoriert werden soll oder nicht.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
    bStringCompare   : BOOL;
    OutputDataStringCompare : ST_Int32OutputData;
    hrStringCompare   : HRESULT;

    fbStringOperations : FB_StringOperations;
END_VAR

hrStringCompare := fbStringOperations.StringCompare(
      bExecute      := bStringCompare, 
      ConnectionHandle   := depragSmartConnection.ConnectionHandle,
      StringOneToCompare   := 'Test',
      StringOneToCompareLength := SIZEOF('Test'),
      StringTwoToCompare   := 'test',
      StringTwoToCompareLength := SIZEOF('test'),
      IgnoreCase      := FALSE, 
      OutputData     => OutputDataStringCompare);
IF hrStringCompare <> S_FALSE THEN 
      bStringCompare := 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.