新手刚开始使用中断处理程序,用I0.0上升沿为条件,触发编号为0的中断事件,中断连接指令在主程序,中断条件返回指令在INT_0程序中,外部输入I0.0上升沿信号,触发中断事件,中断程序执行了,但是程序好像立刻又返回了主程序,没有保持中断状态,主程序也在执行,请帮我分析分析原因,谢谢!
图片说明:
最佳答案
1、中断程序执行了,但是程序好像立刻又返回了主程序,没有保持中断状态......?
楼主对于中断的理解可能有一些偏差。中断并非是程序保持中断挂在那里,中断是中断正在执行的程序,去执行中断处理程序,中断处理程序被执行后,立即恢复执行被中断的程序。
例如,你在看书,来电话了,你去接电话,电话结束后,你又继续看书。
2、楼主是否想达到中断后使Q0.0保持输出?
如是,用S(置位)将Q0.0保持输出。
3、注意事项:
中断服务程序看起来没有执行?
可以在中断程序中加一个测试程序段,如使用SM0.0(常为“1”)将一个输出点置位(使用Set指令),观察是否进入中断服务程序。
中断程序不执行,多数原因是初始化(连接中断事件和中断程序)的问题,或者没有“开中断”。
应该使用SM0.1(或沿触发)执行一次初始化,然后开中断。
提问者对于答案的评价:
谢谢你的回答,原来是我对中断的理解有误,如果我想主程序达到保持作用,除了使用置位复位指令,还有其他方法么?
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc198665.html