LabVIEW程序設計從入門到精通課件_第1頁
LabVIEW程序設計從入門到精通課件_第2頁
LabVIEW程序設計從入門到精通課件_第3頁
LabVIEW程序設計從入門到精通課件_第4頁
LabVIEW程序設計從入門到精通課件_第5頁
已閱讀5頁,還剩422頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

《LabVIEW8.20程序設計從入門到精通》

隨書課件LabVIEW程序設計從入門到精通第1章揭開LabVIEW的面紗LabVIEW程序設計從入門到精通引子“最初只存在機器語言,計算機的世界里一片黑暗。可是不久,匯編語言問世了,給計算機的世界投下了一縷曙光。后來,Fortran的出現帶來了光明。”LabVIEW圖形化編程語言的出現終于把人們——尤其是工程師和科學家們從繁雜的編程工作中解放出來,使他們能夠真正專心于自己所關注的事情。LabVIEW程序設計從入門到精通本章內容1.1虛擬儀器的概念1.2什么是LabVIEW?1.3LabVIEW可以做什么?1.4LabVIEW的發展歷程1.5如何學好LabVIEWLabVIEW程序設計從入門到精通1.1虛擬儀器的概念傳統儀器廠商定義功能虛擬儀器用戶定義功能LabVIEW程序設計從入門到精通1.1虛擬儀器的概念虛擬儀器系統是由計算機、應用軟件和儀器硬件三大要素構成的。計算機與儀器硬件又稱為VI的通用儀器硬件平臺。LabVIEW程序設計從入門到精通1.1虛擬儀器的概念軟件技術是虛擬儀器的核心技術。常用的儀器用開發軟件有LabVIEW、LabWindows/CVI、VEE等等,其中以LabVIEW應用最為廣泛。LabVIEW程序設計從入門到精通1.2什么是LabVIEW?LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一種用圖標代替文本行創建應用程序的圖形化編程語言。傳統文本編程語言根據語句和指令的先后順序決定程序執行順序,而LabVIEW則采用數據流編程方式,程序框圖中節點之間的數據流向決定了程序的執行順序。它用圖標表示函數,用連線表示數據流向。LabVIEW程序設計從入門到精通LabVIEW程序設計從入門到精通1.2什么是LabVIEW?LabVIEW程序被稱為VI(VirtualInstrument),即虛擬儀器。LabVIEW的核心概念就是“軟件即是儀器”,即虛擬儀器的概念。LabVIEW還包含了大量的工具與函數用于數據采集、分析、顯示與存儲等。LabVIEW程序設計從入門到精通1.3LabVIEW可以做什么?LabVIEW在測試、測量和自動化等領域具有最大的優勢,因為LabVIEW提供了大量的工具與函數用于數據采集、分析、顯示和存儲。用戶可以在數分鐘內完成一套完整的從儀器連接、數據采集到分析、顯示和存儲的自動化測試測量系統。它被廣泛地應用于汽車、通信、航空、半導體、電子設計生產、過程控制和生物醫學等各個領域。LabVIEW程序設計從入門到精通1.3LabVIEW可以做什么?LabVIEW不僅可以用來快速搭建小型自動化測試測量系統,還可以被用來開發大型的分布式數據采集與控制系統。在美國LawrenceLivermore國家實驗室,一個花費2000萬美金的極為復雜的飛秒激光切割系統就是基于LabVIEW開發的。在北京正負電子對撞機二期工程北京譜儀慢控制系統中,大約有30種物理量共7000多點的現場數據點需要實時采集控制和分析記錄等。LabVIEW程序設計從入門到精通LabVIEW程序設計從入門到精通1.4LabVIEW的發展歷程LabVIEW程序設計從入門到精通1.5如何學好LabVIEW1、多學習實例,本書以及LabVIEW都提供了大量的實例。2、大膽嘗試,嘗試編寫自己的程序。“Ihear…Iforget.Isee…Iremember.Ido…Iunderstand.”LabVIEW程序設計從入門到精通習題1.什么是虛擬儀器?虛擬儀器與傳統儀器的區別是什么?2.什么是LabVIEW?LabVIEW的主要優勢是什么?LabVIEW被應用在了哪些領域?LabVIEW程序設計從入門到精通第2章牛刀小試LabVIEW程序設計從入門到精通仿真信號采集VILabVIEW程序設計從入門到精通本章內容建議老師在課堂上進行實際演示。LabVIEW程序設計從入門到精通小試身手寫一個類似于左圖的正弦波發生器,要求頻率和幅度可調LabVIEW程序設計從入門到精通第3章開始LabVIEW之旅LabVIEW程序設計從入門到精通本章內容3.1安裝LabVIEW3.2LabVIEW編程環境3.2.1LabVIEW8.2啟動界面3.2.2前面板和程序框圖3.2.3控件選板3.2.4函數選板3.2.5工具選板3.3善用LabVIEW聯機幫助3.3.1實時上下文幫助窗口3.3.2聯機幫助文檔3.3.3范例查找器3.4編輯前面板3.4.1輸入控件(Controls)和顯示控件(Indicator)3.4.2控件屬性3.5編輯程序框圖3.5.1程序框圖中的控件對象3.5.2程序框圖節點3.5.3對象連線3.6運行VI3.7調試VILabVIEW程序設計從入門到精通3.1安裝LabVIEW性能要求及詳細安裝過程請參考《LabVIEW8.20程序設計從入門到精通》第3.1、3.2節LabVIEW程序設計從入門到精通LabVIEW程序包括前面板(用戶界面)和后面板(程序框圖)3種選板:控件選板(為前面板添加控件)函數選板(在程序框圖中添加函數或數據等)工具選板(選擇各種編輯工具,前面板和后面板都要用到)3.2LabVIEW編程環境LabVIEW程序設計從入門到精通3.2.1LabVIEW8.2啟動界面VI程序和工程創建欄新近打開的工程和VI程序列表欄幫助資源列表欄LabVIEW程序設計從入門到精通3.2.2前面板和程序框圖LabVIEW程序被稱為VI,擴展名默認為.vi框圖窗口前面板窗口圖標LabVIEW程序設計從入門到精通3.2.3控件選板LabVIEW程序設計從入門到精通3.2.3控件選板控件選板在前面板顯示,它包含創建前面板時可用的全部對象。控件選板中的基本常用控件可以以現代(modern)、經典(classic)和系統(system)三種風格顯示。選擇主菜單View->ControlsPalette選項或右擊前面板空白處就可以顯示控件選板。LabVIEW程序設計從入門到精通3.2.4函數選板LabVIEW程序設計從入門到精通3.2.4函數選板函數選板只能在編輯程序框圖時使用,與控件選板的工作方式大體相同。創建框圖程序常用的VI和函數對象都包含在該選板中。選擇View->FunctionsPalette或右擊框圖面板空白處就可以顯示函數選板。LabVIEW程序設計從入門到精通3.2.5工具選板LabVIEW程序設計從入門到精通3.2.5工具選板在前面板和程序框圖中都可以使用工具選板,使用其中不同的工具可以操作、編輯或修飾前面板和程序框圖中選定的對象,也可以用來調試程序等。可以選擇View->ToolsPalette選項來顯示工具選板LabVIEW程序設計從入門到精通3.3善用LabVIEW聯機幫助LabVIEW為用戶提供了非常全面的幫助信息,有效地利用幫助信息是快速掌握LabVIEW的一條捷徑。LabVIEW提供了各種獲取幫助信息的方法,包括實時上下文幫助(ShowContextHelp)、聯機幫助、LabVIEW范例查找器(FindExamples)、網絡資源(WebResources)等。LabVIEW程序設計從入門到精通3.3.1實時上下文幫助窗口單擊此處訪問更詳細的聯機幫助更多幫助信息鎖定上下文相關幫助顯示VI路徑LabVIEW程序設計從入門到精通3.3.1實時上下文幫助窗口選擇菜單欄中Help->ShowContextHelp選項或按下Ctrl+H,就會彈出ContextHelp窗口。當鼠標移到某個對象或函數上時,上下文幫助窗口就會顯示相應的幫助信息。LabVIEW程序設計從入門到精通3.3.2聯機幫助文檔LabVIEW程序設計從入門到精通3.3.2聯機幫助文檔當單擊ContextHelp窗口中Detailedhelp會彈出相應的完整的幫助信息。這是一個Windows標準風格的幫助窗口,包含了LabVIEW全部的幫助信息。你也可以選擇主菜單Help->SearchtheLabVIEWHelp選項打開它。LabVIEW程序設計從入門到精通3.3.3范例查找器LabVIEW程序設計從入門到精通3.3.3范例查找器LabVIEW提供了大量的范例,這些范例幾乎包含了LabVIEW所有功能的應用實例,并提供了大量的綜合應用實例。在菜單欄中選擇Help->FindExamples選項可以打開范例查找器。LabVIEW程序設計從入門到精通3.4編輯前面板LabVIEW中的前面板是圖形化的人機界面,利用控件選項板提供的各種控件可以所見即所得地編輯豐富多彩的人機界面。LabVIEW程序設計從入門到精通3.4.1輸入控件(Controls)和顯示控件(Indicator)

