图文详解 | 西门子博途移位与循环指令 原标题:图文详解 | 西门子博途移位与循环指令 在西门子博途中可以在基本指令目录下移位和循环移位文件夹中调用 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”。 如需了解更多关于西门子学习方面的知识,可以:工控云学堂,和左老师一起探讨返回搜狐,查看更多 责任编辑:
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/31025.html