<object id="ayu7o"></object>

      <object id="ayu7o"></object>

    1. <menuitem id="ayu7o"></menuitem>
      <object id="ayu7o"></object>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684
      公司新聞
      西門子S7-200 PLC中斷程序的應用講解
      發布時間: 2024-04-15 16:12 更新時間: 2024-12-02 08:00

      1.中斷與中斷程序

      有很多PLC內部或外部的事件是隨機發生的,例如外部開關量輸入信號的上升沿或下降沿、通信事件、高速計數器的當前值等于設定值和定時中斷等,事先并不知道這些事件何時發生,但是它們出現時需要盡快地處理它們,PLC用中斷來快速處理上述事件。

      例如電力系統出現故障時,可能引發多個斷路器相繼跳閘。為了分析故障的起因,需要及時準確記錄事故發生的時間。可以用硬件中斷來完成這一任務。


      圖片


      由于PLC的掃描工作方式,普通定時器的定時誤差很大,定時時間到了也不能馬上去處理要作的事情。可以用定時中斷來實現高精度定時,在定時時間到時CPU自動調用定時中斷程序。


      在出現一個中斷事件時,當前正在執行的程序在當前指令執行完后被停止執行(被中斷),操作系統將會調用一個用戶編寫的分配給該事件的中斷程序(S7-300/400稱為組織塊)。中斷程序被執行完后,被暫停執行的程序將從被中斷的地方開始繼續執行。這一過程不受PLC掃描工作方式的影響,因此使PLC能迅速響應中斷事件。換句話說,中斷程序不是在每次掃描循環中處理,而是在需要時才被及時地處理。


      2.編寫中斷程序應注意的問題

      因為不能預知系統何時調用中斷程序,為了避免在中斷程序中改寫其他程序使用的存儲器,在中斷程序中應盡量使用局部變量。

      應優化中斷程序,使中斷程序盡量短小,以減少中斷程序的執行時間,減少對其他處理的延遲,否則可能引起主程序控制的設備操作異常。設計中斷程序時應遵循“越短越好”的格言。為了減少中斷程序的執行時間,可以在中斷程序設置一個軟件標志,在主程序中根據標志處理對于快速性要求不是很高、執行時間很長的任務。


      3.中斷程序為什么沒有輸入、輸出變量?

      中斷程序不像子程序那樣,被用戶程序調用,而是在中斷事件發生時,由操作系統調用,因此S7系列PLC的中斷程序不需要輸入參數和輸出參數,它的局部變量表中只有臨時變量。S7-300/400的中斷程序稱為組織塊,它有自動生成的20字節的臨時局部變量,包含了與觸發組織塊的事件有關的信息,它們由操作系統提供。


      圖片


      4.中斷的優先級

      中斷事件有不同的優先級,高優先級的中斷程序可以中斷低優先級的中斷程序。如果在執行中斷程序時,又檢測到一個中斷請求,CPU將比較兩個中斷源的中斷優先級。如果優先級相同,按照產生中斷請求的先后次序進行處理。如果后者的優先級比正在執行的中斷源的優先級高,將中止當前正在處理的中斷程序,改為調用較高優先級的中斷源的中斷程序,這種處理方式稱為中斷程序的嵌套調用。


      圖片


      5.中斷的控制

      不是所有的用戶都需要PLC的中斷功能,用戶一般也不需要處理所有的中斷事件,因此允許用戶用指令來控制是否需要中斷和需要哪些中斷。

      S7-200的中斷允許指令EI允許處理中斷事件。至于需要處理哪些中斷事件,需要單獨設置。禁止中斷指令DI禁止處理所有的中斷事件。

      S7-200進入RUN模式時自動禁止中斷,在RUN模式執行中斷允許指令后,各中斷事件發生時是否會執行中斷程序,取決于是否執行了該中斷事件的中斷連接指令ATCH。

      中斷分離指令DTCH用來斷開某個中斷事件與中斷程序之間的聯系,從而禁止單個中斷事件。


      聯系方式

      • 電  話:13922889745
      • 經理:向小姐
      • 手  機:18475208684
      • 微  信:18475208684