(完整word版)虛擬儀器實驗_第1頁
(完整word版)虛擬儀器實驗_第2頁
(完整word版)虛擬儀器實驗_第3頁
(完整word版)虛擬儀器實驗_第4頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗二 LabVIEW程序結構1 實驗目的( 1)學會使用 LabVIEW中的 While 循環(huán);( 2)學會使用 LabVIEW中的移位寄存器;( 3)學會使用 LabVIEW中的 For 循環(huán) ;( 4)學會使用 LabVIEW中的 CASE結構;( 5)學會使用 LabVIEW中的順序結構;( 6)學會使用 LabVIEW中的公式節(jié)點。2 實驗任務( 1)建立一個 While 循環(huán)的 VI ;( 2)建立一個移位寄存器的 VI ;( 3)建立一個 For 循環(huán)的 VI ;( 4)建立一個 CASE結構的 VI ;( 5)建立一個順序結構的 VI ;( 6)建立一個有公式節(jié)點的 VI 。3

2、 實驗步驟練習 使用 While 循環(huán)和圖表目的:用 While循環(huán)和圖表獲得數(shù)據(jù),并實時顯示。創(chuàng)建一個可以產(chǎn)生并在圖表中顯示隨機數(shù)的VI 。 前面板有一個控制旋鈕可在0到10秒之間調(diào)節(jié)循環(huán)時間,還有一個開關可以中止VI 的運行。學習怎樣改變開關的動作屬性,以便不用每次運行VI 時都要打開開關。操作步驟如下:前面板隨機信號循環(huán)延時4.06.01.00.82.08.00.60.010.00.40.2控制開關0.0ON01023OFF1圖 2-1 練習的前面板選擇 File?New ,打開一個新的前面板。選擇 Controls?Boolean ,在前面板中放置一個開關。設置開關的標簽為控制開關。使

3、用標簽工具創(chuàng)建 ON 和 OFF 的標簽,放置于開關旁。選中 Controls?Graph ,在前面板中放置一個波形圖(是 chart,而不是 graph )。設置它的標簽為隨機信號。這個圖表用于實時顯示隨機數(shù)。把圖表的縱坐標改為 0.0 到 1.0 。方法是用標簽工具把最大值從10.0 改為 1.0 。選擇 Controls?Numeric ,在前面板中放置一個旋鈕。設置旋鈕的標簽為循環(huán)延時。這個旋鈕用于控制 While 循環(huán)的循環(huán)時間。流程圖開流程圖,按照下圖創(chuàng)建流程圖。圖練習的流程圖a) 從 Functions?Structures 中選擇 While 循環(huán),把它放置在流程圖中。 將其拖

4、至適當大小,將相關對象移到循環(huán)圈內(nèi)。b)從 Functions? Numeric 中選擇隨機數(shù)(0-1 )功能函數(shù)放到循環(huán)內(nèi)。c)在循環(huán)中設置Wait Until Next ms Multiple函數(shù)( Functions?Time &Dialog ),該函數(shù)的時間單位是毫秒,按目前面板旋鈕的標度,可將每次執(zhí)行時間延遲 0 到 10 毫秒。d) 照上面所示的流程圖連線,把隨機數(shù)功能函數(shù)和隨機信號圖表輸入端子連接起來,并把啟動開關和 While 循環(huán)的條件端子連接。返回前面板,調(diào)用操作工具后單擊垂直開關將它打開。把該 VI保存為 LabVIEWActivity目錄中的Random Sig

5、nal.vi。執(zhí)行該 VI 。 While循環(huán)的執(zhí)行次數(shù)是不確定的,只要設置的條件為真,循環(huán)程序就會持續(xù)運行。在這個例子中,只要開關打開(TRUE),框圖程序就會一直產(chǎn)生隨機數(shù),并將其在圖表中顯示。單擊垂直開關,中止該VI 。關閉開關這個動作會給循環(huán)條件端子發(fā)送一個FALSE值,從而中止循環(huán)。用鼠標右鍵單擊圖表,選擇Data Operations?Clear Chart,清除顯示緩存,重新設置圖表。練習結束附注與說明布爾開關的機械動作:2布爾開關有 6 種機械動作屬性可供選擇。 在前面板上用鼠標右鍵單擊開關, 在快捷菜單中選擇 Mechanical Action 就可以看到這些可選的動作。 L

6、abVIEW還提供了一個范例示范這些動作,它是位于ExamplesGeneralControlsbooleans.llb的 Mechanical Action ofBooleans.vi。練習使用移位寄存器目的:創(chuàng)建一個可以在圖表中顯示運行平均數(shù)的VI 。前面板1. 打開一個新的前面板,按照下圖所示創(chuàng)建對象。2.把波形圖表的坐標范圍改為0.0 到 2.0。3.在添加豎直坐標之后, 用鼠標右鍵單擊它, 在快捷菜單中選擇 MechanicalAction? LatchWhen Pressed,再選擇Operate?Make Current Values Default ,把 ON 狀態(tài)設置為默認狀

7、態(tài)。Boolean隨機數(shù)ON2.0OFF缺省值: ON機械動作1.5Latch WhenPressed1.00.50.0050圖 3練習的前面板1. 按下圖創(chuàng)建流程圖。圖練習的流程圖2. 在流程圖中添加While循環(huán) (Functions? Structures ),創(chuàng)建移位寄存器。a. 用鼠標右鍵單擊While 循環(huán)的左邊或者右邊,在快捷菜單中選擇Add Shift Register。b. 用鼠標右鍵單擊寄存器的左端子,在快捷菜單中選擇AddElement ,添加一個寄存器。用同樣的方法創(chuàng)建第三個元素。3. Random Number (0 1)函數(shù)( Functions? Numeric

8、)產(chǎn)生0 到 1 之間的某個隨機數(shù)。34. Compound Arithmetic 函數(shù)( Functions? Numeric )在本練習中, 它將返回兩個周期產(chǎn)生的隨機數(shù)的和。如果要加入其他的輸入,只需用右鍵單擊某個輸入,從快捷菜單中選擇Add Input 。5. 除法函數(shù) ( Functions? Numeric )在本練習中, 它用于返回最近四個隨機數(shù)的平均值。6. 數(shù)值常數(shù)( Functions? Numeric )在 While 循環(huán)的每個周期, Random Number (0 1)函數(shù)將產(chǎn)生一個隨機數(shù)。VI就將把這個數(shù)加入到存儲在寄存器中的最近三個數(shù)值中。Random Numb

9、er (01)再將結果除以 4,就能得到這些數(shù)的平均值(當前數(shù)加上以前的三個數(shù))。然后再將這個平均值顯示在波形圖中。7. Wait Until Next ms Multiple 函數(shù) ( Functions? Time & Dialog )它將確保循環(huán)的每個周期不會比毫秒輸入快。 在本練習中, 毫秒輸入的值是 500 毫秒。如果用鼠標右鍵單擊圖標,從快捷菜單中選擇Visible? Label ,就可以看到Wait Until Next ms Multiple的標簽。8. 用鼠標右鍵單擊 Wait Until Next ms Multiple 功能函數(shù)的輸入端子,在快捷菜單中選擇Crea

10、te Constant 。出現(xiàn)一個數(shù)值常數(shù),并自動與功能函數(shù)連接。9. 將 Constant 設置為 500。這樣連接到函數(shù)的數(shù)值常數(shù)設置了500 毫秒的等待時間。因此循環(huán)每半秒執(zhí)行一次。注意,VI用一個隨機數(shù)作為移位寄存器的初始值。如果沒有設置移位寄存器端子的初始值,它就含有一個默認的數(shù)值,或者上次運行結束時的數(shù)值,因此開始得到的平均數(shù)沒有任何意義。10. 執(zhí)行該 VI ,觀察過程。11. 把該VI保存為 LabVIEWActivity目錄下的Random Average.vi 。練習結束。附注:移位寄存器的初值:上面的練習中對移位寄存器設置了初值 0.5 。如果不設這個初值,默認的初值是。