利用輸入控件可以輸入相應的數據,例如數字、布爾量、字符串和文件路徑等。LabVIEW程序設計從入門到精通3.4.1輸入控件(Controls)和顯示控件(Indicator)顯示控件用來顯示數據。顯示控件有數字、溫度計、LED指示燈、文本、波形圖等。LabVIEW程序設計從入門到精通3.4.1輸入控件(Controls)和顯示控件(Indicator)前面板中的一些控件既可以作為輸入控件也可以做作為顯示控件。右擊控件,選擇ChangetoIndicator或ChangetoControl可以進行輸入控件與顯示控件之間的切換。LabVIEW程序設計從入門到精通3.4.2控件屬性前面板中的每個控件都有自己的屬性,如控件的顏色、最大最小值、顯示精度和方式等。許多屬性都可以根據不同的需要進行編輯。右擊前面板任何一個控件選擇Properties選項就可以彈出該控件的屬性配置窗口。LabVIEW程序設計從入門到精通3.5編輯程序框圖程序框圖是圖形化源代碼的集合,這種圖形化的編程語言也稱為G語言。LabVIEW程序設計從入門到精通3.5.1程序框圖中的控件對象程序框圖中的控件對象實際上是前面板相應控件的接線端

前面板控件程序框圖中對應的接線端LabVIEW程序設計從入門到精通3.5.2程序框圖節點LabVIEW中的程序框圖節點是指帶有輸入和輸出接線端的對象,類似文本編程語言中的語句、運算符、函數和子程序。LabVIEW中的節點主要包括函數、結構、ExpressVI、子VI等。LabVIEW程序設計從入門到精通3.5.3對象連線

LabVIEW程序設計從入門到精通3.6運行VI1.運行VI

單擊前面板或程序框圖工具欄中的運行按鈕就可以運行VI一次,當VI正在運行時,運行按鈕變為狀態。2.停止VI運行 當程序運行時,停止按鈕由編輯時的狀態,變為可用狀態,單擊此按鈕可強行停止程序的運行。如果調試程序時,使程序無意中進入死循環或無法退出時,這個按鈕可以強行結束程序運行。LabVIEW程序設計從入門到精通3.7調試VI在程序執行前或正在執行時,單擊工具欄上的高亮執行按鈕,程序就可以在高亮方式下運行,這時可以逼真地顯示數據的流動過程。再次單擊此按鈕,程序又恢復正常運行。注意,使用高亮執行方式,將明顯降低程序的執行速度。1.高亮顯示數據流LabVIEW程序設計從入門到精通3.7調試VI2.查找VI不可執行的原因

如果在一個VI程序中存在錯誤時,VI是不能運行的。這時,工具欄中的運行按鈕由變為斷裂狀態,如果單擊此按鈕就會彈出錯誤列表對話框。LabVIEW程序設計從入門到精通小試身手1、新建一個VI,進行如下練習:任意放置幾個控件在前面板,改變它們的位置、名稱、大小、顏色等等。在VI前面板和后面板之間進行切換并排排列前面板和后面板窗口LabVIEW程序設計從入門到精通小試身手2、編寫一個VI求三個數的平均值,如右圖所示。要求對三個輸入控件等間隔并右對齊,對應的程序框圖控件對象也要求如此對齊。添加注釋分別用普通方式和高亮方式運行程序,體會數據流向。單步執行一遍LabVIEW程序設計從入門到精通第4章數據操作LabVIEW程序設計從入門到精通本章內容4.1數據類型4.1.1數字型控件4.1.2布爾型控件4.1.3枚舉類型4.1.4時間類型(TimeStamp)4.1.5局部變量和全局變量4.2數據運算4.2.1算術運算符4.2.2關系運算符4.2.3邏輯運算符4.2.4表達式節點(ExpressionNode)LabVIEW程序設計從入門到精通4.1數據類型VI程序框圖中接線端以不同的圖標和顏色來表示不同的數據類型

輸入控件顯示控件數據類型默認值32位無符號整數(32-bitunsignedintegernumeric)064位無符號整數(64-bitunsignedintegernumeric)0<64.64>位時間標示(<64.64>bittimestamp)當地時間日期枚舉類型(Enumeratedtype)-布爾(Boolean)FLASE字符串(String)空字符串LabVIEW程序設計從入門到精通4.1.1數字型控件數字型控件的外觀可以五花八門,但是程序框圖中的操作卻是以其代表的數據類型為準

