技術文章
介紹了幾種如何讀S7-1500 CPU的運行時間的方法
閱讀:1818 發(fā)布時間:2015-10-29讀S7-1500 CPU的運行時間有很多種方式,,分別介紹如下幾種方式,。
1 通過OB1的啟動參數(shù)讀出運行時間 在非優(yōu)化的OB1啟動信息中帶有OB1的運行時間,如圖1所示,。
圖1.讀出非優(yōu)化的OB1中運行時間
將啟動信息參數(shù)傳遞到全局變量中就可以讀出CPU的上次掃描,、zui小、zui大掃描時間,,編程非常方便。
2 調用RD_SINFO函數(shù)讀出運行時間
如果使用優(yōu)化的OB1,,啟動信息簡化而沒有這些運行信息,,如圖2所示,則必須調用函數(shù)讀出,。
圖2優(yōu)化OB1的啟動信息
例如在OB1中調用RD_SINFO函數(shù)讀出運行時間,,程序如圖3所示。參數(shù)TOP_SI為當前OB1的啟動信息,,
數(shù)據(jù)類型為SI_classic,,需要手動鍵入,ZI1為上次掃描時間,,ZI2_3包含zui小,、zui大掃描時間,低字為zui小掃描時間,,
高字為zui大掃描時間,,示例中分別傳送到MW10和MW12中。START_UP_SI為暖啟動OB的啟動信息,,
示例中沒有進行引用,。
圖3調用RD_SINFO函數(shù)
3 調用RT_INFO函數(shù)讀出運行時間
通過函數(shù)RT_INFO也可以讀出CPU的運行時間,示例程序如圖4所示,。
圖4調用RT_INFO函數(shù)
通過模式1,、2、3可以讀出CPU的上次掃描,、zui小,、zui大掃描時間,在這三種模式下,,參數(shù)INFO的數(shù)據(jù)類型為LTIME,,可以直接讀出。也可以通過其他模式讀出運行時間的百分比,。
4調用RUNTIME指令讀出運行時間
通過指令RUNTIME可以從參數(shù)RET_Val直接讀出CPU的運行時間,,單位為秒,MEM為中間保存程序運行的存儲器,兩個參數(shù)類型都是LREAL,,除此之外還可以讀出一段程序的運行時間,。如圖5所示。