求连续小时平均值

西门子300,温度数据模拟量采用OB35定时中断,实现定时10S采集一个数值放在DB1数据块内,共存放一个小时360个数据,堆栈连续不断循环,第361数据覆盖第一数据,以此类推,再采用寻址求和求出小时平均值。不知道能否实现?

最佳答案

你这个不就是滑动滤波吗?
通过间接地址和循环在指令就可以实现啊,在DB1数据块里建一个360个浮点变量的数组,然后每次采集的时候,通过循环指令,从后向前依次将前一个数据覆盖后后一个数据即可,最新的数据覆盖到第一个数据,这样每个周期第一个数据都是最新的!载做循环的时候,就手求和了,循环执行完毕除以360就可以了!
需要注意的是数据没有填充满的时候,不能用360求平均数,这个需要再优化处理!

提问者对于答案的评价:
这个能不能具体点!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午10:41
下一篇 2020年10月30日 下午10:41

相关推荐