回复:用SMW22做一个定时器,时间定时精度问题

Zane

西门子1847工业学习平台

  • 帖子

    21062
  • 精华

    399
  • 被关注

    1485

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2025-09-06 14:26:10

6楼

1)SMW22最小的表达时间是1ms

假设SMART当实际扫描周期是0.5ms且稳定,SMW22读取的时间始终是1ms

那过去100个扫描周期,对SMW22的累计值是100ms,而实际运行时间则是50ms


因此,建议使用SMW22做时间累计时,设法把扫描周期加长即可,比如10ms


2)那么,假设我的实际扫描周期时10.5ms,SMW22读取的实际值是10ms,那还有0.5ms是否就被舍弃了呢?非也,SMART系统是保留这0.5ms并叠加在下一次刷新的SMW22值的,并以此类推。这个网友们可以去做验证,我可以做到,同一个SMART CPU上 SM0.5,SMW22,CAL_TIME三种方式同时计时,三者秒读数绝对相同,SMW22与CAL_TIME也就是1ms的误差。

至于PLC计时与实际时间的误差,手册上是有明确说明的。


3)楼主程序的处理方式是不合理的,浮点数转换就是引入误差,其次还有浮点数长时间累计后,累计失效的问题。应先做整型量的累计,然后根据需要取,秒、分、时的数据






Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8941条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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