




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《LabVIEW8.20程序設(shè)計(jì)從入門到精通》
隨書課件LabVIEW程序設(shè)計(jì)從入門到精通第1章揭開LabVIEW的面紗LabVIEW程序設(shè)計(jì)從入門到精通引子“最初只存在機(jī)器語言,計(jì)算機(jī)的世界里一片黑暗。可是不久,匯編語言問世了,給計(jì)算機(jī)的世界投下了一縷曙光。后來,F(xiàn)ortran的出現(xiàn)帶來了光明。”LabVIEW圖形化編程語言的出現(xiàn)終于把人們——尤其是工程師和科學(xué)家們從繁雜的編程工作中解放出來,使他們能夠真正專心于自己所關(guān)注的事情。LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容1.1虛擬儀器的概念1.2什么是LabVIEW?1.3LabVIEW可以做什么?1.4LabVIEW的發(fā)展歷程1.5如何學(xué)好LabVIEWLabVIEW程序設(shè)計(jì)從入門到精通1.1虛擬儀器的概念傳統(tǒng)儀器廠商定義功能虛擬儀器用戶定義功能LabVIEW程序設(shè)計(jì)從入門到精通1.1虛擬儀器的概念虛擬儀器系統(tǒng)是由計(jì)算機(jī)、應(yīng)用軟件和儀器硬件三大要素構(gòu)成的。計(jì)算機(jī)與儀器硬件又稱為VI的通用儀器硬件平臺(tái)。LabVIEW程序設(shè)計(jì)從入門到精通1.1虛擬儀器的概念軟件技術(shù)是虛擬儀器的核心技術(shù)。常用的儀器用開發(fā)軟件有LabVIEW、LabWindows/CVI、VEE等等,其中以LabVIEW應(yīng)用最為廣泛。LabVIEW程序設(shè)計(jì)從入門到精通1.2什么是LabVIEW?LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。傳統(tǒng)文本編程語言根據(jù)語句和指令的先后順序決定程序執(zhí)行順序,而LabVIEW則采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點(diǎn)之間的數(shù)據(jù)流向決定了程序的執(zhí)行順序。它用圖標(biāo)表示函數(shù),用連線表示數(shù)據(jù)流向。LabVIEW程序設(shè)計(jì)從入門到精通LabVIEW程序設(shè)計(jì)從入門到精通1.2什么是LabVIEW?LabVIEW程序被稱為VI(VirtualInstrument),即虛擬儀器。LabVIEW的核心概念就是“軟件即是儀器”,即虛擬儀器的概念。LabVIEW還包含了大量的工具與函數(shù)用于數(shù)據(jù)采集、分析、顯示與存儲(chǔ)等。LabVIEW程序設(shè)計(jì)從入門到精通1.3LabVIEW可以做什么?LabVIEW在測(cè)試、測(cè)量和自動(dòng)化等領(lǐng)域具有最大的優(yōu)勢(shì),因?yàn)長(zhǎng)abVIEW提供了大量的工具與函數(shù)用于數(shù)據(jù)采集、分析、顯示和存儲(chǔ)。用戶可以在數(shù)分鐘內(nèi)完成一套完整的從儀器連接、數(shù)據(jù)采集到分析、顯示和存儲(chǔ)的自動(dòng)化測(cè)試測(cè)量系統(tǒng)。它被廣泛地應(yīng)用于汽車、通信、航空、半導(dǎo)體、電子設(shè)計(jì)生產(chǎn)、過程控制和生物醫(yī)學(xué)等各個(gè)領(lǐng)域。LabVIEW程序設(shè)計(jì)從入門到精通1.3LabVIEW可以做什么?LabVIEW不僅可以用來快速搭建小型自動(dòng)化測(cè)試測(cè)量系統(tǒng),還可以被用來開發(fā)大型的分布式數(shù)據(jù)采集與控制系統(tǒng)。在美國LawrenceLivermore國家實(shí)驗(yàn)室,一個(gè)花費(fèi)2000萬美金的極為復(fù)雜的飛秒激光切割系統(tǒng)就是基于LabVIEW開發(fā)的。在北京正負(fù)電子對(duì)撞機(jī)二期工程北京譜儀慢控制系統(tǒng)中,大約有30種物理量共7000多點(diǎn)的現(xiàn)場(chǎng)數(shù)據(jù)點(diǎn)需要實(shí)時(shí)采集控制和分析記錄等。LabVIEW程序設(shè)計(jì)從入門到精通LabVIEW程序設(shè)計(jì)從入門到精通1.4LabVIEW的發(fā)展歷程LabVIEW程序設(shè)計(jì)從入門到精通1.5如何學(xué)好LabVIEW1、多學(xué)習(xí)實(shí)例,本書以及LabVIEW都提供了大量的實(shí)例。2、大膽嘗試,嘗試編寫自己的程序。“Ihear…Iforget.Isee…Iremember.Ido…Iunderstand.”LabVIEW程序設(shè)計(jì)從入門到精通習(xí)題1.什么是虛擬儀器?虛擬儀器與傳統(tǒng)儀器的區(qū)別是什么?2.什么是LabVIEW?LabVIEW的主要優(yōu)勢(shì)是什么?LabVIEW被應(yīng)用在了哪些領(lǐng)域?LabVIEW程序設(shè)計(jì)從入門到精通第2章牛刀小試LabVIEW程序設(shè)計(jì)從入門到精通仿真信號(hào)采集VILabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容建議老師在課堂上進(jìn)行實(shí)際演示。LabVIEW程序設(shè)計(jì)從入門到精通小試身手寫一個(gè)類似于左圖的正弦波發(fā)生器,要求頻率和幅度可調(diào)LabVIEW程序設(shè)計(jì)從入門到精通第3章開始LabVIEW之旅LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容3.1安裝LabVIEW3.2LabVIEW編程環(huán)境3.2.1LabVIEW8.2啟動(dòng)界面3.2.2前面板和程序框圖3.2.3控件選板3.2.4函數(shù)選板3.2.5工具選板3.3善用LabVIEW聯(lián)機(jī)幫助3.3.1實(shí)時(shí)上下文幫助窗口3.3.2聯(lián)機(jī)幫助文檔3.3.3范例查找器3.4編輯前面板3.4.1輸入控件(Controls)和顯示控件(Indicator)3.4.2控件屬性3.5編輯程序框圖3.5.1程序框圖中的控件對(duì)象3.5.2程序框圖節(jié)點(diǎn)3.5.3對(duì)象連線3.6運(yùn)行VI3.7調(diào)試VILabVIEW程序設(shè)計(jì)從入門到精通3.1安裝LabVIEW性能要求及詳細(xì)安裝過程請(qǐng)參考《LabVIEW8.20程序設(shè)計(jì)從入門到精通》第3.1、3.2節(jié)LabVIEW程序設(shè)計(jì)從入門到精通LabVIEW程序包括前面板(用戶界面)和后面板(程序框圖)3種選板:控件選板(為前面板添加控件)函數(shù)選板(在程序框圖中添加函數(shù)或數(shù)據(jù)等)工具選板(選擇各種編輯工具,前面板和后面板都要用到)3.2LabVIEW編程環(huán)境LabVIEW程序設(shè)計(jì)從入門到精通3.2.1LabVIEW8.2啟動(dòng)界面VI程序和工程創(chuàng)建欄新近打開的工程和VI程序列表欄幫助資源列表欄LabVIEW程序設(shè)計(jì)從入門到精通3.2.2前面板和程序框圖LabVIEW程序被稱為VI,擴(kuò)展名默認(rèn)為.vi框圖窗口前面板窗口圖標(biāo)LabVIEW程序設(shè)計(jì)從入門到精通3.2.3控件選板LabVIEW程序設(shè)計(jì)從入門到精通3.2.3控件選板控件選板在前面板顯示,它包含創(chuàng)建前面板時(shí)可用的全部對(duì)象。控件選板中的基本常用控件可以以現(xiàn)代(modern)、經(jīng)典(classic)和系統(tǒng)(system)三種風(fēng)格顯示。選擇主菜單View->ControlsPalette選項(xiàng)或右擊前面板空白處就可以顯示控件選板。LabVIEW程序設(shè)計(jì)從入門到精通3.2.4函數(shù)選板LabVIEW程序設(shè)計(jì)從入門到精通3.2.4函數(shù)選板函數(shù)選板只能在編輯程序框圖時(shí)使用,與控件選板的工作方式大體相同。創(chuàng)建框圖程序常用的VI和函數(shù)對(duì)象都包含在該選板中。選擇View->FunctionsPalette或右擊框圖面板空白處就可以顯示函數(shù)選板。LabVIEW程序設(shè)計(jì)從入門到精通3.2.5工具選板LabVIEW程序設(shè)計(jì)從入門到精通3.2.5工具選板在前面板和程序框圖中都可以使用工具選板,使用其中不同的工具可以操作、編輯或修飾前面板和程序框圖中選定的對(duì)象,也可以用來調(diào)試程序等。可以選擇View->ToolsPalette選項(xiàng)來顯示工具選板LabVIEW程序設(shè)計(jì)從入門到精通3.3善用LabVIEW聯(lián)機(jī)幫助LabVIEW為用戶提供了非常全面的幫助信息,有效地利用幫助信息是快速掌握LabVIEW的一條捷徑。LabVIEW提供了各種獲取幫助信息的方法,包括實(shí)時(shí)上下文幫助(ShowContextHelp)、聯(lián)機(jī)幫助、LabVIEW范例查找器(FindExamples)、網(wǎng)絡(luò)資源(WebResources)等。LabVIEW程序設(shè)計(jì)從入門到精通3.3.1實(shí)時(shí)上下文幫助窗口單擊此處訪問更詳細(xì)的聯(lián)機(jī)幫助更多幫助信息鎖定上下文相關(guān)幫助顯示VI路徑LabVIEW程序設(shè)計(jì)從入門到精通3.3.1實(shí)時(shí)上下文幫助窗口選擇菜單欄中Help->ShowContextHelp選項(xiàng)或按下Ctrl+H,就會(huì)彈出ContextHelp窗口。當(dāng)鼠標(biāo)移到某個(gè)對(duì)象或函數(shù)上時(shí),上下文幫助窗口就會(huì)顯示相應(yīng)的幫助信息。LabVIEW程序設(shè)計(jì)從入門到精通3.3.2聯(lián)機(jī)幫助文檔LabVIEW程序設(shè)計(jì)從入門到精通3.3.2聯(lián)機(jī)幫助文檔當(dāng)單擊ContextHelp窗口中Detailedhelp會(huì)彈出相應(yīng)的完整的幫助信息。這是一個(gè)Windows標(biāo)準(zhǔn)風(fēng)格的幫助窗口,包含了LabVIEW全部的幫助信息。你也可以選擇主菜單Help->SearchtheLabVIEWHelp選項(xiàng)打開它。LabVIEW程序設(shè)計(jì)從入門到精通3.3.3范例查找器LabVIEW程序設(shè)計(jì)從入門到精通3.3.3范例查找器LabVIEW提供了大量的范例,這些范例幾乎包含了LabVIEW所有功能的應(yīng)用實(shí)例,并提供了大量的綜合應(yīng)用實(shí)例。在菜單欄中選擇Help->FindExamples選項(xiàng)可以打開范例查找器。LabVIEW程序設(shè)計(jì)從入門到精通3.4編輯前面板LabVIEW中的前面板是圖形化的人機(jī)界面,利用控件選項(xiàng)板提供的各種控件可以所見即所得地編輯豐富多彩的人機(jī)界面。LabVIEW程序設(shè)計(jì)從入門到精通3.4.1輸入控件(Controls)和顯示控件(Indicator)
利用輸入控件可以輸入相應(yīng)的數(shù)據(jù),例如數(shù)字、布爾量、字符串和文件路徑等。LabVIEW程序設(shè)計(jì)從入門到精通3.4.1輸入控件(Controls)和顯示控件(Indicator)顯示控件用來顯示數(shù)據(jù)。顯示控件有數(shù)字、溫度計(jì)、LED指示燈、文本、波形圖等。LabVIEW程序設(shè)計(jì)從入門到精通3.4.1輸入控件(Controls)和顯示控件(Indicator)前面板中的一些控件既可以作為輸入控件也可以做作為顯示控件。右擊控件,選擇ChangetoIndicator或ChangetoControl可以進(jìn)行輸入控件與顯示控件之間的切換。LabVIEW程序設(shè)計(jì)從入門到精通3.4.2控件屬性前面板中的每個(gè)控件都有自己的屬性,如控件的顏色、最大最小值、顯示精度和方式等。許多屬性都可以根據(jù)不同的需要進(jìn)行編輯。右擊前面板任何一個(gè)控件選擇Properties選項(xiàng)就可以彈出該控件的屬性配置窗口。LabVIEW程序設(shè)計(jì)從入門到精通3.5編輯程序框圖程序框圖是圖形化源代碼的集合,這種圖形化的編程語言也稱為G語言。LabVIEW程序設(shè)計(jì)從入門到精通3.5.1程序框圖中的控件對(duì)象程序框圖中的控件對(duì)象實(shí)際上是前面板相應(yīng)控件的接線端
前面板控件程序框圖中對(duì)應(yīng)的接線端LabVIEW程序設(shè)計(jì)從入門到精通3.5.2程序框圖節(jié)點(diǎn)LabVIEW中的程序框圖節(jié)點(diǎn)是指帶有輸入和輸出接線端的對(duì)象,類似文本編程語言中的語句、運(yùn)算符、函數(shù)和子程序。LabVIEW中的節(jié)點(diǎn)主要包括函數(shù)、結(jié)構(gòu)、ExpressVI、子VI等。LabVIEW程序設(shè)計(jì)從入門到精通3.5.3對(duì)象連線
LabVIEW程序設(shè)計(jì)從入門到精通3.6運(yùn)行VI1.運(yùn)行VI
單擊前面板或程序框圖工具欄中的運(yùn)行按鈕就可以運(yùn)行VI一次,當(dāng)VI正在運(yùn)行時(shí),運(yùn)行按鈕變?yōu)闋顟B(tài)。2.停止VI運(yùn)行 當(dāng)程序運(yùn)行時(shí),停止按鈕由編輯時(shí)的狀態(tài),變?yōu)榭捎脿顟B(tài),單擊此按鈕可強(qiáng)行停止程序的運(yùn)行。如果調(diào)試程序時(shí),使程序無意中進(jìn)入死循環(huán)或無法退出時(shí),這個(gè)按鈕可以強(qiáng)行結(jié)束程序運(yùn)行。LabVIEW程序設(shè)計(jì)從入門到精通3.7調(diào)試VI在程序執(zhí)行前或正在執(zhí)行時(shí),單擊工具欄上的高亮執(zhí)行按鈕,程序就可以在高亮方式下運(yùn)行,這時(shí)可以逼真地顯示數(shù)據(jù)的流動(dòng)過程。再次單擊此按鈕,程序又恢復(fù)正常運(yùn)行。注意,使用高亮執(zhí)行方式,將明顯降低程序的執(zhí)行速度。1.高亮顯示數(shù)據(jù)流LabVIEW程序設(shè)計(jì)從入門到精通3.7調(diào)試VI2.查找VI不可執(zhí)行的原因
如果在一個(gè)VI程序中存在錯(cuò)誤時(shí),VI是不能運(yùn)行的。這時(shí),工具欄中的運(yùn)行按鈕由變?yōu)閿嗔褷顟B(tài),如果單擊此按鈕就會(huì)彈出錯(cuò)誤列表對(duì)話框。LabVIEW程序設(shè)計(jì)從入門到精通小試身手1、新建一個(gè)VI,進(jìn)行如下練習(xí):任意放置幾個(gè)控件在前面板,改變它們的位置、名稱、大小、顏色等等。在VI前面板和后面板之間進(jìn)行切換并排排列前面板和后面板窗口LabVIEW程序設(shè)計(jì)從入門到精通小試身手2、編寫一個(gè)VI求三個(gè)數(shù)的平均值,如右圖所示。要求對(duì)三個(gè)輸入控件等間隔并右對(duì)齊,對(duì)應(yīng)的程序框圖控件對(duì)象也要求如此對(duì)齊。添加注釋分別用普通方式和高亮方式運(yùn)行程序,體會(huì)數(shù)據(jù)流向。單步執(zhí)行一遍L(zhǎng)abVIEW程序設(shè)計(jì)從入門到精通第4章數(shù)據(jù)操作LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容4.1數(shù)據(jù)類型4.1.1數(shù)字型控件4.1.2布爾型控件4.1.3枚舉類型4.1.4時(shí)間類型(TimeStamp)4.1.5局部變量和全局變量4.2數(shù)據(jù)運(yùn)算4.2.1算術(shù)運(yùn)算符4.2.2關(guān)系運(yùn)算符4.2.3邏輯運(yùn)算符4.2.4表達(dá)式節(jié)點(diǎn)(ExpressionNode)LabVIEW程序設(shè)計(jì)從入門到精通4.1數(shù)據(jù)類型VI程序框圖中接線端以不同的圖標(biāo)和顏色來表示不同的數(shù)據(jù)類型
輸入控件顯示控件數(shù)據(jù)類型默認(rèn)值32位無符號(hào)整數(shù)(32-bitunsignedintegernumeric)064位無符號(hào)整數(shù)(64-bitunsignedintegernumeric)0<64.64>位時(shí)間標(biāo)示(<64.64>bittimestamp)當(dāng)?shù)貢r(shí)間日期枚舉類型(Enumeratedtype)-布爾(Boolean)FLASE字符串(String)空字符串LabVIEW程序設(shè)計(jì)從入門到精通4.1.1數(shù)字型控件數(shù)字型控件的外觀可以五花八門,但是程序框圖中的操作卻是以其代表的數(shù)據(jù)類型為準(zhǔn)
LabVIEW程序設(shè)計(jì)從入門到精通4.1.2布爾型控件布爾控件代表一個(gè)布爾值,只能是True或False它既可以代表按鈕輸入,也可以當(dāng)作LED指示燈顯示。
LabVIEW程序設(shè)計(jì)從入門到精通4.1.3枚舉類型LabVIEW中的枚舉類型和C語言中的枚舉類型定義相同。它提供了一個(gè)選項(xiàng)列表,其中每一項(xiàng)都包含一個(gè)字符串標(biāo)識(shí)和數(shù)字標(biāo)識(shí),數(shù)字標(biāo)識(shí)與每一選項(xiàng)在列表中的順序一一對(duì)應(yīng)。
枚舉型控件LabVIEW程序設(shè)計(jì)從入門到精通4.1.3枚舉類型從上述的選板中選擇枚舉類型的輸入控件添加到前面板中,然后右擊該控件,從快捷菜單中選擇EditItems選項(xiàng),打開如下圖所示的枚舉型選項(xiàng)編輯對(duì)話框。
LabVIEW程序設(shè)計(jì)從入門到精通4.1.4時(shí)間類型(TimeStamp)時(shí)間類型是LabVIEW中特有的數(shù)據(jù)類型,用于輸入與輸出時(shí)間和日期LabVIEW程序設(shè)計(jì)從入門到精通4.1.5局部變量和全局變量在很多情況下需要在同一VI的不同位置或在不同的VI中訪問同一個(gè)控件對(duì)象,這時(shí)控件對(duì)象之間的連線就無法實(shí)現(xiàn)。這時(shí)候我們就需要用到局部變量或全局變量,通過局部變量或全局變量你可以在程序框圖中的多個(gè)地方讀寫同一個(gè)控件。LabVIEW程序設(shè)計(jì)從入門到精通局部變量局部變量只能在同一程序內(nèi)部使用,每個(gè)局部變量都對(duì)應(yīng)前面板上的一個(gè)控件,一個(gè)控件可以創(chuàng)建多個(gè)局部變量。讀寫局部變量等同于讀寫相應(yīng)控件局部變量LabVIEW程序設(shè)計(jì)從入門到精通局部變量創(chuàng)建局部變量有兩種方法從函數(shù)選板的Structures子選板中選中LocalVariable節(jié)點(diǎn)前面板或程序框圖中右擊需要?jiǎng)?chuàng)建局部變量的控件選擇Create->LocalVariable選項(xiàng)創(chuàng)建該控件的局部變量
LabVIEW程序設(shè)計(jì)從入門到精通局部變量讀寫局部變量的方法與讀寫控件對(duì)象的方法完全一樣LabVIEW程序設(shè)計(jì)從入門到精通全局變量
通過全局變量可以在不同的VI之間進(jìn)行數(shù)據(jù)交換,一個(gè)全局變量的VI文件中可以包含多個(gè)不同數(shù)據(jù)類型的全局變量。LabVIEW中的全局變量是以獨(dú)立的VI文件形式存在的,這個(gè)VI文件只有前面板,沒有程序框圖,不能進(jìn)行編程。
LabVIEW程序設(shè)計(jì)從入門到精通注意:使用局部變量和全局變量時(shí)要避免競(jìng)爭(zhēng)現(xiàn)象。例如在程序不同的兩個(gè)地方同時(shí)寫同一個(gè)的對(duì)象的局部變量或全局變量,就會(huì)產(chǎn)生競(jìng)爭(zhēng)現(xiàn)象,這時(shí)變量的值是無法預(yù)期的。因此我們必須要注意程序的執(zhí)行順序,避免競(jìng)爭(zhēng)現(xiàn)象LabVIEW程序設(shè)計(jì)從入門到精通4.2數(shù)據(jù)運(yùn)算LabVIEW中提供了豐富的數(shù)據(jù)運(yùn)算功能,除了基本的數(shù)據(jù)運(yùn)算符外,還有許多功能強(qiáng)大的函數(shù)節(jié)點(diǎn),并且還支持通過一些簡(jiǎn)單的文本腳本進(jìn)行數(shù)據(jù)運(yùn)算。LabVIEW圖形化編程中,運(yùn)算是按照從左到右沿?cái)?shù)據(jù)流的方向順序執(zhí)行。LabVIEW程序設(shè)計(jì)從入門到精通4.2.1算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符包含在函數(shù)選板的Numeric子選板中,該子選板中有類型轉(zhuǎn)換(Conversion)節(jié)點(diǎn)、復(fù)數(shù)(Complex)節(jié)點(diǎn)、數(shù)學(xué)和科學(xué)常數(shù)(Math&ScientificConstants)節(jié)點(diǎn)等LabVIEW程序設(shè)計(jì)從入門到精通算術(shù)運(yùn)算符舉例C=A+B=文本編程語言圖形化編程語言LabVIEW程序設(shè)計(jì)從入門到精通4.2.2關(guān)系運(yùn)算符關(guān)系運(yùn)算符也叫比較運(yùn)算符,包含在函數(shù)選板的Comparison子選板中LabVIEW程序設(shè)計(jì)從入門到精通4.2.3邏輯運(yùn)算符邏輯運(yùn)算符又稱為布爾運(yùn)算符,包含在程序框圖中函數(shù)選板的Boolean子選板中,LabVIEW中邏輯運(yùn)算符的圖標(biāo)與數(shù)字電路中邏輯運(yùn)算符的圖標(biāo)相似LabVIEW程序設(shè)計(jì)從入門到精通4.2.4表達(dá)式節(jié)點(diǎn)(ExpressionNode)使用表達(dá)式節(jié)點(diǎn)可以計(jì)算包含一個(gè)變量的數(shù)學(xué)表達(dá)式,該節(jié)點(diǎn)允許使用除復(fù)數(shù)外的任何數(shù)字類型。在表達(dá)式節(jié)點(diǎn)中可以使用的函數(shù)有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。表達(dá)式節(jié)點(diǎn)LabVIEW程序設(shè)計(jì)從入門到精通小試身手1、寫一個(gè)VI判斷兩個(gè)數(shù)的大小,如右圖所示:當(dāng)A>B時(shí),指示燈亮LabVIEW程序設(shè)計(jì)從入門到精通小試身手2.寫一個(gè)VI獲取當(dāng)前系統(tǒng)時(shí)間,并將其轉(zhuǎn)換為字符串和浮點(diǎn)數(shù)。這在實(shí)際編程中會(huì)經(jīng)常遇到。LabVIEW程序設(shè)計(jì)從入門到精通小試身手3.利用局部變量寫一個(gè)計(jì)數(shù)器,每當(dāng)VI運(yùn)行一次計(jì)數(shù)器就加一。當(dāng)VI關(guān)閉后重新打開時(shí),計(jì)數(shù)器清零。LabVIEW程序設(shè)計(jì)從入門到精通小試身手4.寫一個(gè)溫度監(jiān)測(cè)器,如右圖所示,當(dāng)溫度超過報(bào)警上限,而且開啟報(bào)警時(shí),報(bào)警燈點(diǎn)亮。溫度值可以由隨即數(shù)發(fā)生器產(chǎn)生。LabVIEW程序設(shè)計(jì)從入門到精通小試身手5.給定任意x,求如下表達(dá)式的值LabVIEW程序設(shè)計(jì)從入門到精通第5章程序結(jié)構(gòu)LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容5.1順序結(jié)構(gòu)(SequenceStructure)5.2For循環(huán)5.3While循環(huán)5.4Case結(jié)構(gòu)5.5事件結(jié)構(gòu)(EventStructure)5.6使能結(jié)構(gòu)5.7公式節(jié)點(diǎn)(FormulaNode)5.8跟著實(shí)例學(xué)—模擬溫度采集監(jiān)測(cè)系統(tǒng)LabVIEW程序設(shè)計(jì)從入門到精通5.1順序結(jié)構(gòu)(SequenceStructure)5.1.1LabVIEW程序的執(zhí)行順序
數(shù)據(jù)流式的編程方法多段代碼同時(shí)執(zhí)行LabVIEW程序設(shè)計(jì)從入門到精通5.1順序結(jié)構(gòu)(SequenceStructure)FlatSequenceStructureStackedSequenceStructureLabVIEW程序設(shè)計(jì)從入門到精通5.1順序結(jié)構(gòu)(SequenceStructure)在FlatSequenceStructure的Frame間傳遞數(shù)據(jù)LabVIEW程序設(shè)計(jì)從入門到精通5.1順序結(jié)構(gòu)(SequenceStructure)在StackedSequenceStructure的Frame間傳遞數(shù)據(jù)
LabVIEW程序設(shè)計(jì)從入門到精通5.2For循環(huán)For循環(huán)用于將某段程序循環(huán)執(zhí)行指定的次數(shù)。可以通過兩種方法指定循環(huán)次數(shù),一種是直接給定,一種是通過輸入數(shù)組的大小給定LabVIEW程序設(shè)計(jì)從入門到精通5.2For循環(huán)輸入和輸出數(shù)組LabVIEW程序設(shè)計(jì)從入門到精通5.2For循環(huán)5.2.3移位寄存器(ShiftRegister)一個(gè)累加10次的a++程序通過局部變量實(shí)現(xiàn)通過移位寄存器實(shí)現(xiàn)
LabVIEW程序設(shè)計(jì)從入門到精通5.2For循環(huán)5.2.4反饋節(jié)點(diǎn)(FeedbackNode)通過反饋節(jié)點(diǎn)實(shí)現(xiàn)a++
LabVIEW程序設(shè)計(jì)從入門到精通5.3While循環(huán)LabVIEW程序設(shè)計(jì)從入門到精通5.3While循環(huán)5.3.2添加定時(shí)器LabVIEW程序設(shè)計(jì)從入門到精通5.3While循環(huán)5.3.3使用移位寄存器和反饋節(jié)點(diǎn)累加器程序
LabVIEW程序設(shè)計(jì)從入門到精通5.4Case結(jié)構(gòu)If(a%2==0)b=a+2;elseb=a+1;end5.4.1等價(jià)于if...else...語句的Case結(jié)構(gòu)LabVIEW程序設(shè)計(jì)從入門到精通5.4Case結(jié)構(gòu)5.4.3等價(jià)于switch語句的Case結(jié)構(gòu)switch(fruit){caseapple:price=9;casebanana:price=10;casepear:price=8;default:price=0;}LabVIEW程序設(shè)計(jì)從入門到精通5.5事件結(jié)構(gòu)(EventStructure)分析該程序可以看出,這個(gè)程序在沒有用戶點(diǎn)擊的情況下完全都是在“空轉(zhuǎn)”,浪費(fèi)了大量的CPU資源,而且當(dāng)“事件”發(fā)生太快時(shí)可能會(huì)被忽略。因此Labview提供了事件結(jié)構(gòu)來解決這個(gè)問題,即僅當(dāng)“事件”發(fā)生時(shí),程序才做相應(yīng)的響應(yīng)基于While循環(huán)和Case結(jié)構(gòu)的單擊計(jì)數(shù)器
LabVIEW程序設(shè)計(jì)從入門到精通5.5事件結(jié)構(gòu)(EventStructure)LabVIEW程序設(shè)計(jì)從入門到精通5.5事件結(jié)構(gòu)(EventStructure)LabVIEW程序設(shè)計(jì)從入門到精通LabVIEW程序設(shè)計(jì)從入門到精通5.5事件結(jié)構(gòu)(EventStructure)基于事件結(jié)構(gòu)的單擊計(jì)數(shù)器
LabVIEW程序設(shè)計(jì)從入門到精通5.5事件結(jié)構(gòu)(EventStructure)5.5.2Filter事件顧名思義,當(dāng)該事件發(fā)生時(shí),用戶可以過濾掉甚至完全放棄掉該事件將觸發(fā)的活動(dòng)。
LabVIEW程序設(shè)計(jì)從入門到精通注意:一般來說,事件只能通過外在用戶的動(dòng)作觸發(fā),如單擊鼠標(biāo),鍵盤等。如果需要內(nèi)部數(shù)據(jù)觸發(fā)事件(例如當(dāng)a>b條件滿足時(shí)觸發(fā)一個(gè)事件),就需要通過用戶自定義事件的方法實(shí)現(xiàn),這將在本書的21.3節(jié)中介紹。LabVIEW程序設(shè)計(jì)從入門到精通5.6使能結(jié)構(gòu)5.6.1框圖使能結(jié)構(gòu)——注釋程序框圖LabVIEW程序設(shè)計(jì)從入門到精通5.7公式節(jié)點(diǎn)(FormulaNode)通過公式節(jié)點(diǎn),用戶不僅可以實(shí)現(xiàn)復(fù)雜的數(shù)學(xué)公式,還能通過文本編程寫一些基本的邏輯語句,如if…else…,case,while循環(huán)之類的語句。y=LabVIEW程序設(shè)計(jì)從入門到精通5.7公式節(jié)點(diǎn)(FormulaNode)公式節(jié)點(diǎn)中可以包含任意數(shù)量的公式
LabVIEW程序設(shè)計(jì)從入門到精通5.7公式節(jié)點(diǎn)(FormulaNode)5.7.2文本編程語言的實(shí)現(xiàn)基于公式節(jié)點(diǎn)的CRC16算法的實(shí)現(xiàn)
LabVIEW程序設(shè)計(jì)從入門到精通5.8跟著實(shí)例學(xué)—模擬溫度采集監(jiān)測(cè)系統(tǒng)LabVIEW程序設(shè)計(jì)從入門到精通小試身手1.利用順序結(jié)構(gòu)和timing面板下的tickcountVI,計(jì)算for循環(huán)次所需的時(shí)間。2.為第4章習(xí)題4添加一個(gè)While循環(huán)和定時(shí)器,實(shí)現(xiàn)連續(xù)的溫度采集監(jiān)測(cè)LabVIEW程序設(shè)計(jì)從入門到精通小試身手3、利用順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu)寫一個(gè)跑馬燈,如下圖所示,5個(gè)燈從左到右不停的輪流點(diǎn)亮,閃爍間隔由滑動(dòng)條調(diào)節(jié)LabVIEW程序設(shè)計(jì)從入門到精通小試身手4.求分?jǐn)?shù)序列前20項(xiàng)之和。5.給出一百分制成績(jī),要求輸出等級(jí)A,B,C,D,E。90分以上為A,80~89為B,70~79為C,60~69為D,60分以下為E。LabVIEW程序設(shè)計(jì)從入門到精通小試身手6.利用事件結(jié)構(gòu)實(shí)現(xiàn)在數(shù)字輸入控件中,每當(dāng)用戶按下一個(gè)數(shù)字后,累加值就將新數(shù)字累加上去。例如按下34時(shí),累加值為7;按下345時(shí),累加值為12…LabVIEW程序設(shè)計(jì)從入門到精通小試身手7.利用公式節(jié)點(diǎn)判斷一個(gè)數(shù)是否是素?cái)?shù),我們可以采用這樣的算法:用2~sqrt(N),依次去對(duì)N求余,只要有一個(gè)余數(shù)是0,則N就不是素?cái)?shù)。LabVIEW程序設(shè)計(jì)從入門到精通第6章字符串、數(shù)組、簇和矩陣LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容6.1字符串(String)6.2數(shù)組(Array)6.3簇(Cluster)——LabVIEW中的結(jié)構(gòu)體變量6.4矩陣(Matrix)LabVIEW程序設(shè)計(jì)從入門到精通6.1字符串(String)字符串在LabVIEW編程中會(huì)頻繁的用到,因此LabVIEW封裝了功能豐富的字符串函數(shù)用于字符串的處理,用戶不需要再像C語言中一樣為字符串的操作編寫繁瑣的程序。字符串控件包括輸入控件、顯示控件和下拉框。LabVIEW程序設(shè)計(jì)從入門到精通6.1字符串(String)LabVIEW程序設(shè)計(jì)從入門到精通6.1字符串(String)6.1.1字符串控件字符串輸入控件一般被用作文本輸入框,而字符串顯示控件一般被用作文本顯示框。
LabVIEW程序設(shè)計(jì)從入門到精通6.1字符串(String)6.1.2表格和樹形控件表格(Table)和樹形控件在ControlsPalette的Modern->List&Table…面板下。表格實(shí)際上就是一個(gè)字符串組成的二維數(shù)組。樹形控件以樹的形式顯示多層內(nèi)容,Windows的資源管理器就是用樹形控件來顯示文件目錄的。LabVIEW程序設(shè)計(jì)從入門到精通6.1字符串(String)6.1.2表格和樹形控件舉例LabVIEW程序設(shè)計(jì)從入門到精通6.1字符串(String)6.1.3字符串函數(shù)LabVIEW程序設(shè)計(jì)從入門到精通6.1字符串(String)6.1.3字符串函數(shù)舉例
基本字符串函數(shù)示例
LabVIEW程序設(shè)計(jì)從入門到精通6.1字符串(String)6.1.3字符串函數(shù)舉例數(shù)據(jù)數(shù)組/電子表格字符串轉(zhuǎn)換函數(shù)示例
LabVIEW程序設(shè)計(jì)從入門到精通6.2數(shù)組(Array)6.2.1數(shù)組控件數(shù)組控件
LabVIEW程序設(shè)計(jì)從入門到精通6.2數(shù)組(Array)6.2.1數(shù)組控件LabVIEW程序設(shè)計(jì)從入門到精通6.2數(shù)組(Array)6.2.2數(shù)組之間的算術(shù)運(yùn)算LabVIEW一個(gè)非常大的優(yōu)勢(shì)就是它可以根據(jù)輸入數(shù)據(jù)的類型判斷算子的運(yùn)算方法,即自動(dòng)實(shí)現(xiàn)多態(tài)對(duì)于加減乘除,數(shù)組之間的運(yùn)算滿足下面的規(guī)則:a)如果進(jìn)行運(yùn)算的兩個(gè)數(shù)組大小完全一樣,則將兩個(gè)數(shù)組中索引相同的元素進(jìn)行運(yùn)算形成一個(gè)新的數(shù)組。b)若大小不一樣,則忽略較大數(shù)組多出來的部分。c)如果一個(gè)數(shù)組和一個(gè)數(shù)值進(jìn)行運(yùn)算,則數(shù)組的每個(gè)元素都和該數(shù)值進(jìn)行運(yùn)算從而輸出一個(gè)新的數(shù)組。
LabVIEW程序設(shè)計(jì)從入門到精通6.2數(shù)組(Array)6.2.3數(shù)組函數(shù)LabVIEW程序設(shè)計(jì)從入門到精通6.2數(shù)組(Array)6.2.3數(shù)組函數(shù)舉例用ArraySize函數(shù)獲得三維數(shù)組大小示例
LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量簇是LabVIEW中比較獨(dú)特的一個(gè)概念,但實(shí)際上它就對(duì)應(yīng)于C語言等文本編程語言中的結(jié)構(gòu)體變量。
LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量6.3.1簇的創(chuàng)建通過簇控件實(shí)現(xiàn)的溫度顯示器
LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量改變簇內(nèi)部元素控件的索引
LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量6.3.2簇操作函數(shù)LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量1、解包函數(shù)(Unbundle)該函數(shù)將簇解開從而獲得簇中各個(gè)元素的值。缺省情況下,它會(huì)根據(jù)輸入的簇自動(dòng)調(diào)整輸出端子的數(shù)目和數(shù)據(jù)類型,并按照簇內(nèi)部元素索引的順序排列。LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量2、打包函數(shù)(Bundle)該函數(shù)用來為Cluster中各元素賦值。LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量3、按元素名稱解包函數(shù)(UnbundleByName)普通的解包函數(shù)解包后只有將鼠標(biāo)移到輸出端子上才能看到輸出元素的名稱,程序的可讀性不高。該函數(shù)可以根據(jù)名稱有選擇的輸出簇內(nèi)部元素。其中元素名稱就是指元素的Label。LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量4、按元素名稱打包函數(shù)(UnbundleByName)該函數(shù)通過簇內(nèi)部元素名稱來給簇內(nèi)部元素賦值。參考簇是必須的,該函數(shù)通過參考簇來獲得元素名稱。LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量簇操作函數(shù)使用示例
LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量6.3.3errorin和errorout簇LabVIEW利用errorin和errorout這兩個(gè)預(yù)定義簇來作為傳遞錯(cuò)誤信息的載體。LabVIEW程序設(shè)計(jì)從入門到精通6.3簇(Cluster)
——LabVIEW中的結(jié)構(gòu)體變量6.3.3errorin和errorout簇對(duì)于系統(tǒng)錯(cuò)誤,code都有預(yù)先的定義,可以通過選擇Help->ExplainError…打開錯(cuò)誤解釋框來查找該錯(cuò)誤代碼的更詳細(xì)的解釋。LabVIEW程序設(shè)計(jì)從入門到精通6.4矩陣(Matrix)LabVIEW8之前的版本中只能通過二維數(shù)組來實(shí)現(xiàn)矩陣的操作。但是數(shù)組的運(yùn)算方法和矩陣的運(yùn)算方法有很大不同,譬如兩個(gè)數(shù)組相乘是直接將相同索引的數(shù)組元素相乘,而矩陣的相乘必須按照線性代數(shù)中規(guī)定的方法相乘,因此用數(shù)組實(shí)現(xiàn)矩陣運(yùn)算是非常麻煩的。LabVIEW8最新加入了對(duì)矩陣的支持,從而使矩陣的運(yùn)算變得非常簡(jiǎn)單。LabVIEW程序設(shè)計(jì)從入門到精通6.4矩陣(Matrix)矩陣乘法舉例LabVIEW程序設(shè)計(jì)從入門到精通6.4矩陣(Matrix)LabVIEW8還提供了豐富的線性代數(shù)運(yùn)算函數(shù),它們位于FunctionsPalette的mathematics->lineralgebra…面板下LabVIEW程序設(shè)計(jì)從入門到精通小試身手1.為第5章的習(xí)題2連續(xù)溫度采集監(jiān)測(cè)添加報(bào)警信息,如下圖所示,當(dāng)報(bào)警發(fā)生時(shí)輸出報(bào)警信息,例如“溫度超限!當(dāng)前溫度78.23℃”,正常情況下輸出空字符串。LabVIEW程序設(shè)計(jì)從入門到精通小試身手2.對(duì)字符串進(jìn)行加密,規(guī)則是每個(gè)字母后移5位,例如A變?yōu)镕,b變?yōu)間,x變?yōu)閏,y變?yōu)閐…LabVIEW程序設(shè)計(jì)從入門到精通小試身手3.產(chǎn)生一個(gè)3×3的整數(shù)隨機(jī)數(shù)數(shù)組,隨機(jī)數(shù)要在0到100之間,然后找出數(shù)組的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小,也可能沒有鞍點(diǎn)。如下圖所示:LabVIEW程序設(shè)計(jì)從入門到精通小試身手4.利用簇模擬汽車控制,如右圖所示,控制面板可以對(duì)顯示面板中的參量進(jìn)行控制。油門控制轉(zhuǎn)速,轉(zhuǎn)速=油門*100,檔位控制時(shí)速,時(shí)速=檔位*40,油量隨VI運(yùn)行時(shí)間減少。LabVIEW程序設(shè)計(jì)從入門到精通第7章圖形化顯示數(shù)據(jù)
——圖表和圖形LabVIEW程序設(shè)計(jì)從入門到精通引子LabVIEW很大的一個(gè)優(yōu)勢(shì)就是它提供了豐富的數(shù)據(jù)圖形化顯示控件,而且使用起來極其方便。LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容7.1波形數(shù)據(jù)(Waveform)7.2Chart趨勢(shì)圖7.3Graph圖表7.4三維圖形(3DGraph)7.5Picture圖形控件LabVIEW程序設(shè)計(jì)從入門到精通7.1波形數(shù)據(jù)(Waveform)7.1.1波形數(shù)據(jù)控件為了方便地顯示波形,LabVIEW專門預(yù)定義了波形數(shù)據(jù)類型。它實(shí)際上就是按照一定格式預(yù)定義的簇,在信號(hào)采集,處理和分析過程中經(jīng)常會(huì)用到它。LabVIEW程序設(shè)計(jì)從入門到精通7.1波形數(shù)據(jù)(Waveform)波形數(shù)據(jù)控件攜帶的數(shù)據(jù)包含了時(shí)間波形的基本信息,因此可以直接作為Chart和Graph的輸入。橫坐標(biāo)代表時(shí)間,縱坐標(biāo)代表Y值LabVIEW程序設(shè)計(jì)從入門到精通7.1波形數(shù)據(jù)(Waveform)7.1.2波形數(shù)據(jù)操作函數(shù)雖然波形數(shù)據(jù)是一種預(yù)定義格式的簇,但是必須用專用的波形數(shù)據(jù)操作函數(shù)才能對(duì)它進(jìn)行操作,其中某些操作函數(shù)與簇的操作函數(shù)非常類似。波形數(shù)據(jù)的操作函數(shù)位于FunctionsPalette的Programming->Waveform…子模板下LabVIEW程序設(shè)計(jì)從入門到精通7.1波形數(shù)據(jù)(Waveform)波形數(shù)據(jù)操作函數(shù)舉例LabVIEW程序設(shè)計(jì)從入門到精通7.2Chart趨勢(shì)圖Chart可以將新測(cè)得的數(shù)據(jù)添加到曲線的尾端,從而反映實(shí)時(shí)數(shù)據(jù)的變化趨勢(shì),它主要用來顯示實(shí)時(shí)曲線。LabVIEW程序設(shè)計(jì)從入門到精通7.2Chart趨勢(shì)圖7.2.1波形趨勢(shì)圖(WaveformChart)對(duì)于標(biāo)量數(shù)據(jù),Chart圖表直接將數(shù)據(jù)添加在曲線的尾端。
LabVIEW程序設(shè)計(jì)從入門到精通7.2Chart趨勢(shì)圖對(duì)于一維數(shù)組數(shù)據(jù),它會(huì)一次性把一維數(shù)組的數(shù)據(jù)添加在曲線末端,即曲線每次向前推進(jìn)的點(diǎn)數(shù)為數(shù)組數(shù)據(jù)的點(diǎn)數(shù)。
LabVIEW程序設(shè)計(jì)從入門到精通7.2Chart趨勢(shì)圖若要顯示多條標(biāo)量曲線,只需要用簇的Bundle函數(shù)將它們綁定在一起作為輸入即可。
LabVIEW程序設(shè)計(jì)從入門到精通7.2Chart趨勢(shì)圖對(duì)于二維數(shù)組,缺省情況下是每一列的數(shù)據(jù)當(dāng)作一條一維數(shù)組曲線。
LabVIEW程序設(shè)計(jì)從入門到精通7.2Chart趨勢(shì)圖技巧:若想將曲線截圖,可以通過右擊曲線選擇DataOperations->CopyData將曲線圖復(fù)制到剪切板上。LabVIEW程序設(shè)計(jì)從入門到精通7.2Chart趨勢(shì)圖7.2.2定制Chart顯示樣式分欄顯示多條曲線。
右擊Chart選擇StackPlots
LabVIEW程序設(shè)計(jì)從入門到精通7.2Chart趨勢(shì)圖7.2.2定制Chart顯示樣式設(shè)置更新模式右擊Chart選擇Advanced->UpdateMode…可以設(shè)置曲線的更新模式。StripChart模式:曲線填滿顯示區(qū)后曲線通過左移來更新曲線。ScopeChart模式:曲線填滿顯示區(qū)后直接清空顯示區(qū)重新開始從左向右增長(zhǎng)曲線在SweepChart模式:通過一條指示紅線從左向右刷新數(shù)據(jù)LabVIEW程序設(shè)計(jì)從入門到精通7.2Chart趨勢(shì)圖7.2.3帶時(shí)間軸的實(shí)時(shí)曲線LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表Graph和Chart的區(qū)別在于Graph是一次性將現(xiàn)有數(shù)據(jù)繪圖,在繪圖之前先自動(dòng)清空?qǐng)D表,而不會(huì)將新數(shù)據(jù)添加到曲線的尾端。根據(jù)顯示方法,Graph又分為波形圖、XY曲線圖、強(qiáng)度圖、數(shù)字時(shí)序圖和三維圖。LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表7.3.1定制Graph屬性
LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表右擊Graph控件可以看到該控件有很多屬性可以設(shè)置。選擇VisibleItems…可以看到關(guān)于該控件的很多輔助選項(xiàng)。選擇這些選項(xiàng)可以使它們都可見,如下圖所示。LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——WaveformGraph7.3.2WaveformGraphWaveformGraph可以有多種數(shù)據(jù)輸入類型:一維數(shù)組,二維數(shù)組,簇,簇?cái)?shù)組,波形數(shù)據(jù)。它在ControlsPalette中的位置為Modern->Graph->WaveformGraph。LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——WaveformGraph1、一維數(shù)組作為輸入當(dāng)輸入數(shù)據(jù)為一維數(shù)組時(shí),WaveformGraph直接將一維數(shù)組畫成一條曲線,縱坐標(biāo)為數(shù)組元素的值,橫坐標(biāo)為數(shù)組索引。
LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——WaveformGraph2、二維數(shù)組作為輸入當(dāng)輸入數(shù)組為二維數(shù)組時(shí),缺省情況下每一行的數(shù)據(jù)對(duì)應(yīng)一條曲線,即曲線的數(shù)目和行數(shù)相同。
LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——WaveformGraph3、簇作為輸入簇作為輸入時(shí)需要指定三個(gè)元素:起始位置x0、數(shù)據(jù)點(diǎn)間隔dx和數(shù)組數(shù)據(jù)。LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——WaveformGraph4、簇?cái)?shù)組作為輸入一維簇?cái)?shù)組也可以直接作為Graph的輸入,此時(shí)相當(dāng)于x0為0,dx為1
LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——WaveformGraph5、波形數(shù)據(jù)作為輸入由于波形數(shù)據(jù)所攜帶的數(shù)據(jù)橫軸為時(shí)間,因此需要將WaveformGraph的橫軸設(shè)為時(shí)間軸。
LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——XYGraph7.3.3XYGraph當(dāng)我們需要畫的曲線是由(x,y)坐標(biāo)決定的時(shí)候,我們就需要采用XYGraph。其實(shí)WaveformGraph在一定意義上也是XYGraph,但是它的X軸必須是等間距的,而且不可控制。LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——XYGraph1、XY兩個(gè)一維數(shù)組綁定為簇作為輸入
這是最簡(jiǎn)的一種情形,Bundle函數(shù)的輸入的第一個(gè)數(shù)組為XArray,第二個(gè)數(shù)組為YArray。綁定為簇后可以直接輸入,也可以將多個(gè)簇Build為一維數(shù)組輸入實(shí)現(xiàn)多條曲線。
LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——XYGraph2、坐標(biāo)點(diǎn)簇?cái)?shù)組作為輸入該方式將各個(gè)點(diǎn)的坐標(biāo)綁定為簇然后作為簇?cái)?shù)組輸入,和直接將XY數(shù)組綁定為簇輸入效果一樣。但是后者不一定需要XY數(shù)組的大小一致,它會(huì)自動(dòng)將大的數(shù)組裁剪。
LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——XYGraph3、時(shí)間作為X軸——利用XYGraph實(shí)現(xiàn)歷史曲線
LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表——XYGraph4、ExpressXYGraphExpressXYGraph采用了LabVIEW的Express技術(shù),將ExpressXYGraph放置在前面板上的同時(shí),在程序框圖中會(huì)自動(dòng)添加一個(gè)VI,它的XY軸數(shù)據(jù)為動(dòng)態(tài)數(shù)據(jù)類型。LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表7.3.4亮度圖(IntensityGraph&Chart)LabVIEW程序設(shè)計(jì)從入門到精通7.3Graph圖表7.3.5數(shù)字波形圖(DigitalWaveformGraph)LabVIEW程序設(shè)計(jì)從入門到精通7.4三維圖形(3DGraph)1、三維曲面圖(3DSurfaceGraph)將該控件放置在前面板上的同時(shí),在背面板也會(huì)同時(shí)出現(xiàn)一個(gè)ActiveX控件和一個(gè)VI函數(shù)3DSurface.vi。
LabVIEW程序設(shè)計(jì)從入門到精通7.4三維圖形(3DGraph)2、三維參量曲面圖(3DParametricGraph)它需要3個(gè)軸的數(shù)據(jù)均為二維數(shù)組,分別決定了相對(duì)于x平面、y平面和z平面的曲面。
LabVIEW程序設(shè)計(jì)從入門到精通7.4三維圖形(3DGraph)3、三維曲線圖(3DCurveGraph)
LabVIEW程序設(shè)計(jì)從入門到精通7.5Picture圖形控件向Picture控件導(dǎo)入圖片LabVIEW程序設(shè)計(jì)從入門到精通7.5Picture圖形控件利用Picture控件畫圖
LabVIEW程序設(shè)計(jì)從入門到精通小試身手1.請(qǐng)說出Chart、WaveformGraph、XYGraph之間的主要區(qū)別。LabVIEW程序設(shè)計(jì)從入門到精通小試身手2.利用隨機(jī)數(shù)發(fā)生器仿真一個(gè)0到5V的采樣信號(hào),每200ms采一個(gè)點(diǎn),利用實(shí)時(shí)趨勢(shì)曲線實(shí)時(shí)顯示采樣結(jié)果。LabVIEW程序設(shè)計(jì)從入門到精通小試身手3.在習(xí)題2的基礎(chǔ)上再增加1路電壓信號(hào)采集,此路電壓信號(hào)的范圍為5到10V。LabVIEW程序設(shè)計(jì)從入門到精通小試身手4.利用隨機(jī)數(shù)發(fā)生器仿真一個(gè)0到5V的采樣信號(hào),每200ms采一個(gè)點(diǎn),共采集50個(gè)點(diǎn),采集完后一次性顯示在WaveformGraph上。LabVIEW程序設(shè)計(jì)從入門到精通小試身手5.在習(xí)題4的基礎(chǔ)上再增加1路電壓信號(hào)采集,此路電壓信號(hào)的范圍為5到10V,采樣間隔是50ms,共采100個(gè)點(diǎn)。采樣完成后,將兩路采樣信號(hào)顯示在同一個(gè)WaveformGraph中。LabVIEW程序設(shè)計(jì)從入門到精通小試身手6.將習(xí)題5中的X軸改為時(shí)間軸顯示,要求時(shí)間軸能真實(shí)的反映采樣時(shí)間。分析為什么與習(xí)題5的顯示結(jié)果截然不同?LabVIEW程序設(shè)計(jì)從入門到精通小試身手7.利用SignalProcessing->SignalGeneration->SinePattern.vi(如右上圖所示)產(chǎn)生兩條正弦曲線,將兩條曲線分別作為XYGraph的XY輸入。通過改變其中一條曲線的頻率和相位來研究李薩如圖形。LabVIEW程序設(shè)計(jì)從入門到精通第8章ExpressVI——快速搭建專業(yè)測(cè)試系統(tǒng)LabVIEW程序設(shè)計(jì)從入門到精通引子自LabVIEW7開始,LabVIEW提供了Express技術(shù),用以快捷簡(jiǎn)便地搭建專業(yè)的測(cè)試系統(tǒng)。在此后的版本中,Express技術(shù)得到了不斷的加強(qiáng)。它將各種基本函數(shù)進(jìn)一步打包為更加智能,功能更加豐富的函數(shù);并對(duì)其中某些函數(shù)提供配置對(duì)話框,通過配置框可以對(duì)函數(shù)進(jìn)行詳細(xì)的配置。因此,通過ExpressVI我們可以用很少的步驟實(shí)現(xiàn)功能完善的測(cè)試系統(tǒng)。對(duì)于復(fù)雜的系統(tǒng),利用ExpressVI也能起到極大的簡(jiǎn)化作用。LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容8.1初識(shí)Express技術(shù)8.2動(dòng)態(tài)數(shù)據(jù)類型
8.3ExpressVIs簡(jiǎn)介8.4跟著實(shí)例學(xué)——基于ExpressVI的聲音信號(hào)采集系統(tǒng)LabVIEW程序設(shè)計(jì)從入門到精通8.1初識(shí)Express技術(shù)Express技術(shù)包含前面板控件和程序框圖VI函數(shù)
LabVIEW程序設(shè)計(jì)從入門到精通8.1初識(shí)Express技術(shù)基于配置的編程方式仿真信號(hào)發(fā)生器ExpressVI參數(shù)配置對(duì)話框LabVIEW程序設(shè)計(jì)從入門到精通8.1初識(shí)Express技術(shù)利用ExpressVI搭建的信號(hào)濾波器LabVIEW程序設(shè)計(jì)從入門到精通8.2動(dòng)態(tài)數(shù)據(jù)類型針對(duì)ExpressVI的靈活性,LabVIEW提供了動(dòng)態(tài)數(shù)據(jù)類型(DynamicDataType,DDT)來攜帶ExpressVI的輸入與輸出信號(hào)。動(dòng)態(tài)數(shù)據(jù)類型能夠攜帶單點(diǎn),單通道(一維數(shù)組)或多通道(二維數(shù)組)的數(shù)據(jù)或波形數(shù)據(jù)類型的數(shù)據(jù)。此外,它還包含了一些信號(hào)的屬性信息,譬如信號(hào)的名稱、采集日期時(shí)間等。LabVIEW程序設(shè)計(jì)從入門到精通8.2動(dòng)態(tài)數(shù)據(jù)類型由于動(dòng)態(tài)數(shù)據(jù)類型能夠包含單個(gè)或多個(gè)信號(hào),因此還可以將多個(gè)DDT數(shù)據(jù)合并或者將合并后的DDT數(shù)據(jù)再拆開。這可以通過Express->SignalManipulation面板下的MergeSignals和SplitSignals函數(shù)實(shí)現(xiàn)。
LabVIEW程序設(shè)計(jì)從入門到精通8.3ExpressVIs簡(jiǎn)介8.3.1信號(hào)輸入(Input)ExpressVIs信號(hào)輸入ExpressVIs在Express->Input面板下,主要用來從儀器采集信號(hào)或產(chǎn)生仿真信號(hào);通過這些函數(shù),信號(hào)可以來源于儀器,也可以來源于文件或者由計(jì)算機(jī)仿真產(chǎn)生。LabVIEW程序設(shè)計(jì)從入門到精通8.3ExpressVIs簡(jiǎn)介L(zhǎng)abVIEW程序設(shè)計(jì)從入門到精通8.3ExpressVIs簡(jiǎn)介8.3.2信號(hào)分析(SignalAnalysis)ExpressVIs信號(hào)分析ExpressVIs在Express->SignalAnalysis面板下。該面板下包含了最常用的信號(hào)分析函數(shù),例如譜測(cè)量、失真度測(cè)量、曲線擬合、濾波器和直方圖等。LabVIEW程序設(shè)計(jì)從入門到精通8.3ExpressVIs簡(jiǎn)介8.3.3輸出(Output)ExpressVIsOutputExpressVIs在Express->Output面板下,用于將信號(hào)數(shù)據(jù)存入文件,產(chǎn)生報(bào)表或向儀器輸出真實(shí)信號(hào)等LabVIEW程序設(shè)計(jì)從入門到精通8.3ExpressVIs簡(jiǎn)介L(zhǎng)abVIEW程序設(shè)計(jì)從入門到精通8.3ExpressVIs簡(jiǎn)介8.3.4信號(hào)操作(SignalManipulation)ExpressVIs信號(hào)操作ExpressVIs在Express->SignalManipulation面板下。主要用于對(duì)信號(hào)數(shù)據(jù)進(jìn)行各種操作,譬如信號(hào)合并、類型轉(zhuǎn)換、信號(hào)連接、抽樣信號(hào)、觸發(fā)信號(hào)和選擇信號(hào)等;LabVIEW程序設(shè)計(jì)從入門到精通8.3ExpressVIs簡(jiǎn)介8.3.5算術(shù)與比較(Arithmetic&Comparison)ExpressVIs算術(shù)與比較ExpressVIs在Express->Arithmetic&Comparison面板下,它包含一些基本的數(shù)學(xué)函數(shù)和比較操作符,以及數(shù)字和字符串等。LabVIEW程序設(shè)計(jì)從入門到精通8.3ExpressVIs簡(jiǎn)介8.3.6執(zhí)行控制ExpressVIs執(zhí)行控制ExpressVIs在Express->ExecutionControl面板下,包含了一些基本的程序結(jié)構(gòu)以及時(shí)間函數(shù),譬如While結(jié)構(gòu),Case結(jié)構(gòu),時(shí)間延時(shí)和消逝時(shí)間等。LabVIEW程序設(shè)計(jì)從入門到精通8.4跟著實(shí)例學(xué)——基于ExpressVI的聲音信號(hào)采集系統(tǒng)本例中將聲卡采集到的聲音信號(hào)進(jìn)行高通濾波,然后將信號(hào)數(shù)據(jù)重新輸入聲卡播放,并將采集到的聲音信號(hào)寫入LabVIEW測(cè)試文件(.lvm文件),最后生成HTML報(bào)表。本例中基本上包含了信號(hào)采集系統(tǒng)的基本功能:信號(hào)采集、信號(hào)處理,存儲(chǔ)和生成報(bào)表。LabVIEW程序設(shè)計(jì)從入門到精通8.4跟著實(shí)例學(xué)——基于ExpressVI的聲音信號(hào)采集系統(tǒng)LabVIEW程序設(shè)計(jì)從入門到精通8.4跟著實(shí)例學(xué)——基于ExpressVI的聲音信號(hào)采集系統(tǒng)LabVIEW程序設(shè)計(jì)從入門到精通小試身手利用ExpressVI產(chǎn)生一個(gè)帶白噪聲的正弦信號(hào),然后用功率譜分析ExpressVI對(duì)其進(jìn)行功率譜分析,并將原信號(hào)與分析結(jié)果寫入測(cè)量文件。LabVIEW程序設(shè)計(jì)從入門到精通第9章文件I/OLabVIEW程序設(shè)計(jì)從入門到精通引子對(duì)于一個(gè)完整的測(cè)試系統(tǒng)或數(shù)據(jù)采集系統(tǒng),我們經(jīng)常需要將硬件的配置信息寫入配置文件或者將采集到的數(shù)據(jù)以一定格式存儲(chǔ)在文件中保存數(shù)據(jù)。因此LabVIEW提供了強(qiáng)大的文件I/O函數(shù)用以滿足不同的文件操作需求。LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容9.1選擇合適的文件類型9.2文件的基本操作9.3文本文件和表單文件9.4二進(jìn)制文件(BinaryFiles)9.9基于文本的測(cè)量文件(.lvm文件)9.11高速數(shù)據(jù)流文件(.tdms文件)LabVIEW程序設(shè)計(jì)從入門到精通9.1選擇合適的文件類型LabVIEW支持的文件類型文本文件(TextFiles)
表單文件(SpreadsheetFiles)二進(jìn)制文件(BinaryFiles)
數(shù)據(jù)記錄文件(DatalogFiles)XML文件
配置文件(ConfigurationFiles)
波形(Waveform)文件
基于文本的測(cè)量文件(.lvm文件)
數(shù)據(jù)存儲(chǔ)文件(.tdm文件)
高速數(shù)據(jù)流文件文件(.tdms文件)
LabVIEW程序設(shè)計(jì)從入門到精通9.2文件的基本操作基本步驟打開->讀寫、操作->關(guān)閉LabVIEW程序設(shè)計(jì)從入門到精通9.3文本文件和表單文件它將字符串以ASCII編碼格式存儲(chǔ)在文件中,譬如txt文件和Excel文件。這種文件類型最常見,可以在各種操作系統(tǒng)下由多種應(yīng)用程序打開,譬如記事本,Word,Excel等第三方軟件,因此這種文件類型的通用性最強(qiáng)。但是相對(duì)于其它類型文件,它消耗的硬盤空間相對(duì)較大,讀寫速度也較慢,也不能隨意的在指定位置寫入或讀出數(shù)據(jù)。如果需要將數(shù)據(jù)存儲(chǔ)為文本文件必須先將數(shù)據(jù)轉(zhuǎn)換為字符串才能存儲(chǔ)。LabVIEW程序設(shè)計(jì)從入門到精通9.3文本文件和表單文件讀寫文本文件VILabVIEW程序設(shè)計(jì)從入門到精通9.3文本文件和表單文件舉例寫文本文件舉例讀文本文件舉例LabVIEW程序設(shè)計(jì)從入門到精通9.3文本文件和表單文件讀寫表單文件VILabVIEW程序設(shè)計(jì)從入門到精通9.3文本文件和表單文件讀寫表單文件舉例寫表單文件讀表單文件LabVIEW程序設(shè)計(jì)從入門到精通9.4二進(jìn)制文件(BinaryFiles)這是最有效率的一種文件存儲(chǔ)格式,它占用的硬盤空間最少而且讀寫速度最快。它將二進(jìn)制數(shù)據(jù),譬如32位整數(shù)以確定的空間存儲(chǔ)4個(gè)字節(jié)來存儲(chǔ),因此不會(huì)損失精度,而且可以隨意的在文件指定位置讀寫數(shù)據(jù)。二進(jìn)制文件的數(shù)據(jù)輸入可以是任何數(shù)據(jù)類型,譬如數(shù)組和簇等復(fù)雜數(shù)據(jù),但是在讀出時(shí)必須給定參考
LabVIEW程序設(shè)計(jì)從入門到精通9.4二進(jìn)制文件(BinaryFiles)寫二進(jìn)制文件舉例讀二進(jìn)制文件舉例LabVIEW程序設(shè)計(jì)從入門到精通9.9基于文本的測(cè)量文件(.lvm文件)它將動(dòng)態(tài)類型數(shù)據(jù)按一定的格式存儲(chǔ)在文本文件中。它可以在數(shù)據(jù)前加上一些信息頭,譬如采集時(shí)間等,可以由Excel等文本編輯器打開查看其內(nèi)容。LabVIEW程序設(shè)計(jì)從入門到精通9.11高速數(shù)據(jù)流文件(.tdms文件)它將動(dòng)態(tài)類型數(shù)據(jù)存儲(chǔ)為二進(jìn)制文件,同時(shí)可以為每一個(gè)信號(hào)都添加一些有用的信息,譬如信號(hào)名稱和單位等等。在查詢時(shí)可以通過這些附加信息來查詢所需要的數(shù)據(jù)。它被用來在NI各種軟件之間交換數(shù)據(jù),譬如DIAdem。它比.lvm文件占用空間更小,讀寫速度更快。非常適合用來存儲(chǔ)數(shù)量龐大的測(cè)試數(shù)據(jù)。LabVIEW程序設(shè)計(jì)從入門到精通9.11高速數(shù)據(jù)流文件(.tdms文件)每一個(gè)TDMS文件以三個(gè)不同層次來存儲(chǔ)附加信息:File、group和channel。LabVIEW程序設(shè)計(jì)從入門到精通9.11高速數(shù)據(jù)流文件(.tdms文件)寫TDMS文件示例LabVIEW程序設(shè)計(jì)從入門到精通9.11高速數(shù)據(jù)流文件(.tdms文件)在TDMS中查看文件內(nèi)容LabVIEW程序設(shè)計(jì)從入門到精通9.11高速數(shù)據(jù)流文件(.tdms文件)TDMS文件讀操作示例
LabVIEW程序設(shè)計(jì)從入門到精通小試身手1.文本文件和二進(jìn)制文件的主要區(qū)別是什么?2.請(qǐng)說出下面這幾種文件是文本文件還是二進(jìn)制文件:數(shù)據(jù)記錄文件(DatalogFiles),XML文件,配置文件,波形文件,LVM文件,TDMS文件。LabVIEW程序設(shè)計(jì)從入門到精通小試身手3.有一個(gè)測(cè)量程序,采集兩路信號(hào),每1s采集一次,要求每采集一次,就將采集結(jié)果寫入文本文件尾部,即使重新運(yùn)行程序,仍能保證數(shù)據(jù)添加到文件尾部,而不會(huì)覆蓋原有數(shù)據(jù)。格式為a保留4位小數(shù),b為整數(shù),如右圖所示。LabVIEW程序設(shè)計(jì)從入門到精通小試身手4.在LabVIEW中讀取剛才寫入的文件內(nèi)容。5.將習(xí)題3的采集數(shù)據(jù),采集完畢后寫入表單文件,如下圖所示:LabVIEW程序設(shè)計(jì)從入門到精通小試身手6.將習(xí)題3改為實(shí)時(shí)寫入表單文件,添加一列日期時(shí)間以反映真實(shí)的采樣時(shí)間,并在第一行包含每列的描述信息,如下圖所示。LabVIEW程序設(shè)計(jì)從入門到精通小試身手7.將右圖所示的控件數(shù)據(jù)寫入二進(jìn)制文件,并用另一個(gè)VI將其讀出查看。LabVIEW程序設(shè)計(jì)從入門到精通小試身手8.用SimulateSignalExpressVI仿真產(chǎn)生一個(gè)采樣100000點(diǎn)的正弦仿真信號(hào),并將其寫入TDMS文件,要求同時(shí)為該通道設(shè)置兩個(gè)描述屬性:頻率和采樣間隔。LabVIEW程序設(shè)計(jì)從入門到精通第10章子VILabVIEW程序設(shè)計(jì)從入門到精通引子LabVIEW中的子VI(SubVI)類似于文本編程語言中的函數(shù)。通過子VI,我們可以把程序分割為一個(gè)個(gè)小的模塊來實(shí)現(xiàn)LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容10.1創(chuàng)建子VI10.2查看VI層次結(jié)構(gòu)(VIHierarchy)10.3定義子VI屬性10.4多態(tài)(Polymorphic)VILabVIEW程序設(shè)計(jì)從入門到精通10.1創(chuàng)建子VI其實(shí)任何VI本身就可以作為子VI被其它VI調(diào)用,只是你需要在普通VI的基礎(chǔ)上多進(jìn)行兩步簡(jiǎn)單的操作而已:定義連接端子和圖標(biāo)。LabVIEW程序設(shè)計(jì)從入門到精通10.1創(chuàng)建子VI第一步:新建一個(gè)BlankVI,編寫其程序框圖第二步:編輯VI圖標(biāo)。
LabVIEW程序設(shè)計(jì)從入門到精通10.1創(chuàng)建子VI第三步:建立連接端子。第四步:保存該VI,將該VI當(dāng)作子VI調(diào)用LabVIEW程序設(shè)計(jì)從入門到精通10.2查看VI層次結(jié)構(gòu)(VIHierarchy)LabVIEW程序設(shè)計(jì)從入門到精通10.3定義子VI屬性10.3.1可重入(Reentrant)子VI在缺省情況下,如果有兩處程序框圖都調(diào)用同一個(gè)子VI,那么這兩處程序框圖則不能并行運(yùn)行。即如果當(dāng)該子VI正在被調(diào)用執(zhí)行時(shí),其它調(diào)用就必須等待直到當(dāng)前調(diào)用執(zhí)行完畢。而在很多情況下,我們都希望不同的調(diào)用應(yīng)該是相互獨(dú)立的。這時(shí)候我們就需要把子VI設(shè)為可重入子VI。LabVIEW程序設(shè)計(jì)從入門到精通10.3定義子VI屬性可重入子VI舉例LabVIEW程序設(shè)計(jì)從入門到精通10.3定義子VI屬性10.3.2設(shè)置子VI調(diào)用屬性LabVIEW程序設(shè)計(jì)從入門到精通10.3定義子VI屬性利用顯示子VI前面板來實(shí)現(xiàn)登錄對(duì)話框
LabVIEW程序設(shè)計(jì)從入門到精通10.3.3自定義子VI圖標(biāo)形狀第一步:在編輯VI圖標(biāo)界面選擇Edit->Clear清除圖標(biāo)。第二步:在256Colors下畫一個(gè)封閉的圖形。為了方便與端子對(duì)應(yīng),你可以選擇ShowTerminals復(fù)選框顯示連接端子。第三步:將畫好的256色圖標(biāo)分別復(fù)制到16Colors和B&W下,確保三種顯示模式所顯示的圖標(biāo)形狀一致。LabVIEW程序設(shè)計(jì)從入門到精通10.4多態(tài)(Polymorphic)VILabVIEW中的多態(tài)與C++中的多態(tài)概念類似,即函數(shù)可以根據(jù)輸入數(shù)據(jù)的類型自動(dòng)選擇執(zhí)行內(nèi)容。
在LabVIEW中你也可以創(chuàng)建自己的多態(tài)VI。它實(shí)際上是多個(gè)VI的集合,這些VI具有相同的端子模式。
LabVIEW程序設(shè)計(jì)從入門到精通10.4多態(tài)(Polymorphic)VI創(chuàng)建多態(tài)VI舉例多態(tài)VI對(duì)應(yīng)的兩個(gè)實(shí)例VI
LabVIEW程序設(shè)計(jì)從入門到精通10.4多態(tài)(Polymorphic)VI調(diào)用多態(tài)子VI
LabVIEW程序設(shè)計(jì)從入門到精通小試身手1.寫一個(gè)子VI計(jì)算輸入雙精度數(shù)組所有元素的平均值,并在上層VI調(diào)用它。LabVIEW程序設(shè)計(jì)從入門到精通小試身手2.在第5章習(xí)題2的基礎(chǔ)上,利用子VI實(shí)現(xiàn)一個(gè)溫度報(bào)警對(duì)話框,每當(dāng)報(bào)警發(fā)生時(shí)就彈出該對(duì)話框,如下圖所示,點(diǎn)擊“知道了”按鈕退出對(duì)話框。LabVIEW程序設(shè)計(jì)從入門到精通第11章屬性節(jié)點(diǎn)和方法節(jié)點(diǎn)LabVIEW程序設(shè)計(jì)從入門到精通引子在面向?qū)ο蟮木幊讨校覀儗㈩愔卸x的數(shù)據(jù)稱為屬性,而函數(shù)稱為方法。實(shí)際上,LabVIEW中的控件、VI、甚至應(yīng)用程序都有自己的屬性和方法,譬如一個(gè)數(shù)值控件,它的屬性包括它的文字顏色、背景顏色、Caption和Label等;LabVIEW程序設(shè)計(jì)從入門到精通本章內(nèi)容11.1屬性節(jié)點(diǎn)(PropertyNode)11.2方法節(jié)點(diǎn)(InvokeNode)11.3通過子VI調(diào)用控件的屬性和方法11.4幾種常用控件的編程舉例11.5小結(jié)LabVIEW程序設(shè)計(jì)從入門到精通11.1屬性節(jié)點(diǎn)(PropertyNode)屬性節(jié)點(diǎn)可以用來通過編程設(shè)置或獲取控件的屬性,譬如在程序運(yùn)行過程中,我們可以通過編程設(shè)置數(shù)值控件的背景顏色等屬性。Ring控件的屬性節(jié)點(diǎn)舉例
LabVIEW程序設(shè)計(jì)從入門到精通11.1屬性節(jié)點(diǎn)(PropertyNode)舉例
通過Visible屬性控制按鈕是否可見LabVIEW程序設(shè)計(jì)從入門到精通11.1屬性節(jié)點(diǎn)(PropertyNode)舉例
在事件結(jié)構(gòu)中使用屬性節(jié)點(diǎn)
LabVIEW程序設(shè)計(jì)從入門到精通11.2方法節(jié)點(diǎn)(InvokeNode)方法節(jié)點(diǎn)和屬性節(jié)點(diǎn)非常類似,方法節(jié)點(diǎn)就好比控件的一個(gè)函數(shù),它會(huì)執(zhí)行一定的動(dòng)作,有些時(shí)候還需要輸入?yún)?shù)或返回?cái)?shù)據(jù)。
樹形控件的方法節(jié)點(diǎn)函數(shù)菜單及其方法節(jié)點(diǎn)示例LabVIEW程序設(shè)計(jì)從入門到精通11.3通過子VI調(diào)用控件的屬性和方法一般情況下,將控件作為子VI的輸入端時(shí)只能傳遞控件的值,而不能傳遞控件的屬性。那么如何才能在子VI中調(diào)用上層VI中控件的屬性和方法節(jié)點(diǎn)呢?這就需要使用Refnum控件作為子VI的輸入端子,在調(diào)用時(shí)將控件的Reference與Refnum端子連線即可。LabVIEW程序設(shè)計(jì)從入門到精通11.3通過子VI調(diào)用控件的屬性和方法通過子VI調(diào)用控件的屬性節(jié)點(diǎn)示例
LabVIEW程序設(shè)計(jì)從入門到精通11.4幾種常用控件的編程舉例11.4.1Ring控件和Enum控件對(duì)于兩種控件,用戶都是一次只能選擇其中一個(gè)項(xiàng)目,控件的輸出值都為數(shù)字。不同的是Ring控件各項(xiàng)目的值是可以任意
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年理財(cái)規(guī)劃師職業(yè)資格考試試題及答案
- 第29屆全國中學(xué)生物理競(jìng)賽復(fù)賽答案
- 模具產(chǎn)品攤費(fèi)用合同協(xié)議
- 商品意向金協(xié)議合同
- 啟迪堂培訓(xùn)合同協(xié)議
- 員工個(gè)人合同協(xié)議
- 品牌成立合同協(xié)議
- 品牌廣告制作合同協(xié)議
- 商場(chǎng)解約合同協(xié)議
- 民事租賃合同調(diào)節(jié)協(xié)議
- 2024年山東省公共衛(wèi)生臨床中心招聘筆試沖刺題含答案解析
- 電廠凝結(jié)水系統(tǒng).課件
- 乳腺癌中醫(yī)護(hù)理查房
- 天車檢驗(yàn)報(bào)告
- 土豆從種植后到收獲應(yīng)如何澆水
- QCC品管圈之降低鼻腸管堵管率護(hù)理課件
- 人工智能在教育中的語文教學(xué)應(yīng)用
- 消防救援-水域救援-冰域救援技術(shù)課件
- 30萬級(jí)潔凈車間溫濕度標(biāo)準(zhǔn)
- 放射免疫技術(shù)(免疫學(xué)檢驗(yàn)課件)
- 濱江文化片區(qū)概念規(guī)劃
評(píng)論
0/150
提交評(píng)論