只要提供一个时钟脉冲信号作为计数器的计数输入信号,计数器就可以实现定时功能,时钟脉冲信号的周期与计数器的设定值相乘就是定时时间。时钟脉冲信号,可以由PLC内部特殊继电器产生(如FX系列PLC的M8011、M8012、M8013和M8014等),也可以由连续脉冲发生程序产生,还可以由PLC外部时钟电路产生。
如图5-11所示为采用计数器实现延时的程序,由M8012产生周期为0.1s时钟脉冲信号。当启动信号X15闭合时,M2得电并自锁,M8012时钟脉冲加到C0的计数输入端。当C0累计到18000个脉冲时,计数器C0动作,C0常开触点闭合,Y5线圈接通,Y5的触点动作。从X15闭合到Y5动作的延时时间为18000×0.1=1800s。延时误差和精度主要由时钟脉冲信号的周期决定,要提高定时精度,就必须用周期更短的时钟脉冲作为计数信号。
图5-11 应用一个计数器的延时程序
a)梯形图 b)时序图 SHAPE \* MERGEFORMAT
延时程序最大延时时间受计数器的最大计数值和时钟脉冲的周期限制,如图5-11所示计数器C0的最大计数值为32767,所以最大延时时间为:32767×0.1=3276.7s。要增大延时时间,可以增大时钟脉冲的周期,但这又使定时精度下降。为获得更长时间的延时,同时又能保证定时精度,可采用两级或多级计数器串级计数。如图5-12所示为采用两级计数器串级计数延时的一个例子。图中由C0构成一个1800s(30min)的定时器,其常开触点每隔30min闭合一个扫描周期。这是因为C0的复位输入端并联了一个C0常开触点,当C0累计到18000个脉冲时,计数器C0动作,C0常开触点闭合,C0复位,C0计数器动作一个扫描周期后又开始计数,使C0输出一个周期为30min、脉宽为一个扫描周期的时钟脉冲。C0的另一个常开触点作为C1的计数输入,当C0常开触点接通一次,C1输入一个计数脉冲,当C1计数脉冲累计到10个时,计数器C1动作,C1常开触点闭合,使Y5线圈接通,Y5触点动作。从X15闭合,到Y5动作,其延时时间为18000×0.1×10=18000s(5h)。计数器C0和C1串级后,最大的延时时间可达:32767×0.1×32767s=29824.34 h=1242.68天。
图5-12 应用两个计数器的延时程序