canyueweizhui
本人由于好奇执行中断程序时,主程序会不会被执行,于是在中断程序中加了10s的定时器,主程序中也加了10s的定时器,最后发现中断的定时器走时比主程序中的定时器要慢,两个程序的定时器都在执行。
请问:不是说执行中断程序时,主程序应该停止执行吗?为什么还会出现这种情况呢?求大神指点!
垵垵
当你执行主程序时,突然中断程序执行了,那么这时主程序处于暂停状态,当中断程序执行完以后它会恢复到主程序已运行的那步。就是说接着执行未执行完的程序。你的定时器是不是刚好在这一步?所以它还在计数。你那两个定时器应该加在主程序和中断程序外面。给它不同的执行条件。最好给它一个互锁。问题就解决了。
回复内容:
对: 垵垵 当你执行主程序时,突然中断程序执行了,那么这时主程序处... 内容的回复!
不是刚好处于那之间,而是两个定时器就是同时在执行,只不过中断中的定时器频率比主程序的要慢。
对: canyueweizhui 回复内容:对: 垵垵 当你执行主程序时,突然中断程序执... 内容的回复!
你把程序再好好检查一下,这种情况是不应该的呀!
对: 垵垵 回复内容:对: canyueweizhui 回复内容:... 内容的回复!
你和是不是定时器就不应该用在中断程序中,用了定时器,在定时器运行的这段时间,cpu处于空闲状态,plc就把cpu给主程序运行了。有没有这种可能性呢?
你说的我也明白,可以我自己尝试的结果就是可以同时执行,所以很迷惑,你也可以试试看。