LabVIEW程序設計從入門到精通4.1.2布爾型控件布爾控件代表一個布爾值,只能是True或False它既可以代表按鈕輸入,也可以當作LED指示燈顯示。

LabVIEW程序設計從入門到精通4.1.3枚舉類型LabVIEW中的枚舉類型和C語言中的枚舉類型定義相同。它提供了一個選項列表,其中每一項都包含一個字符串標識和數字標識,數字標識與每一選項在列表中的順序一一對應。

枚舉型控件LabVIEW程序設計從入門到精通4.1.3枚舉類型從上述的選板中選擇枚舉類型的輸入控件添加到前面板中,然后右擊該控件,從快捷菜單中選擇EditItems選項,打開如下圖所示的枚舉型選項編輯對話框。

LabVIEW程序設計從入門到精通4.1.4時間類型(TimeStamp)時間類型是LabVIEW中特有的數據類型,用于輸入與輸出時間和日期LabVIEW程序設計從入門到精通4.1.5局部變量和全局變量在很多情況下需要在同一VI的不同位置或在不同的VI中訪問同一個控件對象,這時控件對象之間的連線就無法實現。這時候我們就需要用到局部變量或全局變量,通過局部變量或全局變量你可以在程序框圖中的多個地方讀寫同一個控件。LabVIEW程序設計從入門到精通局部變量局部變量只能在同一程序內部使用,每個局部變量都對應前面板上的一個控件,一個控件可以創建多個局部變量。讀寫局部變量等同于讀寫相應控件局部變量LabVIEW程序設計從入門到精通局部變量創建局部變量有兩種方法從函數選板的Structures子選板中選中LocalVariable節點前面板或程序框圖中右擊需要創建局部變量的控件選擇Create->LocalVariable選項創建該控件的局部變量

LabVIEW程序設計從入門到精通局部變量讀寫局部變量的方法與讀寫控件對象的方法完全一樣LabVIEW程序設計從入門到精通全局變量

通過全局變量可以在不同的VI之間進行數據交換,一個全局變量的VI文件中可以包含多個不同數據類型的全局變量。LabVIEW中的全局變量是以獨立的VI文件形式存在的,這個VI文件只有前面板,沒有程序框圖,不能進行編程。

LabVIEW程序設計從入門到精通注意:使用局部變量和全局變量時要避免競爭現象。例如在程序不同的兩個地方同時寫同一個的對象的局部變量或全局變量,就會產生競爭現象,這時變量的值是無法預期的。因此我們必須要注意程序的執行順序,避免競爭現象LabVIEW程序設計從入門到精通4.2數據運算LabVIEW中提供了豐富的數據運算功能,除了基本的數據運算符外,還有許多功能強大的函數節點,并且還支持通過一些簡單的文本腳本進行數據運算。LabVIEW圖形化編程中,運算是按照從左到右沿數據流的方向順序執行。LabVIEW程序設計從入門到精通4.2.1算術運算符基本算術運算符包含在函數選板的Numeric子選板中,該子選板中有類型轉換(Conversion)節點、復數(Complex)節點、數學和科學常數(Math&ScientificConstants)節點等LabVIEW程序設計從入門到精通算術運算符舉例C=A+B=文本編程語言圖形化編程語言LabVIEW程序設計從入門到精通4.2.2關系運算符關系運算符也叫比較運算符,包含在函數選板的Comparison子選板中LabVIEW程序設計從入門到精通4.2.3邏輯運算符邏輯運算符又稱為布爾運算符,包含在程序框圖中函數選板的Boolean子選板中,LabVIEW中邏輯運算符的圖標與數字電路中邏輯運算符的圖標相似LabVIEW程序設計從入門到精通4.2.4表達式節點(ExpressionNode)使用表達式節點可以計算包含一個變量的數學表達式,該節點允許使用除復數外的任何數字類型。在表達式節點中可以使用的函數有abs、acos、acosh、asin、asinh、atan、atanh、ceil、cos、cosh、cot、csc、exp、expml、floor、getexp、getman、int、intrz、ln、lnpl、log、log2、max、min、mod、rand、rem、sec、sign、sin、sinc、sinh、sqrt、tan、tanh。表達式節點LabVIEW程序設計從入門到精通小試身手1、寫一個VI判斷兩個數的大小,如右圖所示:當A>B時,指示燈亮LabVIEW程序設計從入門到精通小試身手2.寫一個VI獲取當前系統時間,并將其轉換為字符串和浮點數。這在實際編程中會經常遇到。LabVIEW程序設計從入門到精通小試身手3.利用局部變量寫一個計數器,每當VI運行一次計數器就加一。當VI關閉后重新打開時,計數器清零。LabVIEW程序設計從入門到精通小試身手4.寫一個溫度監測器,如右圖所示,當溫度超過報警上限,而且開啟報警時,報警燈點亮。溫度值可以由隨即數發生器產生。LabVIEW程序設計從入門到精通小試身手5.給定任意x,求如下表達式的值LabVIEW程序設計從入門到精通第5章程序結構LabVIEW程序設計從入門到精通本章內容5.1順序結構(SequenceStructure)5.2For循環5.3While循環5.4Case結構5.5事件結構(EventStructure)5.6使能結構5.7公式節點(FormulaNode)5.8跟著實例學—模擬溫度采集監測系統LabVIEW程序設計從入門到精通5.1順序結構(SequenceStructure)5.1.1LabVIEW程序的執行順序

數據流式的編程方法多段代碼同時執行LabVIEW程序設計從入門到精通5.1順序結構(SequenceStructure)FlatSequenceStructureStackedSequenceStructureLabVIEW程序設計從入門到精通5.1順序結構(SequenceStructure)在FlatSequenceStructure的Frame間傳遞數據LabVIEW程序設計從入門到精通5.1順序結構(SequenceStructure)在StackedSequenceStructure的Frame間傳遞數據

LabVIEW程序設計從入門到精通5.2For循環For循環用于將某段程序循環執行指定的次數。可以通過兩種方法指定循環次數,一種是直接給定,一種是通過輸入數組的大小給定LabVIEW程序設計從入門到精通5.2For循環輸入和輸出數組LabVIEW程序設計從入門到精通5.2For循環5.2.3移位寄存器(ShiftRegister)一個累加10次的a++程序通過局部變量實現通過移位寄存器實現

LabVIEW程序設計從入門到精通5.2For循環5.2.4反饋節點(FeedbackNode)通過反饋節點實現a++

LabVIEW程序設計從入門到精通5.3While循環LabVIEW程序設計從入門到精通5.3While循環5.3.2添加定時器LabVIEW程序設計從入門到精通5.3While循環5.3.3使用移位寄存器和反饋節點累加器程序

