虛擬儀器技術(shù)與應(yīng)用-項目6交通燈控制系統(tǒng)_第1頁
虛擬儀器技術(shù)與應(yīng)用-項目6交通燈控制系統(tǒng)_第2頁
虛擬儀器技術(shù)與應(yīng)用-項目6交通燈控制系統(tǒng)_第3頁
虛擬儀器技術(shù)與應(yīng)用-項目6交通燈控制系統(tǒng)_第4頁
虛擬儀器技術(shù)與應(yīng)用-項目6交通燈控制系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

項目6交通燈控制系統(tǒng)2024/1/3121:19第2篇基于LabVIEW的測控系統(tǒng)目錄6.1項目描述 6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能6.4任務(wù)3設(shè)計交通燈倒計時功能6.5任務(wù)4系統(tǒng)調(diào)試測量6.6思考題

6.1項目描述知識目標能力目標素養(yǎng)目標1. 了解虛擬儀器的體系結(jié)構(gòu)。2. 掌握應(yīng)用LabVIEW進行DO程序設(shè)計。3. 掌握應(yīng)用虛擬儀器應(yīng)用程序?qū)⑼ㄓ糜嬎銠C與功能化硬件結(jié)合起來,實現(xiàn)對被控對象的簡單控制等。能夠使用給定虛擬儀器硬件設(shè)備和計算機搭建交通燈控制系統(tǒng)。能夠根據(jù)系統(tǒng)功能要求編寫交通燈控制程序。能夠正確進行系統(tǒng)調(diào)試測試。能夠?qū)ο到y(tǒng)功能完整描述,并規(guī)范撰寫項目報告。具有良好的工程意識,嚴謹?shù)墓ぷ髯黠L,自覺遵守工程規(guī)范和職業(yè)道德。具有分析問題、解決問題的能力。具有良好自我學習能力,具有勇于創(chuàng)新、敬業(yè)樂業(yè)的工作作風。具有良好的責任心、環(huán)保意識。6.1.1項目目標

城市道路的交叉路口通常設(shè)置有綠燈、黃燈和紅燈三種狀態(tài)的交通燈,它們的作用是:當綠燈亮時,表示車輛可通行;當黃燈亮時,提醒正在交叉路口中行駛的車輛趕快離開;當紅燈亮,車輛要在停車線后停駛。交通燈的控制看似簡單,其中涉及到兩個方向車流的控制,何時亮何種顏色的燈,時長多久。這些都需要做邏輯分析和運算?,F(xiàn)在更復雜的交通燈還帶有左轉(zhuǎn)和右轉(zhuǎn)提示燈。6.1項目描述6.1.2任務(wù)要求交通燈是城市交通中不可缺少的重要工具,是城市交通秩序的重要保障。本系統(tǒng)就是實現(xiàn)常見十字路交通燈功能。通過編程,實現(xiàn)配置各種燈的時間,控制各個燈的狀態(tài)等。一個十字路口的交通一般分為兩個方向,每個方向具有紅燈、綠燈和黃燈3種交通燈兩個方向的燈的狀態(tài)是相關(guān)的,現(xiàn)給出如下設(shè)定:

6.1項目描述

方向和狀態(tài)時間長度1東向紅燈亮,北向綠燈亮9s2東向紅燈亮,北向黃燈亮3s3東向綠燈亮,北向紅燈亮9s4東向黃燈亮,北向紅燈亮3s6.1.3實踐環(huán)境硬件設(shè)備:計算機、計算機、ELVISⅢ、多功能I/O板卡、導線若干軟件環(huán)境:LabVIEW6.1項目描述6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板6.2.1前面板布置在前面板設(shè)計用戶界面,一般可把系統(tǒng)運行監(jiān)控界面與參數(shù)設(shè)置、系統(tǒng)配置、系統(tǒng)介紹等分開放置,使得系統(tǒng)運行監(jiān)控界面更加簡潔、清晰。在設(shè)計中,可使用選項卡空間來實現(xiàn)上述要求。在控件選板中選擇“新式→容器→選項卡控件”,放置在前面板上。選項卡只是把前面板上內(nèi)容進行了分類,并不會對程序造成任何影響。在選項卡控件上右擊,在顯示項中去掉標簽選項。把“選項卡1”修改為“系統(tǒng)描述”、“選項卡2”修改為“通道設(shè)置”。在選項卡控件上右擊,選擇“在后面添加選項卡”選項,并把該選項修改為“交通燈控制”。6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板放置選項卡控件6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板在“系統(tǒng)描述”選項卡中,對系統(tǒng)進行簡單的描述;“交通燈控制”選項卡中,放置該系統(tǒng)所需要的輸入和顯示控件,在VI運行中,該選項卡界面是人機交互界面;“通道設(shè)置”選項卡放置通道號輸入控件前面板布置如圖所示。6.3.2設(shè)計交通燈控件控件的屬性設(shè)置1)在前面板上,打開控件選板,在布爾控件子選板里面找到指示燈,放置在前面板上。在控件上右擊鼠標,在打開的快捷菜單,把“顯示項”里面“標簽”選項的鉤選取掉。2)鼠標移動到該控件上,出現(xiàn)拖拽工具,把它拖拽到合適的大小。3)復制3個控件,可以選中該控件然后按住Ctrl鍵移動鼠標,也可以直接復制粘貼。4)把三個控件從上到下排列整齊。發(fā)光顏色依次設(shè)置為紅、黃、綠,熄滅顏色都設(shè)置為灰色或者是透明。設(shè)置顏色屬性的方法是:在控件上點擊鼠標右鍵,在打開的快捷菜單上選擇“屬性”選項,打開屬性設(shè)置對話框。在右下方的“開”或者“關(guān)”的顏色框中單擊鼠標左鍵,就會彈出顏色選擇窗口,可根據(jù)需要選擇顏色,也可以選擇顏色選擇窗口右上角的“T”,來達到透明效果。設(shè)置好的交通燈,中間的黃顏色為關(guān)閉狀態(tài)。6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板

布爾控件的屬性對話框

三色交通燈

2024/1/3121:196.2任務(wù)1設(shè)計控制系統(tǒng)的前面板2、修飾為了美觀,還可以對交通燈進行修飾。在控件選板的“修飾”子選板里面選擇“平面圓盒”,拖拽到合適大小,然后移至交通燈的后面,這樣就制作完成了一組交通燈。把燈與修飾同時選中,單擊前面板窗口右上角的“重新排序”鍵,如圖6-10所示,把它們組合起來??丶M合6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板3、控件組合為簇1)組合為簇:在前面板的控件選板里找到“數(shù)組、矩陣與簇”子選板,把簇放置在前面板上,拖拽到能容納下交通燈布爾控件。選中交通燈,拖進簇的框架里面。2)調(diào)整簇為合適大?。涸诖氐倪吙蛏嫌覔?,從打開的快捷菜單里面選擇“自動調(diào)整大小”→“調(diào)整為匹配大小”。3)美化外觀:為了美觀,可隱藏簇本身的樣子。在前面板的菜單欄中,“查看→工具選板”,點擊顏色選板,將后色板的顏色都選擇為透明,即顏色選板右上角的“T”。使用該色彩,對簇的外框涂色,就可完全隱藏簇的外框。4)編輯文本:在標簽“簇”字的位置上雙擊鼠標左鍵,把簇的標簽修改為“東西方向”,并對文字進行移動、修改大小、修改顏色等。調(diào)整簇框架的大小5)按照上述做法,再制作南北方向的交通燈。南北方向交通燈水平排列,從左到右依次是紅、黃、綠。6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板6)簇元素排序:這樣操作之后,每個簇中包含有3個布爾控件。簇元素的邏輯順序與其在簇內(nèi)的位置無關(guān)。右鍵單擊簇外框,從快捷菜單選擇“重新排序簇中控件”,查看菜單欄下方所顯示的數(shù)值。需要將哪一個簇元素設(shè)置為當前的數(shù)值順序,就用鼠標點擊那個簇元素,就可將其設(shè)定為所指定的邏輯順序。完成后,點選;若要需要設(shè)定,點選。包含簇中元素的順序,最好與外部硬件資源所對應(yīng)的交通燈相一致:東西方向順序是紅、黃、綠;南北方向順序是綠、黃、紅。6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板簇元素重新排序6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板6.3.3制作表格使用表格控件,來存放顯示每個方向交通燈的邏輯序列及時長信息。選擇前面板的控件選板→系統(tǒng)→列表、表格和樹→系統(tǒng)表格,放置表格控件于前面板上。修改其標簽為“邏輯序列”。右擊表格控件,顯示項中勾選“列首”。

表格控件及右鍵菜單使用6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板在表格的列首中,填寫每一列所代表的信號燈。E代表東西方向、N代表南北方向;R、Y、G分別代表紅、黃、綠;邏輯信息,“1“表示真即燈亮,“0‘’表示假,即燈滅;時長(s)表示每種狀態(tài)所保持的時間。表格中一行表示某一個時刻6個LED燈的狀態(tài)及時長。表格中存放的數(shù)據(jù)類型為字符串型的二維數(shù)組,其在程序框圖中的接線端子的顏色為枚紅色。作為列首的提示信息,不會直接出現(xiàn)在接線端子所傳遞的數(shù)據(jù)中。若想在程序框圖中引用表格列首的信息,需要使用屬性節(jié)點來實現(xiàn)。6.2任務(wù)1設(shè)計控制系統(tǒng)的前面板6.3.1交通燈控制邏輯設(shè)計上一節(jié)中制作了表格文件表格內(nèi)的數(shù)據(jù)為字符串,而字符串數(shù)據(jù)不方便做數(shù)值運算。在LabVIEW中很多數(shù)都可以以多種類型的運算,如加減乘除可以針對標量,也可以針對數(shù)組、簇和波形等數(shù)據(jù)。同樣的,類型的數(shù)據(jù)類型轉(zhuǎn)換函數(shù)既可以針對單個標量。也可以作用于整個數(shù)組。6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能函數(shù)“十進制數(shù)字符串至數(shù)值轉(zhuǎn)換”可以完成字符串轉(zhuǎn)換為數(shù)值。選擇路徑:程序框圖→函數(shù)選板→字符串→字符串/數(shù)值轉(zhuǎn)換→十進制數(shù)字符串至數(shù)值轉(zhuǎn)換。轉(zhuǎn)換后得到的整形數(shù)組中,包含有兩組信息:一組為交通燈的邏輯信息,一組為延時信息。需要將這兩組信息分離。前面制作的表格是字符串格式。字符串不方便做數(shù)值運行,需要將表格的字符型數(shù)組轉(zhuǎn)換為數(shù)值類型的數(shù)組。6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能1.字符串數(shù)組轉(zhuǎn)換為數(shù)值數(shù)組如何實現(xiàn)兩組信息的分離?可使用函數(shù)“刪除數(shù)組元素”來完成信息的分離。將二維數(shù)組連接至函數(shù)的“N維數(shù)組”連線端口,列的索引設(shè)定為6,含義為將數(shù)組中第7列數(shù)值刪除(即刪除時長信息)。函數(shù)輸出的兩個數(shù)組:“已刪除元素的數(shù)組子集”為邏輯序列二維數(shù)組;“已刪除的部分”為時長信息一維數(shù)組。時長信息給等待函數(shù),控制每次循環(huán)執(zhí)行的時長,即每個狀態(tài)保持的時長。6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能邏輯序列二維數(shù)組是數(shù)值型,需要轉(zhuǎn)換成布爾型,原因是,在數(shù)字量輸出(DO過程)時,要求數(shù)據(jù)格式為布爾量。數(shù)值量轉(zhuǎn)換成布爾量可以用比較選板上的函數(shù)來實現(xiàn):數(shù)值“1”大于0為真,輸出T;數(shù)值“0”大于0為假,輸出F。這樣運算之后,“100000”就變成了“TFFFFF”。6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能2.數(shù)值數(shù)組轉(zhuǎn)換為布爾數(shù)組依次讀取二維數(shù)組中的每一行,可以用For循環(huán)的自動多索引功能來實現(xiàn),二維數(shù)組有4行,需要進行4次循環(huán)。首次運行時,讀取第0行數(shù)據(jù)為“TFFFFF”的一維數(shù)組,按照邏輯序列第1行到第3行以此類推。用“刪除數(shù)組”函數(shù),把6個元素的一維數(shù)組拆分成2個,分別表示東西方向和南北方向的交通燈。6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能2.數(shù)值數(shù)組轉(zhuǎn)換為布爾數(shù)組用“數(shù)組至蔟轉(zhuǎn)換”函數(shù),把它們變成蔟,與事先做好的“三色交通燈”蔟連接。特別要注意的是,“數(shù)組至蔟轉(zhuǎn)換”函數(shù)默認輸出9個元素,需要變成3個才與顯示控件一致。方法是右擊該函數(shù),彈出菜單中選擇“蔟大小……”,把9改成3即可。通過For循環(huán)的自動索引隧道,把時長信息一維數(shù)組的3個元素也依次讀取,再乘1000,變成毫秒單位,送給等待(ms)函數(shù)。這樣,交通燈控制邏輯程序就設(shè)計好了。6.3.2用For循環(huán)實現(xiàn)倒計時1.普通數(shù)值顯示在十字路口,除了交通燈之外,還有紅綠燈時間倒計時的顯示。從表格控件中發(fā)現(xiàn),當一個方向綠燈和黃燈時,另一個方向均為紅燈。紅燈亮的時間是綠燈與黃燈亮的時間之和。因此,東西方向燈亮的順序和時間為:紅燈12s、綠燈9s、黃燈3s;南北方向為:綠燈9s、黃燈3s、紅燈12s。可以利用For循環(huán)的索引功能來實現(xiàn)。6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能東西方向:程序功能是先從12開始倒數(shù),循環(huán)一次減1,減到1之后,再從9開始,依次類推。圖中的“等待(ms)”輸入常量1000,相當于等待1s,如果循環(huán)12次,就實現(xiàn)了等待12s。南北方向:把索引數(shù)組修改為9、3、12即可。還可以在數(shù)值顯示控件的后面加上修飾,并修改顯示文本的大小、字體、顏色等。

