打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
图文详解 | 西门子博途移位与循环指令

在西门子博途中可以在基本指令目录下移位和循环移位文件夹中调用SHR右移、SHL左移、ROR循环右移、ROL循环左移指令。

SHR右移指令

可以使用“右移”指令将输入 IN 中操作数的内容按位向右移位,并在输出 OUT 中查询结果。参数 N 用于指定将指定值移位的位数。当参数 N 的值为“0”时,输入 IN 的值将复制到输出 OUT 中的操作数中。如果参数 N 的值大于可用位数,则输入 IN 中的操作数值将向右移动可用位数个位。无符号值(如:UInt,Word)移位时,用零填充操作数左侧区域中空出的位。如果指定值有符号(如:Int),则用符号位的信号状态填充空出的位。可以从指令框的“???”下拉列表中选择该指令的数据类型。下图说明了如何将整数数据类型操作数的内容向右移动 4 位: 

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

SHL左移指令
可以使用“左移”指令将输入 IN 中操作数的内容按位向左移位,并在输出 OUT 中查询结果。参数 N 用于指定将指定值移位的位数。当参数 N 的值为“0”时,输入 IN 的值将复制到输出 OUT 中的操作数中。如果参数 N 的值大于可用位数,则输入 IN 中的操作数值将向左移动可用位数个位。用零填充操作数右侧部分因移位空出的位。可以从指令框的“???”下拉列表中选择该指令的数据类型。 

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

ROR循环右移指令
可以使用“循环右移”指令将输入 IN 中操作数的内容按位向右循环移位,并在输出 OUT 中查询结果。参数 N 用于指定循环移位中待移动的位数。用移出的位填充因循环移位而空出的位。当参数 N 的值为“0”时,输入 IN 的值将复制到输出 OUT 中的操作数中。如果参数 N 的值大于可用位数,则输入 IN 中的操作数值仍会循环移动指定位数。可以从指令框的“???”下拉列表中选择该指令的数据类型。 

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

ROL循环左移指令
可以使用“循环左移”指令将输入 IN 中操作数的内容按位向左循环移位,并在输出 OUT 中查询结果。参数 N 用于指定循环移位中待移动的位数。用移出的位填充因循环移位而空出的位。当参数 N 的值为“0”时,输入 IN 的值将复制到输出 OUT 中的操作数中。如果参数 N 的值大于可用位数,则输入 IN 中的操作数值仍会循环移动指定位数。可以从指令框的“???”下拉列表中选择该指令的数据类型。 

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

End

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
移位和循环指令
西门子 S7-1200 沿指令全解
【跟着我一起来学习s7-200】25移位循环指令
循环移位指令
2.4.8 移位指令(操作)
移位
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服