點(diǎn)擊學(xué)習(xí)>>《龍哥手把手教你學(xué)LabVIEW視覺設(shè)計(jì)》視頻教程
本文使用虛擬儀器LabVIEW軟件開發(fā)出一套基于軟件的交通燈實(shí)驗(yàn)控制系統(tǒng)來模擬交通燈的控制,即可實(shí)現(xiàn)無邏輯控制硬件的交通燈控制實(shí)驗(yàn)系統(tǒng),并能進(jìn)行實(shí)驗(yàn)?zāi)M,使學(xué)生掌握交通燈的軟件控制方法。相對于可編程序控制器PLC、單片機(jī)等方案來實(shí)現(xiàn),加強(qiáng)了軟件開發(fā)過程的理解,也節(jié)約了試驗(yàn)系統(tǒng)開發(fā)成本。
1、LabVIEW簡介
LabVIEW是一種圖形化的編程語言,它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,是一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件。虛擬儀器是20世紀(jì)80年代興起的一項(xiàng)新技術(shù),是現(xiàn)代儀器儀表發(fā)展的重要方向,在建模仿真、設(shè)計(jì)規(guī)劃和教育訓(xùn)練等方面都有應(yīng)用。LabVIEW具備各種編程平臺的通用功能,比方數(shù)據(jù)類型、事件處理、循環(huán)結(jié)構(gòu)因此成為功能強(qiáng)大的圖形化編程工具,LabVIEW并不僅僅是一門編程語言。虛擬儀器(VirtualInstrument,簡稱VI),每個(gè)VI,均含一個(gè)用戶接口,這個(gè)接口叫前面板,通俗來說即與儀器面板對應(yīng)的軟面板。還有一個(gè)后面板,也叫作程序框圖。VI的設(shè)計(jì),包括前面板和程序框圖的設(shè)計(jì)。VI就是通過前面板和程序框圖的設(shè)計(jì),使用圖形化的編程語言,編程實(shí)現(xiàn)軟件的程序功能。
2、交通燈控制系統(tǒng)設(shè)計(jì)方案
2.1、控制方案
十字路口交通信號紅綠燈通常為三種控制形式。第一種為傳統(tǒng)紅綠燈,即綠燈切換到紅燈之前,車輛由動到靜,用黃燈緩沖過度;紅燈切換到綠燈時(shí),車輛由靜到動沒有緩沖過度;第二種是在傳統(tǒng)紅綠燈控制形式的基礎(chǔ)上增加綠燈閃爍(簡稱綠閃)功能,即在綠燈時(shí)段行將結(jié)束的最后3秒閃爍三次,其目的是提示綠燈時(shí)段行將結(jié)束,并保留黃燈緩沖過度;第三種是數(shù)顯紅綠燈,即倒計(jì)時(shí)數(shù)字顯示紅綠黃燈的時(shí)段。由于全過程有時(shí)間顯示,不要綠燈閃爍,但可以保留黃燈。文中采用第一種和第三種相結(jié)合的控制方式。
2.2、前面板設(shè)計(jì)
文中所設(shè)計(jì)的十字路口控制模型由兩條東西方向的車道和南北方向的車道在交匯處設(shè)置。在交匯處東西南北四個(gè)方向各設(shè)置一個(gè)交通信號燈,每個(gè)交通信號燈由紅、黃、綠三盞燈構(gòu)成。打開LabVIEW2012軟件,新建一個(gè)VI,并命名為交通燈仿真,在前面板上右擊→指示燈→圓形指示燈,一共需要12個(gè)燈,東西南北四個(gè)方向各三個(gè)信號燈,右擊指示燈,打開屬性,在外觀里面設(shè)置燈亮和燈滅的顏色,燈亮的時(shí)候分別是紅、綠、黃三種顏色。燈滅的時(shí)候不顯示。紅綠燈對交通的影響起著至關(guān)重要的作用,如何合理地設(shè)置紅綠燈時(shí)間是解決交叉路口交通問題的關(guān)鍵。設(shè)置紅綠燈的時(shí)間,設(shè)置南北方向紅燈和東西方向紅燈時(shí)間及倒計(jì)時(shí)顯示。前者用數(shù)值輸入控件,后者用數(shù)值顯示控件。設(shè)定完顯示時(shí)間之后右擊數(shù)據(jù),單擊數(shù)據(jù)操作,單擊當(dāng)前值設(shè)置為默認(rèn)值,保存設(shè)定的數(shù)值。這樣做的目的是下次實(shí)驗(yàn)系統(tǒng)打開后依然保存上次設(shè)定的時(shí)間數(shù)值,否則設(shè)定數(shù)值在本次程序關(guān)閉后會消失。
汽車數(shù)量的急劇增加,給城市交通帶來了極大的壓力。特別是在上下班高峰期,巨大的車流量使得道路擁擠,造成了不必要的時(shí)間浪費(fèi)與經(jīng)濟(jì)損失。所以設(shè)計(jì)可靠、安全、便捷的智能交通燈控制系統(tǒng)有極大的現(xiàn)實(shí)必要性。傳統(tǒng)的交通燈的缺陷也日益出現(xiàn),其設(shè)計(jì)過于死板,紅綠燈交替變換時(shí)間過于程式化,達(dá)不到道路的最大通行效率是最明顯的問題。傳統(tǒng)的十字路口交通控制系統(tǒng)中,一般只采用紅綠黃燈分方向輪流控制形式,沒有考慮到實(shí)時(shí)的各方向路面車流輛情況,緊急突發(fā)事件的應(yīng)急處理等,這樣的控制顯得不夠靈活,無法達(dá)到最優(yōu)的交通指揮目的。為了模擬實(shí)際交通燈的控制,還可以在實(shí)驗(yàn)系統(tǒng)中設(shè)置交通管制的功能,改變紅綠燈的亮滅時(shí)間,比如設(shè)置南北方向禁行,讓東西方向的車流放行或者設(shè)置東西方向禁行,讓南北方向的車流放行等功能,即可通過下拉列表控件實(shí)現(xiàn)設(shè)計(jì)功能。
2.3、程序框圖設(shè)計(jì)
2.3.1、交通燈正常運(yùn)行
在程序框圖界面上使用條件結(jié)構(gòu)判斷程序是否進(jìn)入交通管制,交通燈在正常條件下工作,未實(shí)行交通管制的情況下,程序進(jìn)入假分支。在結(jié)構(gòu)選板中有兩種順序結(jié)構(gòu),分別是平鋪式順序結(jié)構(gòu)和層疊式順序結(jié)構(gòu),為了節(jié)約程序后面板空間,這里使用層疊式順序結(jié)構(gòu)。首先在層疊式順序結(jié)構(gòu)的第一幀中給12個(gè)布爾燈(交通燈)賦值為F,即交通燈都不亮。南北方向和東西方向的紅燈倒計(jì)時(shí)賦值為0。在第二幀里設(shè)計(jì)東西方向通行,南北方向禁行,即給南北方向的兩個(gè)綠燈賦值為F,東西方向的兩個(gè)紅燈賦值為T。南北方向紅燈倒計(jì)時(shí)顯示。第三幀讓南北紅燈和東西綠燈滅,給它們賦值為F。第四幀顯示東西方向的黃燈。在第五幀里設(shè)計(jì)東西方向禁行,南北方向通行,即給南北方向的兩個(gè)綠燈賦值為T,東西方向的兩個(gè)紅燈賦值為F。東西方向紅燈倒計(jì)時(shí)顯示。南北方向紅燈倒計(jì)時(shí)顯示程序框圖如圖1所示。
圖1 ?南北方向紅燈倒計(jì)時(shí)顯示
如圖1所示,南北方向紅燈倒計(jì)時(shí)顯示時(shí)間為南北方向紅燈設(shè)置時(shí)間減去循環(huán)次數(shù)。同時(shí)南北方向紅燈亮,東西方向綠燈亮。
第六幀讓南北綠燈和東西紅燈滅,賦值為F。第七幀顯示南北方向的黃燈亮的程序。黃燈閃爍程序如圖2所示。
圖2 ?黃燈閃爍程序分支
2.3.2、交通管制情況
為了適應(yīng)實(shí)際交通問題,當(dāng)實(shí)行交通管制時(shí),交通燈模擬實(shí)驗(yàn)系統(tǒng)依然能實(shí)現(xiàn)這部分功能,在程序框圖中,實(shí)行交通管制,程序進(jìn)入真分支。在層疊式順序結(jié)構(gòu)的第一幀里讓所有燈滅,即給所有燈賦值為F。在第二幀中設(shè)定南北方向通行,東西方向禁行,給東西方向紅燈賦值為T,南北方向綠燈設(shè)置為T,其余燈賦值為F。在第三幀中設(shè)定東西方向通行,南北方向禁行,東西方向綠燈賦值為T,南北方向紅燈賦值為F,其余燈賦值為F。在第四幀中是黃燈閃爍程序分支。
3、交通燈運(yùn)行結(jié)果
單擊交通燈控制系統(tǒng)的前面板上的運(yùn)行按鈕時(shí),未實(shí)行交通管制時(shí)交通燈運(yùn)行結(jié)果如圖3所示。
圖3 ?未實(shí)行交通管制時(shí)交通燈運(yùn)行結(jié)果
如圖3所示,未實(shí)行交通管制時(shí),交通燈按正常設(shè)定的紅綠燈時(shí)間運(yùn)行,南北方向?yàn)榧t燈,該方向車輛禁行,東西方向?yàn)榫G燈,該方向車輛通行。前面板還能顯示出南北方向紅燈的剩余時(shí)間。當(dāng)南北方向紅燈設(shè)定時(shí)間到,南北方向紅燈自動切換到綠燈,東西方向路綠燈時(shí)間到過度為黃燈,之后迅速切換成紅燈,在時(shí)間上和南北方向切換的綠燈的時(shí)刻重合。同理東西方向紅燈,南北方向綠燈的切換過程類似。
單擊交通燈控制系統(tǒng)的前面板上的運(yùn)行按鈕時(shí),單擊控制中心的交通管制按鈕,實(shí)行交通管制時(shí)交通燈運(yùn)行結(jié)果如圖4所示。
圖4 ?交通管制時(shí)交通燈運(yùn)行結(jié)果
單擊交通燈控制中心的交通管制按鈕,出現(xiàn)管制措施枚舉控件,選擇南北禁行模式,運(yùn)行結(jié)果如圖4,此時(shí)南北方向和東西方向紅燈設(shè)置時(shí)間顏色變灰,表示禁用,不可進(jìn)行設(shè)置。此時(shí)程序一直處在南北方向紅燈,東西方向綠燈的狀態(tài),直到停止程序運(yùn)行為止,同理實(shí)行東西方向交通管制的方法類似。
本交通燈控制實(shí)驗(yàn)系統(tǒng)軟件使用順序結(jié)構(gòu)為程序主體架構(gòu),一步一步的實(shí)現(xiàn)程序的控制步驟,使交通燈控制實(shí)驗(yàn)系統(tǒng)的軟件開發(fā)步驟逐步實(shí)現(xiàn)預(yù)設(shè)系統(tǒng)的功能,另外也使學(xué)生和教師更清楚明白的掌握程序的各部分具體功能,方便學(xué)生學(xué)習(xí)和教師的教學(xué)講解。此外軟件開發(fā)的過程中還用的條件結(jié)構(gòu),實(shí)現(xiàn)分支設(shè)計(jì)。為了美觀,在程序的前面板上繪制直線勾邊,在VI的前面板上右擊,選擇系統(tǒng),進(jìn)而選擇修飾,再選擇系統(tǒng)分隔線來實(shí)現(xiàn)。
4、結(jié)束語
文中使用在測試測量分析領(lǐng)域具有強(qiáng)大功能的LabVIEW軟件,設(shè)計(jì)了交通燈控制實(shí)驗(yàn)系統(tǒng),實(shí)驗(yàn)系統(tǒng)能夠較好的滿足交通燈控制的實(shí)驗(yàn)要求,提高了學(xué)生做實(shí)驗(yàn)的興趣,促進(jìn)學(xué)生對理論知識的學(xué)習(xí)和對實(shí)驗(yàn)過程的了解。實(shí)驗(yàn)平臺具有可擴(kuò)展性,可以繼續(xù)添加實(shí)驗(yàn),以豐富實(shí)驗(yàn)平臺的功能?;贚abVIEW的實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)思想也體現(xiàn)了教學(xué)改革創(chuàng)新。通過編程設(shè)計(jì)出來的實(shí)驗(yàn)平臺,減少了實(shí)驗(yàn)室建設(shè)成本,有推廣應(yīng)用價(jià)值,可將本文的思路拓展到其他實(shí)驗(yàn)系統(tǒng)中去,用開發(fā)軟件的方法來代替硬件功能,做出嘗試,改革創(chuàng)新,驅(qū)動高效實(shí)驗(yàn)室創(chuàng)新發(fā)展。
評論