杜秀芳
山東勞動(dòng)職業(yè)技術(shù)學(xué)院智能制造系 山東濟(jì)南 250300
在PLC程序設(shè)計(jì)中,如果有多個(gè)時(shí)間段的定時(shí)要求,除了可以選擇多個(gè)定時(shí)器實(shí)現(xiàn)多種定時(shí)之外,還可以選擇用比較指令配合一個(gè)定時(shí)器實(shí)現(xiàn)。用比較指令配合定時(shí)器實(shí)現(xiàn)多種定時(shí),可以使復(fù)雜的梯形圖程序變得簡單易懂,所以在教學(xué)過程中,十分有必要帶著學(xué)生去實(shí)驗(yàn)一下比較指令加定時(shí)器實(shí)現(xiàn)多種定時(shí)的設(shè)計(jì)方案。本文就以PLC控制按指定時(shí)間間隔變化的交通燈為例,簡單介紹四種不同的程序設(shè)計(jì)方案,希望能啟發(fā)學(xué)生舉一反三,自主學(xué)習(xí)并完成更復(fù)雜的交通燈控制程序的設(shè)計(jì)。
以PLC控制按指定時(shí)間間隔變化的交通燈為例,為了便于學(xué)生理解,只分析東西方向的交通燈控制,待學(xué)生掌握了程序設(shè)計(jì)思路后,可以自行去擴(kuò)展。
某路口東西方向的交通燈,按照如圖1所示的時(shí)序要求工作。
圖1 交通燈控制的時(shí)序圖
按下啟動(dòng)按鈕,綠燈亮3s后熄滅,接著黃燈亮2s后熄滅,接著紅燈亮5s后熄滅,然后綠燈亮3s后熄滅,接著黃燈亮2s后熄滅,接著紅燈亮5s后熄滅……依次循環(huán)。
PLC的I/O(輸入/輸出)地址分配如表1所示。
表1 PLC的I/O地址分配表
根據(jù)交通燈的時(shí)序要求可知,定時(shí)時(shí)間段有三個(gè):3s、2s、5s。如何實(shí)現(xiàn)這三個(gè)時(shí)間段的定時(shí)要求呢?本文共討論了四種不同的程序設(shè)計(jì)方案:用三個(gè)定時(shí)器實(shí)現(xiàn);用數(shù)據(jù)比較指令CMP配合一個(gè)定時(shí)器實(shí)現(xiàn);用區(qū)間較指令ZCP配合一個(gè)定時(shí)器實(shí)現(xiàn);用觸點(diǎn)比較指令配合一個(gè)定時(shí)器實(shí)現(xiàn)。
三個(gè)時(shí)間段3s、2s、5s的定時(shí)可以分別用三個(gè)通用定時(shí)器T0、T1、T2完成。定時(shí)器T0、T1、T2的時(shí)鐘脈沖是100ms,那么三個(gè)定時(shí)器的設(shè)定值分別為K30、K20、K50。梯形圖程序如圖2所示。
圖2 多個(gè)定時(shí)器實(shí)現(xiàn)的交通燈控制系統(tǒng)梯形圖
用三個(gè)定時(shí)器實(shí)現(xiàn)三個(gè)時(shí)間段的定時(shí),程序雖然簡單,但需要的定時(shí)器數(shù)量較多。
數(shù)據(jù)比較指令CMP的格式如圖3所示。CMP指令是兩數(shù)比較指令,[S1·]和[S2·]表示源操作數(shù),[D·]表示目標(biāo)操作數(shù)。CMP將兩個(gè)源操作數(shù)進(jìn)行比較,并將比較結(jié)果傳送到以目標(biāo)操作數(shù)為首地址的三個(gè)位元件中。
圖3 CMP的指令格式
采用數(shù)據(jù)比較指令CMP加一個(gè)定時(shí)器實(shí)現(xiàn)的系統(tǒng)梯形圖程序如圖4所示。
圖4 CMP加一個(gè)定時(shí)器實(shí)現(xiàn)的交通燈控制系統(tǒng)梯形圖
CMP是兩個(gè)數(shù)的比較指令,一個(gè)CMP指令只能區(qū)分兩個(gè)區(qū)間,實(shí)現(xiàn)兩個(gè)時(shí)間段的定時(shí),如果要實(shí)現(xiàn)三個(gè)時(shí)間段的定時(shí),需要用兩個(gè)CMP指令。
第一個(gè)CMP指令:
當(dāng)T0當(dāng)前值小于30時(shí),M10接通,驅(qū)動(dòng)綠燈亮3s;
當(dāng)T0當(dāng)前值等于30時(shí),M11接通,驅(qū)動(dòng)黃燈亮;
當(dāng)T0當(dāng)前值大于30時(shí),M12接通,驅(qū)動(dòng)黃燈亮。
第二個(gè)CMP指令:
當(dāng)T0當(dāng)前值小于50時(shí),M13接通,配合M11、M12驅(qū)動(dòng)黃燈亮2s;
當(dāng)T0當(dāng)前值等于50時(shí),M14接通,驅(qū)動(dòng)紅燈亮;
當(dāng)T0當(dāng)前值大于50時(shí),M15接通,驅(qū)動(dòng)紅燈亮;
當(dāng)T0當(dāng)前值等于設(shè)定值100時(shí),定時(shí)器復(fù)位,此時(shí)紅燈亮了5s。
定時(shí)器復(fù)位后重新開始定時(shí),交通燈按時(shí)序要求循環(huán)工作。
與用三個(gè)定時(shí)器實(shí)現(xiàn)三個(gè)時(shí)間段的定時(shí)比較,CMP指令的應(yīng)用沒什么優(yōu)勢。
CMP主要用來比較兩個(gè)數(shù),如果比較一個(gè)數(shù)和一個(gè)區(qū)間范圍,用區(qū)間比較指令ZCP會(huì)更容易設(shè)計(jì)程序。
區(qū)間比較指令ZCP的格式如圖5所示。ZCP指令是區(qū)間比較指令,[S1·]和[S2·]表示比較區(qū)間的起點(diǎn)和終點(diǎn),[S·]表示比較軟元件,[D·]表示目標(biāo)操作數(shù)。ZCP將[S·]與比較區(qū)間[S1·]和[S2·]的內(nèi)容進(jìn)行比較,并將比較結(jié)果傳送到以目標(biāo)操作數(shù)[D·]為首地址的三個(gè)位元件中。
圖5 ZCP的指令格式
采用區(qū)間比較指令ZCP加一個(gè)定時(shí)器實(shí)現(xiàn)的系統(tǒng)梯形圖程序如圖6所示。
圖6 ZCP加一個(gè)定時(shí)器實(shí)現(xiàn)的交通燈控制系統(tǒng)梯形圖
ZCP是區(qū)間比較指令,可以區(qū)分三個(gè)區(qū)間,容易實(shí)現(xiàn)三個(gè)時(shí)間段的定時(shí):
當(dāng)T0當(dāng)前值小于30時(shí),M10接通,驅(qū)動(dòng)綠燈亮3s。
當(dāng)T0當(dāng)前值在30和50之間時(shí),M11接通,驅(qū)動(dòng)黃燈亮2s。
當(dāng)T0當(dāng)前值大于50時(shí),M12接通,驅(qū)動(dòng)紅燈亮;當(dāng)定時(shí)器T0當(dāng)前值等于設(shè)定值100時(shí),定時(shí)器復(fù)位,此時(shí)紅燈亮了5s。
定時(shí)器復(fù)位后重新開始定時(shí),交通燈按時(shí)序要求循環(huán)工作。
與前面的兩種設(shè)計(jì)方案相比,用區(qū)間比較指令加一個(gè)定時(shí)器實(shí)現(xiàn),程序看起來比較簡潔。
觸點(diǎn)比較指令可以分為三類:LD類、AND類、OR類。每類指令以其中一個(gè)為例,LD>指令格式如圖7所示,當(dāng)T0的當(dāng)前值比10小時(shí),Y000置位。AND<指令格式如圖8所示,當(dāng)X000為ON,并且T0的當(dāng)前值比10大時(shí),Y000置位。OR=指令格式如圖9所示,當(dāng)X000為ON時(shí),或T0的當(dāng)前值等于10時(shí),Y000置位。
圖7 LD>指令格式
圖8 AND<指令格式
圖9 OR=指令格式
采用觸點(diǎn)比較指令加一個(gè)定時(shí)器實(shí)現(xiàn)的系統(tǒng)梯形圖程序如圖10所示。
圖10 觸點(diǎn)比較指令加一個(gè)定時(shí)器實(shí)現(xiàn)的交通燈控制系統(tǒng)梯形圖
用觸點(diǎn)指令可以組合出不同的比較區(qū)間,以實(shí)現(xiàn)不同時(shí)間段的定時(shí),用起來比較靈活。
以上四種梯形圖程序,筆者在PLC仿真軟件和PLC試驗(yàn)臺(tái)上試驗(yàn)過了,也帶著學(xué)生練習(xí)過這個(gè)內(nèi)容,學(xué)生的完成情況也很不錯(cuò)。
從以上交通燈控制系統(tǒng)的四種不同程序設(shè)計(jì)方案可以看出,同一個(gè)控制系統(tǒng),它的實(shí)現(xiàn)方法不止一種,巧妙運(yùn)用比較指令,往往可以減少控制系統(tǒng)使用的定時(shí)器數(shù)量,讓程序變得簡潔直觀。
教師可以打開思路,引導(dǎo)學(xué)生、啟發(fā)學(xué)生去嘗試各種解決方案,充分發(fā)揮學(xué)生的主觀能動(dòng)性,激發(fā)學(xué)生的潛力。