今天小編給大家講解一下中斷相關的內容,包括中斷的一些基礎概念, 以及中斷相關的指令。
首先提個問題,什麼是中斷?
舉個例子,小王在看書的時候電話響了,他中斷看書的動作,去接電話的過程,這就是中斷,那麼等電話接完之後,他可以再繼續看書。
再比如:小李在工作中的時候,同事小劉有事找他,小劉找他談論的時候,小李得停下手裡的工作,這也是中斷。
那麼在我們PLC中,中斷是指在主程序的執行過程中,當中斷請求發生時,中斷主程序的執行,去執行中斷子程序,執行完中斷程序後再返回到剛才中斷的主程序處繼續執行。中斷不受掃描工作方式的影響,使PLC能迅速響應中斷事件。
什麼是中斷源?
要實現中斷功能,首先要向PLC發出中斷請求信號,而發出中斷信號的設備就稱為中斷源。FX5U PLC有四種中斷源,也就是我們所說的中斷事件,包括輸入中斷、高速比較一致中斷、內部定時器中斷和來自模塊的中斷。這些中斷事件都有對應的中斷指針,如下圖。
這裡我們還要了解幾個名詞,中斷優先度和中斷優先順序是什麼意思?中斷優先度是指發生多重中斷時的執行順序。
數值越小,中斷優先度越高。執行條件成立的程序的中斷優先度高於執行中的程序的中斷優先度時,按照中斷優先度執行程序。中斷優先度相同或較低時,在執行中的程序結束之前將處於等待狀態。而中斷優先順序是指發生相同中斷優先度的中斷源時的執行順序。
FX5U PLC中斷指針編號及中斷原因的優先度如下圖:
關於中斷優先度,是可以在GX WORKS3軟體中進行設置的。
GX WORKS3的中斷優先度的設置方法:在導航窗口→ 參數→ FX5UCPU → CPU參數→ 中斷設置→ 模塊的中斷優先度設置。
中斷優先度可以是1、2、3,默認是優先度為2的,我們可以在以上的界面中將優先度進行修改就可以了。
了解了中斷的一些基礎知識之後,要學習中斷相關的指令。對於FX5U PLC的中斷指令,是比FX3U等一些老系列PLC要多的,包括有中斷允許指令EI、中斷禁止指令D、從中斷程序返回指令IRET、指定優先度以下的中斷禁止DI指令,此外還有中斷程序屏蔽指令IMASK、指定中斷指針的禁止/允許指令SIMASK。下面講解幾個常用的指令。
中斷允許指令EI:可使CPU模塊變為中斷允許狀態。
中斷禁止指令DI:禁止中斷程序的執行。
指定優先度以下的中斷禁止DI指令:該指令是有操作數的,即使執行了操作數S中指定的優先度以下的中斷程序的啟動條件,在執行EI指令之前也將禁止中斷程序的執行。
從中斷程序返回指令IRET:進行主程序處理中如果發生中斷(輸入、定時器),跳轉至中斷程序後,執行到IRET指令時,表示中斷程序的處理結束。無條件返回到主程序繼續往下執行。
中斷指針I:在中斷程序起始處作為標籤使用的軟元件,指明中斷程序的入口。
下圖就是一般的中斷程序結構。在開中斷的範圍內,當中斷事件觸發時,就執行指定的中斷程序。
以上就是中斷的一些基礎知識及常用的中斷指令的介紹,這也是我們要去做帶中斷功能的程序需要掌握的一些知識,大家一定要掌握好哦。(技成培訓原創,作者:蔡慧滎,未經授權不得轉載,違者必究!)