与中断有关的三条功能指令是:中断返回指令IRET,编号为FNCO3;中断允许指令EI,编号为FNCO4;中断禁止DI,编号为FNC05。它们均无操作数,占用1个程序步。
PLC通常处于禁止中断状态,由EI和DI指令组成允许中断范围。在执行到该区间,如有中断源产生中断,CPU将暂停主程序执行转而执行中断服务程序。当遇到IRET时返回断点继续执行主程序。如图1所示,允许中断范围中若中断源X0有一个下降沿,则转入I000为标号的中断服务程序,但X0可否引起中断还受M8050控制,当X20有效时则M8050控制X0无法中断。
图1 中断指令的使用
使用中断相关指令时应注意:
1)中断的优先级排队如下,如果多个中断依次发生,则以发生先后为序,即发生越早级别越高,如果多个中断源同时发出信号,则中断指针号越小优先级越高;
2)当M8050~M8058为ON时,禁止执行相应I0□□~I8□□的中断,M8059为ON时则禁止所有计数器中断;
3)无需中断禁止时,可只用EI指令,不必用DI指令;
4)执行一个中断服务程序时,如果在中断服务程序中有EI和DI,可实现二级中断嵌套,否则禁止其它中断。