| 作者 | 主题 |
|---|---|
|
1Shadow1 侠士
经验值:1900 发帖数:155 精华帖:6 |
楼主
主题:不当使用定时器造成BUG 的探讨 最近看到短视频介绍不当定时器会产生的bug的情况,自己就做了个仿真试了一下;有一点还是不太理解,就是定时器后面的Q 点会不会有输出? 为什么呢? 运行结果如图所示,TAG_16 看起来从来没有被置位过; 解说的意思是,定时器是和OB1 异步执行的,所以定时器Q 点的触发位置可能位于ABCD任意位置,不理解的点是C点 , 视频说是输出了,但是TAG16 没有置位,trace 了Q 点,发现 Q 没有输出过,所以对这点挺不理解的! 各位可以发表自己的高见,或者怎么解释的通这个现象。我记得用日系PLC 的时候没有这个问题,看来运行机制不一样 ; 搬一个视频截图过来,如下所示: 后面分别在定时器前后增加了节拍时间后发现,TAG16 可以置位了,TAG22 置位的间隔时间变长到10s(2-3个定时时间);原因就是区域A 随着区域B 的增大,在整个cycle time 的占比降低,置位概率变低吧;
闲着就写写程序吧,让大脑有点运动量;
|