前面介绍了欧姆龙公司C系列P型机plc基本指令和功能指令,这些基本指令和功能指令的功能在其它PLC中也都基本具备,只是在各种继电器的数量、地址分配、图形符号、指令格式及通道分配等方面的表达方式上有所不同。只要熟练地掌握了一种PLC的编程指令,结合新接触的其他plc编程手册,了解各种功能的指令表达方式,就能很快地掌握新机型的使用和编程。
一、定时器的应用
1、通电延时
所谓通电延时,是指满足定时条件时,定时器的设定值作为初值赋给该定时器的当前值寄存器,并开始作减运算,直到当前值减到零时,定时器才动作,使其动合触点闭合,动断触点断开。当定时器的输入断开时,定时器立即复位,即把当前值恢复到设定值,使其动合触点断开,动断触点闭合。上一节中的图6-6即是此种情况。
2、失电延时
失电延时是指从某个输入条件断开时开始延时,见图1。
图1 失电延时电路
当0002为ON时,其动合触点闭合,输出继电器0500接通并自锁。当0002变为OFF后,且断开时间达到10s时,0500才由ON变OFF,实现了失电延时。
3、双延时
所谓双延时定时器,是指通电和失电均延时的定时器。用两个定时器完成双延时控制,如图2所示。
当输入0002为ON时,TIM00开始定时,5 s后接通0500并自锁。当0002由ON变OFF时,TIM01开始定时,10 s后,TIM01动断触点断开0500,实现了输出继电器0500在输入0002通电和失电时均产生延时控制的效果。
图2 双延时电路
4、闪光控制
闪光控制是广泛应用的一种实用控制程序,它既可以控制灯光的闪烁频率,又可以控制灯光的通断时间比。当然也可控制其它负载,如电铃、蜂鸣器等。实现闪光控制的方法很多,常用的方法是用两个定时器或两个计数器来实现。
图3所示是用两个定时器编写闪光电路的梯形图程序。图3 通断比不一定相同的闪光电路
在途6-60中,当0002为ON时,内部辅助继电器1000线圈接通并自锁,1000的动合触点使0500为ON(灯亮)。2 s后,定时器TIM00动作,其动断触点断开0500(灯灭),其动合触点闭合使TM01开始定时。又经过1 s后,TIM01的动断触点断开时TIM00复位,TIM00的动断触点接通0500,TIM00的动合触点断开使TIM01复位,TIM01的动断触点闭合又使TIM00开始定时。(http://www.ippipp.com/版权所有)这样,输出0500所接的负载灯,以接通2 s、断开1 s的频率不停的闪烁,直到0003变ON为止。若要想改变闪光电路的频率,只需要改变两个定时器的时间常数即可。
在闪光控制中,如果通断比相同时,可用一个定时器和一个内部辅助继电器实现闪光控制,见图4(a)。如0002为ON,启动定时器TIM01,1 s后TIM01的动合触点闭合,1001的线圈为ON。到下一个扫描周期,TIM01的动断触点断开,使TIM00复位。待扫描到1001的动合触点及TIM01的动断触点时,由于它们均闭合,使1001的线圈继续为ON。再到下一个扫描周期,由于TIM01的动断触点为闭合状态,又重新启动定时器TIM01,1 s后TIM01的动断触点断开,使1001的线圈为OFF,再经过一个扫描周期使TIM01复位,又回到了初始状态。如果0002仍为ON,则开始下一个闪光控制工作周期。
另外,借助专用内部辅助继电器1900、1901和1902来控制输出继电器,也可实现特定频率的闪光控制,如图4(b)所示。
图4 通断比相同的闪光电路
5、长延时控制
PLC定时器的定时范围是一定的,如C系列PLC的单个TIM定时器的定时范围是0~999.9 s。当需要设定的定时值超过此值时,可通过几个定时器的串级组合或定时器与计数器的串级组合来扩大定时器的设定范围。
1)定时器的串级组合
图5所示是由两个定时器TIM00和TIM01组成的延时时间为1500 s的延时电路。当0002为ON时,定时器TIM00开始计时,900 s后TIM00的动合触点闭合,定时器TIM01开始计时,又经过600 s,接通输出继电器0500。因此,两个定时器的延时范围为T=T1+T2=900+600=1500s。n个定时器串级组合的延时时间为T=T1+T2+…+Tn。
图5 两个定时器的串级组合
2)定时器与计数器的串级组合
图6所示是由定时器TIM00和计数器CNT01组成的延时范围为7200 s的延时电路。TIM00是设定值为800 s的具有自复位功能的定时器。当0002为ON时,TIM00开始计时,800s时,TIM00动合触点闭合,CNT01计数一次,下一次扫描时,TIM00的动断触点断开TIM00的线圈,待下一次扫描时,TIM00的动断触点又闭合,TIM00的线圈重新接通。这样作为计数器CNT01计数脉冲输入的TIM00动合触点,每800 s接通一次,每次接通时间为一个扫描周期。TIM00动作9次,即800×9=7200 s后,计数器CNT01动作,其动合触点闭合使0500得电。因此,用一个定时器和一个计数器串级组合可实现的延时时间为定时器和计数器设定值的乘积。图中1815是为了实现开机时对计数器复位。
图6 定时器和计数器的串级组合
二、计数器的扩展
C系列PLC的计数器的计数范围是0000~9999,如果需要的计数值超过此数值时,可将两个或多个计数器进行串级组合。
图7所示为两个计数器的串级组合,CNT00每计数900次后,CNT11计数1次,CNT11计数800次后其动合触点闭合使0500得电,此时总的计数值为900×800=720 000 次。因此,n个计数器的串级组合可实现的计数值为各计数器设定值的乘积。图中CNT00的复位输入端的CNT00动合触点是为了使CNT00每计数900次动作后及时复位,以便下一次计数。0006用来使CNT01手动复位。
图7 计数器的串级组合
三、单脉冲发生器
在实际应用中,我们常用到单个脉冲,用它控制系统的启动、复位、计数器的清零和计数等。在这种情况下,我们就用到了单脉冲发生器。单脉冲往往是在信号变化时产生的,其宽度就是PLC的一个扫描周期。
在图8中,如0002变为ON,1000、1001及0500为ON。然而一个扫描周期以后,由于1001的动断触点断开,使1000为OFF,从而使0500断电,只产生一个脉冲,即0002每次由OFF→ON,0500得电一个扫描周期。
用前沿微分或后沿微分指令也可以构成单脉冲发生器。
图8 单脉冲发生器
四、单按钮启停控制程序
通常一个电路的启动和停止控制是由两只控制按钮分别完成的,当一台PLC控制多个这种具有启停操作的电路时,将占用很多输入点,这时就会面临输入点不足的问题,因此用单按钮实现启停控制的意义日益重要。
图9和图10分别是用计数器和不用计数器实现的单按钮启停控制程序。
图9所示是用计数器实现的单按钮启停控制,当按一下0002所对应的输入按钮时,由微分指令使1000得电一个扫描周期,使输出0500得电并自锁,同时计数器CNT00计数一次,当第二次按下0002所对应的输入按钮时,1000又得电一个扫描周期,计数器CNT00又计数一次,由于计数器CNT00的计数值达到设定值,计数器CNT00动作,其动合触点使CNT00复位,为下次计数做好准备,其动断触点断开输出0500回路,实现了用一只按钮启停的单数次计数启动、双数次计数停止的控制。
图9 用计数器实现的单按钮启停控制
图10 不用计数器实现的单按钮启停控制
图10所示是不用计数器就能实现的单按钮启停控制,当按一下0002所对应的输入按钮时,前沿微分指令使1000得电一个扫描周期,在当前扫描周期内,当扫描到第二个梯级的0500的动合触点时,它为OFF状态,因此1001为OFF状态。当扫描到第三个梯级时,0500为ON状态。在程序执行到下一个扫描周期使,尽管第二个梯级的0500的动合触点为ON,但此时1000的动合触点已为OFF状态(它只得电一个扫描周期),所以1001仍为OFF状态,0500继续保持为ON。(http://www.ippipp.com/版权所有)当第二次按下0002所对应的输入按钮时,1000又得电一个扫描周期,这时1001才变为ON,其动断触点断开输出0500回路,实现了用单按钮的启停控制。
五、分频器
单按钮的启停控制已经包含了分频器的思想。如果我们用有规律的时钟脉冲(如1900、1901、1902)来代替用于启停控制的单按钮,这就是典型的二分频器。图11所示就是用二分频器实现的ON、OFF时间均为1 s的闪光控制程序,而图1(b)中0500的ON、OFF时间均为0.5s。
图11 用分频器实现的闪光控制