LabVIEW820程序設(shè)計(jì)從入門到精通_第1頁(yè)
LabVIEW820程序設(shè)計(jì)從入門到精通_第2頁(yè)
LabVIEW820程序設(shè)計(jì)從入門到精通_第3頁(yè)
LabVIEW820程序設(shè)計(jì)從入門到精通_第4頁(yè)
LabVIEW820程序設(shè)計(jì)從入門到精通_第5頁(yè)
已閱讀5頁(yè),還剩420頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、LabVIEW 8.20程序設(shè)計(jì)從入門到精通隨書(shū)課件 作者:陳錫輝版權(quán)所有,轉(zhuǎn)載請(qǐng)注明出處第第1章章 揭開(kāi)揭開(kāi)LabVIEW的面紗的面紗引子 “最初只存在機(jī)器語(yǔ)言,計(jì)算機(jī)的世界里一片黑暗??墒遣痪茫瑓R編語(yǔ)言問(wèn)世了,給計(jì)算機(jī)的世界投下了一縷曙光。后來(lái),F(xiàn)ortran的出現(xiàn)帶來(lái)了光明。” LabVIEW圖形化編程語(yǔ)言的出現(xiàn)終于把人們尤其是工程師和科學(xué)家們從繁雜的編程工作中解放出來(lái),使他們能夠真正專心于自己所關(guān)注的事情。 本章內(nèi)容 1.1 虛擬儀器的概念 1.2 什么是LabVIEW? 1.3 LabVIEW可以做什么? 1.4 LabVIEW的發(fā)展歷程 1.5 如何學(xué)好LabVIEW1.1 虛擬儀

2、器的概念PROCESSOR BUSConditioningTimingA/DD/ADI/OTI/ODISPLAY AND CONTROL488 PORT PMathMEMORYPROMPROCESSOR BUSConditioningTimingA/DD/ADI/OTI/ODISPLAY AND CONTROL488 PORT PMathMEMORYPROMControl PanelFlowPressure Alarm ConditionsSTOPTemperature傳統(tǒng)儀器傳統(tǒng)儀器廠商定義功能廠商定義功能虛擬儀器虛擬儀器用戶定義功能用戶定義功能1.1 虛擬儀器的概念 虛擬儀器系統(tǒng)是由計(jì)算機(jī)

3、、應(yīng)用軟件計(jì)算機(jī)、應(yīng)用軟件和儀器硬件和儀器硬件三大要素構(gòu)成的。計(jì)算機(jī)與儀器硬件又稱為VI的通用儀器硬件通用儀器硬件平臺(tái)平臺(tái)。1.1 虛擬儀器的概念 軟件技術(shù)是虛擬儀器的核心技術(shù)。常用的儀器用開(kāi)發(fā)軟件有LabVIEW、LabWindows/CVI、VEE等等,其中以LabVIEW應(yīng)用最為廣泛。1.2 什么是LabVIEW? LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語(yǔ)言。 傳統(tǒng)文本編程語(yǔ)言根據(jù)語(yǔ)句和指令的先后順序決定程序執(zhí)行順序,而LabVIEW 則采用數(shù)據(jù)流編程方式,程序

4、框圖中節(jié)點(diǎn)之間的數(shù)據(jù)流向決定了程序的執(zhí)行順序。它用圖標(biāo)表示函數(shù),用連線表示數(shù)據(jù)流向。1.2 什么是LabVIEW? LabVIEW程序被稱為VI(Virtual Instrument),即虛擬儀器。 LabVIEW的核心概念就是“軟件即是儀器”,即虛擬儀器的概念。 LabVIEW還包含了大量的工具與函數(shù)用于數(shù)據(jù)采集、分析、顯示與存儲(chǔ)等。 1.3 LabVIEW可以做什么? 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)。

5、它被廣泛地應(yīng)用于汽車、通信、航空、半導(dǎo)體、電子設(shè)計(jì)生產(chǎn)、過(guò)程控制和生物醫(yī)學(xué)等各個(gè)領(lǐng)域。 1.3 LabVIEW可以做什么? LabVIEW不僅可以用來(lái)快速搭建小型自動(dòng)化測(cè)試測(cè)量系統(tǒng),還可以被用來(lái)開(kāi)發(fā)大型的分布式數(shù)據(jù)采集與控制系統(tǒng)。 在美國(guó)Lawrence Livermore國(guó)家實(shí)驗(yàn)室,一個(gè)花費(fèi)2000萬(wàn)美金的極為復(fù)雜的飛秒激光切割系統(tǒng)就是基于LabVIEW開(kāi)發(fā)的。 在北京正負(fù)電子對(duì)撞機(jī)二期工程北京譜儀慢控制系統(tǒng)中,大約有30種物理量共7000多點(diǎn)的現(xiàn)場(chǎng)數(shù)據(jù)點(diǎn)需要實(shí)時(shí)采集控制和分析記錄等。 1.4 LabVIEW的發(fā)展歷程 1.5 如何學(xué)好LabVIEW 1、多學(xué)習(xí)實(shí)例,本書(shū)以及LabVIEW都

6、提供了大量的實(shí)例。 2、大膽嘗試,嘗試編寫(xiě)自己的程序。“I hearI forget. I seeI remember. I doI understand.”習(xí)題 1. 什么是虛擬儀器?虛擬儀器與傳統(tǒng)儀器的區(qū)別是什么? 2. 什么是LabVIEW?LabVIEW的主要優(yōu)勢(shì)是什么?LabVIEW被應(yīng)用在了哪些領(lǐng)域?第第2章章 牛刀小試牛刀小試仿真信號(hào)采集VI 本章內(nèi)容建議老師在課堂上進(jìn)行實(shí)際演示。小試身手 寫(xiě)一個(gè)類似于左圖的正弦波發(fā)生器,要求頻率和幅度可調(diào)第第3章章 開(kāi)始開(kāi)始LabVIEW之旅之旅本章內(nèi)容3.1 安裝安裝LabVIEW3.2 LabVIEW編程環(huán)境編程環(huán)境3.2.1 LabVIE

7、W 8.2 啟動(dòng)界面3.2.2 前面板和程序框圖3.2.3 控件選板3.2.4 函數(shù)選板3.2.5 工具選板3.3 善用善用LabVIEW聯(lián)機(jī)幫助聯(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)行運(yùn)行VI3.7 調(diào)試調(diào)試VI3.1 安裝LabVIEW 性能要求及詳細(xì)安裝過(guò)程請(qǐng)參考LabVIEW 8.20程序設(shè)計(jì)從入門到精通

8、第3.1、3.2節(jié) LabVIEW程序包括前面板(用戶界面)和后面板(程序框圖) 3種選板: 控件選板(為前面板添加控件) 函數(shù)選板(在程序框圖中添加函數(shù)或數(shù)據(jù)等) 工具選板(選擇各種編輯工具,前面板和后面板都要用到)3.2 LabVIEW編程環(huán)境3.2.1 LabVIEW 8.2 啟動(dòng)界面VI程序和工程創(chuàng)建欄新近打開(kāi)的工程和VI程序列表欄幫助資源列表欄3.2.2 前面板和程序框圖 LabVIEW程序被稱為VI,擴(kuò)展名默認(rèn)為.vi框圖窗口前面板窗口圖標(biāo)3.2.3 控件選板3.2.3 控件選板 控件選板控件選板在前面板顯示,它包含創(chuàng)建前面板時(shí)可用的全部對(duì)象。控件選板中的基本常用控件可以以現(xiàn)代現(xiàn)代

9、(modern)、經(jīng)典經(jīng)典(classic)和系統(tǒng)系統(tǒng)(system)三種風(fēng)格顯示。 選擇主菜單View-Controls Palette選項(xiàng)或右擊前面板空白處就可以顯示控件選板。 3.2.4 函數(shù)選板3.2.4 函數(shù)選板 函數(shù)選板只能在編輯程序框圖時(shí)使用,與控件選板的工作方式大體相同。創(chuàng)建框圖程序常用的VI和函數(shù)對(duì)象都包含在該選板中。 選擇View-Functions Palette或右擊框圖面板空白處就可以顯示函數(shù)選板。3.2.5 工具選板3.2.5 工具選板 在前面板和程序框圖中都可以使用工具選板,使用其中不同的工具可以操作、編輯或修飾前面板和程序框圖中選定的對(duì)象,也可以用來(lái)調(diào)試程序等。

10、 可以選擇View-Tools Palette選項(xiàng)來(lái)顯示工具選板 3.3 善用LabVIEW聯(lián)機(jī)幫助 LabVIEW為用戶提供了非常全面的幫助信息,有效地利用幫助信息是快速掌握LabVIEW的一條捷徑。 LabVIEW提供了各種獲取幫助信息的方法,包括實(shí)時(shí)上下文幫助(Show Context Help)、聯(lián)機(jī)幫助、LabVIEW范例查找器(Find Examples)、網(wǎng)絡(luò)資源(Web Resources)等。 3.3.1 實(shí)時(shí)上下文幫助窗口單擊此處訪問(wèn)更詳細(xì)的聯(lián)機(jī)幫助更多幫助信息鎖定上下文相關(guān)幫助顯示VI路徑3.3.1 實(shí)時(shí)上下文幫助窗口 選擇菜單欄中Help-Show Context He

11、lp選項(xiàng)或按下Ctrl+H,就會(huì)彈出Context Help窗口。 當(dāng)鼠標(biāo)移到某個(gè)對(duì)象或函數(shù)上時(shí),上下文幫助窗口就會(huì)顯示相應(yīng)的幫助信息。3.3.2 聯(lián)機(jī)幫助文檔3.3.2 聯(lián)機(jī)幫助文檔 當(dāng)單擊Context Help窗口中Detailed help會(huì)彈出相應(yīng)的完整的幫助信息。這是一個(gè)Windows標(biāo)準(zhǔn)風(fēng)格的幫助窗口,包含了LabVIEW全部的幫助信息。 你也可以選擇主菜單Help-Search the LabVIEW Help選項(xiàng)打開(kāi)它。3.3.3 范例查找器 3.3.3 范例查找器 LabVIEW提供了大量的范例,這些范例幾乎包含了LabVIEW所有功能的應(yīng)用實(shí)例,并提供了大量的綜合應(yīng)用實(shí)例

12、。 在菜單欄中選擇Help-Find Examples選項(xiàng)可以打開(kāi)范例查找器。3.4 編輯前面板 LabVIEW中的前面板是圖形化的人機(jī)界面,利用控件選項(xiàng)板提供的各種控件可以所見(jiàn)即所得地編輯豐富多彩的人機(jī)界面。3.4.1 輸入控件(輸入控件(Controls)和顯示控件()和顯示控件(Indicator) 利用輸入控件可以輸入相應(yīng)的數(shù)據(jù),例如數(shù)字、布爾量、字符串和文件路徑等。 3.4.1 輸入控件(輸入控件(Controls)和顯示控件()和顯示控件(Indicator) 顯示控件用來(lái)顯示數(shù)據(jù)。顯示控件有數(shù)字、溫度計(jì)、LED指示燈、文本、波形圖等 。3.4.1 輸入控件(輸入控件(Contro

13、ls)和顯示控件()和顯示控件(Indicator) 前面板中的一些控件既可以作為輸入控件也可以做作為顯示控件。右擊控件,選擇Change to Indicator或Change to Control可以進(jìn)行輸入控件與顯示控件之間的切換。 3.4.2 控件屬性控件屬性前面板中的每個(gè)控件都有自己的屬性,如控件的顏色、最大最小值、顯示精度和方式等。許多屬性都可以根據(jù)不同的需要進(jìn)行編輯。右擊前面板任何一個(gè)控件選擇Properties選項(xiàng)就可以彈出該控件的屬性配置窗口。3.5 編輯程序框圖編輯程序框圖 程序框圖是圖形化源代碼的集合,這種圖形化的編程語(yǔ)言也稱為G語(yǔ)言。3.5.1 程序框圖中的控件對(duì)象 程

14、序框圖中的控件對(duì)象實(shí)際上是前面板相應(yīng)控件的接線端 前面板控件程序框圖中對(duì)應(yīng)的接線端3.5.2 程序框圖節(jié)點(diǎn)程序框圖節(jié)點(diǎn)LabVIEW中的程序框圖節(jié)點(diǎn)是指帶有輸入和輸出接線端的對(duì)象,類似文本編程語(yǔ)言中的語(yǔ)句、運(yùn)算符、函數(shù)和子程序。LabVIEW中的節(jié)點(diǎn)主要包括函數(shù)、結(jié)構(gòu)、Express VI、子VI等。3.5.3 對(duì)象連線對(duì)象連線 3.6 運(yùn)行運(yùn)行VI1運(yùn)行運(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)行運(yùn)行當(dāng)程序運(yùn)行時(shí),停止按鈕由編輯時(shí)的狀態(tài),變?yōu)榭捎脿顟B(tài),單擊此按鈕可強(qiáng)行停止程序的運(yùn)行。如果調(diào)試程序時(shí),使程序無(wú)意中進(jìn)入死

15、循環(huán)或無(wú)法退出時(shí),這個(gè)按鈕可以強(qiáng)行結(jié)束程序運(yùn)行。3.7 調(diào)試VI在程序執(zhí)行前或正在執(zhí)行時(shí),單擊工具欄上的高亮執(zhí)行按鈕,程序就可以在高亮方式下運(yùn)行,這時(shí)可以逼真地顯示數(shù)據(jù)的流動(dòng)過(guò)程。再次單擊此按鈕,程序又恢復(fù)正常運(yùn)行。注意注意,使用高亮執(zhí)行方式,將明顯降低程序的執(zhí)行速度。1高亮顯示數(shù)據(jù)流高亮顯示數(shù)據(jù)流3.7 調(diào)試VI2查找查找VI不可執(zhí)行的原因不可執(zhí)行的原因 如果在一個(gè)VI程序中存在錯(cuò)誤時(shí),VI是不能運(yùn)行的。這時(shí),工具欄中的運(yùn)行按鈕由變?yōu)閿嗔褷顟B(tài),如果單擊此按鈕就會(huì)彈出錯(cuò)誤列表對(duì)話框。小試身手 1、新建一個(gè)VI,進(jìn)行如下練習(xí): 任意放置幾個(gè)控件在前面板,改變它們的位置、名稱、大小、顏色等等。 在

16、VI前面板和后面板之間進(jìn)行切換 并排排列前面板和后面板窗口小試身手 2、編寫(xiě)一個(gè)VI求三個(gè)數(shù)的平均值,如右圖所示。 要求對(duì)三個(gè)輸入控件等間隔并右對(duì)齊,對(duì)應(yīng)的程序框圖控件對(duì)象也要求如此對(duì)齊。 添加注釋 分別用普通方式和高亮方式運(yùn)行程序,體會(huì)數(shù)據(jù)流向。 單步執(zhí)行一遍第第4章章 數(shù)據(jù)操作數(shù)據(jù)操作本章內(nèi)容 4.1 數(shù)據(jù)類型數(shù)據(jù)類型 4.1.1 數(shù)字型控件 4.1.2 布爾型控件 4.1.3 枚舉類型 4.1.4 時(shí)間類型(Time Stamp) 4.1.5 局部變量和全局變量 4.2 數(shù)據(jù)運(yùn)算數(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)(Ex

17、pression Node)4.1 數(shù)據(jù)類型數(shù)據(jù)類型 VI程序框圖中接線端以不同的圖標(biāo)和顏色來(lái)表示不同的數(shù)據(jù)類型 輸入控件輸入控件顯示控件顯示控件數(shù)據(jù)類型數(shù)據(jù)類型默認(rèn)值默認(rèn)值32位無(wú)符號(hào)整數(shù)(32-bit unsigned integer numeric)064位無(wú)符號(hào)整數(shù)(64-bit unsigned integer numeric)0位時(shí)間標(biāo)示(bit time stamp)當(dāng)?shù)貢r(shí)間日期枚舉類型(Enumerated type)-布爾(Boolean)FLASE字符串(String)空字符串4.1.1 數(shù)字型控件 數(shù)字型控件的外觀可以五花八門,但是程序框圖中的操作卻是以其代表的數(shù)據(jù)類型為

