配置: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