TRUNC_TO_UINT

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

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

Parameter

Eingang

Unnamed input (REAL, LREAL)

Eingangsdatentyp

Ausgang

Unnamed output (UINT)

Umwandlungsergebnis

Anmerkungen

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

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)
  • 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
		UINT_value: UINT:=0;
		REAL_value: REAL:=28.5;
	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 := 5 ;
        NETWORK_BODY
B(B_VARIN,,REAL_value,13,2,15,4,);
B(B_VAROUT,,UINT_value,24,2,26,4,);
B(B_F,TRUNC_TO_UINT!,Instance,15,2,24,4,,?D?C);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

UINT_value:=  TRUNC_TO_UINT(REAL_value);

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