18、準(zhǔn) 4.1.2 布爾型控件 布爾控件代表一個(gè)布爾值,只能是True或False 它既可以代表按鈕輸入,也可以當(dāng)作LED指示燈顯示。 4.1.3 枚舉類型枚舉類型 LabVIEW中的枚舉類型和C語(yǔ)言中的枚舉類型定義相同。它提供了一個(gè)選項(xiàng)列表,其中每一項(xiàng)都包含一個(gè)字符串標(biāo)識(shí)和數(shù)字標(biāo)識(shí),數(shù)字標(biāo)識(shí)與每一選項(xiàng)在列表中的順序一一對(duì)應(yīng)。 枚舉型控件4.1.3 枚舉類型枚舉類型從上述的選板中選擇枚舉類型的輸入控件添加到前面板中,然后右擊該控件,從快捷菜單中選擇Edit Items選項(xiàng),打開(kāi)如下圖所示的枚舉型選項(xiàng)編輯對(duì)話框。 4.1.4 時(shí)間類型(Time Stamp) 時(shí)間類型是LabVIEW中特有的數(shù)據(jù)類型

19、,用于輸入與輸出時(shí)間和日期 4.1.5 局部變量和全局變量局部變量和全局變量 在很多情況下需要在同一VI的不同位置或在不同的VI中訪問(wèn)同一個(gè)控件對(duì)象,這時(shí)控件對(duì)象之間的連線就無(wú)法實(shí)現(xiàn)。這時(shí)候我們就需要用到局部變量或全局變量,通過(guò)局部變量或全局變量你可以在程序框圖中的多個(gè)地方讀寫(xiě)同一個(gè)控件。 局部變量局部變量 局部變量只能在同一程序內(nèi)部使用,每個(gè)局部變量都對(duì)應(yīng)前面板上的一個(gè)控件,一個(gè)控件可以創(chuàng)建多個(gè)局部變量。 讀寫(xiě)局部變量等同于讀寫(xiě)相應(yīng)控件局部變量局部變量局部變量 創(chuàng)建局部變量有兩種方法 從函數(shù)選板的Structures子選板中選中Local Variable節(jié)點(diǎn) 前面板或程序框圖中右擊需要?jiǎng)?chuàng)建

20、局部變量的控件選擇Create-Local Variable選項(xiàng)創(chuàng)建該控件的局部變量 局部變量局部變量 讀寫(xiě)局部變量的方法與讀寫(xiě)控件對(duì)象的方法完全一樣全局變量全局變量 通過(guò)全局變量可以在不同的VI之間進(jìn)行數(shù)據(jù)交換,一個(gè)全局變量的VI文件中可以包含多個(gè)不同數(shù)據(jù)類型的全局變量。 LabVIEW中的全局變量是以獨(dú)立的VI文件形式存在的,這個(gè)VI文件只有前面板,沒(méi)有程序框圖,不能進(jìn)行編程。 注意: 使用局部變量和全局變量時(shí)要避免競(jìng)爭(zhēng)現(xiàn)象。 例如在程序不同的兩個(gè)地方同時(shí)寫(xiě)同一個(gè)的對(duì)象的局部變量或全局變量,就會(huì)產(chǎn)生競(jìng)爭(zhēng)現(xiàn)象,這時(shí)變量的值是無(wú)法預(yù)期的。 因此我們必須要注意程序的執(zhí)行順序,避免競(jìng)爭(zhēng)現(xiàn)象4.2

21、數(shù)據(jù)運(yùn)算數(shù)據(jù)運(yùn)算 LabVIEW中提供了豐富的數(shù)據(jù)運(yùn)算功能,除了基本的數(shù)據(jù)運(yùn)算符外,還有許多功能強(qiáng)大的函數(shù)節(jié)點(diǎn),并且還支持通過(guò)一些簡(jiǎn)單的文本腳本進(jìn)行數(shù)據(jù)運(yùn)算。 LabVIEW圖形化編程中,運(yùn)算是按照從左到右沿?cái)?shù)據(jù)流的方向順序執(zhí)行。 4.2.1 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 基本算術(shù)運(yùn)算符包含在函數(shù)選板的Numeric子選板中,該子選板中有類型轉(zhuǎn)換類型轉(zhuǎn)換(Conversion)節(jié)點(diǎn))節(jié)點(diǎn)、復(fù)復(fù)數(shù)(數(shù)(Complex)節(jié)點(diǎn))節(jié)點(diǎn)、數(shù)數(shù)學(xué)和科學(xué)常數(shù)學(xué)和科學(xué)常數(shù)(Math&Scientific Constants)節(jié)點(diǎn))節(jié)點(diǎn)等 算術(shù)運(yùn)算符舉例算術(shù)運(yùn)算符舉例C=A+B=文本編程語(yǔ)言圖形化編程語(yǔ)言4.2

