在中断ob37中执行fc程序的问题
问题:在中断ob37中执行调用大量fc程序,是否影响ob1中正常程序的处理速度,是否会影响其它中断程序的速度,对cpu运行有没有影响?
解答:
1、在中断OB37中执行调用大量FC程序,对OB1中正常程序的处理速度,以及其它中断程序的速度的影响。
(1)组织块是按系统已分配的中断优先级来执行,数字越大优先级越高,优先级高的可以中断优先级低的。
(2)一般OB1的默认为1级,OB30-OB38默认为7-15级,OB37为14级。数字越大优先级越高。
(3)OB37中执行调用大量FC程序,则其就占用CPU时间长,肯定会响应对OB1中或其他中断的程序的扫描(执行)。
2、对cpu运行的影响
对CPU本身的运行没有任何影响,即CPU运行哪个程序是有系统操作系统来分配的。CPU只是一个执行“机构”而已。
3、对控制系统的实时性的影响
要合理应用OB循环中断:
按楼主的设计意图,是由两个OB循环中断来调度楼主的控制程序,即OB37(循环时间短,优先级高)与OB1(循环时间长,优先级低)。
合理的设计是将实时性要求高、数据更新要求快的任务(程序)均安排在OB37中来执行。而将上述要相对低一些的的任务(程序)均安排在OB1中来执行,可以轻重缓急地实现任务(程序)的调度。
一个有经验的程序(软件)设计者会合理地安排自己的控制系统中任务(程序)的中断优先级。也会通过实践不断修正所分配的优先级,使得自己的控制系统的实时性更高。
4、对于“中断OB37中执行调用大量FC程序”并非不可取,如果控制系统有此需求,只有如此才可满足实时性的要求,则可以这样操作。
plc程序设计的基本条件:熟练地、合理地应用中断、编制中断程序,使控制系统结构严谨、灵巧、科学,满足控制实时性的要求。
本站仅提供信息发布平台,文章仅代表作者个人观点。