quote:以下是引用鼠老爹在2009-11-12 08:28:29的发言:
我不清楚你是如何测试我写的程序的。在我的机器上运行都很正常。其中M0.2是作为单脉冲处理的,它的置位仅仅是调用一次初始化程序,然后立即被复位,避免初始化被反复执行。
我知道M0.2是作为单脉冲处理的,但我在试验时是让M0.2一直置1,然后当VB10=1时VD104也在累加,而当VB10大于2时VD104就不再累加,此时将M0.2复位VD104又开始累加。
在一个扫描周期为10毫秒左右的程序里用以上这样的方法试验时,VB10可以达到8,VD104还在累加。当VB10大于10时(好像大于等于扫描周期的值)VD104就不累加了。
不明白的是VB10(也就是SMB34)小于扫描周期时,即是M0.2等于1,VD104也在累加(也就是说中断0在运行)。而当VB10大于扫描周期时,即是M0.2等于1,VD104不再累加(也就是说中断0不运行)。M0.2复位VD104开始累加。