22、.2 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 關(guān)系運(yùn)算符也叫比較運(yùn)算符,包含在函數(shù)選板的Comparison子選板中 4.2.3 邏輯運(yùn)算符邏輯運(yùn)算符 邏輯運(yùn)算符又稱為布爾運(yùn)算符,包含在程序框圖中函數(shù)選板的Boolean子選板中,LabVIEW中邏輯運(yùn)算符的圖標(biāo)與數(shù)字電路中邏輯運(yùn)算符的圖標(biāo)相似 4.2.4 表達(dá)式節(jié)點(diǎn)(表達(dá)式節(jié)點(diǎn)(Expression Node)使用表達(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、

23、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)小試身手 1、寫(xiě)一個(gè)VI判斷兩個(gè)數(shù)的大小,如右圖所示:當(dāng)AB時(shí),指示燈亮小試身手 2. 寫(xiě)一個(gè)VI獲取當(dāng)前系統(tǒng)時(shí)間,并將其轉(zhuǎn)換為字符串和浮點(diǎn)數(shù)。這在實(shí)際編程中會(huì)經(jīng)常遇到。小試身手 3. 利用局部變量寫(xiě)一個(gè)計(jì)數(shù)器,每當(dāng)VI運(yùn)行一次計(jì)數(shù)器就加一。當(dāng)VI關(guān)閉后重新打開(kāi)時(shí),計(jì)數(shù)器清零。小試身手 4. 寫(xiě)一個(gè)溫度監(jiān)測(cè)器,如右圖所示,當(dāng)溫度超過(guò)報(bào)警上限,而且開(kāi)啟報(bào)警時(shí),報(bào)警燈點(diǎn)亮。溫度值

24、可以由隨即數(shù)發(fā)生器產(chǎn)生。小試身手 5.給定任意x, 求如下表達(dá)式的值xexxycos5第第5章章 程序結(jié)構(gòu)程序結(jié)構(gòu)本章內(nèi)容 5.1 順序結(jié)構(gòu)(順序結(jié)構(gòu)(Sequence Structure) 5.2 For循環(huán)循環(huán) 5.3 While循環(huán)循環(huán) 5.4 Case結(jié)構(gòu)結(jié)構(gòu) 5.5 事件結(jié)構(gòu)(事件結(jié)構(gòu)(Event Structure) 5.6 使能結(jié)構(gòu)使能結(jié)構(gòu) 5.7 公式節(jié)點(diǎn)(公式節(jié)點(diǎn)(Formula Node) 5.8 跟著實(shí)例學(xué)跟著實(shí)例學(xué)模擬溫度采集監(jiān)測(cè)系統(tǒng)模擬溫度采集監(jiān)測(cè)系統(tǒng)5.1 順序結(jié)構(gòu)(順序結(jié)構(gòu)(Sequence Structure) 5.1.1 LabVIEW程序的執(zhí)行順序 數(shù)據(jù)流式

25、的編程方法 多段代碼同時(shí)執(zhí)行5.1 順序結(jié)構(gòu)(順序結(jié)構(gòu)(Sequence Structure) Flat Sequence Structure Stacked Sequence Structure 5.1 順序結(jié)構(gòu)(順序結(jié)構(gòu)(Sequence Structure) 在在Flat Sequence Structure的的Frame間傳間傳遞數(shù)據(jù)遞數(shù)據(jù)5.1 順序結(jié)構(gòu)(順序結(jié)構(gòu)(Sequence Structure) 在在Stacked Sequence Structure的的Frame間傳遞數(shù)據(jù)間傳遞數(shù)據(jù) 5.2 For循環(huán)循環(huán) For循環(huán)用于將某段程序循環(huán)執(zhí)行指定的次數(shù)??梢酝ㄟ^(guò)兩種方法指定循

26、環(huán)次數(shù),一種是直接給定,一種是通過(guò)輸入數(shù)組的大小給定 5.2 For循環(huán)循環(huán) 輸入和輸出數(shù)組輸入和輸出數(shù)組5.2 For循環(huán)循環(huán) 5.2.3 移位寄存器移位寄存器(Shift Register)一個(gè)累加一個(gè)累加10次的次的a+程序程序 通過(guò)局部變量實(shí)現(xiàn)通過(guò)局部變量實(shí)現(xiàn)通過(guò)移位寄存器實(shí)現(xiàn)通過(guò)移位寄存器實(shí)現(xiàn) 5.2 For循環(huán)循環(huán) 5.2.4 反饋節(jié)點(diǎn)(反饋節(jié)點(diǎn)(Feedback Node)通過(guò)反饋節(jié)點(diǎn)實(shí)現(xiàn)通過(guò)反饋節(jié)點(diǎn)實(shí)現(xiàn)a+ 5.3 While循環(huán)循環(huán)5.3 While循環(huán)循環(huán) 5.3.2 添加定時(shí)器添加定時(shí)器5.3 While循環(huán)循環(huán) 5.3.3 使用移位寄存器和反饋節(jié)點(diǎn)使用移位寄存器和反饋節(jié)

27、點(diǎn)累加器程序累加器程序 5.4 Case結(jié)構(gòu)If(a%2=0)b=a+2;elseb=a+1;end5.4.1 等價(jià)于等價(jià)于if.else.語(yǔ)句的語(yǔ)句的Case結(jié)構(gòu)結(jié)構(gòu)5.4 Case結(jié)構(gòu) 5.4.3 等價(jià)于等價(jià)于switch語(yǔ)句的語(yǔ)句的Case結(jié)構(gòu)結(jié)構(gòu)switch (fruit)case apple: price=9; case banana: price=10; case pear: price=8; default: price=0;5.5 事件結(jié)構(gòu)(Event Structure) 分析該程序可以看出,這個(gè)程序在沒(méi)有用戶點(diǎn)擊的情況下完全都是在“空轉(zhuǎn)”,浪費(fèi)了大量的CPU資源,而且當(dāng)“事

28、件”發(fā)生太快時(shí)可能會(huì)被忽略。因此Labview提供了事件結(jié)構(gòu)來(lái)解決這個(gè)問(wèn)題,即僅當(dāng)“事件”發(fā)生時(shí),程序才做相應(yīng)的響應(yīng) 基于基于While循環(huán)和循環(huán)和Case結(jié)構(gòu)的單擊計(jì)數(shù)器結(jié)構(gòu)的單擊計(jì)數(shù)器 5.5 事件結(jié)構(gòu)(Event Structure)5.5 事件結(jié)構(gòu)(Event Structure)5.5 事件結(jié)構(gòu)(Event Structure)基于事件結(jié)構(gòu)的單擊計(jì)數(shù)器基于事件結(jié)構(gòu)的單擊計(jì)數(shù)器 5.5 事件結(jié)構(gòu)(Event Structure) 5.5.2 Filter事件事件 顧名思義,當(dāng)該事件發(fā)生時(shí),用戶可以過(guò)濾掉顧名思義,當(dāng)該事件發(fā)生時(shí),用戶可以過(guò)濾掉甚至完全放棄掉該事件將觸發(fā)的活動(dòng)。甚至完全放

29、棄掉該事件將觸發(fā)的活動(dòng)。 注意:注意: 一般來(lái)說(shuō),事件只能通過(guò)外在用戶的動(dòng)作觸發(fā),如單擊鼠標(biāo),鍵盤(pán)等。如果需要內(nèi)部數(shù)據(jù)觸發(fā)事件(例如當(dāng)ab條件滿足時(shí)觸發(fā)一個(gè)事件),就需要通過(guò)用戶自定義事件的方法實(shí)現(xiàn),這將在本書(shū)的21.3節(jié)中介紹。5.6 使能結(jié)構(gòu)使能結(jié)構(gòu) 5.6.1 框圖使能結(jié)構(gòu)框圖使能結(jié)構(gòu)注釋程序框圖注釋程序框圖5.7 公式節(jié)點(diǎn)(Formula Node) 通過(guò)公式節(jié)點(diǎn),用戶不僅可以實(shí)現(xiàn)復(fù)雜的數(shù)學(xué)公式,還能通過(guò)文本編程寫(xiě)一些基本的邏輯語(yǔ)句,如ifelse, case, while循環(huán)之類的語(yǔ)句。 y=atgbebbaaasincos535.7 公式節(jié)點(diǎn)(Formula Node) 公式節(jié)點(diǎn)中

30、可以包含任意數(shù)量的公式公式節(jié)點(diǎn)中可以包含任意數(shù)量的公式 5.7 公式節(jié)點(diǎn)(Formula Node) 5.7.2 文本編程語(yǔ)言的實(shí)現(xiàn)文本編程語(yǔ)言的實(shí)現(xiàn)基于公式節(jié)點(diǎn)的基于公式節(jié)點(diǎn)的CRC16算法的實(shí)現(xiàn)算法的實(shí)現(xiàn) 5.8 跟著實(shí)例學(xué)跟著實(shí)例學(xué)模擬溫度采集監(jiān)測(cè)系統(tǒng)模擬溫度采集監(jiān)測(cè)系統(tǒng)小試身手 1. 利用順序結(jié)構(gòu)和timing面板下的tick count VI,計(jì)算for循環(huán)1000000次所需的時(shí)間。 2. 為第4章習(xí)題4添加一個(gè)While循環(huán)和定時(shí)器,實(shí)現(xiàn)連續(xù)的溫度采集監(jiān)測(cè)小試身手 3、利用順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu)寫(xiě)一個(gè)跑馬燈,如下圖所示,5個(gè)燈從左到右不停的輪流點(diǎn)亮,閃爍間隔由滑動(dòng)條調(diào)節(jié)小試身手 4.

31、 求分?jǐn)?shù)序列 前20項(xiàng)之和。 5. 給出一百分制成績(jī),要求輸出等級(jí)A,B,C,D,E。90分以上為A,8089為B,7079為C,6069為D,60分以下為E。,.813,58,35,23,12小試身手 6. 利用事件結(jié)構(gòu)實(shí)現(xiàn)在數(shù)字輸入控件中,每當(dāng)用戶按下一個(gè)數(shù)字后,累加值就將新數(shù)字累加上去。例如按下34時(shí),累加值為7;按下345時(shí),累加值為12小試身手 7. 利用公式節(jié)點(diǎn)判斷一個(gè)數(shù)是否是素?cái)?shù),我們可以采用這樣的算法:用2sqrt(N),依次去對(duì)N求余,只要有一個(gè)余數(shù)是0,則N就不是素?cái)?shù)。 第第6章章 字符串、數(shù)組、簇和矩陣字符串、數(shù)組、簇和矩陣本章內(nèi)容 6.1 字符串(字符串(String)

32、 6.2 數(shù)組(數(shù)組(Array) 6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)中的結(jié)構(gòu)體變量體變量 6.4 矩陣(矩陣(Matrix)6.1 字符串(字符串(String) 字符串在LabVIEW編程中會(huì)頻繁的用到,因此LabVIEW封裝了功能豐富的字符串函數(shù)用于字符串的處理,用戶不需要再像C語(yǔ)言中一樣為字符串的操作編寫(xiě)繁瑣的程序。 字符串控件包括輸入控件、顯示控件和下拉框。 6.1 字符串(字符串(String)6.1 字符串(字符串(String) 6.1.1 字符串控件字符串控件 字符串輸入控件一般被用作文本輸入框,而字字符串輸入控件一般被用作文本輸入框,而字符串顯示控件一般

33、被用作文本顯示框。符串顯示控件一般被用作文本顯示框。 6.1 字符串(字符串(String) 6.1.2 表格和樹(shù)形控件表格和樹(shù)形控件 表格(Table)和樹(shù)形控件在Controls Palette的Modern-List & Table面板下。 表格實(shí)際上就是一個(gè)字符串組成的二維數(shù)組。 樹(shù)形控件以樹(shù)的形式顯示多層內(nèi)容,Windows的資源管理器就是用樹(shù)形控件來(lái)顯示文件目錄的。 6.1 字符串(字符串(String) 6.1.2 表格和樹(shù)形控件舉例表格和樹(shù)形控件舉例6.1 字符串(字符串(String) 6.1.3 字符串函數(shù)字符串函數(shù)6.1 字符串(字符串(String) 6.1.3

34、 字符串函數(shù)舉例字符串函數(shù)舉例 基本字符串函數(shù)示例基本字符串函數(shù)示例 6.1 字符串(字符串(String) 6.1.3 字符串函數(shù)舉例字符串函數(shù)舉例數(shù)據(jù)數(shù)組數(shù)據(jù)數(shù)組/電子表格字符串轉(zhuǎn)換函數(shù)示例電子表格字符串轉(zhuǎn)換函數(shù)示例 6.2 數(shù)組(數(shù)組(Array) 6.2.1 數(shù)組控件數(shù)組控件數(shù)組控件 6.2 數(shù)組(數(shù)組(Array) 6.2.1 數(shù)組控件數(shù)組控件6.2 數(shù)組(數(shù)組(Array) 6.2.2 數(shù)組之間的算術(shù)運(yùn)算數(shù)組之間的算術(shù)運(yùn)算 LabVIEW一個(gè)非常大的優(yōu)勢(shì)就是它可以根據(jù)輸一個(gè)非常大的優(yōu)勢(shì)就是它可以根據(jù)輸入數(shù)據(jù)的類型判斷算子的運(yùn)算方法,即自動(dòng)實(shí)入數(shù)據(jù)的類型判斷算子的運(yùn)算方法,即自動(dòng)實(shí)現(xiàn)

35、多態(tài)現(xiàn)多態(tài) 對(duì)于加減乘除,數(shù)組之間的運(yùn)算滿足下面的規(guī)對(duì)于加減乘除,數(shù)組之間的運(yùn)算滿足下面的規(guī)則:則: a) 如果進(jìn)行運(yùn)算的兩個(gè)數(shù)組大小完全一樣,則將如果進(jìn)行運(yùn)算的兩個(gè)數(shù)組大小完全一樣,則將兩個(gè)數(shù)組中索引相同的元素進(jìn)行運(yùn)算形成一個(gè)新的兩個(gè)數(shù)組中索引相同的元素進(jìn)行運(yùn)算形成一個(gè)新的數(shù)組。數(shù)組。 b) 若大小不一樣,則忽略較大數(shù)組多出來(lái)的部分。若大小不一樣,則忽略較大數(shù)組多出來(lái)的部分。 c) 如果一個(gè)數(shù)組和一個(gè)數(shù)值進(jìn)行運(yùn)算,則數(shù)組的如果一個(gè)數(shù)組和一個(gè)數(shù)值進(jìn)行運(yùn)算,則數(shù)組的每個(gè)元素都和該數(shù)值進(jìn)行運(yùn)算從而輸出一個(gè)新的數(shù)每個(gè)元素都和該數(shù)值進(jìn)行運(yùn)算從而輸出一個(gè)新的數(shù)組。組。 6.2 數(shù)組(數(shù)組(Array)

36、6.2.3 數(shù)組函數(shù)數(shù)組函數(shù)6.2 數(shù)組(數(shù)組(Array) 6.2.3 數(shù)組函數(shù)舉例數(shù)組函數(shù)舉例用用Array Size 函數(shù)獲得三維數(shù)組大小示例函數(shù)獲得三維數(shù)組大小示例 6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 簇是簇是LabVIEW中比較獨(dú)特的一個(gè)概念,但中比較獨(dú)特的一個(gè)概念,但實(shí)際上它就對(duì)應(yīng)于實(shí)際上它就對(duì)應(yīng)于C語(yǔ)言等文本編程語(yǔ)言中語(yǔ)言等文本編程語(yǔ)言中的結(jié)構(gòu)體變量。的結(jié)構(gòu)體變量。 6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 6.3.1 簇的創(chuàng)建簇的創(chuàng)建通過(guò)簇控件實(shí)現(xiàn)的溫度顯示器通過(guò)簇控件實(shí)現(xiàn)的溫度顯示器 6.3 簇(簇(C

37、luster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 改變簇內(nèi)部元素控件的索引改變簇內(nèi)部元素控件的索引 6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 6.3.2 簇操作函數(shù)簇操作函數(shù)6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量1、解包函數(shù)(、解包函數(shù)(Unbundle) 該函數(shù)將簇解開(kāi)從而獲得簇中各個(gè)元素的值。缺省情況下,它會(huì)根據(jù)輸入的簇自動(dòng)調(diào)整輸出端子的數(shù)目和數(shù)據(jù)類型,并按照簇內(nèi)部元素索引的順序排列。6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 2、打包函數(shù)(、打包函數(shù)(Bundle) 該函數(shù)用來(lái)為

38、Cluster中各元素賦值。6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量3、按元素名稱解包函數(shù)(、按元素名稱解包函數(shù)(Unbundle By Name) 普通的解包函數(shù)解包后只有將鼠標(biāo)移到輸出端子上才能看到輸出元素的名稱,程序的可讀性不高。該函數(shù)可以根據(jù)名稱有選擇的輸出簇內(nèi)部元素。其中元素名稱就是指元素的Label。6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量4、按元素名稱打包函數(shù)(、按元素名稱打包函數(shù)(Unbundle By Name) 該函數(shù)通過(guò)簇內(nèi)部元素名稱來(lái)給簇內(nèi)部元素賦值。參考簇是必須的,該函數(shù)通過(guò)參考簇來(lái)獲得元素名稱。6.

39、3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 簇操作函數(shù)使用示例簇操作函數(shù)使用示例 6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 6.3.3 error in 和和error out簇簇 LabVIEW利用error in 和error out這兩個(gè)預(yù)定義簇來(lái)作為傳遞錯(cuò)誤信息的載體。 6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 6.3.3 error in 和和error out簇簇 對(duì)于系統(tǒng)錯(cuò)誤,code都有預(yù)先的定義,可以通過(guò)選擇Help-Explain Error打開(kāi)錯(cuò)誤解釋框來(lái)查找該錯(cuò)誤代碼的更詳細(xì)

40、的解釋。 6.4 矩陣(矩陣(Matrix) LabVIEW 8之前的版本中只能通過(guò)二維數(shù)組來(lái)實(shí)現(xiàn)矩陣的操作。但是數(shù)組的運(yùn)算方法和矩陣的運(yùn)算方法有很大不同,譬如兩個(gè)數(shù)組相乘是直接將相同索引的數(shù)組元素相乘,而矩陣的相乘必須按照線性代數(shù)中規(guī)定的方法相乘,因此用數(shù)組實(shí)現(xiàn)矩陣運(yùn)算是非常麻煩的。LabVIEW 8最新加入了對(duì)矩陣的支持,從而使矩陣的運(yùn)算變得非常簡(jiǎn)單。6.4 矩陣(矩陣(Matrix) 矩陣乘法舉例6.4 矩陣(矩陣(Matrix) LabVIEW 8還提供了豐富的線性代數(shù)運(yùn)算函數(shù),它們位于Functions Palette的mathematics - liner algebra面板下 小

41、試身手 1. 為第5章的習(xí)題2連續(xù)溫度采集監(jiān)測(cè)添加報(bào)警信息,如下圖所示,當(dāng)報(bào)警發(fā)生時(shí)輸出報(bào)警信息,例如“溫度超限!當(dāng)前溫度78.23”,正常情況下輸出空字符串。小試身手 2. 對(duì)字符串進(jìn)行加密,規(guī)則是每個(gè)字母后移5位,例如A變?yōu)镕,b變?yōu)間,x變?yōu)閏,y變?yōu)閐小試身手 3. 產(chǎn)生一個(gè)33的整數(shù)隨機(jī)數(shù)數(shù)組,隨機(jī)數(shù)要在0到100之間,然后找出數(shù)組的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小,也可能沒(méi)有鞍點(diǎn)。如下圖所示:小試身手 4. 利用簇模擬汽車控制,如右圖所示,控制面板可以對(duì)顯示面板中的參量進(jìn)行控制。油門控制轉(zhuǎn)速,轉(zhuǎn)速油門*100,檔位控制時(shí)速,時(shí)速檔位*40,油量隨VI運(yùn)行時(shí)間減少。第

42、第7章章 圖形化顯示數(shù)據(jù)圖形化顯示數(shù)據(jù)圖表和圖形圖表和圖形引子 LabVIEW很大的一個(gè)優(yōu)勢(shì)就是它提供了豐富的數(shù)據(jù)圖形化顯示控件,而且使用起來(lái)極其方便。 本章內(nèi)容 7.1 波形數(shù)據(jù)波形數(shù)據(jù)(Waveform) 7.2 Chart趨勢(shì)圖趨勢(shì)圖 7.3 Graph圖表圖表 7.4 三維圖形(三維圖形(3D Graph) 7.5 Picture圖形控件圖形控件7.1 波形數(shù)據(jù)波形數(shù)據(jù)(Waveform) 7.1.1 波形數(shù)據(jù)控件波形數(shù)據(jù)控件 為了方便地顯示波形,LabVIEW專門預(yù)定義了波形數(shù)據(jù)類型。它實(shí)際上就是按照一定格式預(yù)定義的簇,在信號(hào)采集,處理和分析過(guò)程中經(jīng)常會(huì)用到它。 7.1 波形數(shù)據(jù)波形

43、數(shù)據(jù)(Waveform) 波形數(shù)據(jù)控件攜帶的數(shù)據(jù)包含了時(shí)間波形的基本信息,因此可以直接作為Chart和Graph的輸入。橫坐標(biāo)代表時(shí)間,縱坐標(biāo)代表Y值 7.1 波形數(shù)據(jù)波形數(shù)據(jù)(Waveform) 7.1.2 波形數(shù)據(jù)操作函數(shù)波形數(shù)據(jù)操作函數(shù) 雖然波形數(shù)據(jù)是一種預(yù)定義格式的簇,但是必須用專用的波形數(shù)據(jù)操作函數(shù)才能對(duì)它進(jìn)行操作,其中某些操作函數(shù)與簇的操作函數(shù)非常類似。 波形數(shù)據(jù)的操作函數(shù)位于Functions Palette的Programming-Waveform子模板下 7.1 波形數(shù)據(jù)波形數(shù)據(jù)(Waveform) 波形數(shù)據(jù)操作函數(shù)舉例波形數(shù)據(jù)操作函數(shù)舉例7.2 Chart趨勢(shì)圖趨勢(shì)圖 Ch

44、art可以將新測(cè)得的數(shù)據(jù)添加到曲線的尾端,從而反映實(shí)時(shí)數(shù)據(jù)的變化趨勢(shì),它主要用來(lái)顯示實(shí)時(shí)曲線。 7.2 Chart趨勢(shì)圖趨勢(shì)圖 7.2.1 波形趨勢(shì)圖(波形趨勢(shì)圖(Waveform Chart) 對(duì)于標(biāo)量數(shù)據(jù),對(duì)于標(biāo)量數(shù)據(jù),Chart圖表直接將數(shù)據(jù)添加在圖表直接將數(shù)據(jù)添加在曲線的尾端。曲線的尾端。 7.2 Chart趨勢(shì)圖趨勢(shì)圖 對(duì)于一維數(shù)組數(shù)據(jù),它會(huì)一次性把一維數(shù)組的數(shù)據(jù)添加在曲線末端,即曲線每次向前推進(jìn)的點(diǎn)數(shù)為數(shù)組數(shù)據(jù)的點(diǎn)數(shù)。 7.2 Chart趨勢(shì)圖趨勢(shì)圖 若要顯示多條標(biāo)量曲線,只需要用簇的Bundle函數(shù)將它們綁定在一起作為輸入即可。 7.2 Chart趨勢(shì)圖趨勢(shì)圖 對(duì)于二維數(shù)組,缺省

45、情況下是每一列的數(shù)據(jù)當(dāng)作一條一維數(shù)組曲線。 7.2 Chart趨勢(shì)圖趨勢(shì)圖 技巧:技巧: 若想將曲線截圖,可以通過(guò)右擊曲線選擇Data Operations-Copy Data將曲線圖復(fù)制到剪切板上。7.2 Chart趨勢(shì)圖趨勢(shì)圖 7.2.2 定制定制Chart顯示樣式顯示樣式 分欄顯示多條曲線。分欄顯示多條曲線。 右擊Chart選擇Stack Plots 7.2 Chart趨勢(shì)圖趨勢(shì)圖 7.2.2 定制定制Chart顯示樣式顯示樣式 設(shè)置更新模式設(shè)置更新模式 右擊Chart選擇Advanced-Update Mode可以設(shè)置曲線的更新模式。 Strip Chart模式:曲線填滿顯示區(qū)后曲線通

46、過(guò)左移來(lái)更新曲線。 Scope Chart模式:曲線填滿顯示區(qū)后直接清空顯示區(qū)重新開(kāi)始從左向右增長(zhǎng)曲線 在Sweep Chart模式:通過(guò)一條指示紅線從左向右刷新數(shù)據(jù) 7.2 Chart趨勢(shì)圖趨勢(shì)圖 7.2.3 帶時(shí)間軸的實(shí)時(shí)曲線帶時(shí)間軸的實(shí)時(shí)曲線7.3 Graph圖表圖表 Graph和Chart的區(qū)別在于Graph是一次性將現(xiàn)有數(shù)據(jù)繪圖,在繪圖之前先自動(dòng)清空?qǐng)D表,而不會(huì)將新數(shù)據(jù)添加到曲線的尾端。 根據(jù)顯示方法,Graph又分為波形圖、XY曲線圖、強(qiáng)度圖、數(shù)字時(shí)序圖和三維圖。 7.3 Graph圖表圖表 7.3.1 定制定制Graph屬性屬性 7.3 Graph圖表圖表 右擊Graph控件可以

47、看到該控件有很多屬性可以設(shè)置。選擇Visible Items可以看到關(guān)于該控件的很多輔助選項(xiàng)。選擇這些選項(xiàng)可以使它們都可見(jiàn),如下圖所示。 7.3 Graph圖表圖表Waveform Graph 7.3.2 Waveform Graph Waveform Graph可以有多種數(shù)據(jù)輸入類型:一維數(shù)組,二維數(shù)組,簇,簇?cái)?shù)組,波形數(shù)據(jù)。它在Controls Palette中的位置為Modern-Graph-Waveform Graph。7.3 Graph圖表圖表Waveform Graph1、一維數(shù)組作為輸入、一維數(shù)組作為輸入 當(dāng)輸入數(shù)據(jù)為一維數(shù)組時(shí),當(dāng)輸入數(shù)據(jù)為一維數(shù)組時(shí),Waveform Grap

48、h直接將一維數(shù)組畫(huà)成一條曲線,縱坐標(biāo)直接將一維數(shù)組畫(huà)成一條曲線,縱坐標(biāo)為數(shù)組元素的值,橫坐標(biāo)為數(shù)組索引。為數(shù)組元素的值,橫坐標(biāo)為數(shù)組索引。 7.3 Graph圖表圖表Waveform Graph2、二維數(shù)組作為輸入、二維數(shù)組作為輸入 當(dāng)輸入數(shù)組為二維數(shù)組時(shí),缺省情況下每一行的數(shù)據(jù)對(duì)應(yīng)一條曲線,即曲線的數(shù)目和行數(shù)相同。 7.3 Graph圖表圖表Waveform Graph3、簇作為輸入、簇作為輸入 簇作為輸入時(shí)需要指定三個(gè)元素:起始位置x0、數(shù)據(jù)點(diǎn)間隔dx和數(shù)組數(shù)據(jù)。 7.3 Graph圖表圖表Waveform Graph4、簇?cái)?shù)組作為輸入、簇?cái)?shù)組作為輸入 一維簇?cái)?shù)組也可以直接作為Graph的

49、輸入,此時(shí)相當(dāng)于x0為0,dx為1 7.3 Graph圖表圖表Waveform Graph5、波形數(shù)據(jù)作為輸入、波形數(shù)據(jù)作為輸入 由于波形數(shù)據(jù)所攜帶的數(shù)據(jù)橫軸為時(shí)間,因此需要將Waveform Graph的橫軸設(shè)為時(shí)間軸。 7.3 Graph圖表圖表XY Graph 7.3.3 XY Graph 當(dāng)我們需要畫(huà)的曲線是由當(dāng)我們需要畫(huà)的曲線是由(x, y)坐標(biāo)決定的時(shí)候,坐標(biāo)決定的時(shí)候,我們就需要采用我們就需要采用XY Graph。 其實(shí)其實(shí)Waveform Graph在一定意義上也是在一定意義上也是XY Graph,但是它的,但是它的X軸必須是等間距的,而且軸必須是等間距的,而且不可控制。不可控

50、制。 7.3 Graph圖表圖表XY Graph 1、XY兩個(gè)一維數(shù)組綁定為簇作為輸入兩個(gè)一維數(shù)組綁定為簇作為輸入 這是最簡(jiǎn)的一種情形,Bundle函數(shù)的輸入的第一個(gè)數(shù)組為X Array,第二個(gè)數(shù)組為Y Array。綁定為簇后可以直接輸入,也可以將多個(gè)簇Build為一維數(shù)組輸入實(shí)現(xiàn)多條曲線。 7.3 Graph圖表圖表XY Graph2、坐標(biāo)點(diǎn)簇?cái)?shù)組作為輸入、坐標(biāo)點(diǎn)簇?cái)?shù)組作為輸入該方式將各個(gè)點(diǎn)的坐標(biāo)綁定為簇然后作為簇?cái)?shù)組輸入,和直接該方式將各個(gè)點(diǎn)的坐標(biāo)綁定為簇然后作為簇?cái)?shù)組輸入,和直接將將XY數(shù)組綁定為簇輸入效果一樣。但是后者不一定需要數(shù)組綁定為簇輸入效果一樣。但是后者不一定需要XY數(shù)組數(shù)組的

51、大小一致,它會(huì)自動(dòng)將大的數(shù)組裁剪。的大小一致,它會(huì)自動(dòng)將大的數(shù)組裁剪。 7.3 Graph圖表圖表XY Graph3、時(shí)間作為、時(shí)間作為X軸軸利用利用XY Graph實(shí)現(xiàn)實(shí)現(xiàn)歷史曲線歷史曲線 7.3 Graph圖表圖表XY Graph4、Express XY Graph Express XY Graph采用了LabVIEW的Express技術(shù),將Express XY Graph放置在前面板上的同時(shí),在程序框圖中會(huì)自動(dòng)添加一個(gè)VI,它的XY軸數(shù)據(jù)為動(dòng)態(tài)數(shù)據(jù)類型。 7.3 Graph圖表圖表 7.3.4 亮度圖亮度圖(Intensity Graph & Chart)7.3 Graph圖表圖

52、表 7.3.5 數(shù)字波形圖數(shù)字波形圖(Digital Waveform Graph)7.4 三維圖形(三維圖形(3D Graph)1、三維曲面圖(、三維曲面圖(3D Surface Graph) 將該控件放置在前面板上的同時(shí),在背面板也會(huì)同時(shí)出現(xiàn)一個(gè)ActiveX控件和一個(gè)VI函數(shù)3D Surface.vi。 7.4 三維圖形(三維圖形(3D Graph)2、三維參量曲面圖(、三維參量曲面圖(3D Parametric Graph) 它需要它需要3個(gè)軸的數(shù)據(jù)均為二維數(shù)組,分別決定個(gè)軸的數(shù)據(jù)均為二維數(shù)組,分別決定了相對(duì)于了相對(duì)于x平面、平面、y平面和平面和z平面的曲面。平面的曲面。 7.4 三維

53、圖形(三維圖形(3D Graph)3、三維曲線圖(、三維曲線圖(3D Curve Graph) 7.5 Picture圖形控件圖形控件 向Picture控件導(dǎo)入圖片7.5 Picture圖形控件圖形控件 利用Picture控件畫(huà)圖 小試身手 1. 請(qǐng)說(shuō)出Chart、Waveform Graph、XY Graph之間的主要區(qū)別。小試身手 2. 利用隨機(jī)數(shù)發(fā)生器仿真一個(gè)0到5V的采樣信號(hào),每200ms采一個(gè)點(diǎn),利用實(shí)時(shí)趨勢(shì)曲線實(shí)時(shí)顯示采樣結(jié)果。小試身手 3. 在習(xí)題2的基礎(chǔ)上再增加1路電壓信號(hào)采集,此路電壓信號(hào)的范圍為5到10V。小試身手 4.利用隨機(jī)數(shù)發(fā)生器仿真一個(gè)0到5V的采樣信號(hào),每200m

54、s采一個(gè)點(diǎn),共采集50個(gè)點(diǎn),采集完后一次性顯示在Waveform Graph上。小試身手 5. 在習(xí)題4的基礎(chǔ)上再增加1路電壓信號(hào)采集,此路電壓信號(hào)的范圍為5到10V,采樣間隔是50ms,共采100個(gè)點(diǎn)。采樣完成后,將兩路采樣信號(hào)顯示在同一個(gè)Waveform Graph中。小試身手 6. 將習(xí)題5中的X軸改為時(shí)間軸顯示,要求時(shí)間軸能真實(shí)的反映采樣時(shí)間。分析為什么與習(xí)題5的顯示結(jié)果截然不同?小試身手 7. 利用Signal Processing-Signal Generation-Sine Pattern.vi(如右上圖所示)產(chǎn)生兩條正弦曲線,將兩條曲線分別作為XY Graph的XY輸入。通過(guò)改

55、變其中一條曲線的頻率和相位來(lái)研究李薩如圖形。第第8章章 Express VI快速搭快速搭建專業(yè)測(cè)試系統(tǒng)建專業(yè)測(cè)試系統(tǒng)引子 自LabVIEW 7開(kāi)始,LabVIEW提供了Express技術(shù),用以快捷簡(jiǎn)便地搭建專業(yè)的測(cè)試系統(tǒng)。在此后的版本中,Express技術(shù)得到了不斷的加強(qiáng)。它將各種基本函數(shù)進(jìn)一步打包為更加智能,功能更加豐富的函數(shù);并對(duì)其中某些函數(shù)提供配置對(duì)話框,通過(guò)配置框可以對(duì)函數(shù)進(jìn)行詳細(xì)的配置。因此,通過(guò)Express VI我們可以用很少的步驟實(shí)現(xiàn)功能完善的測(cè)試系統(tǒng)。對(duì)于復(fù)雜的系統(tǒng),利用Express VI也能起到極大的簡(jiǎn)化作用。本章內(nèi)容 8.1 初識(shí)初識(shí)Express技術(shù)技術(shù) 8.2 動(dòng)態(tài)

56、數(shù)據(jù)類型動(dòng)態(tài)數(shù)據(jù)類型 8.3 Express VIs簡(jiǎn)介簡(jiǎn)介 8.4 跟著實(shí)例學(xué)跟著實(shí)例學(xué)基于基于Express VI的聲音的聲音信號(hào)采集系統(tǒng)信號(hào)采集系統(tǒng)8.1 初識(shí)初識(shí)Express技術(shù)技術(shù) Express技術(shù)包含前面板控件和程序框圖VI函數(shù) 8.1 初識(shí)初識(shí)Express技術(shù)技術(shù) 基于配置的編程方式仿真信號(hào)發(fā)生器Express VI 參數(shù)配置對(duì)話框8.1 初識(shí)初識(shí)Express技術(shù)技術(shù) 利用利用Express VI搭建的信號(hào)濾波器搭建的信號(hào)濾波器8.2 動(dòng)態(tài)數(shù)據(jù)類型動(dòng)態(tài)數(shù)據(jù)類型 針對(duì)Express VI的靈活性,LabVIEW提供了動(dòng)態(tài)數(shù)據(jù)類型動(dòng)態(tài)數(shù)據(jù)類型(Dynamic Data Typ

57、e, DDT)來(lái)攜帶Express VI的輸入與輸出信號(hào)。 動(dòng)態(tài)數(shù)據(jù)類型能夠攜帶單點(diǎn),單通道(一維數(shù)組)或多通道(二維數(shù)組)的數(shù)據(jù)或波形數(shù)據(jù)類型的數(shù)據(jù)。此外,它還包含了一些信號(hào)的屬性信息,譬如信號(hào)的名稱、采集日期時(shí)間等。 8.2 動(dòng)態(tài)數(shù)據(jù)類型動(dòng)態(tài)數(shù)據(jù)類型 由于動(dòng)態(tài)數(shù)據(jù)類型能夠包含單個(gè)或多個(gè)信號(hào),因此還可以將多個(gè)DDT數(shù)據(jù)合并或者將合并后的DDT數(shù)據(jù)再拆開(kāi)。這可以通過(guò)Express-Signal Manipulation面板下的Merge Signals和Split Signals函數(shù)實(shí)現(xiàn)。 8.3 Express VIs簡(jiǎn)介簡(jiǎn)介 8.3.1 信號(hào)輸入(信號(hào)輸入(Input) Express V

58、Is 信號(hào)輸入信號(hào)輸入Express VIs在Express-Input面板下,主要用來(lái)從儀器采集信號(hào)或產(chǎn)生仿真信號(hào);通過(guò)這些函數(shù),信號(hào)可以來(lái)源于儀器,也可以來(lái)源于文件或者由計(jì)算機(jī)仿真產(chǎn)生。 8.3 Express VIs簡(jiǎn)介簡(jiǎn)介8.3 Express VIs簡(jiǎn)介簡(jiǎn)介 8.3.2 信號(hào)分析(信號(hào)分析(Signal Analysis)Express VIs 信號(hào)分析信號(hào)分析Express VIs在Express-Signal Analysis面板下。該面板下包含了最常用的信號(hào)分析函數(shù),例如譜測(cè)量、失真度測(cè)量、曲線擬合、濾波器和直方圖等。8.3 Express VIs簡(jiǎn)介簡(jiǎn)介 8.3.3 輸出(輸

59、出(Output)Express VIs Output Express VIs在Express-Output面板下,用于將信號(hào)數(shù)據(jù)存入文件,產(chǎn)生報(bào)表或向儀器輸出真實(shí)信號(hào)等8.3 Express VIs簡(jiǎn)介簡(jiǎn)介8.3 Express VIs簡(jiǎn)介簡(jiǎn)介 8.3.4 信號(hào)操作(信號(hào)操作(Signal Manipulation)Express VIs 信號(hào)操作信號(hào)操作Express VIs在Express-Signal Manipulation面板下。主要用于對(duì)信號(hào)數(shù)據(jù)進(jìn)行各種操作,譬如信號(hào)合并、類型轉(zhuǎn)換、信號(hào)連接、抽樣信號(hào)、觸發(fā)信號(hào)和選擇信號(hào)等;8.3 Express VIs簡(jiǎn)介簡(jiǎn)介 8.3.5 算術(shù)

60、與比較(算術(shù)與比較(Arithmetic & Comparison)Express VIs 算術(shù)與比較算術(shù)與比較Express VIs在Express-Arithmetic & Comparison面板下,它包含一些基本的數(shù)學(xué)函數(shù)和比較操作符,以及數(shù)字和字符串等。8.3 Express VIs簡(jiǎn)介簡(jiǎn)介 8.3.6 執(zhí)行控制執(zhí)行控制Express VIs 執(zhí)行控制執(zhí)行控制Express VIs在Express-Execution Control面板下,包含了一些基本的程序結(jié)構(gòu)以及時(shí)間函數(shù),譬如While結(jié)構(gòu),Case結(jié)構(gòu),時(shí)間延時(shí)和消逝時(shí)間等。 8.4 跟著實(shí)例學(xué)跟著實(shí)例學(xué)基于基于Express VI的聲音信號(hào)采集

溫馨提示

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

評(píng)論

0/150

提交評(píng)論