虛擬儀器實(shí)驗(yàn)_第1頁(yè)
虛擬儀器實(shí)驗(yàn)_第2頁(yè)
虛擬儀器實(shí)驗(yàn)_第3頁(yè)
虛擬儀器實(shí)驗(yàn)_第4頁(yè)
虛擬儀器實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)二 LabVIEW程序結(jié)構(gòu)1 實(shí)驗(yàn)?zāi)康?(1)學(xué)會(huì)使用LabVIEW中的While循環(huán); (2)學(xué)會(huì)使用LabVIEW中的移位寄存器; (3)學(xué)會(huì)使用LabVIEW中的For循環(huán); (4)學(xué)會(huì)使用LabVIEW中的CASE結(jié)構(gòu); (5)學(xué)會(huì)使用LabVIEW中的順序結(jié)構(gòu); (6)學(xué)會(huì)使用LabVIEW中的公式節(jié)點(diǎn)。2 實(shí)驗(yàn)任務(wù) (1)建立一個(gè)While循環(huán)的VI; (2)建立一個(gè)移位寄存器的VI; (3)建立一個(gè)For循環(huán)的VI; (4)建立一個(gè)CASE結(jié)構(gòu)的VI; (5)建立一個(gè)順序結(jié)構(gòu)的VI; (6)建立一個(gè)有公式節(jié)點(diǎn)的VI。3 實(shí)驗(yàn)步驟練習(xí)使用While循環(huán)和圖表 目的:用 Whil

2、e 循環(huán)和圖表獲得數(shù)據(jù),并實(shí)時(shí)顯示。創(chuàng)建一個(gè)可以產(chǎn)生并在圖表中顯示隨機(jī)數(shù)的VI。 前面板有一個(gè)控制旋鈕可在0到10秒之間調(diào)節(jié)循環(huán)時(shí)間,還有一個(gè)開關(guān)可以中止VI的運(yùn)行。學(xué)習(xí)怎樣改變開關(guān)的動(dòng)作屬性,以便不用每次運(yùn)行VI時(shí)都要打開開關(guān)。操作步驟如下: 前面板圖2-1練習(xí)的前面板 選擇File»New,打開一個(gè)新的前面板。 選擇Controls»Boolean,在前面板中放置一個(gè)開關(guān)。設(shè)置開關(guān)的標(biāo)簽為控制開關(guān)。 使用標(biāo)簽工具創(chuàng)建 ON 和 OFF 的標(biāo)簽,放置于開關(guān)旁。 選中Controls»Graph,在前面板中放置一個(gè)波形圖(是chart,而不是graph)。設(shè)置它的

3、標(biāo)簽為隨機(jī)信號(hào)。這個(gè)圖表用于實(shí)時(shí)顯示隨機(jī)數(shù)。 把圖表的縱坐標(biāo)改為0.0 到 1.0。方法是用標(biāo)簽工具把最大值從10.0改為1.0。 選擇Controls»Numeric,在前面板中放置一個(gè)旋鈕。設(shè)置旋鈕的標(biāo)簽為循環(huán)延時(shí)。這個(gè)旋鈕用于控制While 循環(huán)的循環(huán)時(shí)間。流程圖 開流程圖,按照下圖創(chuàng)建流程圖。圖練習(xí)的流程圖a) 從 Functions»Structures 中選擇 While 循環(huán),把它放置在流程圖中。將其拖至適當(dāng)大小,將相關(guān)對(duì)象移到循環(huán)圈內(nèi)。b) 從 Functions» Numeric中選擇隨機(jī)數(shù)(0-1)功能函數(shù)放到循環(huán)內(nèi)。c) 在循環(huán)中設(shè)置Wait

4、 Until Next ms Multiple函數(shù) (Functions»Time & Dialog),該函數(shù)的時(shí)間單位是毫秒,按目前面板旋鈕的標(biāo)度,可將每次執(zhí)行時(shí)間延遲0到10毫秒。d) 照上面所示的流程圖連線,把隨機(jī)數(shù)功能函數(shù)和隨機(jī)信號(hào)圖表輸入端子連接起來(lái),并把啟動(dòng)開關(guān)和While 循環(huán)的條件端子連接。 返回前面板,調(diào)用操作工具后單擊垂直開關(guān)將它打開。 把該 VI 保存為 LabVIEWActivity目錄中的Random Signal.vi。 執(zhí)行該 VI。While循環(huán)的執(zhí)行次數(shù)是不確定的,只要設(shè)置的條件為真,循環(huán)程序就會(huì)持續(xù)運(yùn)行。在這個(gè)例子中,只要開關(guān)打開(TRUE

5、),框圖程序就會(huì)一直產(chǎn)生隨機(jī)數(shù),并將其在圖表中顯示。 單擊垂直開關(guān),中止該VI。關(guān)閉開關(guān)這個(gè)動(dòng)作會(huì)給循環(huán)條件端子發(fā)送一個(gè)FALSE值,從而中止循環(huán)。 用鼠標(biāo)右鍵單擊圖表,選擇Data Operations»Clear Chart,清除顯示緩存,重新設(shè)置圖表。練習(xí)結(jié)束附注與說(shuō)明布爾開關(guān)的機(jī)械動(dòng)作:布爾開關(guān)有6種機(jī)械動(dòng)作屬性可供選擇。在前面板上用鼠標(biāo)右鍵單擊開關(guān),在快捷菜單中選擇Mechanical Action就可以看到這些可選的動(dòng)作。LabVIEW還提供了一個(gè)范例示范這些動(dòng)作,它是位于ExamplesGeneralControlsbooleans.llb的Mechanical Act

6、ion of Booleans.vi。練習(xí) 使用移位寄存器 目的:創(chuàng)建一個(gè)可以在圖表中顯示運(yùn)行平均數(shù)的VI。前面板1. 打開一個(gè)新的前面板,按照下圖所示創(chuàng)建對(duì)象。2. 把波形圖表的坐標(biāo)范圍改為0.0到2.0。3. 在添加豎直坐標(biāo)之后,用鼠標(biāo)右鍵單擊它,在快捷菜單中選擇Mechanical Action»Latch When Pressed,再選擇Operate»Make Current Values Default,把ON狀態(tài)設(shè)置為默認(rèn)狀態(tài)。 圖3練習(xí)的前面板1. 按下圖創(chuàng)建流程圖。 圖練習(xí)的流程圖2. 在流程圖中添加 While 循環(huán)(Functions»Str

7、uctures),創(chuàng)建移位寄存器。a. 用鼠標(biāo)右鍵單擊While循環(huán)的左邊或者右邊,在快捷菜單中選擇Add Shift Register。b. 用鼠標(biāo)右鍵單擊寄存器的左端子,在快捷菜單中選擇Add Element,添加一個(gè)寄存器。用同樣的方法創(chuàng)建第三個(gè)元素。3. Random Number (01)函數(shù)(Functions»Numeric)產(chǎn)生0到1之間的某個(gè)隨機(jī)數(shù)。4. Compound Arithmetic 函數(shù)(Functions»Numeric)在本練習(xí)中,它將返回兩個(gè)周期產(chǎn)生的隨機(jī)數(shù)的和。如果要加入其他的輸入,只需用右鍵單擊某個(gè)輸入,從快捷菜單中選擇Add Inp

8、ut。5. 除法函數(shù)(Functions»Numeric)在本練習(xí)中,它用于返回最近四個(gè)隨機(jī)數(shù)的平均值。6. 數(shù)值常數(shù)(Functions»Numeric)在While循環(huán)的每個(gè)周期,Random Number (01)函數(shù)將產(chǎn)生一個(gè)隨機(jī)數(shù)。VI就將把這個(gè)數(shù)加入到存儲(chǔ)在寄存器中的最近三個(gè)數(shù)值中。Random Number (01)再將結(jié)果除以4,就能得到這些數(shù)的平均值(當(dāng)前數(shù)加上以前的三個(gè)數(shù))。然后再將這個(gè)平均值顯示在波形圖中。7. Wait Until Next ms Multiple函數(shù) (Functions»Time & Dialog)它將確保循環(huán)的

9、每個(gè)周期不會(huì)比毫秒輸入快。在本練習(xí)中,毫秒輸入的值是500毫秒。如果用鼠標(biāo)右鍵單擊圖標(biāo),從快捷菜單中選擇Visible»Label,就可以看到Wait Until Next ms Multiple的標(biāo)簽。8. 用鼠標(biāo)右鍵單擊Wait Until Next ms Multiple 功能函數(shù)的輸入端子,在快捷菜單中選擇Create Constant。出現(xiàn)一個(gè)數(shù)值常數(shù),并自動(dòng)與功能函數(shù)連接。9. 將Constant設(shè)置為500。這樣連接到函數(shù)的數(shù)值常數(shù)設(shè)置了500毫秒的等待時(shí)間。因此循環(huán)每半秒執(zhí)行一次。注意,VI用一個(gè)隨機(jī)數(shù)作為移位寄存器的初始值。如果沒(méi)有設(shè)置移位寄存器端子的初始值,它就含

