ROL

IEC 操作:按位循环左移。

erg:= ROL (in, n)

允许的数据类型:BYTE, WORD, DWORD, LWORD。

in将要移动的位n从右边开始将要被插入的位的次数。

提示!

请注意,位的数量,同样在算术运算中要注意的,取决于输入变量的数据类型!如果输入数据是一个常量那么需要注意最小可能的数据类型。输出数据的类型对所用的算术运算没有影响。

参阅下文十六位操作示例,将会发现对于 erg_byte 和 erg_word 操作将产生不同的结果,这基于输入数据的类型 (BYTE 或者 WORD),尽管输入变量 in_byte 和 in_word 具有相同的值。

 

ST 示例:

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); (* Ergebnis ist 16#15 *)

erg_word:=ROL(in_word,n); (* Ergebnis ist 16#0114 *)

 

FBD 示例:

 

IL 示例: