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