第11講-虛擬儀器技術(shù)軟件開發(fā)_第1頁
第11講-虛擬儀器技術(shù)軟件開發(fā)_第2頁
第11講-虛擬儀器技術(shù)軟件開發(fā)_第3頁
第11講-虛擬儀器技術(shù)軟件開發(fā)_第4頁
第11講-虛擬儀器技術(shù)軟件開發(fā)_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

現(xiàn)代測試技術(shù)及應(yīng)用作業(yè):

1.虛擬儀器系統(tǒng)組成包括哪幾個部分?

2.虛擬儀器軟件開發(fā)環(huán)境通常都包括哪幾種? 3.簡述虛擬儀器技術(shù)的優(yōu)勢。WearehelpingtonurturefutureengineersandscientistsTheengineersandscientistsof2020aresecondgraders– 7-and8-year-oldsWhyNationalInstrumentsandLEGO??IntelligentBrick32-bitprocessorHi-SpeedUSBandBluetoothcommunication100x64pixeldisplay3outputs4inputsLoudspeaker(8kHzsoundquality)Power,6AAbatteries

(wallchargerineducationalkit)ProductOverviewTriBotDemos–YellandSpin–CatchandRun–RecordandPlayTriBotYellandSpinTriBotCatchandRunTriBotRecordandPlay

4虛擬儀器軟件開發(fā)

(1)LabVIEW概述;

(2)LabVIEW編程環(huán)境;

(3)LabVIEW程序結(jié)構(gòu);

(4)LabVIEW圖形化數(shù)據(jù)及顯示;

第7章

虛擬儀器技術(shù)一

LabVIEW概述1什么是LabVIEW?LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench,實驗室虛擬儀器工程平臺)是美國NI公司(NationalInstrumentCompany)推出的一種基于G語言(GraphicsLanguage,圖形化編程語言)的虛擬儀器軟件開發(fā)工具。G語言作為LabVIEW的核心語言C語言、BASIC語言一樣,是一種帶有各種函數(shù)庫的編程語言,它提供了專門用于數(shù)據(jù)采集和儀器控制的函數(shù)庫與開發(fā)工具。

用LabVIEW設(shè)計的虛擬儀器可脫離LabVIEW開發(fā)環(huán)境,最終用戶看見的是和實際的硬件儀器相似的操作面板。LabVIEW為虛擬儀器設(shè)計者提供了一個便捷、輕松的設(shè)計環(huán)境,利用它,設(shè)計者可以像搭積木一樣,輕松組建一個測量系統(tǒng)和構(gòu)造自己的儀器面板,而無需進行任何繁瑣的計算機代碼的編寫。2LabVIEW軟件的特點與優(yōu)點①圖形化的編程方式,設(shè)計者無需寫任何文本格式的代碼,是真正的工程師的語言。②提供了豐富的數(shù)據(jù)采集、分析及存儲的庫函數(shù)。③既提供了傳統(tǒng)的程序調(diào)試手段,如設(shè)置斷點、單步運行,同時提供有獨到的高亮執(zhí)行工具,使程序動畫式運行,利于設(shè)計者觀察程序運行的細節(jié),使程序的調(diào)試和開發(fā)更為便捷。④

32bit的編譯器編譯生成32bit的編譯程序,保證用戶數(shù)據(jù)采集、測試和測量方案的高速執(zhí)行。⑤囊括了DAQ、GPIB、PXI、VXI、RS–232?/?485在內(nèi)的各種儀器通信總線標準的所有功能函數(shù),使得不懂總線標準的開發(fā)者也能夠驅(qū)動不同總線標準接口設(shè)備與儀器。⑥提供大量與外部代碼或軟件進行連接的機制,諸如DLLs(動態(tài)連接庫)、DDE(共享庫)、ActiveX等。⑦強大的Internet功能,支持常用網(wǎng)絡(luò)協(xié)議,方便網(wǎng)絡(luò)、遠程測控儀器的開發(fā)。

4虛擬儀器軟件開發(fā)

(1)LabVIEW概述;

(2)LabVIEW編程環(huán)境;

(3)LabVIEW程序結(jié)構(gòu);

(4)LabVIEW圖形化數(shù)據(jù)及顯示;

第7章

虛擬儀器技術(shù)二LabVIEW編程環(huán)境LabVIEW8.6主對話框中有六個大項,LabVIEW軟件包內(nèi)容分別包含在這六個項目中。1NewVINewVI是LabVIEW提供給用戶創(chuàng)建/設(shè)計虛擬儀器的工作環(huán)境。一個VI由兩部分組成:一個前面板(Panel)和一個流程圖(Diagram)(或稱后面板)。

前面板的功能等效于傳統(tǒng)測試儀器的前面板;

流程圖的功能等效于傳統(tǒng)測試儀器與前面板相聯(lián)系的硬件電路。2?Panel(前面板)及其開發(fā)窗口

當(dāng)在主對話框中選擇“NewVI”后,出現(xiàn)的第一個窗口是前面板開發(fā)窗口。窗口中包含主菜單欄(File,Edit,Operate,Project,Windows,Help)和快捷工具欄。

設(shè)計制作虛擬儀器前面板,就是用Tools(工具)模板中相應(yīng)的工具去取用Controls(控制)模板上的有關(guān)控件,擺放到窗口中的適當(dāng)位置,來組成虛擬儀器前面板。

3?Diagram(流程圖)及其編輯窗口

流程圖是圖形化的源代碼,是VI測試功能軟件的圖形化表述。虛擬儀器是由軟件編程來實現(xiàn)測試功能的,而軟件編程分兩種:基于傳統(tǒng)的文本式編程方式,如Labwindows/CVI;圖形化編程方式。LabVIEW采用圖形化編程方式。在流程圖編輯窗口,選用Tools(工具)模板中相應(yīng)的工具去取用Functions(功能)模板上的有關(guān)圖標來設(shè)計制作虛擬儀器流程圖,以完成虛擬儀器的設(shè)計工作。4取用控件和模板的各種方法(1)?ControlsPalette(控制模板)的調(diào)用方法 在前面板開發(fā)窗口,選擇主菜單“Windows>>ShowControlsPalette”或按鼠標右鍵即彈出。

(2)?FunctionsPalette(功能模板)的調(diào)用方法 在流程圖編輯窗口,選擇主菜單“Windows>>ShowFunctionsPalette”或按鼠標右鍵即彈出。

(3)?ToolsPalette(工具模板)的調(diào)用方法

選擇主菜單“Windows>>ShowToolsPalette”即彈出。

5主菜單欄及快捷工具欄

主菜單欄及快捷工具欄用于虛擬儀器的設(shè)計、編輯及運行。

1)主菜單欄簡介

主菜單欄共有六個子菜單。 ①?File子菜單。在進入LabVIEW開發(fā)窗口后,如果想新建(New)、打開(Open)、保存(Save)、打印(Print),關(guān)閉(Close)VI時,點擊File中的相應(yīng)選項。當(dāng)在NewVI環(huán)境中欲進入OpenVI時,不必退回主對話框。

②?Edit子菜單。?將文本式編程語言中常用的Cut、Copy、Paste、Delete功能用于LabVIEW中的圖標及控件的操作。 ③?Operate子菜單。該子菜單主要選項有Run、RunContinuously、Pause、AbortExecution、HighlightExecution,用于調(diào)試或運行LabVIEW程序。④?Project子菜單。該子菜單選項主要有:ShowVIHierarchy:顯示VI流程圖中所調(diào)用的子VI。

FileManager:用于調(diào)用Windows下的應(yīng)用程序。InstrumentWizard:與LabVIEW8.6主對話框中SolutionWizard的內(nèi)容相同。

⑤?Windows子菜單。子菜單選項用于彈出Diagram(流程圖)編輯窗口、Panel(前面板)設(shè)計窗口、ToolsPalette(工具模板)、Functions(功能)模板和Controls(控制)模板。 ⑥?Help子菜單:子菜單選項用于各項分類幫助。2)快捷工具欄簡介

①虛擬儀器啟動運行按鈕,當(dāng)VI沒有脫離LabVIEW環(huán)境時,可用它來啟動運行程序。 ②虛擬儀器連續(xù)運行按鈕。 ③終止虛擬儀器程序運行按鈕。 ④暫停虛擬儀器程序運行按鈕。

⑤單步點亮運行虛擬儀器程序按鈕。當(dāng)用鼠標點擊該按鈕后,再運行程序,在流程圖編輯窗口中可以看見數(shù)據(jù)流的走向。 ⑥單步運行虛擬儀器程序按鈕。 ⑦跳過子VI運行虛擬儀器程序按鈕。 ⑧文字編輯框,用于虛擬儀器設(shè)計過程中涉及到的文字的編輯,如選擇文字的大小、顏色、字體等。⑨對齊按鈕,用于把控件或圖標左、右、上、下對齊排列。⑩排列方式框,用于把控件或圖標分布式均勻排列。⑾重疊方式框,用于把控件或圖標放置于上面或下面重疊放置。前五項子菜單功能分別與Operate子菜單中的選項Run、RunContinuously、Pause、AbortExecution、HighlightExecution的功能相同。

4虛擬儀器軟件開發(fā)

(1)LabVIEW概述;

(2)LabVIEW編程環(huán)境;

(3)LabVIEW程序結(jié)構(gòu);

(4)LabVIEW圖形化數(shù)據(jù)及顯示;

第7章

虛擬儀器技術(shù)三LabVIEW程序結(jié)構(gòu)1順序結(jié)構(gòu)(SequenceStructure)2For循環(huán)3While循環(huán)4Case結(jié)構(gòu)5事件結(jié)構(gòu)(EventStructure)6使能結(jié)構(gòu)7公式節(jié)點(FormulaNode)所有的程序結(jié)構(gòu)都位于“Functions—>AllFunctions—>Structures”子模塊中1順序結(jié)構(gòu)(SequenceStructure)順序結(jié)構(gòu)包含一個或多個按順序執(zhí)行的子程序框圖或幀,程序中用幀結(jié)構(gòu)來控制程序的執(zhí)行,執(zhí)行完某一幀中的程序后再執(zhí)行下一幀中的程序。順序結(jié)構(gòu)包括層疊式順序結(jié)構(gòu)和平鋪式順序結(jié)構(gòu)。順序結(jié)構(gòu)位于函數(shù)模板中的“AllFuntions—>Structures”子模板中,包括FlatSequenceStructure和StackedSequenceStructure。StackedSequenceStructureFlatSequenceStructure結(jié)構(gòu)功能相同,相互之間可以進行轉(zhuǎn)換,右鍵菜單中的“替換—>替換為平鋪式/層疊式順序”在StackedSequenceStructure的Frame間傳遞數(shù)據(jù),不能通過數(shù)據(jù)線直接傳遞,要借助局部變量(右鍵菜單中的“添加順序局部變量”)在FlatSequenceStructure的Frame間傳遞數(shù)據(jù),可以通過數(shù)據(jù)線傳遞,不需要局部變量。*順序結(jié)構(gòu)是一種強制的串行機制,雖然可以保證執(zhí)行順序,但同時也阻止了并行操作,應(yīng)避免過多使用順序結(jié)構(gòu)。2For循環(huán)For循環(huán)用于將某段程序循環(huán)執(zhí)行指定的次數(shù)??梢酝ㄟ^兩種方法指定循環(huán)次數(shù),一種是直接給定,一種是通過輸入數(shù)組的大小給定。輸入和輸出數(shù)組移位寄存器(ShiftRegister)一個累加10次的a++程序通過局部變量實現(xiàn)通過移位寄存器實現(xiàn)