LabVIEW程序設計從入門到精通5.4Case結構If(a%2==0)b=a+2;elseb=a+1;end5.4.1等價于if...else...語句的Case結構LabVIEW程序設計從入門到精通5.4Case結構5.4.3等價于switch語句的Case結構switch(fruit){caseapple:price=9;casebanana:price=10;casepear:price=8;default:price=0;}LabVIEW程序設計從入門到精通5.5事件結構(EventStructure)分析該程序可以看出,這個程序在沒有用戶點擊的情況下完全都是在“空轉”,浪費了大量的CPU資源,而且當“事件”發生太快時可能會被忽略。因此Labview提供了事件結構來解決這個問題,即僅當“事件”發生時,程序才做相應的響應基于While循環和Case結構的單擊計數器

LabVIEW程序設計從入門到精通5.5事件結構(EventStructure)LabVIEW程序設計從入門到精通5.5事件結構(EventStructure)LabVIEW程序設計從入門到精通LabVIEW程序設計從入門到精通5.5事件結構(EventStructure)基于事件結構的單擊計數器

LabVIEW程序設計從入門到精通5.5事件結構(EventStructure)5.5.2Filter事件顧名思義,當該事件發生時,用戶可以過濾掉甚至完全放棄掉該事件將觸發的活動。

LabVIEW程序設計從入門到精通注意:一般來說,事件只能通過外在用戶的動作觸發,如單擊鼠標,鍵盤等。如果需要內部數據觸發事件(例如當a>b條件滿足時觸發一個事件),就需要通過用戶自定義事件的方法實現,這將在本書的21.3節中介紹。LabVIEW程序設計從入門到精通5.6使能結構5.6.1框圖使能結構——注釋程序框圖LabVIEW程序設計從入門到精通5.7公式節點(FormulaNode)通過公式節點,用戶不僅可以實現復雜的數學公式,還能通過文本編程寫一些基本的邏輯語句,如if…else…,case,while循環之類的語句。y=LabVIEW程序設計從入門到精通5.7公式節點(FormulaNode)公式節點中可以包含任意數量的公式

LabVIEW程序設計從入門到精通5.7公式節點(FormulaNode)5.7.2文本編程語言的實現基于公式節點的CRC16算法的實現

LabVIEW程序設計從入門到精通5.8跟著實例學—模擬溫度采集監測系統LabVIEW程序設計從入門到精通小試身手1.利用順序結構和timing面板下的tickcountVI,計算for循環次所需的時間。2.為第4章習題4添加一個While循環和定時器,實現連續的溫度采集監測LabVIEW程序設計從入門到精通小試身手3、利用順序結構和循環結構寫一個跑馬燈,如下圖所示,5個燈從左到右不停的輪流點亮,閃爍間隔由滑動條調節LabVIEW程序設計從入門到精通小試身手4.求分數序列前20項之和。5.給出一百分制成績,要求輸出等級A,B,C,D,E。90分以上為A,80~89為B,70~79為C,60~69為D,60分以下為E。LabVIEW程序設計從入門到精通小試身手6.利用事件結構實現在數字輸入控件中,每當用戶按下一個數字后,累加值就將新數字累加上去。例如按下34時,累加值為7;按下345時,累加值為12…LabVIEW程序設計從入門到精通小試身手7.利用公式節點判斷一個數是否是素數,我們可以采用這樣的算法:用2~sqrt(N),依次去對N求余,只要有一個余數是0,則N就不是素數。LabVIEW程序設計從入門到精通第6章字符串、數組、簇和矩陣LabVIEW程序設計從入門到精通本章內容6.1字符串(String)6.2數組(Array)6.3簇(Cluster)——LabVIEW中的結構體變量6.4矩陣(Matrix)LabVIEW程序設計從入門到精通6.1字符串(String)字符串在LabVIEW編程中會頻繁的用到,因此LabVIEW封裝了功能豐富的字符串函數用于字符串的處理,用戶不需要再像C語言中一樣為字符串的操作編寫繁瑣的程序。字符串控件包括輸入控件、顯示控件和下拉框。LabVIEW程序設計從入門到精通6.1字符串(String)LabVIEW程序設計從入門到精通6.1字符串(String)6.1.1字符串控件字符串輸入控件一般被用作文本輸入框,而字符串顯示控件一般被用作文本顯示框。

LabVIEW程序設計從入門到精通6.1字符串(String)6.1.2表格和樹形控件表格(Table)和樹形控件在ControlsPalette的Modern->List&Table…面板下。表格實際上就是一個字符串組成的二維數組。樹形控件以樹的形式顯示多層內容,Windows的資源管理器就是用樹形控件來顯示文件目錄的。LabVIEW程序設計從入門到精通6.1字符串(String)6.1.2表格和樹形控件舉例LabVIEW程序設計從入門到精通6.1字符串(String)6.1.3字符串函數LabVIEW程序設計從入門到精通6.1字符串(String)6.1.3字符串函數舉例

基本字符串函數示例

LabVIEW程序設計從入門到精通6.1字符串(String)6.1.3字符串函數舉例數據數組/電子表格字符串轉換函數示例

LabVIEW程序設計從入門到精通6.2數組(Array)6.2.1數組控件數組控件

LabVIEW程序設計從入門到精通6.2數組(Array)6.2.1數組控件LabVIEW程序設計從入門到精通6.2數組(Array)6.2.2數組之間的算術運算LabVIEW一個非常大的優勢就是它可以根據輸入數據的類型判斷算子的運算方法,即自動實現多態對于加減乘除,數組之間的運算滿足下面的規則:a)如果進行運算的兩個數組大小完全一樣,則將兩個數組中索引相同的元素進行運算形成一個新的數組。b)若大小不一樣,則忽略較大數組多出來的部分。c)如果一個數組和一個數值進行運算,則數組的每個元素都和該數值進行運算從而輸出一個新的數組。

LabVIEW程序設計從入門到精通6.2數組(Array)6.2.3數組函數LabVIEW程序設計從入門到精通6.2數組(Array)6.2.3數組函數舉例用ArraySize函數獲得三維數組大小示例

LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量簇是LabVIEW中比較獨特的一個概念,但實際上它就對應于C語言等文本編程語言中的結構體變量。

LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量6.3.1簇的創建通過簇控件實現的溫度顯示器

LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量改變簇內部元素控件的索引

LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量6.3.2簇操作函數LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量1、解包函數(Unbundle)該函數將簇解開從而獲得簇中各個元素的值。缺省情況下,它會根據輸入的簇自動調整輸出端子的數目和數據類型,并按照簇內部元素索引的順序排列。LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量2、打包函數(Bundle)該函數用來為Cluster中各元素賦值。LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量3、按元素名稱解包函數(UnbundleByName)普通的解包函數解包后只有將鼠標移到輸出端子上才能看到輸出元素的名稱,程序的可讀性不高。該函數可以根據名稱有選擇的輸出簇內部元素。其中元素名稱就是指元素的Label。LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量4、按元素名稱打包函數(UnbundleByName)該函數通過簇內部元素名稱來給簇內部元素賦值。參考簇是必須的,該函數通過參考簇來獲得元素名稱。LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量簇操作函數使用示例

LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量6.3.3errorin和errorout簇LabVIEW利用errorin和errorout這兩個預定義簇來作為傳遞錯誤信息的載體。LabVIEW程序設計從入門到精通6.3簇(Cluster)

——LabVIEW中的結構體變量6.3.3errorin和errorout簇對于系統錯誤,code都有預先的定義,可以通過選擇Help->ExplainError…打開錯誤解釋框來查找該錯誤代碼的更詳細的解釋。LabVIEW程序設計從入門到精通6.4矩陣(Matrix)LabVIEW8之前的版本中只能通過二維數組來實現矩陣的操作。但是數組的運算方法和矩陣的運算方法有很大不同,譬如兩個數組相乘是直接將相同索引的數組元素相乘,而矩陣的相乘必須按照線性代數中規定的方法相乘,因此用數組實現矩陣運算是非常麻煩的。LabVIEW8最新加入了對矩陣的支持,從而使矩陣的運算變得非常簡單。LabVIEW程序設計從入門到精通6.4矩陣(Matrix)矩陣乘法舉例LabVIEW程序設計從入門到精通6.4矩陣(Matrix)LabVIEW8還提供了豐富的線性代數運算函數,它們位于FunctionsPalette的mathematics->lineralgebra…面板下LabVIEW程序設計從入門到精通小試身手1.為第5章的習題2連續溫度采集監測添加報警信息,如下圖所示,當報警發生時輸出報警信息,例如“溫度超限!當前溫度78.23℃”,正常情況下輸出空字符串。LabVIEW程序設計從入門到精通小試身手2.對字符串進行加密,規則是每個字母后移5位,例如A變為F,b變為g,x變為c,y變為d…LabVIEW程序設計從入門到精通小試身手3.產生一個3×3的整數隨機數數組,隨機數要在0到100之間,然后找出數組的鞍點,即該位置上的元素在該行上最大,在該列上最小,也可能沒有鞍點。如下圖所示:LabVIEW程序設計從入門到精通小試身手4.利用簇模擬汽車控制,如右圖所示,控制面板可以對顯示面板中的參量進行控制。油門控制轉速,轉速=油門*100,檔位控制時速,時速=檔位*40,油量隨VI運行時間減少。LabVIEW程序設計從入門到精通第7章圖形化顯示數據

——圖表和圖形LabVIEW程序設計從入門到精通引子LabVIEW很大的一個優勢就是它提供了豐富的數據圖形化顯示控件,而且使用起來極其方便。LabVIEW程序設計從入門到精通本章內容7.1波形數據(Waveform)7.2Chart趨勢圖7.3Graph圖表7.4三維圖形(3DGraph)7.5Picture圖形控件LabVIEW程序設計從入門到精通7.1波形數據(Waveform)7.1.1波形數據控件為了方便地顯示波形,LabVIEW專門預定義了波形數據類型。它實際上就是按照一定格式預定義的簇,在信號采集,處理和分析過程中經常會用到它。LabVIEW程序設計從入門到精通7.1波形數據(Waveform)波形數據控件攜帶的數據包含了時間波形的基本信息,因此可以直接作為Chart和Graph的輸入。橫坐標代表時間,縱坐標代表Y值LabVIEW程序設計從入門到精通7.1波形數據(Waveform)7.1.2波形數據操作函數雖然波形數據是一種預定義格式的簇,但是必須用專用的波形數據操作函數才能對它進行操作,其中某些操作函數與簇的操作函數非常類似。波形數據的操作函數位于FunctionsPalette的Programming->Waveform…子模板下LabVIEW程序設計從入門到精通7.1波形數據(Waveform)波形數據操作函數舉例LabVIEW程序設計從入門到精通7.2Chart趨勢圖Chart可以將新測得的數據添加到曲線的尾端,從而反映實時數據的變化趨勢,它主要用來顯示實時曲線。LabVIEW程序設計從入門到精通7.2Chart趨勢圖7.2.1波形趨勢圖(WaveformChart)對于標量數據,Chart圖表直接將數據添加在曲線的尾端。

LabVIEW程序設計從入門到精通7.2Chart趨勢圖對于一維數組數據,它會一次性把一維數組的數據添加在曲線末端,即曲線每次向前推進的點數為數組數據的點數。

LabVIEW程序設計從入門到精通7.2Chart趨勢圖若要顯示多條標量曲線,只需要用簇的Bundle函數將它們綁定在一起作為輸入即可。

LabVIEW程序設計從入門到精通7.2Chart趨勢圖對于二維數組,缺省情況下是每一列的數據當作一條一維數組曲線。

LabVIEW程序設計從入門到精通7.2Chart趨勢圖技巧:若想將曲線截圖,可以通過右擊曲線選擇DataOperations->CopyData將曲線圖復制到剪切板上。LabVIEW程序設計從入門到精通7.2Chart趨勢圖7.2.2定制Chart顯示樣式分欄顯示多條曲線。

右擊Chart選擇StackPlots

LabVIEW程序設計從入門到精通7.2Chart趨勢圖7.2.2定制Chart顯示樣式設置更新模式右擊Chart選擇Advanced->UpdateMode…可以設置曲線的更新模式。StripChart模式:曲線填滿顯示區后曲線通過左移來更新曲線。ScopeChart模式:曲線填滿顯示區后直接清空顯示區重新開始從左向右增長曲線在SweepChart模式:通過一條指示紅線從左向右刷新數據LabVIEW程序設計從入門到精通7.2Chart趨勢圖7.2.3帶時間軸的實時曲線LabVIEW程序設計從入門到精通7.3Graph圖表Graph和Chart的區別在于Graph是一次性將現有數據繪圖,在繪圖之前先自動清空圖表,而不會將新數據添加到曲線的尾端。根據顯示方法,Graph又分為波形圖、XY曲線圖、強度圖、數字時序圖和三維圖。LabVIEW程序設計從入門到精通7.3Graph圖表7.3.1定制Graph屬性

LabVIEW程序設計從入門到精通7.3Graph圖表右擊Graph控件可以看到該控件有很多屬性可以設置。選擇VisibleItems…可以看到關于該控件的很多輔助選項。選擇這些選項可以使它們都可見,如下圖所示。LabVIEW程序設計從入門到精通7.3Graph圖表——WaveformGraph7.3.2WaveformGraphWaveformGraph可以有多種數據輸入類型:一維數組,二維數組,簇,簇數組,波形數據。它在ControlsPalette中的位置為Modern->Graph->WaveformGraph。LabVIEW程序設計從入門到精通7.3Graph圖表——WaveformGraph1、一維數組作為輸入當輸入數據為一維數組時,WaveformGraph直接將一維數組畫成一條曲線,縱坐標為數組元素的值,橫坐標為數組索引。

