《虛擬儀器技術(shù)》實驗指導(dǎo)書精講_第1頁
《虛擬儀器技術(shù)》實驗指導(dǎo)書精講_第2頁
免費預(yù)覽已結(jié)束,剩余86頁可下載查看

下載本文檔

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

文檔簡介

1、 虛擬儀器技術(shù) 實驗指導(dǎo)書 董介春 青島犬學(xué)自動化工程學(xué)院QINGDAO UNIVERSITY LabVIEW實驗指導(dǎo)書 2014.9LabVIEW實驗指導(dǎo)書 說明 1、 注意:在實驗之前,首先在計算機的 F盤下面創(chuàng)建一個以 班級+ +姓名+ +實驗幾命 名的目錄,女口電子1班張三實驗一,所有的實驗程序都保存到該目錄中。 2、 實驗箱底板功能說明 (1) 本系統(tǒng)所用NI PCI-6221數(shù)據(jù)采集卡,含有24路雙向數(shù)字I/O , 16路模擬輸入、 2路模擬輸出,2路定時計數(shù)器,底板上68針插座接口為采集卡 68-pin VHDCI母頭接口。 采集卡用法詳見 NI-DAQmx幫助。 (2) 壓力測

2、量與步進電機控制與霍爾元件位置檢測兩個實驗?zāi)K集成在實 驗箱板底上。使用 NI PCI-6221數(shù)據(jù)采集卡實驗時,需拔下 XT1全部跳線帽,然后通過 IO1和IO2將采集卡相應(yīng)端子與 XT2連接起來。 LabVIEW實驗指導(dǎo)書 A.I 0 AIGND AI 9 AI 2 AH Q ND All 11 Al SENSE Al 12 A) 5 Al GND Al 14 Al 7 Al GND AO GND AO GND D GN D POO P0.5 D GN D PQ.2 P0.7 P0.3 PR 11/P23 PFI 1 圖 1-1 LabVIEW 程序前面板 程序前面板用于設(shè)置輸入數(shù)值和觀察

3、輸出量, 功能布局均可以由用戶根據(jù)自己的需要進行定制。 0 - 圖 1-2與前面板對應(yīng)的框圖程序 用于模擬真實儀表的前面板, 在程序前面板上,輸入量 被稱為控制(Con trols),輸出量被稱為 顯示(In dicators )。控制和顯示是以 各種圖標形式出現(xiàn)在前面板上,如旋鈕、開關(guān)、按鈕、圖表等,這使得前面 板直觀易懂。 2 2. LabVIEW LabVIEW 的操作模板 LabVIEW具有多個圖形化的操作模板,用于創(chuàng)建和運行程序。該模板 可以隨意在屏幕上移動, 并可以放置在屏幕的任意位置。 操縱模板有三類: 工具(Tools)模板、控制(Controls)模板和功能(Function

4、s )模 板。 其大小、外觀、 1)1) 工具模板(Tools PaletteTools Palette) 工具模板提供了用于創(chuàng)建、修改和調(diào)試VI程序的工具。如果 該模板沒有出現(xiàn),則可在 Windows菜單下選擇Show Tools Palette 命令以顯示。 創(chuàng)操作工具:使用該工具來操作前面板的控制和顯示。 二選擇工具:用于選擇、移動或改變對象的大小。 回標簽工具:用于輸入標簽文本或創(chuàng)建自由標簽。 創(chuàng)建自由標 簽時它會變成相應(yīng)形狀。 連線工具:用于在框圖程序上連接對象。 3333 對象彈出菜單工具:用左鼠標鍵可以彈出對象的彈出式菜 單。. 漫游工具:可以不需要使用滾動條而在窗口中漫游。 斷

5、點工具:使用該工具在 VI的框圖對象上設(shè)置斷點。 3 3 探針工具:在框圖程序內(nèi)的數(shù)據(jù)流線上設(shè)置探針,來觀察 該線上的數(shù)據(jù)變化狀況。 -丄顏色提取工具:用來提取顏色用于編輯其他的對象。 空顏色工具:用來給對象定義顏色。顯示前景色和背景色。 2)2) 控制模板(Controls Palette)(Controls Palette) 用控制模板可以給前面板添加輸入控制和輸出顯示。 每個圖標 代表一個子模板。如果控制模板不顯示,可以用 Windows菜單的 Show Controls Palette功能打開它,也可以在前面板的空白處,點 擊鼠標右鍵,以彈出控制模板,如圖 1-4所示。 注:只有當打開

6、前面板窗口時才能調(diào)用控制模板。 魚 團 殖Iflr錚降 .W-.憊樞 . 陽腿 下並赫與 容絆 I/O r 占柱件 瀰式 用戶腔件 IS擇輕博 圖 1-4控制模板 JW.英與更u 內(nèi), TTWl s_ 詰構(gòu) r 可你 對話皿關(guān)甲. 1鮎心字艮世 Uns t T*it . 加心lop H . *工.陽 號處理 圖 1-5功能模板 LabVIEW實驗指導(dǎo)書 3 3 3)函數(shù)模板(Functions PalFunctions Paletteette,又稱功能模板) 功能模板是創(chuàng)建框圖程序的工具, 其每一個頂層圖標都表示一個子模板。 若功能模板不出 現(xiàn),則可用 Show Functions Palet

7、te打開。如圖1-5所示。 注:只有激活了框圖程序窗口,才能出現(xiàn)功能模板。 3.3. 虛擬儀器程序的創(chuàng)建 VI程序具有三個要素: 前面板、框圖程序 和圖標/連接器。 1 1) 前面板 使用輸入控制和輸出顯示來構(gòu)建前面板。 控制是用戶輸入數(shù)據(jù)到程序的接口, 顯示是輸出 程序產(chǎn)生的數(shù)據(jù)接口。 兩種最常用的前面板對象是數(shù)字控制和數(shù)字顯示。 若想在數(shù)字控制中輸入或修改數(shù)值, 可 使用操作工具點擊控制部件和增減按鈕,或用操作工具或標簽工具雙擊數(shù)值欄進行數(shù)值修改。 2 2) 框圖程序 框圖程序是由 節(jié)點、端點、圖框和連線四種元素構(gòu)成的。 節(jié)點類似于文本語言的語句、函數(shù)或子程序。 LabVIEW有兩種節(jié)點:

8、函數(shù)和子 VI節(jié)點。 區(qū)別:函數(shù)節(jié)點是 LabVIEW以編譯好的機器代碼供用戶使用的,而子 VI節(jié)點是以圖形語言 形式提供給用戶的。用戶可訪問和修改任一子 VI節(jié)點的代碼,但無法對函數(shù)節(jié)點進行修改。 端點是只有一路輸入/輸出,且方向固定的節(jié)點。LabVIEW 有三類端點:前面板對象端點、 全局與局部變量端點和常量端點。對象端點是數(shù)據(jù)在框圖程序部分和前面板之間傳輸?shù)慕涌凇?一般來說,一個 VI前面板上的對象都在框圖中有一個對象端點與之對應(yīng)??刂茖ο髮?yīng) 的端點在框圖中是用 粗框框住的,如圖1-6中的A和B端點,它們只能作為數(shù)據(jù)流源點。顯 示對象對應(yīng)的端點是用 細框框住的。如A+B和A-B端點。它

