quote:以下是引用芳季在2012-12-05 10:15:02的发言:
引用<
LD SM0.0
TON T37 50
TON T37 1000
TON T38 600
这段程序,T37位接通是在T37=1000时,也就是T38=500时,这说明真正起作用的是后面那个1000的预置数。
>
我又有不同意见了……
当时间来到50和999之间的时候。T37会在第一次执行的时候置位过标志位。来到第二次执行T37的时候由于时间未到而关闭了标志位。形成双线圈现象。所以到达1000之后才显露接通。不信你用中断程序测试。
是的,当定时值在50和1000之间时,在两个Ton T37之间,T37是接通的。不需要中断程序,就在两个T37之间取其状态即可。
另外,我举这个例子是想说明定时器的不同刷新方式,决定了其不同的动作表现。
100ms定时器是执行时刷新。如果一个扫描周期内执行了多次,那么定时值会被多次累计。
10ms是在扫描周期开始时刷新,1ms是异步随时刷新,就不存在上面例子中的问题了。
在另外一个帖子中,关于T32,T96中断的,正因为1ms定时器的异步刷新机制,所以不用当心扫描周期影响中断的触发会延迟。