回复:以定时中断的方式累积流量,但结果相差很大,不知道为什么?

已锁定

lu_zhao_long

  • 帖子

    493
  • 精华

    9
  • 被关注

    33

论坛等级:侠圣

注册时间:2004-09-17

钻石 钻石 如何晋级?

发布于 2024-09-12 17:37:10

4楼

个人认为,你用 矩形的面积 来计算流量曲线所围的面积,间隔越大,误差越大。

有两个改进方法,你可以试试看:

1. 减小间隔。把中断时间改成 50ms 或 100 ms;

2. 使用梯形的面积 来计算流量曲线所围的面积:

    比如说,使用 VD396 记录前一周期的流量值 FT0,VD408 用来记录当前流量值 VD400 与前一周期流量值 VD396 的平均值。

    然后在你的 DIV_R 除以 3600 指令之前插入一个 AVG_R VD396, VD408, 2 求数组平均值的指令;

    再然后把你的 DIV_R 除以 3600 指令的被除数 由 VD400 换成 VD408;

    最后在累加指令 ADD_R 后面再添加一行无条件(SM0.0 使能)的 MOV_R 指令,把 VD400 传送给 VD396。即在累加指令结束之后,把当前流量值 VD400 保存到 VD396,为下一周期累加计算做好准备。

深陷于此,我是来“喝水”的! lu_zhao_long@139.com
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8941条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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