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

下載本文檔

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

文檔簡介

1、LabVIEW 8.20程序設(shè)計(jì)從入門到精通隨書課件 作者:陳錫輝版權(quán)所有,轉(zhuǎn)載請注明出處第第1章章 揭開揭開LabVIEW的面紗的面紗引子 “最初只存在機(jī)器語言,計(jì)算機(jī)的世界里一片黑暗??墒遣痪?,匯編語言問世了,給計(jì)算機(jī)的世界投下了一縷曙光。后來,F(xiàn)ortran的出現(xiàn)帶來了光明。” LabVIEW圖形化編程語言的出現(xiàn)終于把人們尤其是工程師和科學(xué)家們從繁雜的編程工作中解放出來,使他們能夠真正專心于自己所關(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的通用儀器硬件通用儀器硬件平臺平臺。1.1 虛擬儀器的概念 軟件技術(shù)是虛擬儀器的核心技術(shù)。常用的儀器用開發(fā)軟件有LabVIEW、LabWindows/CVI、VEE等等,其中以LabVIEW應(yīng)用最為廣泛。1.2 什么是LabVIEW? LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。 傳統(tǒng)文本編程語言根據(jù)語句和指令的先后順序決定程序執(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ù)采集、分析、顯示與存儲等。 1.3 LabVIEW可以做什么? LabVIEW在測試、測量和自動化等領(lǐng)域具有最大的優(yōu)勢,因?yàn)長abVIEW提供了大量的工具與函數(shù)用于數(shù)據(jù)采集、分析、顯示和存儲。 用戶可以在數(shù)分鐘內(nèi)完成一套完整的從儀器連接、數(shù)據(jù)采集到分析、顯示和存儲的自動化測試測量系統(tǒng)。

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

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

7、W 8.2 啟動界面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í)時上下文幫助窗口3.3.2 聯(lián)機(jī)幫助文檔3.3.3 范例查找器3.4 編輯前面板編輯前面板3.4.1 輸入控件(Controls)和顯示控件(Indicator) 3.4.2 控件屬性3.5 編輯程序框圖編輯程序框圖3.5.1 程序框圖中的控件對象3.5.2 程序框圖節(jié)點(diǎn)3.5.3 對象連線3.6 運(yùn)行運(yùn)行VI3.7 調(diào)試調(diào)試VI3.1 安裝LabVIEW 性能要求及詳細(xì)安裝過程請參考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 啟動界面VI程序和工程創(chuàng)建欄新近打開的工程和VI程序列表欄幫助資源列表欄3.2.2 前面板和程序框圖 LabVIEW程序被稱為VI,擴(kuò)展名默認(rèn)為.vi框圖窗口前面板窗口圖標(biāo)3.2.3 控件選板3.2.3 控件選板 控件選板控件選板在前面板顯示,它包含創(chuàng)建前面板時可用的全部對象??丶x板中的基本常用控件可以以現(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ù)選板只能在編輯程序框圖時使用,與控件選板的工作方式大體相同。創(chuàng)建框圖程序常用的VI和函數(shù)對象都包含在該選板中。 選擇View-Functions Palette或右擊框圖面板空白處就可以顯示函數(shù)選板。3.2.5 工具選板3.2.5 工具選板 在前面板和程序框圖中都可以使用工具選板,使用其中不同的工具可以操作、編輯或修飾前面板和程序框圖中選定的對象,也可以用來調(diào)試程序等。

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

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

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

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

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

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

16、VI前面板和后面板之間進(jìn)行切換 并排排列前面板和后面板窗口小試身手 2、編寫一個VI求三個數(shù)的平均值,如右圖所示。 要求對三個輸入控件等間隔并右對齊,對應(yīng)的程序框圖控件對象也要求如此對齊。 添加注釋 分別用普通方式和高亮方式運(yùn)行程序,體會數(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 時間類型(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)和顏色來表示不同的數(shù)據(jù)類型 輸入控件輸入控件顯示控件顯示控件數(shù)據(jù)類型數(shù)據(jù)類型默認(rèn)值默認(rèn)值32位無符號整數(shù)(32-bit unsigned integer numeric)064位無符號整數(shù)(64-bit unsigned integer numeric)0位時間標(biāo)示(bit time stamp)當(dāng)?shù)貢r間日期枚舉類型(Enumerated type)-布爾(Boolean)FLASE字符串(String)空字符串4.1.1 數(shù)字型控件 數(shù)字型控件的外觀可以五花八門,但是程序框圖中的操作卻是以其代表的數(shù)據(jù)類型為

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

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

