quote:以下是引用youhm在2010-09-26 16:27:37的发言:
5楼说的定时器是异步执行的,相信楼主明白,结果是启动定时器T1后,T1为真可能出现在程序任意一点(“我的理解应当是在SD T1这条指令执行以后”这个就不对了),因为SD T1指令前面AN T1指令的原因,当T1为1时,执行到SD T1这里就会复位定时器(也就是T1为0),所以只有在T1在SD T1之后为1时后面的计数器才有可能动作,因为SD T1和后面计数器指令紧挨着,两条指令之间几乎没有时间间隔,所以我说在两条指令之间T1为1的几率几乎为0,在PLCSIM里在这两条指令之间插入足够长的循环来延时,实践证明后面的计数器有时就能计数了,但比放在前面的计数器要漏掉一些
照你的理论,扫描周期越长
A T1
CU C1
扫描到T1为1的概率越低,因为扫描的次数少了
只有扫描周期越短,扫描频率越高,T1在SD T1之后被扫描到为1 的概率才越高啊
所以,y侠的解释还不能说明问题。
我对此类问题的的确不感兴趣,明知是一种不合理的程序结构,一定要去用它,像楼主提出的这种AN T1 SD T1 的程序结构,在我的程序中都是禁止使用的,我宁可多使用一个标志位,以确保信号的有效性