移位指令 西门子plc移位指令

西门子plc
西门子plc
西门子plc
1976
文章
127
评论
2018年10月21日17:57:44 评论 6,341 阅读

移位指令

移位指令梯形图(LAD)

1 移位指令概述

描述
可使用移位指令向左或向右逐位移动输入 IN 的内容(另请参阅 CPU 寄存器)。向左移动 n 位相当于将输入端 IN 的内容乘以 2 的 n 次幂(2 n);向右移动 n 位则相当于将输入端 IN 的内容除以 2 的 n 次幂(2n)。例如,如果将等价于十进制值 3 的二进制数左移 3 位,将得到等价于十进制值 24 的二进制数。

如果将等价于十进制值 16 的二进制数右移 2 位,则会得到等价于十进制值 4 的二进制数。

您提供给输入参数 N 的数值决定了移动相应值的位数。移位指令产生的空位将用零或符号位的信号状态(0 表示正,1 表示负)来填补。最后移动的位的信号状态将装入状态字的 CC1 位中(请参见"CPU 寄存器")。状态字的 CC0 和 OV 位将复位为 0。您可以使用跳转指令判断 CC1 位。

下列移位指令可用:

· SHR_I:整数右移

· SHR_DI:长整数右移

· SHL_W:字左移

· SHR_W:字右移

· SHL_DW:双字左移

· SHR_DW:双字右移

2 SHR_I:整数右移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D、T、C 启用输入
IN INT I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 值将移位的位数
OUT INT I、Q、M、L、D 移位指令的结果
ENO BOOL I、Q、M、L、D 启用输出

描述

在启用输入(EN)端的信号状态为 1 时会激活整数右移指令。此指令将输入端 IN 的 0 到 15 位逐位右移。输入 N 指定值将移位的位数。如果 N 大于 16,则该命令将 N 视为 16 进行处理。左侧的空位将用第

  • 位的信号状态(整数的符号)填补。正数填补 0,负数则填补 1。移位操作的结果可在 OUT输出端扫描。

如果 N 不等于 0,则此指令触发的操作总是将状态字的 CC0 和 OV 位复位为 0。

ENO 与 EN 具有相同的信号状态。

状态字

移位指令 西门子plc移位指令

状态字

实例

移位指令 西门子plc移位指令

SHR_I框由I0.0位置上的逻辑"1"激活。装载MW0并将其右移由MW2指定的位数。结果将被写入MW4。置位Q4.0。

3.SHR_DI 向右移位双精度整数

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D 启用输入
ENO BOOL I、Q、M、L、D 启用输出
IN DINT I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 要移动的位数
OUT DINT I、Q、M、L、D 移位指令的结果

描述

SHR_DI (右移长整数)指令通过使能(EN)输入位置上的逻辑"1"来激活。SHR_DI 指令用于将输入 IN 的0 至 31 位逐位向右移动。输入 N 用于指定移位的位数。如果 N 大于 32,命令将按照 N 等于 32 的情况执行。自左移入的、用于填补空出位的位位置将被赋予位 31 的逻辑状态(整数的符号位)。这意味着, 当该整数为正时,这些位将被赋值"0",而当该整数为负时,则被赋值为"1"。可在输出 OUT 位置扫描移位指令的结果。如果 N 不等于 0,则 SHR_DI 会将 CC 0 位和 OV 位设为"0"。

ENO 与 EN 具有相同的信号状态。

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

SHR_DI 框由 I0.0 位置上的逻辑"1"激活。装载 MD0 并将其右移由 MW4 指定的位数。结果将被写入MD10。置位 Q4.0。

4.SHL_W 字左移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D 启用输入
ENO BOOL I、Q、M、L、D 启用输出
IN WORD I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 要移动的位数
OUT WORD I、Q、M、L、D 移位指令的结果

描述

