TRUNC_TO_UINT

Tronca (elimina) le cifre decimali della variabile di ingresso REAL o LREAL, converti in INTEGER senza segno

TRUNC_TO_UINT elimina le cifre che seguono il punto decimale di un numero REAL, LREAL e produce una variabile di uscita del tipo di dato INTEGER senza segno.

Parametri

Ingresso

Unnamed input (REAL, LREAL)

tipo di dato di ingresso

Uscita

Unnamed output (UINT)

Risultato della conversione

Note

Se le cifre decimali vengono eliminate, i numeri positivi verranno ridotti verso lo zero e i numeri negativi verranno incrementati verso lo zero.

Flag di errore

sys_bIsOperationErrorHold (passa a TRUE e resta TRUE)
  • se la variabile di ingresso non presenta il tipo di dato REAL

sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)
  • se la variabile di uscita è maggiore di un valore INTEGER a 16 bit

sys_bIsCarry (passa a TRUE per una scansione)
  • se la variabile di uscita è zero

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

	VAR
		UINT_value: UINT:=0;
		REAL_value: REAL:=28.5;
	END_VAR

Corpo LD

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

Corpo ST

UINT_value:=  TRUNC_TO_UINT(REAL_value);

L'ultima revisione: 2022-11-14Feedback su questa paginaPanasonic hotline