使用PLC读取现场一些模拟量信号时,除了系统块内的滤波外,建议在程序里也加入滤波,可以有效过改善信号质量或者滤掉非正常的干扰。
常用的数字滤波方法很多,以下是一个最简单的平均值滤波的程序,方法就是连续读取N个采样值直接做算数平均运算。
主程序:
子程序中使用了10ms定时器,这里将采样周期设为常量10,实际采样周期就是100ms。将采样次数也设为10,由此,数据的滤波周期就是1秒。
当然,采样周期和次数均可设置为变量,以便查看不同参数下的滤波效果。
子程序:考虑到采样次数较多的情况,所以"滤波累加值"变量类型设置为双整数。这时子程序中就需要数据类型转换。(如果采样少,可以不用转换)