加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子S7-1200程序塊之組織塊介紹
        發布時間: 2023-12-31 20:04 更新時間: 2024-11-22 08:00
        觀看西門子S7-1200程序塊之組織塊介紹視頻
          一、S7-1200程序塊

              S7-1200CPU采用塊的概念,將程序分解為獨立的,自成體系的各部部件塊的功能類似于S7-200系列中的子程序,但類型更多,功能更強大

             簡而言之就是比如一個項目分成不同的功能(任務)和工藝,每個任務可做成不同的代碼塊;每個代碼塊可完成不同的任務或工藝,并且每個代碼塊是獨立的;這些塊與S7-200的子程序塊更強大,在200系列中如果采用帶形式參數的子程序去編寫程序的過程中,如果去使用計數器、定時器等沒有相應的變量類型的存儲區時,在需要被重復調試這帶形參的子程序時,計數器、定時器就會出現雙線圈;但在1200中的FB/FC塊中可以使用計數器、定時器、沿脈沖信號等反復調用不受影響


        二、使用塊的優點

           使用塊的概念有以下好處:

        (1)便于大規模程序的設計和理解

           將不同的任務分成不同的程序塊,在大的項目中我們按照,任務、功能的劃分不同的任務段,每個任務段編寫不同的程序塊,完成這個任務塊的程序就行,(2)可設計標準化的程序塊,方便進行重復的調用     如一個電機的控制,涉及到電機的啟動方式、運行參數如速度的反饋、電壓電流的反饋等等;如果設計一個標準的程序塊時,不同的工程師不需重新設計,把標準塊直接調用即可。(3)程序結構清晰明了,修改方便,調試簡單。(4)增加PLC的組織透明性,可理解易維護。
        三、程序塊詳解       S7-1200CPU提供了不同類型的程序塊,主要分為組織塊(OB)、函數(FC)函數塊(FB)數據塊(DB)      組織塊:由操作系統調用,決定程序的結構      函數(功能)塊:具有存儲器的代碼塊,可將值存儲在背景數據塊中,即使在執行完后,這些值存在背景數據塊中仍然有效。      函數:不帶存儲器的代碼塊,數據存儲在局部存儲區L里面,函數沒有背景數據塊,執行完成后,數據不保存     數據塊:存儲用戶數據的區域,類似于200系列的V存儲區;它分為全局數據塊和背景數據塊??筛鶕煌娜蝿斩?,建立不同的數據塊來存儲任務

        組織塊OB    組織塊的基本功能是調用用戶程序,在S7-1200中可以使用的組織塊OB有啟動組織塊、循環組織塊、循環中斷組織塊,定時中斷組織塊,硬件中斷組織塊,故障中斷組織塊等。     啟動組織塊(OB100)在添加OB塊的時可選擇多個啟動組織塊,根據組織塊的編號大小順序依次執行。啟動組織塊通常用來做出初始化的程序(在一些需要做初始化的程序可以放到OB100中)


              循環組織塊:(OB1)PLC的主程序MAIN CPU會循環的對程序掃描執行,然后有循環組織塊調用不同FB/FC,也就是CPU在處于RUN模式時,操作系統每個周期調用循環OB一次,所有的循環OB執行完后,操作系統重新調用循環OB,S7-1200CPU支持多個程序循環OB,執行順序一樣是根據編號大小依次執行;

               硬件中斷組織塊:在RUN模式下,CPU立即響應硬件中斷事件,調用相關的硬件中斷OB,中斷程序的執行不受主程序的掃描和過程映像更新時間的影響,適合需要快速響應的應用。比如高速計數的當前值等于預設值時,可啟用硬件中斷     一個硬件中斷事件只允許一個硬件中斷OB,而一個硬件中斷OB可分配給多個硬件中斷事件。     中斷硬件觸發后,操作系統將識別輸入通道并確定所分配的OB,在識別和確認的過程中,同一模塊上發送了觸發硬件中斷的另一事件,必須遵循以下規則:      1、如果該通道再次發生相同的中斷事件,操作系統不予響應,硬件中斷將丟失      2、如果發生不同的中斷事件,則在當前正在執行的中斷確認后再響應這個新的中斷事件


              時間中斷組織塊:時間中斷OB用于在時間可控的應用中定期運行一部分用戶程序,可實現在某個預設時間到達只運行一次,或在設定的觸發日期到達后,按時、分、秒、天、周、月等周期運行,只有設置并激活了時間中斷,且程序中存在相應組織塊的情況下,才能運行時間中斷,通過以下指令對時間中斷進行操作:“ACT-TINT”激活時間中斷“SET-TONTL”設定時間中斷的參數“CAN-TINT”取消未執行的時間中斷“QRY-TINT”查詢時間中斷的狀態      循環中斷組織塊:循環中斷OB按設定的時間間隔循環執行,如間隔時間為1000MS,則在程序塊執行期間會每隔1000MS調用該該塊一次。在添加塊的時候可添加一個循環中斷組織塊,同時可設置該組織塊的執行時間間隔
             故障中斷組織塊:在發生故障時,可啟用故障中斷     延時中斷組織塊:延時中斷OB在一段可設置的延時時間后啟動,可通過以下指令對延時中斷進行操作:
           “SRT-DINT”用于啟動延時中斷,該中斷在超過參數指定的時間后調用延時中斷OB。延時時間范圍在1~60000MS   “CAN-DINT”取消啟用的延時中斷   “QRY-DINT”查詢延時中斷的狀態


              時間錯誤組織塊:時間錯誤組織塊是操作系統用于處理時間故障的中斷組織塊,當程序和執行時間超過Zui大的循環時間或發生時間錯誤事件,CPU將觸發時間錯誤中斷OB80


              診斷錯誤組織塊:診斷錯誤組織塊是操作系統用于響應診斷錯誤的中斷組織塊,如激活診斷功能的模塊檢測到故障狀態發生變化時,向CPU發送診斷中斷請求,觸發診斷錯誤組織塊OB82


             拔插中斷組織塊:拔插中斷組織塊OB83是操作系統用于響應對模塊移除或插入操作的中斷組織塊,S7-1200 PLC的本地模塊不支持熱插拔,拔出或插入中央機架模塊將導致CPU進入STOP模式


              機架錯誤中斷組織塊:機架錯誤中斷組織塊OB86是操作系統用于響應PROFIBUS-DP和PROFINET-IO分布式IO站通信故障的中斷組織塊

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415