1
組織塊
硬件數據類型由CPU提供,可用硬件數據類型的數目取決于具體使用的CPU。硬件數據類型通常都是常量,用于硬件的標識,常量的值取決于模塊的硬件配置。硬件數據類劇也常用于診斷。表5-12給出了可用的硬件數據類型及其用途。
組織塊(OB)由操作系統調用,同時執行編寫在組織塊中的用戶程序,組織塊Zui基本 的功能就是調用用戶程序。
組織塊可以控制下列操作:
自動化系統的啟動特性;
循環程序處理;
中斷響應的程序執行;
錯誤處理。
組織塊代表CPU的系統功能,不同類型的組織塊完成不同的系統功能。不同類型的CPU支持的組織塊數量不同,具體請查看各CPU的技術數據。一個組織塊可以編寫Zui大的程序容量也與PLC的型號有關,例如CPU1511支持的組織塊Zui大為150K, 而CPU 1516支持的組織塊Zui大為512K。
2
組織塊的類型與優先級
SIMATIC S7-1500 CPU支待的優先級從1(Zui低)到26(Zui高),每個OB有其對應的優先級。OB可由事件觸發,所以也可以說事件具有與OB相對應的優先級。對于SIMATIC S7-1500 CPU,如果發生OB啟動事件,則可能引起以下反應:
如果事件源已分配一個OB,則事件將觸發該OB的執行并更新分配的過程映像分 區,這意味著事件是按照優先級進行排列的(因為OB具有優先級)。
如果事件源并沒有分配任何OB(有一種可能是用戶并沒有添加相應OB),則將執 行默認的系統響應(在S7-300/400中CPU將停機)。
下表概述了OB啟動事件,包括OB優先級、OB編號、默認的系統響應和可能的OB 個數。優先級數字越小表示優先級越低,例如程序循環組織塊的優先級為“1"'表示其優先級Zui低,能夠被其他組織塊所中斷。
注意:由表可以看出,當發生循環超時和編程錯誤事件時,如果程序中沒有添加相應的組織塊,則SIMATICS7-1500CPU將進入停機模式;而對于其他事件,即使SI-MATICS7-1500CPU中沒有添加相應的組織塊,CPU也不會停機,這與S7-300/400是有區別的。
下面是各組織塊類型的介紹和使用方法
1
程序循環組織塊
操作系統每個周期調用“程序循環”組織塊一次,從而啟動用戶程序的執行。在SI-MATIC S7-1500 CPU中,可以使用多個“程序循環”組織塊(OB編號大于等于123),并且按照序號由小到大的順序依次執行。所有的"程序循環”組織塊執行完成后,操作系統再次重新調用“程序循環”組織塊。在各個“程序循環”組織塊中調用FB、FC等用戶程 序使之循環執行。“程序循環”組織塊的優先級為1且不能修改,這意味著它的優先級是Zui低的,可以被其他OB塊中斷。“程序循環”組織塊的執行如圖所示。
2
時間中斷組織塊
時間中斷組織塊用于在時間可控的應用中定期運行一部分用戶程序,可以實現在某個預設時間到達時只運行一次,或者在設定的觸發日期到達時,按每分、每小時、每周、每月、每月底等周期運行。當CPU的日期值大于設定的日期值時觸發相應的OB,按設定的模式執行。在用戶程序中也可以通過調用SET_TINT指令設定時間中斷組織塊的參數,調用ACT_ TINT指令激活時間,中斷組織塊投入運行。與在OB塊屬性中的設置相比,通過用戶程序 在CPU運行時修改設定的參數更加靈活。兩種方式可以任意選擇,也可以同時對一個OB塊 進行參數設置。
3
時間延遲中斷組織塊
時間延遲中斷OB在經過一段可組態的延遲時間后啟動。操作系統會在調用指令SRT_ DINT后開始計算延遲時間,延遲時間到達后觸發執行響應的OB。OB塊號及延遲時間在SRT_DINT參數中設定,延遲時間為1 ~60000ms,延遲精度為lms,這也是不使用定時器作為延時條件的原因。可以使用“CAN_DINT"指令取消已經啟動的延遲中斷。
4
循環中斷組織塊
循環中斷組織塊按設定的時間間隔循環執行,循環中斷的間隔時間通過時間基數和相位偏移量來指定。在OB塊屬性中,每一個OB塊的時間間隔可以由用戶設置。如果使用了多個循環中斷OB,則當這些循環中斷OB的時間基數有公倍數時,可以使用相位偏移量來防止同時啟動。不同類型的SIMATIC S7-1500 CPU所支持的Zui短時間間隔不同,例如CPU 1516支持Zui短250μs的時間間隔,而CPU1518支持Zui短lOOμs的時間間隔。在循環中斷組織塊中的用戶程序將按照固定的間隔時間執行一次,OB塊中的用戶程序執行時間必須小于設定的時間間隔。如果間隔時間較短,則會造成循環中斷OB塊沒有完成程序掃描而再次被調用,從而造成CPU故障,觸發OB80報錯。如果程序中沒有創建OB80,則CPU進入停機模式。通過調用DIS_IRT、DIS_AIRT、EN_IRT指令可以禁用、延遲、使能循環中斷的調用。循環中斷組織塊通常處理需要固定掃描周期的用戶程序,例如PID函數塊通常需要在循環中斷中調用,以保證采樣時間恒定。
5
硬件中斷組織塊
硬件中斷也稱為過程中斷,用來響應由具有硬件中斷能力的設備(如通信處理器CP及 數字量輸入、輸出模塊等)產生的硬件中斷事件。例如,可使用具有硬件中斷的數字量輸 入模塊觸發中斷響應,然后為每一個中斷響應分配相應的中斷OB塊,多個中斷響應可以觸發一個相同的硬件中斷OB。SIMATIC S7-1500 CPU支持多達50個硬件中斷組織塊,可以為Zui多50個不同的中斷事件分配獨立的硬件中斷組織塊,方便用戶對每個中斷事件獨立編程。
如果配置的中斷事件出現,則中斷當前主程序,執行中斷OB塊中的用戶程序一次,然后跳回中斷處繼續運行主程序。中斷程序的執行不受主程序掃描和過程映像區更新時間的影響,適合需要快速響應的應用。
如果輸入模塊中的一個通道觸發硬件中斷,則操作系統將識別該模塊的槽號和通道號,并觸發相應的OB塊,執行中斷OB塊之后發送與通道相關的確認。在識別和確認過程中, 如果該通道存在再次的中斷事件,則操作系統將不予響應;如果該模塊的其他通道存在中斷事件,則在當前正在執行的中斷確認之后響應這個新的中斷事件;如果是由不同的模塊觸發的中斷,則中斷請求首先被記錄,中斷OB塊在空閑(沒有其他模塊的中斷請求)時被觸發。通過調用DIS_IRT、DIS_AIRT、EN_IRT指令可以禁用、延遲、使能硬件中斷的調用。
6
PROFIBUS- DP/PROFINET IO中斷組織塊
CPU響應PROFIBUS- DP從站/PROFINET IO設備觸發的中斷信息。
7
等時同步中斷組織塊
用于處理PROFIBUS- DP或PROFINET IO的等時同步用戶程序。在等時模式下,從各個從站/設備采集輸入信號到輸出邏輯結果需要以下過程:從站/設備輸入信號采樣循環(信號轉換)、從站/設備背板總線循環(轉換的信號從模塊傳遞到接口模塊)、總線循環(信號 從分布式I/O傳遞到CPU)、程序執行循環(信號的程序處理,即等時同步中斷組織塊)、 總線循環(信號從PLC傳遞到分布式I/O)、從站/設備背板總線循環(信號從站接口模塊 傳遞到輸出模塊)及模塊輸出循環(信號轉換)等7個循環。同步時鐘將同步以上7個循 環,優化數據的傳遞,并保證各個分布式I/O數據處理的同步
8
時間錯誤組織塊
用于處理時間故障。當在一個循環內程序執行第一次超出設置的Zui大循環時間時,CPU 將自動調用OB80。如果程序中沒有創建OB80,則CPU將進入停止模式,如果程序中已經創建了OB80,但是在同一次循環內程序執行超出設置的Zui大循環時間兩倍,則CPU也將進 入停機模式。
9
診斷中斷組織塊
SIMATIC S7-1500 PLC操作系統在下列情況下調用診斷中斷組織塊:
激活診斷功能的模塊檢測到其診斷狀態發生變化(事件到來或事件離開);
發生電源錯誤觸發事件;
操作系統檢測到存儲錯誤以及硬件中斷丟失等事件。
10
拔出/插入中斷組織塊
當移除或者插入已組態的分布式I/O模塊或子模塊時,SIMATIC S7-1500 CPU操作系統將調用拔出/插入中斷組織塊。
注意:目前SIMATIC S7-1500 PLC機架不支持熱插拔,所以拔出或插入中央機架模塊將導致CPU進入STOP模式。
- SICAR標準中Prodiag報警使用說明 2024-12-02
- 西門子伺服基礎 2024-12-02
- 西門子PLC用于博圖的各類功能庫,附官方下載鏈接 2024-12-02
- SICAR程序學習-PN網絡程序診斷功能塊 2024-12-02
- SICAR程序學習-初始化程序 2024-12-02
- 西門子變頻器選型 2024-12-02
- 西門子基于ISA88和OMAC的通用設備標準化編程模板 2024-12-02
- 經典運動控制之凸輪曲線你會不會計算?給你個程序代碼 2024-12-02
- FANUC-多任務同步執行的幾種方式 2024-12-02
- SICAR程序學習-配置程序 2024-12-02
- 變頻器控制基礎 2024-12-02
- 分享一個讀取布爾變量的名稱和狀態并顯示在HMI側的FB塊和面板實例(大佬請繞路) 2024-12-02
- 一位工程師對西門子PLC的FB和FC的理解 2024-12-02
- PLC標準化編程之程序塊版本控制說明 2024-12-02
- PLC標準化編程之手把手教你Git對博途程序版本控制使用方法(全網Zui全!) 2024-12-02
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684