技术论坛

 设备运行时间计算程序

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

经验值: 8840
发帖数: 1997
精华帖: 12
楼主    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小时,由于浮点数小数精度是不定的,当数据大到一定程度每次累加的小数就会被舍去,造成误差偏大。


污水处理自控工程师,简称污师。
黑猫警长W
至圣

经验值: 18274
发帖数: 2391
精华帖: 1
2楼    2020-07-18 14:31:51
主题:回复:设备运行时间计算程序

嗯,自带系统时钟常用!

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