01【控制示意图】
如图3-1所示为彩灯控制示意图。
02【控制要求描述】
现有L1-L8共8盏彩灯,要求按下开始按钮,霓虹灯L1-L8以正序每隔1S轮流点亮,当L8亮后,停2S;然后,反向逆序间隔1S轮流点亮,当L1再亮后,停5S,重复上述过程。按下停止按钮,彩灯停止工作。
03【I/O分配】
根据控制要求描述对需要用到的I/O进行分配,如图3-2所示:
04【相关指令解读】
此案例主要用到移位指令和其他指令配合,这里主要解读移位指令。
循环左移字节(图3-2)
循环移位指令将输入值 IN 的位值循环左移位,位置循环移位计数 N,然后将结果装载到分配给 OUT 的存储单元中。循环移位操作为循环操作。
举例说明1
程序如图3-3,利用系统时钟SM0.1第一个扫描周期给QB0字节中赋值为1,此时QB0中最低位(Q0.0)为 1。当按下I0.0按钮后,QB0字节中的数据左移一位,Q0.1变为1。
举例说明2
程序如图3-4,利用系统时钟SM0.1第一个扫描周期给QB0字节中赋值为1,此时QB0中最低位(Q0.0)为 1。当按下I0.0按钮后,QB0字节中的数据左移二位,Q0.2变为1。
循环右移字节
如图3-5,循环移位指令将输入值 IN 的位值循环右移,位置循环移位计数 N,然后将结果装载到分配给 OUT 的存储单元中。循环移位操作为循环操作。
举例说明1
程序如图3-6,利用系统时钟SM0.1第一个扫描周期给QB0字节中赋值为1,此时QB0中最低位(Q0.0)为 1。当按下I0.0按钮后,QB0字节中的数据右移一位,Q0.7变为1。
举例说明2
程序如图3-7,利用系统时钟SM0.1第一个扫描周期给QB0字节中赋值为1,此时QB0中最低位(Q0.0)为 1。当按下I0.0按钮后,QB0字节中的数据右移二位,Q0.6变为1。
05【程序控制程序】
(1)主程序,对数据初始化,调用相关子程序。M1.0接通代表左移位开始,左移开始之前,将1赋值给QB0。M1.2接通代表右移开始,将128给到QB0, Q0.7为1。程序如图3-8所示
(2)循环子程序主要控制灯是启停和循环
按下启动按钮,左移开始标志位M1.0自锁,总共移7位,定时时间为7秒,左移完成断开M1.0延时2秒接通右移标志位M1.2。右移完成延时5秒接通M1.0左移开始标志位,形成循环。程序如图3-9所示
(3)左移程序,利用移位指令和系统时钟配合。程序如图3-10所示
(4)右移子程序程序,利用移位指令和系统时钟配合。程序如图26-6所示
结束语
本案例采用子程序的结构编程,并且结合循环指令、定时器指令等编写彩灯循环案例。
希望大家能在此文章中汲取西门子200SMART PLC编程相关知识及理念。
审核编辑:郭婷
-
plc
+关注
关注
5013文章
13315浏览量
463871 -
西门子
+关注
关注
94文章
3043浏览量
115997
原文标题:PLC案例 | S7-200 SMART实现控制彩灯按钮
文章出处:【微信号:跟我学PLC,微信公众号:跟我学PLC吧】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论