INTEGER in STRING
Die Funktion INT_TO_STRING wandelt einen Wert vom Datentyp INT in einen Wert vom Datentyp STRING um.
Sie erzeugt eine rechtsbündige Ergebniszeichenfolge in Dezimaldarstellung. Diese wird mit führenden Nullen aufgefüllt, bis die maximale Anzahl der Zeichen erreicht ist, die für diese Zeichenfolge definiert ist.
Eingang
Ausgang
Bei der Verwendung des Datentyps STRING mit Kleinsteuerungen wie FP-e oder FP0 müssen Sie darauf achten, dass die Länge der Ergebniszeichenfolge mindestens so groß ist wie die Länge der Ausgangszeichenfolge.
Verwendete Funktion |
String1 definiert als |
Ergebnis |
---|---|---|
String1:=INT_TO_STRING(-12345) |
STRING[1] |
'5' |
STRING[2] |
'45' |
|
STRING[3] |
'345' |
|
STRING[4] |
'2345' |
|
STRING[5] |
'12345' |
|
STRING[6] |
'-12345' |
|
STRING[7] |
![]() |
|
STRING[8] |
![]() |
|
und so weiter ... |
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
INT_value: INT:=-12345;
(*example value*)
result_string: STRING[8]:='';
(*result: here '-12345'*)
@'': @'';
END_VAR
Die Eingangsvariable INT_value vom Datentyp INT wird mit dem Wert -12345 initialisiert. Die Ausgangsvariable result_string ist vom Datentyp STRING[8]. Sie kann maximal 8 Zeichen speichern. Statt der Variable INT_value, können Sie im Rumpf eine Konstante direkt an den Eingang der Funktion schreiben.
INT_value vom Datentyp INT wird in STRING[8] umgewandelt. Der umgewandelte Wert wird in result_string geschrieben. Mit der Variable INT_value = -12345 steht in result_string '-12345'.
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,INT_TO_STRING!,Instance,9,2,18,4,,?D?C);
B(B_VARIN,,INT_value,7,2,9,4,);
B(B_VAROUT,,result_string,18,2,20,4,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
result_string:= INT_TO_STRING(input_value);
Dieses Beispiel zeigt, wie man aus einem Eingangswert vom Datentyp INT einen STRING[2] der Länge 2 mit rechtsbündiger Darstellung erzeugt.
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
INT_value: INT:=12;
(*example value*)
result_string: STRING[2]:='';
(*result: here '12'*)
@'': @'';
@'': @'';
END_VAR
In diesem Beispiel werden eine Eingangsvariable INT_value vom Datentyp INT sowie eine Ausgangsvariable result_string vom Datentyp STRING[2] deklariert.
Zur Realisierung der geforderten Aufgabe wird der Funktion INT_TO_STRING zusätzlich die Standardfunktion RIGHT nachgeschaltet. RIGHT erzeugt eine rechtsbündige Zeichenfolge der Länge L.
Im Beispiel konvertiert die INT_TO_STRING-Funktion aus der Variablen INT_variable = 12 den Zwischenstring '12'. Die RIGHT-Funktion erzeugt danach result_string '12'.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 9 ;
NETWORK_BODY
B(B_F,INT_TO_STRING!,Instance,8,1,17,3,,?D?C);
B(B_VARIN,,input_string,6,1,8,3,);
B(B_F,INSERT!,Instance,4,4,9,9,,?DIN1?DIN2?DP?C);
B(B_VARIN,,'~',2,6,4,8,);
B(B_VARIN,,8,2,7,4,9,);
B(B_F,INSERT!,Instance,12,4,17,9,,?DIN1?DIN2?DP?C);
B(B_F,INSERT!,Instance,19,4,24,9,,?DIN1?DIN2?DP?C);
B(B_VAROUT,,result_string,24,5,26,7,);
B(B_VARIN,,'~',10,6,12,8,);
B(B_VARIN,,5,10,7,12,9,);
B(B_VARIN,,'~',17,6,19,8,);
B(B_VARIN,,2,17,7,19,9,);
L(1,0,1,9);
L(9,6,12,6);
L(17,6,19,6);
L(17,2,19,2);
L(3,4,3,6);
L(3,6,4,6);
L(3,3,19,3);
L(3,3,3,4);
L(19,2,19,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
result_string:=RIGHT(IN:=INT_TO_STRING(input_value), L:=2);