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

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

点击:6184 回复:15

PLC是单任务系统,处理中断时主程序当然就停止执行了。所以一般中断程序必须足够精简,不能太占用PLC的执行时间。
200的中断还是有自己的特点的。首先200的中断也有优先级,但在处理低优先级中断时是不会响应高优先级中断的,只有不同优先级的中断同时发生时才会优先执行高优先级中断。
18-03-27 15:03
时间太久了,有些记不太清楚,不过刚才重新查阅了手册,我说的没错的。
楼上几位关于在中断中需要关中断以免高优先级中断在处理的中断的说法是不对的。在低优先级中断处理中如果发生了高优先级中断也只能待本中断处理后交会主程序才能执行高优先级中断,这点手册说得很明白。
可能受单片机知识的影响会出现一些错觉,觉得高级中断可以中断低级中断,也会觉得中断开始需要保护现场,其实PLC有自己的操作系统,这些是由PLC操作系统决定的,不用在中断开始时保护现场,系统进入中断时就做了。
PLC保护现场其实更多的使用是在使用累计器ACC时需要处理,常常看到很多示例使用ACC不加保护,特别是在子程序中。使用累积器需要先暂存累计器值,使用完毕后立刻恢复原来的累计器值。
18-03-27 15:16

引用 xiatianyun 在 2018/3/27 15:16:42 发言【内容省略】

附件 snap1.jpg
如果按照这样的话,那么西门子的定式中断任务是无法精确计时的。
300系列等其它品牌的中大型的定式中断任务等级应该高于普通中断的,因此:
附件 snap3.jpg
Good Luck~
最后修改:2018/3/27 15:46:24
18-03-27 15:26
这个需要平衡。
PLC的定时中断确实是低优先级的,至少在200中是这样的。1ms时基的定时中断最小设置5ms定时中断,如果有其他高优先级中断,并且发生中断的频率比定时中断高确实会影响定时中断的按时执行。不过什么控制会有如此需要呢?
18-03-27 16:06
真诚的感谢,
解答了我的疑惑,
18-03-27 17:11
中断事件,都是表示一个瞬间,或多个瞬间,它不是表示持续状态的,中断产生的时候是只执行一个中断周期,这个中断周期执行完之后,返回到进中断之前的位置。优先处理中断,不是并行处理。
18-07-09 14:07

上一页 上一页

工控新闻

更多新闻资讯