張鵬展,高航,張冷,程任翔,張金,劉飛,李玉魁
(金陵科技學院電子信息工程學院,江蘇南京,211169)
現(xiàn)代城市交通負荷大,交通事故頻發(fā)加劇。同時由于城市高速路構造的固有特點,相應交通情況與普通道路耦合處有所不同。開發(fā)一套有效服務于城市交通的控制系統(tǒng),用于交通數據監(jiān)測、交通疏導與控制,非常必要及時。如今,計算機管理系統(tǒng)已成為城市交通指揮系統(tǒng)中最重要組成部分,計算機與儀器技術相結合,使得交通系統(tǒng)更加便捷智能化,智能交通將會是未來城市交通建設的發(fā)展趨勢[1-2]。用于設計交通控制系統(tǒng)的方法較多,如可編程控制PLC、單片機、標準邏輯器件燈等;然而這些需要調試電路,更需硬件支持,增加了設計的難度與工作量。虛擬儀器技術的出現(xiàn),打破了傳統(tǒng)儀器由生產廠家定義,用戶無法改變的模式。LabVIEW軟件具有編程簡單、靈活、可靠性高等優(yōu)點,成本低、經濟效益高,給傳統(tǒng)交通燈控制技術產生了不小的影響[3-4]。盧佩等人報道,使用LabVIEW可模擬出傳統(tǒng)交通燈中三色交替點亮功能[5]。吳義滿指出,利用LabVIEW設計的交通燈不僅能模擬真實交通燈工作,工程師還可創(chuàng)建更高效便捷的自定義解決方案[6]。徐曉龍等人使用LabVIEW進行教學改革創(chuàng)新,通過虛擬儀器設計出的交通燈可改善傳統(tǒng)交通燈設計過于死板的缺陷[7]。本文中,我們基于虛擬儀器LabVIEW軟件開發(fā)平臺,設計出了一套不同于以往報道的交通燈管理控制系統(tǒng)。該系統(tǒng)不僅具有傳統(tǒng)交通燈紅黃綠三色燈的交換,同時還加入了相應的計時功能,并且實現(xiàn)了一鍵紅綠燈的轉換。
整個道路交通管制系統(tǒng)共分為3個大模塊,其中包括了交通燈模塊、倒計時模塊和一鍵紅綠燈功能模塊。通過簇創(chuàng)建交替燈,使用循環(huán)結構并配合使用層疊順序結構實現(xiàn)紅綠黃燈交替變化,模擬出真實道路交通路況[5-7]。通過對路口實時監(jiān)控,添加倒計時模塊,使用數組的索引來控制簇控件模擬的LED燈,之后加上相應算法實現(xiàn)紅綠黃燈倒計時功能。根據實際交通路況,黃燈并非一直處于點亮狀態(tài),而需閃爍一段時間為路口等待車輛緩沖,黃燈閃爍模塊功能通過某數除以2得到余數為1或0來控制點亮與熄滅,并將循環(huán)時間縮短以實現(xiàn)燈閃爍。最后設計GUI界面,根據實際情況合理布置相關路口與圖形化圖標。
交通燈模塊為整個系統(tǒng)設計的核心模塊。首先創(chuàng)建一個自定義模型,自定義一個.ctl文件,以此創(chuàng)建自定義交通燈控件。當然,也可放入3個圓形LED燈控件作為交通燈。在不同的零件層添加不同的圖形數據,底層為矩形框,中層為圓形框,并將3個圓形分子(element)設置為布爾常量分別顯示為綠、紅、黃,最上層為名稱顯示框,顯示控件名稱為交通燈,便于下面模塊調用。將3種顏色燈光分別設置為3個布爾常量(bool),倒計時結束時,依次調用這三個bool,就可實現(xiàn)紅綠黃燈交替。
倒計時模塊整合了倒計時和時間設置,使用LabVIEW中時間應用快速VI,通過對快速VI所提供的時間端子進行設置,以實現(xiàn)所需的各種功能。如圖1所示,在快速VI重啟端子(reset)接入預先設計好的案例結構,圖中true代表南北方為綠燈,東西方為紅燈,false時相反。時間目標端子(target)接入的是用戶自定義設置的時間數據,然后和時間消耗端子(elapsed time)輸出的經過時間進行減法操作得出剩余的時間,最后通過轉換函數(U8)將時間數據轉換為無符號的8b位整數(unsigned 8 bit integer)進行輸出。
黃燈功能與一鍵紅綠燈功能集成在一起,所以當正常運行時黃燈會閃爍,當一鍵紅或綠燈后,時間結束時黃燈還是會進行閃爍,之后回歸正常。這里用到的設計為枚舉法,通過枚舉依次實現(xiàn)紅、綠、正常。當選擇一鍵紅燈或綠燈時,程序進入枚舉選擇并將選擇信息存入數組,通過屬性節(jié)點(property node)返回到交通燈模塊并將數據傳送到for循環(huán)并根據枚舉選擇,決定是一直讓綠燈亮還是紅燈亮。圖2為交通燈模塊中的for循環(huán)以及枚舉操作中屬性節(jié)點。
當枚舉信息進入交通燈模塊時,還會經過黃燈功能區(qū)。黃燈架構和正常紅綠燈運行架構相似。如圖3所示,枚舉信息返回后,黃燈功能區(qū)通過循環(huán)迭代端子(loop iteration)與數據流相聯(lián)通,并隨信息流向一并發(fā)送到最終顯示控件中,并隨結果顯現(xiàn)出來。對于黃燈的閃爍和倒計時功能,用戶通過for循環(huán)數值來改變黃燈運行時間,而閃爍功能則是直接使用了not函數。我們預設輸入為F,第一次循環(huán)黃燈亮起,此時x為T;第二次循環(huán)時x的輸出為flase,黃燈熄滅;添加一個300ms延時后,黃燈就能實現(xiàn)閃爍功能了。
圖1 倒計時功能程序框圖
圖2 for循環(huán)(左)和屬性節(jié)點(右)
圖3 黃燈功能
本交通燈管制系統(tǒng)的圖形用戶界面,根據實際情況中的交通路口所創(chuàng)作示意,視覺效果更加的人性化,完全符合城市交通管控所需,比早起的命令行界面,用戶更易于從視覺上接受。圖4為操作界面GUI,界面的圖標功能與軟件的實際功能相匹配,不會出現(xiàn)有任何功能不能夠正常使用。
圖4 操作界面GUI
本文針對日益嚴峻的交通問題,介紹了使用虛擬儀器LabVIEW平臺研究開發(fā)新交通控制系統(tǒng)的方法,不僅實現(xiàn)了傳統(tǒng)紅黃綠三色燈的交換,同時還加入了相應計時功能與一鍵紅綠燈轉換功能。通過接入GUI界面,使用者能更直觀了解并實際操作交通控制仿真所實現(xiàn)的功能。后期可使用NI ELVIS平臺與LED實物化并加以完善,使用硬件完整還原本次設計中的仿真。