菜鸟同学提问:
如题:: 谢谢。 什么情况下需要编滤波、阻尼、小信号切除这些。 PLC需要编吗??
还有一个问题: 为什么有的人编程序的时候会检测EM231这种模块是否有故障,有什么作用?
武林小虾:
看情况吧,对检测对象容易波动,变化快不稳定的,要编滤波,小信号切除啥的,比如检测压力传感器的反馈信号,
酱油甲:
具体情况具体分析。多数情况下不需要。
菜鸟:
如果需要的话要怎么编写,有没有例子啊,谢谢。
武林小虾:
好像不需要,我用的是压力传感器,4-20mA的,发段我的模拟处理的给你看一下
LD SM0.0
MOVW AIW0, LW48
-I +6400, LW48
ITD LW48, LD0
DTR LD0, LD16
MOVR LD16, LD32
/R 2.56, LD32
TRUNC LD32, VD1000
酱油甲:
其实,有没有例子也不重要,*重要的是算法。
我比较喜欢用滑动平均值滤波。做一个FIFO队列(数据结构的一种,如果不知道网上搜搜),队列的数据单元个数越多,滤波效果越好,但速度越慢,我一般都去4、8、16,将队列的所有数据相加,再除以队列的单元数,就得到了平均值。
酱油乙:
我觉得平均值滤波很常用,说不定比西门子自己提供的死区滤波还常用。真的建议西门子提供这样的系统块设置或者在模拟量模块上可以拨码设置。比如松下的模拟量模块就有。
酱油丙:
系统块里的滤波设置,就是平均值滤波。
酱油丁:
看实际情况了 数值显示比较稳定就不要滤波器了
武林小虾:
根据实际情况决定需不需滤波,信号稳定了就不需要滤波,要是有变频器或者其他干扰性比较强的那就需要滤波了!
高手:
你采集的信号满足要求,你就不会注意这些小功能的。当你出现干扰失真等情况时你才会仔细研究这些东西。在某些关键场合,AI值不对,可能231出问题了,然后得比对下吧。