10、有一個(gè)默認(rèn)的數(shù)值,或者上次運(yùn)行結(jié)束時(shí)的數(shù)值,因此開始得到的平均數(shù)沒(méi)有任何意義。10. 執(zhí)行該 VI,觀察過(guò)程。11. 把該 VI 保存為L(zhǎng)abVIEWActivity目錄下的Random Average.vi。練習(xí) 結(jié)束。附注:移位寄存器的初值:上面的練習(xí)中對(duì)移位寄存器設(shè)置了初值0.5。如果不設(shè)這個(gè)初值,默認(rèn)的初值是。在這個(gè)例子中,一開始的計(jì)算結(jié)果是不對(duì)的,只有到循環(huán)完次后移位寄存器中的過(guò)去值才填滿,即第次循環(huán)執(zhí)行后可以得到正確的結(jié)果。練習(xí) 2-3 使用For循環(huán)目的:用For循環(huán)和移位寄存器計(jì)算一組隨機(jī)數(shù)的最大值。打開一個(gè)新的前面板,按照下圖創(chuàng)建對(duì)象。a. 將一個(gè)數(shù)字顯示對(duì)象放在前面板,設(shè)置

11、它的標(biāo)簽為“最大值”。b.將一個(gè)波形圖表放在前面板,設(shè)置它的標(biāo)簽為“隨機(jī)數(shù)”。將圖表的縱坐標(biāo)范圍改為0.0到1.0。c.在圖表的快捷菜單中選擇Visible Items»Scrollbar和Digital Display,并隱藏Plot Legend。d.用移位工具修改滾動(dòng)欄的大小。圖5練習(xí)3的面板和流程圖按照上圖畫流程圖。在流程圖中放置一個(gè)For循環(huán)(Functions»Structures)。在For循環(huán)的邊框處單擊鼠標(biāo)右鍵,在快捷菜單中選擇Add Shift Register。將下列對(duì)象添加到流程圖。 Random Number (01)函數(shù)(Functions

12、87;Numeric)產(chǎn)生0到1之間的某個(gè)隨機(jī)數(shù)。 數(shù)值常數(shù)(Functions»Numeric)在這個(gè)練習(xí)中需要將移位寄存器的初始值設(shè)成0。 Max&Min函數(shù)(Functions»Comparison)輸入兩個(gè)數(shù)值,再將它們的最大值輸出到右上角,最小值輸出到右下角。這里只需要最大值,只用連接最大值輸出。 數(shù)值常數(shù)(Functions»Numeric)For循環(huán)需要知道需要執(zhí)行的次數(shù)。本練習(xí)中是100次。按照上圖連接各個(gè)端子。運(yùn)行該VI。將該VI保存為L(zhǎng)abVIEWActivity 目錄下的Calculate Max.vi。練習(xí) 2-3 結(jié)束。練習(xí) -

13、使用 Case結(jié)構(gòu) 目的:創(chuàng)建一個(gè)VI以檢查一個(gè)數(shù)值是否為正數(shù)。如果它是正的,VI就計(jì)算它的平方根,反之則顯示出錯(cuò)。前面板1. 打開一個(gè)新的前面板,并按照下圖所示創(chuàng)建對(duì)象??刂茖?duì)象用于輸入數(shù)值,顯示對(duì)象用于顯示該數(shù)值的平方根。流程圖照下圖創(chuàng)建流程圖。圖練習(xí)的面板和流程圖3. 從Functions»Structures中選擇一個(gè) Case結(jié)構(gòu),并放置在在流程圖中。Case 結(jié)構(gòu)是一個(gè)可以改變大小的方框。先來(lái)做Ture的情況,照流程圖上半部分構(gòu)造。a Greater Or Equal To 0? 函數(shù)(Functions»Comparison)如果輸入數(shù)值大于或者等于0就會(huì)返回

14、一個(gè)TRUE值。b Square Root 函數(shù)(Functions»Numeric)返回輸入數(shù)值的平方根。c 連好線d 點(diǎn)擊Case框的選擇按鈕,轉(zhuǎn)入False情況編程e 數(shù)值常數(shù)(Functions»Numeric)這里用于顯示錯(cuò)誤的代數(shù)值-999.00。f One Button Dialog函數(shù)(Functions»Time & Dialog)在這里它用于顯示一個(gè)對(duì)話框,內(nèi)容是Error.。 g 字符串常數(shù) (Functions»String)用Edit Text Tools在對(duì)話框中輸入字符串。h 該VI在TRUE或者FALSE情況下都會(huì)

