在GX Works2中,计数器是一种特殊的数据寄存器,用于存储和控制计数值。内部计数是在执行扫描操作时对内部信号(如X、Y、M、T等)进行计数,内部输入信号的接通和断开时间应比PLC的扫描周期稍长,否则无法正确计数。
三菱内部的计数器主要分为两种:普通计数器和高速计数器。
普通计数器:
这种计数器是PLC内部的软件计数器,它可以对PLC内部的触点信号进行计数,也就是说,当某个触点由OFF变为ON时,计数器的值就会加1。
◆16位通用增计数器:C0∽C99(100点);设定值区间为K1∽K32767
◆16位停电保持增计数器:C100∽C199(100点);设定区间为K1∽K32767
◆32位通用增/减双向计数器:C200∽C219(20点);设定值区间为K-2147483648∽+214783648
◆32位停电保持增/减双向计数器:C220∽C234(15点);设定值区间为K-2147483648∽+214783648
普通计数器的使用方法如下:
- 使用LD或LDI指令启动计数器,例如LD C0或LDI C200。
- 使用OUT指令输出计数器的值,例如OUT D0或OUT D100。
- 使用RST指令复位计数器,例如RST C0或RST C200。
- 使用CMP指令比较计数器的值和设定值,例如CMP C0 K100或CMP C200 K10000。
- 使用MOV指令给计数器赋值,例如MOV K50 C0或MOV K50000 C200。
高速计数器:
这种计数器是PLC外部的硬件计数器,它可以对PLC输入端口X的脉冲信号进行高速计数,也就是说,当某个输入端口由OFF变为ON时,高速计数器的值就会加1。
高速计数器有1相1计数输入、1相2计数输入和2相2计数输入三种,它们分别对应不同的脉冲信号形式。
输入表描述:U为加计数输入,D为减计数输入,B为B相输入,A为A相输入,R为复位输入,S为启动输入。X6、X7只能用作启动信号,而不能用作计数信号。
高速计数器的编号范围是C235~C245、C246~C250和C251~C255。
C235~C245是1相1计数输入。
其触点动作与32位增/减计数器相同,可进行增或减计数(取决于M8235~M8245的状态)。
这类高速计数器具有两个输入端:一个为增计数输入端,另一个为减计数输入端。利用M8246~M8250的ON/OFF动作可监控C246~C250的增计数/减计数动作。
A相和B相信号决定计数器是增计数还是减计数。当A相为ON时,若B相由OFF到ON,则为增计数;当A相为ON时,若B相由ON到OFF,则为减计数。
高速计数器都是32位的,其设定区间为K-2147483648∽+214783648。
高速计数器的特点是:
- 高速计数器的计数与PLC的扫描周期无关,即使PLC停止运行或进入监视模式,高速计数器也会继续工作。
- 高速计数器可以由外部输入信号控制其复位和启动,例如X0可以控制C235的复位和启动。
- 高速计数器可以设置上限值和下限值,当达到上限值时会输出一个上限触点(如CC235),当达到下限值时会输出一个下限触点(如CD235)。
- 高速计数器可以设置方向控制信号(如X1),当方向控制信号为ON时,高速计数器正向加法运算;当方向控制信号为OFF时,高速计数器反向减法运算。
高速计数器的使用方法如下:
- 使用HSC指令设置高速计数器的参数,例如HSC C235 K100 K200 X0 X1。
- 使用OUT指令输出高速计数器的值,例如OUT D10或OUT D110。
- 使用RST指令复位高速计数器,例如RST C235或RST C251。
- 使用CMP指令比较高速计数器的值和设定值,例如CMP C235 K500或CMP C251 K1000。
- 使用MOV指令给高速计数器赋值,例如MOV K300 C235或MOV K2000 C251。