首页 理论教育PLC中的高速计数器及其使用方法

PLC中的高速计数器及其使用方法

【摘要】:在PLC中,处理比扫描频率高的输入信号的任务是由高速计数器来完成的。在实际工程中,高速计数器大多连接增量型旋转编码器,用于检测位移量和速度等。每个高速计数器在使用前,都要用HDEF指令来定义工作模式,并且只能定义1次。2)执行高速计数器指令HSC。功能是根据与高速计数器相关的特殊继电器确定的控制方式和工作状态,使高速计数器的设置生效,按照指定的工作模式执行计数操作。高速计数器各种数值存放处见表1-26。

普通计数器是按照顺序扫描的方式进行工作,在每个扫描周期中,对计数脉冲只能进行一次累加,计数频率一般仅有几十赫兹。然而,当输入脉冲信号的频率比PLC的扫描频率高时,如果仍然采用普通计数器进行累加,必然会丢失很多输入脉冲信号。在PLC中,处理比扫描频率高的输入信号的任务是由高速计数器来完成的。

1.输入端的连接

S7-200 CPU226拥有6个高速计数器HSC0~HSC5,用以响应快速的脉冲输入信号,可以设置多达12种不同的操作模式。用户程序中一旦采用了高速计数器功能,首先要定好高速计数器的号数,也就是在6个当中选取,然后就要定模式,因号数与模式相对于PLC的输入点都是固定的,见表1-24。接下来就要编程了,除软件(编程)方面要有相应的初始化设置外,PLC的输入端也一定要与产生高速脉冲信号的设备按照已定的号数与模式把导线接好。

在实际工程中,高速计数器大多连接增量型旋转编码器,用于检测位移量和速度等。

旋转编码器一般与被控电动机同轴,每旋转一周可发出一定数量的计数脉冲和一个复位脉冲,作为高速计数器的输入,这种方式的输入信号是不受扫描周期控制的,随来随进,因之前已为此编写了专用程序,与程序相对应的输入端就成为“绿色通道”,只要用户程序中能利用上送进来的脉冲数就可以了,这就是高速计数器的特点。

表1-24中所用到的输入点,如果不使用高速计数器,可作为一般的数字量输入点,有些高速计数器的输入点相互间,或它们与边沿中断(I0.0~I0.3)的输入点有重叠,同一输入点不能同时用于两种不同的功能。但是高速计数器当前模式未使用的输入点可以用于其他功能。例如,HSC0工作在模式1时只使用I0.0及I0.2,那么I0.1就可供他用了。在PLC的实际应用中,每个输入点的作用是唯一的,不能对某一个输入点分配多个用途,因此要合理分配每一个输入点。

1-24 高速计数器的输入点

978-7-111-59315-7-Chapter01-55.jpg

2.高速计数器的工作模式

工作模式大致分为下面4大类:

1)无外部方向输入信号(内部方向控制)的单相加/减计数器(模式0~2):可以用高速计数器的控制字节的第3位来控制是加还是减。该位是1时为加,是0时为减。

2)有外部方向输入信号的单相加/减计数器(模式3~5):方向输入信号是1时为加计数,是0时为减计数。

3)有加计数时钟脉冲和减计数时钟脉冲输入的双相计数器(模式6~8),也就是双相增/减计数器,双脉冲输入。

4)A/B相正交计数器(模式9~11):它的两路计数脉冲的相位互差90°,正转时A相在前,反转时B相在前。利用这一特点可以实现在正转时加计数,反转时减计数。

3.高速计数器指令

高速计数器的指令有2条:定义高速计数器指令HDEF(见图1-26)和执行高速计数器指令HSC(见图1-27)。

1)定义高速计数器指令HDEF。功能是为某个要使用的高速计数器选定一种工作模式。每个高速计数器在使用前,都要用HDEF指令来定义工作模式,并且只能定义1次。可以用只ON一个扫描周期的指令或SM0.1调用包含HDEF指令的子程序来定义高速计数器,也就是说,只激活或者初始化一下即可。在梯形图中,HDEF以功能框的形式编程,它有2个数据输入端:HSC为要使用的高速计数器编号,数据类型为字节型,数据范围为0~5的常数,分别对应HC0~HC5;MODE为高速计数器的工作模式,数据类型为字节型,数据范围为0~11的常数,分别对应12种工作模式。当允许输入EN有效时,为指定的高速计数器HSC定义工作模式MODE。

2)执行高速计数器指令HSC。功能是根据与高速计数器相关的特殊继电器确定的控制方式和工作状态,使高速计数器的设置生效,按照指定的工作模式执行计数操作。

978-7-111-59315-7-Chapter01-56.jpg

图1-26 HDEF指令

978-7-111-59315-7-Chapter01-57.jpg

图1-27 HSC指令

在梯形图中,HSC以功能框的形式编程,它有一个数据输入端N:N为高速计数器的编号,数据类型为字型,数据范围为0~5的常数,分别对应HC0~HC5。当允许输入EN有效时,启动N所对应的HC0~HC5之一。

4.高速计数器的控制字节

在使用高速计数器时,用HDEF指令定工作模式,用HSC指令定开启哪个高速计数器,然后还要对高速计数器的动态参数进行编程。各高速计数器均有一个特殊继电器的控制字节SMB,通过对控制字节指定位的编程,确定高速计数器的工作方式,各位的意义见表1-25。执行HSC指令时,CPU检查控制字节及有关的当前值与设定值。执行HDEF指令之前必须将控制位设置成需要的状态,否则高速计数器将选用模式的默认设置。一旦执行了HDEF指令,设置的控制位就不能再改变,除非CPU进入停止模式。

5.高速计数器的数值寻址

每个高速计数器都有一个初始值和一个设定值,它们都是32位有符号整数。初始值是高速计数器计数的起始值;设定值是高速计数器运行的目标值,当实际计数值等于设定值(见表1-22)时会发生一个内部中断事件。必须先设置控制字节(见表1-25)以允许装入新的初始值和设定值,并且把初始值和设定值存入特殊存储器中,然后执行HSC指令使新的初始值和设定值有效。高速计数器各种数值存放处见表1-26。当前值也是一个32位的有符号整数,例如,表中的HSC0的当前值,在程序里可从HC0中直接读出。

1-25 高速计数器的控制字节

978-7-111-59315-7-Chapter01-58.jpg

1-26 高速计数器的数值寻址

978-7-111-59315-7-Chapter01-59.jpg