基于PLC的数字滤波器设计及其在水位测量中的应用
未知来源 供稿 2005-7-19 16:55:00
【字体:大 中 小】
1 引言
PLC是目前在众多领域广泛使用的一种数字控制器。能够对模拟信号进行处理是PLC的主要功能之一。在进行信号处理之前,PLC先要采样信号。由于模拟信号很容易受到干扰,因此在采样信号时,必须进行滤波处理。数字滤波的方法有很多种,比较经常使用的有算术平均值滤波、中值滤波等方法[1>。在模拟电路中,经常使用低通滤波器进行滤波,从而去处高频信号对模拟量的影响。本文详细介绍了低通滤波器的数学模型及其滤波的仿真效果,而后介绍了对其进行数字化的过程,并给出了这种数字滤波器的PLC程序,最后介绍了这种数字滤波器在英德市长湖水电厂水位监测中的应用。应用实践表明,这种数字滤波的效果是相当好的。
2 低通滤波器的数学模型及仿真
在模拟电路中,经常使用低通滤波器对模拟信号进行滤波,其电路如图1所示[2>。
图1 低通滤波器的电路示意图
对于图1中的物理模型,其微分方程为:
其中,x(t)为输入信号,y(t)为输出信号。对于低通滤波器,式(1)中的K=1。对其进行Laplace变换后得到传递函数为:
其中,K为增益,T为时间常数。当低通滤波器只进行滤波,不进行信号变换时,则K=1,那么(2)式变为:
令时间常数T=4,采用MatLab的SIMULINK
建模[3>,如图2所示:
图2 低通滤波器仿真结构框图
在图2中有二个示波器,其中“示波器1”用于显示添加了白噪声的阶跃信号,其结果如图3所示;“示波器”用于显示含有高频成分的阶跃信号经过低通滤波之后的结果,如图4所示。对比图3和图4中可见,低通滤波器的效果良好,对于频率较高的干扰,低通滤波器能够有效抑制其对输出的影响。
图3 添加了白噪声的阶跃信号
图4 阶跃信号经过滤波后的结果
3 低通滤波器的数字化
低通滤波器虽然效果良好,但是在采用PLC的控制系统中通过添加硬件的方式进行滤波,会使得系统的可靠性降低,因此最好采用软件进行滤波,也就是数字滤波。
重写图1的微分方程如下:
对式(4)进行离散化,令,其中TS为采样周期,k为采样次数,则
把式(5)代入式(4)中,可得:
对公式(6)进行整理可得:
其中,y(k-1)为上一次滤波器的输出,x(k)本次采样的值,y(k)为本次滤波器的输出,时间常数T可以在程序中设定。
4 低通滤波器的PLC程序设计与应用
采用西门子的S7-300 PLC 编写低通滤波器的程序[4>,需要进行二个工作。首先,必须在HW CONFIG中组态定时中断的时间间隔,也就是设定采样周期;其次是编写PLC的程序。在本文中,把低通滤波器的程序编写为一个子模块,给其它程序调用。
在编写程序时,需要定义一个DB数据块,用于保存上一次滤波器的输出。实际编写的程序如图5所示。
图5 低通过滤波的PLC程序
图6 没有经过滤波的水位波形
图7 经过滤波的水位波形
把这种数字滤波器应用在英德市长湖水电厂水位监测中,可以得到如图7所示的水位变化波形图,与图6中没有使用滤波器的水位变化波形比较,经过滤波之后,水位波形中没有再次出现图6中的尖峰,充分说明这种滤波器的良好效果。
5 结束语
通过上述的分析可见,本文设计的低通滤波器程序简单,滤波效果良好,这种滤波方法相对于其它滤波的方法而言,算法简单,不必在定时中断程序中多次采样,从而缩短定时中断程序运行时间。这种滤波的算法适应于大多数的温度、压力等控制过程,可以在广泛的领域得到应用。
因篇幅问题不能全部显示,请点此查看更多更全内容