15、執(zhí)行。如果輸入的數(shù)值大于等于0,VI會(huì)執(zhí)行TRUE Case,返回該數(shù)的平方根,否則將會(huì)輸出999.00,并顯示一個(gè)對(duì)話框,內(nèi)容為Error.。4. 返回前面板,運(yùn)行該VI。修改標(biāo)簽為Number的數(shù)字式控制對(duì)象的數(shù)值,分別嘗試一個(gè)正數(shù)和負(fù)數(shù)。注意,當(dāng)把數(shù)字式控制對(duì)象的值改為負(fù)數(shù)時(shí),LabVIEW會(huì)顯示Case結(jié)構(gòu)的FALSE Case中設(shè)置的出錯(cuò)信息。5. 保存該 VI 到LabVIEWActivity 目錄中的Square Root.vi。練習(xí) - 結(jié)束。練習(xí) - 使用順序結(jié)構(gòu) 目的:創(chuàng)建一個(gè) VI,計(jì)算生成等于某個(gè)給定值的隨機(jī)數(shù)所需要的時(shí)間。前面板1. 打開一個(gè)新的前面板,并按照下圖所示

16、創(chuàng)建對(duì)象。圖練習(xí)的前面板我們約定數(shù)據(jù)是到100范圍的整數(shù)。當(dāng)前值用于顯示當(dāng)前產(chǎn)生的隨機(jī)數(shù)?!皥?zhí)行次數(shù)”用于顯示達(dá)到指定值循環(huán)執(zhí)行的次數(shù)。匹配時(shí)間用來(lái)顯示達(dá)到指定值所用的時(shí)間。流程圖圖7練習(xí)的流程圖(共幀)i. 在流程圖中放置順序結(jié)構(gòu)(Functions»Structures)。ii. 用鼠標(biāo)右鍵單擊幀的邊框,在快捷菜單中選擇Add Frame After,創(chuàng)建一個(gè)新幀。重復(fù)這個(gè)步驟,再創(chuàng)建一個(gè)幀。共楨。iii. 選中第楨,設(shè)置讀取初始時(shí)間(子)程序.iv. 第0幀的下邊框上含有一個(gè)小方框,其中有一個(gè)箭頭。這個(gè)方框叫做順序局部變量,可以在同一個(gè)順序結(jié)構(gòu)中的各個(gè)幀之間傳遞數(shù)據(jù)。用鼠標(biāo)右鍵

17、單擊第0幀的底部邊框,選擇Add Sequence Local,創(chuàng)建順序局部變量。順序局部變量顯示為一個(gè)空的方塊。當(dāng)您將某個(gè)功能函數(shù)與順序局部變量相連時(shí),方塊中的箭頭就會(huì)自動(dòng)顯示。v. Tick Count (ms) 函數(shù)(Functions»Time & Dialog)返回啟動(dòng)到現(xiàn)在的時(shí)間(以毫秒為單位)。在這里例子里需要使用兩個(gè)這個(gè)函數(shù)。另一個(gè)在第幀中。vi. 按圖連好線。轉(zhuǎn)入第幀。該幀是匹配計(jì)算,內(nèi)含一個(gè)循環(huán)結(jié)構(gòu)。該圖中使用的新函數(shù)有:Round to Nearest函數(shù)(Functions»Numeric)在該例中,它用于取0到100之間的隨機(jī)數(shù)到距離最近的

18、整數(shù)。Not Equal?函數(shù)(Functions» Comparison)在該例中,它將隨機(jī)數(shù)和前面板中設(shè)置的數(shù)相比較,如果兩者不相等會(huì)返回TRUE值,否則返回FALSE。Increment函數(shù)(Functions»Numeric)在該例中,它將While循環(huán)的計(jì)數(shù)器加1。vii. 按圖連好線。轉(zhuǎn)入第幀在第0幀中,Tick Count (ms)功能函數(shù)將以毫秒為單位表示當(dāng)前時(shí)間。這個(gè)數(shù)值被連到順序局部變量,這樣它就可以被后續(xù)的幀使用。在第1幀中,只要函數(shù)返回的值與指定值不等,VI就會(huì)持續(xù)執(zhí)行While循環(huán)。在第2幀中,Tick Count (ms)功能函數(shù)以毫秒為單位返回新的時(shí)間。VI從中減去原來(lái)的時(shí)間(由第0幀通過(guò)順序局部變量提供)就可以計(jì)算出花費(fèi)的時(shí)間。viii. 返回前面板,在Number to Match控制對(duì)象中輸入一個(gè)數(shù)值,執(zhí)行該V

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論