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