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

圖1 倒計時功能程序框圖

圖2 for循環(huán)(左)和屬性節(jié)點(右)

圖3 黃燈功能
本交通燈管制系統(tǒng)的圖形用戶界面,根據(jù)實際情況中的交通路口所創(chuàng)作示意,視覺效果更加的人性化,完全符合城市交通管控所需,比早起的命令行界面,用戶更易于從視覺上接受。圖4為操作界面GUI,界面的圖標(biāo)功能與軟件的實際功能相匹配,不會出現(xiàn)有任何功能不能夠正常使用。

圖4 操作界面GUI
本文針對日益嚴(yán)峻的交通問題,介紹了使用虛擬儀器LabVIEW平臺研究開發(fā)新交通控制系統(tǒng)的方法,不僅實現(xiàn)了傳統(tǒng)紅黃綠三色燈的交換,同時還加入了相應(yīng)計時功能與一鍵紅綠燈轉(zhuǎn)換功能。通過接入GUI界面,使用者能更直觀了解并實際操作交通控制仿真所實現(xiàn)的功能。后期可使用NI ELVIS平臺與LED實物化并加以完善,使用硬件完整還原本次設(shè)計中的仿真。