9、們只能作為數(shù)據(jù)流終點。常量端 點永遠只能作為數(shù)據(jù)流源點。 圖框是LabVIEW實現(xiàn)程序結(jié)構(gòu)控制命令的圖形表示。如循環(huán)控制、條件分支控制和順序 控制等,編程人員可以使用它們控制 VI程序的執(zhí)行方式。代碼接口節(jié)點( CIN )是框圖程序 與用戶提供的C語言文本程序的接口。 圖 1-6簡單的程序框圖和前面板 連線是端口間的數(shù)據(jù)通道。類似于普通程序中的變量。數(shù)據(jù)是單向流動的,從源端口向 一個或多個目的端口流動。不同的線型代表不同的數(shù)據(jù)類型,并以不同的顏色予以強調(diào)。 整型 浮點數(shù) 邏輯量 字符串 文件路徑 當需要連接兩個端點時,在第一個端點上點擊連線工具,再點擊第二個端點。 A A-B 0 B A+B

10、LabVIEW實驗指導(dǎo)書 4 當把連線工具放在端點上時,該端點將會閃爍,表示連線將會接通。當連線工具從一個端 口接到另一個端口時,不需要按鼠標鍵。當連線轉(zhuǎn)彎時,按 空格鍵 可以改變轉(zhuǎn)角的方向。 3 3) 從框圖程序窗口創(chuàng)建前面板對象 用選擇和連線工具,可以用鼠標右鍵點擊任一節(jié)點和端點,然后從彈出菜單中選擇 創(chuàng)建 常數(shù)”創(chuàng)建控制”或創(chuàng)建顯示”等命令。 4 4) 數(shù)據(jù)流編程 控制VI程序的運行方式叫做 數(shù)據(jù)流”。對一個節(jié)點而言,只有當它的所有輸入端口上的 數(shù)據(jù)都成為有效數(shù)據(jù)時,它才能被執(zhí)行。當節(jié)點程序運行完畢后,它把結(jié)果數(shù)據(jù)送給所有的輸 出端口,使之成為有效數(shù)據(jù)。并且數(shù)據(jù)很快從源送到目的端口。 如

11、圖1-7所示,這個VI程序把兩個輸入相乘,再減去 50.0。這個程序中,框圖程序從左 往右執(zhí)行,這個執(zhí)行次序不是由于對象的擺放位置, 而是由于相減運算函數(shù)的一個輸入量是相 乘函數(shù)的運算結(jié)果,它只有當相乘運算完成并把結(jié)果送到減運算的輸入口后才能繼續(xù)下去。 圖 1-7數(shù)據(jù)流舉例 圖 1-8數(shù)據(jù)流舉例 如圖1-8所示,你認為哪一個節(jié)點函數(shù)將先執(zhí)行?是乘法還是除法?在這個例子中, 我們 無法知道哪一個節(jié)點函數(shù)首先執(zhí)行,因為所有輸入量幾乎同時到達。 4.4. 程序調(diào)試技術(shù) 程序調(diào)試是進行任何程序設(shè)計過程中所必須的過程。 在程序設(shè)計中不可避免地會有各種邏 輯上和語法上的錯誤,這些都需要通過程序調(diào)試找出來加

12、以改正。 1 1) 找出語法錯誤 -J 如果一個VI程序存在語法錯誤,則運行按鈕將會變成一個折斷的箭頭,表示程序不能被 執(zhí)行。這個按鈕被稱作錯誤列表。點擊,則 LabVIEW彈出錯誤清單窗口,點擊其中任何一個 所列出的錯誤,選用 Find功能,則出錯的對象或端口就會變成高亮。 2 2) 設(shè)置執(zhí)行程序高亮 二 點擊高亮執(zhí)行”按鈕使其變成高亮形式,再點擊運行按鈕, VI程序就以較慢的速度運行, 沒有被執(zhí)行的代碼灰色顯示, 執(zhí)行后的代碼高亮顯示, 并顯示數(shù)據(jù)流線上的數(shù)據(jù)值。 這樣,我 們就可以在根據(jù)數(shù)據(jù)的流動狀態(tài)跟蹤程序的執(zhí)行。 3 3) 斷點與單步執(zhí)行 q 使用斷點工具可以在程序的某一地點中止執(zhí)行

13、,用探針或者單步方式查看數(shù)據(jù)。使用斷 點工具時,點擊設(shè)置或者清除斷點的地方。 斷點的顯示對于節(jié)點或者圖框表示為紅框, 對于連 線表示為紅點。當VI程序運行到斷點被設(shè)置處,程序被暫停在將要執(zhí)行的節(jié)點, 以閃爍表示。 按下單步執(zhí)行按鈕,閃爍的節(jié)點被執(zhí)行,下一個將要執(zhí)行的節(jié)點變?yōu)殚W爍,指示它將被執(zhí)行。 4 4) 探針 可以用探針工具來查看當框圖程序流經(jīng)某一根連接線時的數(shù)據(jù)值。 探針顯示窗口總是被顯 示在前面板窗口或框圖窗口的上面。LabVIEW實驗指導(dǎo)書 5 三、實驗內(nèi)容 1.1. 創(chuàng)建自己的第一個 VIVI。編寫程序,實現(xiàn)將一華氏溫度 (F)轉(zhuǎn)換成攝氏溫度(C)的功能。 已知攝氏溫度與華氏溫度的關(guān)

14、系 C = 5(F 32)/9。 (1) 前面板設(shè)計 如圖1-9,華氏溫度為數(shù)值輸入控件,攝氏溫度作為顯示控件,按要求設(shè)置標簽和顯示范 圍,同時配數(shù)字顯示。 圖 1-9 Temp 前面板 圖 1-10 Temp 程序框圖 (2) 程序框圖 如圖1-10所示設(shè)計程序框圖, 建議數(shù)值常數(shù)使用在連接端子處點擊右鍵創(chuàng)建 (Create)常 量(Constant)的方法更好些。 (3) 把該VI命名為Temp.vi,保存為 的文件夾中。 2.2. 自己創(chuàng)建一個 VIVI,完成以下功能: 將兩個輸入的數(shù)字相加并顯示結(jié)果; 將同樣兩個輸入數(shù)字相乘并顯示結(jié)果; 比較兩個輸入 數(shù)字,如果數(shù)字相等,則 LED指示

15、燈亮。最后,保存為 Simple Math.vi文件。 如圖1-11: A和B為數(shù)字控件輸入, 兩個數(shù)字指示器分別顯示輸出結(jié)果 A+B和AXB,當 輸入數(shù)字A和B相同時,將點亮LED。 A A*B : Q A = 0? 1 B A*iB J 0 n 圖 1-11實驗 2的前面板 3.3.子 VIVI 的創(chuàng)建與調(diào)用 1) 打開練習(xí) 1中Temp.vi.vi。 2) 設(shè)計圖標編輯器,如圖 1-12所示,繪制一個溫度計,創(chuàng)建一個 TEMP的文本。注意 只能在前面板中編輯圖標和聯(lián)接器。 攝用融t 100 1 37.7778 700: 1 圖 1-12編輯后的圖標編輯器窗口 LabVIEW實驗指導(dǎo)書 6

