首页 资讯 招标 项目 展会 更多

位置:首页 > 新闻频道 > 技术动态


一种嵌入式PLC系统自动测试中数字滤波新算法

2016-02-26 10:37:32 安装信息网

相关链接: 中国安全网 中国质量网 中国论文网 中国资讯网

作者:张毅

   1嵌入式PLC系统整体架构

风电场嵌入式PLC系统总体架构如图1所示。按照功能,可将嵌入式PLC系统分为开发系统和运行系统两大部分。

  开发系统采用德国3S公司开发的CoDeSys系统,基于IEC61131-3标准编写嵌入式PLC系统应用软件,通过风河公司的Tornado软件实现操作系统和系统软件的编辑定制、调试,并编译生成相应的配置文件下载至运行系统。运行系统主要是硬实时操作系统VxWorks,通过CAN接口、串行通信口、网络通信口等接口与外围设备实时通信,系统启动后,会按照要求完成整个系统的配置与初始化,然后运行系统内核Runtime System,以一定周期循环读取输入通道的值,执行控制算法后,产生相应的输出信号,控制外围设备。

2  自动测试系统

  目前使用的非标测试系统是为了满足嵌入式PLC系统研发人员进行模块测试的需要而设计的临时测试解决方案,存在许多缺陷,随着市场开拓、产品需求量的增加,必将对测试人员的熟练度、测试工艺、测试全面性以及测试周期等提出更高的要求,而现有的测试工作状态将会成为限制产品产能的一个重要因素。因此,实现嵌入式PLC系统的自动测试势在必行。自动测试系统由待测嵌入式PLC系统、程控仪器、上位机、测试程序集一起构成闭环系统,通过上位机控制程控仪器输出激励信号,获取模块状态,读取输入输出数据在可视化界面上进行显示,同时将测试结果以表格形式输出。

3数字滤波技术

  在嵌入式PLC系统的自动测试过程中,要保证精度与效率,实现整体动态测试并支持环境测试,必须对采集的数据进行处理,尤其是对温度、液位、流量、压力等在通过传感器获取时输入与输出呈非线性关系的信号必须进行滤波,以消除或减少噪声和干扰信号对测试结果的影响。要过滤掉这些噪声和干扰信号,可以采用硬件滤波电路与数字滤波技术。硬件滤波需要在硬件电路中加入滤波器,还需进行阻抗匹配;数字滤波技术以软件算法实现信号处理,方便灵活,可靠稳定,功能强大,通过修改程序就可以调整滤波方法和滤波参数,而不需要增加其他硬件设备,因此在嵌入式PLC系统自动测试中采用数字滤波技术在数据进入处理器之前对其进行过滤。

3.1  现有滤波算法

3.1.1  算术平均滤波

算术平均滤波是对一个输入项连续进行N(N一4~12)次数据采样,获得N个采样数据X,(1≤i≤N),寻找与各采样值之间方差之和最小的Y,如式(1)所示:

求极值可得:

  式(2)即为算术平均滤波,对N个采样数据求算术平均值作为当前项的采样值。该方法适用于过滤随机干扰信号,对脉冲干扰抑制能力弱,滤波周期长,处理速度比较慢。

3.1.2加权平均滤波

加权平均滤波是在算术平均滤波的基础上改变每次采样的权重,数据越靠近当前时刻,所占的权重越高。N次加权平均滤波算法表示为:

其中:C.为权值系数,且有:

  加权平均滤波比算术平均滤波灵敏度高‘阳,但是同样存在周期过长、效率低的缺点,且运算量更大,权值不容易确定。

3.1.3滑动平均滤波

滑动平均滤波是先缓冲一个固定宽度为N的数据队列,然后每获取一个数据,将新数据插入队尾,同时丢弃原处于队首的数据,对新的N个数据求平均得到新的滤波值:

滑动平均滤波流程如图2所示。滑动平均滤波数据处理速度快,能够进行高速数据采集,可以抑制周期性的干扰,但对脉冲干扰作用很弱。

3.1.4  中值滤波

中值滤波是对一个输入项进行N次连续采样,采用冒泡法对N个数据进行排序,取N/2的整数部分为k,计算求值:

  中值滤波可以过滤偶然波动和不稳定脉冲干扰。

3.1.5  程序判断滤波

