版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章LabVIEW復(fù)合數(shù)據(jù)類型CONTENTSprintthepresentationandmakeitintoafilmtobeusedinawiderfieldPART01PART02PART03數(shù)組簇波形printthepresentationandmakeitintoafilmtobeusedinawiderfield4.1
數(shù)組4.1數(shù)組
數(shù)組是相同類型元素的集合。在LabVIEW中,數(shù)組的索引號(hào)從0開(kāi)始,可以是一維或多維的。與C語(yǔ)言不同的是,在LabVIEW中,創(chuàng)建數(shù)組時(shí),不用事先指定數(shù)組的大小,即數(shù)組的長(zhǎng)度可以根據(jù)VI的需求而改變。4.1.1數(shù)組數(shù)據(jù)的組成
4.1.1數(shù)組數(shù)據(jù)的組成不論是幾維,數(shù)組中的每一個(gè)元素都有唯一的索引與之對(duì)應(yīng),對(duì)數(shù)組中每個(gè)元素的訪問(wèn)都是通過(guò)索引進(jìn)行的。圖4.1數(shù)組數(shù)據(jù)的組成示意圖4.1.2數(shù)組的創(chuàng)建在前面板和程序框圖中都可以創(chuàng)建數(shù)值、布爾、字符、波形和簇等數(shù)據(jù)類型的數(shù)組。按照以下步驟,我們學(xué)習(xí)如何在LabVIEW中創(chuàng)建一個(gè)數(shù)組。1)先創(chuàng)建數(shù)組框架。數(shù)組框架有兩種(如圖4.2和圖4.3所示):一種用于建立輸入控件和顯示控件,找到它的路徑是“控件”選板→“新式”→“數(shù)組、矩陣與簇”→“數(shù)組”子選板;另一種用于建立常量,找到它的路徑為“函數(shù)”選板→“編程”→“數(shù)組”子選板→“數(shù)組常量”。LabVIEW默認(rèn)初建的數(shù)組框架是一維的。4.1.2數(shù)組的創(chuàng)建空間選板
前面板控件圖4.2在前面板創(chuàng)建的數(shù)組框架
圖4.3在程序框圖面板創(chuàng)建數(shù)組常量框架圖4.1.2數(shù)組的創(chuàng)建控件選板前面板控件圖4.2在前面板創(chuàng)建的數(shù)組框架
4.1.2數(shù)組的創(chuàng)建此時(shí)創(chuàng)建的只不過(guò)是一個(gè)數(shù)組的“殼”,里面還沒(méi)有任何內(nèi)容,接下來(lái)需要為這個(gè)數(shù)組控件添加一個(gè)數(shù)據(jù)類型。2)向數(shù)組框架中添加“元素”,以確定數(shù)組元素的數(shù)據(jù)類型。比如我們創(chuàng)建一個(gè)數(shù)值型數(shù)組,單擊【數(shù)值型控件】,并將其拖曳到【數(shù)組控件】中,如圖4-4所示。圖4.4創(chuàng)建數(shù)值型數(shù)組4.1.2數(shù)組的創(chuàng)建3)以拖動(dòng)方式操作,來(lái)確定數(shù)組元素的可視大小,如圖4.5所示;通過(guò)拖曳鼠標(biāo),可同時(shí)顯示多個(gè)元素,具體如圖4.6所示。圖4.5改變數(shù)組元素的可視大?。ㄒ詳?shù)組常量為例)圖4.6同時(shí)顯示多個(gè)元素(以數(shù)組常量為例)4.1.2數(shù)組的創(chuàng)建4)增加數(shù)組的維度。有兩種實(shí)現(xiàn)方法:一種是用鼠標(biāo)選中數(shù)組,右擊鼠標(biāo),彈出快捷菜單,選擇“添加維度”或“刪除維度”;另一種是將鼠標(biāo)移至數(shù)組左上角區(qū)域,通過(guò)拖曳,可以改變數(shù)組的維數(shù)。
按照上述步驟創(chuàng)建好的一個(gè)數(shù)組輸入控件如圖4.7(a)所示。有時(shí),需要將數(shù)組中的某個(gè)元素刪除,操作步驟如下:將鼠標(biāo)放在要?jiǎng)h除的元素(比如元素5)處,右擊鼠標(biāo),選擇“數(shù)據(jù)操作”中的“刪除元素”(如圖4.7(b)所示)。刪除元素5后的數(shù)組如圖4.7(c)所示。4.1.2數(shù)組的創(chuàng)建(a)
(b)(c)圖4.7刪除數(shù)組中的元素4.1.3數(shù)組函數(shù)LabVIEW中提供有一些數(shù)組函數(shù),它們都在“函數(shù)”選板→“編程”→“數(shù)組”子選板上。表4.1列出了5個(gè)常用的數(shù)組函數(shù),下面通過(guò)幾個(gè)示例對(duì)這幾個(gè)數(shù)組函數(shù)做具體介紹。4.1.3數(shù)組函數(shù)序號(hào)名稱圖標(biāo)和連接端口功能說(shuō)明1數(shù)組大小提供該數(shù)組各維的長(zhǎng)度2索引數(shù)組返回n維數(shù)組在索引位置的元素或子數(shù)組3數(shù)組子集返回?cái)?shù)組的一部分,從索引處開(kāi)始,包含長(zhǎng)度個(gè)元素4初始化數(shù)組創(chuàng)建一個(gè)n維數(shù)組,其中的每個(gè)元素都被初始化為元素的值4.1.3數(shù)組函數(shù)5創(chuàng)建數(shù)組將若干個(gè)輸入數(shù)組和元素組合成一個(gè)新的數(shù)組4.1.3數(shù)組函數(shù)【例4.1】
“數(shù)組大小”函數(shù)。例4.1的VI的程序框圖和前面板如圖4.8所示。它完成的是將一個(gè)三維數(shù)組常量連至“數(shù)組大小”函數(shù),然后將此函數(shù)的輸出結(jié)果提供給“大小”顯示控件。運(yùn)行此VI,從前面板上“大小”顯示控件的結(jié)果可以看出,這個(gè)數(shù)組的大小為2頁(yè)、3行和4列。4.1.3數(shù)組函數(shù)圖4.8“數(shù)組大小”函數(shù)使用示例4.1.3數(shù)組函數(shù)【例4.2】
“索引數(shù)組”函數(shù)。
例4.2的VI程序框圖和前面板如圖4.9所示。它所實(shí)現(xiàn)的是將一個(gè)5行3列的二維數(shù)組常量連至“索引數(shù)組”函數(shù)。擺放位置在上的被調(diào)用的“索引數(shù)組”函數(shù),索引的是原二維數(shù)組第1行的元素,輸出結(jié)果是原二維數(shù)組的一個(gè)子數(shù)組,且是一個(gè)一維數(shù)組。而擺放位置在下的被調(diào)用的“索引數(shù)組”函數(shù),其索引的是原二維數(shù)組中第l行第2列的那個(gè)元素,輸出的是一個(gè)數(shù)值常量。4.1.3數(shù)組函數(shù)圖4.9“索引數(shù)組”函數(shù)使用示例4.1.3數(shù)組函數(shù)【例4.3】“數(shù)組子集”函數(shù)。
例4.3的VI的程序框圖和前面板如圖4.10所示。它完成的是將一個(gè)5行3列的二維數(shù)組常量連至“數(shù)組子集”函數(shù)。其中,“數(shù)組子集”函數(shù)索引的是原二維數(shù)組從第1行開(kāi)始、長(zhǎng)度為3的一個(gè)子二維數(shù)組,具體輸出的子二維數(shù)組有3行3列。4.1.3數(shù)組函數(shù)圖4.10“數(shù)組子集”函數(shù)使用示例4.1.3數(shù)組函數(shù)【例4.4】
“刪除數(shù)組元素”函數(shù)。
例4.4的VI的程序框圖和前面板如圖4.11所示。輸入的數(shù)組是一維的,共有5個(gè)元素,分別是(1,2,3,4,5)。該VI調(diào)用了“刪除數(shù)組元素”函數(shù),將輸入數(shù)組中的索引號(hào)為2、長(zhǎng)度為1的元素刪除掉了。結(jié)果如圖4.11所示,即元素3被刪掉了。4.1.3數(shù)組函數(shù)圖4.11“刪除數(shù)組元素”函數(shù)使用示例4.1.3數(shù)組函數(shù)【例4.5】
“初始化數(shù)組”函數(shù)。
例4.5的VI的程序框圖和前面板如圖4.12所示。其中,第1個(gè)“初始化數(shù)組”函數(shù)(擺放位置在上的)創(chuàng)建了一個(gè)長(zhǎng)度(大?。?的一維數(shù)組,且其中的每個(gè)元素都是1;第2個(gè)“初始化數(shù)組”函數(shù)創(chuàng)建了一個(gè)5行3列的二維數(shù)組,且其每個(gè)元素都是2。4.1.3數(shù)組函數(shù)圖4.12“初始化數(shù)組”函數(shù)使用示例4.1.3數(shù)組函數(shù)【例4.6】
“創(chuàng)建數(shù)組”函數(shù)。
在圖4.13所示VI的程序框圖面板上,基于兩個(gè)一維數(shù)組常量,利用“創(chuàng)建數(shù)組”函數(shù)生成了一個(gè)新數(shù)組。其中,擺放位置在上的“創(chuàng)建數(shù)組”函數(shù)的“連接輸入”選項(xiàng)是是勾選的,可實(shí)現(xiàn)將兩個(gè)一維數(shù)組串接起來(lái),生成一個(gè)新的一維數(shù)組。而擺放位置在下的“創(chuàng)建數(shù)組”函數(shù)的“連接輸入”選項(xiàng)是未選擇的,其實(shí)現(xiàn)的是將兩個(gè)一維數(shù)組作為元素,生成另一個(gè)新的二維數(shù)組,并以原最長(zhǎng)的一維數(shù)組的大小作為新建的二維數(shù)組相應(yīng)維的大小,且對(duì)缺少的部位進(jìn)行自動(dòng)補(bǔ)0。4.1.3數(shù)組函數(shù)圖4.13“創(chuàng)建數(shù)組”函數(shù)使用示例printthepresentationandmakeitintoafilmtobeusedinawiderfield4.2簇4.2簇
簇是多個(gè)元素的集合。與數(shù)組不同的是,簇的元素可以是不同類型的,類似于C語(yǔ)言的結(jié)構(gòu)體。利用簇,可以在編寫(xiě)VI的過(guò)程中將分布在程序框圖上不同位置的數(shù)據(jù)元素組合起來(lái),這樣可以減少連線的擁擠程度;另外,還可以減少子VI中連接端子的數(shù)量。在實(shí)際應(yīng)用中,當(dāng)要對(duì)一個(gè)所編寫(xiě)的測(cè)量?jī)x器VI的若干個(gè)不同性質(zhì)參數(shù)進(jìn)行配置時(shí),就可以使用簇來(lái)實(shí)現(xiàn)[1-4]。4.2.1簇的創(chuàng)建LabVIEW中簇的創(chuàng)建方法與創(chuàng)建數(shù)組相類似,共有如下3個(gè)步驟。1)首先要?jiǎng)?chuàng)建簇框架,如圖4.14所示。同數(shù)組一樣,簇框架也有兩種:一種是簇輸
入控件和簇顯示控件框架,位于“控件”選板→“新式”→“數(shù)組、矩陣與簇”子選板上;另一種是簇常量框架,位于“函數(shù)”選板→“編程”→“簇、類與變體”子選板上。2)向簇框架中添加元素,如圖4.14所示。3)通過(guò)拖曳確定簇的可視大小,如圖4.15所示。4.2.1簇的創(chuàng)建圖4.14在前面板上創(chuàng)建簇4.2.1簇的創(chuàng)建圖4.15在程序框圖面板上創(chuàng)建簇常量4.2.1簇的創(chuàng)建
在簇框架上右擊,彈出的快捷菜單中“自動(dòng)調(diào)整大小”子菜單中的4個(gè)選項(xiàng)可以用來(lái)調(diào)整簇框架的大小以及簇元素的布局?!盁o(wú)”選項(xiàng)不對(duì)簇框架做出調(diào)整;“調(diào)整為匹配大小”選項(xiàng)用于調(diào)整簇框架的大小,以適合所包含的所有元素;“水平排列”選項(xiàng)在水平方向壓縮排列所有元素;“垂直排列”選項(xiàng)則在垂直方向壓縮排列所有元素。如圖4.16所示。4.2.1簇的創(chuàng)建圖4.16更改簇的外觀大小4.2.1簇的創(chuàng)建
簇中元素的順序是可以改變的。具體的操作是,在簇框架上右擊鼠標(biāo),彈出快捷菜單,選擇“重新排序簇中控件”,則就打開(kāi)了簇元素順序的編輯狀態(tài)。如圖4.17所示,簇元素上有兩個(gè)序號(hào),左側(cè)的為新序號(hào);右側(cè)的是舊序號(hào)。第一次,單擊簇元素之一,改變其序號(hào);隨后,對(duì)其他的元素重復(fù)上述過(guò)程,直到改好所有元素的順序?yàn)橹?,單擊上方工具欄中的,“確認(rèn)”按鈕,保存此次所做的修改。圖4.17簇的順序4.2.2簇函數(shù)下表分別是“捆綁”函數(shù)、“解除捆綁”函數(shù)、“按名稱捆綁”函數(shù)和“按名稱解除捆綁”函數(shù)。序號(hào)名稱圖標(biāo)和連接端口功能說(shuō)明1捆綁(1)將所有輸入元素打包成簇(2)替換成新簇2解除捆綁將簇中的元素分解出來(lái)3按名稱捆綁(1)將標(biāo)簽替換“輸入簇”中的元素;替換結(jié)果從“輸出簇”提供出來(lái)(2)“輸入簇”必須接入,且要求其至少1個(gè)元素有標(biāo)簽4按名稱解除捆綁(1)將輸入簇中的元素按標(biāo)簽解除捆綁(2)在函數(shù)輸出端,只能獲得擁有標(biāo)簽的簇元素4.2.2簇函數(shù)【例4.7】“捆綁”函數(shù)。
例4.7的VI的程序框圖和前面板如圖4.18和圖4.19所示。從圖4.18所示的程序框圖可見(jiàn),該VI利用“捆綁”函數(shù)將3個(gè)常量(字符串常量abc、數(shù)值常量1和布爾常量True)打包成一個(gè)簇,其結(jié)果經(jīng)前面板的“輸出簇”控件顯示出來(lái)?!袄墶焙瘮?shù)的另一個(gè)功能是替換成新簇,圖4.18所示的VI展示了這一用法。已知一個(gè)簇,其中的元素為字符串常量ABC、數(shù)值常量2和布爾常量False,將這個(gè)簇提供給“捆綁”函數(shù),該函數(shù)就會(huì)自動(dòng)識(shí)別輸入簇中各元素的數(shù)據(jù)類型,并在輸入端口上給出標(biāo)示,比如“捆綁”函數(shù)的第一個(gè)連線輸入口上有abc的標(biāo)示,表示簇中的第—個(gè)元素為字符串常量。然后,將一個(gè)新字符串常量abc連至“捆綁”函數(shù)的第1個(gè)輸入端口上,布爾常量True連至第3個(gè)輸入端口上,再將“捆綁”函數(shù)的輸出結(jié)果賦給“輸出簇”控件。運(yùn)行此VI可以看到,初始簇中的大寫(xiě)ABC被小寫(xiě)abc所替換,同時(shí),布爾常量也由False變?yōu)榱薚rue。4.2.2簇函數(shù)圖4.18捆綁函數(shù)應(yīng)用示例1圖4.19捆綁函數(shù)應(yīng)用示例24.2.2簇函數(shù)【例4.8】
“解除捆綁”函數(shù)。
例4.8給出了“解除捆綁”函數(shù)的使用示例,實(shí)現(xiàn)它功能的VI的程序框圖和前面板如圖4.20所示。從程序框圖可見(jiàn),一個(gè)簇常量連至“解除捆綁”函數(shù)上,該函數(shù)對(duì)輸入簇進(jìn)行解包,并會(huì)自動(dòng)辨識(shí)出各元素的數(shù)據(jù)類型,最后將各元素連至相對(duì)應(yīng)的顯示控件,在前面板上顯示出來(lái)。4.2.2簇函數(shù)圖4.20解除捆綁函數(shù)應(yīng)用示例4.2.2簇函數(shù)“按名稱捆綁”函數(shù)的功能是按照簇中元素的名稱替換簇中的元素,其功能類似于捆綁函數(shù)。與捆綁函數(shù)不同的是,該函數(shù)是按名稱,而不是按簇中元素的位置引用簇元素。
“按名稱捆綁”函數(shù),相當(dāng)于“捆綁”函數(shù)的替換成新簇的功能。使用該函數(shù)時(shí),要求“輸入簇”必須接入,且至少其中的1個(gè)元素有標(biāo)簽。下面通過(guò)例4.9學(xué)習(xí)該函數(shù)的使用。4.2.2簇函數(shù)【例4.9】“按名稱捆綁”函數(shù)。
例4.9給出了“按名稱捆綁”函數(shù)使用示例的VI,其程序框圖和前面板如圖4.21所示。從程序框圖可見(jiàn),一個(gè)簇常量連至“按名稱捆綁”函數(shù),該函數(shù)會(huì)自動(dòng)辨識(shí)出輸入簇中有標(biāo)簽的元素;將新元素連至“按名稱捆綁”函數(shù)的輸入端口上,替換生成的新簇會(huì)通過(guò)輸出簇控件在前面板顯示出來(lái)。運(yùn)行此VI可以看出,新元素(abc和true,已經(jīng)替換了原簇常量中的相應(yīng)元素(ABC和false)。4.2.2簇函數(shù)圖4.21“按名稱捆綁”函數(shù)應(yīng)用示例4.2.2簇函數(shù)“按名稱解除捆綁”函數(shù)的功能是將輸入簇中的元素按標(biāo)簽解除捆綁。在該函數(shù)的輸出端,只能獲得帶有標(biāo)簽的簇元素。下面將通過(guò)例4.10學(xué)習(xí)該函數(shù)的使用。【例4.10】“按名稱解除捆綁”函數(shù)。例4.10給出了“按名稱解除捆綁”函數(shù)使用示例的VI,它的程序框圖和前面板如圖4.22所示。在它的程序框圖上,是將一個(gè)簇常量連至“按名稱解除捆綁”函數(shù),該函數(shù)會(huì)自動(dòng)辨識(shí)出輸入簇中帶有標(biāo)簽的元素,然后,再將解包出的元素連至相對(duì)應(yīng)的顯示控件上。4.2.2簇函數(shù)圖4.22“按名稱解除捆綁”函數(shù)使用示例與“按名稱捆綁”函數(shù)一樣,“按名稱解除捆綁”函數(shù)初建時(shí)也只有一個(gè)輸出端子。單擊其標(biāo)簽域,可彈出帶有標(biāo)簽的簇元素列表;為看到這些帶有不同標(biāo)簽的簇元素,必須對(duì)其分別建立相應(yīng)的顯示控件。printthepresentationandmakeitintoafilmtobeusedinawiderfield4.3波形4.3.1波形數(shù)據(jù)的組成1.變體LabVIEW提供了變體數(shù)據(jù)作為“通用”數(shù)據(jù)類型,是多種數(shù)據(jù)類型的容器。將其他數(shù)據(jù)轉(zhuǎn)換為變體時(shí),變體將存儲(chǔ)數(shù)據(jù)和數(shù)據(jù)的原始類型,保證日后可將變體數(shù)據(jù)反向轉(zhuǎn)換。例如,如將字符串?dāng)?shù)據(jù)轉(zhuǎn)換為變體,變體將存儲(chǔ)字符串的文本,以及說(shuō)明該數(shù)據(jù)是從字符串轉(zhuǎn)換而來(lái)的信息。
另外,變體數(shù)據(jù)類型還可以存儲(chǔ)數(shù)據(jù)屬性。屬性定義的是數(shù)據(jù)及變體數(shù)據(jù)類型所存儲(chǔ)的數(shù)據(jù)信息。例如,需要知道某個(gè)數(shù)據(jù)的創(chuàng)建時(shí)間,可將該數(shù)據(jù)存儲(chǔ)為變體數(shù)據(jù)并添加—個(gè)時(shí)間屬性,用于存儲(chǔ)時(shí)間字符串。屬性數(shù)據(jù)可以是任意數(shù)據(jù)類型,也可以從變體數(shù)據(jù)中刪除或獲取屬性。4.3.1波形數(shù)據(jù)的組成變體數(shù)據(jù)類型主要應(yīng)用在ActiveX技術(shù)中,以方便不同程序之間的數(shù)據(jù)交互。變體數(shù)據(jù)類型在前面板位于“控件”→“新式”→“變體與類”子選板以及“經(jīng)典”→“經(jīng)典數(shù)組、矩陣與簇”子選板中,如圖4.23所示。圖4.23“控件”選板中的“變體”子選板4.3.1波形數(shù)據(jù)的組成
任何數(shù)據(jù)類型都可以轉(zhuǎn)化為變體類型數(shù)據(jù),然后為其添加屬性,并在需要時(shí)轉(zhuǎn)換為原來(lái)的數(shù)據(jù)類型。為了完成變體數(shù)據(jù)的操作及屬性的添加、刪除和獲取,LabVIEW提供了變體函數(shù),位于“函數(shù)”→“編程”→“簇、類與變體”→“變體”子選板中,如圖4.24所示。圖4.24“函數(shù)”選板中的“變體”函數(shù)4.3.1波形數(shù)據(jù)的組成表4.3列出了變體函數(shù)的功能說(shuō)明圖標(biāo)函數(shù)名稱說(shuō)明轉(zhuǎn)換為變體轉(zhuǎn)換任意LabVIEW數(shù)據(jù)為變體數(shù)據(jù)。也可用于將ActiveX數(shù)據(jù)轉(zhuǎn)換為變體數(shù)據(jù)變體至數(shù)據(jù)轉(zhuǎn)換轉(zhuǎn)換變體數(shù)據(jù)為L(zhǎng)abVIEW可顯示或處理的數(shù)據(jù)類型。也將變體數(shù)據(jù)轉(zhuǎn)換為ActiveX數(shù)據(jù)變體常量變體常量用于傳遞空變體至程序框圖,不能設(shè)置變體常量的值平化字符串至變體轉(zhuǎn)換將平化數(shù)據(jù)轉(zhuǎn)換為變體數(shù)據(jù)變體至平化字符串轉(zhuǎn)換轉(zhuǎn)換變體數(shù)據(jù)為平化的字符串以及代表數(shù)據(jù)類型的整數(shù)數(shù)組。ActiveX變本數(shù)據(jù)無(wú)法平化設(shè)置變體屬性用于創(chuàng)建或改變變體數(shù)據(jù)的屬性或值獲取變體屬性依據(jù)是否連接名稱參數(shù),從單個(gè)屬性的所有屬性或值中獲取名稱和值刪除變體屬性刪除變體數(shù)據(jù)中的屬性和值數(shù)據(jù)類型解析子菜單內(nèi)VI和函數(shù)用于獲取和比較變體或其他數(shù)據(jù)類型中保存的數(shù)據(jù)類型4.3.1波形數(shù)據(jù)的組成
為了進(jìn)一步理解變體數(shù)據(jù)類型及函數(shù),圖4.25所示為一個(gè)變體的應(yīng)用示例。在該示例中,首先將一個(gè)數(shù)組轉(zhuǎn)化為數(shù)組變體,然后為其添加一個(gè)“創(chuàng)建時(shí)間”屬性,并獲取數(shù)組信息,最后再將變體轉(zhuǎn)換為數(shù)據(jù)類型—數(shù)組。圖4.25變體應(yīng)用示例4.3.1波形數(shù)據(jù)的組成2時(shí)間標(biāo)識(shí)時(shí)間標(biāo)識(shí)又稱時(shí)間戳,是LabVIEW中記錄時(shí)間的專用數(shù)據(jù)類型。找到時(shí)間標(biāo)識(shí)常量的路徑是“函數(shù)”選板→“編程”→“定時(shí)”→“時(shí)間標(biāo)識(shí)常量”。而找到時(shí)間標(biāo)識(shí)的輸入控件和顯示控件的路徑為:“控件”選板→“新式”→“數(shù)值”子選板。時(shí)間標(biāo)識(shí)路徑、常量及控件如圖4.26所示。圖4.26時(shí)間標(biāo)識(shí)常量及控件4.3.1波形數(shù)據(jù)的組成3波形數(shù)據(jù)波形,可以理解為是一種特殊的簇。在LabVIEW中,波形含有4個(gè)組成部分,分別是t0、dt、“數(shù)組Y”和“屬性”。其中,t0為時(shí)間標(biāo)識(shí),表示波形數(shù)據(jù)的時(shí)間起點(diǎn);dt為雙精度浮點(diǎn)類型,表示波形數(shù)據(jù)中相鄰數(shù)據(jù)點(diǎn)之間的時(shí)間間隔,以秒為單位;Y是雙精度浮點(diǎn)數(shù)組,它按時(shí)間順序給出整個(gè)波形的所有數(shù)據(jù)點(diǎn);“屬性”是變體類型,用于攜帶任意的屬性信息。波形控件位于“控件”選板→“新式”→“I/O”子選板上。LabVIEW利用“波形”控件和“數(shù)字波形”控件分別存放模擬波形數(shù)據(jù)和數(shù)字波形數(shù)據(jù),兩種控件位于“控件”→“新式”→“I/O”子選板上、“控件”→“銀色”→“I/O”子選板上以及“經(jīng)典”→“經(jīng)典I/O”和“經(jīng)典”→“經(jīng)典數(shù)值”子選板中。將控件放置在前面板,默認(rèn)情況下只顯示3個(gè)元素(t0、dt和Y),在右鍵彈出的快捷菜單中選擇“顯示項(xiàng)”→“屬性”,可顯示屬性欄。4.3.2波形函數(shù)表4.4列出了幾種典型的波形函數(shù),它們位于“函數(shù)”選板→“編程”→“波形”子選板上。其中,在默認(rèn)情況下,“創(chuàng)建波形”函數(shù)只有“波形”和“波形成分”(Y輸入端子);拖拽該函數(shù)圖標(biāo)的邊框,可增加dt、t0和Attributes(變體類型)輸入端子;如果“波形”端子接入了已有的波形數(shù)據(jù),則該函數(shù)會(huì)根據(jù)經(jīng)“波形成分”接入的參數(shù)修改波形數(shù)據(jù)并輸出?!矮@取波形成分”函數(shù)的功能是將波形數(shù)據(jù)解包。默認(rèn)情況下,該函數(shù)圖標(biāo)只有Y輸出端子;拖曳該函數(shù)圖標(biāo)的邊框,可增加dt、t0和屬性(變體類型)的輸出端子;也可以單擊輸出端子,在彈出的菜單中選擇希望從該輸出端子輸出波形的哪個(gè)成分(數(shù)組Y、dt或者t0等)。4.3.2波形函數(shù)表4.4波形函數(shù)序號(hào)名稱圖標(biāo)和連接端口功能說(shuō)明1創(chuàng)建波形創(chuàng)建波形或修改已有波形2獲取波形成分將波形數(shù)據(jù)解包3設(shè)置波形屬性為輸入的波形數(shù)據(jù)添加“名稱”和“值”的屬性4獲取波形屬性獲取波形中名為“名稱”的屬性4.3.2波形函數(shù)【例4.11】
生成一段隨機(jī)信號(hào),并將其波形在前面板上顯示出來(lái)。
例4.11VI的程序框圖和前面板分別如圖4.27和圖4.28所示,它的功能是先利用For循環(huán)生成一個(gè)一維數(shù)組,該數(shù)組元素為隨機(jī)數(shù),數(shù)組長(zhǎng)度為100。隨后,將該數(shù)組賦給“創(chuàng)建波形”函數(shù)的Y數(shù)組的輸入端子,并為“創(chuàng)建波形”函數(shù)的dt輸入端子賦一個(gè)常量l,表示數(shù)組中兩兩相鄰元素之間的時(shí)間間隔為1s。最后,將生成的波形提供給波形圖控件和波形顯示控件。利用波形圖控件,可以直觀地看到所生成的這段隨機(jī)信號(hào)隨時(shí)間變化的情況;利用波形顯示控件,則可以看到所產(chǎn)生的隨機(jī)信號(hào)波形的具體信息。4.3.2波形函數(shù)圖4.27例4.11的VI程序框圖圖4.28例4.11的VI前面板4.3.2波形函數(shù)【例4.12】
生成一段正弦波形,要求其頻率為50Hz,幅值為2,初相位為60度。
這個(gè)例子的VI的程序框圖如圖4.29所示,其前面板見(jiàn)圖4.30。對(duì)該VI需要說(shuō)明的有:①它調(diào)用了“正弦”函數(shù),此函數(shù)經(jīng)“函數(shù)”選板→“數(shù)學(xué)”→“初等與特殊函數(shù)”,在“三角函數(shù)”子選板上可以找到;②幅值輸入控件中的數(shù)值是單個(gè)值,將其乘以For循環(huán)生成的數(shù)值,即幅值輸入控件中的數(shù)值將依次與數(shù)組中的每個(gè)元素相乘;③正弦波形的周期為其頻率的倒數(shù),波形中任意兩個(gè)相鄰數(shù)據(jù)點(diǎn)之間的時(shí)間間隔dt等于周期除以“點(diǎn)數(shù)/周期”。很容易理解,如果將For循環(huán)中的“正弦”函數(shù)換成其他函數(shù),那該VI就可以產(chǎn)生其他函數(shù)的波形。4.3.2波形函數(shù)圖4.29例4.12VI的程序框圖圖4.30例4.12VI的前面板4.3.2波形函數(shù)在例4.12中,是通過(guò)調(diào)用一個(gè)For循環(huán)和一個(gè)“正弦”函數(shù),再通過(guò)一些運(yùn)算,得到的一段正弦波形。由于在構(gòu)建測(cè)量或測(cè)試系統(tǒng)時(shí)經(jīng)常需要生成仿真信號(hào),所以,LabVIEW中提供有一系列典型的函數(shù),利用它們,可以直接生成相應(yīng)函數(shù)的波形。這些函數(shù)經(jīng)“函數(shù)”選板→“信號(hào)處理”→“波形生成”子選板可以找到,如圖4.31所示。圖4.31“波形生成”子選板4.3.2波形函數(shù)【例4.13】
生成一段正弦波形,并獲得它的波形成分。
例4.13的VI的程序框圖如圖4.32所示??梢?jiàn),其中調(diào)用“正弦波形”函數(shù)產(chǎn)生一段正弦波,然后再利用“獲取波形成分”函數(shù)將該正弦波形的各個(gè)成分提取出來(lái),波形成分分別是dt和“數(shù)組Y”。圖4.32獲取波形成分示例VI的程序框圖4.3.2波形函數(shù)
要產(chǎn)生正弦波形,需要設(shè)置以下幾個(gè)參數(shù):①頻率;②幅值;③相位;④采樣信息。其中,前三個(gè)參數(shù)很容易理解,下面重點(diǎn)介紹一下采樣信息。
采樣信息是一個(gè)簇類型的數(shù)據(jù),它包含了兩個(gè)元素,分別是采樣率和樣本數(shù)。在生成仿真信號(hào)時(shí),采樣率是指1s時(shí)間內(nèi)生成多少個(gè)數(shù)據(jù);而樣本數(shù)是指一共生成多少個(gè)數(shù)據(jù);這兩個(gè)數(shù)據(jù)配合起來(lái),就是生成數(shù)據(jù)的時(shí)間長(zhǎng)度,即“樣本數(shù)/采樣率”秒。在圖4.33所示的該VI的前面板上可以看到,設(shè)置的采樣率是1000,樣本數(shù)是1000,如此,就會(huì)生成1s的數(shù)據(jù)。請(qǐng)注意,由于現(xiàn)在只是在計(jì)算機(jī)中生成了一段仿真信號(hào),所以,雖然波形圖的橫軸顯示的是時(shí)間,但卻沒(méi)有實(shí)際意義。運(yùn)行此VI后會(huì)發(fā)現(xiàn),1s的數(shù)據(jù)瞬間就生成了。只有當(dāng)把這段仿真信號(hào)輸出到計(jì)算機(jī)外,比如用示波器去觀察這段信號(hào)時(shí),才會(huì)感受到信號(hào)波形的時(shí)間長(zhǎng)度,這時(shí),時(shí)間長(zhǎng)短就有意義了。4.3.2波形函數(shù)除上述外,在“波形”子選板上,還提供有很多波形函數(shù),且還有不少用于實(shí)現(xiàn)波形測(cè)量和波形發(fā)生的子VI,學(xué)習(xí)者可以在需要使用時(shí)自己選擇。其中,一些波形函數(shù)較為簡(jiǎn)單,可在框圖上雙擊其函數(shù)圖標(biāo),打開(kāi)它的對(duì)應(yīng)VI窗口,查看了解其內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)和原理。圖4.33獲取波形成分示例VI的前面板4.3.2波形函數(shù)另外,在實(shí)際的數(shù)據(jù)采集中,常常要從多個(gè)數(shù)據(jù)通道的每個(gè)通道中各采集一個(gè)波形。對(duì)此,數(shù)據(jù)采集函數(shù)輸出的數(shù)據(jù)類型就是一個(gè)波形數(shù)組,即由波形數(shù)據(jù)作為元素組
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 去健身房鍛煉身體的說(shuō)說(shuō)范文
- 2025年粵教新版九年級(jí)歷史上冊(cè)月考試卷含答案
- 2025年華師大新版八年級(jí)物理下冊(cè)月考試卷含答案
- 2025年新世紀(jì)版選擇性必修二化學(xué)下冊(cè)月考試卷
- 2025年滬科新版九年級(jí)地理下冊(cè)月考試卷含答案
- 2025年湘師大新版必修2歷史上冊(cè)階段測(cè)試試卷
- 2025年華東師大版九年級(jí)科學(xué)上冊(cè)階段測(cè)試試卷含答案
- 2025年外研版八年級(jí)歷史上冊(cè)階段測(cè)試試卷
- 2025年粵教版必修1語(yǔ)文上冊(cè)階段測(cè)試試卷
- 2025年北師大版選修2地理上冊(cè)月考試卷含答案
- 2024年高純氮化鋁粉體項(xiàng)目可行性分析報(bào)告
- 公司發(fā)展能力提升方案
- 電梯安全守則及乘客須知
- IT硬件系統(tǒng)集成項(xiàng)目質(zhì)量管理方案
- 《容幼穎悟》2020年江蘇泰州中考文言文閱讀真題(含答案與翻譯)
- 水上水下作業(yè)應(yīng)急預(yù)案
- API520-安全閥計(jì)算PART1(中文版)
- 2023年廣東省廣州地鐵城際鐵路崗位招聘筆試參考題庫(kù)附帶答案詳解
- 商務(wù)提成辦法
- 直流電機(jī)電樞繞組簡(jiǎn)介
- GB/T 19889.5-2006聲學(xué)建筑和建筑構(gòu)件隔聲測(cè)量第5部分:外墻構(gòu)件和外墻空氣聲隔聲的現(xiàn)場(chǎng)測(cè)量
評(píng)論
0/150
提交評(píng)論