Opérateur IEC servant à effectuer une rotation bit à bit d'un opérande vers la gauche.
erg:= ROL (in, n)
Types de données autorisés
oBYTE
oWORD
oDWORD
oLWORD
in est décalé n fois vers la gauche d'une position équivalant à un bit, le bit le plus à gauche étant réinséré à droite.
NOTE : le type de données de la variable d'entrée détermine le nombre de bits à utiliser pour l'opération arithmétique. Avec une constante comme variable d'entrée, c'est le type de données de taille la plus faible qui est considéré. L'opération arithmétique ne dépend en aucune manière du type de données de la variable de sortie.
L'exemple suivant illustre les différents résultats de erg_byte et erg_word en notation hexadécimale. Le résultat dépend du type de données de la variable d'entrée (BYTE ou WORD), bien que les variables d'entrée in_byte et in_word aient les mêmes valeurs.
PROGRAM rol_st
VAR
in_byte : BYTE:=16#45;
in_word : WORD:=16#45;
erg_byte : BYTE;
erg_word : WORD;
n: BYTE :=2;
END_VAR
erg_byte:=ROL(in_byte,n); (* Result is 16#15 *)
erg_word:=ROL(in_word,n); (* Result is 16#0114 *)
LD in_byte
ROL n
ST erg_byte