Arrotonda per difetto fino all'intero più vicino
Questa istruzione FP arrotonda per difetto fino all'intero più vicino.
Ingresso
Valore di ingresso
Uscita
Risultato
se l'area specificata utilizzando il registro indice eccede il limite.
se s non è un numero REAL
se l'area specificata utilizzando il registro indice eccede il limite.
se s non è un numero REAL
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
bStart: BOOL:=FALSE;
(*activates the function*)
rInput_value: REAL:=32.71;
rOutput_value: REAL:=0.0;
(*result after a 0->1 leading
edge from start: 32*)
END_VAR
Quando la variabile bStart è impostata su TRUE, la funzione viene eseguita.
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_CONTACT,,bStart,4,1,6,3,);
B(B_VARIN,,rInput_value,10,2,12,4,);
B(B_VAROUT,,rOutput_value,22,2,24,4,);
B(B_F,FP_ROUND_DOWN!,,12,0,22,4,,?DEN?D@'s'?AENO?Cd);
L(1,2,4,2);
L(6,2,12,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF bStart THEN
FP_ROUND_DOWN(s := rInput_value, d => rOutput_value);
END_IF;