什么是高速计数器(HSC)
所谓高速计数器顾名思义是用于采集频率较高的输入信号,如果采用普通的I口输入,因为扫描周期的存在造成信息丢失。规模较小的程序扫描周期也会在10ms左右,因此超过100Hz的信息一定会丢失。而高速计数器的最高采集频率为200KHz,不受PLC扫描周期的影响,大大拓展了PLC的应用范围。
典型的应用为采集旋转运动的旋转频率,例如伺服电机的Z脉冲反馈,如果伺服电机额定转速6000r/min,Z脉冲频率为100Hz,采用普通的开关量采集肯定会造成数据丢失。
高速计数器同时可以触发中断事件,能够根据需要及时对数据进行处理,提高程序的实时性和灵活性。
对于224和226CPU,一共6个高速脉冲计数器,单相为30KHz,双相20KHz。224XPsi可以提供最高200KHz的信号采集。
如何使用高速计数器(HSC)
第一、合理分配,正确接线
使用高速计数器的话首先需要将需要采集的信号接到固定的I口上,因为S7-200指在规定的I口上提供高速脉冲输入。对应关系如下表所示,如果只使用模式0,则HSC0到HSC5分别占用I0.0、I0.6、I1.2、I0.1、I0.3、I0.4。如果使用其他的模式,还需要占用其他的I口。
第二、按需配置,有效初始化
使用前需要构思好高速计数器的工作模式及后面数据的处理方式,不建议采用复杂的工作模式,建议采用简单的工作模式如:模式0,结合中断进行数据处理,这样程序会更加灵活。下面给出了一个配置HSC0的初始化程序,需要写在初始化程序中。
主要配置思路:配置为模式0,增计数,预设值为1,使用中断事件进行处理。每收到一个脉冲就进入中断服务程序,在中断服务程序中进行数据处理。
第三、灵活处理,效果最优
下面是一个简单的中断处理程序,如果是正转则圈数加1,如果是反转圈数减1,可以根据需要进行其他的处理,不过一定要注意中断处理程序尽量短,否则影响整个程序效率。
高速计数器(HSC)的注意事项
1、 专口专用,特别是大部分模式下,高速计数器需要占用好几个I口,一定要注意
2、 如果用来记录圈数等,可以配合掉电后保存M存储区或者通过SM37.1将数据永久保存,实现绝对值编码器的效果。
3、 如果脉冲不是特别特别高,建议使用简单的计数器模式,配合中断实现复杂的数据处理,这样系统会比较灵活。
,