11、在這個例子中, 一開始的計算結果是不對的, 只有到循環(huán)完次后移位寄存器中的過去值才填滿,即第次循環(huán)執(zhí)行后可以得到正確的結果。練習 2-3使用 For 循環(huán)目的:用For 循環(huán)和移位寄存器計算一組隨機數(shù)的最大值。打開一個新的前面板,按照下圖創(chuàng)建對象。a. 將一個數(shù)字顯示對象放在前面板,設置它的標簽為“最大值”。b. 將一個波形圖表放在前面板,設置它的標簽為“隨機數(shù)” 。將圖表的縱坐標范圍改為0.0 到 1.0 。c. 在圖表的快捷菜單中選擇Visible Items?Scrollbar和 Digital Display,并隱藏Plot Legend。d. 用移位工具修改滾動欄的大小。4圖 5練習

12、 3 的面板和流程圖按照上圖畫流程圖。在流程圖中放置一個For 循環(huán)( Functions?Structures)。在 For 循環(huán)的邊框處單擊鼠標右鍵,在快捷菜單中選擇Add Shift Register。將下列對象添加到流程圖。 Random Number (0 1) 函數(shù)( Functions?Numeric)產(chǎn)生0 到 1 之間的某個隨機數(shù)。數(shù)值常數(shù)( Functions?Numeric)在這個練習中需要將移位寄存器的初始值設成 0。 Max&Min函數(shù)( Functions?Comparison )輸入兩個數(shù)值,再將它們的最大值輸出到右上角,最小值輸出到右下角。這里只需要最大

13、值,只用連接最大值輸出。數(shù)值常數(shù)( Functions?Numeric ) For 循環(huán)需要知道需要執(zhí)行的次數(shù)。本練習中是 100 次。按照上圖連接各個端子。運行該VI 。將該VI 保存為 LabVIEWActivity目錄下的Calculate Max.vi。練習 2-3結束。練習 - 使用 Case 結構目的: 創(chuàng)建一個 VI 以檢查一個數(shù)值是否為正數(shù)。如果它是正的,VI 就計算它的平方根,反之則顯示出錯。前面板1. 打開一個新的前面板,并按照下圖所示創(chuàng)建對象。控制對象用于輸入數(shù)值,顯示對象用于顯示該數(shù)值的平方根。流程圖 照下圖創(chuàng)建流程圖。NumberSQRT2.001.415圖練習的面板

14、和流程圖從 Functions?Structures中選擇一個Case 結構,并放置在在流程圖中。Case 結構是一個可以改變大小的方框。先來做Ture 的情況,照流程圖上半部分構造。Greater Or Equal To 0?函數(shù)( Functions?Comparison)如果輸入數(shù)值大于或者等于 0 就會返回一個TRUE值。Square Root函數(shù)( Functions?Numeric)返回輸入數(shù)值的平方根。連好線點擊 Case 框的選擇按鈕,轉(zhuǎn)入False 情況編程數(shù)值常數(shù)(Functions?Numeric ) 這里用于顯示錯誤的代數(shù)值-999.00 。One Button Dia

15、log函數(shù)( Functions?Time & Dialog)在這里它用于顯示一個對話框,內(nèi)容是Error.。字符串常數(shù)(Functions?String) 用 Edit Text Tools在對話框中輸入字符串。該 VI 在 TRUE或者 FALSE情況下都會執(zhí)行。如果輸入的數(shù)值大于等于0,VI 會執(zhí)行TRUE Case,返回該數(shù)的平方根,否則將會輸出999.00 ,并顯示一個對話框,內(nèi)容為Error.。返回前面板,運行該VI 。修改標簽為Number 的數(shù)字式控制對象的數(shù)值,分別嘗試一個正數(shù)和負數(shù)。注意,當把數(shù)字式控制對象的值改為負數(shù)時,LabVIEW 會顯示Case結構的 FAL

16、SE Case 中設置的出錯信息。保存該 VI到 LabVIEWActivity目錄中的Square Root.vi。練習- 結束。練習 - 使用順序結構目的:創(chuàng)建一個VI ,計算生成等于某個給定值的隨機數(shù)所需要的時間。前面板1. 打開一個新的前面板,并按照下圖所示創(chuàng)建對象。給定數(shù)據(jù)50當前值執(zhí)行次數(shù)匹配時間(秒)5060.00圖練習的前面板我們約定數(shù)據(jù)是到100 范圍的整數(shù)。 當前值用于顯示當前產(chǎn)生的隨機數(shù)。“執(zhí)行次數(shù)”用于顯示達到指定值循環(huán)執(zhí)行的次數(shù)。匹配時間用來顯示達到指定值所用的時間。流程圖6圖 7練習的流程圖(共幀)i.在流程圖中放置順序結構( Functions?Structure

17、s) 。ii.用鼠標右鍵單擊幀的邊框,在快捷菜單中選擇Add Frame After,創(chuàng)建一個新幀。重復這個步驟,再創(chuàng)建一個幀。共楨。iii.選中第楨,設置讀取初始時間(子)程序.iv. 第 0 幀的下邊框上含有一個小方框, 其中有一個箭頭。 這個方框叫做順序局部變量,可以在同一個順序結構中的各個幀之間傳遞數(shù)據(jù)。用鼠標右鍵單擊第0 幀的底部邊框,選擇Add Sequence Local,創(chuàng)建順序局部變量。順序局部變量顯示為一個空的方塊。當您將某個功能函數(shù)與順序局部變量相連時,方塊中的箭頭就會自動顯示。v.Tick Count (ms)函數(shù)( Functions?Time & Dialo

18、g)返回啟動到現(xiàn)在的時間(以毫秒為單位)。在這里例子里需要使用兩個這個函數(shù)。另一個在第幀中。vi. 按圖連好線。轉(zhuǎn)入第幀。該幀是匹配計算,內(nèi)含一個循環(huán)結構。該圖中使用的新函數(shù)有:Round to Nearest函數(shù)( Functions?Numeric)在該例中,它用于取0 到7100 之間的隨機數(shù)到距離最近的整數(shù)。Not Equal? 函數(shù)( Functions?Comparison )在該例中,它將隨機數(shù)和前面板中設置的數(shù)相比較,如果兩者不相等會返回TRUE值,否則返回FALSE。Increment函數(shù)( Functions?Numeric)在該例中,它將While 循環(huán)的計數(shù)器加 1。v

19、ii. 按圖連好線。轉(zhuǎn)入第幀在第 0 幀中, Tick Count(ms)功能函數(shù)將以毫秒為單位表示當前時間。這個數(shù)值被連到順序局部變量,這樣它就可以被后續(xù)的幀使用。在第1 幀中,只要函數(shù)返回的值與指定值不等, VI 就會持續(xù)執(zhí)行 While 循環(huán)。在第 2 幀中, Tick Count ( ms)功能函數(shù)以毫秒為單位返回新的時間。 VI 從中減去原來的時間 (由第 0 幀通過順序局部變量提供)就可以計算出花費的時間。viii.返回前面板,在Number to Match控制對象中輸入一個數(shù)值,執(zhí)行該VI 。ix.把該 VI 保存為 LabVIEWActivity目錄下 Time to Match.vi。練習 2-5結束。練習 2-6使用公式節(jié)點目

溫馨提示

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

評論

0/150

提交評論