IEC-Betreiber⮫ „Übersicht“: Bitweise Drehung eines Operanden nach rechts: erg:= ROL (in, n)
erg, in und n sollten vom Typ BYTE, WORD oder DWORD sein. in wird n-mal um eine Bitposition nach rechts verschoben, während das am weitesten rechts liegende Bit von links wieder eingefügt wird.
Die Anzahl der Bits, die für die arithmetische Operation verwendet werden, wird durch den Datentyp der Eingangsvariablen bestimmt! Wenn die Eingangsvariable eine Konstante ist, wird der kleinstmögliche Datentyp verwendet. Der Datentyp der Ausgangsvariablen hat keinerlei Einfluss auf die Rechenoperation.
Im folgenden Beispiel in hexadezimaler Schreibweise erhalten Sie je nach Datentyp der Eingangsvariablen (BYTE oder WORD) unterschiedliche Ergebnisse für erg_byte und erg_word, obwohl die Werte der Eingangsvariablen in_byte und in_word gleich sind.
In ST z. B. mit
PROGRAM ror_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:=ROR(in_byte,n); (* Result is 16#51 *) erg_word:=ROR(in_word,n); (* Result is 16#4011 *)
Beispiel in FBD:
