2.6.5 计数器(C)
计数器是一种具有计数功能的继电器,它可以有无数个常开触点和常闭触点。计数器可分为加计数器和加/减双向计数器。计数器表示符号为C,按十进制方式编号。计数器可分为普通型计数器和停电保持型计数器。
三菱FX系列PLC支持的计数器如表2-12所示。
表2-12 三菱FX系列PLC支持的计数器
1.加计数器的使用
加计数器的使用如图2-26所示,C0是一个普通型的16位加计数器。当X010触点闭合时,RST指令将C0计数器复位(状态值变为OFF,当前计数值变为0),X010触点断开后,X011触点每闭合、断开一次(产生一个脉冲),计数器C0的当前计数值就递增1,X011触点第10次闭合时,C0计数器的当前计数值达到设定计数值10,其状态值马上变为ON,C0常开触点闭合,Y000线圈得电。当计数器的计数值达到设定值后,即使再输入脉冲,其状态值和当前计数值也保持不变,直到用RST指令将计数器复位。
图2-26 加计数器的使用
停电保持型计数器的使用方法与普通型计数器基本相似,两者的区别主要在于,普通型计数器在PLC停电时状态值和当前计数值会被复位,上电后重新开始计数,而停电保持型计数器在PLC停电时会保持停电前的状态值和计数值,上电后会在先前保持的计数值基础上继续计数。
2.加/减计数器的使用
三菱FX系列PLC的C200~C234为加/减计数器,这些计数器既可以加计数,又可以减计数,进行何种计数方式分别受特殊辅助继电器M8200~M8234的控制。比如,C200计数器的计数方式受M8200辅助继电器控制,M8200=1(M8200状态为ON)时,C200计数器进行减计数;M8200=0时,C200计数器进行加计数。
加/减计数器在计数值达到设定值后,如果仍有脉冲输入,其计数值会继续增大或减小,在加计数达到最大值2147483647时,再来一个脉冲,计数值会变为最小值−2147483648;在减计数达到最小值−2147483648时,再来一个脉冲,计数值会变为最大值2147483647,所以加/减计数器是环形计数器。在计数时,不管加/减计数器进行的是加计数还是减计数,只要其当前计数值小于设定计数值,计数器的状态就为OFF;若当前计数值大于或等于设定计数值,则计数器的状态为ON。
加/减计数器的使用如图2-27所示。
图2-27 加/减计数器的使用
当X012触点闭合时,M8200继电器状态为ON,C200计数器工作方式为减计数,X012触点断开时,M8200继电器状态为OFF,C200计数器工作方式为加计数。当X013触点闭合时,RST指令对C200计数器进行复位,其状态变为OFF,当前计数值也变为0。
C200计数器复位后,将X013触点断开,X014触点每通断一次(产生一个脉冲),C200计数器的计数值就加1或减1。进行加计数,当C200计数器的当前计数值达到设定值(图中由−6增到−5)时,其状态变为ON;进行减计数,当C200计数器的当前计数值减到小于设定值(图中由−5减到−6)时,其状态变为OFF。
3.计数值的设定方式
计数器的计数值可以直接用常数设定(直接设定),也可以将数据寄存器中的数值设为计数值(间接设定)。计数器的计数值设定如图2-28所示。
16位计数器的计数值设定如图2-28(a)所示,C0计数器的计数值采用直接设定方式,直接将常数6设为计数值;C1计数器的计数值采用间接设定方式,先用MOV指令将常数10传送到数据寄存器D5中,然后将D5中的值指定为计数值。
32位计数器的计数值设定如图2-28(b)所示,C200计数器的计数值采用直接设定方式,直接将常数43210设为计数值;C201计数器的计数值采用间接设定方式,由于计数值为32位,故需要先用DMOV指令(32位数据传送指令)将常数68000传送到两个16位数据寄存器D6、D5(两个)中,然后将D6、D5中的值指定为计数值,在编程时只需输入低编号数据寄存器,相邻高编号数据寄存器会自动占用。
图2-28 计数器的计数值设定