Nachkommastellen der REAL- oder LREAL-Eingangsvariable abschneiden, in vorzeichenlosen DOUBLE INTEGER umwandeln
TRUNC_TO_UDINT schneidet die Nachkommastellen einer Zahl vom Datentyp REAL, LREAL ab und liefert eine Ausgangsvariable vom Datentyp vorzeichenloser DOUBLE INTEGER.
Durch das Abschneiden der Nachkommastellen wird eine positive Zahl in Richtung 0 verkleinert und eine negative Zahl in Richtung 0 vergrößert.
Zahlen vom Datentyp REAL sind auf ca. 7 Stellen beschränkt. Für größere Zahlen können die Daten daher nicht gespeichert werden.
Eingang
Eingangsdatentyp
Ausgang
Umwandlungsergebnis
wenn die Eingangsvariable nicht vom Datentyp REAL ist
wenn Ausgangsvariable größer als ein 32-Bit DOUBLE INTEGER ist
wenn die Ausgangsvariable Null 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
UDINT_value: UDINT:=0;
REAL_value: REAL:=78497.79;
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_F,TRUNC_TO_UDINT!,Instance,13,2,23,4,,?D?C);
B(B_VARIN,,REAL_value,11,2,13,4,);
B(B_VAROUT,,UDINT_value,23,2,25,4,);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
UDINT_value := TRUNC_TO_UDINT(REAL_value);