电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 梯形图实例 >> 正文

西门子S7-200 PLC的移位指令SHL_W和ROR_W指令用法

作者:佚名    文章来源:本站原创    点击数:    更新时间:2024/2/26

    S7-200 PLC的移位指令可以对字节(B)、字(W)、双字(DW)进行左移、右移、循环左移、循环右移等操作。指令格式如表3-4所示。    移位指令中的IN为源操作数;N为移位的位数:OUT为目的操作数;DATA为移位寄存器指令的待移入位数据;S - BIT为移位寄存器指令的最低位;N为移位寄存器指令的位数及方向控制字。要求源操作数和目的操作数的数据类型必须与指令类型相匹配。   

(1)左移指令SHL_W    对于左移指令.按指定位数(N)对源操作数(IN)依次左移N位,左边移出位自然丢失,右边空缺应补0,并将移位结果保存在目的操作数(OUT)中,源操作数(IN)保持不变。应用示例如图3-4所示。   

(2)右移指令SHR_W    对于右移指令,按指定位数(N)对源操作数(IN)依次右移N位,右边移出位自然丢失,左边空缺位补0,并将移位结果保存在目的操作数(OUT)中,源操作数(IN)保持不变。应用示例如图3-5所示。   

(3)循环左移指令ROL_W    对于循环左移指令,按指定位数(N)对源操作数(IN)依次循环左移N位,左边移出位补充到右边空缺位,并将移位结果保存在目的操作数(OUT)中,源操作数(IN)保持不变。应用示例如图3-6所示。
西门子指令 SHL_W左移指令应用示例 

    图3-4    西门子指令 SHL_W左移指令应用示例
西门子plc SHR_W右移指令应用示例 

    图3-5   西门子plc SHR_W右移指令应用示例
西门子plc ROL_W 循环左移指令应用示例    

    图3-6   西门子plc ROL_W 循环左移指令应用示例   

(4)循环右移指令    对于循环右移指令,按指定位数(N)对源操作数(IN)依次循环右移N位,右边移出位补充到左边空缺位,并将移位结果保存在目的操作数(OUT)中,源操作数(IN)保持不变。应用示例如图3-7所示。
 

    图3-7   ROR_W 循环右移指令应用示例    (5)移位寄存器    移位寄存器(SHRB)指令实际上是一种自定义移位寄存器。移位寄存器(SHRB)指令将DATA数值移入移位寄存器,并由S_BIT指定移位寄存器的最低位,由N指定移位寄存器的长度和移位方向(+N表示“移位加”,-N表示“移位减”,移位寄存器的最大长度为64位),移出位则放置在特殊功能存储器SM1.1(移出标志位)中。    使用以下公式可计算“移位寄存器”的最高位的地址(MSB.b)。
    其中,该公式计算出的整数部分为“移位寄存器”的最高位的字节地址,余数部分为“移位寄存器”的最高位的位序。例如:如果S_BIT为V33.4和N为14,则“移位寄存器”的最高位的地址为V35.1。

 

    图3-8    移位寄存器指令应用示例    移位寄存器指令的应用示例如图3-8所示。    在“移位减”(N为负值)中,输入数据(DATA)移入移位寄存器的最高位,并移出最低位(S_BIT)。移出的数据被放置在SM1. 1中。移位原理如图3-9所示。
 

    图3-9    “移位减”的移位原理
 

    图3-10    “移位加”的移位原理    在“移位加”(N为正值)中,输入数据(DATA)移入移位寄存器的最低位(由S-BIT指定),并移出移位寄存器的最高位。移出的数据被放置在SM1.1中。移位原理如图3-10所示。

Tags:移位指令,循环移位,SHL_W,ROR_W,西门子PLC  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询