您现在所在的是:

PLC论坛

回帖:15个,阅读:6077 [上一页] [1] [2] [下一页]
1906
xiatianyun
文章数:278
年度积分:56
历史总积分:1906
注册时间:2002/6/5
发站内信
发表于:2018/3/27 15:03:03
#10楼
PLC是单任务系统,处理中断时主程序当然就停止执行了。所以一般中断程序必须足够精简,不能太占用PLC的执行时间。
200的中断还是有自己的特点的。首先200的中断也有优先级,但在处理低优先级中断时是不会响应高优先级中断的,只有不同优先级的中断同时发生时才会优先执行高优先级中断。
1906
xiatianyun
文章数:278
年度积分:56
历史总积分:1906
注册时间:2002/6/5
发站内信
发表于:2018/3/27 15:16:42
#11楼
时间太久了,有些记不太清楚,不过刚才重新查阅了手册,我说的没错的。
楼上几位关于在中断中需要关中断以免高优先级中断在处理的中断的说法是不对的。在低优先级中断处理中如果发生了高优先级中断也只能待本中断处理后交会主程序才能执行高优先级中断,这点手册说得很明白。
可能受单片机知识的影响会出现一些错觉,觉得高级中断可以中断低级中断,也会觉得中断开始需要保护现场,其实PLC有自己的操作系统,这些是由PLC操作系统决定的,不用在中断开始时保护现场,系统进入中断时就做了。
PLC保护现场其实更多的使用是在使用累计器ACC时需要处理,常常看到很多示例使用ACC不加保护,特别是在子程序中。使用累积器需要先暂存累计器值,使用完毕后立刻恢复原来的累计器值。
37952
cvlsam 版主
文章数:12474
年度积分:563
历史总积分:37952
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2018/3/27 15:26:10
#12楼
以下是引用xiatianyun2018/3/27 15:16:42的发言:
时间太久了,有些记不太清楚,不过刚才重新查阅了手册,我说的没错的。
楼上几位关于在中断中需要关中断以免高优先级中断在处理的中断的说法是不对的。在低优先级中断处理中如果发生了高优先级中断也只能待本中断处理后交会主程序才能执行高优先级中断,这点手册说得很明白。
可能受单片机知识的影响会出现一些错觉,觉得高级中断可以中断低级中断,也会觉得中断开始需要保护现场,其实PLC有自己的操作系统,这些是由PLC操作系统决定的,不用在中断开始时保护现场,系统进入中断时就做了。
PLC保护现场其实更多的使用是在使用累计器ACC时需要处理,常常看到很多示例使用ACC不加保护,特别是在子程序中。使用累积器需要先暂存累计器值,使用完毕后立刻恢复原来的累计器值。

附件 snap1.jpg

如果按照这样的话,那么西门子的定式中断任务是无法精确计时的。

300系列等其它品牌的中大型的定式中断任务等级应该高于普通中断的,因此:

附件 snap3.jpg

Good Luck~
[此贴子已经被作者于2018/3/27 15:46:24编辑过]
1906
xiatianyun
文章数:278
年度积分:56
历史总积分:1906
注册时间:2002/6/5
发站内信
发表于:2018/3/27 16:06:51
#13楼
这个需要平衡。
PLC的定时中断确实是低优先级的,至少在200中是这样的。1ms时基的定时中断最小设置5ms定时中断,如果有其他高优先级中断,并且发生中断的频率比定时中断高确实会影响定时中断的按时执行。不过什么控制会有如此需要呢?
3947
18540531
文章数:502
年度积分:175
历史总积分:3947
注册时间:2017/3/18
发站内信
发表于:2018/3/27 17:11:21
#14楼
回复 #11楼 xiatianyun
真诚的感谢,
解答了我的疑惑,
556
ntplc2017
文章数:86
年度积分:50
历史总积分:556
注册时间:2018/5/11
发站内信
发表于:2018/7/9 14:07:50
#15楼
中断事件,都是表示一个瞬间,或多个瞬间,它不是表示持续状态的,中断产生的时候是只执行一个中断周期,这个中断周期执行完之后,返回到进中断之前的位置。优先处理中断,不是并行处理。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004