故事作者:will666

最近创作

看看TA的故事

【跨新年】博图标准化编程技巧(三)设备运行时间计算

已锁定

will666

  • 帖子

    2001
  • 精华

    12
  • 被关注

    103

论坛等级:奇侠

注册时间:2009-05-19

钻石 钻石 如何晋级?

【跨新年】博图标准化编程技巧(三)设备运行时间计算

6068

51

2022-12-24 22:31:54

star star star

博图标准化编程技巧(三)设备运行时间计算

        设备标准化程序控制模块除了需要具有一般的起保停控制功能外还需要具有诸如设备运行总时间、启动总次数、本次运行时间、启动时间、停止时间等各种时间参数的计算。为了方便在FB中集成,这些参数计算最好使用秒方波计数的方式来实现。

        刚开始入行的时候,我用秒方波计算设备运行时间的算法就是当设备运行时,每一个秒脉冲到来给总运行时间加上0.0002778小时(即3600分之1小时)。当时看着没有问题,时间计算的非常准确,可是没等一年质保期过去,业主反应时间越来越不准确,最后几乎不增加了。这时候才意识到浮点数的小数精度问题,当整数部分越来越大时,小数的精度会越来越小,最后一个很大的浮点数加上一个很小的浮点数直接就被省略掉了。

        所以我们采用秒脉冲计数做时间累加时要特别注意浮点数精度问题,一般需要两级累加才能保证足够的精度。比如运行时间计算,需要R_TRT_H和R_TRT_S两个累加变量,其中前者保存累加的小时数,后者保存累加的秒数。当秒数大于或等于3600时,小时数加1同时秒数减3600,最终结果为小时数+秒数/3600。当然如果只需要保留小时数的话可以采用整数运算。



【跨新年】博图标准化编程技巧(三)设备运行时间计算 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3234条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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