plc采用中斷工作方式來(lái)應(yīng)對(duì)緊急任務(wù)。一般的計(jì)算機(jī)系統(tǒng)中,cpu在每一條指令執(zhí)行結(jié)束時(shí)都要詢問(wèn)有無(wú)中斷申請(qǐng)。而plc對(duì)中斷的響應(yīng)則是在相關(guān)程序塊結(jié)束后查詢有無(wú)中斷申請(qǐng),如果有中斷申請(qǐng),則轉(zhuǎn)入執(zhí)行相應(yīng)的中斷服務(wù)程序。待處理完中斷,又返回運(yùn)行原來(lái)程序。
在plc中,中斷源是通過(guò)輸入點(diǎn)進(jìn)入系統(tǒng)的,plc掃描輸入點(diǎn)是按照輸入點(diǎn)編號(hào)的先后順序進(jìn)行的。系統(tǒng)接到中斷申請(qǐng)后,順序掃描中斷源,可能只有一個(gè)中斷源申請(qǐng)中斷,也可能同時(shí)有多個(gè)中斷源申請(qǐng)中斷。系統(tǒng)在掃描中斷源的過(guò)程中,在存儲(chǔ)器的特定區(qū)建立“中斷處理表”,按順序存放中斷信息,中斷源被掃描后,中斷處理表也已建立完畢,系統(tǒng)就按照這個(gè)表的先后順序調(diào)入相應(yīng)的中斷處理子程序。
與一般計(jì)算機(jī)系統(tǒng)的中斷一樣,plc的中斷也是分優(yōu)先級(jí)的。當(dāng)同時(shí)出現(xiàn)2個(gè)或多個(gè)中斷申請(qǐng)時(shí),則優(yōu)先級(jí)別高的先處理,繼而處理低級(jí)別的。直到中斷申請(qǐng)全部處理完畢,再轉(zhuǎn)而執(zhí)行掃描程序。
需要指出的是,多個(gè)中斷源可以有優(yōu)先順序,但無(wú)嵌套關(guān)系。即在中斷程序執(zhí)行中,如果有新的中斷發(fā)生,不論新中斷的優(yōu)先順序如何,都要等執(zhí)行中的中斷處理程序結(jié)束后,再進(jìn)行新的中斷處理。