與中斷有關的三條功能指令是:中斷返回指令IRET,編號為FNCO3;中斷允許指令EI,編號為FNCO4;中斷禁止DI,編號為FNC05。它們均無操作數,占用1個程序步。
PLC通常處于禁止中斷狀態(tài),由EI和DI指令組成允許中斷范圍。在執(zhí)行到該區(qū)間,如有中斷源產生中斷,CPU將暫停主程序執(zhí)行轉而執(zhí)行中斷服務程序。當遇到IRET時返回斷點繼續(xù)執(zhí)行主程序。如圖1所示,允許中斷范圍中若中斷源X0有一個下降沿,則轉入I000為標號的中斷服務程序,但X0可否引起中斷還受M8050控制,當X20有效時則M8050控制X0無法中斷。
使用中斷相關指令時應注意:
1)中斷的優(yōu)先級排隊如下,如果多個中斷依次發(fā)生,則以發(fā)生先后為序,即發(fā)生越早級別越高,如果多個中斷源同時發(fā)出信號,則中斷指針號越小優(yōu)先級越高;
2)當M8050~M8058為ON時,禁止執(zhí)行相應I0□□~I8□□的中斷,M8059為ON時則禁止所有計數器中斷;
3)無需中斷禁止時,可只用EI指令,不必用DI指令;
4)執(zhí)行一個中斷服務程序時,如果在中斷服務程序中有EI和DI,可實現二級中斷嵌套,否則禁止其它中斷