在很多工程應(yīng)用中,根據(jù)控制功能要求,需要對系統(tǒng)進(jìn)行24小時監(jiān)控,在經(jīng)過某一特定時間或遇到緊急情況后給出提醒或預(yù)警。為了減少人為因素造成的影響,我們希望系統(tǒng)能自動進(jìn)行。PLC中的定時器便具有這個功能。
但是,定時器的計數(shù)值在PLC的內(nèi)部使用二進(jìn)制,一個16位二進(jìn)制字除去一個符號位后,能表示的最大整數(shù)是32767,它將對應(yīng)定時器的最大定時時間。以100ms定時器為例,32767對應(yīng)最大定時時間為32767×0.1=3276.7(s),時間不足1小時。這使得在使用單個定時器編制長時間計時程序受到很大制約。
由于定時器的計時時間有限,利用單個定時器達(dá)不到長時間計時的目的,要解決問題需要利用軟件編程來實現(xiàn)長時間計時。下面以S7-200 PLC為例,通過案例來探討利用定時器和計數(shù)器擴(kuò)展的方式進(jìn)行長時間計時,供使用者參考。
1.1 定時器基本應(yīng)用
S7-200 PLC有三種類型的定時器,接通延時定時器(TON)、斷開延時定時器(TOF)、記憶接通延時定時器(TONR)。以常用的延時接通定時器(TON)為例討論定時器的基本應(yīng)用。
圖1 定時器基本應(yīng)用
工作原理:當(dāng)輸入端閉合,即I0.0為“ON”時,定時器T37接通并開始計時,10秒后,定時器T37常開觸點接通并保持,輸出繼電器Q0.0輸出。I0.0斷開,定時器復(fù)位,Q0.0斷開。
1.2 計數(shù)器基本應(yīng)用
S7-200 PLC有三種類型的計數(shù)器,增計數(shù)器(CTU)、減計數(shù)器(CTD)、增/減計數(shù)器(CTUD)[2]。以常用的增計數(shù)器(CTU)為例討論計數(shù)器的基本應(yīng)用。
圖2 計數(shù)器的基本應(yīng)用
工作原理:首先,使I0.1輸入端通、斷一次,計數(shù)器C0復(fù)位,即當(dāng)前值回“0”。然后,每通、斷一次I0.0,計數(shù)器C0記錄1個數(shù),即C0當(dāng)前值加1,當(dāng)C0當(dāng)前值達(dá)到10后,計數(shù)器C0常開觸點接通并保持,輸出繼電器Q0.0輸出,直到I0.1再次閉合,計數(shù)器復(fù)位,Q0.0斷開。
1.3 定時器級聯(lián)擴(kuò)展延時
對于分辨率為100ms的延時接通定時器(TON)來講,其設(shè)定值最大為32767,延時時間最長為3276.7秒。當(dāng)超過該時間,單個定時器則無法完成計時功能。這種情況下,可以利用定時器級聯(lián)的方式實現(xiàn)延時時間的擴(kuò)展。
案例1:利用兩個定時器級聯(lián)實現(xiàn)延時1小時
圖3 定時器延時1小時
總的延時時間T=T37+T38=1800秒+1800秒=3600秒=1小時。這是單個定時器無法完成的定時時間。
還可以用同樣的方法實現(xiàn)三個、四個定時器級聯(lián)延時。這種擴(kuò)展方法的計時時間是各個定時器計時時間的總和。
1.4 利用計數(shù)器延時
案例2:利用兩個計數(shù)器實現(xiàn)延時10小時
圖4 計數(shù)器延時10小時
總的延時時間為:1秒×(6000×6)=36000秒÷3600秒=10小時。
這種擴(kuò)展延時方法的關(guān)鍵是:(1)在網(wǎng)絡(luò)1中,首先,利用特殊功能寄存器SM0.5(周期為1秒,占空比為1:1),作為計數(shù)器C0的計數(shù)輸入脈沖,在計數(shù)的同時實現(xiàn)計時;第二,將C0的輸出作為自身的復(fù)位,實現(xiàn)記錄6000個脈沖后重新開始。(2)在網(wǎng)絡(luò)2中,將C0的輸出作為C1的輸入,實現(xiàn)每記錄6000個脈沖觸發(fā)C1計數(shù)1次。
3.1控制要求
某住宅小區(qū)需要24小時晝夜定時報警,早上6:30,電鈴每秒響一次,6次后自動停止;9:00-17:00,啟動住宅報警系統(tǒng);晚上18:00打開小區(qū)內(nèi)照明系統(tǒng);晚上22:00關(guān)閉小區(qū)內(nèi)照明系統(tǒng)。
3.2 I/0口分配
表1 I/O 分配表
3.3 接線圖
圖5 接線圖
3.4 梯形圖程序
程序說明:
(1) 網(wǎng)絡(luò)1、網(wǎng)絡(luò)2 中,I0.0為系統(tǒng)啟動開關(guān);I0.1 為快速調(diào)整開關(guān); I0.2為系統(tǒng)實驗用開關(guān);SM0.1用于上電時系統(tǒng)復(fù)位;C0 、C1兩個計數(shù)器級聯(lián),C0形成900秒的計時周期,C1記錄96個900秒,共計900×96=86400秒,即24個小時;
(2)網(wǎng)絡(luò)3用于實現(xiàn)早晨6:30啟動電鈴,電鈴每隔1秒響1次,6次后停止;
(3)網(wǎng)絡(luò)4用于實現(xiàn)晚上18:00開啟小區(qū)內(nèi)照明系統(tǒng);網(wǎng)絡(luò)4用于實現(xiàn)晚上22:00關(guān)閉小區(qū)內(nèi)照明系統(tǒng);
(4)網(wǎng)絡(luò)5用于實現(xiàn)9:00到17:00開啟小區(qū)內(nèi)報警系統(tǒng);
(5)網(wǎng)絡(luò)7、網(wǎng)絡(luò)8,形成0.1秒鐘震蕩信號,用于快速調(diào)整系統(tǒng)使用。
圖6 梯形圖程序
定時器指令和計數(shù)器指令是PLC編程的重要指令,掌握好它們的使用方法,使設(shè)計格式規(guī)范化,可以優(yōu)化設(shè)計程序,對編程水平的提高有十分重要的意義,利用編程實現(xiàn)長時的方法還有很多,案例也不勝枚舉,同時,靈活利用定時器和計數(shù)器組合進(jìn)行長時間計時,PLC的編程功能,既可減少硬件設(shè)備資源,降低生產(chǎn)成本,又使系統(tǒng)運行靈活可靠。
本文編自《電氣技術(shù)》,標(biāo)題為“關(guān)于利用PLC定時器和計數(shù)器進(jìn)行長計時功能的探討”,作者為侯肖霞。