LabVIEW程序設計從入門到精通7.3Graph圖表——WaveformGraph2、二維數組作為輸入當輸入數組為二維數組時,缺省情況下每一行的數據對應一條曲線,即曲線的數目和行數相同。

LabVIEW程序設計從入門到精通7.3Graph圖表——WaveformGraph3、簇作為輸入簇作為輸入時需要指定三個元素:起始位置x0、數據點間隔dx和數組數據。LabVIEW程序設計從入門到精通7.3Graph圖表——WaveformGraph4、簇數組作為輸入一維簇數組也可以直接作為Graph的輸入,此時相當于x0為0,dx為1

LabVIEW程序設計從入門到精通7.3Graph圖表——WaveformGraph5、波形數據作為輸入由于波形數據所攜帶的數據橫軸為時間,因此需要將WaveformGraph的橫軸設為時間軸。

LabVIEW程序設計從入門到精通7.3Graph圖表——XYGraph7.3.3XYGraph當我們需要畫的曲線是由(x,y)坐標決定的時候,我們就需要采用XYGraph。其實WaveformGraph在一定意義上也是XYGraph,但是它的X軸必須是等間距的,而且不可控制。LabVIEW程序設計從入門到精通7.3Graph圖表——XYGraph1、XY兩個一維數組綁定為簇作為輸入

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

LabVIEW程序設計從入門到精通7.3Graph圖表——XYGraph2、坐標點簇數組作為輸入該方式將各個點的坐標綁定為簇然后作為簇數組輸入,和直接將XY數組綁定為簇輸入效果一樣。但是后者不一定需要XY數組的大小一致,它會自動將大的數組裁剪。

LabVIEW程序設計從入門到精通7.3Graph圖表——XYGraph3、時間作為X軸——利用XYGraph實現歷史曲線

LabVIEW程序設計從入門到精通7.3Graph圖表——XYGraph4、ExpressXYGraphExpressXYGraph采用了LabVIEW的Express技術,將ExpressXYGraph放置在前面板上的同時,在程序框圖中會自動添加一個VI,它的XY軸數據為動態數據類型。LabVIEW程序設計從入門到精通7.3Graph圖表7.3.4亮度圖(IntensityGraph&Chart)LabVIEW程序設計從入門到精通7.3Graph圖表7.3.5數字波形圖(DigitalWaveformGraph)LabVIEW程序設計從入門到精通7.4三維圖形(3DGraph)1、三維曲面圖(3DSurfaceGraph)將該控件放置在前面板上的同時,在背面板也會同時出現一個ActiveX控件和一個VI函數3DSurface.vi。

LabVIEW程序設計從入門到精通7.4三維圖形(3DGraph)2、三維參量曲面圖(3DParametricGraph)它需要3個軸的數據均為二維數組,分別決定了相對于x平面、y平面和z平面的曲面。

LabVIEW程序設計從入門到精通7.4三維圖形(3DGraph)3、三維曲線圖(3DCurveGraph)

LabVIEW程序設計從入門到精通7.5Picture圖形控件向Picture控件導入圖片LabVIEW程序設計從入門到精通7.5Picture圖形控件利用Picture控件畫圖

LabVIEW程序設計從入門到精通小試身手1.請說出Chart、WaveformGraph、XYGraph之間的主要區別。LabVIEW程序設計從入門到精通小試身手2.利用隨機數發生器仿真一個0到5V的采樣信號,每200ms采一個點,利用實時趨勢曲線實時顯示采樣結果。LabVIEW程序設計從入門到精通小試身手3.在習題2的基礎上再增加1路電壓信號采集,此路電壓信號的范圍為5到10V。LabVIEW程序設計從入門到精通小試身手4.利用隨機數發生器仿真一個0到5V的采樣信號,每200ms采一個點,共采集50個點,采集完后一次性顯示在WaveformGraph上。LabVIEW程序設計從入門到精通小試身手5.在習題4的基礎上再增加1路電壓信號采集,此路電壓信號的范圍為5到10V,采樣間隔是50ms,共采100個點。采樣完成后,將兩路采樣信號顯示在同一個WaveformGraph中。LabVIEW程序設計從入門到精通小試身手6.將習題5中的X軸改為時間軸顯示,要求時間軸能真實的反映采樣時間。分析為什么與習題5的顯示結果截然不同?LabVIEW程序設計從入門到精通小試身手7.利用SignalProcessing->SignalGeneration->SinePattern.vi(如右上圖所示)產生兩條正弦曲線,將兩條曲線分別作為XYGraph的XY輸入。通過改變其中一條曲線的頻率和相位來研究李薩如圖形。LabVIEW程序設計從入門到精通第8章ExpressVI——快速搭建專業測試系統LabVIEW程序設計從入門到精通引子自LabVIEW7開始,LabVIEW提供了Express技術,用以快捷簡便地搭建專業的測試系統。在此后的版本中,Express技術得到了不斷的加強。它將各種基本函數進一步打包為更加智能,功能更加豐富的函數;并對其中某些函數提供配置對話框,通過配置框可以對函數進行詳細的配置。因此,通過ExpressVI我們可以用很少的步驟實現功能完善的測試系統。對于復雜的系統,利用ExpressVI也能起到極大的簡化作用。LabVIEW程序設計從入門到精通本章內容8.1初識Express技術8.2動態數據類型

8.3ExpressVIs簡介8.4跟著實例學——基于ExpressVI的聲音信號采集系統LabVIEW程序設計從入門到精通8.1初識Express技術Express技術包含前面板控件和程序框圖VI函數

LabVIEW程序設計從入門到精通8.1初識Express技術基于配置的編程方式仿真信號發生器ExpressVI參數配置對話框LabVIEW程序設計從入門到精通8.1初識Express技術利用ExpressVI搭建的信號濾波器LabVIEW程序設計從入門到精通8.2動態數據類型針對ExpressVI的靈活性,LabVIEW提供了動態數據類型(DynamicDataType,DDT)來攜帶ExpressVI的輸入與輸出信號。動態數據類型能夠攜帶單點,單通道(一維數組)或多通道(二維數組)的數據或波形數據類型的數據。此外,它還包含了一些信號的屬性信息,譬如信號的名稱、采集日期時間等。LabVIEW程序設計從入門到精通8.2動態數據類型由于動態數據類型能夠包含單個或多個信號,因此還可以將多個DDT數據合并或者將合并后的DDT數據再拆開。這可以通過Express->SignalManipulation面板下的MergeSignals和SplitSignals函數實現。

