登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:关于S7-200PLC中断程序的一些困惑

点击:6184 回复:15

在自学的PLC编程的过程中,虽然也理解中断是怎么回事。但就是不太理解PLC在执行中断程序中,与主程序的关联。
例如:当PLC正在正常执行主程序时,某一个中断事件,触发了相应的中断程序。
想问的是:
1:在此中情况下,PLC是否会把主程序搁置,仅仅执行中断程序,还是中断程序与主程序各执行个的,并行处理???
2:如果此中断事件一直存在,是否中断程序一直执行,直到中断事件消失?还是说,中断事件满足后,中断程序仅执行一个扫描周期呢???
最后修改:2018/3/26 16:16:02
18-03-26 15:45
中断条件满足马上执行中断程序,执行任务完成后返回原中断处继续执行主程序,按说明书个人是这样认为的
18-03-26 16:10
     意思是,只要某一个中断事件一直存在,PLC就会一直不停的执行相应的中断程序,直到中断事件消失。
那主程序就会被长时间搁置了,
   看来中断程序还是慎用的好,
18-03-26 16:18

引用 18540531 在 2018/3/26 15:45:31 发言【内容省略】

1、执行中断程序,主程序挂起等待中断返回。
2、不存在一直执行中断的可能,因为受看门狗的影响,中断程序也不能长于看门狗定时时间,中断执行期间,它只能被中断等级更高的中断打断,且中断嵌套有限制,因此不存在一直中断的状况。当中断程序执行完后,势必要返回,不要以为中断程序里面放个定时器就能延长中断程序,因为普通定时器在中断中不能正常使用,原因就是中断执行完毕就返回了,管你定时器到没有到时间。
Good Luck~
18-03-26 17:00
中断服务程序末尾需要中断返回的
中断发生时,CPU将主程序中所有寄存器值压栈存储,然后直接去执行中断,中断子程序中第一件事是关闭中断使能,(防止执行中断的时候再来中断)然后执行中断服务子程序,执行完后放开中断使能(便于再次接收中断),然后返回中断,去断点处进行出栈,将原来的寄存器状态恢复,继续执行主程序。
举个例子就是穿越剧,女主角在雨天玩耍(执行主程序),玩太猛头撞树上了(中断发生),然后消失了,然后穿越到了某个朝代,在那里玩耍了几天(执行中断子程序),然后睡了一觉回到了现实(中断返回),醒来发现刚才在雨中玩耍的太猛头撞树上了(出栈),继续雨中玩耍(继续执行主程序),等待再次头撞树(等待中断发生)。
18-03-26 18:02
说的太精辟了
正好解答我的疑惑啊
那要是中断事件一直存在呢?会不会返回主程序后立马又再次跳动中断程序呢?
还是说 中断事件,的触发本身就是个脉冲信号呢?(上升沿 活者下降沿触发呢???)
18-03-26 18:30
你讲这些 ,书上还很不容易看到,
太感谢了 ,
18-03-26 18:32

引用 121111115 在 2018/3/26 18:02:11 发言【内容省略】

No,Sir。
在中断中并不会去中断使能,因为当中断执行时,需要考虑中断优先级的问题,中断等级高的中断当然应该可以中断中断等级低的中断,例如当执行循环中断时,来了机架故障中断,那显然应该先处理更高优先级的中断。
Good Luck~
18-03-27 08:43

引用 cvlsam 在 2018/3/27 8:43:35 发言【内容省略】

嗯,我说的有问题,应该是屏蔽当前中断的允许标志,中断使能容易被理解成中断总开关。
18-03-27 09:19
理解了,谢谢
18-03-27 13:54

上一页下一页

工控新闻

更多新闻资讯