如何讀取S7-300/400CPU的掃描週期時間?

如何避免CPU掃描時間過長導致CPU系統停機?

S7-300CPU的看門狗時間默認為150ms,最大值可以設置6000ms。如果用戶程序的執行時間大於硬件組態中所設定的CPU的掃描週期的監控時間,則CPU會因看門狗超時而導致系統停機,同時會觸發定時錯誤OB80。

操作步驟:在“SIMATICManager”編程軟件中的硬件組態“HWConfig”的機架中雙擊組態好的S7-300的CPU中,在彈出的屬性對話框中選中“週期/時鐘存儲器”,然後修改“掃描週期監視時間(ms)”,該時間的取值範圍為1-6000ms。如圖所示:

如何讀取S7-300/400CPU的掃描週期時間?

如何查看S7-300CPU的系統掃描循環時間?

方法1:將程序下載到PLC中,然後進行在線連接,然後查看CPU的信息。

操作步驟:將“SIMATIC300站點”下載到PLC中,然後在菜單欄中選擇“PLC”-“診斷/設置”-“模塊信息”。如下圖所示:

如何讀取S7-300/400CPU的掃描週期時間?

然後在彈出的模塊信息窗口中點擊“掃描循環時間”。

如何讀取S7-300/400CPU的掃描週期時間?

方法2:通過將OB1對應的臨時變量傳到M區中,即可讀取CPU的掃描循環時間。如下圖:

如何讀取S7-300/400CPU的掃描週期時間?
如何讀取S7-300/400CPU的掃描週期時間?

如何查看執行S7-300中一個子程序大概需要多長時間?

使用S7-300/400CPU時,如果工程師需要了解某個子程序大約執行的時間,可在主程序調用該子程序的前後分別讀取CPU的系統時鐘,然後利用時鐘指令FC34進行相減進行編程運算。

操作步驟:首先,先設置CPU的系統時鐘,在菜單欄中的“PLC”-“診斷/設置”-“設置時鐘”

如何讀取S7-300/400CPU的掃描週期時間?

然後在彈出的設置時鐘窗口中點擊“應用”。

如何讀取S7-300/400CPU的掃描週期時間?

創建一個符號名為“Time”數據塊(DB),並創建如下變量。

在需要測試的子程序首尾網絡中讀取系統調用讀取系統時鐘SFC1,然後運用時鐘相減指令FC34進行計算。

操作步驟:在OB1中打開“庫”-“StandardLibrary”-“System Function Blocks”中調用“SFC1 Read CLK FUNC”。

如何讀取S7-300/400CPU的掃描週期時間?

接著調用打開“庫”-“StandardLibraray”-“IEC Function Blocks”中調用“SFC 34 SB_DT_DTIEC”。然後進行如下操作:

如何讀取S7-300/400CPU的掃描週期時間?
如何讀取S7-300/400CPU的掃描週期時間?


分享到:


相關文章: