Länge einer Zeichenfolge
LEN berechnet die Länge der als Eingangsvariable angegebenen Zeichenfolge und schreibt die Anzahl Zeichen in die Ausgangsvariable.
Eingang
Eingangsdatentyp
Ausgang
Länge der Zeichenfolge
Wenn Sie diesen Befehl mit UTF-8-Zeichenfolgen verwenden, beachten Sie die Hinweise zu UTF-8-Zeichenfolgen unter dem Datentyp STRING.
Wenn die Zeichenfolgen länger sind als die, die für die Länge der Eingangsvariablen (IN1 und IN2) im Feld “Typ” definiert sind, tritt ein Fehler auf (siehe sys_bIsCarry zur Fehlerauswertung).
wenn eine am Eingang oder Ausgang angegebene Zeichenfolge eine ungültige Zeichenfolge ist
wenn eine am Eingang oder Ausgang angegebene Zeichenfolge eine ungültige Zeichenfolge ist
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
VAR
input_string: STRING[12]:='Panasonic';
(*sample string*)
output_value: INT:=0;
(*result: here 9*)
END_VAR
In diesem Beispiel wurde die Eingangsvariable input_string) deklariert. Stattdessen können Sie die Zeichenfolge ('Panasonic') auch direkt an den Eingang der Funktion schreiben. Die Zeichenfolge muss im POE-Kopf und an den Funktionseingängen in Apostrophen stehen.
Die Länge (9) der Zeichenfolge input_string ('Panasonic’) wird in output_value geschrieben.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 2 ;
NETWORK_BODY
B(B_F,LEN!,Instance,9,0,14,2,,?DIN?C);
B(B_VARIN,,input_string,7,0,9,2,);
B(B_VAROUT,,output_value,14,0,16,2,);
L(1,0,1,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
output_value:=LEN(input_value);
LD |
input_value |
LEN |
|
ST |
output_value |