在PLC中一般的定時器時間都是以100ms,10ms或者1ms為計(jì)時單位,也就是定時器計(jì)數(shù)值與計(jì)時單位的乘積就是定時器的當(dāng)前時間。以100ms計(jì)時單位為例,當(dāng)某個定時器Txx的當(dāng)前值為300時,說明定時器的計(jì)時時間為300*100ms=30秒。而在PLC中,定時器當(dāng)前值的一般都是以16位有符號整型數(shù)據(jù)存儲在寄存器中,如在S7-200SMART系列PLC中,定時器的當(dāng)前值就是這樣存儲的,且支持對定時器進(jìn)行字尋址。(有關(guān)定時器指令可以參考:6.實(shí)物演示不同的定時器指令在200SMART定時器設(shè)置與使用)因此,以100ms為計(jì)時單位的定時器的計(jì)時范圍為0到3276.7秒,也就最大計(jì)時值只能是3276.7秒,不到一個小時,而10ms與1ms的計(jì)時器的最大計(jì)時范圍就更小了。
但是,在實(shí)際應(yīng)用中,我們通常需要對設(shè)備的運(yùn)行時間進(jìn)行統(tǒng)計(jì),這個時間是很長很長的,單位更是以小時計(jì)甚至以天計(jì),那么我們?nèi)绾螌?shí)現(xiàn)呢。現(xiàn)在以S7-200SMART為例,舉例說明。
基本思路就是:當(dāng)設(shè)備啟動運(yùn)行的同時(比如電機(jī)M1啟動代表設(shè)備運(yùn)行),啟動定時器,每隔半小時也就是1800秒,在運(yùn)行時間上加上0.5小時,運(yùn)行時間可以保存在V存儲區(qū)的保持寄存器中。定時器就選用保持型定時器,設(shè)備停止運(yùn)行,定時器不計(jì)時,運(yùn)行時在原來的計(jì)時值上繼續(xù)開始計(jì)時。梯形圖實(shí)例如下:如何用PLC的保持型定時器指令進(jìn)行設(shè)備運(yùn)行時間統(tǒng)計(jì)
計(jì)時器T5與VD1000應(yīng)組態(tài)為可保持寄存器,在系統(tǒng)塊中打開組態(tài)窗口進(jìn)行組態(tài)。
當(dāng)然這個程序統(tǒng)計(jì)的時間只能以半小時為一個計(jì)時單位,每半小時才能更新一次,如果想要1分鐘更新一次統(tǒng)計(jì)時間應(yīng)該怎么辦,感興趣的可以自己動手去試一試。