




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第3 3章章 數(shù)組、簇和波形數(shù)組、簇和波形3.1 數(shù)組數(shù)組 3.2 簇簇 3.3 波形波形 習(xí)題習(xí)題3 3.1 數(shù)數(shù) 組組3.1.1 數(shù)組的創(chuàng)建數(shù)組的創(chuàng)建在LabVIEW中,數(shù)組由數(shù)據(jù)類型、數(shù)據(jù)索引和數(shù)據(jù)3部分組成,數(shù)據(jù)類型隱含在數(shù)據(jù)中。數(shù)組控件數(shù)組的創(chuàng)建:u第一步,從Controls模板中創(chuàng)建數(shù)組框架;u第二步,定義數(shù)組類型:第一種方法:直接將面板上已有的控制器或指示器拖入數(shù)組框架內(nèi);第二種方法:在空數(shù)組框架內(nèi)右鍵彈出菜單選擇所需類型對(duì)象,放置在框架內(nèi);圖3-3 數(shù)組的創(chuàng)建過程圖3-4 改變顯示數(shù)組元素的個(gè)數(shù) 圖3-5 添加數(shù)組的維數(shù)3.1.3 利用循環(huán)結(jié)構(gòu)創(chuàng)建數(shù)組利用循環(huán)結(jié)構(gòu)創(chuàng)建數(shù)組圖3
2、-7 使用嵌套的For循環(huán)創(chuàng)建二維數(shù)組 數(shù)組之間的算術(shù)運(yùn)算數(shù)組之間的算術(shù)運(yùn)算 LabVIEW一個(gè)非常大的優(yōu)勢(shì)就是它可以根據(jù)輸入數(shù)據(jù)一個(gè)非常大的優(yōu)勢(shì)就是它可以根據(jù)輸入數(shù)據(jù)的類型判斷算子的運(yùn)算方法,即自動(dòng)實(shí)現(xiàn)多態(tài)的類型判斷算子的運(yùn)算方法,即自動(dòng)實(shí)現(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è)新的數(shù)個(gè)數(shù)組中索引相同的元素進(jìn)行運(yùn)算形成一個(gè)新的數(shù)組。組。b) 若大小不一樣,則忽略較大數(shù)組多出來的部分。若大小不一樣,則忽略較大數(shù)組
3、多出來的部分。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ù)組。 圖3-8 Array子模板3.1.4 數(shù)組函數(shù)數(shù)組函數(shù)1Array Size【例3.1】 求一維數(shù)組、二維數(shù)組和三維數(shù)組的長(zhǎng)度。 數(shù)組數(shù)組長(zhǎng)度圖3-10 例3.1的前面板和程序框圖2Index Array圖3-12 添加索引端口【例3.2】 從一個(gè)二維數(shù)組中取出某一行的所有元素、某一列的所有元素和某一個(gè)元素。3Replace Array Subset【例3.3】 替換二維數(shù)組中的某一列元素。4Ins
4、ert Into Array 【例3.4】 在二維數(shù)組中插入一行元素。5Delete From Array【例3.5】 在一個(gè)三維數(shù)組中刪除指定列數(shù)的元素。6Initialize Array 圖3-22 例3.6的前面板和程序框圖7Build Array u合并多個(gè)數(shù)組或給數(shù)組添加元素,形成一個(gè)新數(shù)組u兩種組合方式:當(dāng)Concatenate Inputs被選中時(shí),輸出appended array是將所有輸入連接,其維數(shù)與所有輸入?yún)?shù)中的最高維數(shù)相同。當(dāng)Concatenate Inputs被關(guān)閉時(shí),所有輸入?yún)?shù)的維數(shù)必須相等,輸出比輸入高一維。【例3.7】 利用Build Array節(jié)點(diǎn)創(chuàng)建數(shù)組
5、。圖3-24 例3.7的前面板和程序框圖8Array Subset從輸入數(shù)組array中取出由index和length端口指定的元素。圖3-26 例3.8的前面板和程序框圖 9Rotate 1D Array 將輸入的一維數(shù)組元素循環(huán)右移n個(gè)位置,即將最后n個(gè)元素移至最前面?!纠?.9】 將一維數(shù)組循環(huán)左移3位和右移3位。10Reverse 1D Array 將輸入的一維數(shù)組倒序輸出,輸入數(shù)組可以是任意類型的數(shù)組?!纠?.10】 將一維數(shù)組倒序輸出。11Search 1D Array從輸入的一維數(shù)組中檢索值為element的元素,由端口start index確定檢索的初始位置。如果找到該元素,則
6、返回該元素的索引值,否則返回-1?!纠?.11】 在一維數(shù)組中檢索一個(gè)字母的位置。12Split 1D Array將輸入的一維數(shù)組array從index設(shè)置的索引處分成兩個(gè)一維數(shù)組。當(dāng)index的值小于等于0時(shí),first subarray輸出為空;當(dāng)index的值大于數(shù)組長(zhǎng)度時(shí),second subarray輸出為空。【例3.12】 將一維數(shù)組分成兩部分。 13Sort 1D Array 將輸入的一維數(shù)組按照升序排列?!纠?.13】 將一維數(shù)組按照升序和降序分別排列。14Array Max & Min返回輸入任意維數(shù)組的最大值和最小值,以及它們?cè)跀?shù)組中的位置。當(dāng)數(shù)組中有多個(gè)元素同為最
7、大值或同為最小值時(shí),只輸出第一個(gè)值所在的位置?!纠?.14】 查找數(shù)組中的最大值和最小值 15Transpose 2D Array 將輸入的二位數(shù)組轉(zhuǎn)置,即求矩陣的轉(zhuǎn)置矩陣。16Interpolate 1D Array 其功能是進(jìn)行線性插值?!纠?.15】 在一維數(shù)組中進(jìn)行線性插值。17Threshold 1D Array 求一維數(shù)組的門限值,是線性插值的逆過程。18Interleave 1D Arrays 將輸入的一維數(shù)組進(jìn)行插接。首先將所有一維數(shù)組的第0個(gè)元素按順序放在輸出數(shù)組中;再將所有一維數(shù)組的第1個(gè)元素按順序放在輸出數(shù)組中,依次類推。如果輸入數(shù)組的長(zhǎng)度不同,則以最小長(zhǎng)度為準(zhǔn)對(duì)其他數(shù)組
8、進(jìn)行截取。【例3.16】 將3個(gè)不同長(zhǎng)度的一維數(shù)組插接。19Decimate 1D Array實(shí)現(xiàn)的功能與Interleave 1D Arrays節(jié)點(diǎn)相反?!纠?.17】 將一個(gè)一維數(shù)組分解成多個(gè)一維數(shù)組。20Reshape Array將n維數(shù)組轉(zhuǎn)化成m維數(shù)組數(shù)出。輸出數(shù)組的維數(shù)由dimension size端口的個(gè)數(shù)決定。 【例3.18】 將一個(gè)二維數(shù)組轉(zhuǎn)化為三維數(shù)組。3.1.5 多態(tài)性多態(tài)性多態(tài)性(Polymorphism)是LabVIEW的一些函數(shù)(如加、減、乘和除)接受不同維數(shù)和類型輸入的能力。具有這種能力的函數(shù)是多態(tài)函數(shù),圖3-49顯示了乘函數(shù)的一些多態(tài)性的不同組合。圖3-48中,第
9、一個(gè)組合是兩個(gè)標(biāo)量相乘;第二個(gè)組合是一個(gè)標(biāo)量和一個(gè)一維數(shù)組相乘;第三個(gè)組合是兩個(gè)長(zhǎng)度不同的一維數(shù)組相乘,相乘后的數(shù)組維數(shù)取較短的一個(gè)數(shù)組的長(zhǎng)度。圖3-49 乘函數(shù)的多態(tài)性組合3.2 簇簇u簇是簇是LabVIEW中比較獨(dú)特的一個(gè)概念,但實(shí)際上它就中比較獨(dú)特的一個(gè)概念,但實(shí)際上它就對(duì)應(yīng)于對(duì)應(yīng)于C語言等文本編程語言中的結(jié)構(gòu)體變量。語言等文本編程語言中的結(jié)構(gòu)體變量。 3.2.1 簇的創(chuàng)建簇的創(chuàng)建簇的創(chuàng)建和數(shù)組的創(chuàng)建類似,首先建立框架,然后向框架中添加元素。簇控制器和指示器的框架位于ControlsAll ControlsArray & Cluster子模板上,簇常量框架位于FunctionsA
10、ll FunctionsCluster子模板上。3.2.2 簇的順序簇的順序簇元素按照放入簇框架中的先后順序排序,并且依次標(biāo)記為0、1、2、。當(dāng)從簇中刪除元素時(shí),剩余元素的順序?qū)⒆詣?dòng)調(diào)整。改變簇中已有元素排列順序的方法是在簇邊緣彈出的快捷菜單中選擇Record Controls in Cluster,這樣進(jìn)入簇元素順序的編輯狀態(tài)。3.2.3 簇的功能函數(shù)簇的功能函數(shù)1、解包函數(shù)(、解包函數(shù)(Unbundle)l 該函數(shù)將簇解開從而獲得簇中各個(gè)元素的值。缺省情況下,它會(huì)根據(jù)輸入的簇自動(dòng)調(diào)整輸出端子的數(shù)目和數(shù)據(jù)類型,并按照簇內(nèi)部元素索引的順序排列?!纠?.19】 將一個(gè)簇中的元素分別取出。2、打包
11、函數(shù)(、打包函數(shù)(Bundle)l該函數(shù)用來為Cluster中各元素賦值?!纠?.20】 將不同數(shù)據(jù)類型的元素組成一個(gè)新簇;替換簇中的某些元素。3、按元素名稱解包函數(shù)(、按元素名稱解包函數(shù)(Unbundle By Name)l 普通的解包函數(shù)解包后只有將鼠標(biāo)移到輸出端子上才能看到輸出元素的名稱,程序的可讀性不高。該函數(shù)可以根據(jù)名稱有選擇的輸出簇內(nèi)部元素。其中元素名稱就是指元素的Label?!纠?.21】 Unbundle By Name節(jié)點(diǎn)應(yīng)用舉例。4、按元素名稱打包函數(shù)(、按元素名稱打包函數(shù)(bundle By Name)l 該函數(shù)通過簇內(nèi)部元素名稱來給簇內(nèi)部元素賦值。參考簇是必須的,該函數(shù)
12、通過參考簇來獲得元素名稱?!纠?.22】 Bundle By Name節(jié)點(diǎn)應(yīng)用舉例。5Build Cluster ArrayBuild Cluster Array節(jié)點(diǎn)的圖標(biāo)如圖3-65所示,該節(jié)點(diǎn)的功能是先將component端口輸入的n個(gè)參數(shù)打包成簇,然后組成元素為簇的一維數(shù)組。輸入?yún)?shù)可以都是數(shù)組,但要求維數(shù)必須相等。6Index & Bundle Cluster ArrayIndex & Bundle Cluster Array節(jié)點(diǎn)的圖標(biāo)如圖3-66所示,輸入?yún)?shù)為任意數(shù)據(jù)類型的一維數(shù)組,將輸入數(shù)組中的元素按照索引組成簇,然后將這些簇組成一維數(shù)組輸出。【例3.23】 In
13、dex & Bundle Cluster Array節(jié)點(diǎn)應(yīng)用舉例。 3.2.4 簇和數(shù)組互換簇和數(shù)組互換1Cluster To Array輸入簇cluster的所有元素必須是相同數(shù)據(jù)類型,該節(jié)點(diǎn)將所有簇元素按照順序組合成一維數(shù)組輸出。2Array To Cluster功能與Cluster To Array節(jié)點(diǎn)的功能相反,即將輸入數(shù)組中的元素按順序打包成簇輸出。簇操作函數(shù)使用示例簇操作函數(shù)使用示例 3.3 波波 形形在信號(hào)采集、處理和分析過程中經(jīng)常使用波形數(shù)據(jù)類型。波形的結(jié)構(gòu)和簇非常相似,是一種特殊類型的簇。LabVIEW提供了很多功能強(qiáng)大的節(jié)點(diǎn)用來處理波形數(shù)據(jù)。3.3.1 Time S
14、tamp和和VariantTime Stamp是LabVIEW中記錄時(shí)間的專用數(shù)據(jù)類型。Time Stamp控制器和指示器位于ControlsAll ControlsNumeric子模板上,Time Stamp Constant位于FunctionsAll FunctionsNumeric子模板上,如圖3-70所示。Time Stamp的初始值是0。在Time Stamp對(duì)象彈出的快捷菜單中選擇Data OperationSet Time and Data,打開對(duì)話框,可以在此修改日期和時(shí)間。圖3-70 Time Stamp控件和常量Variant是一種特殊的數(shù)據(jù)類型,任何數(shù)據(jù)類型都可以轉(zhuǎn)化為
15、Variant類型,然后為其添加屬性。Variant類型的操作節(jié)點(diǎn)都在FunctionsAll FunctionsCommunicationDataSocketVariant子模板上,如圖3-71所示,節(jié)點(diǎn)依次為:To Variant、Variant To Data、Variant To Flattened String、Flattened String To Variant、Get Variant Attribute、Set Variant Attribute、Delete Variant Attribute。圖3-71 Variant操作節(jié)點(diǎn)3.3.2 波形數(shù)據(jù)的組成波形數(shù)據(jù)的組成LabV
16、IEW中的波形數(shù)據(jù)有兩種:模擬波形數(shù)據(jù)(Waveform Data)和數(shù)字波形數(shù)據(jù)(Digital Waveform Data)。模擬波形數(shù)據(jù)用來表示模擬信號(hào)的波形;數(shù)字波形用來表示二進(jìn)制數(shù)據(jù)。通常二者都是由4個(gè)元素組成,即起始時(shí)間、Delta t、波形數(shù)據(jù)和屬性。(1) 起始時(shí)間t0。起始時(shí)間t0為Time Stamp類型,表示波形數(shù)據(jù)的時(shí)間起點(diǎn)。起始時(shí)間可以用來同步多個(gè)波形,也可以用來確定兩個(gè)波形的相對(duì)時(shí)間。(2) Delta t dt。dt是雙精度浮點(diǎn)數(shù),表示一個(gè)波形中相鄰兩個(gè)數(shù)據(jù)點(diǎn)之間的時(shí)間間隔,以s為單位。(3) 波形數(shù)據(jù)Y。Y是雙精度浮點(diǎn)數(shù)組,按照時(shí)間先后順序給出整個(gè)波形的所有數(shù)據(jù)
17、點(diǎn)。(4) 屬性Attributes。屬性包含了波形的數(shù)據(jù)信息,如波形名稱、數(shù)據(jù)采集設(shè)備的名稱等。Attributes是Variant數(shù)據(jù)類型,用于攜帶任意的屬性信息。LabVIEW利用前面板對(duì)象Waveform和Digital Waveform來分別存放模擬波形數(shù)據(jù)和數(shù)字波形數(shù)據(jù),Waveform和Digital Waveform在ControlsAll ControlsI/O子模板上。默認(rèn)情況下只顯示3個(gè)元素(t0、dt和Y),在右鍵彈出的快捷菜單中選擇Visible ItemsAttributes可顯示屬性,如圖3-72所示。圖3-72 波形控件3.3.3 波形數(shù)據(jù)的操作節(jié)點(diǎn)波形數(shù)據(jù)的操
18、作節(jié)點(diǎn)波形數(shù)據(jù)的操作節(jié)點(diǎn)位于FunctionsAll FunctionsWaveform子模板上,如圖3-73所示。這些節(jié)點(diǎn)分為基本波形運(yùn)算節(jié)點(diǎn)、模擬波形數(shù)據(jù)運(yùn)算節(jié)點(diǎn)、數(shù)字波形數(shù)據(jù)運(yùn)算節(jié)點(diǎn)和波形數(shù)據(jù)的存取節(jié)點(diǎn)4部分。這里主要介紹幾個(gè)最基本的波形操作節(jié)點(diǎn)。1Get Waveform ComponentsGet Waveform Components節(jié)點(diǎn)的圖標(biāo)如圖3-74所示,其功能是將波形數(shù)據(jù)的4個(gè)組成元素分離。在默認(rèn)情況下,該節(jié)點(diǎn)只有t0端口,拖動(dòng)圖標(biāo)的上邊沿或下邊沿,或者在輸出端口的右鍵彈出快捷菜單中選擇Add Element,可以增加dt、Y、attributes輸出端口。使用Operat
19、e Value(操作工具)可以彈出元素選擇快捷菜單,或在右鍵彈出的菜單中選擇Select Item,利用該下拉菜單可切換4個(gè)元素的輸出。圖3-73 波形數(shù)據(jù)操作節(jié)點(diǎn)圖3-74 Get Waveform Components節(jié)點(diǎn)的圖標(biāo)2Build Waveform Build Waveform節(jié)點(diǎn)的圖標(biāo)如圖3-75所示,該節(jié)點(diǎn)的功能是創(chuàng)建一個(gè)新的數(shù)據(jù)波形,或修改已有的波形。默認(rèn)情況該節(jié)點(diǎn)只有waveform和t0輸入端口,增加端口和選擇輸入端口輸入元素名稱的方法與Get Waveform Components節(jié)點(diǎn)相同。如果waveform端口沒有接入數(shù)據(jù),則節(jié)點(diǎn)根據(jù)輸入?yún)?shù)建立新的波形數(shù)據(jù);如果waveform端口接入已有波形數(shù)據(jù),則節(jié)點(diǎn)根據(jù)waveform component端口的輸入修改已有波形數(shù)據(jù)中的值。3Set Waveform AttributeSet Waveform Attribute節(jié)點(diǎn)的圖標(biāo)如圖3-76所示,其功能是為波形數(shù)據(jù)添加或修改屬性。當(dāng)由name端口指定的屬性名稱已經(jīng)存在時(shí),節(jié)點(diǎn)將根據(jù)value端口的輸入修改這個(gè)屬性,replace
溫馨提示
- 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年中國(guó)開坑卡板市場(chǎng)調(diào)查研究報(bào)告
- 2025年垂準(zhǔn)儀項(xiàng)目合作計(jì)劃書
- 2025年中國(guó)女式高爾夫服裝市場(chǎng)調(diào)查研究報(bào)告
- 2025年串聯(lián)無功補(bǔ)償裝置項(xiàng)目發(fā)展計(jì)劃
- 2025年中國(guó)凍煮田螺肉市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)便攜式冰箱市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)二/三通導(dǎo)熱油旋塞閥門市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)不銹鋼蒸柜市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)105℃鋁電解電容器市場(chǎng)調(diào)查研究報(bào)告
- 2025年重組抗原診斷試劑項(xiàng)目建議書
- 三年級(jí)語文下冊(cè)《火燒云》課件
- MOOC 思辨式英文寫作-南開大學(xué) 中國(guó)大學(xué)慕課答案
- 殘疾人輔具申請(qǐng)
- MOOC 旅游學(xué)概論-中國(guó)地質(zhì)大學(xué)(武漢) 中國(guó)大學(xué)慕課答案
- 2023人教版小學(xué)美術(shù)四年級(jí)上冊(cè)期末試卷含部分答案(三套)
- 承包經(jīng)營(yíng)食堂日控管周排查月調(diào)度記錄和管理表
- 培訓(xùn)課件:超前地質(zhì)預(yù)報(bào)
- 留守兒童心理健康課件
- 跨國(guó)公司的外匯風(fēng)險(xiǎn)管理分析-以TCL科技為例
- hellp綜合征護(hù)理課件
- 污水源熱泵方案
評(píng)論
0/150
提交評(píng)論