ROL(循环左移)
循环左移指令是对操作数进行按位循环左移,左边移出的最高位直接送到右边最低位。
该指令对应的输入和输出数据类型支持 BYTE、WORD、DWORD、USINT、SINT、UINT、INT、UDINT、DINT、LINT、ULINT、LWORD。
参数
输入参数 | 功能描述 | 参数值说明 |
---|---|---|
IN | 被操作变量 | |
N | 移位位数 |
输出参数 | 功能描述 | 参数值说明 |
---|---|---|
/ | 结果 |
使用举例
通过下面的组态,当IN=321(0000000101000001), N=2 ,ROL会输出1284 (0000010100000100)。
内容 | 图例 |
---|---|
变量定义 | |
组态语言(CFC) | |
组态语言(IL) | |
组态语言(LD) | |
组态语言(ST) |
ROR(循环右移)
循环右移指令是对操作数进行按位循环右移,右边移出的最低位直接送到到左边最高位。
该指令对应的输入和输出数据类型支持 BYTE、WORD、DWORD、USINT、SINT、UINT、INT、UDINT、DINT、LINT、ULINT、LWORD。
参数
输入参数 | 功能描述 | 参数值说明 |
---|---|---|
IN | 被操作变量 | |
N | 移位位数 |
输出参数 | 功能描述 | 参数值说明 |
---|---|---|
/ | 结果 |
使用举例
通过下面的组态,当IN=321(0000000101000001), N=2 ,ROR会输出16464 (0100000001010000)。
内容 | 图例 |
---|---|
变量定义 | |
组态语言(CFC) | |
组态语言(IL) | |
组态语言(LD) | |
组态语言(ST) |
SHL(左移)
左移指令是对操作数进行按位左移,右边空缺位自动补 0,不用处理左边移出的位。
该指令对应的输入和输出数据类型支持 BYTE、WORD、DWORD、USINT、SINT、UINT、INT、UDINT、DINT、LINT、ULINT、LWORD。
参数
输入参数 | 功能描述 | 参数值说明 |
---|---|---|
IN | 被操作变量 | |
N | 移位位数 |
输出参数 | 功能描述 | 参数值说明 |
---|---|---|
/ | 结果 |
使用举例
通过下面的组态,当IN=321(0000000101000001), N=2 ,SHL会输出1284 (0000010100000100)。
内容 | 图例 |
---|---|
变量定义 | |
组态语言(CFC) | |
组态语言(IL) | |
组态语言(LD) | |
组态语言(ST) |
SHR(右移)
右移指令是对操作数进行按位右移,左边空缺位自动补 0或1(符号位),不用处理右边移出的位。
该指令对应的输入和输出数据类型支持 BYTE、WORD、DWORD、USINT、SINT、UINT、INT、UDINT、DINT、LINT、ULINT、LWORD。
参数
输入参数 | 功能描述 | 参数值说明 |
---|---|---|
IN | 被操作变量 | |
N | 移位位数 |
输出参数 | 功能描述 | 参数值说明 |
---|---|---|
/ | 结果 |
使用举例
通过下面的组态,当IN=321(0000000101000001), N=2 ,SHL会输出80 (0000000001010000)。
内容 | 图例 |
---|---|
变量定义 | |
组态语言(CFC) | |
组态语言(IL) | |
组态语言(LD) | |
组态语言(ST) |