SHL_W (字左移)指令通过使能(EN)输入位置上的逻辑"1"来激活。SHL_W 指令用于将输入 IN 的 0 至15 位逐位向左移动。16 到 31 位不受影响。输入 N 用于指定移位的位数。若 N 大于 16,此命令会在输出 OUT 位置上写入"0",并将状态字中的 CC 0 位和 OV 位设置为"0"。将自右移入 N 个零,用以补上空出的位位置。可在输出 OUT 位置扫描移位指令的结果。如果 N 不等于 0,则 SHL_W 会将 CC 0 位和 OV 位设为"0"。

ENO 与 EN 具有相同的信号状态。

移位指令 西门子plc移位指令

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

SHL_W 框由 I0.0 位置上的逻辑"1"激活。装载 MW0 并将其左移由 MW2 指定的位数。结果将被写入MW4。置位 Q4.0。

5.SHR_W 字右移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D 启用输入
ENO BOOL I、Q、M、L、D 启用输出
IN WORD I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 要移动的位数
OUT WORD I、Q、M、L、D 字移位指令的结果

描述

SHR_W (字右移)指令通过使能(EN)输入位置上的逻辑"1"来激活。SHR_W 指令用于将输入 IN 的 0 至15 位逐位向右移动。16 到 31 位不受影响。输入 N 用于指定移位的位数。若 N 大于 16,此命令会在输出 OUT 位置上写入"0",并将状态字中的 CC 0 位和 OV 位设置为"0"。将自左移入 N 个零,用以补上空出的位位置。可在输出 OUT 位置扫描移位指令的结果。如果 N 不等于 0,则 SHR_W 会将 CC 0 位和 OV 位设为"0"。

ENO 与 EN 具有相同的信号状态。

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

SHR_W 框由 I0.0 位置上的逻辑"1"激活。装载 MW0 并将其右移由 MW2 指定的位数。结果将被写入MW4。置位 Q4.0。

6.SHL_DW双字左移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D 启用输入
ENO BOOL I、Q、M、L、D 启用输出
IN DWORD I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 要移动的位数
OUT DWORD I、Q、M、L、D 双字移位指令的结果

描述

SHL_DW (双字左移)指令通过使能(EN)输入位置上的逻辑"1"来激活。SHL_DW 指令用于将输入 IN 的0 至 31 位逐位向左移动。输入 N 用于指定移位的位数。若 N 大于 32,此命令会在输出 OUT 位置上写入"0"并将状态字中的 CC 0 位和 OV 位设置为"0"。将自右移入 N 个零,用以补上空出的位位置。可在输出 OUT 位置扫描双字移位指令的结果。如果 N 不等于 0,则 SHL_DW 会将 CC 0 位和 OV 位设为"0"。

ENO 与 EN 具有相同的信号状态。

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

SHL_DW 框由 I0.0 位置上的逻辑"1"激活。装载 MD0 并将其左移由 MW4 指定的位数。结果将被写入MD10。置位 Q4.0。

SHR_DW双字右移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D 启用输入
ENO BOOL I、Q、M、L、D 启用输出
IN DWORD I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 要移动的位数
OUT DWORD I、Q、M、L、D 双字移位指令的结果

描述

SHR_DW (双字右移)指令通过使能(EN)输入位置上的逻辑"1"来激活。SHR_DW 指令用于将输入 IN 的 0 至 31 位逐位向右移动。输入 N 用于指定移位的位数。若 N 大于 32,此命令会在输出 OUT 位置上写入"0"并将状态字中的 CC 0 位和 OV 位设置为"0"。将自左移入 N 个零,用以补上空出的位位置。

可在输出 OUT 位置扫描双字移位指令的结果。如果 N 不等于 0,则 SHR_DW 会将 CC 0 位和 OV 位设为"0"。

ENO 与 EN 具有相同的信号状态。

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

SHR_DW 框由 I0.0 位置上的逻辑"1"激活。装载 MD0 并将其右移由 MW4 指定的位数。结果将被写入MD10。置位 Q4.0。

功能块图(FBD)移位指令

1.移位指令概述

描述

