您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400PLC中断过程

来源:艾特贸易2017-11-01

简介中断处理用来实现对特殊内部事件或外部事件的快速响应。如果没有中断, CPU 循环执行组织块 081 。当 CPU 检测到中断源的中断请求时,操作系统在执行完当前程序的当前指令(即断点


    中断处理用来实现对特殊内部事件或外部事件的快速响应。如果没有中断,CPU循环执行组织块081。当CPU检测到中断源的中断请求时,操作系统在执行完当前程序的当前指令(即断点处)后,立即响应中断。CPU暂停正在执行的程序,调用中断源对应的中断程序。在S7-300/400中,中断用组织块来处理。执行完中断程序后,返回被中断程序的断点处继续执行原来的程序。

   PLC的中断源可能来自I/O模块的硬件中断,或是CPU模块内部的软件中断,如日期时间中断、延时中断、循环中断和编程错误引起的中断等。

    如果在执行中断程序(组织块)时,又检测到一个中断请求,CPU将比较两个中断源的中断优先级。如果优先级相同,按照产生中断请求的先后顺序进行处理。如果后者的优先级比正在执行的组织块的优先级高,将中止当前正在处理的组织块,改为调用较高优先级的组织块,这种处理方式称为中断程序的嵌套调用。

    一个组织块被另一个组织块调用时,操作系统对现场进行保护。被中断的组织块的局域数据压入局域数据堆栈,被中断的断点处的现场信息保存在中断堆栈和块堆栈中。

    中断程序不是由程序块调用,而是在中断事件发生时由操作系统调用。因为不能预知系统何时调用中断程序,中断程序不能改写其他程序中可能正在使用的存储器,应在中断程序中尽可能地使用局域变量。

    编写中断程序时,应使中断程序尽量短小,以减少中断程序的执行时间,减少对其他处理的延迟,否则可能引起主程序控制的设备操作异常。