键盘滴答,码上不同。
本例分享一下关于模拟量数值滤波的处理算法,网上也有很多的介绍,此文中的例子是根据算法公式创建的FB功能块,使用SCL语言编写可以更加直接便捷。
1、什么是一阶滞后滤波算法?
一阶滞后滤波算法是一种常见的数字滤波技术,用于平滑数据并去除噪声。该算法通常用于处理周期性信号,适用于处理高频振荡的信号,可以去除突变值。
一阶滞后滤波算法的公式为:Y=k*Xn+(1-k)*Xn-1
Y:滤波后输出值;
k:滤波系数,范围0<k<1,K值即滤波系数越大,算法越灵敏,平滑性越差;滤波系数越小,算法灵敏差,平滑性越好。
Xn:输入值
Xn-1:上次结果
2、程序截图
根据算法公式,使用SCL语言编写,如有不足之处,请指正。
程序截图
3、博途自带滤波功能
其实,对于大部分的模拟量滤波处理,可以直接使用博途自带的滤波设置进行处理就可以满足使用要求,同时在取值的过程中加以时间延时等方法基本可以满足日常应用。
设备组态中的模拟量滤波设置
滤波说明1
滤波说明2
4、模拟量程序中处理示例
前提,控制对于模拟量数字的变化要求不高,如同下方,地坑泵的液位控制中,液位的变化即使延时5s也不会对整个系统造成过大的影响,并且加以时间延时可以有效避免液体混动带来的错误信号。
模拟量——液位处理
本例,仅是抛砖引玉,大家在模拟量的滤波处理过程中,如有更好的方法,希望可以评论区分享一下,相互学习,共同进步。