FIND-Baustein

Kurz-Information

NameFIND
→POE-Typ→Funktion
KategorieIEC-Baustein, String
Konform zur →IEC-Norm

(error) derzeit eingeschränkt
(IEC fordert Datentyp ANY_STRING für den Eingang IN1 und daher auch diesen Datentyp: WSTRING. Dieser Datentyp wird derzeit für den Baustein nicht unterstützt.
IEC fordert Datentyp ANY_CHARS für den Eingang IN2 und daher auch diese Datentypen: 
WSTRINGCHARWCHAR. Diese Datentypen werden derzeit für den Baustein nicht unterstützt.)

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 0Falls nach einer leeren Zeichenfolge gesucht wird, liefert der Baustein den Wert 1.

(info)  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→DatentypBeschreibung
Eingänge:IN1STRING

1. Eingangswert (= String, in dem gesucht wird)


IN2STRING2. Eingangswert (= String, nach dem gesucht wird)
Ergebniswert:
USINTUINTUDINTULINTSINTINTDINT oder LINT
(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.