程序判断滤波主要是根据经验对连续两次采样值之间的差值与设定的最大偏差值AY进行比较,如果两次采样值之差大于最大偏差值AY,则将该采样值丢弃;若差值小于最大偏差值AY,则取本次采样值:

  程序判断滤波简单快捷,只需判断相邻两次采样值之差与最大偏差的大小,对突发的尖脉冲有明显的抑制作用,但使用程序判断滤波会导致信号失真,不好设定临界最大偏差值。

3.1.6   -阶滞后滤波

一阶滞后滤波属于动态滤波算法,能够弥补模拟滤波器随着时间常数的增大,误差和体积也随着增加的缺点。其表达式为:

其中:XN为第N次采样值;YN为滤波后的输出值;YN-,为前一次的滤波输出值;a为滤波系数;r为时间常数;T为采样周期。

3.1.7去极值滤波

去极值滤波结合了算术平均滤波和中值滤波,它是对N个采样值排序,丢弃最大和最小的两个值,取剩下的N-2个值的算术平均值作为滤波值,表示为:

  去极值滤波既可以抑制干扰脉冲,又可以加强控制,但是由于计算量大,速度比较慢,占用芯片资源多。

3.2  改进滤波算法

  前面提及的滤波算法在一般工业场合已经适用,但嵌入式PLC系统模块众多,信号种类多,采集的任何信号受到干扰都可能影响风力发电机的控制精度,甚至导致风力发电机故障、停机、损坏。风力发电机造价高,任何一点故障都会直接带来经济损失,因此在自动测试的过程中不能依靠某种现有的通用滤波算法,必须根据实际情况对滤波算法进行修改与改进,以提高算法的灵敏度与平滑度,为测试提供高效、精确的数据来源。

通过分析现有滤波算法的优缺点,结合嵌入式PLC系统的自动测试要求,改进后的滤波算法综合了滑动平均滤波、算术平均滤波以及去极值滤波的优点,可实现精确滤波。首先建立一个缓冲队列,在队列未达到满员时,采集一个数据立即输出一个数据,高效保证数据实时性,避免像算术平均滤波那样多次采集才进行一次滤波;当缓冲队列达到满员后,每采集一个数据就将数据插入队尾,并丢弃队首的一个数据,保持队列长度固定;然后排序判断队列里的最大值与最小值,并排除这两个值,对队列剩下的数据执行去极值滤波算法,输出滤波后的数据。改进的滤波算法流程如图3所示,既可以抑制随机干扰信号与周期性干扰信号,又可以削弱脉冲干扰,强化控制,同时数据处理速度快,高效准确。

4测试实验

  嵌入式PLC系统自动测试过程中,对每一项测试的处理数据量不大,数据队列长度可取20。在数据长度不大的情况下采用什么算法进行排序影响不大,在改进后的数字滤波算法中采用的是冒泡法。

由于嵌入式PLC系统自动测试项目较多,这里以模拟量输入输出模块±10 V输入进行实验。在未采用改进的数字滤波算法之前,尽管硬件上采取了隔离措施,在静电脉冲干扰下输入信号波形如图4所示;采用数字滤波算法后输入信号波形见图5。对比一下波形可以明显看出,使用滤波算法前静电脉冲干扰下输入信号不稳定,出现局部失真;使用滤波算法后输入信号波形变得稳定、平滑,已将静电脉冲干扰信号过滤掉,更加接近于真实值,滤波效果理想,采样速度满足测试系统要求。

5结语

本文通过分析7种常用数字滤波算法的优缺点,结合嵌入式PLC系统自动测试要求,提出一种改进的数字滤波算法。经过实验证明,改进的数字滤波算法能够改善嵌入式PLC系统自动测试中的数据采集性能,提高了测量精度,为嵌入式PLC系统的自动测试提供高效、精确的数据来源。

6摘要:嵌入式PLC系统自动测试是对嵌入式PLC系统进行全面的功能、性能测试,以保证嵌入式PLC系统的可靠性。数字滤波算法决定了自动测试系统的速度和精度,是自动测试中信号采集最重要的部分。在介绍了嵌入式PLC系统整体架构以及自动测试系统组成后,分析了现有滤波算法的优缺点,在此基础上结合嵌入式PLC系统的测试要求,修改与改进了一种滤波算法,为测试提供了精确、高效的数据来源。

关键字:

上一篇:一种非结构化P2P网络引导型进化博弈新算法

下一篇:返回列表

行业资讯月点击排行

展会信息月点击排行

招商信息月点击排行

首页 资讯 招标 项目 展会
关于我们 | 广告服务 | 友情连接 | 联系我们
触屏版 电脑版
安装信息网 www.36qyk.cn.