简介:本案例主要让读者练习西门子S7-200SMART系列PLC位逻辑指令、定时器、移位指令和子程序的结构。01左支架【控制图】左支架
如图3-1所示,是灯笼控制的示意图。
图3-1提灯控制
02左支架【控制要求描述】左支架
目前,有8个彩灯L1-L8。需要按下启动按钮,霓虹灯L1-L8将按正序每隔1秒点亮一次。当L8打开时,它将停止2s。然后,1S的倒序间隔开启,当L1再次开启时,停止5S,重复上述过程。按下停止按钮,彩灯将停止工作。
03左括号[I/O分配]左括号
根据控制要求,分配所需的I/O,如图3-2所示:
符号名称地址符号名称地址开始按钮I0.0L1指示器Q0.0停止按钮I0.1L2指示器Q0.1L3指示器Q0.2L4指示器Q0.3L5指示器Q0.4L6指示器Q0.5L7指示器Q0.6L8指示器Q0.7。
图3-2输入/输出分配表
【相关指令解读】:本案例主要利用了移位指令与其他指令的配合,这里主要解读移位指令。
循环左移字节(图3-2):循环移位指令将输入值in的位值循环左移,通过计数n循环移位,然后将结果加载到分配给OUT的存储单元中。循环移位操作是循环操作。
图3-2:循环左移字节
例1:程序如图3-3所示。系统时钟SM0.1的第一个扫描周期用于为QB0字节赋值1,此时QB0中的最低位(Q0.0)为1。当按下I0.0按钮时,QB0字节中的数据左移一位,Q0.1变为1。
图3-3
例2:程序如图3-4所示。系统时钟SM0.1的第一个扫描周期用于为QB0字节赋值1,此时QB0中的最低位(Q0.0)为1。当按下I0.0按钮时,QB0字节中的数据左移两位,Q0.2变为1。
图3-4
循环右移字节:如图3-5所示,循环移位指令将输入值IN的位值循环右移,通过计数n循环移位,然后将结果加载到分配给OUT的存储单元中。循环移位操作是循环操作。
图3-5:循环右移字节
例1:程序如图3-6所示。系统时钟SM0.1的第一个扫描周期用于为QB0字节赋值1,此时QB0中的最低位(Q0.0)为1。当按下I0.0按钮时,QB0字节中的数据右移一位,Q0.7变为1。
图3-6
例2:程序如图3-7所示。系统时钟SM0.1的第一个扫描周期用于为QB0字节赋值1,此时QB0中的最低位(Q0.0)为1。当按下I0.0按钮时,QB0字节中的数据右移两位,Q0.6变为1。
图3-7
04左括号[程序控制程序]左括号
(1)主程序初始化数据并调用相关子程序。M1.0开启时,代表左移开始。左移开始前,将1赋给QB0。M1.2接通,表示右移开始,128给QB0,QB0,Q0.7为1。程序如图3-8所示。
图3-8主程序
(2)循环子程序的主控灯是启停和循环。按下开始按钮时,左移位开始标志位M1.0自锁,共移位7位,计时时间为7秒。左移位完成后,M1.0关闭2秒,右移位标志位M1.2开启。右移延时5秒,M1.0左移开始标志位开启,形成一个循环。程序如图3-9所示。
图3-9循环程序
(3)左移程序,使用移位指令和系统时钟。程序如图3-10所示。
图3-10左移位程序
(4)右移位子程序,用移位指令配合系统时钟。程序如图26-6所示。
图3-11右移程序
结论:本案例采用子程序结构编程,结合循环指令和定时器指令编写灯笼循环案例。希望大家能从这篇文章中学习到关于西门子200SMART PLC编程的知识和思路。
黄飞
标签:图按钮右移