可使用移位指令向左或向右逐位移动输入IN的内容(另请参阅 CPU寄存器)。向左移动n位相当于将输入端IN的内容乘以2的n次幂(2 n);向右移动n位则相当于将输入端IN的内容除以2的n次幂(2 n)。例如,如果将等价于十进制值3的二进制数左移3位,将得到等价于十进制值24的二进制数。如果将等价于十进制值16的二进制数右移2位,则会得到等价于十进制值4的二进制数。

您提供给输入参数N的数值决定了移动相应值的位数。移位指令产生的空位将用零或符号位的信号状态(0表示正,1表示负)来填补。最后移动的位的信号状态将装入状态字的CC1位中(请参见"CPU寄存器")。状态字的CC0和OV位将复位为0。您可以使用跳转指令判断CC1位。

下列移位指令可用:

• SHR_I:整数右移

• SHR_DI:长整数右移

• SHL_W:字左移

• SHR_W:字右移

• SHL_DW:双字左移

• SHR_DW:双字右移

2 SHR_I:整数右移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D、T、C 启用输入
IN INT I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 值将移位的位数
OUT INT I、Q、M、L、D 移位指令的结果
ENO BOOL I、Q、M、L、D 启用输出

描述

在启用输入(EN)端的信号状态为 1 时会激活整数右移指令。此指令将输入端 IN 的 0 到 15 位逐位右移。输入 N 指定值将移位的位数。如果 N 大于 16,则该命令将 N 视为 16 进行处理。左侧的空位将用第

  • 位的信号状态(整数的符号)填补。正数填补 0,负数则填补 1。移位操作的结果可在 OUT输出端扫描。如果 N 不等于 0,则此指令触发的操作总是将状态字的 CC0 和 OV 位复位为 0。

ENO 与 EN 具有相同的信号状态。

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

在 I0.0 的信号状态为 1 时会激活该指令。存储器字 MW0 将按在存储器字 MW2 中指定的位数右移。结果将存入存储器字 MW4 中。输出 Q4.0 置 1。

3 SHR_DI:长整数右移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D、T、C 启用输入
IN DINT I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 值将移位的位数
OUT DINT I、Q、M、L、D 移位指令的结果
ENO BOOL I、Q、M、L、D 启用输出

描述

在启用输入(EN)端的信号状态为 1 时会激活整数右移指令。此指令将输入端 IN 的全部内容逐位右移。输入 N 指定值将移位的位数。如果 N 大于 32,则该命令将 N 视为 32 进行处理。左侧的位将用第 31 位的信号状态(双精度整数的符号)填补。正数填补 0,负数则填补 1。移位操作的结果可在 OUT 输出端扫描。

如果 N 不等于 0,则此指令触发的操作总是将状态字的 CC0 和 OV 位复位为 0。

ENO 与 EN 具有相同的信号状态。

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

在 I0.0 的信号状态为 1 时会激活该指令。存储器双字 MD0 将按在存储器字 MW4 中指定的位数右移。结果将存入存储器双字 MD10 中。输出 Q4.0 置 1。

4.SHL_W:字左移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D、T、C 启用输入
IN WORD I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 值将移位的位数
OUT WORD I、Q、M、L、D 移位指令的结果
ENO BOOL I、Q、M、L、D 启用输出

描述

在启用输入(EN)的信号状态为 1 时会激活字左移指令。此指令将输入端 IN 的 0 到 15 位逐位左移。

输入 N 指定要使值移位的位数。如果 N 大于 16,则此命令在 OUT 输出端写入 0 并将状态字的 CC0和 OV 位置 0。将右侧的各位补零。移位操作的结果可在 OUT 输出端扫描。

如果 N 的值不等于 0,则此指令触发的操作总是将状态字的 CC0 和 OV 位复位为 0。

ENO 与 EN 具有相同的信号状态。

移位指令 西门子plc移位指令

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

在 I0.0 的信号状态为 1 时会激活该指令。

存储器字 MW0 将按在存储器字 MW2 中指定的位数左移。结果将存入存储器字 MW4 中。输出 Q4.0 置 1。

