1. 如何避免S7-300/400系統掃描時間過長而導致CPU停機?bq2模具聯盟網
如果用戶程序的執行時間超出硬件組態中所設定CPU的掃描周期監控時間,則CPU會因看門狗超時而停機,同時觸發定時錯誤OB80,診斷信息如圖1所示:bq2模具聯盟網
bq2模具聯盟網
圖1 診斷信息bq2模具聯盟網
S7-300/400 CPU的循環掃描時間(看門狗時間)默認為150ms(*大可修改為6000ms),用戶程序的執行時間必須在設定的掃描周期監控時間范圍內。*大掃描周期設置如圖2所示:bq2模具聯盟網
bq2模具聯盟網
圖2 設置*大掃描周期時間bq2模具聯盟網
2. 如何查看S7-300/400系統掃描循環時間?bq2模具聯盟網
如果工程師需要了解程序的掃描周期,可通過如下兩種方法查詢。bq2模具聯盟網
方法一、將程序下載到PLC后,進行在線連接,查看CPU信息,如圖3所示:bq2模具聯盟網
bq2模具聯盟網
bq2模具聯盟網
圖3 查看CPU“掃描循環時間”bq2模具聯盟網
方法二、通過將OB1相應的臨時變量傳送到M區,即可讀取CPU掃描循環時間,如圖4、圖5所示:bq2模具聯盟網
bq2模具聯盟網
圖4 臨時變量傳送到M區bq2模具聯盟網
bq2模具聯盟網
bq2模具聯盟網
bq2模具聯盟網
圖5 變量監控bq2模具聯盟網
3. 如何查看S7-300/400中一個子程序的大約執行時間?bq2模具聯盟網
使用S7-300/400 CPU時,如果工程師需要了解某個子程序的大約執行時間,可在該子程序前、后分別讀取CPU系統時鐘,然后使用時鐘相減指令FC34進行編程計算,步驟如下:bq2模具聯盟網
1、設置PLC系統時鐘,按圖6所示的設置:bq2模具聯盟網
bq2模具聯盟網
bq2模具聯盟網
圖6 置PLC系統時鐘bq2模具聯盟網
2、創建一個塊符號名為“time”的數據塊(DB1),并創建如下變量,如圖7所示:bq2模具聯盟網
bq2模具聯盟網
圖7 創建數據塊