TRUNC_TO_INT

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

TRUNC_TO_INT schneidet die Nachkommastellen einer Zahl vom Datentyp REAL, LREAL ab und liefert eine Ausgangsvariable vom Datentyp INTEGER.

Parameter

Eingang

Unnamed input (REAL, LREAL)

Eingangsdatentyp

Ausgang

Unnamed output (INT)

Umwandlungsergebnis

Anmerkungen

  • Sofern der gewünschte Datentyp unterstützt wird, verwenden Sie den überladenen Befehl TO_INT

  • Durch das Abschneiden der Nachkommastellen wird eine positive Zahl in Richtung 0 verkleinert und eine negative Zahl in Richtung 0 vergrößert.

  • Die ersten 16 Bit der Eingangsvariable werden der Ausgangsvariable zugewiesen.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • wenn die Eingangsvariable nicht vom Datentyp REAL ist

  • Ausgangsvariable größer als ein 16-Bit INTEGER ist

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn die Eingangsvariable nicht vom Datentyp REAL ist

  • Ausgangsvariable größer als ein 16-Bit 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;
		INT_value: INT:=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. result wird als 16-Bit INTEGER in INT_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_INT!,Instance,10,0,19,2,,?D?C);
B(B_VARIN,,REAL_value,8,0,10,2,);
B(B_VAROUT,,INT_value,19,0,21,2,);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

INT_value:=TRUNC_TO_INT(REAL_value);

AWL-Rumpf

LD

REAL_value

TRUNC_TO_INT

ST

INT_value

Letzte Änderung: 2023-08-16Feedback zu dieser SeitePanasonic Hotline