西门子plc程序调用过程的中断问题详解

作者:老电工时间:2017-03-30 21:33:34

西门子plc程序调用过程的中断问题详解

在中断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程序”并不是不可取的,如果控制系统就这有这样的需求,即只有这样才可满足实时性的要求,就可这样做!

一个合格的程序设计者的基本条件就是能够熟练地、合理地应用中断、编制中断程序,使得自己的控制系统结构严谨、灵巧、科学,满足控制实时性的要求。

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > 西门子plc