西门子PLC经典案例,用两种编程方法实现两灯交替闪烁
今天给大家说一个西门子案例——西门子S7-200SMART PLC怎么实现两灯交替闪烁
我们先来看看这个案例的具体要求:
使用定时器Q0.0和Q0.1,当按下启动按钮时Q0.0亮,1秒后Q0.0灭,同时Q0.1亮,再过两秒后Q0.1灭。以此循环,直到按下停止按钮,Q0.0和Q0.1全灭
首先画时序图。再用定时器加比较的方法会把很多复杂的东西简单化
时序图就是表示地址或变量根据时间的变化而变化的图形
整个占用的时间为3秒,需要用到100毫秒定时器
设:定时器的当前值为X,0≦X﹤10的时候,Q0.0亮;当10≦X﹤30时,Q0.1亮。
接下来就是循环的问题,循环就是用最后一个状态作为第一个状态的启动条件。
定时器PT值为3秒(数值计作30),使用TNO接通延时定时器,当当前值=设定值,状态输出为1时,即定时器状态位T37=1时,就去复位定时器,再从0开始,这个就是自复位,就是自己复位自己,到了3秒就从0开始。
最后梳理下编写程序的思路:
1、 启停控制——输出启动标志位,输出为1,并保持(自锁)
2、 定时器控制——用启动标志位去接通定时器,让其工作
3、 比较——0-1秒Q0.0输出,1-3秒Q0.1输出
于是程序如图:
此外还有第二种方法哦,会使用到震荡电路(闪烁电路)以及两个定时器交替控制,一个控制接通时间,一个控制断开时间,一起来看看。
看完这段程序,建议大家还是自己动手 操作一遍,效果会更好哦!
往期优秀文章回顾:238道低压/初级电工考试题,2017和2018版(附答案)
PLC控制彩灯项目,超详细案例讲解,快来收藏
导读:本案例主要让读者练习西门子S7-200SMART系列PLC位逻辑指令、定时器、移位指令、子程序的结构等。
控制示意图
如图3-1所示为彩灯控制示意图。
图3-1 彩灯控制
控制要求描述
现有L1-L8共8盏彩灯,要求按下开始按钮,霓虹灯L1-L8以正序每隔1S轮流点亮,当L8亮后,停2S;然后,反向逆序间隔1S轮流点亮,当L1再亮后,停5S,重复上述过程。按下停止按钮,彩灯停止工作。
I/O分配
根据控制要求描述对需要用到的I/O进行分配,如图3-2所示:
图3-2 I/O分配表
【相关指令解读】:此案例主要用到移位指令和其它指令配合,这里主要解读移位指令。
循环左移字节(图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
程序控制程序
(1)主程序,对数据初始化,调用相关子程序。M1.0接通代表左移位开始,左移开始之前,将1赋值给QB0。M1.2接通代表右移开始,将128给到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所示
本案例采用子程序的结构编程,并且结合循环指令、定时器指令等编写彩灯循环案例。希望大家能在此文章中汲取西门子200SMART PLC编程相关知识及理念。
(来源:技成培训网,作者:郭彪,留言处大家可以补充文章解释不对或欠缺的部分)
相关问答
plc怎么控制两个灯循环亮?
使用了R901C与非指令动作2个灯的发光控制,因此启动时不能保证灯1或是灯2首先发光。这是由于启动时刻与R901C的脉冲产生时刻不能保证同步,因此,若启动时R901C刚...
西门子PLC单灯循环编程?
比较简单的方法,程序长,抛砖引玉,大家考虑用简单的。图片不好显示全,步骤是这样的。1、按键按下后置位一个标志位。用这个标志位去控制下面的计数器。2、用...
用PLC实现彩灯的顺序循环点亮控制?
要用PLC实现彩灯的顺序循环点亮控制,可以按照以下步骤进行:1.确定需要控制的彩灯数量和控制顺序,设计电路连接方式,并将彩灯的正极连接到PLC的输出端口上。...
西门子plc控制一个灯怎么编程?
编写西门子PLC控制灯的程序,首先需要创建一个输出点,该点连接到控制灯的电路。然后将该输出点的初始状态设置为关闭。在程序的主循环中,通过读取输入数据,判...
plc流水灯循环可以用for指令吗?
plc流水灯循环可以使用for指令。在使用for指令时,可以通过设置循环次数,来实现plc流水灯的循环。除了使用for指令,还可以使用while循环和计时器等实现流水灯的...
如何用PLC梯形图做一个8盏灯轮流闪烁的流水灯?
这里需要用到移位指令,然后赋值到Y0-Y7表示的8盏灯下图是程序移位指令SPL初始将第一位置1,低8位就是00000001,隔两秒左移移一位就是00000010--00000100-0000...
西门子plc三个灯循环亮每两个灯一起亮时间间隔3秒怎么编程序?
用三个计时器,第一个定时器开始亮两个灯(AB),计时到两两个(BC),同时第二个计时器开始计时,计时到两CA,同时第三个计时器开始计时,计时到清三个计时器。...用...
PLC语句表设计四字顺序点亮的后,全亮全灭,最后循环现有四...
[最佳回答]LDX000ORM0ORBT1ANIY003ANIX001OUTM0LDM8013ANDM0SFTLPM0Y000K4K1LDY003OUTT0K20LDT0ZRST...
三菱PLC控制广告彩灯的设计16盏灯按下启动后从1到16每隔一秒...
[最佳回答]用左移,启动ldx0setm0停止ldx1rstm0停止时用传送指令清零ldim0movk0k4y0,启动时第一个脉冲置数ldpm0movk1k4y0右移指令,ld...
交通灯怎么做循环?
PLC实现程序循环(交通灯)方法交通信号灯分东、西、南、北四组,每组分别有“红”“黄”“绿”三种颜色。其工作状态由PLC过程控制,“启动”、“停止”按...