ROR
Der IEC-Operator dient der bitweisen Rotation eines Operanden nach rechts.
Erlaubte Datentypen: BYTE, WORD, DWORD, LWORD
Syntax: erg := ROR (in, n)
TwinCAT verschiebt in n-mal um 1 Bit nach rechts und fügt gleichzeitig das Bit mit der äußersten rechten Position von links wieder ein.
Die Anzahl der Bits, die TwinCAT für die Rechenoperation berücksichtigt, wird durch den Datentyp der Eingangsvariablen in vorgegeben. Handelt es sich hierbei um eine Konstante, 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 Ror_st
VAR
nInByte : BYTE:=16#45;
nInWord : WORD:=16#45;
nResByte : BYTE;
nResWord : WORD;
nVar : BYTE :=2;
END_VAR
nResByte := ROR(nInByte,nVar); (*Result: 16#51*)
nResWord := ROR(nInWord,nVar); (*Result: 16#4011*)
FUP: