Einfügen einer Zeichenfolge
INSERT fügt die Zeichenfolge am Eingang IN2 in die Zeichenfolge am Eingang IN1 nach der Position P ein, wobei P=0 den Anfang der Zeichenfolge kennzeichnet, P=1 die Position nach dem ersten Zeichen usw. Das Ergebnis wird in die Ausgangsvariable geschrieben.
Eingang
Eingangszeichenfolge
Zeichenfolge, die in die Eingangszeichenfolge eingefügt wird
Position, nach welcher die Zeichenfolge IN2 in die Eingangszeichenfolge IN1 eingefügt wird. P=0 kennzeichnet den Start der Zeichenfolge, P=1 die Position nach dem ersten Zeichen usw.
Ausgang
Ergebniszeichenfolge
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_string1: STRING[32]:='ideas life';
input_string2: STRING[32]:='for';
position: INT:=6;
output_string: STRING[32]:='';
END_VAR
In diesem Beispiel wurden die Eingangsvariablen input_string1, input_string2 und position deklariert. Stattdessen können Sie die Werte direkt an die Eingänge der Funktion schreiben. Die Zeichenfolgen müssen im POE-Kopf und an den Funktionseingängen in Apostrophen stehen. Die zweite Eingangszeichenfolge input_string2 ('for ') wird in die erste Eingangszeichenfolge input_string1 ('Ideas life') an Position 6 eingefügt. Das Ergebnis ('Ideas for life') wird in die Ausgangsvariable output_value geschrieben. Im KOP-Beispiel wurde das Fernglassymbol im Online-Modus aktiviert, deshalb können Sie das Ergebnis sofort sehen.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,INSERT!,Instance,9,0,14,5,,?DIN1?DIN2?DP?C);
B(B_VARIN,,input_string1,7,1,9,3,);
B(B_VARIN,,input_string2,7,2,9,4,);
B(B_VARIN,,position,7,3,9,5,);
B(B_VAROUT,,output_string,14,1,16,3,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
output_value:=INSERT(IN1:=input_string1, IN2:=input_string2, P:=6);