反饋節(jié)點(FeedbackNode)通過反饋節(jié)點實現(xiàn)a++

3While循環(huán)兩個參數(shù):當(dāng)前循環(huán)次數(shù)和條件布爾判斷量;循環(huán)次數(shù)由布爾量來判斷決定。循環(huán)的條件有兩種:“真時停止”和“真時繼續(xù)”。添加定時器使用移位寄存器和反饋節(jié)點累加器程序4Case結(jié)構(gòu)If(a%2==0)b=a+2;elseb=a+1;end等價于if...else...語句的Case結(jié)構(gòu)等價于switch語句的Case結(jié)構(gòu)switch(fruit){caseapple:price=9;casebanana:price=10;casepear:price=8;default:price=0;}5事件結(jié)構(gòu)(EventStructure)分析該程序可以看出,這個程序在沒有用戶點擊的情況下完全都是在“空轉(zhuǎn)”,浪費了大量的CPU資源,而且當(dāng)“事件”發(fā)生太快時可能會被忽略。因此Labview提供了事件結(jié)構(gòu)來解決這個問題,即僅當(dāng)“事件”發(fā)生時,程序才做相應(yīng)的響應(yīng)基于While循環(huán)和Case結(jié)構(gòu)的單擊計數(shù)器

事件結(jié)構(gòu)框及設(shè)置1)事件處理分支:列出事件分支及總數(shù)2)事件說明符:列出事件源和事件結(jié)構(gòu)當(dāng)前分支處理的所有事件名稱3)事件源:列出按類排列的事件源4)事件:列出事件源對應(yīng)事件列表Filter事件顧名思義,當(dāng)該事件發(fā)生時,用戶可以過濾掉甚至完全放棄掉該事件將觸發(fā)的活動。

6使能結(jié)構(gòu)框圖使能結(jié)構(gòu)——注釋程序框圖7公式節(jié)點(FormulaNode)通過公式節(jié)點,用戶不僅可以實現(xiàn)復(fù)雜的數(shù)學(xué)公式,還能通過文本編程寫一些基本的邏輯語句,如if…else…,case,while循環(huán)之類的語句。y=公式節(jié)點中可以包含任意數(shù)量的公式

文本編程語言的實現(xiàn)基于公式節(jié)點的CRC16算法的實現(xiàn)

4虛擬儀器軟件開發(fā)

(1)LabVIEW概述;

(2)LabVIEW編程環(huán)境;

(3)LabVIEW程序結(jié)構(gòu);

(4)LabVIEW圖形化數(shù)據(jù)及顯示;

第7章

虛擬儀器技術(shù)四LabVIEW圖形化數(shù)據(jù)及顯示

1波形數(shù)據(jù)(Waveform)2波形顯示—波形圖、波形圖表3XY圖4強度圖形—強度圖、強度圖表5三維圖形(3DGraph)—三維曲面圖

三維參數(shù)圖

三維參數(shù)圖1波形數(shù)據(jù)(Waveform)LabVIEW在程序設(shè)計過程中和信號采集、處理和輸出等操作有密切的聯(lián)系,為了數(shù)據(jù)處理和程序設(shè)計的方便,提供了一種特殊類型的數(shù)據(jù):波形數(shù)據(jù)波形數(shù)據(jù)就是按照一定格式預(yù)定義的簇,在信號采集,處理和分析過程中經(jīng)常會用到它波形數(shù)據(jù)控件攜帶的數(shù)據(jù)包含了時間波形的基本信息,因此可以直接作為Chart和Graph的輸入。橫坐標代表時間,縱坐標代表Y值波形數(shù)據(jù)控件位于控件選板“AllControls—>I/O—>Waveform”波形數(shù)據(jù)包括以下組成部分:

