程序的调用

程序的调用:
在中断OB37中执行调用大量FC程序,是否影响OB1中正常程序的处理速度和其它中断程序的速度?对CPU的运行有何影响?

最佳答案

1、在中断OB37中执行调用大量FC程序,是否影响OB1中正常程序的处理速度和其它中断程序的速度?
a、组织块是按系统已分配的中断优先级来执行,数字越大优先级越高,优先级高的可以中断优先级低的。
b、一般OB1的默认为1级,OB30-OB38默认为7-15级,OB37为14级。数字越大优先级越高。
c、OB37中执行调用大量FC程序,则其就占用CPU时间长,肯定会响应对OB1中或其他中断的程序的扫描(执行)。
2、对CPU的运行有何影响?
对CPU本身的运行没有任何影响,即CPU运行哪个程序是有系统操作系统来分配的。CPU只是一个执行“机构”而已。这个问题提得不专业,在此不要纠缠这个问题了。望注重下述问题的讨论,即这个问题应这样提出:“对于你的控制系统的实时性是否有影响?”。
3、对于控制系统的实时性是否有影响?
在此要强调是要合理应用OB循环中断:
按楼主的设计意图,是由两个OB循环中断来调度楼主的控制程序,即OB37(循环时间短,优先级高)与OB1(循环时间长,优先级低)。
合理的设计是将实时性要求高、数据更新要求快的任务(程序)均安排在OB37中来执行。而将上述要相对低一些的的任务(程序)均安排在OB1中来执行。这样可以轻重缓急地实现任务(程序)的调度。
一个有经验的程序(软件)设计者会合理地安排自己的控制系统中任务(程序)的中断优先级。也会通过实践不断修正所分配的优先级,使得自己的控制系统的实时性更高。
4、而对于“中断OB37中执行调用大量FC程序”并不是不可取的,如果控制系统就这有这样的需求,即只有这样才可满足实时性的要求,就可这样做!

提问者对于答案的评价:

专家置评

OB3X循环中断的特点在于执行周期是确定的,而OB1的每个周期是不确定的。但如果程序量过大,有可能在其一个循环周期里面执行不完,此时会报错。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc243074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日
下一篇 2018年12月1日

相关推荐