欧姆龙plc计数器指令 CNT是单向计数器,CNTR是可逆计数器。这两种计数器在编程时都需要设定计数值。 设定值用4位十进制数表示,范围0~9999。设定值既可表示成立即数形式(设定值前加“#”),也可以放在通道中(设定值前无“#”即表示通道号)。 (1)单向计数器CNT。 单向计数器的计数输入端CP每接通1次(从OFF到ON),计数值减1。当计数值减到0时,计数器的触点动作。 当计数器的复位端R接通时,计数器被复位,其常开触点断开,常闭触点闭合,且计数值恢复到设定值。单向计数器的使用如图3-30。 计数器CNT0001的计数设定值是3,输入继电器触点000005每接通1次,计数值减1。 当触点000005接通3次时,CNT0001计数到,其常开触点C0001闭合,使输出继电器000101接通。 当输入继电器触点000000接通时,计数器CNT0001被复位,其常开触点断开,输出继电器000101断开。图3-30梯形图对应的指令助记符程序如下所示。 图3-30 CNT指令梯形图 图3-30梯形图的波形图如图3-31所示,由图可见,在输入继电器触点000000接通期间,触点000005有两次接通,但此时计数器不计数,因为当计数逻辑CP与复位逻辑R同时接通时,复位优先。 只有触点000000断开后,计数器才开始计数,输入继电器触点000005每接通1次,计数器计数值减1,当接通3次时,计数器计数值减到0,其常开触点动作,使输出继电器000101产生输出。此后,000005再接通,计数器仍然是计数到,其常开触点C0001一直保持闭合,直到被复位。波形图中000005脉冲上方数字表示该脉冲到来时,计数器的当前值。 图3-31 图3-30梯形图的波形图 (2)可逆计数器CNTR。 可逆计数器既可递增计数,又可递减计数。它有3个输入端:加计数端II、减计数端DI和复位端R。加计数端每接通1次,可逆计数器的值加1;减计数端每接通1次,可逆计数器的值就减1;无论何时复位端接通,可逆计数器均被复位成0。 可逆计数器的使用如图3-32所示,波形图如图3-33所示。电工天下 000002每接通1次,可逆计数器的值加1。当加计数到设定值(0003)时,在加计数端Ⅱ再输入1个脉冲,可逆计数器CNTR0011的值变为0并产生输出(C0011 ON)。 继续在加计数端Ⅱ输入脉冲,计数值增加,其触点C0011又断开(OFF)。 图3-32 使用可逆计数器的梯形图 000003每接通1次,可逆计数器的值减1,当减计数到0时,在减计数端DI再输入1个脉冲,可逆计数器CNTR0011的值变为设定值(0003)并产生输出(C0011 ON)。继续在减计数端DI输入脉冲,计数值减少,其触点C0011又断开(OFF)。 波形图中在000002和000003脉冲上方的数字表示该脉冲到来时,可逆计数器的当前值。www. 编号0011是唯一的,所以图中的触点C0011就是受可逆计数器CNTR0011控制的。编写可逆计数器的指令助记符程序时要注意:先写加计数逻辑,再写减计数逻辑,最后写复位逻辑,顺序不要弄错。 图3-32梯形图对应的指令助记符程序如下所示。 不论是单向计数器还是可逆计数器,在电源断电时计数值都能保持。 【例4】用定时器和计数器延长定时时间。 图中定时器TIM0001的常闭触点T0001串联在自己的输入逻辑上,构成定时器的自复位接法。当输入继电器触点000002接通时,每延时3s定时器TIM0001接通,过一个扫描周期后,利用其自身的常闭触点将定时器线圈断开,从而该触点也恢复常闭,又开始定时。如此周而复始,产生周期为3s的窄脉冲,其波形如图3-35所示。 图3-35 图3-34梯形图的波形图 计数器CNT0002对3s周期的脉冲进行计数,计到1 200次时产生输出,其触点00002闭合,使输出继电器000100接通。 因此.该程序从输入继电器000002接通开始,经过60min(1200×3s=3600s)的延时后,输出继电器000100产生输出,实现1h的延时控制。 由于计数器具有断电记忆的功能,因此整个程序构成一个具有停电记忆功能的定时器。 只有输入继电器触点000003接通时,该定时器才复位。图3-34梯形图对应的指令助记符程序如下所示。 【例5】用两个计数器扩大计数值。 计数器CNT和CNTR的计数范围都是0~9999,当需要计数的数值超过这个最大计数值时,可将两个或多个计数器组合使用,以达到扩大计数范围的目的。 用两个计数器扩大计数值的梯形图如图3-36所示。 图中计数器CNT0001的设定值为500,CNT0002的设定值为600。 计数器CNT0001对输入继电器触点000002的通断次数进行计数,当计数次数达到500次时,CNT0001动作,其常开触点C0001闭合,作为CNT0002的计数输入,而另一常开触点闭合,将自身复位。CNT0002每计数一次,就表示CNT0001已经计数500次。 这样当CNT0002的计数值达到设定值600时,输入继电器触点000002的通断次数就达到了500×600=300000,输出继电器000100接通。 此后,CNT0001处于复位状态,不计数,直到输入继电器触点000003接通时,两个计数器均被复位,才重新开始计数。 |
|