如何用STEP7做一个模拟量平均值

请教大家一个问题。我现在碰到一个问题,如果用西门子PLC400 STEP7 V5。4做一个模拟量的平均值,比如一个温度的值是跳动了,在200度左右跳动,我如何编一个程序做在一分钟之内的平均值。谢谢

也可以在OB35里面做,ob35每100ms执行一次,通过一个如mw20计算累加次数,将每100ms采集的模拟量累加起来放入md24,达到要求的次数如10次(相当于1秒)后给出一个扫描周期的m1.0,m1.0有了将md24/mw20(注意mw20的需dtr数据类型转换),算出的值按照堆栈方式将结果存入一个数据库中保存起来,完成后将mw20和md24重新赋初值0和0.0。再用一个条件控制需要采集数据的次数或者时间,即可完成该项目。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-19
用2个 定时器采样, 即可实现. 1个设置为 100ms, 另一个设置为 1S,这样把 10次采样的置相加 除以10既是 要的平均值了!
第2个回答  2013-09-19
我做过一个水泵每小时启动次数限制的程序,启动次数多于五次就报警,低于五次正常,和这个有点象。做一个数组,每次采集的数据放在最后一个里面,前面的循环前移一个位置,长度做成一分钟,最后把数组里面的每个数字加起来除以个数,应该就行了
第3个回答  2013-09-19
如果每个周期采集的数据都参与平均值计算是否也可以?设Bn为前n个数据的平均值,则前n+1个数据的平均值是B(n+1)=Bn+【A(n+1)-Bn】/(n+1),其中B0=0其中A(n+1)是第n+1个周期的采样值结果是B0=0B1=A1B2=B1+【A2-B1】/2=A1+【A2-A1】/2=【A1+A2】/2B3=B2+【A3-B2】/3=【A1+A2+A3】/3....Bn=【A1+A2+...+An】/n
第4个回答  2013-09-19
回复内容:对:彩虹关于其实这个程序西门子资料库里就有只需复制过来调用就可以了不用自己编写!内容的回复:哪里有 需要下载吗
相似回答