發布時間:2025-02-08
但是,在某些程序中,必須使用中斷,通常是PID,并且檢測和讀取周期必須準確。無論是之前我們自己編寫的PID中斷程序,還是現在集成的PID中斷程序塊,都是利用精確的時間控制來即時處理信息的中斷。
今天這篇文章,我們就來說說如何使用PLC的中斷功能。
這樣,當PLC理解中斷功能時,就需要先了解PLC的運行周期或掃描周期。有必要談談PLC順序控制回路執行的流程,這是理解中斷的前提,必須掌握。它分為三個部分,輸入處理,程序處理,輸出處理,
1.輸入處理:程序執行前,可編程控制器將可編程控制器所有輸入端子的開/關狀態讀入輸入圖像區。即使在程序執行期間輸入改變,輸入圖像區域的內容也不會改變,并且當執行下一周期的輸入處理時,將讀取該改變。
2.程序處理:PLC根據程序存儲器中的指令內容,從輸入圖像區和其他軟件組件的圖像區讀出各軟件組件的開/關狀態,然后從步驟0開始依次操作,將每次得到的結果寫入圖像區。因此,每個軟件組件的圖像區域隨著程序的執行而逐漸改變其內容。此外,輸出繼電器的內部觸點根據輸出圖像區域的內容執行動作。
3.輸出處理:所有指令執行完畢后,輸出Y像區的開/關狀態會傳送到輸出鎖存存儲器,作為可編程控制器的實際輸出。
執行一個動作所需的時間就是操作周期,也叫掃描時間。那么中斷和掃描周期有什么聯系呢?中斷不是從上到下順序地完全執行,而是中斷程序優先單獨運行程序,立即輸出,不參與整個循環操作。
中斷的作用是什么?我們知道PLC掃描周期很短,所以我們很難看到PLC順序控制的執行過程。在這里,我們不妨假設掃描周期為10s,即執行所有程序需要10s。有一個很簡單的程序LDX0,OUTY0。根據上圖,當X0為ON時,Y0不會立即輸出,而是10s后才會輸出。X0斷開后,Y0不會立即關閉。那么,在我們的實際應用中,plc不使用設備就無法工作。此時需要中斷處理,采用輸入中斷功能立即執行輸入。其實PLC的運行時間很短,只有幾毫秒,完全可以滿足需求。然而,某些時間,如微秒級的高頻脈沖輸入和脈沖捕獲,必須受到周期性操作的影響。
因此,如果要在一個周期內多次完成開/關狀態處理,必須使用中斷功能。一般來說,我們很少使用中斷。即使需要帶中斷功能的PLC高速指令,也不需要專門編寫中斷子程序。例如,高速計數器使用中斷模式來處理來自特定輸入繼電器的高速脈沖,因此無論操作時間如何,它都可以計數。可以使用高速計數器的特殊比較指令立即輸出計數結果,也可以使用高速計數器中斷方式處理高速計數器的計數值。
高速計數器不用于計數高頻脈沖。我們使用中斷功能來計數高速輸入。例子如下:EI到FEND為主程序,從指針I101(輸入X0的中斷指針)到IRET是中斷子程序。每當感測到X1的上升沿時,執行子程序立即將該值傳輸到D10,從而避免了PLC運行周期的影響。