TRUNC_TO_DINT

Nachkommastellen der REAL- oder LREAL-Eingangsvariable abschneiden, in DOUBLE INTEGER umwandeln

TRUNC_TO_DINT schneidet die Nachkommastellen einer Zahl vom Datentyp REAL, LREAL ab und liefert eine Ausgangsvariable vom Datentyp 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 (DINT)

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
		REAL_value: TRUNC;
		DINT_value: DINT:=0;
	END_VAR

In diesem Beispiel werden Variablen verwendet. Für die Eingangsvariable kann auch eine Konstante verwendet werden.

POE-Rumpf

Von REAL_value werden die Nachkommastellen abgeschnitten. Das Ergebnis wird als 32-Bit DOUBLE INTEGER in DINT_value geschrieben.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 2 ;
        NETWORK_BODY
B(B_F,TRUNC_TO_DINT!,Instance,10,0,19,2,,?D?C);
B(B_VARIN,,REAL_value,8,0,10,2,);
B(B_VAROUT,,DINT_value,19,0,21,2,);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

DINT_value:=TRUNC_TO_DINT(REAL_value);

AWL-Rumpf

LD

REAL_value

TRUNC_TO_DINT

ST

DINT_value

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