16、 3)設(shè)置聯(lián)接器端子。 4)調(diào)用創(chuàng)建的子 Temp,使其實現(xiàn)實驗1的功能。 四、思考題 1. 寫一個VI比較兩個數(shù)的大小,如圖所示:當 AB時,指示燈亮。 2. 寫一個溫度監(jiān)測器,如圖所示,當溫度超過報警上限,而且開啟報警時,報警燈點亮。 4 4. 設(shè)計一個 VIVI 程序,計算一元二次方程的兩根。 xl 0 LabVIEW實驗指導(dǎo)書 7 五、實驗報告要求 1調(diào)試編輯以上 VI,按順序打印以上 VI的前面板與程序框圖后,貼在實驗報告上;實 驗報告中要求詳細說明設(shè)計步驟要點。 2.理解基于數(shù)據(jù)流編程的基本編程思路。 3總結(jié)VI基本編程的快捷操作。 4. 簡述VI程序有什么構(gòu)成,其各部分的功能是什

17、么。 5. 思考:在前面板和框圖程序中,如何區(qū)分控制器和指示器。 6. 心得體會及其它。8 LabVIEW實驗指導(dǎo)書 實驗二 LabVIEW 程序結(jié)構(gòu)循環(huán)結(jié)構(gòu) 一、 實驗?zāi)康?1 學(xué)習(xí)并掌握For循環(huán)和 While循環(huán)以及它們的不同點。 2. 學(xué)習(xí)使用移位寄存器( Shift Register)和反饋節(jié)點(Feedback Node)。 二、 實驗原理 While循環(huán)和For循環(huán)在函數(shù)的結(jié)構(gòu)(Structures)選項板中可以找到。創(chuàng)建循環(huán)的具體方 法是,選擇該循環(huán)后,先在欲放入循環(huán)內(nèi)執(zhí)行的對象左上方單擊, 然后按下鼠標,拖曳出一個 矩形框包圍執(zhí)行對象。釋放鼠標時就創(chuàng)建了一個指定大小和位置的循

18、環(huán)。 While循環(huán)可以反復(fù)執(zhí)行循環(huán)體的程序,直至到達某個邊界條件。它類似于普通編程語言 中的Do循環(huán)和Repeat-Until循環(huán)。While循環(huán)的框圖是一個大小可變的方框,用于執(zhí)行框中 的程序,直到條件端子接收到的布爾值為 FALSE。 1 1. ForFor 循環(huán)和 WhileWhile 循環(huán) 當程序有確定的循環(huán)次數(shù)時, 使用For循環(huán)。在程序框圖中添加 For循環(huán),如圖2-1所示。 (循環(huán)次數(shù)輸入端):For循環(huán)必須給定循環(huán)次數(shù) N ( N0 ,否則循環(huán)不執(zhí)行),此項一 般都要有輸入。當For循環(huán)的輸入數(shù)據(jù)是一個數(shù)組時, 如果不給定循環(huán)次數(shù),則數(shù)組的大小將 決定For循環(huán)的循環(huán)次數(shù)。如

19、果同時輸入兩個數(shù)組, 循環(huán)次數(shù)以 數(shù)組個數(shù)最少的決定???循 環(huán)計數(shù)):計數(shù)范圍0N 1。 當具體的循環(huán)次數(shù)不可知時,我們使用 While循環(huán),如圖2-2所示。 While循環(huán)也有一個循環(huán)計數(shù) 山,第一次循環(huán)時 山的值為0。另外,While循環(huán)有一個循 環(huán)條件判斷端子墮。請?zhí)貏e注意,無論如何,都要給 While循環(huán)結(jié)構(gòu)一個有效的停止條件, 否則可能就會使循環(huán)陷入死循環(huán)的狀態(tài)。 While循環(huán)還提供了一個快捷方式:Functions-Express- 執(zhí)行過程控制-While Loop,程序框圖如圖2-3所示,與圖2-2不同的時自動加了一個停止按鈕。 2.2. 移位寄存器和反饋節(jié)點 使用循環(huán)結(jié)構(gòu)

20、時,經(jīng)常會遇到下一次循環(huán)要用到上一次循環(huán)運行結(jié)果的情況, 這時就需要 不斷的將每次循環(huán)的結(jié)果存儲下來,以傳遞給下一次循環(huán)。移位寄存器( Shift Register)和反 饋節(jié)點(Feedback Node)就是用來實現(xiàn)這樣的操作的。 在For循環(huán)和 While循環(huán)中都可以添加移位寄存器和反饋節(jié)點,添加方法如下: 1 1)移位寄存器(Shift RegisterShift Register) 移位寄存器可以將數(shù)據(jù)從一個循環(huán)周期傳遞到另外一個周期。創(chuàng)建移位寄存器的方法是, 用鼠標右鍵單擊循環(huán)的左邊或者右邊,在快捷菜單中選擇 Add Shift Register,如圖2-4所示。 移位寄存器在流程

21、圖上用在循環(huán)邊框上相應(yīng)的一對端子來表示。 右邊的端子中存儲了一個 周期完成后的數(shù)據(jù),這些數(shù)據(jù)在這個周期完成之后將被轉(zhuǎn)移到左邊的端子,賦給下一個周期。 移位寄存器可以轉(zhuǎn)移各種類型的數(shù)據(jù) 一一數(shù)值、布爾數(shù)、數(shù)組、字符串等等。它會自動適應(yīng)與 它連接的第一個對象的數(shù)據(jù)類型。3 3 - F 圖 2-1 For 循環(huán) 圖 2-2 While循環(huán) 圖 2-3快捷 While LabVIEW實驗指導(dǎo)書 9 圖 2-4設(shè)置移位寄存器 2 2)反饋節(jié)點(Feedback NodeFeedback Node) 反饋節(jié)點完成的功能同移位寄存器類似。 VI、 函數(shù)的輸入/輸出相連接, 就會自動出現(xiàn)反饋節(jié)點。當然,也可以

22、通過 Functions-Execution-Control-Feedback Node來添加。在反饋節(jié)點上單擊鼠標右鍵,從彈出的快 捷菜單中選擇 Replace with Shift Register,反饋節(jié)點將變成移位寄存器,如圖 2-5所示。 下面通過一個例子來看一下移位寄存器和反饋節(jié)點是如何工作的。如圖 2-6所示。 次程序運行時,移位寄存器和反饋節(jié)點中的值將以上次運行完的值開始。 三、實驗內(nèi)容 1. While循環(huán)的基本結(jié)構(gòu) 創(chuàng)建兩個關(guān)于 While循環(huán)的VI,如圖2-7所示,其中一個帶延時,一個不帶延時,都在 前面板顯示循環(huán)計數(shù)和停止按鈕,比較這兩個循環(huán)的不同。 提示:不帶延時的循

