恭喜,你发布的帖子
发布于 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)楼主程序的处理方式是不合理的,浮点数转换就是引入误差,其次还有浮点数长时间累计后,累计失效的问题。应先做整型量的累计,然后根据需要取,秒、分、时的数据
请填写推广理由:
分享
只看
楼主