李言武
(安徽工貿職業技術學院,安徽 淮南 232007)
目前,采用PLC控制交通燈顯示是一種較為穩定可靠的手段,但由于交通燈顯示是雙向的、同時按照一定的規律變化,在設計控制程序時容易造成邏輯關系不夠清晰,可讀性差,不易理解掌握。為此,本文根據交通燈顯示PLC控制要求,給出交通燈顯示控制時序圖,利用計數器指令計數秒脈沖實現交通燈顯示計時,利用比較指令比較計數器的當前計數值驅動交通燈顯示。

圖1 交通燈顯示示意圖
交通燈顯示PLC控制如圖1所示,在十字路口,東西方向為R1紅、Y1黃、G1綠3組6盞指示燈,南北方向為R2紅、Y2黃、G2綠3組6盞指示燈。當某個方向綠燈點亮(另一方向紅燈點亮)20s后,黃燈以2s周期閃爍3次,然后紅燈點亮(另一方向綠燈點亮、黃燈閃爍),如此循環顯示。
根據控制要求,交通燈顯示控制時序圖如圖2所示,其中某個方向紅黃綠指示燈顯示的一個完整周期為50s。

圖2 交通燈顯示控制時序圖
在圖2中,東西方向綠燈點亮20s,黃燈閃爍5s,紅燈點亮25秒;對應南北方向紅燈點亮25s,綠燈點亮20秒,黃燈閃爍5s。因此,程序設計采用的思路如下:
(1)任務周期設定。利用50s計數器進行計時,即計數器指令的計數脈沖周期為1s,當前值每增1所需時間為1s ,計數器預置值設為50。
(2)指示燈顯示控制。通過比較計數器指令比較計數器的當前計數值,在達到設定值時分別驅動綠燈、黃燈、紅燈3色交通燈顯示。① 東西方向: 0≤“C0”當前值≤19,綠燈顯示;“C0”當前值=20、22、24,黃燈顯示,達到間隔2s閃爍;25≤“C0”當前值≤50,紅燈顯示。②南北方向:0≤“C0”當前值≤24,紅燈顯示;25≤“C0”當前值≤44,綠燈顯示;“C0”當前值=45、47、49,黃燈顯示,達到間隔2s閃爍。
程序設計主要運用整數比較指令和增計數器指令,其格式及功能如表1所列。

表1 主要指令格式及功能
編程元件分配及功能如表2所列。

表2 編程元件分配及功能
依據交通燈顯示控制時序圖,利用整數比較指令和增計數器指令編寫控制程序如圖3所示。

圖3 交通燈顯示PLC控制梯形圖
在圖3中,I0.0為啟停開關SB1,控制交通燈顯示狀態,程序解析如下:(1)網絡1程序段,實現50s計時器功能:特殊寄存器SM0.5觸點提供周期T為1s、占空比50%的時鐘脈沖;增計數器C0實現“1s時鐘脈沖”的計數,總數為50個,即50s計數;中間寄存器M0.0觸點實現增計數器C0復位(C0當前計數值置0,輸出狀態位置0)。
(2)網絡2程序段,實現循環控制:增計數器C0的觸點實現輸出線圈M0.0狀態為置1,即M0.0=1,使中間寄存器M0.0的觸點接通。
(3)網絡3~5程序段,實現東西方向交通燈顯示控制:增計數器C0當前值為0~19綠燈點亮;增計數器C0當前值為20~24黃燈閃爍3次;增計數器C0當前值為25~50紅燈點亮。
(4)網絡6~8程序段,實現南北方向交通燈顯示控制:增計數器C0當前值為0~24紅燈點亮;增計數器C0當前值為25~44綠燈點亮;增計數器C0當前值為45~49黃燈閃爍3次。
連接好 PLC外圍接線,確認無誤后接通電源,使交通燈顯示PLC控制線路處于正常工作狀態,程序控制功能的調試步驟如下:①編寫梯形圖程序,編譯后將梯形圖程序下載到PLC中。②閉合啟停開關SB1,交通燈以設定好的工作方式運行顯示。③運行期間,斷開啟停開關SB1,交通燈立即停止顯示。
對交通燈顯示PLC控制程序進行修改,實現黃燈閃爍次數由3次變為5次,紅燈和黃燈顯示要求不變,則交通燈顯示控制時序圖如圖4所示,其中某個方向紅黃綠指示燈顯示的一個完整周期為58s。

圖4 交通燈顯示控制時序圖
在圖4中,交通燈依據計數器C0當前值的顯示狀態設定如下:
(1)東西方向。0≤“C0”當前值≤19,綠燈顯示;“C0”當前值=20、22、24、26、28,黃燈顯示;29≤“C0”當前值≤58,紅燈顯示。
(2)南北方向。0≤“C0”當前值≤28,紅燈顯示;29≤“C0”當前值≤48,綠燈顯示;“C0”當前值=49、51、53、55、57,黃燈顯示。
實踐表明,采用此方法設計交通燈PLC控制程序優點如下:
(1)邏輯關系清晰。根據交通燈顯示控制要求,給出紅黃綠指示燈工作時序圖,程序設計邏輯關系清晰。
(2)可讀性好。利用計數器指令實現秒計數進行計時,利用比較指令比較計數器當前計數值驅動交通燈顯示,顯示狀態轉換關系明確。
(3)便于掌握。程序設計主要使用的計數器指令和比較指令功能簡單,易于掌握和靈活應用。