1)起始時間t0,為時間標識類型;

2)時間間隔dt,為雙精度浮點類型;

3)波形數(shù)據(jù)Y,為雙精度浮點類型。

波形數(shù)據(jù)操作函數(shù)雖然波形數(shù)據(jù)是一種預(yù)定義格式的簇,但是必須用專用的波形數(shù)據(jù)操作函數(shù)才能對它進行操作,其中某些操作函數(shù)與簇的操作函數(shù)非常類似。波形數(shù)據(jù)的操作函數(shù)位于FunctionsPalette的AllFunctions->Waveform…子模板下獲取波形成分將輸入的波形解包,有選擇的輸出t0、dt、Y等數(shù)據(jù)創(chuàng)建波形根據(jù)輸入的數(shù)據(jù)t0、dt等創(chuàng)建波形或修改輸入的波形并輸出設(shè)置波形屬性給輸入的波形添加屬性(名稱和值)后輸出獲取波形屬性從輸入波形中讀取指定”名稱“的屬性值,輸出原輸入和屬性值,如果沒有找到則輸出默認屬性值

模數(shù)轉(zhuǎn)換根據(jù)制定的分辨率和滿刻度范圍將輸入的模擬波形轉(zhuǎn)換為數(shù)字波形輸出數(shù)模轉(zhuǎn)換將輸入的數(shù)字波形轉(zhuǎn)換為模擬波形并輸出索引波形數(shù)組提取輸入波形數(shù)據(jù)中指定”索引”的波形并輸出復(fù)制波形dt將輸入波形中所有dt數(shù)值替換為指定索引處dt值對齊波形時間標識將輸入波形中所有時間戳t0替換為制定索引處t0獲取波形子集從輸入波形指定的“起始采樣/時間”處開始提取指定“持續(xù)期”的波形輸出,并輸出“實際起始采樣/時間”和

“實際持續(xù)期”獲取終止時間值提取輸入波形最后一個波形值,并保持原輸入波形

不變輸入波形持續(xù)時間計算輸入波形的長度輸出,并保持原輸入波形不變輸出獲取Y值提取輸入波形合縱指定的Y位置處波形值并輸出,并保持原輸入波形不變輸出按dt縮放將輸入波形中所有dt值乘上縮放因子后輸出獲取波形時間標識數(shù)組獲取輸入波形中所有的時間戳,并組成一個數(shù)組輸出波形數(shù)據(jù)操作函數(shù)舉例返回LabVIEW最吸引的特性之一就是對數(shù)據(jù)的圖像化提供了豐富的支持。強大的圖形顯示功能增強了用戶界面的表達能力。2波形顯示兩個基本的圖形顯示工具:圖和圖表。圖采集所有需要顯示的數(shù)據(jù),并可以對數(shù)據(jù)進行處理后一次性顯示結(jié)果;圖表將采集的數(shù)據(jù)逐點的顯示為圖形,可以反應(yīng)數(shù)據(jù)的變化趨勢,類似于傳統(tǒng)的模擬示波器、波形記錄儀。圖顯示的類型包括波形圖、XY圖、強度圖和3D圖;圖表顯示的類型包括波形圖表和強度圖表。最基本的圖形顯示控件都位于Controls—>AllControls—>Graph子模板上。2波形顯示—波形圖表Chart可以將新測得的數(shù)據(jù)添加到曲線的尾端,從而反映實時數(shù)據(jù)的變化趨勢,它主要用來顯示實時曲線。

右鍵菜單及屬性框帶狀圖表示波器圖表掃描圖對于標量數(shù)據(jù),Chart圖表直接將數(shù)據(jù)添加在曲線的尾端。

對于一維數(shù)組數(shù)據(jù),它會一次性把一維數(shù)組的數(shù)據(jù)添加在曲線末端,即曲線每次向前推進的點數(shù)為數(shù)組數(shù)據(jù)的點數(shù)。

