没有看到过西门子 IEC 定时器底层实现的原理资料,PLC内部应该有一个类似原子钟的东西 (独立于系统时钟),定时器开始运行时都是从这里获取一个标记暂存起来,以后要使用该定时器Q ,ET 再从原子钟里取数据,而后再与暂存值做运算来更新 Q ,ET 。也就是说定时器的更新并不是当程序扫描到定时器指令时才更新,一扫描周期可能会更新多次。IEC 定时器精确的,但可能不会按照你的定时逻辑去执行你的任务。比如你想在信号发出后的第10个毫秒去做一样事情,这样就有可能有时不会执行你要做的事情,除非你的扫描周期每次都不会大于 1 个毫秒。
