设备运行时间计算程序

已锁定

will666

  • 帖子

    2001
  • 精华

    12
  • 被关注

    102

论坛等级:奇侠

注册时间:2009-05-19

钻石 钻石 如何晋级?

设备运行时间计算程序

5575

24

2020-07-18 10:51:46

        昨天一个同事向我反应说现场PLC的设备运行时间计算不准确,有时候一个小时能差一分钟,他经过分析认为运行时间计算应该放到中断程序里处理。我跟他说设备运行时间计算完全没有必要放在中断中执行,有误差肯定是编程有问题,然后我把我的算法给他分享了,并且这个算法我用了很久没有出现过明显误差,今天也跟大家分享一下。



        程序用到了系统时钟M0.5(设置时钟标记地址为M0)秒方波。具体算法是T_RT_M每秒加1,当它大于3600时表明记录时间超过1小时了,此时给T_RT_H加1,给T_RT_M减3600。最后时间等于T_RT_H+(T_RT_M/3600),用实数表示。因为是用上升沿计数,并且秒信号是保持0.5秒的方波,所以程序扫描时间不大于500ms的情况下肯定能捕捉到,不会丢失脉冲。

        以前发现有的程序虽然也采用秒方波计数的方式,但是没用用到两级累计的方法,而是每个脉冲给运行时间累计0.0002778小时,由于浮点数小数精度是不定的,当数据大到一定程度每次累加的小数就会被舍去,造成误差偏大。


设备运行时间计算程序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54049条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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