PLC200模拟量剔除处理

现有四路模拟量输入(4~20mA),拟对四路模拟量取算术平均,并对坏值进行剔除处理(即不在4~20mA范围内的值),若有一路为坏值,则此路信号不参与取平均。请教有无类似C语言中if判断的函数,直接对模拟量进行判断剔除?现在用的太繁琐了。。。
现在的处理是这样的:①首先做坏值判断处理,分别对应标志位M20.0~20.3;②判断M20.0~M20.3的值,来分别确定DIV函数是除4、3、2、1?③作输出。

最佳答案

200plc中定义两个变量,或者直接用v区,保存累计值sum和参与求平均值的参数个数count。这两个变量的初始值分别是0.0和0.如果模拟量输入信号在正常范围内,则count=count+1,sum=sum+ai。最后判断如果count>0则平均值为sum/count。这个只要在plc来做就好了不需要用上位机编程的。

提问者对于答案的评价:
谢谢!~阿鸣老师给的中值滤波库,感觉适用于固定时间间隔的采样吧,可能我理解太浅显了,先用笨法子做吧~

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc246879.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日 下午3:03
下一篇 2018年12月2日 下午3:03

相关推荐