




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、虛擬儀器設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書 機(jī)械工程學(xué)院 機(jī)械電子系2015年3月 目錄實(shí)驗(yàn)1 labview入門3實(shí)驗(yàn)2 程序結(jié)構(gòu)7實(shí)驗(yàn)3 數(shù)據(jù)類型:數(shù)組、簇16實(shí)驗(yàn)4 圖形顯示23實(shí)驗(yàn)5 字符串和文件i/o25實(shí)驗(yàn)6 信號(hào)處理與分析31實(shí)驗(yàn)7 vi程序的創(chuàng)建與結(jié)構(gòu)控制36實(shí)驗(yàn)8 labview網(wǎng)絡(luò)程序設(shè)計(jì)41實(shí)驗(yàn)9 labview串口數(shù)據(jù)采集實(shí)驗(yàn)46實(shí)驗(yàn)10 基于聲卡的數(shù)據(jù)采集系統(tǒng)50實(shí)驗(yàn)1 labview入門1 實(shí)驗(yàn)?zāi)康?(1)初步學(xué)會(huì)使用labview; (2)掌握創(chuàng)建自己的vi。2 實(shí)驗(yàn)任務(wù)(1) 建立一個(gè)測(cè)量溫度和容積的vi;(2) 為 vi創(chuàng)建圖標(biāo)和聯(lián)接器;(3) 使用labview圖表模式。3 實(shí)
2、驗(yàn)步驟練習(xí):建立一個(gè)測(cè)量溫度和容積的vi,其中須調(diào)用一個(gè)仿真測(cè)量溫度和容積的傳感器子vi。步驟如下: 選擇 filenew,打開一個(gè)新的前面板窗口。 從 controlsnumeric 中選擇 tank放到前面板中。 在標(biāo)簽文本框中輸入“容積” ,然后在前面板中的其他任何位置單擊一下。 把容器顯示對(duì)象的顯示范圍設(shè)置為0.0到1000.0。a. 使用文本編輯工具(text edit tool),雙擊容器坐標(biāo)的10.0 標(biāo)度,使它高亮顯示。b. 在坐標(biāo)中輸入 1000,再在前面板中的其他任何地方單擊一下。 這時(shí)0.0到1000.0之間的增量將被自動(dòng)顯示。 在容器旁配數(shù)據(jù)顯示。將鼠標(biāo)移到容器上,點(diǎn)右
3、鍵,在出現(xiàn)的快速菜單中選visible itermsdigital display即可。從controlsnumeric 中選擇一個(gè)溫度計(jì),將它放到前面板中。設(shè)置其標(biāo)簽為“溫度”,顯示范圍為0到100,同時(shí)配數(shù)字顯示。可得到如下的前面板圖。圖1練習(xí)的前面板圖 windowsshow diagram 打開流程圖窗口。從功能模板中選擇對(duì)象,將它們放到流程圖上組成下圖(其中的標(biāo)注是后加的)。隨機(jī)數(shù)發(fā)生器乘法函數(shù)數(shù)值常數(shù)進(jìn)程監(jiān)視器圖2練習(xí)的流程圖該流程圖中新增的對(duì)象有兩個(gè)乘法器、兩個(gè)數(shù)值常數(shù)、一個(gè)隨機(jī)數(shù)發(fā)生器、一個(gè)進(jìn)程監(jiān)視器,溫度和容積對(duì)象是由前棉板的設(shè)置自動(dòng)帶出來的。a. 乘法器和隨機(jī)數(shù)發(fā)生器由fu
4、nctionsnumeric中拖出,盡管數(shù)值常數(shù)也可以這樣得到,但是建議使用c 中的方法更好些。b. 進(jìn)程監(jiān)視器(process monitor)不是一個(gè)函數(shù),而是以子vi的方式提供的,它存放在labviewactivity目錄中,調(diào)用它的方法是在functionsselect a vi下打開process monitor,然后在流程圖上點(diǎn)擊一下,就可以出現(xiàn)它的圖標(biāo)。注意:labview目錄一般在program filesnational instruments目錄下。用連線工具將各對(duì)象按規(guī)定連接。a中的遺留問題創(chuàng)建數(shù)值常數(shù)對(duì)象的另一種方法是在連線時(shí)一起完成。具體方法是:用連線工具在某個(gè)功能函
5、數(shù)或vi的連線端子上單擊鼠標(biāo)右鍵,再?gòu)膹棾龅牟藛沃羞x擇 create constant,就可以創(chuàng)建一個(gè)具有正確的數(shù)據(jù)格式的數(shù)值常數(shù)對(duì)象。選擇 filesave, 把該vi 保存為 labviewactivity 目錄中的 temp & vol.vi。在前面板中,單擊run(運(yùn)行)按鈕,運(yùn)行該 vi。注意電壓和溫度的數(shù)值都顯示在前面板中。選擇fileclose,關(guān)閉該 vi 。練習(xí) - 結(jié)束練習(xí) -為 vi創(chuàng)建圖標(biāo)和聯(lián)接器 打開 labviewactivity 目錄中的temp & vol.vi,這是練習(xí)做的程序。在前面板中,用鼠標(biāo)右鍵單擊窗口右上角的圖標(biāo),在快捷菜單中選擇 edit icon.
6、,也可以雙擊圖標(biāo)激活圖標(biāo)編輯器。注意只能在前面板中編輯圖標(biāo)和聯(lián)接器。刪除默認(rèn)圖標(biāo)。使用select tool(矩形框),單擊并拖動(dòng)想要?jiǎng)h除的部分,按下。也可以通過雙擊工具框中的陰影矩形刪除圖標(biāo)。用 pencil tool (鉛筆工具)繪制一個(gè)溫度計(jì)。用 text tool(文本工具)創(chuàng)建文本。得到圖標(biāo)將如下圖所示。圖3編輯后的圖標(biāo)編輯器窗口單擊ok,關(guān)閉編輯器。新創(chuàng)建的圖標(biāo)就顯示在屏幕右上角的圖標(biāo)窗口中。用鼠標(biāo)右鍵單擊前面板中的圖標(biāo)窗口,在快捷菜單中選擇show connector,設(shè)置聯(lián)接器端子連接模式。在默認(rèn)情況下,labview 會(huì)根據(jù)前面板中的控制對(duì)象和顯示對(duì)象的數(shù)目確定聯(lián)接器的端子連
7、接模式。因?yàn)榍懊姘逯杏袃蓚€(gè)對(duì)象,所以聯(lián)接器有兩個(gè)端子,如左圖所示。用鼠標(biāo)右鍵單擊聯(lián)接器窗口,在快捷菜單中選擇rotate 90 degrees(旋轉(zhuǎn)90度),注意聯(lián)接器窗口的變化,如左圖所示。8將端子連接到溫度計(jì)和電壓計(jì): a. 點(diǎn)擊聯(lián)接器上部端子。光標(biāo)自動(dòng)變成連線工具,同時(shí)端子變成黑色。b. 單擊溫度顯示對(duì)象。一個(gè)移動(dòng)的虛線框把它包圍起來,選中的端子的顏色變?yōu)榕c控制/顯示對(duì)象的數(shù)據(jù)類型一致的顏色。如果單擊前面板中的任何空白區(qū)域以后,虛線消失,選中的端子變暗,這表示您已經(jīng)成功地把顯示對(duì)象和上部端子連接起來。如果端子是白色,則表示沒有連接成功。c. 重復(fù)步驟a 和 b,把底部的端子和容積計(jì)連接起
8、來。d. 用鼠標(biāo)右鍵單擊聯(lián)接器,在快捷菜單中選擇show icon.9選擇filesave ,保存該 vi。這樣這個(gè) vi 就完成了,并也可以作為子 vi 被其他的vi調(diào)用。子vi 的圖標(biāo)在主 vi 的流程圖中代表它。vi 的聯(lián)接器(含有兩個(gè)端子)輸出溫度和容積。練習(xí) - 結(jié)束練習(xí) 1-3 使用三種圖表模式 目的:查看 vi 分別在三種模式下執(zhí)行時(shí)圖表的顯示。1建立前面板及流程圖如下 該程序中利用一個(gè)循環(huán)產(chǎn)生連續(xù)的sin(i)函數(shù)值,并及時(shí)地在chart圖表上顯示出來,現(xiàn)在前面板上的chart是一個(gè)strip,這是一個(gè)坐標(biāo)式顯示器,與紙帶式圖表記錄器相似。每接受一個(gè)新數(shù)據(jù),新數(shù)據(jù)就將顯示在右側(cè)
9、,而原有數(shù)據(jù)移動(dòng)到左側(cè)圖4圖表的例子2用鼠標(biāo)選中chart,點(diǎn)擊右鍵,可在快速菜單中選擇advancedupdate mode子菜單。可以選擇更換其他兩種更新模式。示波器模式是一個(gè)返回式的顯示器,與示波器類似。每接受一個(gè)新數(shù)據(jù)時(shí),它就把新數(shù)據(jù)繪制在原有數(shù)據(jù)的右側(cè)。當(dāng)數(shù)據(jù)曲線到達(dá)顯示區(qū)的右邊緣時(shí),vi 會(huì)刪除全部圖形,從左邊緣重新開始繪制曲線。示波器模式顯然要快于條狀圖模式,因?yàn)樗粫?huì)因?yàn)闈L動(dòng)產(chǎn)生溢出。 掃描模式更接近于示波器模式,但是當(dāng)數(shù)據(jù)曲線到達(dá)顯示區(qū)的右邊時(shí),不會(huì)變成空白,而是會(huì)出現(xiàn)一個(gè)移動(dòng)的垂線,標(biāo)記新數(shù)據(jù)的開始,并當(dāng)vi添加新數(shù)據(jù)時(shí)穿過整個(gè)顯示區(qū)。練習(xí) 1-3 結(jié)束。4 實(shí)驗(yàn)報(bào)告 寫出
10、以上三個(gè)練習(xí)的中的步驟要點(diǎn),附上運(yùn)行時(shí)的前后面版圖形。實(shí)驗(yàn)2 程序結(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í)使用
11、while循環(huán)和圖表 目的:用 while 循環(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)。操作步驟如下: 前面板圖1練習(xí)的前面板 選擇filenew,打開一個(gè)新的前面板。 選擇controlsboolean,在前面板中放置一個(gè)開關(guān)。設(shè)置開關(guān)的標(biāo)簽為控制開關(guān)。 使用標(biāo)簽工具創(chuàng)建 on 和 off 的標(biāo)簽,放置于開關(guān)旁。 選中controlsgraph,在前面板中放置一個(gè)波形圖(是chart,而不是graph)。設(shè)置它的
12、標(biāo)簽為隨機(jī)信號(hào)。這個(gè)圖表用于實(shí)時(shí)顯示隨機(jī)數(shù)。 把圖表的縱坐標(biāo)改為0.0 到 1.0。方法是用標(biāo)簽工具把最大值從10.0改為1.0。 選擇controlsnumeric,在前面板中放置一個(gè)旋鈕。設(shè)置旋鈕的標(biāo)簽為循環(huán)延時(shí)。這個(gè)旋鈕用于控制while 循環(huán)的循環(huán)時(shí)間。流程圖 開流程圖,按照下圖創(chuàng)建流程圖。圖練習(xí)的流程圖a) 從 functionsstructures 中選擇 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 until next ms mul
13、tiple函數(shù) (functionstime & dialog),該函數(shù)的時(shí)間單位是毫秒,按目前面板旋鈕的標(biāo)度,可將每次執(zhí)行時(shí)間延遲0到10毫秒。d) 照上面所示的流程圖連線,把隨機(jī)數(shù)功能函數(shù)和隨機(jī)信號(hào)圖表輸入端子連接起來,并把啟動(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),框圖程序就會(huì)一直產(chǎn)生隨機(jī)數(shù),并將其在圖表中顯示。 單
14、擊垂直開關(guān),中止該vi。關(guān)閉開關(guān)這個(gè)動(dòng)作會(huì)給循環(huán)條件端子發(fā)送一個(gè)false值,從而中止循環(huán)。 用鼠標(biāo)右鍵單擊圖表,選擇data operationsclear chart,清除顯示緩存,重新設(shè)置圖表。練習(xí)結(jié)束附注與說明布爾開關(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 action of booleans.vi。練習(xí) 使用移位寄存器 目的:創(chuàng)
15、建一個(gè)可以在圖表中顯示運(yùn)行平均數(shù)的vi。前面板1. 打開一個(gè)新的前面板,按照下圖所示創(chuàng)建對(duì)象。2. 把波形圖表的坐標(biāo)范圍改為0.0到2.0。3. 在添加豎直坐標(biāo)之后,用鼠標(biāo)右鍵單擊它,在快捷菜單中選擇mechanical actionlatch when pressed,再選擇operatemake current values default,把on狀態(tài)設(shè)置為默認(rèn)狀態(tài)。 圖3練習(xí)的前面板1. 按下圖創(chuàng)建流程圖。 圖練習(xí)的流程圖2. 在流程圖中添加 while 循環(huán)(functionsstructures),創(chuàng)建移位寄存器。a. 用鼠標(biāo)右鍵單擊while循環(huán)的左邊或者右邊,在快捷菜單中選擇ad
16、d shift register。b. 用鼠標(biāo)右鍵單擊寄存器的左端子,在快捷菜單中選擇add element,添加一個(gè)寄存器。用同樣的方法創(chuàng)建第三個(gè)元素。3. random number (01)函數(shù)(functionsnumeric)產(chǎn)生0到1之間的某個(gè)隨機(jī)數(shù)。4. compound arithmetic 函數(shù)(functionsnumeric)在本練習(xí)中,它將返回兩個(gè)周期產(chǎn)生的隨機(jī)數(shù)的和。如果要加入其他的輸入,只需用右鍵單擊某個(gè)輸入,從快捷菜單中選擇add input。5. 除法函數(shù)(functionsnumeric)在本練習(xí)中,它用于返回最近四個(gè)隨機(jī)數(shù)的平均值。6. 數(shù)值常數(shù)(funct
17、ionsnumeric)在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ù) (functionstime & dialog)它將確保循環(huán)的每個(gè)周期不會(huì)比毫秒輸入快。在本練習(xí)中,毫秒輸入的值是500毫秒。如果用鼠標(biāo)右鍵單擊圖標(biāo),從快捷菜單中選擇visiblelabel,就可以看到wait until next
18、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ù)作為移位寄存器的初始值。如果沒有設(shè)置移位寄存器端子的初始值,它就含有一個(gè)默認(rèn)的數(shù)值,或者上次運(yùn)行結(jié)束時(shí)的數(shù)值,因此開始得到的平均數(shù)沒有任何意義。10. 執(zhí)行該 vi,觀察過程。11. 把該 vi 保存為labviewactivity目錄下的rando
19、m average.vi。練習(xí) 結(jié)束。附注:移位寄存器的初值:上面的練習(xí)中對(duì)移位寄存器設(shè)置了初值0.5。如果不設(shè)這個(gè)初值,默認(rèn)的初值是。在這個(gè)例子中,一開始的計(jì)算結(jié)果是不對(duì)的,只有到循環(huán)完次后移位寄存器中的過去值才填滿,即第次循環(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è)置它的標(biāo)簽為“最大值”。b.將一個(gè)波形圖表放在前面板,設(shè)置它的標(biāo)簽為“隨機(jī)數(shù)”。將圖表的縱坐標(biāo)范圍改為0.0到1.0。c.在圖表的快捷菜單中選擇visible itemsscrollba
20、r和digital display,并隱藏plot legend。d.用移位工具修改滾動(dòng)欄的大小。圖5練習(xí)3的面板和流程圖按照上圖畫流程圖。在流程圖中放置一個(gè)for循環(huán)(functionsstructures)。在for循環(huán)的邊框處單擊鼠標(biāo)右鍵,在快捷菜單中選擇add shift register。將下列對(duì)象添加到流程圖。 random number (01)函數(shù)(functionsnumeric)產(chǎn)生0到1之間的某個(gè)隨機(jī)數(shù)。 數(shù)值常數(shù)(functionsnumeric)在這個(gè)練習(xí)中需要將移位寄存器的初始值設(shè)成0。 max&min函數(shù)(functionscomparison)輸入兩個(gè)數(shù)值,再將
21、它們的最大值輸出到右上角,最小值輸出到右下角。這里只需要最大值,只用連接最大值輸出。 數(shù)值常數(shù)(functionsnumeric)for循環(huán)需要知道需要執(zhí)行的次數(shù)。本練習(xí)中是100次。按照上圖連接各個(gè)端子。運(yùn)行該vi。將該vi保存為labviewactivity 目錄下的calculate max.vi。練習(xí) 2-3 結(jié)束。練習(xí) - 使用 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í)的面板和
22、流程圖3. 從functionsstructures中選擇一個(gè) case結(jié)構(gòu),并放置在在流程圖中。case 結(jié)構(gòu)是一個(gè)可以改變大小的方框。先來做ture的情況,照流程圖上半部分構(gòu)造。a greater or equal to 0? 函數(shù)(functionscomparison)如果輸入數(shù)值大于或者等于0就會(huì)返回一個(gè)true值。b square root 函數(shù)(functionsnumeric)返回輸入數(shù)值的平方根。c 連好線d 點(diǎn)擊case框的選擇按鈕,轉(zhuǎn)入false情況編程e 數(shù)值常數(shù)(functionsnumeric)這里用于顯示錯(cuò)誤的代數(shù)值-999.00。f one button dia
23、log函數(shù)(functionstime & dialog)在這里它用于顯示一個(gè)對(duì)話框,內(nèi)容是error.。 g 字符串常數(shù) (functionsstring)用edit text tools在對(duì)話框中輸入字符串。h 該vi在true或者false情況下都會(huì)執(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è)置
24、的出錯(cuò)信息。5. 保存該 vi 到labviewactivity 目錄中的square root.vi。練習(xí) - 結(jié)束。練習(xí) - 使用順序結(jié)構(gòu) 目的:創(chuàng)建一個(gè) vi,計(jì)算生成等于某個(gè)給定值的隨機(jī)數(shù)所需要的時(shí)間。前面板1. 打開一個(gè)新的前面板,并按照下圖所示創(chuàng)建對(duì)象。圖練習(xí)的前面板我們約定數(shù)據(jù)是到100范圍的整數(shù)。當(dāng)前值用于顯示當(dāng)前產(chǎn)生的隨機(jī)數(shù)。“執(zhí)行次數(shù)”用于顯示達(dá)到指定值循環(huán)執(zhí)行的次數(shù)。匹配時(shí)間用來顯示達(dá)到指定值所用的時(shí)間。流程圖圖7練習(xí)的流程圖(共幀)i. 在流程圖中放置順序結(jié)構(gòu)(functionsstructures)。ii. 用鼠標(biāo)右鍵單擊幀的邊框,在快捷菜單中選擇add frame
25、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)右鍵單擊第0幀的底部邊框,選擇add sequence local,創(chuàng)建順序局部變量。順序局部變量顯示為一個(gè)空的方塊。當(dāng)您將某個(gè)功能函數(shù)與順序局部變量相連時(shí),方塊中的箭頭就會(huì)自動(dòng)顯示。v. tick count (ms) 函數(shù)(functionstime & dialog)返回啟動(dòng)到現(xiàn)在的時(shí)間(以毫秒為單位)。在這里例子里需要使用兩個(gè)這個(gè)函數(shù)。另一個(gè)在第幀中
26、。vi. 按圖連好線。轉(zhuǎn)入第幀。該幀是匹配計(jì)算,內(nèi)含一個(gè)循環(huán)結(jié)構(gòu)。該圖中使用的新函數(shù)有:round to nearest函數(shù)(functionsnumeric)在該例中,它用于取0到100之間的隨機(jī)數(shù)到距離最近的整數(shù)。not equal?函數(shù)(functions comparison)在該例中,它將隨機(jī)數(shù)和前面板中設(shè)置的數(shù)相比較,如果兩者不相等會(huì)返回true值,否則返回false。increment函數(shù)(functionsnumeric)在該例中,它將while循環(huán)的計(jì)數(shù)器加1。vii. 按圖連好線。轉(zhuǎn)入第幀在第0幀中,tick count (ms)功能函數(shù)將以毫秒為單位表示當(dāng)前時(shí)間。這個(gè)數(shù)值
27、被連到順序局部變量,這樣它就可以被后續(xù)的幀使用。在第1幀中,只要函數(shù)返回的值與指定值不等,vi就會(huì)持續(xù)執(zhí)行while循環(huán)。在第2幀中,tick count (ms)功能函數(shù)以毫秒為單位返回新的時(shí)間。vi從中減去原來的時(shí)間(由第0幀通過順序局部變量提供)就可以計(jì)算出花費(fèi)的時(shí)間。viii. 返回前面板,在number to match控制對(duì)象中輸入一個(gè)數(shù)值,執(zhí)行該vi。ix. 把該vi保存為labviewactivity 目錄下time to match.vi。練習(xí) 2-5 結(jié)束。練習(xí) 2-6 使用公式節(jié)點(diǎn) 目的:創(chuàng)建一個(gè)vi,它用公式節(jié)點(diǎn)計(jì)算下列等式:y1 = x 3 x 2 + 5y2 = m
28、* x + bx的范圍是從0到10。可以對(duì)這兩個(gè)公式使用同一個(gè)公式節(jié)點(diǎn),并在同一個(gè)圖表中顯示結(jié)果。前面板圖9練習(xí)的面板 打開一個(gè)新的前面板,按照上圖(該圖中包含運(yùn)行結(jié)果)創(chuàng)建前面板中的對(duì)象。波形圖顯示對(duì)象用于顯示等式的圖形。該 vi使用兩個(gè)數(shù)字式控制對(duì)象來輸入m和b的值。流程圖 按照下圖創(chuàng)建流程圖。圖9練習(xí)的流程圖在創(chuàng)建某個(gè)輸入或者輸出端子時(shí),必須給它指定一個(gè)變量名。這個(gè)變量名必須與公式節(jié)點(diǎn)中使用的變量名完全相符。公式節(jié)點(diǎn)中,在邊框上單擊鼠標(biāo)右鍵,在快捷菜單中選擇add input,可以創(chuàng)建三個(gè)輸入端子。在快捷菜單中選擇add output,創(chuàng)建輸出端子。x的范圍是從0到10(包括10),就必
29、須連接11到計(jì)數(shù)端子。build array (functionsarray)在這個(gè)例子中,它用于將兩個(gè)數(shù)據(jù)構(gòu)成數(shù)組形式提供給一個(gè)多曲線的圖形中。通過用變形工具拖拉邊角就可以創(chuàng)建兩個(gè)輸入端子。 返回前面板,嘗試給m和b賦以不同的值再執(zhí)行該 vi。 把該vi保存為 labview/activity 目錄下的equations.vi。練習(xí) 2-6 結(jié)束。4 實(shí)驗(yàn)報(bào)告 寫出以上6個(gè)練習(xí)的中的步驟要點(diǎn),附上運(yùn)行時(shí)的前后面版圖形。實(shí)驗(yàn)3 數(shù)據(jù)類型:數(shù)組、簇1 實(shí)驗(yàn)?zāi)康?(1)學(xué)會(huì)使用labview中的索引數(shù)組; (2)學(xué)會(huì)使用labview中的簇;2 實(shí)驗(yàn)任務(wù) (1)建立一個(gè)能數(shù)組索引的vi; (2)建
30、立一個(gè)使用的vi;3 實(shí)驗(yàn)步驟練習(xí) 創(chuàng)建一個(gè)自動(dòng)索引的數(shù)組目的:使用 for 循環(huán)的自動(dòng)索引功能創(chuàng)建數(shù)組,并用一個(gè)圖形(graph)顯示該數(shù)組。 圖1練習(xí)的面板 前面板:1.打開一個(gè)新的前面板。2.選擇controlsarray & cluster,在前面板中放置一個(gè)數(shù)組。設(shè)置它的標(biāo)簽為waveform array。3.選擇controlsnumeric,在數(shù)組框中插入一個(gè)數(shù)字式顯示對(duì)象。如右圖所示。它用于顯示數(shù)組的內(nèi)容。4.選擇controlsgraph,在前面板中放置一個(gè)波形圖。設(shè)置它的標(biāo)簽為waveform graph。5.隱藏圖例和模板。6.用鼠標(biāo)右鍵單擊圖形,并在快捷菜單中取消選中
31、y scaleautoscale y,禁止自動(dòng)坐標(biāo)功能。7.使用文本工具,把y軸的范圍改為-0.5到1.5。流程圖1. 按照下圖創(chuàng)建流程圖。圖練習(xí)的流程圖2. 由functionsselect a vi尋找labviewactivity目錄下的generate waveform vi ,它的作用是返回波形中的某一點(diǎn)。這個(gè)vi需要輸入一個(gè)索引,我們將循環(huán)周期連接到這個(gè)輸入。3. 注意generate waveform vi連出來的連線在循環(huán)邊界變成一個(gè)數(shù)組時(shí)會(huì)變粗,正是在這個(gè)邊界處形成了一維數(shù)組。4. for循環(huán)會(huì)自動(dòng)累計(jì)邊界內(nèi)的數(shù)組。這種功能叫做自動(dòng)索引。在這個(gè)例子中,連接到循環(huán)計(jì)數(shù)輸入的數(shù)值
32、常數(shù)令for循環(huán)創(chuàng)建了一個(gè)由100個(gè)元素組成的數(shù)組。5. bundle函數(shù)( functions cluster)將圖塊中的各個(gè)組件組合成一個(gè)簇,在正確連接以前需要改變?cè)摵瘮?shù)的圖標(biāo)的大小。將移位工具放在圖標(biāo)的左下角。變形工具會(huì)變成如左圖所示,拖曳鼠標(biāo)直到出現(xiàn)第三個(gè)輸入端子。6. 數(shù)值常數(shù)( functionsnumeric)三個(gè)數(shù)值常數(shù)用于設(shè)置for循環(huán)執(zhí)行的周期數(shù)n=100,初始x=0和delta x=1。7. 從前面板執(zhí)行該vi。該vi將把自動(dòng)索引后的波形圖數(shù)組顯示在波形圖中。8. 把 x的delta值改為0.5,x的初始值改為20。再次執(zhí)行該vi。注意,波形圖現(xiàn)在同樣顯示100個(gè)點(diǎn),而每
33、個(gè)點(diǎn)的初始值為20,x的delta值為0.5(見x軸)。9. 只需在顯示器中輸入元素的索引號(hào)就可以查看波形數(shù)組中的任何元素。如果輸入的數(shù)比數(shù)組的元素個(gè)數(shù)大,那么顯示器將變暗,表示您沒有為該元素設(shè)置索引。如果需要一次查看多個(gè)元素,可以通過改變數(shù)組顯示對(duì)象的大小來實(shí)現(xiàn)。 把定位工具放置在數(shù)組框的右下角。工具將變成右圖所示的變形工具。當(dāng)工具變形時(shí),用鼠標(biāo)拖曳數(shù)組的右邊或者下邊。數(shù)組現(xiàn)在就可以按照元素索引的上升順序顯示多個(gè)素,以某個(gè)與指定索引對(duì)應(yīng)的元素開始,如下圖所示。圖練習(xí)中多個(gè)數(shù)組元素的同時(shí)觀察在前面的流程圖中,您為波形圖指定了初始的x值和delta x值。默認(rèn)的x初始值是0,delta x 值是
34、1。這樣,也可以把波形數(shù)組直接連接到波形圖端子, 而無需指定初始的x值和delta x值,如圖所示。 圖練習(xí)使用默認(rèn)x及delta x時(shí)簡(jiǎn)化后的流程圖10 按上圖刪除 bundle功能函數(shù)和它所連接的常數(shù)對(duì)象。方法是用移位工具選擇該功能函數(shù)和連接的常數(shù)對(duì)象,按下。再選擇editremove bad wires。按照上圖完成流程圖的連線。11 執(zhí)行該vi。注意初始的x值是,delta x值是1。 多圖區(qū)圖形可以創(chuàng)建含有多條曲線的圖形,方法是創(chuàng)建一個(gè)數(shù)組,用它來匯集傳給單圖區(qū)圖形的類型的數(shù)據(jù)元素。圖練習(xí)多圖區(qū)圖形的流程圖12 按照上圖創(chuàng)建流程圖。* 正弦函數(shù)(functionsnumerictri
35、gonometric)在這里,它用于在for循環(huán)中創(chuàng)建一個(gè)由數(shù)據(jù)點(diǎn)組成的數(shù)組,表示一個(gè)正弦波周期。* pi常數(shù)(functionsnumericadditional numeric constants)* build array (functionsarray)在這里,它用于創(chuàng)建合適的數(shù)據(jù)結(jié)構(gòu)(一個(gè)二維數(shù)組),在波形圖中繪制兩條曲線。用移位工具拖曳邊角可以增大該函數(shù)的面積,創(chuàng)建兩個(gè)輸入端子。13 返回前面板,執(zhí)行該 vi。注意同一個(gè)波形中的兩個(gè)圖區(qū)。默認(rèn)情況下,它們的x初始值都是0,delta x初始值都是1。下圖是該程序的運(yùn)行結(jié)果(前面板未改動(dòng))。14 把該vi保存為labviewactiv
36、ity 目錄中的graph waveform arrays.vi。15 可以修改圖形中的某個(gè)圖區(qū)的外觀。方法是,用鼠標(biāo)右鍵單擊這個(gè)圖形,再?gòu)膹棾霾藛芜x擇對(duì)應(yīng)的圖例。圖練習(xí)多圖區(qū)圖形的面板顯示練習(xí) 結(jié)束。練習(xí) 對(duì)輸入數(shù)組使用自動(dòng)索引功能目的:打開并執(zhí)行一個(gè)vi,它將在一個(gè)for循環(huán)中使用自動(dòng)索引功能處理一個(gè)數(shù)組。1.選擇fileopen,打開examplesgeneralarrays.llb中的separate array values vi 。2.打開流程圖。下面的示意圖顯示的是在true和false時(shí)的情況。圖練習(xí)的流程圖注意,input array引出的連線與for循環(huán)外的粗線不同,表示這
37、是一個(gè)數(shù)組,而循環(huán)內(nèi)部的細(xì)線則表示這是一個(gè)數(shù)組元素。 數(shù)組元素在每個(gè)循環(huán)期間將自動(dòng)編號(hào)。3. 用自動(dòng)索引功能設(shè)置 for 循環(huán)的計(jì)數(shù)器 注意,計(jì)數(shù)器端子還沒有連線。當(dāng)您對(duì)某個(gè)進(jìn)入for循環(huán)的數(shù)組使用自動(dòng)索引功能時(shí),循環(huán)就將根據(jù)數(shù)組的大小執(zhí)行相應(yīng)的次數(shù),這樣就無需連接某個(gè)值到計(jì)數(shù)器的端口。如果對(duì)一個(gè)以上的數(shù)組使用自動(dòng)索引功能,或者在使用自動(dòng)索引功能之外還需要設(shè)置計(jì)數(shù)器時(shí),實(shí)際的循環(huán)次數(shù)將是其中最小的數(shù)。4.執(zhí)行該vi。在輸入的八個(gè)數(shù)中,可以看到4個(gè)屬于正數(shù)數(shù)組,另外4個(gè)屬于負(fù)數(shù)數(shù)組。5.從流程圖中將一個(gè)值為5的常數(shù)對(duì)象連接到for 循環(huán)的計(jì)數(shù)器端子。執(zhí)行該 vi。可以看到盡管輸入數(shù)組仍然有八個(gè)元
38、素,但是3個(gè)位于正數(shù)數(shù)組,另外2個(gè)位于負(fù)數(shù)數(shù)組。這說明,如果設(shè)置了n并開啟了自動(dòng)索引功能,那么實(shí)際循環(huán)的次數(shù)將取較小的數(shù)。6.關(guān)閉該vi,不要保存任何修改。注:練習(xí) 的算法說明下面是一段偽代碼,解釋上面的算法,假定輸入數(shù)組為a(已賦值),b(正數(shù))、c(負(fù)數(shù))。sbr 、scr分別是與b數(shù)組、c數(shù)組對(duì)應(yīng)的右寄存器數(shù)組,sbl 、scl分別是與b數(shù)組、c數(shù)組對(duì)應(yīng)的左寄存器數(shù)組,size運(yùn)算為測(cè)數(shù)組實(shí)際大小,ins運(yùn)算為將一個(gè)數(shù)插入數(shù)組中最左邊的空位。b=0初始化c=0k=size(a(.)測(cè)a數(shù)組大小for i=0 to k-1 p=a(i)取第i個(gè)元素值 if p=0 then ins p,s
39、br將p值插入右寄存器 else ins p,scr end if sbl=sbr右寄存器值送給左寄存器 scl=scrnext ib=sbr右寄存器值送到正數(shù)組c=scrprint b顯示print cend練習(xí) 結(jié)束。練習(xí) 使用創(chuàng)建數(shù)組功能函數(shù)目的:使用創(chuàng)建數(shù)組函數(shù),把一些元素和輸出組織成一個(gè)更大的數(shù)組。圖練習(xí)的面板和框圖 1.按照?qǐng)D創(chuàng)建一個(gè)前面板。2.從controlsnumeric模板中選擇一個(gè)數(shù)字控制對(duì)象放置在前面板中,設(shè)置它的標(biāo)簽為scalar 1。3.復(fù)制并粘貼該數(shù)字顯示對(duì)象,創(chuàng)建兩個(gè)新的對(duì)象,并分別設(shè)置它們的標(biāo)簽為scalar 2和scalar 3。4.創(chuàng)建一個(gè)數(shù)字控制對(duì)象的數(shù)
40、組,設(shè)置它的標(biāo)簽為array 1。復(fù)制并粘貼它,創(chuàng)建一個(gè)新的數(shù)組,設(shè)置它的標(biāo)簽為array 2。5.在array 1、scalar 1、 scalar 2、scalar 3、array 2中輸入數(shù)值1到9。6.創(chuàng)建流程圖。選擇functionsarray,在流程圖中放置一個(gè)build array功能函數(shù)。用定位工具增大函數(shù)額面積,以容納5個(gè)輸入。7.把數(shù)組和標(biāo)量與build array連接起來。創(chuàng)建輸出的一維數(shù)組,它由 array 1、scalar 1、 scalar 2、array 2、scalar 3中的元素所組成,如圖所示。8.執(zhí)行該vi。可以看到array 1、scalar 1、 sc
41、alar 2、scalar 3、array 2中的數(shù)值出現(xiàn)在同一個(gè)一維數(shù)組中。9.保存該vi為labviewactivity目錄下的build array.vi。練習(xí) 結(jié)束。練習(xí) 簇目的:學(xué)習(xí)創(chuàng)建簇、分解簇,再捆綁簇并且在另一個(gè)簇中顯示其內(nèi)容。圖練習(xí)的面板和框圖打開前面板,創(chuàng)建一個(gè)簇殼(array & cluster palette),標(biāo)簽改為input cluster,拖曳至適當(dāng)大小。在這個(gè)簇殼中放置一個(gè)數(shù)字control,兩個(gè)布爾開關(guān),和一個(gè)串control。仿照以上步驟,創(chuàng)建output cluster如上。注意將各control改為相應(yīng)的indicator。用快速菜單查看兩個(gè)簇的序是否
42、一致,若有差別,改之。在前面板上設(shè)置一個(gè)stop按鈕。注意其缺省值為false,不要改變它的狀態(tài)。建立如上面所示的流程圖。注意在stop按鈕與循環(huán)條件端子之間接入了一個(gè)not函數(shù),因?yàn)榘粹o缺省值為false,經(jīng)not函數(shù)后變?yōu)閠rue,這就意味著當(dāng)按鈕狀態(tài)不變時(shí),循環(huán)繼續(xù)執(zhí)行,相反一旦按鈕動(dòng)作,則循環(huán)終止。返回前面板并運(yùn)行vi。在輸入簇中輸入不同的值觀察輸出。關(guān)閉并保存程序。cluster exercise.vi練習(xí) 結(jié)束4 實(shí)驗(yàn)報(bào)告 寫出以上4個(gè)練習(xí)的中的步驟要點(diǎn),附上運(yùn)行時(shí)的前后面版圖形。實(shí)驗(yàn)4 圖形顯示1 實(shí)驗(yàn)?zāi)康?(1)掌握chart和graph的特征; (2)學(xué)會(huì)利用xy graph
43、構(gòu)成利薩育圖形。2 實(shí)驗(yàn)任務(wù) 建立一個(gè)利薩育圖形的vi。3 實(shí)驗(yàn)步驟練習(xí) chart和graph的比較目的:創(chuàng)建一個(gè)vi,用chart和graph分別顯示40個(gè)隨機(jī)數(shù)產(chǎn)生的曲線,比較程序的差別。前面板及流程圖如下圖1 chart和graph的比較顯示的運(yùn)行結(jié)果是一樣的。但實(shí)現(xiàn)方法和過程不同。在流程圖中可以看出,chart產(chǎn)生在循環(huán)內(nèi),每得到一個(gè)數(shù)據(jù)點(diǎn),就立刻顯示一個(gè)。而graph在循環(huán)之外,40個(gè)數(shù)都產(chǎn)生之后,跳出循環(huán),然后一次顯示出整個(gè)數(shù)據(jù)曲線。從運(yùn)行過程可以清楚地看到這一點(diǎn)。值得注意的還有for循環(huán)執(zhí)行40次,產(chǎn)生的40個(gè)數(shù)據(jù)存儲(chǔ)在一個(gè)數(shù)組中,這個(gè)數(shù)組創(chuàng)建于for循環(huán)的邊界上(使用自動(dòng)索引
44、功能)。在for循環(huán)結(jié)束之后,該數(shù)組就將被傳送到外面的graph。仔細(xì)看流程圖,穿過循環(huán)邊界的連線在內(nèi)、外兩側(cè)粗細(xì)不同,內(nèi)側(cè)表示浮點(diǎn)數(shù),外側(cè)表示數(shù)組。練習(xí) 結(jié)束xy圖形控件(xy graph)波形圖(waveform graph)有一個(gè)特征,其x是測(cè)量點(diǎn)序號(hào)、時(shí)間間隔等,y是測(cè)量數(shù)據(jù)值。但是它并不適合描述一般的y值隨x值變化曲線。適合于這種情況的控件是xy graph。我們通過一個(gè)構(gòu)成利薩育圖形的例子來看一下它的使用。我們知道如果控制xy方向的兩個(gè)數(shù)組分別按正弦規(guī)律變化(假設(shè)其幅值、頻率都相同),如果它們的相位相同,則利薩育圖形是一條45度的斜線,當(dāng)它們之間相位差90度時(shí)為圓,其他相位差是橢圓
45、。練習(xí)利用xy graph構(gòu)成利薩育圖形。 圖2利用xy graph構(gòu)成利薩育圖形面板和框圖如圖所示。面板上除了一個(gè)xy graph外,還有一個(gè)相位差輸入控件。在框圖中使用了兩個(gè)sine waveform.vi,第一個(gè)所有輸入?yún)?shù)(包括頻率、幅值、相位等)都使用缺省值,所以其初始相位為。第二個(gè)將其初始相位作為一個(gè)控件引到面板上。它們的輸出是包括t0、dt和y值的簇,但是對(duì)于xy graph只需要其中的y數(shù)組,因此使用波形函數(shù)中的get waveform components函數(shù)分別提取出各自的y數(shù)組,然后再將他們捆綁在一起,連接到xy graph就可以了。當(dāng)相位置為45度時(shí),運(yùn)行程序,得到如圖
46、所示的橢圓。練習(xí) 結(jié)束4 實(shí)驗(yàn)報(bào)告 寫出以上2個(gè)練習(xí)的中的步驟要點(diǎn),附上運(yùn)行時(shí)的前后面版圖形。實(shí)驗(yàn)5 字符串和文件i/o1 實(shí)驗(yàn)?zāi)康?(1)學(xué)會(huì)使用labview中的字符串; (2)學(xué)會(huì)使用labview中的文件存儲(chǔ)、讀取。2 實(shí)驗(yàn)任務(wù) (1)建立一個(gè)使用字符串的vi; (2)建立一個(gè)使用的文件存儲(chǔ)、讀取vi;3 實(shí)驗(yàn)步驟練習(xí) 5組合字符串目的:使用一些字符串功能函數(shù)將一個(gè)數(shù)值轉(zhuǎn)換成字符串,并把該字符串和其他一些字符串連接起來組成一個(gè)新的輸出字符串。前面板打開一個(gè)新的前面板,按照下圖向其中添加對(duì)象。其中的兩個(gè)字符串控制對(duì)象和數(shù)值控制對(duì)象可以合并成一個(gè)輸出字符串并顯示在字符串顯示器中。數(shù)值顯示器
47、顯示出字符串的長(zhǎng)度。本練習(xí)中輸出字符串是一個(gè)gpib(ieee 488)命令字符串,它可用來與和串口儀器(rs-232 或者 rs-422)進(jìn)行通信。流程圖l format into string函數(shù)(functionsstring)在本練習(xí)中,它用于對(duì)數(shù)值和字符串進(jìn)行格式化,使它們成為一個(gè)輸出字符串。用變形工具可以添加三個(gè)加和輸入。l string length函數(shù)(functionsstring)在本練習(xí)中,它用于返回一個(gè)字符串的字節(jié)數(shù)l 執(zhí)行該vi。注意,format into string 功能函數(shù)將兩個(gè)字符串控制對(duì)象和數(shù)值控制對(duì)象組合成一個(gè)輸出字符串。l 把該vi保存為 build
48、string.vi,在下一個(gè)練習(xí)中還將用到這個(gè)vi。l 字符串格式的設(shè)定:選中format into string函數(shù),單擊右鍵,在快速菜單中選擇edit format string,可分別對(duì)個(gè)輸入的各部分格式做設(shè)定。練習(xí) 5 結(jié)束。練習(xí) 5 字符串子集和數(shù)值的提取目的:創(chuàng)建一個(gè)字符串的子集,其中含有某個(gè)數(shù)值的字符串顯示,再將它轉(zhuǎn)換成數(shù)值。打開 examplesgeneralstrings.llb中的parse string.vi。用默認(rèn)輸入值執(zhí)行該vi。注意,dc的字符串子集被用于輸入字符串。還要注意,字符串的數(shù)值部分被提取出來,并轉(zhuǎn)換為數(shù)值。您可以嘗試使用不同的控制數(shù)值(記住數(shù)組式的字符串
49、是從0開始進(jìn)行編號(hào)),或者您可以返回到流程圖,查看怎樣從輸入字符串中提取出其中的元素。string subset函數(shù)(functionsstring)在本練習(xí)中,它用于返回偏移地址開始的子字符串以及字節(jié)數(shù)。第一個(gè)偏移地址是0。很多情況下,必須把字符串轉(zhuǎn)換成數(shù)值,例如需要將從儀器中得到的數(shù)據(jù)字符串轉(zhuǎn)換成數(shù)值。scan from string函數(shù)(functionsstring)在這個(gè)例子中,它用于掃描字符串,并將有效的數(shù)值(0到9,正負(fù),e,e和分號(hào))轉(zhuǎn)換成數(shù)值。如果連接了一個(gè)格式字符串,它將根據(jù)字符串指定的格式進(jìn)行轉(zhuǎn)換,否則將進(jìn)行默認(rèn)格式的轉(zhuǎn)換。該函數(shù)從偏移地址的string處開始掃描。第一個(gè)
50、字符的偏移地址是0。這個(gè)函數(shù)在已知頭長(zhǎng)度(本例中是volts dc)時(shí)或者字符串只含有有效字符時(shí)很有用。選擇fileclose,關(guān)閉該vi。注意不要保存它。練習(xí) 5 結(jié)束。練習(xí) 5 將數(shù)據(jù)寫入電子表格文件目的:修改一個(gè)已有的 vi以使用文件 i/o 功能函數(shù),以便可以將數(shù)據(jù)以 ascii 格式保存到一個(gè)新的文件。然后就可以用一個(gè)電子表格程序打開該文件。前面板打開前面練習(xí)中創(chuàng)建的graph waveform arrays.vi。當(dāng)調(diào)用這個(gè)vi時(shí),該vi將產(chǎn)生兩個(gè)數(shù)據(jù)數(shù)組,并將它們繪制在一個(gè)圖區(qū)中。您需要對(duì)該vi進(jìn)行修改,從而把兩個(gè)數(shù)組寫入一個(gè)文件,格式是每列含有一個(gè)數(shù)組。流程圖打開graph w
51、aveform arrays.vi 的流程圖,按照下圖在流程圖的右下角添加功能函數(shù)。 write to spreadsheet file vi (functionsfile i/o)用于將二維數(shù)組轉(zhuǎn)換成電子表格字符串,再將它寫入一個(gè)文件。如果沒有指定路徑名稱,將會(huì)彈出一個(gè)文件對(duì)話框,提示輸入文件名。該vi將把一維或者二維數(shù)組寫入文件。這個(gè)例子中,因?yàn)橛玫氖嵌S數(shù)組,所以無需連接一維輸入端子。l boolean常數(shù) (functionsboolean)用于控制是否在寫入數(shù)據(jù)之前轉(zhuǎn)換成二維數(shù)組。在這個(gè)例子中需要對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換。因?yàn)殡娮颖砀裎募拿苛卸己幸粋€(gè)數(shù)據(jù)數(shù)組,所以必須先轉(zhuǎn)換成二維數(shù)組。l
52、返回前面板,執(zhí)行該vi。數(shù)據(jù)數(shù)組產(chǎn)生以后,會(huì)出現(xiàn)一個(gè)文件對(duì)話框提示輸入新建文件的文件名。輸入文件名,并單擊 ok。l 可以嘗試選擇轉(zhuǎn)換與不轉(zhuǎn)換兩種情況運(yùn)行程序,查看結(jié)果差別。l 保存該vi為waveform arrays to file.vi,并關(guān)閉該vi。現(xiàn)在可以用電子表格軟件或者文本編輯器打開或者編輯剛才創(chuàng)建的文件。可以看到兩列表格,每列含有100個(gè)元素。在這個(gè)例子中,直到所有數(shù)組都被采集以后,數(shù)據(jù)才可以被轉(zhuǎn)換或者寫入文件。如果需要更大的數(shù)據(jù)緩存和希望在數(shù)據(jù)產(chǎn)生后把它們寫入到硬盤,就需要使用另外一個(gè)文件i/o vi。練習(xí) 5 結(jié)束。練習(xí) 5 向文件添加數(shù)據(jù)目的:創(chuàng)建一個(gè) vi,可以把溫度數(shù)據(jù)以 ascii 格式添加到某個(gè)文件中。該 vi 使用 for 循環(huán)產(chǎn)生溫度數(shù)據(jù),并將它們存儲(chǔ)到一個(gè)文件中。在每個(gè)循環(huán)期間,您都要把數(shù)據(jù)轉(zhuǎn)換成字符串,添加一個(gè)逗號(hào)作為分隔符,并將字符串添加到文件中。前面板打開一個(gè)新的前面板,并按照下圖放置對(duì)象。前面板中包括一個(gè)數(shù)字式顯示器和一個(gè)波形圖。“數(shù)據(jù)點(diǎn)個(gè)數(shù)”控制對(duì)象指定了需要采集和寫入文件的溫度數(shù)據(jù)的數(shù)量。波形圖表則用于顯示溫度曲線。將波形圖表的y軸范圍設(shè)置為70.0到90.0,x軸范圍設(shè)置為0到20。流程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 低溫倉(cāng)儲(chǔ)投資環(huán)境分析考核試卷
- 表面貼裝技術(shù)成本控制考核試卷
- 中藥材種植保險(xiǎn)產(chǎn)品設(shè)計(jì)考核試卷
- 基層社會(huì)治理典型經(jīng)驗(yàn)材料
- 組胚英語單詞表
- 人事介紹信范文
- 惠陽時(shí)代廣場(chǎng)營(yíng)銷推廣操作方案
- 歡慶十九活動(dòng)方案
- 武館續(xù)費(fèi)活動(dòng)方案
- 汽車避震活動(dòng)方案
- 17025檢測(cè)和校準(zhǔn)實(shí)驗(yàn)室認(rèn)可準(zhǔn)則解析
- DigestiveSystem消化系統(tǒng)英文值得收藏課件
- 外研社小學(xué)新標(biāo)準(zhǔn)英語單詞表匯總打印版(一年級(jí)起點(diǎn))
- 潛水泵操作JSA分析表
- 門診藥房藥物咨詢記錄表
- 質(zhì)量保證體系架構(gòu)圖
- 高中物理選修 分子動(dòng)理論
- 管道施工主要質(zhì)量保證措施及通病防治措施
- 信捷XC系列可編程序控制器用戶手冊(cè)(軟件篇)
- 新版FMEA培訓(xùn)課件
- 中考首字母填空練習(xí)67篇含答案
評(píng)論
0/150
提交評(píng)論