5.SHR_W:字右移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D、T、C 启用输入
IN WORD I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 值将移位的位数
OUT WORD I、Q、M、L、D 移位指令的结果
ENO BOOL I、Q、M、L、D 启用输出

描述

在启用输入(EN)端的信号状态为 1 时会激活字右移指令。此指令将输入端 IN 的 0 到 15 位逐位右移。

  • 到 31位不受影响。输入 N 指定值将移位的位数。如果 N 大于 16,则此命令在 OUT 输出端写入 0并将状态字的 CC0 和 OV 位置 0。将左侧移空的位补零。移位操作的结果可在 OUT 输出端扫描。如果 N 不等于 0,则此指令触发的操作总是将状态字的 CC0 和 OV 位复位为 0。

ENO 与 EN 具有相同的信号状态。

状态字

移位指令 西门子plc移位指令

在 I0.0 的信号状态为 1 时会激活该指令。存储器字 MW0 将按在存储器字 MW2 中指定的位数右移。结果将存入存储器字 MW4 中。输出 Q4.0 置 1。

6.SHL_DW:双字左移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D、T、C 启用输入
IN DWORD I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 值将移位的位数
OUT DWORD I、Q、M、L、D 移位指令的结果
ENO BOOL I、Q、M、L、D 启用输出

描述

在启用输入(EN)端的信号状态为 1 时会激活双字左移指令。此指令将输入端 IN 的 0 到 31 位逐位左移。输入 N 指定值将移位的位数。如果 N 大于 32,则此命令在 OUT 输出端写入 0 并将状态字的 CC0 和

OV 位置 0。将右侧移空的各位补零。移位操作的结果可在 OUT 输出端扫描。

如果 N 的值不等于 0,则此指令触发的操作总是将状态字的 CC0 和 OV 位复位为 0。

ENO 与 EN 具有相同的信号状态。

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

在 I0.0 的信号状态为 1 时会激活该指令。

存储器双字 MD0 将按在存储器字 MW4 中指定的位数左移。结果将存入存储器双字 MD10 中。输出 Q4.0 置 1。

7.SHR_DW:双字右移

符号

移位指令 西门子plc移位指令

参数 数据类型 存储器区 描述
EN BOOL I、Q、M、L、D、T、C 启用输入
IN DWORD I、Q、M、L、D 要移位的值
N WORD I、Q、M、L、D 值将移位的位数
OUT DWORD I、Q、M、L、D 移位指令的结果
ENO BOOL I、Q、M、L、D 启用输出

描述

在启用输入(EN)端的信号状态为 1 时会激活双字右移指令。此指令将输入端 IN 的 0 到 31 位逐位右移。输入 N 指定值将移位的位数。如果 N 大于 32,则此命令在 OUT 输出端写入 0 并将状态字的 CC0 和

OV 位置 0。将左侧移空的位补零。移位操作的结果可在 OUT 输出端扫描。

如果 N 不等于 0,则此指令触发的操作总是将状态字的 CC0 和 OV 位复位为 0。

ENO 与 EN 具有相同的信号状态。

移位指令 西门子plc移位指令

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

在I0.0的信号状态为1时会激活该指令。存储器双字MD0将按在存储器字MW4中指定的位数右移。 结果将存入MD10中。输出Q4.0置1。

编程的语句表(STL)移位指令

1.移位指令概述

描述

  • 可使用移位指令逐位左移或右移累加器 1 中低字的内容或整个累加器的内容(参见 CPU 寄存器)。左移n 位相当于将累加器的内容乘以"2 n ";右移 n 位相当于将累加器的内容除以"2 n "。例如,将以二进制
    格式表示的十进制数 3 左移 3 位时,在累加器中出现相当于十进制数 24 的二进制编码。将以二进制
    格式表示的十进制数 16 右移 2 位时,在累加器中出现相当于十进制数 4 的二进制编码。
    移位指令后的数字或在累加器 2 的低字低字节中的数值表示要移位的数目。由零或符号位的信号状态
    (0 代表正数、1 代表负数)填充移位指令空出的位。将最后一个移出的位装载到状态字的 CC 1 位中。
    复位状态字的 CC 0 和 OV 位为 0。可使用跳转指令来判断 CC 1 位。移位运算是无条件的,即,它们
    的执行不需要任何特殊的条件,且不影响逻辑运算的结果。
    下列移位指令可用:
    • SSI 带符号整型移位(16 位)
    • SSD 带符号长整型移位(32 位)
    • SLW 左移字(16 位)
    • SRW 右移字(16 位)
    • SLD 左移双字(32 位)
    • SRD 右移双字(32 位)