20、局部變量的控件選擇Create-Local Variable選項(xiàng)創(chuàng)建該控件的局部變量 局部變量局部變量 讀寫局部變量的方法與讀寫控件對象的方法完全一樣全局變量全局變量 通過全局變量可以在不同的VI之間進(jìn)行數(shù)據(jù)交換,一個全局變量的VI文件中可以包含多個不同數(shù)據(jù)類型的全局變量。 LabVIEW中的全局變量是以獨(dú)立的VI文件形式存在的,這個VI文件只有前面板,沒有程序框圖,不能進(jìn)行編程。 注意: 使用局部變量和全局變量時要避免競爭現(xiàn)象。 例如在程序不同的兩個地方同時寫同一個的對象的局部變量或全局變量,就會產(chǎn)生競爭現(xiàn)象,這時變量的值是無法預(yù)期的。 因此我們必須要注意程序的執(zhí)行順序,避免競爭現(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),并且還支持通過一些簡單的文本腳本進(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=文本編程語言圖形化編程語言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ì)算包含一個變量的數(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、寫一個VI判斷兩個數(shù)的大小,如右圖所示:當(dāng)AB時,指示燈亮小試身手 2. 寫一個VI獲取當(dāng)前系統(tǒng)時間,并將其轉(zhuǎn)換為字符串和浮點(diǎn)數(shù)。這在實(shí)際編程中會經(jīng)常遇到。小試身手 3. 利用局部變量寫一個計(jì)數(shù)器,每當(dāng)VI運(yùn)行一次計(jì)數(shù)器就加一。當(dāng)VI關(guān)閉后重新打開時,計(jì)數(shù)器清零。小試身手 4. 寫一個溫度監(jiān)測器,如右圖所示,當(dāng)溫度超過報(bào)警上限,而且開啟報(bào)警時,報(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)測系統(tǒng)模擬溫度采集監(jiān)測系統(tǒng)5.1 順序結(jié)構(gòu)(順序結(jié)構(gòu)(Sequence Structure) 5.1.1 LabVIEW程序的執(zhí)行順序 數(shù)據(jù)流式

25、的編程方法 多段代碼同時執(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ù)??梢酝ㄟ^兩種方法指定循

26、環(huán)次數(shù),一種是直接給定,一種是通過輸入數(shù)組的大小給定 5.2 For循環(huán)循環(huán) 輸入和輸出數(shù)組輸入和輸出數(shù)組5.2 For循環(huán)循環(huán) 5.2.3 移位寄存器移位寄存器(Shift Register)一個累加一個累加10次的次的a+程序程序 通過局部變量實(shí)現(xiàn)通過局部變量實(shí)現(xiàn)通過移位寄存器實(shí)現(xiàn)通過移位寄存器實(shí)現(xiàn) 5.2 For循環(huán)循環(huán) 5.2.4 反饋節(jié)點(diǎn)(反饋節(jié)點(diǎn)(Feedback Node)通過反饋節(jié)點(diǎn)實(shí)現(xiàn)通過反饋節(jié)點(diǎn)實(shí)現(xiàn)a+ 5.3 While循環(huán)循環(huán)5.3 While循環(huán)循環(huán) 5.3.2 添加定時器添加定時器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.語句的語句的Case結(jié)構(gòu)結(jié)構(gòu)5.4 Case結(jié)構(gòu) 5.4.3 等價(jià)于等價(jià)于switch語句的語句的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) 分析該程序可以看出,這個程序在沒有用戶點(diǎn)擊的情況下完全都是在“空轉(zhuǎn)”,浪費(fèi)了大量的CPU資源,而且當(dāng)“事

28、件”發(fā)生太快時可能會被忽略。因此Labview提供了事件結(jié)構(gòu)來解決這個問題,即僅當(dāng)“事件”發(fā)生時,程序才做相應(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ā)生時,用戶可以過濾掉顧名思義,當(dāng)該事件發(fā)生時,用戶可以過濾掉甚至完全放棄掉該事件將觸發(fā)的活動。甚至完全放

29、棄掉該事件將觸發(fā)的活動。 注意:注意: 一般來說,事件只能通過外在用戶的動作觸發(fā),如單擊鼠標(biāo),鍵盤等。如果需要內(nèi)部數(shù)據(jù)觸發(fā)事件(例如當(dāng)ab條件滿足時觸發(fā)一個事件),就需要通過用戶自定義事件的方法實(shí)現(xiàn),這將在本書的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) 通過公式節(jié)點(diǎn),用戶不僅可以實(shí)現(xiàn)復(fù)雜的數(shù)學(xué)公式,還能通過文本編程寫一些基本的邏輯語句,如ifelse, case, while循環(huán)之類的語句。 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 文本編程語言的實(shí)現(xiàn)文本編程語言的實(shí)現(xiàn)基于公式節(jié)點(diǎn)的基于公式節(jié)點(diǎn)的CRC16算法的實(shí)現(xiàn)算法的實(shí)現(xiàn) 5.8 跟著實(shí)例學(xué)跟著實(shí)例學(xué)模擬溫度采集監(jiān)測系統(tǒng)模擬溫度采集監(jiān)測系統(tǒng)小試身手 1. 利用順序結(jié)構(gòu)和timing面板下的tick count VI,計(jì)算for循環(huán)1000000次所需的時間。 2. 為第4章習(xí)題4添加一個While循環(huán)和定時器,實(shí)現(xiàn)連續(xù)的溫度采集監(jiān)測小試身手 3、利用順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu)寫一個跑馬燈,如下圖所示,5個燈從左到右不停的輪流點(diǎn)亮,閃爍間隔由滑動條調(diào)節(jié)小試身手 4.

31、 求分?jǐn)?shù)序列 前20項(xiàng)之和。 5. 給出一百分制成績,要求輸出等級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)用戶按下一個數(shù)字后,累加值就將新數(shù)字累加上去。例如按下34時,累加值為7;按下345時,累加值為12小試身手 7. 利用公式節(jié)點(diǎn)判斷一個數(shù)是否是素?cái)?shù),我們可以采用這樣的算法:用2sqrt(N),依次去對N求余,只要有一個余數(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編程中會頻繁的用到,因此LabVIEW封裝了功能豐富的字符串函數(shù)用于字符串的處理,用戶不需要再像C語言中一樣為字符串的操作編寫繁瑣的程序。 字符串控件包括輸入控件、顯示控件和下拉框。 6.1 字符串(字符串(String)6.1 字符串(字符串(String) 6.1.1 字符串控件字符串控件 字符串輸入控件一般被用作文本輸入框,而字字符串輸入控件一般被用作文本輸入框,而字符串顯示控件一般

33、被用作文本顯示框。符串顯示控件一般被用作文本顯示框。 6.1 字符串(字符串(String) 6.1.2 表格和樹形控件表格和樹形控件 表格(Table)和樹形控件在Controls Palette的Modern-List & Table面板下。 表格實(shí)際上就是一個字符串組成的二維數(shù)組。 樹形控件以樹的形式顯示多層內(nèi)容,Windows的資源管理器就是用樹形控件來顯示文件目錄的。 6.1 字符串(字符串(String) 6.1.2 表格和樹形控件舉例表格和樹形控件舉例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一個非常大的優(yōu)勢就是它可以根據(jù)輸一個非常大的優(yōu)勢就是它可以根據(jù)輸入數(shù)據(jù)的類型判斷算子的運(yùn)算方法,即自動實(shí)入數(shù)據(jù)的類型判斷算子的運(yùn)算方法,即自動實(shí)現(xiàn)

35、多態(tài)現(xiàn)多態(tài) 對于加減乘除,數(shù)組之間的運(yùn)算滿足下面的規(guī)對于加減乘除,數(shù)組之間的運(yùn)算滿足下面的規(guī)則:則: a) 如果進(jìn)行運(yùn)算的兩個數(shù)組大小完全一樣,則將如果進(jìn)行運(yùn)算的兩個數(shù)組大小完全一樣,則將兩個數(shù)組中索引相同的元素進(jìn)行運(yùn)算形成一個新的兩個數(shù)組中索引相同的元素進(jìn)行運(yùn)算形成一個新的數(shù)組。數(shù)組。 b) 若大小不一樣,則忽略較大數(shù)組多出來的部分。若大小不一樣,則忽略較大數(shù)組多出來的部分。 c) 如果一個數(shù)組和一個數(shù)值進(jìn)行運(yùn)算,則數(shù)組的如果一個數(shù)組和一個數(shù)值進(jìn)行運(yùn)算,則數(shù)組的每個元素都和該數(shù)值進(jìn)行運(yùn)算從而輸出一個新的數(shù)每個元素都和該數(shù)值進(jìn)行運(yùn)算從而輸出一個新的數(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ú)特的一個概念,但中比較獨(dú)特的一個概念,但實(shí)際上它就對應(yīng)于實(shí)際上它就對應(yīng)于C語言等文本編程語言中語言等文本編程語言中的結(jié)構(gòu)體變量。的結(jié)構(gòu)體變量。 6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 6.3.1 簇的創(chuàng)建簇的創(chuàng)建通過簇控件實(shí)現(xiàn)的溫度顯示器通過簇控件實(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ù)將簇解開從而獲得簇中各個元素的值。缺省情況下,它會根據(jù)輸入的簇自動調(diào)整輸出端子的數(shù)目和數(shù)據(jù)類型,并按照簇內(nèi)部元素索引的順序排列。6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 2、打包函數(shù)(、打包函數(shù)(Bundle) 該函數(shù)用來為

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ù)通過簇內(nèi)部元素名稱來給簇內(nèi)部元素賦值。參考簇是必須的,該函數(shù)通過參考簇來獲得元素名稱。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這兩個預(yù)定義簇來作為傳遞錯誤信息的載體。 6.3 簇(簇(Cluster)LabVIEW中的結(jié)構(gòu)體變量中的結(jié)構(gòu)體變量 6.3.3 error in 和和error out簇簇 對于系統(tǒng)錯誤,code都有預(yù)先的定義,可以通過選擇Help-Explain Error打開錯誤解釋框來查找該錯誤代碼的更詳細(xì)

40、的解釋。 6.4 矩陣(矩陣(Matrix) LabVIEW 8之前的版本中只能通過二維數(shù)組來實(shí)現(xiàn)矩陣的操作。但是數(shù)組的運(yùn)算方法和矩陣的運(yùn)算方法有很大不同,譬如兩個數(shù)組相乘是直接將相同索引的數(shù)組元素相乘,而矩陣的相乘必須按照線性代數(shù)中規(guī)定的方法相乘,因此用數(shù)組實(shí)現(xiàn)矩陣運(yùn)算是非常麻煩的。LabVIEW 8最新加入了對矩陣的支持,從而使矩陣的運(yù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)測添加報(bào)警信息,如下圖所示,當(dāng)報(bào)警發(fā)生時輸出報(bào)警信息,例如“溫度超限!當(dāng)前溫度78.23”,正常情況下輸出空字符串。小試身手 2. 對字符串進(jìn)行加密,規(guī)則是每個字母后移5位,例如A變?yōu)镕,b變?yōu)間,x變?yōu)閏,y變?yōu)閐小試身手 3. 產(chǎn)生一個33的整數(shù)隨機(jī)數(shù)數(shù)組,隨機(jī)數(shù)要在0到100之間,然后找出數(shù)組的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小,也可能沒有鞍點(diǎn)。如下圖所示:小試身手 4. 利用簇模擬汽車控制,如右圖所示,控制面板可以對顯示面板中的參量進(jìn)行控制。油門控制轉(zhuǎn)速,轉(zhuǎn)速油門*100,檔位控制時速,時速檔位*40,油量隨VI運(yùn)行時間減少。第

42、第7章章 圖形化顯示數(shù)據(jù)圖形化顯示數(shù)據(jù)圖表和圖形圖表和圖形引子 LabVIEW很大的一個優(yōu)勢就是它提供了豐富的數(shù)據(jù)圖形化顯示控件,而且使用起來極其方便。 本章內(nèi)容 7.1 波形數(shù)據(jù)波形數(shù)據(jù)(Waveform) 7.2 Chart趨勢圖趨勢圖 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ù)定義的簇,在信號采集,處理和分析過程中經(jīng)常會用到它。 7.1 波形數(shù)據(jù)波形

43、數(shù)據(jù)(Waveform) 波形數(shù)據(jù)控件攜帶的數(shù)據(jù)包含了時間波形的基本信息,因此可以直接作為Chart和Graph的輸入。橫坐標(biāo)代表時間,縱坐標(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ù)才能對它進(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趨勢圖趨勢圖 Ch

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

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

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

47、看到該控件有很多屬性可以設(shè)置。選擇Visible Items可以看到關(guān)于該控件的很多輔助選項(xiàng)。選擇這些選項(xiàng)可以使它們都可見,如下圖所示。 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ù)組時,當(dāng)輸入數(shù)據(jù)為一維數(shù)組時,Waveform Grap

48、h直接將一維數(shù)組畫成一條曲線,縱坐標(biāo)直接將一維數(shù)組畫成一條曲線,縱坐標(biāo)為數(shù)組元素的值,橫坐標(biāo)為數(shù)組索引。為數(shù)組元素的值,橫坐標(biāo)為數(shù)組索引。 7.3 Graph圖表圖表Waveform Graph2、二維數(shù)組作為輸入、二維數(shù)組作為輸入 當(dāng)輸入數(shù)組為二維數(shù)組時,缺省情況下每一行的數(shù)據(jù)對應(yīng)一條曲線,即曲線的數(shù)目和行數(shù)相同。 7.3 Graph圖表圖表Waveform Graph3、簇作為輸入、簇作為輸入 簇作為輸入時需要指定三個元素:起始位置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、輸入,此時相當(dāng)于x0為0,dx為1 7.3 Graph圖表圖表Waveform Graph5、波形數(shù)據(jù)作為輸入、波形數(shù)據(jù)作為輸入 由于波形數(shù)據(jù)所攜帶的數(shù)據(jù)橫軸為時間,因此需要將Waveform Graph的橫軸設(shè)為時間軸。 7.3 Graph圖表圖表XY Graph 7.3.3 XY Graph 當(dāng)我們需要畫的曲線是由當(dāng)我們需要畫的曲線是由(x, y)坐標(biāo)決定的時候,坐標(biāo)決定的時候,我們就需要采用我們就需要采用XY Graph。 其實(shí)其實(shí)Waveform Graph在一定意義上也是在一定意義上也是XY Graph,但是它的,但是它的X軸必須是等間距的,而且軸必須是等間距的,而且不可控制。不可控

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

51、大小一致,它會自動將大的數(shù)組裁剪。的大小一致,它會自動將大的數(shù)組裁剪。 7.3 Graph圖表圖表XY Graph3、時間作為、時間作為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放置在前面板上的同時,在程序框圖中會自動添加一個VI,它的XY軸數(shù)據(jù)為動態(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) 將該控件放置在前面板上的同時,在背面板也會同時出現(xiàn)一個ActiveX控件和一個VI函數(shù)3D Surface.vi。 7.4 三維圖形(三維圖形(3D Graph)2、三維參量曲面圖(、三維參量曲面圖(3D Parametric Graph) 它需要它需要3個軸的數(shù)據(jù)均為二維數(shù)組,分別決定個軸的數(shù)據(jù)均為二維數(shù)組,分別決定了相對于了相對于x平面、平面、y平面和平面和z平面的曲面。平面的曲面。 7.4 三維

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

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

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

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

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

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

59、出(Output)Express VIs Output Express VIs在Express-Output面板下,用于將信號數(shù)據(jù)存入文件,產(chǎn)生報(bào)表或向儀器輸出真實(shí)信號等8.3 Express VIs簡介簡介8.3 Express VIs簡介簡介 8.3.4 信號操作(信號操作(Signal Manipulation)Express VIs 信號操作信號操作Express VIs在Express-Signal Manipulation面板下。主要用于對信號數(shù)據(jù)進(jìn)行各種操作,譬如信號合并、類型轉(zhuǎn)換、信號連接、抽樣信號、觸發(fā)信號和選擇信號等;8.3 Express VIs簡介簡介 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簡介簡介 8.3.6 執(zhí)行控制執(zhí)行控制Express VIs 執(zhí)行控制執(zhí)行控制Express VIs在Express-Execution Control面板下,包含了一些基本的程序結(jié)構(gòu)以及時間函數(shù),譬如While結(jié)構(gòu),Case結(jié)構(gòu),時間延時和消逝時間等。 8.4 跟著實(shí)例學(xué)跟著實(shí)例學(xué)基于基于Express VI的聲音信號采集

溫馨提示

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

評論

0/150

提交評論