FIND-Baustein
Kurz-Information
Name | FIND |
---|---|
→POE-Typ | →Funktion |
Kategorie | IEC-Baustein, String |
Konform zur →IEC-Norm |
|
Grafische Schnittstelle |
|
Verfügbar ab | Version 1.30.0 (für logi.CAD 3 ) |
Funktionalität
Der Baustein bestimmt die erste Position, an der ein String innerhalb eines anderen Strings beginnt. Dabei wird die Groß- und Kleinschreibung beachtet.
Am Eingang IN1
geben Sie eine Zeichenkette ein (= 1. String), welche durchsucht werden soll, und am Eingang IN2
den Such-String (= 2. String). Falls der Such-String nicht im 1. String enthalten ist, liefert der Baustein den Wert 0
. Falls nach einer leeren Zeichenfolge gesucht wird, liefert der Baustein den Wert 1
.
logi.CAD 3
bestimmt die Positionen von Zeichen in einem String so:
1
, 2
, ..., n. Dabei entspricht 1
dem Zeichen ganz links im String und n
der Länge des Strings.
Kombinationen von 3 Zeichen, beginnend mit dem Dollar-Zeichen ($
) und gefolgt von 2 Hexadezimal-Ziffern, gelten als ein einziges Zeichen. Beispiel: Der String '$B15
' (entspricht '±5
') besteht somit aus 2 Zeichen. Weitere Beispiele für diese Kombinationen finden Sie unter →Zeichenfolge-Literal.
Eingänge, Ergebniswert
Bezeichner | →Datentyp | Beschreibung | |
---|---|---|---|
Eingänge: | IN1 | STRING | 1. Eingangswert (= String, in dem gesucht wird) |
IN2 | STRING | 2. Eingangswert (= String, nach dem gesucht wird) | |
Ergebniswert: | – | , , , , , , oder
(entspricht dem →allgemeinen Datentyp ANY_INT )
|
Der Eingang EN
und der Ausgang ENO
sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN
und zum Ausgang ENO
.
Beispiel für Verwendung im ST-Editor
PROGRAM Test VAR result1, result2, result3, result4, result5, result6, result7 : INT; str6 : STRING[1]; END_VAR result1 := FIND(IN1 := 'ASTRING_NEWSTRING', IN2 := 'STRING'); (* The variable 'result1' evaluates to '2'. *) result2 := FIND(IN1 := 'ASTRING_NEWSTRING', IN2 := 'String'); (* The variable 'result2' evaluates to '0'. Reason: The strings differ regarding their case sensitivity. *) result3 := FIND(IN1 := 'ASTRING_NEWSTRING', IN2 := 'NEW'); (* The variable 'result3' evaluates to '9'. *) result4 := FIND(IN1 := 'ASTRING_NEWSTRING', IN2 := 'X'); (* The variable 'result4' evaluates to '0'. *) result5 := FIND(IN1 := '$B15', IN2 := '5'); (* The variable 'result5' evaluates to '2'. *) result6 := FIND(IN1 := 'ASTRING', IN2 := str6); (* The variable 'result6' evaluates to '1'. Reason: An empty string is searched for. *) result7 := FIND(IN1 := 'ASTRING', IN2 := '$00'); (* The variable 'result7' evaluates to '1'. Reason: An empty string is searched for because '$00' is an empty string. *) END_PROGRAM
Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.