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