S7-200 SMART設置了中斷功能,用於(yu) 實時控製、高速處理、通信和網絡等複雜和特殊的控製任務。
SBR_0——是MAIN主程序的子程序
INT-0——是中斷子程序
S7-200 SMART 係列可編程控製器最多有38個(ge) 中斷源(9個(ge) 預留),分為(wei) 三大類:通信中斷、輸入/輸出(I/O)中斷和時基中斷,S7-200 SMART規定的中斷優(you) 先由高到低依次是:通信中斷、I/O中斷和時基中斷。每類中斷中不同的中斷事件又有不同的優(you) 先權。
中斷指令主要包括以下幾種:
-
ATCH:中斷連接,連接某中斷事件所要調用的程序段。
-
ENI:全局允許中斷,開放中斷處理功能。
-
DISI:全局禁止中斷,禁止處理中斷服務程序,但中斷事件仍然會(hui) 排隊等候。
-
DTCH:中斷分離,將中斷事件號與(yu) 中斷服務程序之間的關(guan) 聯切斷,並禁止該中斷事件。
-
RETI:條件中斷返回,根據邏輯操作的條件,從(cong) 中斷服務程序中返回。
-
CLR_EVNT:清空中斷隊列。
與(yu) S7-200相比,下表所示中斷事件號為(wei) S7-200 SMART 所特有的 :
表1.S7-200 SMART 特有中斷事件號
中斷程序實例
本例使用定時中斷實現對100ms定時周期計數。我們(men) 使用特殊存儲(chu) 器定時中斷0。由定時中斷0的中斷事件號為(wei) 10,確定周期的特殊寄存器字節時SMB34。
該程序主要包括以下幾部分:
-
SBR_0:中斷初始化程序;
-
INT_0:中斷服務程序;
在主程序中調用SBR_0,如下圖所示:
其中,初始化中斷程序秩序調用一次,因此用SM0.1作為(wei) 條件。
SBR_0編程如下圖所示:
其中,寫(xie) 入定時周期數100ms,連接10號中斷事件即定時中斷0,指定中斷服務程序名稱為(wei) INT_0。
INT_0編程如下圖所示:
其中,用雙字長的整數加法對VD200自身加1。
注意:中斷程序的初始化隻需執行一次。也可根據需要重新定義(yi) 中斷事件。
使用狀態表監視,VD200的內(nei) 容就是100ms周期到達的次數,如下圖所示:
中斷例程
例程所需條件:
1、軟件版本:STEP 7-Micro/WIN SMART V2.3
2、SMART CPU固件版本:V1.0及以上
3、通訊硬件:TP電纜(以太網電纜)
所實現的功能:
1.通過SMB34做100ms的定時中斷
2.通過VD200自累加1,計算進入中斷的次數