<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    什么是中斷?西門子S7-200 SMART如何編寫中斷程序
    發布時間: 2023-07-20 22:36 更新時間: 2024-12-26 09:10

    中斷就是中止當前正在運行的程序,去執行為立刻響應的信號而編寫的中斷服務程序,執行完畢后再返回原來中止的程序并繼續執行。西門子S7-200 SMART CPU*多支持38個中斷事件,其中8個為預留。為了便于識別,系統給每一個中斷事件都分配了一個編號,又稱中斷事件號。

    S7-200 SMART的中斷

        所有中斷事件可以分為三大類:通信中斷、I/O中斷、定時中斷。通信中斷為CPU的串行通信端口可以由用戶進行控制,稱為自由端口模式,在該模式下接收信息完成、發送信息完成、接收一個字符均可以產生中斷事件,利用接收和發送中斷可以簡化程序對通信的控制。I/O中斷包括:上升沿中斷、下降沿中斷、高速計時器中斷。CPU可以為輸入點I0.0至I0.3以及可選信號板的I7.0和I7.1的上升沿或下降沿產生中斷。高速計數器中斷允許響應HSC的計數器當前值等于設定值、計數方向改變、計數器外部復位等中斷事件。

    中斷事件


        定時中斷可以用來進行一個周期性的操作,以1毫秒為增量,周期時間可以取1毫秒至255毫秒。定時中斷0和定時中斷1的時間間隔分別寫入特殊寄存器字節SMB34和SMB35。通常可以使用定時中斷來采集模擬量或定時執行PID控制程序。定時器中斷T32和T96允許及時響應一個給定時間間隔的結束,只有1毫秒分辨率的接通延時TON和斷開延時TOF定時器,T32和T96支持此類中斷,啟用中斷后當定時器的當前值等于預設值時,在CPU的1毫秒定時刷新中執行被連接的中斷程序。

    定時中斷

        每類中斷中不同的中斷事件又有不同的優先權,多個中斷事件同時發生時,根據優先級組以及組內優先權來確定首先處理哪一個中斷事件。優先級相同時,CPU按照先來先服務的原則處理中斷。任何時刻CPU只能執行一個用戶中斷程序。一旦一個中斷程序開始執行,它要一直執行到完成,即使更高優先級的中斷事件發生,也不能中斷正在執行的中斷程序。正在處理另一個中斷時發生的中斷會進行排隊等待處理。每一個優先級組分別設立相應的隊列,產生的中斷事件分別在各自的隊列排隊,先到先處理,各隊列能保存的*大中斷數以及隊列溢出特殊寄存器位如下圖表中所示。

    中斷隊列

        西門子S7-200 SMART規定的中斷優先級由高到低依次是通信中斷、I/O中斷、定時中斷。S7-200 SMART的中斷管理是通過指令完成的,中斷指令包括中斷允許與中斷禁止指令、中斷連接與中斷分離指令。CPU進入RUN模式時,自動禁止所有中斷。

    中斷指令

        中斷允許指令,全局性地啟用對所有連接的中斷事件的處理。中斷禁止指令,全局性地禁止對所有中斷事件的處理,但是已建立了關聯的中斷事件仍將繼續排隊。從中斷程序有條件返回指令,在控制它的邏輯條件滿足時,從中斷程序返回。編譯程序自動為各中斷程序添加無條件返回指令。


    中斷允許與中斷禁止

        中斷連接指令,用來建立中斷事件號EVNT與中斷程序編號之間的聯系,并自動允許該中斷事件進入相應的隊列排隊,能否執行處理還要看禁止的情況。多個中斷事件允許與同一個中斷程序相關聯,但同一個中斷事件不允許與多個中斷程序相連。

    中斷連接

        中斷分離指令,解除中斷事件EVNT與所有中斷程序的關聯,所**定的中斷事件不再進入中斷隊列,從而禁止單個中斷事件。清除中斷指令,從中斷隊列中清除所有編號為EVNT的中斷事件。該指令可以用來清除不需要的中斷事件。

    中斷分離

    圖片

    圖片

    圖片

    圖片



    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595