讀出S7-1500 CPU的運行時間有多種方式,下面分别介紹這幾種方式。
通過OB1的啟動參數讀出運行時間在非優化的OB1啟動信息中帶有OB1的運行時間,如圖1所示。
圖1.讀出非優化的OB1中運行時間
将啟動信息參數傳遞到全局變量中就可以讀出CPU的上次掃描、最小、最大掃描時間,編程非常方便。
調用RD_SINFO函數讀出運行時間如果使用優化的OB1,啟動信息簡化而沒有這些運行信息,如圖2所示,則必須調用函數讀出。
圖2優化OB1的啟動信息
例如在OB1中調用RD_SINFO函數讀出運行時間,程序如圖3所示。參數TOP_SI為當前OB1的啟動信息;數據類型為SI_classic,需要手動鍵入,ZI1為上次掃描時間,ZI2_3包含最小、最大掃描時間,低字為最小掃描時間;高字為最大掃描時間,示例中分别傳送到MW10和MW12中。START_UP_SI為暖啟動OB的啟動信息;示例中沒有進行引用。
圖3調用RD_SINFO函數
調用RT_INFO函數讀出運行時間通過函數RT_INFO也可以讀出CPU的運行時間,示例程序如圖4所示。
圖4調用RT_INFO函數
通過模式1、2、3可以讀出CPU的上次掃描、最小、最大掃描時間,在這三種模式下,參數INFO的數據類型為LTIME,可以直接讀出。也可以通過其他模式讀出運行時間的百分比。
調用RUNTIME指令讀出運行時間通過指令RUNTIME可以從參數RET_Val直接讀出CPU的運行時間,單位為秒,MEM為中間保存程序運行的存儲器,兩個參數類型都是LREAL,除此之外還可以讀出一段程序的運行時間。如圖5所示。
圖5 RUNTIME指令
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!