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