首先要理解中斷,必須知道PLC程序的三大構體,主程序、子程序、中斷程序,其中中斷就屬于程序控制中的一種,中斷主要執(zhí)行突發(fā)程序在返回主程序執(zhí)行過程,那么如何理解中斷并編程呢?下面帶大家來學習。
S7-200SMART plc,西門子plc的中斷指令
ATCH:中斷連接,連接某中斷事件所要調用的程序段。ENI:全局允許中斷,開放中斷處理功能。DISI:全局禁止中斷,禁止處理中斷服務程序,但中斷事件仍然會排隊等候。DTCH:中斷分離,將中斷事件號與中斷服務程序之間的關聯切斷,并禁止該中斷事件。RETI:條件中斷返回,根據邏輯操作的條件,從中斷服務程序中返回。CLR_EVNT:清空中斷隊列。
一、中斷概述
(1)S7-200SMARTPLC中的所有中斷事件可分為三大類:I/O中斷、通信中斷、時基中斷。
(2)當多個中斷時間同時發(fā)出中斷請求時,CPU對中斷響應就有優(yōu)先次序。
(3)中斷優(yōu)先級由高到低依次是:通信中斷、I/O中斷、時基中斷。
(4)中斷是隨機發(fā)生且必須立即響應,引發(fā)中斷信號稱為中斷源。
(5)每個中斷源都分配一個編號來識別,這個編號我們稱之為中斷事件號。
二、中斷指令
開放中斷指令,PLC在RUN模式下,是中斷禁止狀態(tài),需由此開啟才能運行。
(2)ATCH(中斷連接指令)
用于把中斷事件號(EVNT)與中斷程序(INT)進行連接
(3)DISI(禁止所有中斷)
禁止所有中斷,當指令執(zhí)行后,所有中斷都被禁止,即發(fā)生中斷事件,也不執(zhí)行中斷程序,但會產生中斷排隊事件,必須重新開允許中斷后才可以再次使用中斷功能。
(4)RETI(中斷返回指令)
中斷返回指令,編寫在中斷程序內,一旦觸發(fā)后面程序不再執(zhí)行。
(5)CEVENTEVNT(中斷排隊事件清除指令)
中斷排隊事件清除指令,主要用于禁止中斷后等待排隊的事件。
(6)DTCH(中斷分離指令)
中斷分離指令,用于把中斷服務程序與中斷事件分離
三、中斷程序在使用過程中注意事項
(1)中斷程序不是調用,而是配置中斷事件號和中斷服務程序。
(2)多個中斷事件號可以連接同一個中斷服務程序,一個中斷事件只能連接一個中斷服務程序
(3)中斷程序只需與中斷事件連接一次。
(4)中斷服務程序執(zhí)行到末尾會自動返回,也可以由邏輯控制中途返回(RETI)。
(5)S7-200SMART中最多使用128個中斷程序,新建工程中默認有一個中斷程序,中斷程序不能嵌套。(6)中斷程序應短小而簡單,執(zhí)行時對其他處理不要延時過長,即越短越好。
控制要求:按下I0.0輸出線圈Q0.0運行,再次按下I0.0輸出Q0.0斷開。
第一步:開中斷,中斷事件關聯為0,I0.0上升沿觸發(fā)中斷服務程序INT0
第二步:在中斷程序中編寫控制程序
利用Q0.0線圈的常閉點來接通Q0.0線圈本身
關于中斷程序用法,可以參考以下資料和例子:
神級匯總,西門子PLC中斷指令及例程 ATCH和ENI
www.tuo13886.net.cn/Article/tixingtu/10187.html
PLS指令,子程序和中斷程序用法
www.tuo13886.net.cn/Article/tixingtu/10134.html
西門子S7-200smart通過瞬時流量來計算累計流量的一種方法 中斷IN_T0
www.tuo13886.net.cn/Article/tixingtu/10154.html
以上即為中斷指令及程序的講解,大家如若還是一知半解的,歡迎大家在評論區(qū)一起交流。