2 SSI 带符号整型移位(16 位)

格式

SSI

SSI <数目>

2.SSI 带符号整型移位(16 位)

地址 数据类型 描述
<数字> 整型、无符号 要移位的位数目,范围为 0 - 15

描述

SSI (右移带符号整型)只逐位向右移动 ACCU 1-L 的内容。由符号位(位 15)的信号状态填充移位指令空出的位。将最后一个移出的位装载到状态字的 CC 1 位中。地址<数目>或 ACCU 2-L-L 中的数值指定要移位的位数目。

SSI <数目>:地址<数目>指定移位数目。允许的数值范围为 0 - 15。当<数目>大于 0 时,复位状态字的位 CC 0 和 OV 为 0。当<数目>等于 0 时,则将此移位指令视为 NOP 操作。

SSI:移位数目由 ACCU 2-L-L 中的数值指定。可能的数值范围为 0 - 255。移位数目大于 16 时,始终产生相同的结果(ACCU 1 = 16#0000、CC 1 = 0 或 ACCU 1 = 16#FFFF、CC 1 = 1)。当移位数目大于 0 时,复位状态字的位 CC 0 和 OV 为 0。当移位数目为 0 时,则将移位指令视为 NOP 操作。

状态字

移位指令 西门子plc移位指令

实例

移位指令 西门子plc移位指令

实例 1

移位指令 西门子plc移位指令

实例 2

移位指令 西门子plc移位指令

3.SSD 带符号长整型移位(32 位)

格式

SSD

SSD <数目>

地址 数据类型 描述
<数字> 整型、无符号 要移位的位数目,范围为 0 - 32

描述

SSD(右移带符号的长整型)逐位向右移动 ACCU 1 的整个内容。由符号位的信号状态填充移位指令空出的位。将最后一个移出的位装载到状态字的 CC 1 位中。地址<数目>或 ACCU 2-L-L 中的数值指定要移位的位数目。

SSD <数目>:地址<数目>指定移位数目。允许的数值范围为 0 32。当<数目>大于 0 时,将状态字的位 CC 0 和 OV 复位为 0。当<数目>等于 0 时,则将此移位指令视为 NOP 操作。

SSD:移位数目由 ACCU 2-L-L 中的数值指定。可能的数值范围为 0 - 255。移位数目大于 32 时,始终产生相同的结果(ACCU 1 = 32#00000000、CC 1 = 0 或 ACCU 1 = 32#FFFFFFFF、CC 1 = 1)。当

移位数目大于 0 时,复位状态字的位 CC 0 和 OV 为 0。当移位数目为 0 时,则将移位指令视为 NOP

操作。

状态字

移位指令 西门子plc移位指令

移位指令 西门子plc移位指令

4 SLW 左移字(16 位)

格式

SLW

SLW <数目>

地址 数据类型 描述
<数字> 整型、无符号 要移位的位数目,范围为 0 - 15

描述

SLW(左移字)只逐位向左移动 ACCU 1-L 的内容。由零填充移位指令空出的位。将最后一个移出的位装载到状态字的 CC 1 位中。地址<数目>或 ACCU 2-L-L 中的数值指定要移位的位数目。

SLW <数目>:地址<数目>指定移位数目。允许的数值范围为 0 - 15。当<数目>大于 0 时,将状态字的位 CC 和 OV 复位为 0。当<数目>等于 0 时,则将此移位指令视为 NOP 操作。

SLW:移位数目由 ACCU 2-L-L 中的数值指定。可能的数值范围为 0 - 255。移位数目大于 16 时,始终产生相同的结果:ACCU 1-L = 0、CC 1 = 0、CC 0 = 0 和 OV = 0。当 0 < 移位数目 <= 16 时,复位状态字的位 CC 0 和 OV 为 0。当移位数目为 0 时,则将移位指令视为 NOP 操作。

状态字

移位指令 西门子plc移位指令

移位指令 西门子plc移位指令

5 SRW 右移字(16 位)

格式

SRW

SRW <数目> 

地址 数据类型 描述
<数字> 整型、无符号 要移位的位数目,范围为 0 - 15

描述

SRW(右移字)只逐位向右移动 ACCU 1-L 的内容。由零填充移位指令空出的位。将最后一个移出的位装载到状态字的 CC 1 位中。地址<数目>或 ACCU 2-L-L 中的数值指定要移位的位数目。

SRW <数目>:地址<数目>指定移位数目。允许的数值范围为 0 - 15。当<数目>大于 0 时,将状态字的位 CC 0 和 OV 复位为 0。当<数目>等于 0 时,则将此移位指令视为 NOP 操作。

SRW:移位数目由 ACCU 2-L-L 中的数值指定。可能的数值范围为 0 - 255。移位数目大于 16 时,始终产生相同的结果:ACCU 1-L = 0、CC 1 = 0、CC 0 = 0 和 OV = 0。当 0 < 移位数目 <= 16 时,复位状态字的位 CC 0 和 OV 为 0。当移位数目为 0 时,则将移位指令视为 NOP 操作。

移位指令 西门子plc移位指令

移位指令 西门子plc移位指令

6 SLD 左移双字(32 位)

格式

SLD

SLD <数目>

地址 数据类型 描述
<数字> 整型、无符号 要移位的位数目,范围为 0 - 32

描述

SLD(左移双字)逐位向左移动 ACCU 1 的整个内容。由零填充移位指令空出的位。将最后一个移出的位装载到状态字的 CC 1 位中。地址<数目>或 ACCU 2-L-L 中的数值指定要移位的位数目。

SLD <数目>:地址<数目>指定移位数目。允许的数值范围为 0 - 32。当<数目>大于 0 时,将状态字的位 CC 和 OV 复位为 0。当<数目>等于 0 时,则将此移位指令视为 NOP 操作。

SLD:移位数目由 ACCU 2-L-L 中的数值指定。可能的数值范围为 0 - 255。移位数目大于 32 时,始终产生相同的结果:ACCU 1 = 0、CC 1 = 0、CC 0 = 0 和 OV = 0。当 0 < 移位数目 <= 32 时,复位状态字的位 CC 0 和 OV 为 0。当移位数目为 0 时,则将移位指令视为 NOP 操作。

移位指令 西门子plc移位指令

移位指令 西门子plc移位指令

7 SRD 右移双字(32 位)

格式

SRD

SRD <数目>

地址 数据类型 描述
<数字> 整型、无符号 要移位的位数目,范围为 0 - 32

描述

SRD(右移双字)逐位向右移动 ACCU 1 的整个内容。由零填充移位指令空出的位。将最后一个移出的位装载到状态字的 CC 1 位中。地址<数目>或 ACCU 2-L-L 中的数值指定要移位的位数目。

SRD <数目>:地址<数目>指定移位数目。允许的数值范围为 0 - 32。当<数目>大于 0 时,将状态字的位 CC 0 和 OV 复位为 0。当<数目>等于 0 时,则将此移位指令视为 NOP 操作。

SRD:移位数目由 ACCU 2-L-L 中的数值指定。可能的数值范围为 0 - 255。移位数目大于 32 时,始终产生相同的结果:ACCU 1 = 0、CC 1 = 0、CC 0 = 0 和 OV = 0。当 0 < 移位数目 <= 32 时,复位状态字的位 CC 0 和 OV 为 0。当移位数目为 0 时,则将移位指令视为 NOP 操作。

移位指令 西门子plc移位指令

移位指令 西门子plc移位指令

继续阅读
weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: