Ruota dati a destra con flag di carry
Questa istruzione FP ruota i dati specificati da d a destra (verso la posizione bit meno significativa) del numero di bit specificato da n_Bits e includendo i dati del flag di carry se il trigger EN è TRUE.
Ingresso
Numero di bit
Valori: 0–255
Ingresso/uscita
Dati su cui eseguire la rotazione
se l'area specificata utilizzando il registro indice eccede il limite.
se l'area specificata utilizzando il registro indice eccede il limite.
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*)
wRotate_value: WORD:=16#1234;
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_F,FP_ROR_CARRY!,,11,0,20,5,,?DEN?Dn_Bits?Dd?Ad?AENO);
B(B_CONTACT,,bStart,5,1,7,3,);
B(B_VARIN,,4,9,2,11,4,);
B(B_VARIN,,wRotate_value,9,3,11,5,);
L(1,2,5,2);
L(7,2,11,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(start) then
FP_ROR_CARRY(n_Bits := 4, d := wRotate_value);
END_IF;