S7200求平均值问题

配置:CPU224、KTP178触摸屏
程序中有一变量VD310,与触摸屏通讯,本程序是测量液位高度的,每次测量VD310在屏中显示的数据都不一样,我想取3次数据取其平均值,但是在程序中第一次比如显示0.5,第二次显示0.9,显示0.9时就把第一次0.5的值给覆盖掉了,第三次显示把第二次又给覆盖掉了,我的问题是:如何保留第一次、第二次的值,然后取其平均值。请高手赐教,并给出详细解答。谢谢!

问题补充:
请问cloud21  VD1168代表什么?为何要除以64?请回复!谢谢!

最佳答案

你应该在系统块里做一下滤波设置.
 当然可以软件滤波,程序如下:
 Network 1 // NETWORK TITLE (single line)
 //  
 // vw1156为输入缓冲
 LD     SM0.0
 MOVW   AIW0, VW1156
 Network 2 
 LD     SM0.0
 ITD    VW1156, VD1160
 Network 3 
 // VD1164为计数器
 LD     SM0.0
 INCD   VD1164
 +D     VD1160, VD1168
 Network 4 
 // 取三次平均
 LDD>=  VD1164, 3
 EU
 MOVD   VD1168, VD1172
 /D     +64, VD1172
 MOVD   +0, VD1164
 MOVD   +0, VD1168
 

提问者对于答案的评价:
非常适用

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论