STRING (Dezimal-Format) in vorzeichenlosen DOUBLE INTEGER
STRING_TO_UDINT wandelt eine Zeichenfolge im Dezimalformat in einen Wert vom Datentyp vorzeichenloser DOUBLE INTEGER um.
Zunächst wird die Zeichenfolge in einen Wert vom Datentyp STRING[32] umgewandelt. Das Ergebnis wird anschließend (von einem Unterprogramm mit ca. 270 Schritten) in einen Wert vom Datentyp UDINT umgewandelt . Dieses Unterprogramm wird auch von den Funktionen STRING_TO_INT, STRING_TO_WORD, STRING_TO_UDINT und STRING_TO_DWORD verwendet.
Zulässiges Format: ´[Leerzeichen][Vorzeichen][Dezimalzahl][Leerzeichen]´ z.B. ' 123456 '
Zulässige Zeichen:
Leerzeichen
Leerzeichen ""
Vorzeichen
"+“ (plus), "-" (minus)
Dezimalzahlen
Dezimalzahlen von "0 - 9“
Die Analyse endet mit der ersten Nicht-Dezimalzahl.
Eingang
Eingangsdatentyp
Ausgang
Umwandlungsergebnis
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
UDINT_value: UDINT:=0;
STRING_value: STRING[10]:='3147483647';
END_VAR
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,STRING_TO_UDINT!,Instance,15,1,25,3,,?D?C);
B(B_VARIN,,STRING_value,13,1,15,3,);
B(B_VAROUT,,UDINT_value,25,1,27,3,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
UDINT_value := STRING_TO_UDINT(STRING_value);