加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15386422716

山东省滨州市西门子中国总代理-西门子选型-西门子技术支持-西门子维修服务

更新时间
2024-12-12 08:50:00
价格
请来电询价
联系电话
15344432716
联系手机
15386422716
联系人
杨本刚
立即询价

详细介绍

可以在基本指令目录下的移位和循环移位子文件夹中调用以下指令:

- SHR(逻辑右移指令)
- SHL(逻辑左移指令)
- ROR(循环右移指令)
- ROL(循环左移指令)

这些指令用于执行位移操作,并在PLC编程中具有重要作用。您可以根据需要在程序中调用这些指令来实现位移操作。

图片

 


SHR指令


可以使用“右移”指令将输入IN中的数值按照位数向右移动,并在输出OUT中得到结果。参数N用于指定要移动的位数。当N为0时,输入IN的值会直接复制到输出中。如果N的值超过了可用位数,输入IN的值会向右移动直到可用位数。

对于无符号数据类型(如UInt,Word),移动时会在左侧空出的位用0填充;而对于有符号数据类型(如Int),则会用符号位的状态来填充空出的位。可以在指令框的数据类型下拉菜单中选择合适的数据类型。下面图示展示了如何将整数类型的操作数内容向右移动4位。

图片

示例

以下示例说明了该指令的工作原理:

图片

如果操作数“TagIn”的信号状态为“1”,则执行右移指令。操作数“TagIn_Value”的内容将向右移动3位,结果发送到输出“TagOut_Value”中。如果指令执行成功,将使能输出ENO的信号状态为“1”,同时将输出“TagOut”置位。


SHL指令


可以利用“左移”指令对输入操作数IN的数值进行左移操作,并通过输出OUT查看结果。参数N用于指定要左移的位数。当N为0时,将直接将输入操作数IN的值复制到输出OUT的操作数中。

若N的值超过可用的位数,则操作数IN的值将向左移动直到可用的位数。在移位时,会用0填充操作数右侧空出的位。您可以在指令框下拉列表中选择适当的数据类型。下图描述了如何将WORD数据类型的操作数内容向左移动6位。

图片

图片

图片

如果“TagIn”信号状态为“1”,则执行左移指令,将“TagIn_Value”的内容向左移动4位,并将结果发送到“TagOut_Value”。成功执行后,将使“ENO”的信号状态为“1”,并触发输出“TagOut”置位。

ROR指令


能够利用“循环右移”指令对输入IN的操作数内容进行按位循环右移,并且结果存储在输出OUT中。该指令需要一个参数N,用于确定要循环移位的位数。

如果N为0,输入IN的值会直接复制到输出OUT。如果N的值超出操作数的位数,则操作数IN的值依然会按照可用位数进行循环移位。在移位过程中,移出的位会用来填充循环移位而产生的空位。

您可以在指令框的数据类型下拉菜单中选择合适的数据类型。图示说明了如何将DWORD数据类型的操作数内容向右循环移动3位:

图片

图片

图片

如果“TagIn”信号状态为“1”,则执行循环右移指令,将“TagIn_Value”的内容向右循环移动5位,并将结果发送到“TagOut_Value”。如果指令执行成功,将使“ENO”的信号状态为“1”,并触发输出“TagOut”置位。

ROL指令


可以使用“循环左移”指令对输入IN的操作数内容进行按位循环左移,结果存储在输出OUT中。该指令需要一个参数N,用于确定要循环移位的位数。如果N为0,输入IN的值会直接复制到输出OUT。

如果N的值超出操作数的位数,则操作数IN的值依然会按照可用位数进行循环移位。在移位过程中,移出的位会用来填充循环移位而产生的空位。

您可以在指令框的数据类型下拉菜单中选择合适的数据类型。图示说明了如何将DWORD数据类型的操作数内容向左循环移动3位:

图片


图片

图片

如果“TagIn”信号状态为“1”,则执行循环左移指令,将“TagIn_Value”的内容向左循环移动5位,并将结果发送到“TagOut_Value”。如果指令执行成功,将使“ENO”的状态为“1”,并触发输出“TagOut”置位。



相关产品

联系方式

  • 电  话:15344432716
  • 销售顾问:杨本刚
  • 手  机:15386422716
  • 微  信:AK66F7