前言
這一篇來講解一下s7-200PLC中的中斷指令,在主程序運行時可以中斷去處理其他事件。我們先要理解中斷,必須知道西門子PLC程序的三大構體,主程序、子程序、中斷程序,其中中斷就屬于程序控制中的一種,中斷主要執行突發程序在返回主程序執行過程,那么如何理解中斷并編程呢?
下面帶大家來學習。軟件使用STEP 7-MicroWIN SMART
一、中斷
1.概念由設備或其他繼續處理的事件引起的,它使系統暫時中斷現在執行的程序,轉到中斷程序來處理這些事件,處理完畢后再返回到原程序繼續執行。
s7-200PLC最多有34個中斷源,即發出中斷請求的來源,每個中斷源都有一個編號,叫做中斷事件號。
另外子程序也算是中斷的一種,在主程序中,如果子程序條件滿足就進入子程序進行執行,執行完后再回到主程序繼續運行。
二、中斷的分類
中斷有三種:輸入輸出中斷,時基中斷,通信中斷。
1.輸入輸出中斷輸入輸出中斷:1.外部輸入中斷:i0.0--i0.3上升沿或下降沿中斷。
2.高速計數器中斷:當前值=預設值,計數方向改變,計數器外部復位。
3.脈沖串輸出中斷:當給定的脈沖數輸出完成后,執行中斷(步進和伺服電機)。
2.時基中斷時基中斷:1.定時中斷,支持一個周期性的活動,以1ms為計量單位(1-255ms)。一共兩個:事 件10:定時中斷0,周期值放入smb34,事件11:定時中斷1,周期值放入smb35.
這是以固定的時間間隔作為采樣周期,對模擬量,輸入采樣,pid,自由口通信用。
2.定時器中斷:事件21,t32和事件22,t96使用,當前值=預設值,中斷。
3.通信中斷通信中斷:這一個并不常用,主要是:接收信息完成中斷,發送完成中斷,接收字符中斷,這里 就這里就不過多敘述了。
三、plc的中斷指令詳解梯形圖實例
1、中斷概述
(1)S7-200SMART PLC中的所有中斷事件可分為三大類:I/O中斷、通信中斷、時基中斷。
(2)當多個中斷時間同時發出中斷請求時,CPU對中斷響應就有優先次序。
(3)中斷優先級由高到低依次是:通信中斷、I/O中斷、時基中斷。
(4)中斷是隨機發生且必須立即響應,引發中斷信號稱為中斷源。
(5)每個中斷源都分配一個編號來識別,這個編號我們稱之為中斷事件號。
2、中斷指令
(1)ENI(開啟中斷)
開放中斷指令,PLC在RUN模式下,是中斷禁止狀態,需由此開啟才能運行。
(2)ATCH(中斷連接指令)
用于把中斷事件號(EVNT)與中斷程序(INT)進行連接
(3)DISI(禁止所有中斷)
禁止所有中斷,當指令執行后,所有中斷都被禁止,即發生中斷事件,也不執行中斷程序,但會產生中斷排隊事件,必須重新開允許中斷后才可以再次使用中斷功能。
(4)RETI(中斷返回指令)
中斷返回指令,編寫在中斷程序內,一旦觸發后面程序不在執行。
(5)CEVENT EVNT(中斷排隊事件清除指令)
中斷排隊事件清除指令,主要用于禁止中斷后等待排隊的事件。
(6)DTCH(中斷分離指令)
中斷分離指令,用于把中斷服務程序與中斷事件分離
3、中斷程序在使用過程中注意事項
(1)中斷程序不是調用,而是配置中斷事件號和中斷服務程序。
(2)多個中斷事件號可以連接同一個中斷服務程序,一個中斷事件只能連接一個中斷服務程序
(3)中斷程序只需與中斷事件連接一次。
(4)中斷服務程序執行到末尾會自動返回,也可以由邏輯控制中途返回(RETI)。
(5)S7-200 SMART中最多使用128個中斷程序,新建工程中默認有一個中斷程序,中斷程序不能嵌套。(6)中斷程序應短小而簡單,執行時對其他處理不要延時過長,即越短越好。
4、編寫中斷程序(利用中斷實現單按鈕啟停)
控制要求:按下I0.0輸出線圈Q0.0運行,再次按下I0.0輸出Q0.0斷開。
第一步:(開中斷,中斷事件關聯為0,I0.0上升沿觸發中斷服務程序INT0)
第二步:(在中斷程序中編寫控制程序)
利用Q0.0線圈的常閉點來接通Q0.0線圈本身
以上即為中斷指令及程序的講解。