ROL

Der IEC-Operator dient der bitweisen Rotation eines Operanden nach links.

Erlaubte Datentypen: BYTE, WORD, DWORD, LWORD

Syntax: erg := ROL (in, n)

TwinCAT verschiebt in n-mal um 1 Bit nach links und fügt gleichzeitig das Bit mit der äußersten linken Position von rechts wieder ein.

ROL 1:

Die Anzahl der Bits, die TwinCAT für die Rechenoperation berücksichtigt, geben Sie durch den Datentyp der Eingangsvariable in vor. Wenn es sich hierbei um eine Konstante handelt, berücksichtigt TwinCAT den kleinstmöglichen Datentyp. Der Datentyp der Ausgangsvariablen bleibt ohne Auswirkung auf die Rechenoperation.

Beispiele:

Die Ergebnisse für nResByte und nResWord sind unterschiedlich, abhängig vom Datentyp der Eingangsvariablen, obwohl die Werte der Eingangsvariablen nInByte und nInWord gleich sind.

ST:

PROGRAM Rol_st 
VAR 
    nInByte  : BYTE := 16#45; 
    nInWord  : WORD := 16#45;
    nResByte : BYTE; 
    nResWord : WORD; 
    nVar : BYTE := 2; 
END_VAR 

nResByte := ROL(nInByte,nVar); (*Result: 16#15*)
nResWord := ROL(nInWord,nVar); (*Result: 16#0114*)

FUP:

ROL 2: