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

圖1 倒計(jì)時(shí)功能程序框圖

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

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

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