色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何理解和使用STEP7的循環中斷組織塊OB3x

呂致盈2年前14瀏覽0評論

如何理解和使用STEP7的循環中斷組織塊OB3x?

一、S7系列PLC的程序執行過程

要回答這一問題,首先得清楚S7系列PLC程序執行的過程,如下圖所示。

PLC得電或由STOP模式切換到RUN模式時,CPU起動,同時清除沒有保持功能的位存儲器、定時器、計數器,清除中斷堆棧和塊堆棧的內容,復位保存的硬件中斷等。

執行“系統起動組織塊”OB100,該組織塊可以自定義編程,實現一些初始化的工作; 系統進入周期掃描,并起動循環時間監控;CPU將輸出過程映像區的數據寫入輸出模塊;讀取輸入模塊的狀態,并寫入輸入過程映像區; CPU調用OB1,執行用戶程序,期間,根據需要可調用其他邏輯塊(FB、SFB、FC及SFC),來實現控制任務;在循環結束時,操作系統執行所有掛起的任務,例如下載和刪除塊、接收和發送全局數據等;CPU重新啟動循環時間監控,開始新的循環;

9、在執行用戶程序的過程中,如果有中斷事件發生,當前執行的塊將暫停執行,轉而執行相應的組織塊,來響應中斷。該組織塊執行完成后,之前被暫停的塊將從中斷的地方繼續開始執行。OB1具有很低的優先級,除了OB90外,所有的組織塊都能中斷OB1。

二、循環中斷組織塊的概念

S7提供了多達九個的循環中斷OB (OB30至OB38),它們以固定的時間間隔來中斷用戶程序。不同的CPU支持的循環中斷的個數有所差異,比如CPU315-2DP僅有一個循環中斷組織塊——OB35;而S7-400系列CPU幾乎支持全部的九個循環中斷OB,具體支持與否,可查看硬件手冊。

循環中斷OB的等距啟動時間是由時間間隔和相位偏移量決定的。在“硬件組態”中,可以定義循環中斷的優先級、兩次中斷之間的時間間隔以及相位偏移量(在S7-300系列CPU中,只能定義時間間隔),如下圖所示。

定義好上述參數后,系統上電、正常運行后,每隔一定的時間,觸發一次循環中斷,系統暫時中止執行OB1中的程序,轉而執行循環中斷OB(如OB35)中的程序。循環中斷OB中的代碼執行完畢后,系統自動回到OB1的斷點處,繼續執行OB1的程序。直到下一次循環中斷的產生,如此,周而復始。

三、什么時候用循環中斷

我們知道,OB1由于可能被其他組織塊中斷,因此,每一次處理周期的時間會不盡相同,因此一些些對“周期時間”要求比較嚴格的信號,在OB1中處理就不太合適了。

和OB1不同,循環中斷OB塊的是“等間隔”執行的,其執行間隔可由用戶自定義,相比OB1而言,其等時、同步性能更好,比如模擬量的采集和處理,為保證數據的統一性,通常可將代碼寫在循環中斷組織塊中。

java循環寫入,如何理解和使用STEP7的循環中斷組織塊OB3x