全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 工业控制 >

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

时间:2023-05-05 10:04

人气:

作者:admin

标签: 西门子  跑马灯 

导读:西门子S7-200SMART的移位指令介绍-左移指令SHL可以根据数据类型分为字节左移指令(SHL_B)、字左移指令(SHL_W)和双字左移指令(SHL_DW)。如图1为左移指令格式。...

西门子S7-200SMART中提供了各种丰富的功能指令,合理巧妙的使用不同的功能指令能够达到事半功倍的效果,同时还会让你的程序更精简。那今天我们为大家讲解移位与循环移位指令中的移位指令它包括左移位指令、右移位指令、循环左移位指令、循环右移位指令和移位寄存器指令。

移位指令介绍    

移位指令根据移动方向不一样分为左移位指令(SHL)和右移位指令(SHR),每个移位指令根据操作数的数据类型不同分为针对字节、字和双字的移位指令。

01 左移指令    

左移指令SHL可以根据数据类型分为字节左移指令(SHL_B)、字左移指令(SHL_W)和双字左移指令(SHL_DW)。如图1为左移指令格式。

706a61e4-eac3-11ed-90ce-dac502259ad0.png

▲图1 | 左移指令格式▲

左移位指令(SHL)将输入端IN中数各位的值向左移动N位后把结果输出到由OUT所指定的地址。在移动过程中每一位移出后留下的空位会自动的补零。若移位计数N 大于或等于允许的最大值(字节操作为8、字操作为16、双字操作为32),则会按相应操作的最大次数对值进行移位,若移位计数N大于0,则在移动过程中的最后移出位会存储于溢出标志SM1.1中,若移位操作结果为0,则零标志位SM1.0会置位为ON,如图2所示为左移指令执行效果。

70799f10-eac3-11ed-90ce-dac502259ad0.png

▲图2 | 左移指令移位过程▲

02 右移指令    

右移指令SHR可以根据数据类型分为字节右移指令(SHR_B)、字右移指令(SHR_W)和双字右移指令(SHR_DW)。如图3为右移指令格式。

70879cbe-eac3-11ed-90ce-dac502259ad0.png

▲图3 | 右移指令格式▲

右移位指令(SHR)将输入端IN中数各位的值向右移动N位后把结果输出到由OUT所指定的地址。在移动过程中每一位移出后留下的空位会自动的补零。若移位计数N 大于或等于允许的最大值(字节操作为8、字操作为16、双字操作为32),则会按相应操作的最大次数对值进行移位,若移位计数N大于0,则在移动过程中的最后移出位会存储于溢出标志SM1.1中,若移位操作结果为0,则零标志位SM1.0会置位为ON,如图4所示为右移指令执行效果。

709766da-eac3-11ed-90ce-dac502259ad0.png

▲图4 | 右移指令移位过程▲

二、移位指令应用    

假设有8个指示灯,对应PLC的Q0.0~Q0.7,要求每次点亮一盏指示灯,当按下启动按钮后,从Q0.0~Q0.7每隔一秒点亮,当Q0.7被点亮时,停止2S,然后反向每隔1S点亮,当Q0.0被点亮时,延时2S后,进入下个循环,若按下停止按钮,停止所有的指示灯输出,示意图如图5所示。

70a4f534-eac3-11ed-90ce-dac502259ad0.png

▲图5 | 控制示意图▲

分析:8个指示灯,每次只点亮1个指示灯,而且是按照顺序的方式进行点亮,因此在设计程序是可考虑使用移位指令进设计,程序如图6所示:

70b19f00-eac3-11ed-90ce-dac502259ad0.png

70bd86b2-eac3-11ed-90ce-dac502259ad0.png

▲图6 | 移位控制部分程序▲

编辑:黄飞

 

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信