labview-十字交通燈-最完美版_第1頁
labview-十字交通燈-最完美版_第2頁
labview-十字交通燈-最完美版_第3頁
labview-十字交通燈-最完美版_第4頁
labview-十字交通燈-最完美版_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

信電學院(2012/2013學年第二學期)課程名稱:虛擬儀器技術題目:十字交通燈專業班級:自動化1002學生姓名:王隆帥薛騰陳康學號:1004102(05,27,14)考核成績:2013年5月20日第1章緒論虛擬儀器(virtualinstrumention)是基于計算機的儀器。計算機和儀器的密切結合是目前儀器發展的一個重要方向。使用虛擬儀器用戶可以通過操作顯示屏上的“虛擬”按鈕或面板,完成對被測量的采集、分析、判斷、調節和存儲等功能。LabVIEW是一種程序開發環境,由美國國家儀器(NI)公司研制開發的,類似于C和BASIC開發環境,但是LabVIEW與其他計算機語言的顯著區別是:其他計算機語言都是采用基于文本的語言產生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產生的程序是框圖的形式。與C和BASIC一樣,LabVIEW也是通用的編程系統,有一個完成任何編程任務的龐大函數庫。LabVIEW的函數庫包括數據采集、GPIB、串口控制、數據分析、數據顯示及數據存儲,等等。LabVIEW也有傳統的程序調試工具,如設置斷點、以動畫方式顯示數據及其子程序(子VI)的結果、單步執行等等,便于程序的調試。虛擬儀器(virtualinstrumention)是基于計算機的儀器。計算機和儀器的密切結合是目前儀器發展的一個重要方向。粗略地說這種結合有兩種方式,一種是將計算機裝入儀器,其典型的例子就是所謂智能化的儀器。隨著計算機功能的日益強大以及其體積的日趨縮小,這類儀器功能也越來越強大,目前已經出現含嵌入式系統的儀器。另一種方式是將儀器裝入計算機。以通用的計算機硬件及操作系統為依托,實現各種儀器功能。虛擬儀器主要是指這種方式。下面的框圖反映了常見的虛擬儀器方案。虛擬儀器的主要特點有:盡可能采用了通用的硬件,各種儀器的差異主要是軟件。可充分發揮計算機的能力,有強大的數據處理功能,可以創造出功能更強的儀器。用戶可以根據自己的需要定義和制造各種儀器。虛擬儀器實際上是一個按照儀器需求組織的數據采集系統。虛擬儀器的研究中涉及的基礎理論主要有計算機數據采集和數字信號處理。目前在這一領域內,使用較為廣泛的計算機語言是美國NI公司的LabVIEW。虛擬儀器的起源可以追溯到20世紀70年代,那時計算機測控系統在國防、航天等領域已經有了相當的發展。PC機出現以后,儀器級的計算機化成為可能,甚至在Microsoft公司的Windows誕生之前,NI公司已經在Macintosh計算機上推出了LabVIEW2.0以前的版本。對虛擬儀器和LabVIEW長期、系統、有效的研究開發使得該公司成為業界公認的權威。目前LabVIEW的最新版本為LabVIEW2009,LabVIEW2009為多線程功能添加了更多特性,這種特性在1998年的版本5中被初次引入。使用LabVIEW軟件,用戶可以借助于它提供的軟件環境,該環境由于其數據流編程特性、LabVIEWReal-Time工具對嵌入式平臺開發的多核支持,以及自上而下的為多核而設計的軟件層次,是進行并行編程的首選。利用LabVIEW,可產生獨立運行的可執行文件,它是一個真正的32位編譯器。像許多重要的軟件一樣,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多種版本。它主要的方便就是,一個硬件的情況下,可以通過改變軟件,就可以實現不同的儀器儀表的功能,非常方便,是相當于軟件即硬件。鑒于LabVIEW有諸多優點,這次我們將應用LabVIEW來完成一個十字路口交通燈系統的設計。第2章總體設計方案2.1實現的功能本次設計要完成一個十字交通信號燈的設計,這個交通信號燈系統能為行駛的車輛指示能否通行。這個交通路口每一個方向上的紅綠黃燈按綠—黃—紅的順序循環,每個循環的時間為70s,其中通行(綠燈)的時間為30s,等待通行(黃燈)的時間為5s,禁止通行(紅燈)的時間為35s。當停止鍵按下時,循環停止。2.2總體思路此次設計可以用盞燈來指示路口的紅綠燈狀況,它們分別是下文中的東紅、東黃、東綠、北紅、北黃、北綠、南紅、南黃、南綠、西紅、西黃、西綠。信號燈按一定規律循環點亮,每盞紅燈亮35秒,每盞黃燈亮5秒,每盞綠燈亮30秒。每個循環包括四個階段。第一階段:北黃、東紅、南黃和西紅燈點亮,時間為5秒。第二階段:北紅、東綠、南紅和西綠燈點亮,時間為30秒。第三階段:東黃、北紅、西黃和南紅燈點亮,時間為5秒。第四階段:北綠、東紅、南綠和西紅燈點亮,時間為30秒。每個循環用時70秒。東、南、西、北四個方向分別放置一個時間顯示器來顯示離下一個信號到來的時間。用計數器產生以秒為單位的計時信號,再將產生的時間信號進行分段,每到一個時間段時系統進行相應的動作。第3章程序的設計3.1前面板的設計前面板是VI的用戶界面。創建VI時,通常應先設計前面板,然后在前面板上創建輸入/輸出任務。本課程設計需要用十二盞燈、四個時間顯示器、一個停止按鍵。其中的十二盞燈,紅、黃、綠各四盞,在控件選板中選擇指示燈,將它放在前面板合適的位置,單擊鼠標右鍵,更改指示燈的屬性,改變指示燈的大小,做出一個合適的指示燈,依同樣的步驟可以做好另外十一個,將十二個燈均分四組,每組都包含紅黃綠三種顏色的燈,再用框將每組燈框起來,做成一個交通燈。在每組交通燈合適的位置放置一個數值顯示控件作為交通燈的計時器。在前面板合適的位置放置一個開關按鈕,控制循環的停止。這樣交通燈系統的前面板就做好了。面板設計如圖3-1圖3-1交通燈前面板示意圖定時信號的產生毫秒計時器在LabVIEW中的一個計時單元,它的圖標與用途如圖3-2所示。在函數選板的【編程】→【定時】子選板中選擇時間計數器選定該單元。毫秒計數器對時間信號計數,要產生一個一秒為單位的時間信號,所以還得用毫秒計數值除以1000,取商得到以秒為單位的時間信號。接線如圖3-3所示:圖3-2時間計數器圖3-3時間計數器接線圖將得到的時間信號除以每個循環所用的時間70s,取余數。得到的余數x的范圍為0<=x<70,當0<=x<5時,條件滿足,執行第一個條件結構里面的程序,北黃和東紅燈點亮。當5<=x<35時,條件滿足,執行第二個條件結構里的程序,北紅和東綠燈點亮。當35<=x<40時,條件滿足,東黃和北紅燈點亮。當40<=x<70時,x<40的條件不滿足,執行條件結構里面為假的程序,北綠和東紅燈點亮。時間分段的程序結構如圖3-4所示。圖3-4時間分段程序這里用到了判定范圍并強制轉換控件,應用這個控件可以判定輸入的數是否在上限和下限之間。它的圖標和作用如圖3-5所示。如果輸出信號在范圍之內,“?”接口將產生一個信號,此信號恰可以輸入到條件結構作為分支選擇器信號。圖3-5判定范圍并強制轉換控件3.3各組時間信號的動作條件結構是LabVIEW最基本的結構之一,條件結構類似于文本編程語言中的switch語句或者if…then…else語句。條件結構可以從【結構】子選板中創建,它的圖標及功能如圖3-6所示。圖3-6條件結構在條件結構中,選擇端口相當于switch語句中的“表達式”,框圖表示符相當于“表達式n”。編程時,將外部控制條件連接至選擇端口上,程序運行時選擇端口會判斷送來的控制條件,引導選擇結構執行相應框架中的內容。在本程序中的控制條件為從判定范圍并強制轉換“?”端口輸出地判斷值。當各組條件滿足時,將執行各條件結構里的程序。每個條件結構里的程序基本相同。用需要點亮的燈與布爾真常量連接,不需要點亮的與布爾假常量連接,而時間顯示器則用一定的值減去輸入的時間量,以實現倒計時的功能,各結構里的程序略有不同,具體程序如圖3-7到圖3-10所示。第一階段:余數在0至5秒之間,此時東紅、北黃、西紅和南黃四個燈點亮,向東和西方向的時間顯示器東和西燈顯示為離紅燈熄滅的時間(從6s到1s),向北和南方向的時間顯示器北和南燈顯示為離黃燈熄滅的時間(從6s到1s)。圖3-7條件結構1第二階段:當北黃和南黃燈點亮5秒后,即余數大于5并且小于35時,條件結構2條件滿足,北紅、東綠、南紅和西綠四個燈點亮,向東和向西方向的時間顯示器顯示離東綠和西綠(通行)熄滅的時間(從30s到1s),向北和向南方向的顯示離北紅和南紅(禁止通行)熄滅的時間(從35s到6s)。圖3-8條件結構2第三階段:當東綠和西綠燈點亮30秒后,即余數大于35并且小于40時,條件結構3條件滿足,東黃和西黃燈點亮,而北紅和南紅未到熄滅的時間,繼續點亮。向東和向西方向的時間顯示器顯示離東黃和西黃(準備轉換)熄滅的時間(從6s到1s),向北和向南方向的繼續顯示離北紅和南紅(禁止通行)熄滅的時間(從6s到1s)。圖3-9條件結構3第四階段:當北黃和南黃燈點亮5秒后,即余數大于40并且小于70時,條件結構4為假的條件滿足,北綠、東紅、南綠和西紅四個燈點亮,向東和向西方向的時間顯示器顯示離東紅和西紅(禁止通行)熄滅的時間(從35s到6s),向北和向南方向的顯示離北綠和南綠(通行)熄滅的時間(從30s到1s)。圖3-10條件結構4LabVIEW中的循環結構主要通過while和for循環實現。這兩種循環的功能基本相同,但使用上有一些差別。for循環必須確定循環次數,循環一定次數后自動退出循環;而while循環不用確定循環次數,只需要指定退出循環的條件。本次課程設計中循環的次數不能確定,所以就用到了while循環。LabVIEW中的while循環相當于C語言中的while循環和do…while循環。While循環可以從程序框圖中的【結構】子選板中創建,while循環包括兩個端口:條件端口和重復端口。它的功能、圖標及說明如圖所示。在此課程設計中,用按鍵連接條件端口,當按鍵按下時,循環停止。圖3-11while循環第4章軟件調試這次所設計的十字路口交通燈有四種運行狀態:狀態1、狀態2、狀態3、狀態4。各種狀態的效果在下文中將會講到。運行狀態1,北紅和南紅燈亮35s—6s,東綠和西綠燈亮30s—1s,此時往東和往西方向的車輛可以通行,通行時間總共為30s,向北和向南方向禁止通行,禁止時間總共為35s。時間顯示器顯示的為離下一個狀態到來的時間,如圖4-1所示,東燈和西燈顯示器都顯示為17,表明再過17s綠燈將轉變為黃燈,彼時向東和向西方向將禁止通行;北燈和南燈顯示器都顯示為22,表明再過22s向北和向南將允許通行。圖4-1運行狀態1運行狀態2,北紅和南紅燈亮6s—1s,東黃和西黃燈亮6s—1s,此時往東和往西方向的車輛準備禁止通行。準備時間總共為5s,向北和向南方向的車輛準備通過。時間顯示器顯示的為離下一個狀態到來的時間,如圖4-2所示,四個顯示器都顯示為5,表明再過5s向北和向南方向將轉變為綠燈,向東和向西方向轉為紅燈,彼時向東和向西方向將禁止通行,向北和向南方向將允許通行。圖4-2運行狀態2運行狀態3,北綠和南綠燈亮30s—1s,東紅和西紅燈亮35s—6s,此時往東和往西方向的車輛禁止通行。禁止時間總共為35s(還有5s在下一個狀態中體現);向北和向南方向的車輛允許通行,通行時間總共為30s。時間顯示器顯示的為離下一個狀態到來的時間,如圖4-3所示,北燈和南燈顯示器都顯示為18,表明再過18s向北和向南方向將轉變為黃燈,彼時向北和向南方向將準備禁止通行;東燈和西燈顯示器顯示23,表明再過23s,向東和向西方向轉為綠燈,彼時向東和向西方向將允許通行。圖4-3運行狀態3運行狀態4,北黃和南黃燈亮6s—1s,東紅和西紅燈亮6s—1s,此時往東和往西方向的車輛準備通行,準備時間總共為5s;向北和向南方向的車輛準備禁止通過。時間顯示器顯示的為離下一個狀態到來的時間,如圖4-4所示,顯示器都顯示為5,表明再過5s向北和向南方向將轉變為紅燈,向東和向西方向轉為綠燈,彼時向東和向西方向將允許通行,向北和向南方向將禁止通行。圖4-4運行狀態4運行中按下停止鍵后,程序停止循環,如圖4-5所示:圖4-5停止運行如需繼續運行程序,須單擊工具欄中的【運行】或【連續運行】按鈕。第5章心得總結這次虛擬儀器課程設計的題目是實現基于LabVIEW的任意波形發生器。此次課程設計是我在繼課堂學習書本上的虛擬儀器知識后,再一次并且更加深入的了解到虛擬儀器的基本使用方法和運用原理,檢測我們學習成果的綜合性應用能力,它不僅要求我們有扎實的專業理論知識和實踐操作能力,更要求我們有嚴謹治學、團結協作的精神。通過自己的動手和思考,感覺獲益良多。在設計中我就更切身體會到虛擬儀器這種儀器的高效、開放、易用靈活、功能強大、性價比高、可操作性好等明顯優點。這次實驗讓我們明白了虛擬儀器這門課程的重要性。總之,虛擬儀器技術與網絡技術的結合,及其在測控領域中的應用,是對傳統測控方式的一場革命。應用LabVIEW作為虛擬儀器軟件開發平臺,為開發高性能的計算機測控系統提供了極大的便利。測控方式的網絡化,是未來測控技術發展的必然趨勢,通過建立分布式網絡測控系統,能夠充分利用現有資源和網絡帶來的種種優勢,實現各種資源最有效合理的配置。應用分布網絡測控,可以進行多點測量,多點分析處理。這樣既可以充分發揮服務器控制測試儀器的接口能力,又能發揮客戶機數據處理能力,而且便于系統的擴展。遠程虛擬儀器可以使信息的采集、傳輸和處理一體化,使許多昂貴的測試設備得以共享。尤其是運用在遠程教育上更能發揮出更高的性價比。通過這次設計實踐。我總結了使用LabVIEW編程的兩個要點。第一,熟悉每個控件的用途、使用方法和在軟件中的位置。LabVIEW有這么多控件,有這么單元,如果我們不知道每個單元是用來干什么的,那就根本談不上應用它們了,只有在知道這個空間是做什么用的,我們才會去使用它。知道需要用到某個單元,但是不知道怎么使用,怎么連線,這也是很讓人郁悶的事,所以我們得熟悉一些基本單元的用法。要想很快地做成一個虛擬儀器,就得熟悉每個單元所在的位置,以免在使用過程中找半天找

溫馨提示

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

評論

0/150

提交評論