在S7-1200/S7-1500中,如何測(cè)量一個(gè)完整程序、子程序或特定組織塊的運(yùn)行時(shí)間
在STEP 7(TIA Portal)中,可以使用“RUNTIME”指令來(lái)測(cè)量完整程序、單個(gè)塊或命令序列的運(yùn)行時(shí)間。使用“RT_INFO”指令,可以讀取特定組織塊、通信或用戶程序運(yùn)行時(shí)的統(tǒng)計(jì)信息。
描述
“RUNTIME”指令在“基本指令>程序控制指令”菜單下,“RT_INFO”指令在“擴(kuò)展指令>診斷”菜單下。下面的示例展示了計(jì)算程序運(yùn)行時(shí)間。
示例1:
用“RUNTIME”R指令測(cè)量S7-1200/S7-1500程序的運(yùn)行時(shí)間
程序
使用 "RUNTIME" 指令可以測(cè)量整個(gè)程序、單個(gè)塊或命令序列的運(yùn)行時(shí)間。
如果想測(cè)量單個(gè)塊或命令序列的程序運(yùn)行時(shí)間。如果可能,請(qǐng)將您的程序代碼移動(dòng)到具有更高優(yōu)先級(jí)的OB中,這樣它就不會(huì)被通信和其它OB中斷或延遲。
圖1展示了如何測(cè)量OB30中一個(gè)被調(diào)用的程序塊的運(yùn)行時(shí)間,優(yōu)先級(jí)為24.
"RUNTIME"指令的第一次調(diào)用用來(lái)設(shè)置測(cè)量時(shí)間的起點(diǎn),并將其保存在DB變量 "Memory"中來(lái)為第二次調(diào)用做參考。
然后調(diào)用 "TestBlock" 程序塊。
當(dāng)程序塊被執(zhí)行后,"RUNTIME" 指令第二次調(diào)用,第二次調(diào)用來(lái)計(jì)算 "TestBlock"程序塊的運(yùn)行時(shí)間并將結(jié)果(秒)寫入DB變量 "runtimeResult"中。
圖. 1
總結(jié)
要記錄運(yùn)行時(shí)間,需要使用"DB".runtimeResult創(chuàng)建一個(gè)跟蹤軌跡(TRACE),采樣選擇OB30.
圖. 2展示了變量的記錄圖表.在這個(gè)例子中TestBlock"程序塊的運(yùn)行時(shí)間在 20.5 到 23 μs之間.
注意
對(duì)于測(cè)量程序運(yùn)行時(shí)間,需要禁用程序狀態(tài),因?yàn)樗鼤?huì)使測(cè)量結(jié)果失真。
為了能夠在狀態(tài)中顯示當(dāng)前值,CPU重新編譯需要顯示的程序段。
根據(jù)編輯器中顯示的內(nèi)容,將增加子程序的運(yùn)行時(shí)間。
圖. 2
示例 2:
使用1500的“RT_INFO”指令進(jìn)行時(shí)間測(cè)量
程序
使用“RT_INFO”指令可以生成特定組織塊、通信或用戶程序運(yùn)行時(shí)的統(tǒng)計(jì)信息。通過 "MODE"參數(shù),你可以定義在“INFO”中讀出那種類型的運(yùn)行時(shí)間 。在下面的例子(圖3)中,OB1中調(diào)用"RT_INFO"指令來(lái)輸出不同模式的運(yùn)行時(shí)間。在數(shù)據(jù)塊中,使用變量 "obNr" 定義要測(cè)量的OB塊,使用 "mode"變量可以選擇要測(cè)量的模式 。
可以測(cè)量下面幾種運(yùn)行時(shí)間:
MODE = 1 特定OB的運(yùn)行時(shí)間
MODE = 2 特定OB的最大運(yùn)行時(shí)間
MODE = 3 特定OB的最小運(yùn)行時(shí)間
MODE = 23 最長(zhǎng)循環(huán)時(shí)間(與OB 無(wú)關(guān))
MODE = 24 最短循環(huán)時(shí)間(與OB 無(wú)關(guān))
MODE = 25 當(dāng)前/上一個(gè)循環(huán)時(shí)間,上一個(gè)循環(huán)的持續(xù)時(shí)間(與OB 無(wú)關(guān))
Fig. 3
總結(jié)
要記錄運(yùn)行時(shí)間,需要使用"DB".runtimeResult創(chuàng)建一個(gè)跟蹤軌跡(TRACE),采樣選擇OB30.
圖. 4展示了變量的記錄圖表.在這個(gè)例子中TestBlock"程序塊的運(yùn)行時(shí)間在 31 到 33 μs之間.
注意
對(duì)于測(cè)量程序運(yùn)行時(shí)間,需要禁用程序狀態(tài),因?yàn)樗鼤?huì)使測(cè)量結(jié)果失真。
為了能夠在狀態(tài)中顯示當(dāng)前值,CPU重新編譯需要顯示的程序段。
根據(jù)編輯器中顯示的內(nèi)容,將增加子程序的運(yùn)行時(shí)間。
圖. 4
建議
運(yùn)行時(shí)間的長(zhǎng)短取決于所用的CPU.如果您需要較短的運(yùn)行時(shí)間,我們建議您使用高性能的CPU。
下表概述了各CPU位和字操作的處理時(shí)間
CPU 1511-1 PN
1511F-1 PN
1511T-1 PN 1513-1 PN
1513F-1 PN 1515-2 PN
1515F-2 PN
1515T-2 PN 1516-3 PN/DP
1516F-3 PN/DP 1517-3 PN/DP
1517F-3 PN/DP
1517T-3 PN/DP
1517TF-3 PN/DP 1518-4 PN/DP
1518F-4 PN/DP
1518-4PN/DP ODK
1518F-4PN/DP ODK
位操作處理時(shí)間 0.06 μs 0.04 μs 0.03 μs 0.01 μs 0.002 μs 0.001 μs
字操作處理時(shí)間 0.072 μs 0.048 μs 0.036 μs 0.012 μs 0.003 μs 0.002 μs
版權(quán)聲明:工控網(wǎng)轉(zhuǎn)載作品均注明出處,本網(wǎng)未注明出處和轉(zhuǎn)載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性。如轉(zhuǎn)載作品侵犯作者署名權(quán),或有其他諸如版權(quán)、肖像權(quán)、知識(shí)產(chǎn)權(quán)等方面的傷害,并非本網(wǎng)故意為之,在接到相關(guān)權(quán)利人通知后將立即加以更正。聯(lián)系電話:0571-87774297。