LabVIEW程序設計從入門到精通8.3ExpressVIs簡介8.3.1信號輸入(Input)ExpressVIs信號輸入ExpressVIs在Express->Input面板下,主要用來從儀器采集信號或產生仿真信號;通過這些函數,信號可以來源于儀器,也可以來源于文件或者由計算機仿真產生。LabVIEW程序設計從入門到精通8.3ExpressVIs簡介LabVIEW程序設計從入門到精通8.3ExpressVIs簡介8.3.2信號分析(SignalAnalysis)ExpressVIs信號分析ExpressVIs在Express->SignalAnalysis面板下。該面板下包含了最常用的信號分析函數,例如譜測量、失真度測量、曲線擬合、濾波器和直方圖等。LabVIEW程序設計從入門到精通8.3ExpressVIs簡介8.3.3輸出(Output)ExpressVIsOutputExpressVIs在Express->Output面板下,用于將信號數據存入文件,產生報表或向儀器輸出真實信號等LabVIEW程序設計從入門到精通8.3ExpressVIs簡介LabVIEW程序設計從入門到精通8.3ExpressVIs簡介8.3.4信號操作(SignalManipulation)ExpressVIs信號操作ExpressVIs在Express->SignalManipulation面板下。主要用于對信號數據進行各種操作,譬如信號合并、類型轉換、信號連接、抽樣信號、觸發信號和選擇信號等;LabVIEW程序設計從入門到精通8.3ExpressVIs簡介8.3.5算術與比較(Arithmetic&Comparison)ExpressVIs算術與比較ExpressVIs在Express->Arithmetic&Comparison面板下,它包含一些基本的數學函數和比較操作符,以及數字和字符串等。LabVIEW程序設計從入門到精通8.3ExpressVIs簡介8.3.6執行控制ExpressVIs執行控制ExpressVIs在Express->ExecutionControl面板下,包含了一些基本的程序結構以及時間函數,譬如While結構,Case結構,時間延時和消逝時間等。LabVIEW程序設計從入門到精通8.4跟著實例學——基于ExpressVI的聲音信號采集系統本例中將聲卡采集到的聲音信號進行高通濾波,然后將信號數據重新輸入聲卡播放,并將采集到的聲音信號寫入LabVIEW測試文件(.lvm文件),最后生成HTML報表。本例中基本上包含了信號采集系統的基本功能:信號采集、信號處理,存儲和生成報表。LabVIEW程序設計從入門到精通8.4跟著實例學——基于ExpressVI的聲音信號采集系統LabVIEW程序設計從入門到精通8.4跟著實例學——基于ExpressVI的聲音信號采集系統LabVIEW程序設計從入門到精通小試身手利用ExpressVI產生一個帶白噪聲的正弦信號,然后用功率譜分析ExpressVI對其進行功率譜分析,并將原信號與分析結果寫入測量文件。LabVIEW程序設計從入門到精通第9章文件I/OLabVIEW程序設計從入門到精通引子對于一個完整的測試系統或數據采集系統,我們經常需要將硬件的配置信息寫入配置文件或者將采集到的數據以一定格式存儲在文件中保存數據。因此LabVIEW提供了強大的文件I/O函數用以滿足不同的文件操作需求。LabVIEW程序設計從入門到精通本章內容9.1選擇合適的文件類型9.2文件的基本操作9.3文本文件和表單文件9.4二進制文件(BinaryFiles)9.9基于文本的測量文件(.lvm文件)9.11高速數據流文件(.tdms文件)LabVIEW程序設計從入門到精通9.1選擇合適的文件類型LabVIEW支持的文件類型文本文件(TextFiles)

表單文件(SpreadsheetFiles)二進制文件(BinaryFiles)

數據記錄文件(DatalogFiles)XML文件

配置文件(ConfigurationFiles)

波形(Waveform)文件

基于文本的測量文件(.lvm文件)

數據存儲文件(.tdm文件)

高速數據流文件文件(.tdms文件)

LabVIEW程序設計從入門到精通9.2文件的基本操作基本步驟打開->讀寫、操作->關閉LabVIEW程序設計從入門到精通9.3文本文件和表單文件它將字符串以ASCII編碼格式存儲在文件中,譬如txt文件和Excel文件。這種文件類型最常見,可以在各種操作系統下由多種應用程序打開,譬如記事本,Word,Excel等第三方軟件,因此這種文件類型的通用性最強。但是相對于其它類型文件,它消耗的硬盤空間相對較大,讀寫速度也較慢,也不能隨意的在指定位置寫入或讀出數據。如果需要將數據存儲為文本文件必須先將數據轉換為字符串才能存儲。LabVIEW程序設計從入門到精通9.3文本文件和表單文件讀寫文本文件VILabVIEW程序設計從入門到精通9.3文本文件和表單文件舉例寫文本文件舉例讀文本文件舉例LabVIEW程序設計從入門到精通9.3文本文件和表單文件讀寫表單文件VILabVIEW程序設計從入門到精通9.3文本文件和表單文件讀寫表單文件舉例寫表單文件讀表單文件LabVIEW程序設計從入門到精通9.4二進制文件(BinaryFiles)這是最有效率的一種文件存儲格式,它占用的硬盤空間最少而且讀寫速度最快。它將二進制數據,譬如32位整數以確定的空間存儲4個字節來存儲,因此不會損失精度,而且可以隨意的在文件指定位置讀寫數據。二進制文件的數據輸入可以是任何數據類型,譬如數組和簇等復雜數據,但是在讀出時必須給定參考

LabVIEW程序設計從入門到精通9.4二進制文件(BinaryFiles)寫二進制文件舉例讀二進制文件舉例LabVIEW程序設計從入門到精通9.9基于文本的測量文件(.lvm文件)它將動態類型數據按一定的格式存儲在文本文件中。它可以在數據前加上一些信息頭,譬如采集時間等,可以由Excel等文本編輯器打開查看其內容。LabVIEW程序設計從入門到精通9.11高速數據流文件(.tdms文件)它將動態類型數據存儲為二進制文件,同時可以為每一個信號都添加一些有用的信息,譬如信號名稱和單位等等。在查詢時可以通過這些附加信息來查詢所需要的數據。它被用來在NI各種軟件之間交換數據,譬如DIAdem。它比.lvm文件占用空間更小,讀寫速度更快。非常適合用來存儲數量龐大的測試數據。LabVIEW程序設計從入門到精通9.11高速數據流文件(.tdms文件)每一個TDMS文件以三個不同層次來存儲附加信息:File、group和channel。LabVIEW程序設計從入門到精通9.11高速數據流文件(.tdms文件)寫TDMS文件示例LabVIEW程序設計從入門到精通9.11高速數據流文件(.tdms文件)在TDMS中查看文件內容LabVIEW程序設計從入門到精通9.11高速數據流文件(.tdms文件)TDMS文件讀操作示例