若要顯示多條標量曲線,只需要用簇的Bundle函數(shù)將它們綁定在一起作為輸入即可。

對于二維數(shù)組,缺省情況下是每一列的數(shù)據(jù)當(dāng)作一條一維數(shù)組曲線。

分欄顯示多條曲線右擊Chart選擇stackplots,可以顯示多條曲線設(shè)置更新模式右擊Chart選擇Advanced->UpdateMode…可以設(shè)置曲線的更新模式。StripChart模式:曲線填滿顯示區(qū)后曲線通過左移來更新曲線。ScopeChart模式:曲線填滿顯示區(qū)后直接清空顯示區(qū)重新開始從左向右增長曲線在SweepChart模式:通過一條指示紅線從左向右刷新數(shù)據(jù)定制Chart顯示樣式返回2波形顯示—波形圖WaveformGraph波形圖用于顯示測量值為均勻采樣的一條或多條曲線Graph和Chart的區(qū)別在于Graph是一次性將現(xiàn)有數(shù)據(jù)繪圖,在繪圖之前先自動清空圖表,而不會將新數(shù)據(jù)添加到曲線的尾端。波形圖控件都位于Controls—>AllControls—>Graph子模板上,它可以有多種數(shù)據(jù)輸入類型:一維數(shù)組,二維數(shù)組,簇,簇數(shù)組,波形數(shù)據(jù)。右擊Graph控件可以看到該控件有很多屬性可以設(shè)置。選擇VisibleItems…可以看到關(guān)于該控件的很多輔助選項。選擇這些選項可以使它們都可見,如下圖所示。圖例右鍵菜單1)一維數(shù)組作為輸入當(dāng)輸入數(shù)據(jù)為一維數(shù)組時,WaveformGraph直接將一維數(shù)組畫成一條曲線,縱坐標為數(shù)組元素的值,橫坐標為數(shù)組索引。

2)二維數(shù)組作為輸入當(dāng)輸入數(shù)組為二維數(shù)組時,缺省情況下每一行的數(shù)據(jù)對應(yīng)一條曲線,即曲線的數(shù)目和行數(shù)相同。

3)簇作為輸入簇作為輸入時需要指定三個元素:起始位置x0、數(shù)據(jù)點間隔dx和數(shù)組數(shù)據(jù)。4)簇數(shù)組作為輸入一維簇數(shù)組也可以直接作為Graph的輸入,此時相當(dāng)于x0為0,dx為1

5)波形數(shù)據(jù)作為輸入由于波形數(shù)據(jù)所攜帶的數(shù)據(jù)橫軸為時間,因此需要將WaveformGraph的橫軸設(shè)為時間軸。

返回3XYGraphXY圖是反映水平坐標和垂直坐標關(guān)系的圖,當(dāng)需要畫的曲線是由(x,y)坐標決定的時候,就需要采用XYGraph。XY圖可以顯示任何均勻采樣或者非均勻采樣的點的集合。其實WaveformGraph在一定意義上也是XYGraph,但是它的X軸必須是等間距的,而且不可控制。波形圖控件都位于Controls—>AllControls—>Graph子模板上,其窗口及屬性對話框與波形圖窗口及屬性對話框相同。1)XY兩個一維數(shù)組綁定為簇作為輸入

這是最簡的一種情形,Bundle函數(shù)的輸入的第一個數(shù)組為XArray,第二個數(shù)組為YArray。綁定為簇后可以直接輸入,也可以將多個簇Build為一維數(shù)組輸入實現(xiàn)多條曲線。

2)坐標點簇數(shù)組作為輸入該方式將各個點的坐標綁定為簇,然后作為簇數(shù)組輸入,和直接將XY數(shù)組綁定為簇輸入效果一樣。但是后者不一定需要XY數(shù)組的大小一致,它會自動將大的數(shù)組

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論