基于PLC模拟量采集程序的滤波方式

2018-03-30 02:26王安翔
电子技术与软件工程 2017年16期

王安翔

摘要

本文主要从干扰源较多的现场环境考虑,介绍PLC控制系统中模拟量信号采样针对随机干扰提出的几种滤波方法,并用仿真和应用实例证明了其有效性和可行性。

【关键词】PLC 随机干扰 软件滤波

可编程序控制器PLC是一种进行数字运算的电子系统,是专门为在工业环境下的应用而设计的工业控制器。因其具有编程简单、使用方便,功能完善且对环境适应性强等特点,PLC己被广泛应用于各行各业。但在工程实际中,由于工业生产的现场环境非常恶劣,干扰源比较多,所以计算机采集到的现场数据信号中难免混有干扰。因此,在处理模拟量信号时,为了消除其中一部分随机干扰,准确的获得真实信号己达到准确的测量与控制,就需要通过软件编程时增加一部分滤波程序来对输入的模拟量采样信号的进行滤波,方便系统控制。

1 方式与方法

1.1 消抖滤波法

设置一个滤波计数器,计数次数为N。将每次采样值与当前有效值比较:如果采样值=当前有效值,则计数器清零;如果采样值◇当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出),如果计数器溢出,则将本次值替换当前有效值,并将计数器清零。

从图1中看出,系统在静态时,消抖滤波效果比较好;系统动态时,滤波效果就不明显。由此得出消抖滤波法的特点

1.1.1 优点

(1)适用于系统静态过程较多的场合;

(2)可基本避免在现场环境中随机干扰造成的数值抖动。

1.1.2 缺点

(1)对于系统在动态时的被测参数滤波效果不明显;

(2)从曲线的后半段凸起可以看出,如果在计数器溢出的那一次采样值恰好是干扰值,则会将干扰值当作有效值导入系统,造成系统随机性抖动。

1.2 —阶滞后滤波法

取a=0至1之间;本次滤波结果=a*本次采样值+(1-a)*上次滤波结果。

从图2上看出,滤波后所有干扰的效果都按比例减小。由此可得出该方法的特点。

1.2.1 优点

(1)在系统动态或静态时对随机干扰具有一定的抑制作用;

(2)由于系统动态时效果好于消抖滤波法,适用于系统动态过程较多的场合。

1.2.2 缺点

(1)相位滞后,灵敏度低,滞后程度取决于a值大小。a越小,滞后程度越;

(2)由于滤波算法选用相邻两个采样值进行运算,如果这两个采样值恰好都是同方向的干扰值,则得出结果也是干扰值。

1.3 算术平均滤波法

本次滤波值=(采样值1+采样值2+...+采样值N)/N。

从图3上看出,滤波后所有干扰的效果都明显减小。由此可得出该方法的特点。

1.3.1 优点

(1)由于用于采样数据量大于一阶滞后滤波法的两个采样数据,同時出现多个同方向的干扰值得机会减小,滤波效果就比一阶滞后滤波法好,而且N值越大,滤波效果越明显;

(2)这样有效值的特点是多个采样值的平均值,采样值会在有效值范围附近上下波动,有效值会比采样值的波形平滑了许多。

1.3.2 缺点

(1)系统滞后较为明显,滞后时间为采样周期的N倍。而且N次采集,得出一个结果,滤波值变化周期为采集周期的N倍,对于测量速度较慢或要求数据计算速度较快的实时控制不适用;

(2)软件处理中,除了需要多次运算(N-1次加法运算;1次除法运算),因为采样值数据是有效值数据的N倍,这样比较浪费PLC的RAM。

2 结论

以上三种方式各有优缺点,在变化缓慢的系统中(例如温控系统),适合使用消抖滤波'法在变化快速的系统中(例如调速系统),适合使用一阶滞后滤波或算术平均值法。如果在一阶滞后滤波法中,a=0.5,也是求平均值的方法。中和这两种滤波方法,我们可以制作一个较好的算法,称为递推平均滤波法。

制作一个采样计数器,每次采集一个数据,计数器+1,当计数器等于N时,清零。这时候采集到的数据就可以根据计数器的数值存放到相应的寄存器当中。

本次滤波值=(寄存器0+寄存器1+...+寄存器N-1)/N

该方法具备了算术平均滤波法的优点,同时也消除了滤波周期过慢的缺点,它的滤波周期与采集周期一致(最初的N个采集周期除外)。

注意:以上方法中N值取值范围不宜过大,理论上,采样滤波滞后时间不能大于系统控制时间的一半,最好小于系统控制时间的一个数量级,即为系统控制时间的0.1倍。例如递推平均滤波法的N—般取4或8。

3 结束语

本文针对PLC控制系统中,采集数据受到随机干扰产生系统波动的问题,提出软件滤波的一些方法。这些方法保证了采集数据的可靠性,一定程度解决一些过程控制系统的波动问题。

参考文献

[1]沈精虎主编.西门子系列PLC原理与应用[M].北京:人民邮电出版社,2009.

[2]胡学林主编.可编程控制器教程[M].北京:电子工业出版社,2003.