東西方向倒計時6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能2.數(shù)碼管數(shù)值顯示繪制數(shù)碼顯示圖片,然后保存為bmp格式,用“讀取bmp圖片”函數(shù)讀取,該函數(shù)在函數(shù)選板的“編程→圖形與聲音→圖形格式”中。然后用函數(shù)選板“編程→圖形與聲音→圖片函數(shù)→繪制平滑像素圖”函數(shù),繪制圖片。由于數(shù)碼一共有10個,可用For循環(huán)讀取10次,圖片位置數(shù)組用來輸入放置圖片的位置地址。這樣就生成一個圖片數(shù)組。把這個數(shù)組轉(zhuǎn)為常量數(shù)組,就完成了數(shù)碼圖片數(shù)組制作。6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能對應(yīng)的倒計時程序框圖如圖。與前一個方法差別是,不直接顯示個位和十位數(shù)值,而是把個位和十位數(shù)值作為索引,找到對應(yīng)數(shù)碼圖片的位置,然后顯示該圖片。把該圖片捆綁成簇,在前面板進行適當修飾。

用圖片數(shù)組實現(xiàn)倒計時6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能把東西方向、南北方向倒計時和交通燈控制邏輯程序設(shè)計好之后,就完成了無硬件的模擬交通燈控制程序。運行該程序,可以觀察交通燈的變化情況,看看是否實現(xiàn)設(shè)計功能。

