Vorzeichenloser DOUBLE INTEGER in STRING
Die Funktion UDINT_TO_STRING wandelt einen Wert vom Datentyp UDINT 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:= UDINT_TO_STRING(-12345678) |
STRING[2] |
'78' |
STRING[4] |
'5678' |
|
STRING[6] |
'345678' |
|
STRING[8] |
'12345678' |
|
STRING[10] |
![]() |
|
STRING[12] |
'
![]() ![]() |
|
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
input_string: UDINT:=12345678;
(*example value*)
result_string: STRING[11]:='';
(*result: here '12345678'*)
END_VAR
Die Eingangsvariable input_value vom Datentyp UDINT wird mit dem Wert 12345678 initialisiert. Die Ausgangsvariable result_string ist vom Datentyp STRING[11]. Sie kann maximal 11 Zeichen speichern. Statt der Variable input_value, können Sie im Rumpf eine Konstante direkt an den Eingang der Funktion schreiben.
input_value vom Datentyp DINT wird in STRING[11] umgewandelt. Der umgewandelte Wert wird in result_string geschrieben. Mit der Variable input_value = 12345678 steht in result_string '12345678'.
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,UDINT_TO_STRING!,,14,1,24,3,,?D?C);
B(B_VARIN,,input_string,12,1,14,3,);
B(B_VAROUT,,result_string,24,1,26,3,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
result_string:=UDINT_TO_STRING(input_value);