子程序退出时为什么定时器的当前值保持不变?

分享到:
321
下一篇 >

菜鸟:

调用子程序时,用监控表监控定时器,发现定时器的值保持不变,请同行老师解答一下!

大虾:

手册和帮助里说的很清楚,三种定时器的刷新机制。

甲类 执行= Txx指令的时候刷新。

乙类 执行END指令的时候刷新。

丙类 执行每1毫秒刷新。

请对比一下你的程序,你认为你子程序里面的计时器,应该在上述的三种情况中的哪一种里面,令计时器的值发生变化?

菜鸟:

不好意思是我没说明白,当我调用子程序运行同时,某条件置位Q0.0,I1.0常开点动作时T37 100mS定时器计时30S,此定时器的常开点去置位Q0.1并复位Q0.0,此时状态表里T37的当前值位30,当子程序退出后再次调用此子程序时,T37的当前值还是30,程序没有定时直接置位Q0.1复位Q0.0了,也就是定时器T37没有定时直接跳过了。

大虾:

甲类 执行= Txx指令的时候刷新。

请对比一下你的程序,你认为你子程序里面的计时器,哪里令计时器的值发生变化?

菜鸟:

退出子程序时将定时器值赋值0就没问题。

大虾:

如果有很多定时器,每一个都需要在退出子程序时赋0,好麻烦。如果用主控指令,定时器就自动清零了。


你可能感兴趣: 工控菜鸟园 自动化系统 SIMATIC S7-200 定时器
无觅相关文章插件,快速提升流量