FP1型PLC中斷功能
發(fā)布于2023-01-11 11:19
23
2
標(biāo)簽:PLC中斷
FP1系列的PLC中,C24、C40、C56、C76具有中斷功能。其中斷類型有兩種:外部硬中斷和內(nèi)部定時(shí)中斷。其外部硬中斷共有8個(gè)(INTO~I(xiàn)NT7),INTO的中斷優(yōu)先權(quán)最高,INT7的中斷優(yōu)先權(quán)最低。它們的中斷觸發(fā)信號(hào)如下:
XO-INTO X1-INT1 X2-INT2 X3-INT3 X4-INT4 X5-INT5 X6-INT6 X7-INT7
在FP1系列的PLC指令中,有一個(gè)系統(tǒng)寄存器No.403和三條指令是專門為中斷功能而設(shè)置的。No.403號(hào)系統(tǒng)寄存器可以用FP編程器Ⅱ或NPST-GR軟件來(lái)改變,它用來(lái)設(shè)定X0~X7中哪一個(gè)作為中斷源,其位址低8位由低到高分別對(duì)應(yīng)X0~X7,當(dāng)該位為"1"時(shí),表示該位為中斷源,為"0"則表示該位不是中斷源,No.403高8位不使用。下邊就這三條指令做一個(gè)具體介紹。
①ICTL指令 ICTL指令是中斷控制指令,它必須由一個(gè)觸發(fā)信號(hào)來(lái)觸發(fā)。它的使用格式如下:
其中,X10是觸發(fā)信號(hào),在觸發(fā)信號(hào)后必須有(DF)指令。當(dāng)X0接通時(shí),ICTL指令根據(jù)S1和S2的值來(lái)設(shè)定系統(tǒng)的中斷方式,具體如下:
a.當(dāng)Sl為H0時(shí),表示系統(tǒng)接收外部中斷為屏蔽/非屏蔽狀態(tài),S2的值控制X0~X7 是否被屏蔽。同樣地,它的高8位不用,低8位由低到高依次對(duì)應(yīng)著X0~X7,為"1"表示該位為中斷源,為"0"表示該位不是中斷源。
b.當(dāng)S1為H00時(shí),表示可以清除某些中斷源,S2的值控制X0~X7是否被清除。它的高8位不用,低8位由低到高依次對(duì)應(yīng)著X0~X7,為"1"表示該位可以繼續(xù)引發(fā)中斷,為"0"表示該位被復(fù)位,不再引發(fā)中斷。
c.當(dāng)S1為H02時(shí),表示系統(tǒng)為定時(shí)啟動(dòng)中斷狀態(tài),S2的值控制中斷時(shí)間間隔,具體為S2的值乘10,單位為ms,此時(shí)引發(fā)的中斷序號(hào)規(guī)定為INT24。特殊地,當(dāng)S2的值為0 時(shí),不執(zhí)行定時(shí)啟動(dòng)中斷。
②INT指令和IRET指令 INT指令和IRET指令總是成對(duì)出現(xiàn)的,它們必須放在主程序(ED)指令之后,最多可以放9個(gè),它們之間的程序便是中斷服務(wù)程序。中斷服務(wù)程序中不允許出現(xiàn)(TM)、(CT)等帶延時(shí)功能的指令。INT指令所指定的中斷號(hào)不能出現(xiàn)重復(fù),并且INT指令的地址應(yīng)比與之對(duì)應(yīng)的IRET指令的地址要小。
系統(tǒng)在響應(yīng)中斷時(shí),會(huì)根據(jù)申請(qǐng)中斷的中斷源的多少、優(yōu)先級(jí)別的高低等因素來(lái)響應(yīng)中斷。如果只有一個(gè)中斷源被使能,那么在實(shí)際的程序執(zhí)行過(guò)程中,一旦發(fā)現(xiàn)該中斷源申請(qǐng)中斷,正在執(zhí)行的程序立即停止,轉(zhuǎn)而執(zhí)行該中斷源對(duì)應(yīng)的中斷服務(wù)程序。中斷服務(wù)程序執(zhí)行完畢后,返回到ICTL指令處,按順序執(zhí)行ICTL指令下面的程序。
在多個(gè)中斷源被使能的情況下,如果有若干個(gè)中斷源同時(shí)申請(qǐng)中斷,則按中斷源的優(yōu)先級(jí)別來(lái)響應(yīng)中斷。當(dāng)所有的中斷響應(yīng)完畢后,返回到ICTL指令處,按順序執(zhí)行ICTL指令下面的程序。如果是PLC正在執(zhí)行一個(gè)中斷服務(wù)程序,此時(shí)又有若干中斷源申請(qǐng)中斷,則在當(dāng)前的中斷服務(wù)程序執(zhí)行完畢后,再將未響應(yīng)的中斷按優(yōu)先級(jí)別響應(yīng)。當(dāng)所有的中斷響應(yīng)完畢后,返回到ICTL指令處,按順序執(zhí)行ICTL指令下面的程序。
在實(shí)際應(yīng)用中,還需要注意以下幾點(diǎn):
a.中斷源在執(zhí)行對(duì)應(yīng)的中斷程序期間是不能復(fù)位的。
b.當(dāng)PLC的工作方式由“PROG”轉(zhuǎn)到“RUN”時(shí),所有的中斷源均不使能。
c.與普通微機(jī)的中斷方式不同,F(xiàn)P1的中斷在執(zhí)行低級(jí)中斷時(shí)如果有高級(jí)中斷被觸發(fā),高級(jí)中斷也必須等到該低級(jí)中斷的服務(wù)程序執(zhí)行完畢后才能響應(yīng)。
d.一個(gè)中斷源被屏蔽期間即使中斷源閉合也不會(huì)引發(fā)系統(tǒng)中斷,但如果此中斷源稍后又被設(shè)置為非屏蔽狀態(tài),它將會(huì)因?yàn)楸黄帘纹陂g的中斷源閉合而引發(fā)系統(tǒng)中斷。
中斷控制功能在處理一些突發(fā)情況時(shí)是特別有效的。例如可以利用它來(lái)監(jiān)視系統(tǒng)電源,一旦系統(tǒng)電源出現(xiàn)故障,應(yīng)該使整個(gè)系統(tǒng)在存儲(chǔ)一些必要數(shù)據(jù)后停止運(yùn)行。但在另外一些情況下,應(yīng)該在完成一定的操作后再處理緊急情況。此時(shí)需要暫時(shí)屏蔽中斷,操作過(guò)后再允許中斷。具體的程序如圖6-117所示。
該程序的作用是檢查電源異常檢測(cè)開關(guān)X0的狀態(tài)。一旦發(fā)現(xiàn)電源異常(用開關(guān)X0閉合表示),如果當(dāng)前正在執(zhí)行一個(gè)不能中止的操作(用YO閉合來(lái)表示),則在完成此操作后使系統(tǒng)斷開主電源,否則使系統(tǒng)馬上斷開主電源。系統(tǒng)斷電用Y1 來(lái)實(shí)現(xiàn)。要實(shí)現(xiàn)此功能,PLC需要單獨(dú)供電。
圖6-117 程序梯形圖