quote:以下是引用Automann在2011-07-23 08:12:16的发言:
介绍另外一种实验方法:
在OB1中用I0.0调用FC1,在FC1中用I0.1启动定时器T0定时。断开I0.0后再断开I0.1,用PLCSIM监控,可以看到定时器继续定时,定时时间到,FC1之外的T0的常开触点将会接通。分别设置时间预置值为10s、100s和1000s(定时器采用不同的时间基准定时),实验结果相同。
由此可知,定时器一旦被用户程序启动后,定时器的定时过程与是否执行定时器指令无关。其定时过程(剩余时间的递减)是由操作系统来完成的。
请问谁是廖老师?廖老师写的书很棒!我就看着廖老师的书开始学习的。
定时器的在fc或者fb里面运行的确是这样,这个我实际遇到过。我觉得把他当成单独的设备好理解些,不知道有没有什么好的办法判断定时器是否在运行?直接读剩余时间吗?还有一点也比较迷惑,就是上升沿触发,为什么要上升沿才能触发定时器哪?经常可以遇到需要很多个时间的判断,如果把定时器写到一个通用的fc里面去,用上升沿来触发会比直接rol为真的时候触发处理起来复杂,总觉得不如rol直接判断省事。有时候,真想用sfc1自己写一个,以后会省事点,又觉得系统既然这样做定时器,一定有他的道理,很纠结。