西門子PLC中各個組織塊OB作用(OB1、OB100……)


1、自由循環組織塊OB1

      S7  CPU啟動完成后,操作系統循環執行OB1,OB1執行完成后,操作系統再次啟動OB1。在OB1中可以調用FB、SFB、FC、SFC等用戶程序使其循環執行。除OB90以外,OB1優先級最低,可以被其他OB中斷。OB1默認掃描監控時間為150ms(可設置),掃描超時,CPU自動調用)B80報錯,如果程序中沒有建立OB80,CPU進入停止模式。

2、日期中斷組織塊OB10~OB17

      在CPU屬性中,可以設置日期中斷組織塊OB10~OB17觸發的日期、執行模式(到達設定的觸發日期后,OB只執行一次或按每分、每小時、每周、每月周期執行)等參數,當CPU的日期值大於設定的日期值時,觸發相應的OB並按設定的模式執行。在用戶程序中也可以通過調用SFC28系統函數設定CPU日期中斷的參數,調用SFC30激活日期中斷投入運行,與在CPU屬性中的設置相比,通過用戶程序,可以在CPU運行時靈活地修改設定的參數,兩種方式可以任意選擇,也可以同時對一個OB進行設置。

3、時間延遲中斷組織塊OB20~OB23

      時間延遲中斷組織塊OB20~OB23的優先級及更新過程映像區的參數需要在CPU屬性中設置,通過調用系統函數SFC32觸發執行,OB號及延遲時間在SFC32參數中設定,延遲時間為1~60000ms,大大優於定時器精度。

4、循環中斷組織塊OB30~OB38

      循環中斷組織塊OB30~OB38按設定的時間間隔循環執行,循環中斷的間隔時間在CPU屬性中設定,每一個OB默認的時間間隔不同,例如)B35默認的時間間隔為100ms,在OB35中的用程序將每隔100ms調用一次,時間間隔可以自由設定,最小時間間隔不能小於55ms。OB中的用戶程序執行時間必須小於設定的時間間隔,如果間隔時間較短,由於循環中斷OB沒有完成程序掃描而被再次調用,從而造成CPU故障,觸發OB80報錯,如果程序中沒有創建OB80,CPU進入停止模式。通過調用SFC39~SFC42系統函數可以禁止、延遲、使能循環中斷的調用。循環中斷組織塊通常處理需要固定掃描周期的用戶程序,例如PID函數塊通常需在循環中斷中調用以處理積分時間的計算。

5、硬件中斷組織塊OB40~OB47

      硬件中斷也叫過程中斷,由外部設備產生,例如功能模塊FM、通信處理器CP及數字量輸入、輸出模塊等。通常使用具有硬件中斷的數字量輸入模塊觸發中斷響應,然后為每一個模塊配置相應的中斷OB(一個模塊只能良一個中斷OB,S7-300系列PLC  CPU只能觸發硬件中斷OB40),在模塊配置中可以選擇輸入點的上升沿、下降沿或全部作為觸發中斷OB的事件。配置中的中斷事件出現,中斷主程序,執行中斷OB中的用戶程序一個周期,然后跳回中斷處繼續執行主程序。使用中斷與普通輸入信號相比,沒有主程序掃描和過程映像區更新時間,適合需要快速響應的應用。

        如果輸入模塊中的一個通道觸發硬件中斷,操作系統將識別模塊的槽號及觸發相應的OB,中斷OB執行之后發送與通道相關的確認。在識別和確認過程中,該通道再次觸發的中斷事件將丟失;如果模塊其他通道觸發中斷事件,中斷不會丟失,在當前正在運行的中斷確認之后觸發;如果是不同的模塊觸發的中斷事件,中斷請求被記錄,中斷OB在空閑(沒有模塊其他通道的中斷請求)時觸發。通過調用SFC39~SFC42系統函數可以禁止、延遲、使能硬件中斷的調用。

6、DPV1中斷組織塊OB55~OB57

      CPU響應PROFIBUS-DP  V1從站觸發的中斷信息。

7、多處理器中斷組織塊OB60

      用於S7-400系列PLC多CPU(一個機架中最多插入4個CPU完成同一個復雜任務)處理功能,通過調用SFC35,可以觸發OB60在多個CPU中同時執行。

8、時鍾同步中斷組織塊OB61~OB64

      用於處理PROFIBUS-DP  V1等時鍾同步,從采集各個從站的輸入到邏輯結果輸出,需要經過從站輸入信號采樣循環(信號轉換)、從站背板總線循環(轉換的信號從模塊傳遞到從站接口)、PROFIBUS-DP總線循環(信號自從站傳遞到主站)、程序執行循環(信號的程序處理)、PROFIBUS-DP總線循環(信號從主站傳遞到從站)、從站背板總線循環(信號從從站接口傳遞到輸出櫃塊)及模塊輸出循環(信號轉換)7個循環,時鍾同步中斷將7個循環同步,優化數據的傳遞並保證PROFIBUS-DP各個從站數據處理的同步性。PROFIBUS時鍾同步中斷只能用於S7-400系列PLC  CPU(具有DP  V2  功能)。

