quote:以下是引用小oo鱼在2012-12-06 18:51:49的发言:
唉,没明白我的意思,斑竹说的“1ms定时器每1ms更新一次、在每周期更新一次,100ms则在执行到相应的定时器指令时才更新”,这是肯定的嘛,我是说10ms定时器时间到后在执行其线圈指令时其状态位也动作了,不一定是在扫面周期开始时更新,他自己在21楼了说了嘛,怎么后来有否定了呢?“如果达到定时器设定值,在执行线圈指令时,或是执行END指令时输出触点动作”,我还说支持这个观点。
大家试试这个程序,定时时间到后进入停止状态,可以看到Q0.0和Q1.0都置位了(输出Q1.0的指令都过了也能置位!),在‘系统设置里面勾选将输出冻结在最后状态’,而把T33换成T37后Q1.0就不会置位,我还觉得不是在在扫描开始更新,而是在程序结束时更新描述的更加准确
LD SM0.1
R Q0.0,10
LD T33
= Q1.0
LD I0.0
TON T33,500
LD T33
= Q0.0
LD Q0.0
STOP
你看到的现象正说明了10ms定时器线圈是每个扫描的开始时刻更新状态,否则Q1.0不会被点亮。
好好想想、再想想!