自己编了个求平均值的FC,但是老是有问题,求单个输入值的平均值可以。但当多次调用该FC,求多个输入值的平均值时,最终的计算出的平均值传给各自对应的DB块数据时,总是在计算周期内随其他输入值就变化,或者干脆溢出。主要想实现每隔一秒采一次样,10分钟求一次平均值。采样间隔和计算周期最好是可调的 。大家帮看一下,问题在哪,怎样修改:
A #Aver_Strt 启动计算
JCN _End
L #Sum_Tm 判断计算周期是否到
L #SrTm
JCN _002
A #bPulse 采样间隔 1秒脉冲
JCN _003
L #AI 采样值累加
T #AI_Temp1
L #AI_Temp1
L #AI_Sum
+R
T #AI_Sum
L #Sum_Tm 计算周期计时
INC 1
T #Sum_Tm
JU _003
_002: L #SrTm
ITD
T #Srtm1
L #Srtm1
DTR
T #Srtm2
L #AI_Sum 求平均值
L #Srtm2
/R
T #Aver_AI
_End: L 0 临时变量清零
T #Sum_Tm
L 0
T #AI_Temp1
L 0
T #AI_Sum
_003: NOP 0