9、工藝同步處理中斷組織塊OB65

      用於T-CPU(具有運動控制功能的CPU)工藝塊與開始程序的同步處理。

10、冗余故障中斷組織塊OB70、OB72

      用於S7-400H冗余系統,當I/O冗余故障,例如冗余的PROFIBUS-DP從站故障時,觸發OB70的調用,當CPU冗余故障,如CPU切換、同步故障時,觸發OB72的調用。如果I/O冗余,或者CPU冗余故障而在CPU中沒有創建OB70、OB72,CPU不會進入停止模式。

11、異步故障中斷組織塊OB80~OB87

      異步故障中斷用於處理各種故障事件。

      OB80:處理時間故障、CIR(Configuration  In  Run)后的重新運行等功能,例如OB1或OB35運行超時,CPU自動調用OB80報錯,如果程序中沒有創建OB80,CPU進入停止模式。

      OB81:處理與電源相關的各種信息(S7-400系列PLC  CPU只有電池故障時調用),出現故障,CPU自動調用OB81報錯,如果程序中沒有創建OB81,CPU不會進入停止模式。

      OB82:診斷中斷,如果使能一個具有診斷中斷模塊的診斷功能(例如斷線、傳感器電源丟失),出現故障時調用OB82,如果程序中沒有創建OB82,CPU進入停止模式。診斷中斷還對CPU所有內外部故障,包括模塊前連接器拔出、硬件中斷丟失等作出響應。

      OB83:用於模塊插拔事件的中斷處理,事件出現,CPU自動調用OB83報警,如果程序中沒有創建OB83,CPU進入停止模式。

      OB84:用於處理存儲器、冗余系統中兩個CPU的冗余連接性能降低等事件。

      OB85:用於處理操作系統訪問模塊故障、更新過程映像區時I/O訪問故障、事件觸發但相應的OB沒有下載到CPU等事件,事件出現,CPU自動調用OB85報錯,如果程序中沒創建OB85,CPU進入停止模式。

      OB86:用於處理擴展機架(不適用於S7-300系列)、PROFIBUS-DP主站、PROFIBUS-DP或PROFINET  I/O分布I/O系統中站點故障等事件,事件出現,CPU自動調用OB86報錯,如果程序中沒有創建,CPU進入停止模式。

      OB87:用於處理MPI  GD  通信及時鍾同步故障,事件出現,CPU自動調用OB87報錯,如果程序中沒有創建,CPU不會進入停止模式。

12、處理中斷組織塊OB88

      用於處理程序嵌套、區域數據分配故障,故障出現,CPU自動調用OB88報錯,如果程序中沒有創建,CPU進入停止模式。

13、背景循環中斷組織塊OB90

      優先級最低,保證CPU最短的掃描時間,避免過程映像區更新過於頻繁。程序的下載和CPU中程序的刪除觸發OB90的調用。只能用於S7-400系列PLC  CPU。

14、啟動中斷組織塊OB100~OB102

      用於處理CPU啟動事件,暖啟動CPU調用OB100,熱啟動CPU調用OB101(不適合S7-300系列PLC和S7-400H),冷啟動CPU調用OB102,溫度越低,CPU啟動時清除存儲器中數據區的類型越多。

15、同步錯誤中斷組織塊OB121、OB122

      OB121處理與編程故障有關的事件,例如調用的函數沒有下載到CPU中、BCD碼出錯等,OB122處理與I/O地址訪問故障有關的事件,例如訪問一個I/O模塊時,出現讀故障等。如果上述故障出現,在程序中沒有創建OB121、OB122,CP進入停止模式。

        注意:不是所有的OB都可以在S7  CPU中使用,例如S7-300系列PLC  PU中只有暖啟動OB100,操作系統不能調用OB101、OB102,CPU中可以使用的OB請參考CPU選型手冊。

        S7-300系列PLC中組織塊的優先級是固定的,不能修改,在S7-400系列PLC中下列組織塊的優先級可以進行修改:

        OB10~OB47:優先級修改范圍2~23。

        OB70~OB72:優先級修改范圍2~38。

        OB81~OB87:優先級修改范圍2~26,優先級24~26確保異步故障中斷不被其他的事件中斷。

        幾個組織塊可以具有相同的優先級,當事件同時出現時,組織塊按事件出現的先后順序觸發,如果超過12個相同優先級的OB同進觸發,中斷可能丟失。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM