电工学习网

 找回密码
 立即注册
查看: 2650|回复: 1
打印 上一主题 下一主题

现场PLC设备运行时间计算程序

[复制链接]
跳转到指定楼层
楼主
发表于 2020-7-19 20:46:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
        昨天一个同事向我反应说现场plc的设备运行时间计算不准确,有时候一个小时能差一分钟,他经过分析认为运行时间计算应该放到中断程序里处理。我跟他说设备运行时间计算完全没有必要放在中断中执行,有误差肯定是编程有问题,然后我把我的算法给他分享了,并且这个算法我用了很久没有出现过明显误差,今天也跟大家分享一下。
现场PLC设备运行时间计算程序

现场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小时,由于浮点数小数精度是不定的,当数据大到一定程度每次累加的小数就会被舍去,造成误差偏大。
来源:西门子工业技术论坛

回复

使用道具 举报

沙发
发表于 2020-7-20 03:29:04 | 只看该作者
电工电气学习

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-24 16:18

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表