技术论坛

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

返回主题列表
作者 主题
will666
奇侠

经验值:8879
发帖数:2002
精华帖:12
楼主    2022-12-24 22:31:54
主题:【跨新年】博图标准化编程技巧(三)设备运行时间计算 精华帖 

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

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

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

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



污水处理自控工程师,简称污师。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。