LabVIEW程序設計從入門到精通小試身手1.文本文件和二進制文件的主要區別是什么?2.請說出下面這幾種文件是文本文件還是二進制文件:數據記錄文件(DatalogFiles),XML文件,配置文件,波形文件,LVM文件,TDMS文件。LabVIEW程序設計從入門到精通小試身手3.有一個測量程序,采集兩路信號,每1s采集一次,要求每采集一次,就將采集結果寫入文本文件尾部,即使重新運行程序,仍能保證數據添加到文件尾部,而不會覆蓋原有數據。格式為a保留4位小數,b為整數,如右圖所示。LabVIEW程序設計從入門到精通小試身手4.在LabVIEW中讀取剛才寫入的文件內容。5.將習題3的采集數據,采集完畢后寫入表單文件,如下圖所示:LabVIEW程序設計從入門到精通小試身手6.將習題3改為實時寫入表單文件,添加一列日期時間以反映真實的采樣時間,并在第一行包含每列的描述信息,如下圖所示。LabVIEW程序設計從入門到精通小試身手7.將右圖所示的控件數據寫入二進制文件,并用另一個VI將其讀出查看。LabVIEW程序設計從入門到精通小試身手8.用SimulateSignalExpressVI仿真產生一個采樣100000點的正弦仿真信號,并將其寫入TDMS文件,要求同時為該通道設置兩個描述屬性:頻率和采樣間隔。LabVIEW程序設計從入門到精通第10章子VILabVIEW程序設計從入門到精通引子LabVIEW中的子VI(SubVI)類似于文本編程語言中的函數。通過子VI,我們可以把程序分割為一個個小的模塊來實現LabVIEW程序設計從入門到精通本章內容10.1創建子VI10.2查看VI層次結構(VIHierarchy)10.3定義子VI屬性10.4多態(Polymorphic)VILabVIEW程序設計從入門到精通10.1創建子VI其實任何VI本身就可以作為子VI被其它VI調用,只是你需要在普通VI的基礎上多進行兩步簡單的操作而已:定義連接端子和圖標。LabVIEW程序設計從入門到精通10.1創建子VI第一步:新建一個BlankVI,編寫其程序框圖第二步:編輯VI圖標。

LabVIEW程序設計從入門到精通10.1創建子VI第三步:建立連接端子。第四步:保存該VI,將該VI當作子VI調用LabVIEW程序設計從入門到精通10.2查看VI層次結構(VIHierarchy)LabVIEW程序設計從入門到精通10.3定義子VI屬性10.3.1可重入(Reentrant)子VI在缺省情況下,如果有兩處程序框圖都調用同一個子VI,那么這兩處程序框圖則不能并行運行。即如果當該子VI正在被調用執行時,其它調用就必須等待直到當前調用執行完畢。而在很多情況下,我們都希望不同的調用應該是相互獨立的。這時候我們就需要把子VI設為可重入子VI。LabVIEW程序設計從入門到精通10.3定義子VI屬性可重入子VI舉例LabVIEW程序設計從入門到精通10.3定義子VI屬性10.3.2設置子VI調用屬性LabVIEW程序設計從入門到精通10.3定義子VI屬性利用顯示子VI前面板來實現登錄對話框

LabVIEW程序設計從入門到精通10.3.3自定義子VI圖標形狀第一步:在編輯VI圖標界面選擇Edit->Clear清除圖標。第二步:在256Colors下畫一個封閉的圖形。為了方便與端子對應,你可以選擇ShowTerminals復選框顯示連接端子。第三步:將畫好的256色圖標分別復制到16Colors和B&W下,確保三種顯示模式所顯示的圖標形狀一致。LabVIEW程序設計從入門到精通10.4多態(Polymorphic)VILabVIEW中的多態與C++中的多態概念類似,即函數可以根據輸入數據的類型自動選擇執行內容。

在LabVIEW中你也可以創建自己的多態VI。它實際上是多個VI的集合,這些VI具有相同的端子模式。

LabVIEW程序設計從入門到精通10.4多態(Polymorphic)VI創建多態VI舉例多態VI對應的兩個實例VI

LabVIEW程序設計從入門到精通10.4多態(Polymorphic)VI調用多態子VI

LabVIEW程序設計從入門到精通小試身手1.寫一個子VI計算輸入雙精度數組所有元素的平均值,并在上層VI調用它。LabVIEW程序設計從入門到精通小試身手2.在第5章習題2的基礎上,利用子VI實現一個溫度報警對話框,每當報警發生時就彈出該對話框,如下圖所示,點擊“知道了”按鈕退出對話框。LabVIEW程序設計從入門到精通第11章屬性節點和方法節點LabVIEW程序設計從入門到精通引子在面向對象的編程中,我們將類中定義的數據稱為屬性,而函數稱為方法。實際上,LabVIEW中的控件、VI、甚至應用程序都有自己的屬性和方法,譬如一個數值控件,它的屬性包括它的文字顏色、背景顏色、Caption和Label等;LabVIEW程序設計從入門到精通本章內容11.1屬性節點(PropertyNode)11.2方法節點(InvokeNode)11.3通過子VI調用控件的屬性和方法11.4幾種常用控件的編程舉例11.5小結LabVIEW程序設計從入門到精通11.1屬性節點(PropertyNode)屬性節點可以用來通過編程設置或獲取控件的屬性,譬如在程序運行過程中,我們可以通過編程設置數值控件的背景顏色等屬性。Ring控件的屬性節點舉例

LabVIEW程序設計從入門到精通11.1屬性節點(PropertyNode)舉例

通過Visible屬性控制按鈕是否可見LabVIEW程序設計從入門到精通11.1屬性節點(PropertyNode)舉例

在事件結構中使用屬性節點

LabVIEW程序設計從入門到精通11.2方法節點(InvokeNode)方法節點和屬性節點非常類似,方法節點就好比控件的一個函數,它會執行一定的動作,有些時候還需要輸入參數或返回數據。

樹形控件的方法節點函數菜單及其方法節點示例LabVIEW程序設計從入門到精通11.3通過子VI調用控件的屬性和方法一般情況下,將控件作為子VI的輸入端時只能傳遞控件的值,而不能傳遞控件的屬性。那么如何才能在子VI中調用上層VI中控件的屬性和方法節點呢?這就需要使用Refnum控件作為子VI的輸入端子,在調用時將控件的Reference與Refnum端子連線即可。LabVIEW程序設計從入門到精通11.3通過子VI調用控件的屬性和方法通過子VI調用控件的屬性節點示例

LabVIEW程序設計從入門到精通11.4幾種常用控件的編程舉例11.4.1Ring控件和Enum控件對于兩種控件,用戶都是一次只能選擇其中一個項目,控件的輸出值都為數字。不同的是Ring控件各項目的值是可以任意

溫馨提示

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

評論

0/150

提交評論