23、環(huán),占用CPU資源,不推薦;帶延時的循環(huán),節(jié)省CPU資源,常用。 1W1 停止1 | 停止| 檢燮匚PU資源 計數(shù) H停止 IHAdd Shift F.Egistar (a)為 For 循環(huán)設(shè)置移位寄存器 (b)為 While循環(huán)設(shè)置移位寄存器 在For循環(huán)或者 While循環(huán)中,只要將其中的子 在此如果不給移位寄存器和反饋節(jié)點賦初值(本例中 For循環(huán)框左邊的兩個常數(shù) 0),下 計數(shù)2 停止2 182S 厚止| 檢些CPU資戀 (b)有延時 圖 2-7 While循環(huán)前面板與程序框圖 0 VL si bl E IteriE 卜 IMp kicriplhn aid Tip.- Stl Bri-

24、ikpSLnt Structwes Ftl旺憶 * j站罰 Gr&v teplace id th Vkile La 叩 EEHO昶 for loop Add Sbi El KifiTtHF jSgp i f TFM Cjmiiajut if Trut 圖 2-5將反饋節(jié)點變?yōu)橐莆患拇嫫?圖 2-6反饋節(jié)點和移位寄存器 LabVIEW實驗指導(dǎo)書 10 価 (a)不帶延時LabVIEW實驗指導(dǎo)書 11 2. While循環(huán)中實現(xiàn)累加的兩種方法 (1) 利用移位寄存器 實現(xiàn)累加1-100,并將結(jié)果顯示在前面板上; (2) 利用反饋節(jié)點實現(xiàn)累加1-100,并將結(jié)果顯示在前面板上。 3. For

25、循環(huán)的基本結(jié)構(gòu) 創(chuàng)建三個關(guān)于For循環(huán)的VI,分別設(shè)定For循環(huán)的循環(huán)次數(shù)為 100、循環(huán)次數(shù)設(shè)定、輸入 數(shù)據(jù)為一個數(shù)組等,并在前面板上設(shè)定第二個循環(huán)的次數(shù)及顯示 For循環(huán)的實時次數(shù),觀察顯 示結(jié)果。 *5 設(shè)計一個VI,實現(xiàn)使用循環(huán)和移位寄存器計算隨機數(shù)序列的移動平均值。要求該 VI 產(chǎn)生一個隨機序列 R,序列長度N由前面板滑動條控件輸入,該隨機數(shù)序列的移動平均值 v(i) 結(jié)果 5050 結(jié)果2 5050 麗 - oo 循壞次數(shù) I I 0 ttmttm 0 EMHET 循環(huán)次數(shù) U 旦一 N- 13卜 |7 10 NJNJ U)U) 計數(shù) 3 3 m m髭 r 計動 LabVIEW實驗

26、指導(dǎo)書 12 這里i =0,1,N -1 , v(i)表示在第i次計算的平均值,R是來自隨機數(shù)函數(shù)的當前隨由下列公式可計算: v(i) i v(i -1) R i +1 LabVIEW實驗指導(dǎo)書 13 機數(shù)。前面板要求顯示當前用于計算移動平均值的隨機數(shù)個數(shù) 板設(shè)計如圖 2.10所示,最后將該 VI保存為 Random Number Average.vi文件。在 Highlight Execution加亮執(zhí)行的狀態(tài)下觀察數(shù)據(jù)流。 80D; 0 600 : 本次平均戯啼 400 : 0 200: 隨機皺個蜀:L 0- 0 The 日業(yè)已age should be approximately equ

27、al to Q.5 圖 2.10 Random Number Average 四、實驗報告要求 1 調(diào)試編輯以上 VI,按順序打印以上 VI的前面板與程序框圖后,貼在實驗報告上;實 驗報告中要求詳細說明設(shè)計步驟要點。 2. 說明For循環(huán)與 While循環(huán)的區(qū)別。 3理解移位寄存器的作用以及它的初始化。 4. 心得體會及其它。i+1,當前的移動平均值,前面 LabVIEW實驗指導(dǎo)書 14 實驗三 LabVIEW 程序結(jié)構(gòu)一一順序結(jié)構(gòu)與條件結(jié)構(gòu) 、實驗?zāi)康?1 .掌握順序結(jié)構(gòu)(Sequenee Structure)、條件結(jié)構(gòu)(Case Structure)編程。 2了解時間估計和控制函數(shù)。 3.

28、 了解公式節(jié)點(Formula Node )的使用。 、實驗原理 1.1. 順序結(jié)構(gòu)(Sequence StructureSequence Structure) VI程序的運行是 數(shù)據(jù)流”驅(qū)動的,有時我們必須對這種數(shù)據(jù)流進行控制,這樣就用到了 順序結(jié)構(gòu)。在LabVIEW中有兩種循序結(jié)構(gòu):平鋪式和層疊式順序結(jié)構(gòu)。 使用平鋪式順序結(jié)構(gòu)可以看到整個程序框圖, 當程序框圖所占空間的大小允許時, 可以使 用這種順序結(jié)構(gòu)。在程序框上單擊鼠標右鍵, 在彈出的快捷菜單中選擇 Add Frame after 或 Add Frame Before,就可以在本幀后或者前添加一幀,如圖 3-1所示。 使用層疊式順序結(jié)

29、構(gòu)比較省空間, 但是數(shù)據(jù)在各幀中的傳遞必須通過 現(xiàn),并且每次只能顯示一幀。可以用類似的方法來添加前一幀或者后一幀, Sequenee Local 來實 在彈出的快捷菜單 中選擇 Add Sequenee Local,則在順序結(jié)構(gòu)中添加 Sequenee Local,如圖 3-2 所示。 Vi sible Items Help Ad script icn uid. Tip. Exacuiian Contrcl | J 4 huM Gro* Rcplaefr vi th Slacked Vila bit Ityvx DdEcriptaan n.d Tip. SA t Structures tte

30、/Auto Grwr Add Add Fr 扎 1.詣 Ad.d. Franc Before 圖 3-1添加幀圖 Add Aft *r Add PF-WA BAftittr-fii Du.pl i. ett A 矗 Delete Th1E Frai 圖 3-2 添加 Sequence Local 順序結(jié)構(gòu)順序地執(zhí)行子框圖, 它看上去像是電影膠片。它可以按一定順序執(zhí)行多個子程序。 首先執(zhí)行0幀中的程序,然后執(zhí)行 1幀中的程序,逐個執(zhí)行下去。 2.2.時間估計和控制函數(shù) | 等待”控制VI定時執(zhí)行,每次執(zhí)行單元(比如循環(huán))內(nèi)部,在執(zhí)行代碼運行結(jié)束后, 開始計時。保持此狀態(tài)直到毫秒計數(shù)器的值等于預(yù)先

