西门子S7-200SMART的移位指令介绍

在西门子s7-200smart中提供了各种丰富的功能指令,合理巧妙的使用不同的功能指令能够达到事半功倍的效果,同时还会让你的程序更精简。那今天我们为大家讲解移位与循环移位指令中的移位指令,它包括左移位指令、右移位指令、循环左移位指令、循环右移位指令和移位寄存器指令。
移位指令介绍    
移位指令根据移动方向不一样分为左移位指令(shl)和右移位指令(shr),每个移位指令根据操作数的数据类型不同分为针对字节、字和双字的移位指令。
01 左移指令    
左移指令shl可以根据数据类型分为字节左移指令(shl_b)、字左移指令(shl_w)和双字左移指令(shl_dw)。如图1为左移指令格式。
▲图1 | 左移指令格式▲
左移位指令(shl)将输入端in中数各位的值向左移动n位后把结果输出到由out所指定的地址。在移动过程中每一位移出后留下的空位会自动的补零。若移位计数n 大于或等于允许的最大值(字节操作为8、字操作为16、双字操作为32),则会按相应操作的最大次数对值进行移位,若移位计数n大于0,则在移动过程中的最后移出位会存储于溢出标志sm1.1中,若移位操作结果为0,则零标志位sm1.0会置位为on,如图2所示为左移指令执行效果。
▲图2 | 左移指令移位过程▲
02 右移指令    
右移指令shr可以根据数据类型分为字节右移指令(shr_b)、字右移指令(shr_w)和双字右移指令(shr_dw)。如图3为右移指令格式。
▲图3 | 右移指令格式▲
右移位指令(shr)将输入端in中数各位的值向右移动n位后把结果输出到由out所指定的地址。在移动过程中每一位移出后留下的空位会自动的补零。若移位计数n 大于或等于允许的最大值(字节操作为8、字操作为16、双字操作为32),则会按相应操作的最大次数对值进行移位,若移位计数n大于0,则在移动过程中的最后移出位会存储于溢出标志sm1.1中,若移位操作结果为0,则零标志位sm1.0会置位为on,如图4所示为右移指令执行效果。
▲图4 | 右移指令移位过程▲
二、移位指令应用    
假设有8个指示灯,对应plc的q0.0~q0.7,要求每次点亮一盏指示灯,当按下启动按钮后,从q0.0~q0.7每隔一秒点亮,当q0.7被点亮时,停止2s,然后反向每隔1s点亮,当q0.0被点亮时,延时2s后,进入下个循环,若按下停止按钮,停止所有的指示灯输出,示意图如图5所示。
▲图5 | 控制示意图▲
分析:8个指示灯,每次只点亮1个指示灯,而且是按照顺序的方式进行点亮,因此在设计程序是可考虑使用移位指令进设计,程序如图6所示:
▲图6 | 移位控制部分程序▲


电阻器组成及特性解读
数字信号处理-DDS IP应用实例
独特创意纯手工打造智能无线供电台灯
Salesforce Research的爱因斯坦AI及其所提供的产品
基于ARM44B0x的信号发射机控制器设计
西门子S7-200SMART的移位指令介绍
电抗器选型
基于51单片机的温室测试系统设计
自动驾驶芯片现状盘点 国产自动驾驶芯片发展面临的机遇和挑战
制作High-end A4监听音箱的方法
中国联通在2019年世界移动通信大会上展示了超宽带接入网络关键技术
新磁芯结构在电子变压器中的应用
利用二极管改善电流连续模式PFC电路效率示例
苹果新版ipad、iPad Air2,、ipad pro三者评测对比,你选择谁?
油气分离器的结构工作原理
PLC远程监控助力食品废水处理智能化管理
三星S8暂不支持DayDream, 说好做彼此天使呢?
最容易忽略的三极管电路问题之下拉电阻
基于车电的RapidIO接口FlexRay接口和CAN接口设计
探讨建立模型对电镀铜减铜针孔产生的原因