TRUNC_TO_UDINT

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.

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

Parameter

Eingang

Unnamed input (REAL, LREAL)

Eingangsdatentyp

Ausgang

Unnamed output (UDINT)

Umwandlungsergebnis

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)

wenn die Eingangsvariable nicht vom Datentyp REAL ist

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)

wenn Ausgangsvariable größer als ein 32-Bit DOUBLE INTEGER ist

sys_bIsCarry (wird für einen Zyklus auf TRUE gesetzt)

wenn die Ausgangsvariable Null ist

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
		UDINT_value: UDINT:=0;
		REAL_value: REAL:=78497.79;
	END_VAR

KOP-Rumpf

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

ST-Rumpf

UDINT_value := TRUNC_TO_UDINT(REAL_value);

Letzte Änderung am: 2022-11-11Feedback zu dieser SeitePanasonic Hotline