31、設(shè)定的值。 匾 等待下一個整數(shù)倍毫秒”:每次執(zhí)行單元內(nèi)部,在執(zhí)行代碼開始運行時,就開始計時, 保持此狀態(tài)直到毫秒計數(shù)器的值等于預(yù)先設(shè)定數(shù)的整數(shù)倍。用于同步各單元操作。 “ Tick Count (ms)函數(shù)”用與Express VI完成定時任務(wù)。 3 3.條件結(jié)構(gòu)(Case StructureCase Structure) 條件結(jié)構(gòu)的輸入端可以連接布爾型和數(shù)字型變量。當連接的是 布爾型變量時,只有True 和False兩種。當連接的是 數(shù)字型變量 時,Case框上的標識將變?yōu)?0,1, 根據(jù)輸入量的不同, Case結(jié)構(gòu)選擇運行不同的程序。程序框圖如圖 3-3所示。 在默認狀態(tài)下,Case結(jié)構(gòu)只

32、有0和1兩項,用右鍵單擊 Case結(jié)構(gòu)的邊框,從彈出的快捷 菜單中選擇 Add Case After來添加一個 Case。 LabVIEW實驗指導(dǎo)書 15 On 21口口口口 El 口口 口 d 口 口 口口 口口口 1 指走數(shù)孚 同1叵 10 - gj LTBIH 隨陽個數(shù) 坐前數(shù)E- * 匝 - 口 口 口 口口口口口口匚 1 1000 査找時間(秒) 口 口 | 口 口 口 口 口 口 口 口 口 前面板如圖3-4所示。 然后通過工具模板改變 性, 同時添加如圖 3-5所示的內(nèi)容。 減法還是乘法。選擇Memu Ring , Properties,在彈出的對話框中改變其屬 Case結(jié)構(gòu)含有

33、兩個或者更多的子程序( 象的外部接口相連接的某個整數(shù)、布爾數(shù)、字符串或者標識的值。必須選擇一個默認的 以處理超出范圍的數(shù)值,或者直接列出所有可能的輸入數(shù)值。 Case結(jié)構(gòu)如圖3-6所示。 4 4.公式節(jié)點(Formula Node Formula Node ) 公式節(jié)點是一個大小可變的方框,可直接在流程圖中輸入公式。從函數(shù) /結(jié)構(gòu)中選擇公式 節(jié)點就可以把它放到流程圖中。 當某個等式有很多變量或者非常復(fù)雜時, 這個功能就非常有用。 圖 3-7公式節(jié)點 三、實驗內(nèi)容 1. 設(shè)計一個VI,計算產(chǎn)生一個與指定的數(shù)字相等的隨機數(shù)所需花費的時間。 EF : Kunic2| g LXHTU -THTL G

34、I.; XU isnericZ 誠 勺是用來選擇操作是加法、 T大小,鼠標右鍵選擇 Rmlt Case),執(zhí)行哪一個取決于與選擇端子或者選擇對 Case Hujnflric? Numeric :亡 圖 3-5屬性設(shè)置 嚴 X*2+K+1 口 口 LabVIEW實驗指導(dǎo)書 16 2. 使用Case結(jié)構(gòu),創(chuàng)建一個 VI以檢查一個數(shù)值是否為正數(shù)。如果它是正的, VI就計算 它的平方根,反之則顯示出錯。如圖 3-9所示,最后將該 VI保存為Case Structure。 提示:可以使用以下函數(shù): ne Button Dialog函數(shù):它可以用于顯示 例如: 3. 設(shè)計一個 VI,用公式節(jié)點來計算下列方

35、程: y1=x3-x2+5,y2=mx+b,其中x的取值為 0-20,以上兩個方程只許使用一個 Formula Node。 4. 設(shè)計一個 VI能夠像計算器一樣進行運算。前面板上有兩個數(shù)字控制器,用來輸入兩 個數(shù)字,另有一個指示器,用來顯示VI對輸入數(shù)字進行運算(Add Subtract、Divide或Multiply ) 的結(jié)果。用一個滑動條控制器來選擇加、減、乘、除運算。 *5 .分別用Case結(jié)構(gòu)和公式節(jié)點語句兩種方法,實現(xiàn)下列 條件分支語句: 考慮計算兩數(shù)比率 x/y的下列代碼段: if (y 廠0) z=x/y; else z=+ :; 個對 話框,內(nèi)容可由字符串常量輸入提供。 圖

36、3-9 Case Structure SignalExpress Express Output LabVIEW實驗指導(dǎo)書 17 兩 VI 保存為 Case Division.vi 和 Formula Division.vi 。 *6 .利用case結(jié)構(gòu)的多分支,進行下列簡單程序設(shè)計。 要求:星期一顯示:新的一周開始了,好好學(xué)習(xí)! 星期二顯示:今天是星期二,繼續(xù)努力! 星期三顯示:今天是星期三,生活愉快! 星期四顯示:周四了,加油呀! 星期五顯示:今天是星期五,站好最后一班崗! 星期六顯示:周末愉快! 星期日顯示:好好休息,迎接新的一周! 四、思考題 1. 數(shù)據(jù)流編程有何有點? 2. LabVI

37、EW 有哪兩種順序結(jié)構(gòu)?各有何特點? 3. 掌握Case結(jié)構(gòu)的組成及設(shè)計方法。 五、實驗報告要求 1. 調(diào)試編輯以上 VI,按順序打印以上 VI的前面板與程序框圖后,貼在實驗報告上;實 驗報告中要求詳細說明設(shè)計步驟要點。 2. 使用公式節(jié)點時,如果輸入變量的名稱同輸出變量的名稱相同時,會怎樣? 3. 心得體會及其它。LabVIEW實驗指導(dǎo)書 18 實驗四 LabVIEW 程序結(jié)構(gòu)一一事件結(jié)構(gòu)與狀態(tài)機 、實驗?zāi)康?1 .掌握事件結(jié)構(gòu)(Eve nt Structure)編程。 2了解狀態(tài)機的工作原理和設(shè)計方法。 、實驗原理 1 1 .事件結(jié)構(gòu)(Event NodeEvent Node) 編程的主要

38、目的是為了實現(xiàn)用戶的某種功能, 用戶通過用鼠標、鍵盤、程序內(nèi)部等觸發(fā)某 種程序動作,從而達到某種結(jié)果,這些操作都被稱作為事件, LabVIEW 中相應(yīng)這些事件最常 用的結(jié)構(gòu)就是 事件結(jié)構(gòu)”。事件結(jié)構(gòu)內(nèi)容豐富,基本上大的程序結(jié)構(gòu)都需要用到事件結(jié)構(gòu)。 事件結(jié)構(gòu)在程序不能夠單獨響應(yīng)各種事件,必須與循環(huán)結(jié)構(gòu)一同使用。 以圖形化方式響應(yīng)和處理用戶的操作;與 Windows操作系統(tǒng)的事件處理方式相似。如圖 4-1所示。 事件超時 一 |勺 M M丄一博肝” 圖 4-1 事件結(jié)構(gòu) 事件結(jié)構(gòu)的組成: (1) 上邊框中間是事件選擇標簽,用于標識當前顯示的子框圖(第 0個)所處理的事件 源。其增減與層疊式順序結(jié)構(gòu)

