IEC-Operator für die bitweise Drehung eines Operanden nach links.
erg:= ROL (in, n)
Erlaubte Datentypen
oBYTE
oWORD
oDWORD
oLWORD
in wird n Mal um 1 Bitstelle nach links gedreht, wobei das linke Bit von rechts wieder eingeschoben wird.
HINWEIS: Beachten Sie, dass die Anzahl der Bits, die für die arithmetische Operation berücksichtigt wird, durch den Datentyp der Eingangsvariablen in vorgegeben wird. Handelt es sich hierbei um eine Konstante, wird der kleinstmögliche Datentyp berücksichtigt. Der Datentyp der Ausgangsvariablen bleibt ohne Auswirkung auf die arithmetische Operation.
Sehen Sie im nachfolgenden Beispiel in hexadezimaler Darstellung, wie sich bei gleichem Wert der Eingangsvariablen die Ergebnisse für erg_byte und erg_word unterscheiden. Das Ergebnis ergibt sich aus dem Datentyp der Eingangsvariablen (BYTE oder WORD), auch wenn die Werte der Eingangsvariablen in_byte und in_word identisch sind.
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