关于s7 300的中值滤波

由模拟量传输过来的数据跳动太大,导致程序中不能准确判断,故采用了中值滤波的方法,实验结果由原始数据正负0.1的数据变化滤波后为正负0.01变化。

首先在OB35中进行定时,设置硬件的时钟存储器,字节为0,设置后m0.0到m0.7的脉冲时间分别为10、5、2.5、2、1.25、1、0.625、0.5HZ

梯形图如下

此程序每三秒将m43.0置1

在主程序OB1中调用滤波功能块,并建立相应的数据块

程序如下

通过指针将连续变化的模拟量装入数据块中,再通过冒泡法将数据块中的数据进行排序,取中间值完成滤波



猜你喜欢

转载自blog.csdn.net/u013110229/article/details/52942471