您现在的位置是:首页 > PLC技术 > PLC技术
S7-300 PLC组织块中的中断过程
来源:艾特贸易2017-06-04
简介中断处理用来实现对特殊内部事件或外部事件的快速响应。如果没有中断, CPU 循环执行组织块 OB1 ,因为除背景数据块 OB90 以外, OB1 的中断优先级最低, CPU 检测到中断源发出的中断
中断处理用来实现对特殊内部事件或外部事件的快速响应。如果没有中断,CPU循环执行组织块OB1,因为除背景数据块OB90以外,OB1的中断优先级最低,CPU检测到中断源发出的中断请求时,操作系统在执行完当前程序的当前指令(断点处)后,立即响应中断,调用中断源对应的中断程序( OB)。执行完中断程序后,返回被中断的程序的断点处继续执行原来的程序。 PLC的中断源包括:I/O模块的硬件中断,或是CPU模块内部的软件中断,例如日期时间中断、延时中断、循环中断和编程错误引起的中断。如果在执行中断程序( OB)时,又检测到一个中断请求,CPU将比较两个中断源的中断优先级,如果优先级相同,则按照产生中断的先后次序进行处理。如果后者的优先级比正在执行的中断优先级高,将终止当前正在处理的中断组织块,转而调用高优先级的中断OB,这就是所谓的中断嵌套调用。 当产生中断嵌套调用时,操作系统对现场进行保护。被中断的OB的局域数据压入L堆栈(局域数据堆栈),被中断的现场信息保存在I堆栈(中断堆栈)和B堆栈(块堆栈)中。 值得说明的是,中断程序不是由程序块调用,而是在中断事件发生后由操作系统调用。因为不能预知系统何时调用中断程序,中断程序不能改写其他程序中可能正在使用的存储器,所以应在中断程序中尽可能使用局部变量。编写中断程序时,中断程序要尽可能小,甚至可以说“越短越好”,以使得中断程序的执行时间尽可能变短,减少对其他处理的延迟,否则可能会引起系统运行出现异常。
点击排行
