发布于 2008-01-29 23:16:42
0楼
感谢伊默的帮忙分析。我的中断是这样的,假设1000个脉冲中断,我在中断首先把HC清零,然后加1.如果出现你所说情况,PLC刚进中断,编码器震动反转,按照程序应该是先清零,然后计数变负数,然后再变为0,正数,此时HC是不会再次进入中断的,因为此时还不到中断预置数。假设在进中断的同时编码器反转,HC计数PLC还没来得及清零(执行清零程序应该在微妙级),HC值又减小到999,然后再到1000中断,此时中断排队,事实上执行两次中断,这样的话数值是加了两次,可以解释的通。但是这样的机会是微乎其微的,怕是千万次也遇不见一次,事实上现场计米在200米中间就可能错20--50米,怕是这样解释不了的,如果是这样的话,那高速计数还怎么能用?而且另一个又正常,两台设备是一样的。现在已经回国,那个PLC已经不能再测试了,你所说的类似明亮到黑暗的过度那样的误动作是传感器的原因,还有其他现场环境等不确定的因素,比如开关的毛刺等,我以前也遇见过,但高速计数器我还是第一次。当然我还会继续的找程序的原因,外部信号的原因等,再一次谢谢你,伊默!