劉福祿
【摘要】本文介紹了交通紅綠燈基本控制形式,針對帶綠閃的紅綠燈和帶數顯的紅綠控制和實現方法,詳細論述了相應的編程方法和技巧。實驗證明編制的程序運行可靠,簡單實用。
【關鍵詞】PLC 紅綠燈 綠閃
1.概述
隨著社會經濟和城市交通快速發(fā)展,城市規(guī)模不斷擴大,交通日益繁忙,紅綠燈保障了城市交通有序、安全、快速運行。現在城市十字路口的紅綠燈基本都是采用程序控制,其中采用可編程控制器(PLC)程序控制的,在實際使用中占有很大的比例,在工科院校的PLC課程及實驗教學中,紅綠燈程序控制作為典型的編程范例。十字路口交通信號紅綠燈通常為三種控制形式。第一種為傳統紅綠燈,即綠燈切換到紅燈之前,車輛由動到靜,用黃燈緩沖過度;紅燈切換到綠燈時,車輛由靜到動沒有緩沖過度;第二種是在傳統紅綠燈控制形式的基礎上增加綠燈閃爍(簡稱綠閃)功能,即在綠燈時段行將結束的最后秒閃爍三次,其目的是提示綠燈時段行將結束,并保留黃燈緩沖過度;第三種是數顯紅綠燈,即倒計時數字顯示紅綠黃燈的時段。由于全過程有時間顯示,不要綠閃,但可以保留黃燈。現在絕大多數紅綠燈數顯屏能顯示紅綠兩色,目前帶方向指示的數顯紅綠燈也不在少數。如果按紅綠燈是否帶數顯的功能來分,紅綠燈可分成非數顯和數顯兩大類。在這兩大類中均可附帶人行橫道紅綠燈。
2.紅綠燈PLC控制程序編制方法
2.1帶綠閃的紅綠燈程序編制方法
帶綠閃的紅綠燈編程方法的探討,來研究非數顯紅綠燈PLC控制編程的一般方法。
帶綠閃的交通紅綠燈運行時序圖如圖所示。可以用多種編程方法來實現,例如基本邏輯接點法、S/R指令法、$CR順序控制法、環(huán)形分配器法(或鼓型控制器法),以及采用上述兩種以上編程法組合的綜合編程法。基本邏輯接點法,即采用計時器,計數器結合基本邏輯接點實現時序輸出。這種編程法編出的程序短小精悍,但要求編程者有較豐富的編程經驗;S/R指令法,應當說沒有什么鮮明的特點,它既可以靠基本邏輯接點法,又可以按照順序控制法的思路來編程;SCR順序控制法,由于利用了SCR順序指令,編程上手十分容易,但梯形圖程序的網絡行很多,且調試較難;環(huán)形分配器法(或鼓型控制器法),一般是用SHRB移位寄存器“做”一個環(huán)形分配器(PLC本身有鼓型控制器編程更為方便),再按時序圖的時刻分別輸出到紅綠黃燈上即可。此類編程法最適合編按時序圖輸出的程序。為了采眾編程法之長,也可采用兩種編程法。
此類按時序圖輸出的PLC控制程序,不管采用什么編程法編程,編程難度并不是絕對的,一般采用自己比較熟悉的編程法編程即可。
2.2數顯類紅綠燈編程技巧
數顯類交通信號紅綠燈的程序設計,一般有兩大類編程法:其一,是先有一段非數顯紅綠燈大控制程序(有沒有綠閃均可),再配以同步的倒計時計數器即可;其二,無須有非數顯紅綠燈控制程序,直接依托倒計時計數器內部的減計數值,給倒計時數顯設備顯示和紅綠黃燈轉換用。此外,如果數據顯示屏有接收數據的功能,也可用數據傳輸的方式傳輸倒計時數據,但在PLC控制的交通紅綠燈較少采用。
數顯紅綠燈程序一般使用CTD減計數器來做倒計時計數器。以第二類為例,又可分兩種編程方法:一是按紅燈或綠燈+黃燈總時間計數,然后讀出減計數值,供數字顯示、切換紅綠黃燈用。二是按數顯位分位減計數、輸出,切換信號通過兩位比較器接點讀出。
這兩種編程方法的主要區(qū)別是:前者能在刻度值范圍內對CTD置任意正整數。但如果采用SEG段碼指令輸出,必須要按十進制的各位進行分位以后,才能在軟段碼譯碼器上譯碼到輸出端,sEG段碼指令只接收低4位,而一般需要數顯的是兩位數以上,這給編程帶來了一些困難。后者是將前者需要段碼顯示的十進制數分位,即將個位和十位分別采用各自的CTD減計數器計數,這樣減少了編程的難度。但數顯的十進制數個位必須是9,如30s只能置29s、40s只能置39s,因此它在實際應用中較少采用。如果采用BCD碼數字輸出,前者只需一個字節(jié)的BCD碼,就可以數顯兩位十進制數,不需要分位。顯然比后一種顯示方式簡便得多。
在該例程中,通過巧妙地運用SHR-B指令和INV-B指令,使得編出的程序短小、精悍,大大縮小了程序的程度和執(zhí)行時間。該方法也可運用到其它需要數顯的工程項目中。
人行橫道紅綠燈,沒有黃燈,一般為紅綠燈、數顯、圖顯三種。前兩種參考車行道紅綠燈編程即可。后一種一般又分站立紅燈/行走綠燈、手掌紅燈/行走綠燈兩種。由于顯示圖形是預先做在顯示屏上,所以紅燈圖形只占1位輸出,行走綠燈動畫圖形一般不超過3位輸出,很容易通過編程實現。
3.結束語
交通信號紅綠燈PLC控制的編程,總的來說,不是特別困難,但編程方法繁多,編程的隨意性很強,有的方法編制的程序很長、難以理解。本文對帶綠閃的紅綠燈程序編制和數顯類紅綠燈編程方法和技巧進行了研究,并在PLC實驗系統進行了調試和運行,實驗證明運用一些編程技巧后,編出來的程序短小、精煉,運行可靠。endprint