外部內部都可以中斷,分為兩大類:一個是用戶程序中斷,就如你說的那些,以及外部信號編程金鐘的中斷。一個是系統自身的中斷,像硬件故障、通訊鏈接不暢、程序死循環等引起的中斷。
情況就像某個程序段不調用了一樣,沒什么好看的。只是中斷一旦形成,程序就會直接跳轉到中斷程序里去執行中斷程序里的程序,中斷程序執行完了,如果中斷信號還有的話,PLC就繼續執行中斷,直到中斷信號沒有或某些可以被強制取消。在很多中斷程序里可以不寫任何程序,如通訊和非嚴重性硬件檢測丟失等。這樣就可以減少PLC中斷恢復時間。或避免不必要的正常程序長時間終止。中斷程序開始,就不會執行其他用戶程序,根據用戶程序的情況,如中斷程序不涉及復位,某些輸出是可能會保持的。
中斷有優先級的區分,每種PLC分級方法不同,但大部分是中斷號數大的優先于數據號數小的。
在結構化編程中,你需要如下步驟使用中斷:
1、建立新的任務:
2、為新建的任務分配POU:
3、設置中斷任務屬性:
三菱plc中斷指令EI DI 怎么編寫
EI是中斷開放指令,DI是中斷禁止指令。這兩條指令比較簡單,PLC執行到EI指令就開放中斷,執行到DI指令就禁止中斷。這是因為PLC中斷控制電路上有一個“軟開關”,這個“軟開關”在PLC上電初始化時是斷開的,EI的作用就是接通這個“軟開關”,DI的作用則是斷開這個“軟開關”。
EI、DI控制的“軟開關”是中斷源的總開關,它的下面還有一些“軟“的分開關,就是~。這些“軟“的分開關可以在程序中置為ON或OFF,分別控制不同的中斷源,以/2NC為例,其中:
~分別控制輸入中斷源-,輸入中斷用指針編號~;
~分別控制三個定時器中斷源,定時器中斷用指針編號、、;
控制6個高速計數器中斷源,高速計數器中斷用指針編號。
這樣,要想一個中斷源觸發中斷,必須滿足2個條件:1)用EI開放中斷,2)使該中斷源的”軟“分開關為ON。
中斷源觸發中斷后,PLC就跳轉到其中斷用指針編號指定的子程序執行。IRET是中斷返回指令,它是中斷處理程序的結束指令,其作用是使PLC返回到被中斷時的下一條指令繼續執行。
若沒有中斷處理子程序,雖然觸發了中斷,但沒有處理任何事情。