39、和選擇結(jié)構(gòu)中的增減類似。 (2) 事件數(shù)據(jù)節(jié)點為子框圖提供所處理事件的相關(guān)數(shù)據(jù)。事件數(shù)據(jù)節(jié)點由若干個事件數(shù) 據(jù)端子組成。 (3) 事件超時端子,隸屬于整個事件結(jié)構(gòu),用于為超時事件提供超時時間參數(shù),以 ms 為單位。當值為-1時,事件結(jié)構(gòu)處于永遠等待狀態(tài),直到指定的事件發(fā)生為止。通常情況下, 應(yīng)當為事件結(jié)構(gòu)指定一個超時時間,否則事件結(jié)構(gòu)將一直處于等待狀態(tài)。 LabVIEW 事件編程的黃金原則: (1) 不要將事件結(jié)構(gòu)放置在 While循環(huán)之外。 (2) 不要在事件結(jié)構(gòu)中直接使用循環(huán)處理事件。 (3) 在事件結(jié)構(gòu)中添加“停止”按鈕的處理分支。 提示:為防止前面板“死鎖”,在編輯事件結(jié)構(gòu)分支時,請將

40、“鎖定前面板直至事件分支 完成”復(fù)選框去掉。 2.2. 狀態(tài)機 順序模式是我們最先接觸,也是最基本的一種編程模式,程序按照固定的順序依次執(zhí)行, 結(jié)束。 事件數(shù)據(jù)節(jié)點遙對選擇器標簽 選擇器標簽對應(yīng) 事件的子框圖 LabVIEW實驗指導(dǎo)書 19 但在很多情況下,靜態(tài)的順序模式并不能滿足我們編程的要求, 我們需要更有效地動態(tài)結(jié) 構(gòu)來實時改變程序的執(zhí)行順序。比如,一個自動的可樂販售機,當然它可以實現(xiàn)簡單的投幣, 取可樂,結(jié)束這樣的順序模式, 但更多的情況下,需要經(jīng)過多次投幣, 更或者是取消購買來結(jié) 束一次操作。在這種情況下,狀態(tài)機的引入就成了必然的結(jié)果。 那么什么是狀態(tài)機呢?簡單的說, 狀態(tài)機是對系統(tǒng)

41、的一種描述,該類系統(tǒng)包含了有限的狀 態(tài),并且在各個狀態(tài)之間可以通過一定的條件進行轉(zhuǎn)換。 一般可以用狀態(tài)圖來對一個狀態(tài)機進 行精確地描述。 在LabVIEW中,任何一個狀態(tài)機都是由三個基本部分構(gòu)成的,首先外層是一個 while循 環(huán)(用于維持狀態(tài)機的運行),同時在while循環(huán)中包含有一個條件結(jié)構(gòu)(用以對各個不同的 狀態(tài)進行判斷),第三個基本部分是移位寄存器(用以將下一個狀態(tài)傳遞到下一次循環(huán)狀態(tài)判 斷中)。另外在一個完整的狀態(tài)機中,我們一般還會提供初始狀態(tài),每一個狀態(tài)的執(zhí)行步驟以 及下一個狀態(tài)切換代碼等等。 備環(huán)結(jié)梅粽持 秋態(tài)機的運行 執(zhí)行步驟 /切換代碼 I下狀態(tài)I - _-X. / 除了前面

42、提到的三個基本部分以外, 狀態(tài)機的構(gòu)建還有一個技巧, 就是使用枚舉型常量來 作為狀態(tài)變量,相對于其它數(shù)據(jù)類型來說,枚舉常量表示了兩組成對的數(shù)據(jù),一組是字符串, 一組是數(shù)值,兩者一一對應(yīng),在前面板上,能直觀地看到字符串, 在程序面板上則簡單地表示 為數(shù)值型數(shù)據(jù),整個枚舉型數(shù)據(jù)的值可以是預(yù)定義的多個數(shù)據(jù)中的任何一個值。 為什么要使用枚舉型數(shù)據(jù)來作為狀態(tài)變量呢? 因為枚舉型數(shù)據(jù)和條件結(jié)構(gòu)配合使用時相當方便。 第一,在條件結(jié)構(gòu)的條件判斷框中,看 到的將不是單純的數(shù)值, 而是定義好的字符串, 這樣直觀的表現(xiàn)形式給不同狀態(tài)的管理帶來了 方便,另外,在條件結(jié)構(gòu)上通過右鍵單擊, 選擇為每個值添加分支, 就能夠

43、自動地將條件結(jié)構(gòu) 根據(jù)枚舉數(shù)據(jù)進行展開,從而保證每個狀態(tài)的完整性。 此外,考慮到以后對狀態(tài)機修改及維護的方便, 通常將該枚舉常量保存為一個自定義控件, 將其作為枚舉常量引入狀態(tài)機中, 當需要對狀態(tài)變量進行修改時,只需要對該自定義控件進行 一次修改、更新,就能對該狀態(tài)機中任何位置的狀態(tài)變量進行統(tǒng)一的管理了。 三、實驗內(nèi)容 1. 在前面板中顯示一個按鈕和一個數(shù)值輸入控件,當在按鈕上按下鼠標或數(shù)值輸入控件 值發(fā)生變化時,產(chǎn)生事件。當該事件發(fā)生時,彈出對話框,詢問是否繼續(xù),點擊 Yes, While 循環(huán)繼續(xù)執(zhí)行;若點擊 No則退出While循環(huán);此外,設(shè)置一個超時處理子圖形代碼框,若 5 秒鐘沒有在

44、前面板操作,則退出 While循環(huán)。pa 進結(jié)梅戲毎一故態(tài)都配蚤- 個分支M鍛斤狀態(tài)判斷 切議代汨翼掘執(zhí)匕化黃中的結(jié)援束 決定下一軾態(tài) LabVIEW實驗指導(dǎo)書 20 2. 數(shù)據(jù)采集與處理狀態(tài)機設(shè)計。該狀態(tài)機主要完成數(shù)據(jù)采集與數(shù)據(jù)分析功能。 (1)狀態(tài)變量枚舉類型定義為:初始化、停止、檢查 VI事件、數(shù)據(jù)采集、數(shù)據(jù)分析等 五項,將其設(shè)定為 自定義類型。系統(tǒng)狀態(tài)轉(zhuǎn)換圖如圖 4-5所示。 (2)在“初始化”分支中,將向波形圖、信號測量局部變量寫入初始數(shù)據(jù)代碼。注意數(shù) 組常亮為一個空數(shù)組。 (3 )在“檢查VI事件”分支中,設(shè)置一個 VI事件結(jié)構(gòu),事件結(jié)構(gòu)包含以下事件分支: “數(shù)據(jù)采集”:值改變;

