2.6.6 高速计数器

前面介绍的普通计数器的计数速度较慢,它与PLC的扫描周期有关,一个扫描周期内最多只能增1或减1,如果一个扫描周期内有多个脉冲输入,也只能计1,这样会出现计数不准确,为此PLC内部专门设置了与扫描周期无关的高速计数器(HSC),用于对高速脉冲进行计数。三菱FX3U/3UC型PLC最高可对100kHz高速脉冲进行计数,其他型号PLC最高计数频率也可达60kHz。

三菱FX系列PLC有C235~C255共21个高速计数器(均为32位加/减环形计数器),这些计数器使用X000~X007共8个端子作为计数输入或控制端子,这些端子对不同的高速计数器有不同的功能定义,一个端子不能被多个计数器同时使用。三菱FX系列PLC的高速计数器及使用端子的功能定义见表2-13。当使用某个高速计数器时,会自动占用相应的输入端子用于指定的功能。

表2-13 三菱FX系列PLC的高速计数器及使用端子的功能定义

(续表)

注:U/D—加计数输入/减计数输入;R—复位输入;S—启动输入;A—A相输入;B—B相输入。
(1)单相单输入高速计数器(C235~C245)

单相单输入高速计数器可分为无启动/复位控制功能的计数器(C235~C240)和有启动/复位控制功能的计数器(C241~C245)。C235~C245计数器的加、减计数方式分别由M8235~M8245特殊辅助继电器的状态决定,状态为ON时计数器进行减计数,状态为OFF时计数器进行加计数。

单相单输入高速计数器的使用举例如图2-29所示。

图2-29 单相单输入高速计数器的使用举例

在计数器C235输入为ON(X012触点闭合)期间,C235对X000端子(程序中不出现)输入的脉冲进行计数;如果辅助继电器M8235状态为OFF(X010触点断开),C235进行加计数,若M8235状态为ON(X010触点闭合),C235进行减计数。在计数时,不管C235进行加计数还是减计数,如果当前计数值小于设定计数值−5,C235的状态值就为OFF,如果当前计数值大于或等于−5,C235的状态值就为ON;如果X011触点闭合,RST指令会将C235复位,C235当前值变为0,状态值变为OFF。

从图2-29(a)所示程序可以看出,计数器C244采用与C235相同的触点控制,但C244属于有专门启动/复位控制的计数器,当X012触点闭合时,C235计数器输入为ON马上开始计数,而同时C244计数器输入也为ON但不会开始计数,只有X006端子(C244的启动控制端)输入为ON时,C244才开始计数,数据寄存器D1、D0中的值被指定为C244的设定计数值。高速计数器是32位计数器,其设定值占用两个数据寄存器,编程时只要输入低位寄存器即可。对C244计数器复位有两种方法,一是执行RST指令(让X011触点闭合),二是让X001端子(C244的复位控制端)输入为ON。

(2)单相双输入高速计数器(C246~C250)

单相双输入高速计数器有两个计数输入端,一个为加计数输入端,一个为减计数输入端,当加计数端输入上升沿时进行加计数,当减计数端输入上升沿时进行减计数。C246~C250高速计数器当前的计数方式可通过分别查看M8246~M8250的状态来了解,状态为ON表示正在进行减计数,状态为OFF表示正在进行加计数。

单相双输入高速计数器的使用举例如图2-30所示。当X012触点闭合时,C246计数器启动计数,若X000端子输入脉冲,C246进行加计数,若X001端子输入脉冲,C246进行减计数。只有在X012触点闭合并且X006端子(C249的启动控制端)输入为ON时,C249才开始计数,X000端子输入脉冲时C249进行加计数,X001端子输入脉冲时C249进行减计数。C246计数器可使用RST指令复位,C249既可使用RST指令复位,又可通过让X002端子(C249的复位控制端)输入为ON来复位。

图2-30 单相双输入高速计数器的使用举例

(3)双相双输入高速计数器(C251~C255)

双相双输入高速计数器有两个计数输入端,一个为A相输入端,一个为B相输入端,在A相输入为ON时,B相输入上升沿进行加计数,B相输入下降沿进行减计数。C251~C255的计数方式分别由M8251~M8255来监控。比如,M8251=1时,C251当前进行减计数;M8251=0时,C251当前进行加计数。

双相双输入高速计数器的使用举例如图2-31所示。

当C251计数器输入为ON(X012触点闭合)时,启动计数,在A相脉冲(由X000端子输入)为ON时对B相脉冲(由X001端子输入)进行计数,B相脉冲上升沿来时进行加计数,B相脉冲下降沿来时进行减计数。如果A、B相脉冲由两相旋转编码器提供,则编码器正转时产生的A相脉冲相位超前B相脉冲,在A相脉冲为ON时B相脉冲只会出现上升沿,如图2-31(b)所示,即编码器正转时进行加计数;在编码器反转时产生的A相脉冲相位落后B相脉冲,在A相脉冲为ON时B相脉冲只会出现下降沿,即编码器反转时进行减计数。

C251计数器进行减计数时,M8251继电器状态为ON,M8251常开触点闭合,Y003线圈得电。在计数时,若C251计数器的当前计数值大于或等于设定计数值,C251状态为ON,C251常开触点闭合,Y002线圈得电。C251计数器可用RST指令复位,其状态变为OFF,将当前计数值清0。

图2-31 双相双输入高速计数器的使用举例

C254计数器的计数方式与C251基本类似,但启动C254计数除要求X012触点闭合(让C254输入为ON)外,还须X006端子(C254的启动控制端)输入为ON。C254计数器既可使用RST指令复位,又可通过让X002端子(C254的复位控制端)输入为ON来复位。