用圖片數(shù)組實現(xiàn)倒計時6.3任務(wù)2實現(xiàn)交通燈控制邏輯功能6.4任務(wù)3設(shè)計交通燈控制系統(tǒng)用戶界面上的交通燈能夠按照要求點亮。那么如何點亮實驗臺上的交通燈?分析交通燈模塊I/O信號類型:需要TTL電平驅(qū)動因此是數(shù)字量輸出(DO)1.虛擬儀器設(shè)備驅(qū)動采用NI-DAQmx驅(qū)動軟件的情況DO過程的流程:創(chuàng)建數(shù)字通道,數(shù)字通道寫操作,停止操作,清除資源,簡單錯誤處理。其中數(shù)字通道寫操作的VI一般放置在for循環(huán)或者while循環(huán)中。數(shù)字信號輸出(DO)6.4任務(wù)3設(shè)計交通燈控制系統(tǒng)6.5.2交通燈控制系統(tǒng)程序框圖“DAQmx寫入”在循環(huán)框架內(nèi),其他的節(jié)點都放在循環(huán)框外,因為只需創(chuàng)建一次虛擬通道,而進行多次數(shù)據(jù)寫操作。當循環(huán)結(jié)束,才進行停止、清除任務(wù)等操作。最后把進出循環(huán)體的任務(wù)和錯誤簇隧道替換為移位寄存器,用來存放任務(wù)和錯誤簇信息。交通燈控制程序框圖6.4任務(wù)3設(shè)計交通燈控制系統(tǒng)步驟:1、將nextwire_20模塊安置在nextboard平臺的數(shù)字信號槽位(DigitalSlot)1或2上,打開nextboard電源。2、根據(jù)模塊放置的槽位,填寫物理通道號DigitalSlot1位置通道號:Dev1/port2/line4,Dev1/port1/line6,Dev1/port2/line6,Dev1/port2/line2,Dev1/port2/line1,Dev1/port2/line0DigitalSlot2位置通道號:Dev1/port2/line5,Dev1/port1/line7,Dev1/port2/line7,Dev1/port2/line3,Dev1/port1/line4,Dev1/port1/line36.4任務(wù)3設(shè)計交通燈控制系統(tǒng)步驟:3、運行調(diào)試VI,觀察運行結(jié)果。4、進行測試,記錄數(shù)據(jù)、截取圖片。5、完成項目報告。6.4任務(wù)3設(shè)計交通燈控制系統(tǒng)6.4任務(wù)3設(shè)計交通燈控制系統(tǒng)2.采用ELVISⅢ硬件設(shè)備和驅(qū)動軟件采用ELVISⅢ實現(xiàn)交通燈控制系統(tǒng)功能時,首先把ELVISⅢ通過USB方式,與計算機連接。用多功能I/O板卡下方自帶的LED作為被控對象—交通燈,LED0、LED1、LED2模擬東西方向交通燈;LED3、LED4、LED5模擬南北方向交通燈。用導線把這6個LED的端子分別與DIO的6個端子相連“比如選擇DIO14~DIO19這6個DIO端子”。數(shù)字信號輸出(DO)6.4任務(wù)3設(shè)計交通燈控制系統(tǒng)該程序在“無硬件交通燈控制程序”添加DO過程就可以了。如果“無硬件交通燈控制程序”不是在“NIELVISⅢProject模板”下創(chuàng)建的VI,就需要把它導入項目中。方法如圖所示,右擊“NI-ELVISⅢ***(注:后面的編號和地址各不相同)”項彈出快捷菜單,選擇“添加”→“文件”,找到“無硬件交通燈控制程序”,然后添加文件即可。數(shù)字信號輸出(DO)6.4任務(wù)3設(shè)計交通燈控制系統(tǒng)采用DO一采樣模式(DigitalInput/Output1Sample)。程序如圖所示。圖中,邏輯序列的一維數(shù)組作為“Write”的數(shù)據(jù)輸入,數(shù)組有6個元素,運行程序時,每循環(huán)一次輸出6個布爾量。一般在設(shè)計上,DO過程在For循環(huán)上不用數(shù)據(jù)隧道,而是采用移位寄存器??梢韵冗B線再右擊數(shù)據(jù)隧道,選擇“替換為移位寄存器”;或者先添加移位寄存器再連線。數(shù)字信號輸出(DO)6.4任務(wù)3設(shè)計交通燈控制系統(tǒng)工程上,運行有錯誤的時候,要求停止運行程序,可利用For的條件停止。方法是右擊循環(huán)邊框,彈出的菜單中選擇“條件接線端”,然后在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論