45、“數(shù)據(jù)分析”:值改變; “停止”:值改變。 并將每個按鈕設(shè)置為“釋放時觸發(fā)”。 (4 )輸出隧道設(shè)置為“取消未連線時使用默認” 。 (5) Case結(jié)構(gòu)中不要包含默認幀。 (6) 前面板及部分程序框圖如下: Isoook- LabVIEW實驗指導(dǎo)書 21 LabVIEW實驗指導(dǎo)書 22 門把手一一指示燈控件,要開門時門把手變綠,不開門時門把手為紅色。 要求用事件結(jié)構(gòu)設(shè)計, 運行程序后,就一直等待事件的發(fā)生, 此時,如果用鼠標點擊“門” 一次,則會彈出對話框,顯示“您找誰呀?” ,如果讓其進入,選擇“確定”按鈕,門把手變 “綠”,程序終止;如果不讓其進入,選擇“取消” ,敲門次數(shù)顯示為1,程序繼

46、續(xù)等待。 如果再敲門,則顯示“對不起,您敲錯了! ”,確定后,敲門次數(shù)顯示為 2。如果再敲,則 顯示“錯了,請不要再敲了! ”,敲門次數(shù)顯示為 3。如果再敲,則顯示“如果再敲,我就要報 警了! ”,敲門次數(shù)顯示為4。如果還敲,則顯示“這里是 110,我們正趕往您那兒! ”,確定后, 程序自行終止。 如果在整個過程中,點擊“停止”按鈕,程序隨時終止。 四、 思考題 1 什么是事件?事件結(jié)構(gòu)有哪幾部分組成?使用事件結(jié)構(gòu)有何優(yōu)點? 2. 什么是狀態(tài)機?狀態(tài)機有哪幾部分組成?為什么要使用狀態(tài)機? 五、 實驗報告要求 1 調(diào)試編輯以上 VI,按順序打印以上 VI的前面板與程序框圖后,貼在實驗報告上;實

47、驗報告中要求詳細說明設(shè)計步驟要點。 2. 使用公式節(jié)點時,如果輸入變量的名稱同輸出變量的名稱相同時,會怎樣? 3. 心得體會及其它。 裝苗門把手 LabVIEW實驗指導(dǎo)書 23 實驗五 LabVIEW 編程的數(shù)組與簇 、實驗?zāi)康?1 掌握如何創(chuàng)建、使用數(shù)組;數(shù)組函數(shù)的功能和應(yīng)用,掌握它們的區(qū)別以及相應(yīng)操作。 2掌握如何創(chuàng)建、使用簇;簇函數(shù)的功能和應(yīng)用,掌握它們的區(qū)別以及相應(yīng)操作。 二、實驗原理 1.數(shù)組是一些具有 相同類型 的元素組成的集合。數(shù)組包含兩方面的內(nèi)容: 元素和維數(shù)。 數(shù)組中的元素可以是 數(shù)字、布爾、字符、路徑、波形和簇等數(shù)據(jù)類型。一個數(shù)組可以是一維或 者多維,如果必要,每維最多可有

48、 231-1個元素。可以通過數(shù)組索引訪問其中的每個元素。 數(shù) 組元素不能是數(shù)組、圖表或者圖形 。 LabVIEW 提供了很多用于操作數(shù)組的功能函數(shù), 位于函數(shù)Functions?數(shù)組Array中。其中 包括創(chuàng)建數(shù)組、初始化數(shù)組、數(shù)組大小、數(shù)組子集、索引數(shù)組等。 創(chuàng)建數(shù)組:用于根據(jù)標量值或者其他的數(shù)組創(chuàng)建一個數(shù)組。 初始化數(shù)組:創(chuàng)建所有元素值都相等的數(shù)組。 數(shù)組大小:返回輸入數(shù)組中的元素個數(shù)。 數(shù)組子集:選取數(shù)組或者矩陣的某個部分。 索引數(shù)組:用于訪問數(shù)組中的某個元素。 建立數(shù)組的步驟如下: 1)從數(shù)組和類子模板(Controls-AII Controls-Array & Cluster

49、)上選中數(shù)組,放置在前面 板中,此時為數(shù)組空殼,可以向里邊添加(用拖拽的方法)數(shù)字、布爾、字符等數(shù)據(jù)類型的控 制器或指示器,來建立相應(yīng)的數(shù)組控制器和指示器。此時可以看到數(shù)組上有兩個顯示窗口: 標號顯示窗:標號從0開始,每單擊一次 增加”鍵,標號顯示值順序遞增。這個標號 就是數(shù)組元素的序號;對于一個含 n個元素的數(shù)組,其標號為 0n-1。 元素顯示窗:用來顯示元素的數(shù)值。數(shù)組中的元素按序號排列。數(shù)組元素的查找按行 /列標號進行。 2)右鍵單擊標號窗口,彈出一個快捷菜單,選擇 Add Dimension來增加數(shù)組的維數(shù)。 2.簇(Cluster)是另一種數(shù)據(jù)類型,它的元素可以是 不同類型的數(shù)據(jù)。它

50、類似于 C語言 中的structure。使用簇可以把分布在框圖中各個位置的數(shù)據(jù)元素組合起來, 這樣可以減少連線 的擁擠程度,減少子 VI的連接端子的數(shù)量。 簇相當于一個容器, 容器中的元素可以是各種不同的數(shù)據(jù)類型。 也就是說,可以在一個簇 中放置控制模板上的各種控件, 如數(shù)字控件、布爾控件、數(shù)組控件等,但是不能將輸入控件和 輸出控件同時放入其中。因此,在編輯流程圖時,可以減少連線數(shù)以及連線的節(jié)點數(shù), 最終簡 化流程圖。它有多個輸入,一個輸出。 要建立簇,可以選擇控制模板中數(shù)組和類子模板上的 Cluster,將其調(diào)入前面板。向類控 件中放入元素,即將控制模板中的相應(yīng)控件放入其中,俗稱把元素 捆綁

51、”在一起。 捆綁(Bundle)數(shù)據(jù) Bun die功能將分散的元件集合為一個新的簇,或允許你重置一個已有的 簇中的元素??梢杂梦恢霉ぞ咄弦菲鋱D標的右下角以增加輸入端子的個數(shù)。 最終簇的序是取決于被捆綁的輸入的順序 。右圖中Bundle圖標中部的Cluster端子用于用新元LabVIEW實驗指導(dǎo)書 24 如“ AutoSizing,改變標簽的名稱, 是否顯示標簽 等內(nèi)容及填入描述信息。 屬性頁將前面板的屬性特征集中到了一些簡單的配置對話框中。 數(shù)組和簇的區(qū)別如下: 簇可以包含不同的數(shù)據(jù)類型,而數(shù)組僅可以包含相同的數(shù)據(jù)類型; 簇具有固定的大小。 三、實驗內(nèi)容 1. 練習(xí)數(shù)組的基本創(chuàng)建。利用循環(huán)的

52、自動索引功能創(chuàng)建一個裝有 10個隨機數(shù)的一維數(shù)組, 并計算數(shù)組元素的平方和,同時求出該數(shù)組索引為 3、長度為2的子數(shù)組。要求前面板顯示該 一維數(shù)組及平方和結(jié)果、輸出的子數(shù)組。 2. 編輯下列 VI ,理解一維數(shù)組和二維數(shù)組的產(chǎn)生, 存為Two Dimensional Array Demo.vi 。 素重置原簇中的元素。 分解(Unbundle )簇 壬 Unbundle是Bundle的逆過程,它將一個簇分解為若干分離的 元素。如果要對一個簇分解,就必須知道它的元素個數(shù)。LabVIEW 還提供一種可以根據(jù)元素的名字來捆綁或分解簇的方法。 右鍵單擊簇控件的邊緣,彈出快捷菜單,如圖 5-1。其中:

