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