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