怎样编写这个程序?
《 关于PLC如何编程的问题讨论(续2)》
有这样一个课题:一个按钮控制5个电磁阀。按下启动按钮,保持一段时间后按钮抬起,要求从按下按钮时起,延时1S,使电磁阀1得电,再延时0.9S,使电磁阀2得电,再延时0.8 S,使电磁阀3得电,再延时0.7 S,,使电磁阀4得电,再延时0.6 S,使电磁阀5得电。当按钮抬起时起,延时2S,使电磁阀1断电,再延时1.9 S,使电磁阀2断电,再延时1.8S,使电磁阀3断电,再延时1.7S,,使电磁阀47断电,再延时1.6S,使电磁阀5断电。
在按钮按下时间里,可能会因按钮抖动,出现打连发现象,要求排除抖动干扰,应如何编程?
一、 编程的思考:
1、 可以用5个通电延时定时器控制5个电磁阀得电,再用5个通电延时定时器控制5个电磁阀断电。由于按钮按下的时间是可变的,其长度有可能短于5个电磁阀延时的总时间,故不能用按钮连接的PLC的输入点(如I0.0)来连接5个定时器,可以用I0.0=1的前沿去触发PLC内部的一个位信号(如M1.0)使其置1(即M1.0=1),再用M1.0的常开点使定时器T101(延时1 S)得电且开始延时,延时时间到,T101=1(即吸合),用其前沿使Q0.0=1(电磁阀1得电动作)T101的常开触点闭合,使T102(延时0.9S)得电开始延时,延时时间到,T102=1,其前沿使Q0.1=1(电磁阀2得电动作)。。。。直到第5个电磁阀得电动作。
按钮抬起(即I0.0=1的后沿)时,使M0.1=1,而M0.1=1使T106(延时2S)得电延时,延时时间到,T106=1,使Q0.0=0(电磁阀1失电断开),同时使T107(延时1.9S)得电延时,延时时间到,T107=1,使Q0.1=0(电磁阀2失电断开)。。。直到电磁阀5失电断开。
2、 对按钮按下时因抖动产生的打连发现象的消除:
按下按钮时,因按钮的抖动会产生打连发的现象,是不可避免的。如何在编程时消除这种干扰呢?可以采用这样处理办法:
(1)、按钮连结PLC输入点为 I0.0,按下按钮时,用I0.0=1 的前沿触发M0.0,使M0.0置1(M0.0=1),用M0.0的常开点去连接控制5个电磁阀延时启动的定时,这样处理后,在M0.0=1后,再出现I0.0=1的连发干扰脉冲,对M0.0=1无影响。
(2)、用I0.0的常开点连接通电延时定时器T115,其定时时间设定为0.5S。当按下按钮,使I0.0=1,连续导通0.5S,T115才能吸合,如按下时产生抖动,由于抖动引起的干扰脉冲的间距<0.3S,这样T115是不会吸合的,只有抖动现象消除后,再延时0.5S ,T115才能吸合。当按钮抬起时T115立即断开,即T115的断开时间与按钮抬起是同时刻的,我们就用T115=1的后沿去触发5个电磁阀断开的延时定时器,就解决打连发的干扰问题。
二、编程:根据上述分析,编出如下程序:
经上机运行,其控制动作正确。按钮按下时间大于0.5S 都可正常运行。对连续按几下,其彼此间隔都小于0.5S时,程序都不动作。