INT_TO_STRING

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.

Parameter

Eingang

Unnamed input (INT)
Eingangsdatentyp

Ausgang

Unnamed output (STRING)
Umwandlungsergebnis

Anmerkungen

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.

Beispiel

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 ...

Beispiel:

POE-Kopf

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.

POE-Rumpf

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'.

KOP-Rumpf

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

ST-Rumpf

result_string:= INT_TO_STRING(input_value);

AWL-Rumpf

Beispiel:

POE-Kopf

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.

POE-Rumpf

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'.

KOP-Rumpf

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

ST-Rumpf

result_string:=RIGHT(IN:=INT_TO_STRING(input_value), L:=2);

AWL-Rumpf

Verwandte Themen

Letzte Änderung: 2023-12-15Feedback zu dieser SeitePanasonic Hotline