回复:求助大神平均值

will666

西门子1847工业学习平台

  • 帖子

    2127
  • 精华

    12
  • 被关注

    113

论坛等级:奇侠

注册时间:2009-05-19

钻石 钻石 如何晋级?

发布于 2019-05-10 15:35:34

4楼

我觉得楼主的思路不对,做平均计算应该是运行起来后是连续进行的,不应该有3600秒之后清零重新来的动作,而应该是3600秒之后把第1秒的数据舍掉,把最后1秒的数据加进来再除以3600。当然了,做一个3600秒的移动平均值我觉得用不到,几十秒足够了,我的做法是做一个类似堆栈的数组,DB0~DB9(以10个为例),每秒到来都是堆栈前移一位,新数据放到DB9,当11秒时DB0的数据被丢掉,DB9里放的是第11秒的数据,这样我们就有了一个不断前移的数据队列,把这个队列累加除以10就得到平均值结果。前10秒的数据不准确,可以忽略不用,如果想相对准确可以在程序运行的第一个周期把AI值赋给DB0~DB9。这种算法可以只固定采样数量,如果要改变滤波周期可以通过修改采样周期来实现。

污水处理自控工程师,简称污师。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。