53、Reorder Controls In Cluster :用于設(shè)置類控件中各元素的排列 順序,這個排列順序是輸出信號順序,如圖 5-2所示。在Cluster 輸出1和輸出2兩個簇控件中,元素輸出的排列順序不一樣。 AutoSizing :右鍵單擊該選項后,出現(xiàn)如圖 5-3所示的菜單, 選擇相應(yīng)的選項,可自動調(diào)節(jié)類控制的邊框大小及排列方式。 JkifefLC 廠 Iwttric 2 廠 VisiKLe Reu Tiad ItniDii Gkant! ti liii citw Ciscripi on *3 Tqp CrM JieplKe Ii卅 Operitim Aafi:ed Siorfer I

54、n Clwitw PraDHrijiii 圖 5-1簇控件快 捷菜單 Properties:用來定義類控件的一些屬性, 圖 5-3 AutoSizing 設(shè)置 d Mne- Size to Fit Irmina IHjori z out ally Jlrr 血驢 常r I i e ally LabVIEW實驗指導(dǎo)書 25 5-4 Two Dimensional Array 2-D Array |0055 0J147 0.W84 |0&715 0.6311 0,7714 |0 2S16 0.J1TD1 |O50Z2 0WQ7 ( (0MI17 | 瞋 EM弓 0 1645 3 3 用;7

55、 U *IW| i -LabVIEW實驗指導(dǎo)書 26 3 創(chuàng)建一個VI,實現(xiàn)將輸入控件值與輸入數(shù)組合并連接起來生成新的數(shù)組。該 數(shù)組大小和初始化數(shù)組兩函數(shù)來創(chuàng)建維數(shù)合適的新數(shù)組,并將新數(shù)組的所有元素初始化為 最后,VI計算兩新數(shù)組間的差,并將結(jié)果顯示在前面板中。前面板和基本程序框圖組成如圖 5-5所示,最后將該 VI保存為 Practice with Arrays .vi文件。 圖 5-5 Practice with Arrays 前面板和程序框圖 4創(chuàng)建由一個控件簇和一個顯示簇所組成的 VI。要求輸入控件數(shù)值加一,開關(guān)二反相, 顯示簇同時進行相應(yīng)的顯示。前面板組成如圖 5-6,最后將該VI保

56、存為Cluster.vi文件。 圖 5-6 Cluster 前面板和程序框圖 四、思考題 1 討論數(shù)組和簇的相同點和不同點。 2用戶可以創(chuàng)建一個包含數(shù)組的數(shù)組。 (a.真 b.假) 3將兩個輸入數(shù)組和一個 For循環(huán)相連。自動索引在兩個通道中都有效。一個數(shù)組有 10 個元素,另一個數(shù)組有 5個元素。如圖所示,計數(shù)接線端與一個值 7相連。這個VI運行完之 后,循環(huán)顯示控件的值是多少呢? 計數(shù) 0 - E - 1 杠陰 11 E元彌爼 hl - _ 雖然 ForFor 循環(huán)運行 5 5 次,但是循環(huán)計數(shù)從 0 0 開始,因此循環(huán)顯示控件值顯示為 4 4。 五、實驗報告要求 1 調(diào)試編輯以上 VI,

57、按順序打印以上 VI的前面板與程序框圖后,貼在實驗報告上;實 驗報告中要求詳細說明設(shè)計步驟要點。 2. 心得體會及其它。VI使用 1。 LabVIEW實驗指導(dǎo)書 27 實驗六 LabVIEW 編程的圖形顯示 一、 實驗?zāi)康?1. 學(xué)習(xí)并掌握 Chart和Graph的使用,理解它們的區(qū)別。 2. 掌握Chart的三種顯示模式。 3. 了解其它二維圖形的繪制。 二、 實驗原理 圖形顯示是虛擬儀器面板設(shè)計的重要內(nèi)容。 圖形是以曲線來顯示數(shù)組中的數(shù)據(jù) ,常用的二 維圖形控件有 Chart、Graph和XY Graph,可顯示多條曲線。并可以改變曲線顯示的格式。 在LabVIEW 的圖形顯示中 Grap

58、h和Chart是兩個基本的概念。一般說來 ChartChart 是將數(shù)據(jù) 源(例如采集得到的數(shù)據(jù)) 在某一坐標系中,實時、逐點地顯示出來 ,它可以反映被測物理量 的變化趨勢,例如顯示一個實時變化的波形或曲線, 傳統(tǒng)的模擬示波器、波形記錄儀就是這樣。 而 G Graphraph 則是對已采集數(shù)據(jù)進行事后處理的結(jié)果 。它先將被采集數(shù)據(jù)存放在一個數(shù)組之中, 然后根據(jù)需要組織成所需的圖形顯示出來 。它的缺點是沒有實時顯示,但是它的表現(xiàn)形式要豐 富得多。例如采集了一個波形后,經(jīng)處理可以顯示出其頻譜圖。如數(shù)字示波器。 LabVIEW 的Graph子模板中有許多可供選用的控件,其中常用的見下表: Chart

59、 Graph Waveform (波形) * * XY * Intensity (強度圖) * * Digital (數(shù)字圖) * 3D Curve (三維曲線) * 由表中可以看出,Chart方式盡管能實時、直接地顯示結(jié)果, 但其表現(xiàn)形式有限, 而Graph 方式表現(xiàn)形式要遠為豐富,但這是以犧牲 實時為代價的。 1 1. GraphGraph 控件(波形圖) 以Graph為例,圖6-1為它的控件,這些控件都包含在圖形菜單的 Visible ItemsVisible Items 選項下。 圖 6-1 Graph 的圖形控件 (Scale Legend) Legend) 曲線圖例 光 P標圖例

60、(Cursor Legend) | 標簽(Label) Plot 0 f T A.v*fGrzh. 圖形模板 說明 (Caption) OJO- LabVIEW實驗指導(dǎo)書 28 曲線圖例可用來設(shè)置曲線的各種屬性,包括線型(實線、虛線、點劃線等) 色以及數(shù)據(jù)點的形狀等。、線粗細、顏 LabVIEW實驗指導(dǎo)書 29 圖形模板可用來對曲線進行操作,包括移動、對感興趣的區(qū)域放大和縮小等。 光標圖例用來設(shè)置光標、移動光標,幫助你用光標直接從曲線上讀取感興趣的數(shù)據(jù)。 刻度圖例用來設(shè)置坐標刻度的數(shù)據(jù)格式、類型(普通坐標或?qū)?shù)坐標) ,坐標軸名稱以及 刻度柵格的顏色等。 2 2. Chart Chart (波形圖表)的獨有控件 C

溫馨提示

  • 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

提交評論