




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單元4數(shù)組和圖形程序設(shè)計(jì)4.1數(shù)組4.2簇4.3波形4.4圖形顯示4.5綜合案例4:模擬示波器返回4.1數(shù)組數(shù)組是同類型元素的集合。一個(gè)數(shù)組可以是一維或者多維,如果必要,每維最多可有231-1個(gè)元素(21億)。一維數(shù)組是一行或一列數(shù)據(jù),可以描繪平面上的一條曲線。二維數(shù)組由若干行或若干列數(shù)據(jù)組成,可以在一個(gè)平面上描繪多條曲線。三維數(shù)組由若干頁(yè)組成,每一頁(yè)是一個(gè)二維數(shù)組??梢酝ㄟ^(guò)數(shù)組索引訪問(wèn)其中的每個(gè)元素。對(duì)數(shù)組的訪問(wèn)是通過(guò)數(shù)組索引進(jìn)行的,索引值的范圍是0~n-1,其中n是數(shù)組中元素的個(gè)數(shù)。如圖4-1所示的二維數(shù)組“0.77517”的行索引值是2,列索引值是3。下一頁(yè)返回4.1數(shù)組4.1.1創(chuàng)建數(shù)組1.在前面板上創(chuàng)建數(shù)組控件一般說(shuō)來(lái),創(chuàng)建一個(gè)數(shù)組有兩件事要做,首先要建一個(gè)數(shù)組的“殼”(shell),然后在這個(gè)殼中置入數(shù)組元素(數(shù)或字符串等),數(shù)組的元素可以是數(shù)據(jù)、字符串等,也可以是簇,但不能是數(shù)組,所有元素的數(shù)據(jù)類型必須一致。這些元素必須同時(shí)都是輸入控件或者顯示控件。在控件選板上選擇Controls→ArrayMatrix&Cluster→Array選項(xiàng),將數(shù)組外框放入前面板,然后選擇一個(gè)數(shù)值控件放在數(shù)組外框內(nèi),也可把前面板上已有控件拖進(jìn)數(shù)組外框內(nèi)。如圖4-2所示放入一個(gè)數(shù)值型輸入控件,得到一個(gè)數(shù)值型一維數(shù)組輸入控件。左邊是索引框,右邊是數(shù)組框。上一頁(yè)下一頁(yè)返回4.1數(shù)組定位工具移動(dòng)到索引上時(shí),索引框四周出現(xiàn)藍(lán)色方形手柄。光標(biāo)移動(dòng)到某個(gè)手柄上,它的形狀會(huì)變?yōu)殡p向箭頭。橫向拖動(dòng)索引框左側(cè)手柄,可改變索引框大小。上下拖動(dòng)下面的手柄,可以增減索引框數(shù)量,從而改變數(shù)組的維度,如圖4-3所示。定位工具移動(dòng)到數(shù)組元素框,也會(huì)出現(xiàn)藍(lán)色手柄,手柄出現(xiàn)在數(shù)組元素框,拖動(dòng)手柄可改變數(shù)組元素顯示區(qū)大小,如圖4-4(a)所示。手柄出現(xiàn)在數(shù)組外框上,拖動(dòng)手柄可增減顯示的數(shù)組元素?cái)?shù)目。一維數(shù)組只能向一個(gè)方向(行或列)改變數(shù)組元素顯示的個(gè)數(shù),如圖4-4(b)所示。二維數(shù)組可以向行和列兩個(gè)方向改變?cè)獋€(gè)數(shù),如圖4-4(c)所示。上一頁(yè)下一頁(yè)返回4.1數(shù)組2.在程序框圖中創(chuàng)建數(shù)組常量如果需要用一個(gè)數(shù)組作為程序的數(shù)據(jù)源,可以選擇Functions→Programming→Array→ArrayConstant選項(xiàng),將它放置在程序框圖中,然后在數(shù)組框中放置數(shù)值常量、布爾常量或字符串常量。圖4-5顯示了在數(shù)組框放入字符串常量,創(chuàng)建字符數(shù)組的例子,圖4-5(a)所示是一個(gè)數(shù)組殼,圖4-5(b)所示為已經(jīng)置入了字符串元素,圖4-5(c)所示反映了數(shù)組的第0個(gè)元素為ABC,后兩個(gè)元素均為空。上一頁(yè)下一頁(yè)返回4.1數(shù)組3.數(shù)組元素賦值用上述方法創(chuàng)建的數(shù)組是空的,新創(chuàng)建的數(shù)組常量為空,從外觀上看數(shù)組元素顯示為暗色,要根據(jù)需要用操作工具或編輯工具進(jìn)行逐個(gè)賦值。若隔過(guò)前面的元素為后面的元素賦值,則前面元素根據(jù)數(shù)據(jù)類型自動(dòng)賦一個(gè)默認(rèn)值。例如,數(shù)值型為0,布爾型為F,字符串型為空字符串。數(shù)值型數(shù)組默認(rèn)為32位整型,如要改成其他類型,可右擊數(shù)組元素,在快捷菜單中選擇Representation命令,然后選擇一種類型。假設(shè)選擇SGL(單精度浮點(diǎn)型),如圖4-6所示,若元素框太窄而無(wú)法顯示完全,可以拉寬元素框,如圖4-6所示。上一頁(yè)下一頁(yè)返回4.1數(shù)組4.數(shù)組元素的顯示通過(guò)數(shù)組的索引框可以選擇數(shù)組如何顯示它的元素。行索引的值決定從哪一行開(kāi)始顯示。列索引的值決定從哪一列開(kāi)始顯示。直接在索引框輸入數(shù)字,或者單擊索引框左側(cè)的增減按鈕都可以改變索引值。在顯示出滾動(dòng)條的情況下,拖動(dòng)滾動(dòng)條也可以改變索引值,如圖4-7所示。上一頁(yè)下一頁(yè)返回4.1數(shù)組4.1.2自動(dòng)索引For循環(huán)和While循環(huán)可以自動(dòng)地在數(shù)組的上、下限范圍內(nèi)編制索引和進(jìn)行累計(jì),稱為自動(dòng)索引。在啟動(dòng)自動(dòng)索引功能以后,當(dāng)把某個(gè)外部節(jié)點(diǎn)的任何一維元素連接到循環(huán)邊框的某個(gè)輸入通道時(shí),該數(shù)組的各個(gè)元素就將按順序一個(gè)一個(gè)地輸入到循環(huán)中。循環(huán)會(huì)對(duì)一維數(shù)組中的數(shù)據(jù),或者二維數(shù)組中的一維數(shù)組等編制索引。在輸出通道也要執(zhí)行同樣的工作———數(shù)據(jù)按順序進(jìn)入一維數(shù)組,一維數(shù)組進(jìn)入二維數(shù)組,依此類推。在默認(rèn)情況下,對(duì)于每個(gè)連接到For循環(huán)的數(shù)組都會(huì)執(zhí)行自動(dòng)索引功能。可以禁止這個(gè)功能的執(zhí)行,方法是右擊通道(輸入數(shù)組進(jìn)入循環(huán)的位置),在彈出的快捷菜單中選擇DisableIndexing命令,如圖4-8所示。上一頁(yè)下一頁(yè)返回4.1數(shù)組4.1.3數(shù)組函數(shù)LabVIEW提供了很多用于操作數(shù)組的功能函數(shù),選擇Functions→Programming→Array選項(xiàng),進(jìn)行相應(yīng)操作即可。其中包括ReplaceArrayElement、Search1DArray、Sort1DArray、Reverse1DArray和MultiplyArrayElements等。1.數(shù)組大小函數(shù)ArraySize數(shù)組大小函數(shù)功能是得到數(shù)組的大小。圖4-13所示為數(shù)組大小函數(shù)的應(yīng)用示例,輸入端array連接原始數(shù)組,輸出端size(s)輸出數(shù)組大小。上一頁(yè)下一頁(yè)返回4.1數(shù)組2.索引數(shù)組函數(shù)IndexArray索引數(shù)組函數(shù)用于從數(shù)組中提取元素。圖4-14和圖4-15所示為索引數(shù)組函數(shù)的應(yīng)用示例,輸入端array連接原始數(shù)組;輸入端index用于array連接一維數(shù)組,表示提取第幾個(gè)元素;輸入端index(row)/index(col)用于array連接二維數(shù)組,表示提取第幾行或第幾列,或第幾行第幾列的某個(gè)元素。輸出端element表示提取出的元素值;輸出端subarray表示提取出的行或列。上一頁(yè)下一頁(yè)返回4.1數(shù)組3.替換數(shù)組子集函數(shù)ReplaceArraySubset替換數(shù)組子集函數(shù)功能是通過(guò)索引定位一個(gè)元素或行/列,然后用另外的數(shù)據(jù)替換它。輸入端array連接原始數(shù)組;輸入端index用于array連接一維數(shù)組,表示對(duì)第幾個(gè)元素進(jìn)行替換;輸入端index(row)/index(col)用于array連接二維數(shù)組,表示對(duì)第幾行/列進(jìn)行替換,或?qū)Φ趲仔械趲琢械哪硞€(gè)元素進(jìn)行替換。輸入端newelement/subarray用于替換的新元素或行/列。輸出端outputarray輸出被替換后的數(shù)組。替換后的數(shù)組與原來(lái)數(shù)組的大小和數(shù)據(jù)類型是完全一致的。圖4-16所示是用替換數(shù)組子集函數(shù)對(duì)二維數(shù)組第1行進(jìn)行替換,并對(duì)第2行第3列的元素進(jìn)行替換。上一頁(yè)下一頁(yè)返回4.1數(shù)組4.數(shù)組插入函數(shù)InsertIntoArray數(shù)組插入函數(shù)的功能是在數(shù)組中插入元素/行/列。輸入端array連接原始數(shù)組;輸入端index用于array連接一維數(shù)組,表示在第幾個(gè)元素前插入新元素;輸入端index(row)/index(col)用于array連接二維數(shù)組,表示在第幾行/列前插入新行/列;輸入端newelement/subarray用于插入的新元素或行/列。輸出端outputarray輸出插入后的數(shù)組。對(duì)于二維數(shù)組,索引參數(shù)只能連接index(row)或index(col)之一,即要么插入行要么插入列。向下拖動(dòng),可插入多個(gè)相同的元素/行/列。圖4-17所示為在二維數(shù)組第2列前插入兩個(gè)相同的列。上一頁(yè)下一頁(yè)返回4.1數(shù)組5.刪除數(shù)組元素函數(shù)DeleteFromArray刪除數(shù)組元素函數(shù)用于刪除數(shù)組中某些元素。輸入端array連接原始數(shù)組;輸入端length表示刪除長(zhǎng)度(若array連接一維數(shù)組,表示刪除的元素個(gè)數(shù);若array連接二維數(shù)組,表示刪除的行數(shù)或列數(shù));輸入端index用于array連接一維數(shù)組,表示從第幾個(gè)元素開(kāi)始刪除;輸入端index(row)/index(col)用于array連接二維數(shù)組,表示從第幾行/列開(kāi)始刪除。輸出端arrayw/subsetdeleted輸出刪除后剩下的數(shù)組;輸出端deletedportion輸出被刪除的部分。圖4-18表示對(duì)二維數(shù)組從第1行開(kāi)始刪除兩行。上一頁(yè)下一頁(yè)返回4.1數(shù)組6.初始化數(shù)組函數(shù)InitializeArray和創(chuàng)建數(shù)組函數(shù)BuildArray初始化數(shù)組函數(shù)用于建立一個(gè)所有元素都相同的數(shù)組。輸入端element為數(shù)組元素值;輸入端dimensionsize為數(shù)組大小,若是多維數(shù)組,可用定位工具向下拖以增加參數(shù)輸入端。輸出端initializedarray輸出初始化后的數(shù)組。圖4-19表示創(chuàng)建一個(gè)有2行3列,所有元素都是a的字符常量數(shù)組。相比之下,創(chuàng)建數(shù)組函數(shù)功能要豐富很多。在圖4-20中,圖4-20(a)用單個(gè)數(shù)值創(chuàng)建只有一個(gè)元素的一維數(shù)組。圖4-20(b)用兩個(gè)數(shù)值創(chuàng)建只有兩個(gè)元素的一維數(shù)組。圖4-20(c)將兩個(gè)一維數(shù)組合成二維數(shù)組。上一頁(yè)下一頁(yè)返回4.1數(shù)組圖4-20(c)若在函數(shù)圖標(biāo)上右擊,在彈出的快捷菜單中,選擇ConcatenateInputs命令,則將兩個(gè)一維數(shù)組連接成一個(gè)長(zhǎng)的一維數(shù)組,如圖4-21所示。在函數(shù)輸入端連接一個(gè)一維數(shù)組和若干單個(gè)數(shù)值,則默認(rèn)選擇ConcatenateInputs命令且不能修改,所有元素自動(dòng)追加到數(shù)組后面,如圖4-22所示。7.數(shù)組子集函數(shù)ArraySubset數(shù)組子集函數(shù)用于從一個(gè)數(shù)組中提取子集。輸入端array連接原始數(shù)組;輸入端index表示從哪一行/列開(kāi)始提?。惠斎攵耍欤澹睿纾簦璞硎咎崛〉男校袛?shù)。輸出端subarray輸出提取出的數(shù)組子集。圖4-23提取出從第1行開(kāi)始的兩行和從第2列開(kāi)始的兩列的交集。上一頁(yè)下一頁(yè)返回4.1數(shù)組8.數(shù)組最大值與最小值函數(shù)ArrayMax&Min數(shù)組最大值與最小值函數(shù)用于從一個(gè)數(shù)組中找到最大值與最小值。輸入端array連接原始數(shù)組;輸出端maxvalue輸出最大值,輸出端maxindex(es)輸出最大值對(duì)應(yīng)的下標(biāo)索引,輸出端minvalue輸出最小值;輸出端minindex(es)輸出最小值對(duì)應(yīng)的下標(biāo)索引。如果array連接一維數(shù)組,則索引值為單個(gè)數(shù)值,如圖4-24所示。如果array連接二維數(shù)組,則索引為一維數(shù)組,第一個(gè)值是行索引,第二個(gè)值是列索引,如圖4-25所示。上一頁(yè)下一頁(yè)返回4.1數(shù)組9.重排數(shù)組維數(shù)函數(shù)ReshapeArray重排數(shù)組維數(shù)函數(shù)將數(shù)組按照給定的維數(shù)大小重新排列成新的數(shù)組輸出。輸入端array連接原始數(shù)組;輸入端dimensionsize輸入維數(shù)大小。輸出端outputarray輸出重排后的數(shù)組。在圖4-26中,圖4-26(a)將一維數(shù)組構(gòu)建成一個(gè)2行3列的二維數(shù)組,數(shù)值不足時(shí)補(bǔ)0。圖4-26(b)將二維數(shù)組構(gòu)建成一個(gè)長(zhǎng)度為8的一維數(shù)組。圖4-26(c)將3行4列的二維數(shù)組構(gòu)建成2行5列的二維數(shù)組。10.一維數(shù)組操作函數(shù)(1)排序一維數(shù)組函數(shù)Sort1DArray。這個(gè)函數(shù)將一維數(shù)組按升序排列,如圖4-27所示。上一頁(yè)下一頁(yè)返回4.1數(shù)組(2)搜索一維數(shù)組函數(shù)Search1DArray。在一維數(shù)組中搜索指定元素,輸出對(duì)應(yīng)索引值,找到元素對(duì)應(yīng)的索引值為1,如果找不到則返回-1,輸入端startindex表示從第幾個(gè)元素開(kāi)始搜索。具體應(yīng)用如圖4-28所示。(3)拆分一維數(shù)組函數(shù)Split1DArray。函數(shù)功能是將一維數(shù)組由指定的位置開(kāi)始分拆為兩個(gè)子數(shù)組。輸入端index表示以此為界進(jìn)行拆分,第二個(gè)數(shù)組從此開(kāi)始;輸出端firstsubarray輸出拆分后的第一個(gè)子數(shù)組;輸出端secondsubarray輸出拆分后的第二個(gè)子數(shù)組,如圖4-29所示。上一頁(yè)下一頁(yè)返回4.1數(shù)組(4)反轉(zhuǎn)一維數(shù)組函數(shù)ReversedArray。將一維數(shù)組所有元素順序首尾顛倒,如圖4-30所示。(5)移位一維數(shù)組函數(shù)Rotate1DArray。根據(jù)移位系數(shù)重新排列一維數(shù)組。輸入端n表示移位系數(shù),如果n>0,將最后n個(gè)元素移到最前;如果n<0,將最前n個(gè)元素移到最后,如圖4-31所示。(6)交織一維數(shù)組函數(shù)Interleave1DArray。從輸入的n個(gè)一維數(shù)組中,按索引值順序依次取出各個(gè)元素,交織成一個(gè)新的一維數(shù)組。新數(shù)組的長(zhǎng)度為m×n,m為輸入數(shù)組中最短的長(zhǎng)度,如圖4-32所示。上一頁(yè)下一頁(yè)返回4.1數(shù)組11.二維數(shù)組轉(zhuǎn)置函數(shù)Transpose2DArray二維數(shù)組轉(zhuǎn)置函數(shù)用于將原先m×n的二維數(shù)組轉(zhuǎn)置成n×m的數(shù)組。輸入端array連接原始m×n的數(shù)組,輸出端transposedarray輸出轉(zhuǎn)置后的n×m的數(shù)組,如圖4-33所示。上一頁(yè)返回4.2簇簇(cluster)是LabVIEW提供的另一種數(shù)據(jù)類型,它的元素可以是不同類型的數(shù)據(jù)。它類似于C語(yǔ)言中的struct。簇用于把分布在程序框圖中各個(gè)位置的數(shù)據(jù)元素組合起來(lái),這樣可以減少連線的擁擠混亂程度。4.2.1創(chuàng)建簇在前面板上放置一個(gè)簇殼(clustershell)就創(chuàng)建了一個(gè)簇。然后可以將前面板上的任何對(duì)象放在簇中,如數(shù)字控件、開(kāi)關(guān)、字符串控件,但必須都是輸入控件或都是顯示控件。若不同,會(huì)自動(dòng)按照先放進(jìn)去的元素轉(zhuǎn)換,如圖4-36所示;也可以在程序框圖上用類似的方法創(chuàng)建簇常數(shù)。下一頁(yè)返回4.2簇4.2.2簇函數(shù)1.解除捆綁函數(shù)Unbundle解除捆綁函數(shù)將簇中各個(gè)元素分開(kāi)輸出。原先只有兩個(gè)輸出端,連接一個(gè)簇之后,接線端數(shù)量自動(dòng)增減到與簇的元素?cái)?shù)一致。各元素在接線端出現(xiàn)的順序與邏輯順序一致(放入簇的順序),如圖4-37所示。上一頁(yè)下一頁(yè)返回4.2簇2.捆綁函數(shù)Bundle捆綁函數(shù)可以將多個(gè)數(shù)據(jù)捆綁成一個(gè)簇。圖4-38(a)是將多個(gè)數(shù)據(jù)捆綁成一個(gè)簇,輸入接線端的數(shù)量是可以根據(jù)需要增減的。圖4-38(b)是將多個(gè)數(shù)據(jù)以及簇捆綁成一個(gè)新簇。圖4-38(c)將簇中的元素進(jìn)行替換,一旦原始簇連接到cluster端后,輸入端將自動(dòng)與簇元素匹配,替換時(shí)需要類型匹配,但如果是數(shù)值型可進(jìn)行強(qiáng)制轉(zhuǎn)換(如浮點(diǎn)型轉(zhuǎn)換成整型)。3.按名稱解除捆綁函數(shù)UnbundledByName按名稱解除捆綁函數(shù)可以按指定的元素名稱從簇中提取元素。在應(yīng)用時(shí)需要為元素設(shè)置相應(yīng)的標(biāo)簽作為名稱。在inputcluster端連接一個(gè)簇后,輸出接線端出現(xiàn)這個(gè)簇邏輯上第一個(gè)元素的名稱。在輸出名稱上單擊可以選擇輸出哪個(gè)元素??梢酝ㄟ^(guò)縮放增加輸出端,同時(shí)解析多個(gè)元素,甚至多次解析同一個(gè)元素,如圖4-39所示。上一頁(yè)下一頁(yè)返回4.2簇4.按名稱捆綁元素BundledByName按名稱捆綁元素可以按照簇中元素的名稱替換簇中的元素。在inputcluster端連接一個(gè)簇,輸入接線端出現(xiàn)這個(gè)簇邏輯上第一個(gè)元素的名稱??梢栽诿Q上單擊選擇替換的元素,也可以通過(guò)縮放改變替換的元素個(gè)數(shù),如圖4-40所示。5.創(chuàng)建簇?cái)?shù)組函數(shù)BuildClusterArray創(chuàng)建簇?cái)?shù)組函數(shù)可以將輸入多個(gè)相同類型的數(shù)據(jù)依次轉(zhuǎn)換成簇,然后連接成一個(gè)數(shù)組。將該數(shù)組稱為簇?cái)?shù)組,即數(shù)組中的每個(gè)元素都是一個(gè)簇,如圖4-41所示。上一頁(yè)下一頁(yè)返回4.2簇6.索引與捆綁簇?cái)?shù)組函數(shù)Index&BundleClusterArray索引與捆綁簇?cái)?shù)組函數(shù)可以將輸入多個(gè)不同類型的一維數(shù)組,依次取出索引相同的元素捆綁成一個(gè)簇,所有的簇構(gòu)成一個(gè)一維簇?cái)?shù)組。簇?cái)?shù)組長(zhǎng)度與輸入數(shù)組中長(zhǎng)度最短的一個(gè)相符,長(zhǎng)數(shù)組最后多余的數(shù)據(jù)被忽略,如圖4-42所示。7.數(shù)組至簇轉(zhuǎn)換函數(shù)和簇至數(shù)組轉(zhuǎn)換函數(shù)這兩個(gè)函數(shù)同時(shí)存在于數(shù)組子選板Functions→Programming→Array和簇子選板Functions→Programming→Cluster。它們的應(yīng)用如圖4-43所示。上一頁(yè)返回4.3波形波形(waveform)可以理解為一種簇的變形,它不能算是一種有普遍意義的數(shù)據(jù)類型,它的元素的數(shù)量和類型是固定的,但非常實(shí)用。選擇Controls→Modern→I/O→Waveform和DigitalWaveform選項(xiàng),可以使用波形數(shù)據(jù)控件。其中Waveform代表一般波形數(shù)據(jù)控件,而DigitalWaveform代表數(shù)字波形控件,專門用于顯示0/1數(shù)字波形圖。將波形數(shù)據(jù)控件放置在前面板,在波形顯示控件上右擊,在彈出的快捷菜單中選擇VisibleItems→attributes命令,可顯示屬性元素,如圖4-46所示。下一頁(yè)返回4.3波形波形數(shù)據(jù)控件攜帶的數(shù)據(jù)包含了時(shí)間波形的基本信息,包括數(shù)據(jù)采集的起始時(shí)間t0、時(shí)間間隔dt、波形數(shù)據(jù)y和屬性,因此可以直接作為趨勢(shì)圖和圖表的輸入。橫坐標(biāo)代表時(shí)間,縱坐標(biāo)代表Y值,如圖4-47所示。選擇Functions→Programming→Waveform選項(xiàng),在函數(shù)子選板中可以使用基本波形操作函數(shù)。高級(jí)波形分析函數(shù)位于SignalProcessing函數(shù)子選板中,包括波形生成、波形調(diào)理和波形測(cè)量3個(gè)子選板。上一頁(yè)返回4.4圖形顯示圖形化顯示具有直觀明了的優(yōu)點(diǎn),能夠增強(qiáng)數(shù)據(jù)的表達(dá)能力,許多實(shí)際儀器如示波器都提供了豐富的圖形顯示。圖形顯示對(duì)于虛擬儀器面板設(shè)計(jì)是一個(gè)重要的內(nèi)容。LabVIEW為此提供了豐富的功能。在前面的介紹中已經(jīng)接觸了這個(gè)問(wèn)題,現(xiàn)在較系統(tǒng)地介紹。4.4.1波形圖波形圖(graph)用于顯示測(cè)量值為均勻采集的一條或多條曲線。波形圖僅繪制單值函數(shù),在波形圖接收所有需要顯示的數(shù)據(jù)后一次性顯示在前面板窗口中,其顯示的圖形是穩(wěn)定的波形。在下一次接收數(shù)據(jù)時(shí),波形圖不保存上一次的歷史數(shù)據(jù),數(shù)據(jù)全部更新,在前面板窗口中只顯示當(dāng)前接收的數(shù)據(jù)。波形圖位于前面板控件選板中,可選擇Modern→Graph→WaveformGraph選項(xiàng)進(jìn)行相應(yīng)操作。下一頁(yè)返回4.4圖形顯示波形圖窗口默認(rèn)顯示的內(nèi)容包括圖形區(qū)、標(biāo)簽、圖例和刻度(X刻度和Y刻度),還有一些元素沒(méi)有顯示在前面板窗口中,右擊波形圖,在彈出的快捷菜單中,選擇VisibleItems命令,可以顯示這些元素,如圖4-49和圖4-50所示。1.波形圖設(shè)置(1)曲線圖例。曲線圖例可用來(lái)設(shè)置曲線的各種屬性,包括線形(實(shí)線、虛線、點(diǎn)畫線等)、線的粗細(xì)、線的顏色以及數(shù)據(jù)點(diǎn)的形狀等。(2)圖形工具選板。其可用來(lái)對(duì)曲線進(jìn)行操作,包括移動(dòng)、對(duì)感興趣的區(qū)域放大和縮小等。上一頁(yè)下一頁(yè)返回4.4圖形顯示(3)游標(biāo)圖例。其可用來(lái)設(shè)置游標(biāo)、移動(dòng)游標(biāo),幫助用戶用游標(biāo)直接從曲線上讀取感興趣的數(shù)據(jù)。在Graph控件上右擊,在彈出的快捷菜單中,選擇VisibleItems→CursorLegend命令,創(chuàng)建游標(biāo)圖例,在游標(biāo)圖例板上右擊,在彈出的快捷菜單中,選擇CreateCursor→Free命令??蓡螕艟庉嬘螛?biāo)名、游標(biāo)X或Y坐標(biāo)值。單擊游標(biāo)移動(dòng)器的4個(gè)角,可上下左右移動(dòng)游標(biāo)(默認(rèn)為鎖定),鎖定時(shí)按游標(biāo)移動(dòng)器時(shí)游標(biāo)不會(huì)移動(dòng),游標(biāo)名高亮顯示,按游標(biāo)移動(dòng)器可以移動(dòng)游標(biāo),如圖4-51所示。(4)刻度圖例。用來(lái)設(shè)置坐標(biāo)刻度的數(shù)據(jù)格式、類型(普通坐標(biāo)或?qū)?shù)坐標(biāo))、坐標(biāo)軸名稱以及刻度柵格的顏色等。上一頁(yè)下一頁(yè)返回4.4圖形顯示2.波形圖的導(dǎo)出圖像波形圖可以作為一個(gè)圖片導(dǎo)出,這樣便于在其他有圖片瀏覽、編輯功能的軟件中查看被監(jiān)測(cè)對(duì)象的狀況或直接引用圖片,導(dǎo)出方式是在波形圖表上右擊,在彈出的快捷菜單中,選擇ExportSimplifiedImage命令,彈出圖4-52所示的對(duì)話框。選中“Exporttoclipboard”單選按鈕,則圖片被復(fù)制到Windows剪貼板,可以直接粘貼到其他Windows應(yīng)用程序中;如果選中Savetofile單選按鈕,需要在下面的文本框中輸入保存文件的路徑。單擊Save按鈕后,圖4-53(a)所示的波形圖會(huì)被保存為圖4-53(b)所示的圖片。上一頁(yè)下一頁(yè)返回4.4圖形顯示3.波形圖的數(shù)據(jù)類型圖4-54顯示了波形圖可以接受的各種數(shù)據(jù)類型。圖4-54(a)所示,選擇SignalProcessing→SignalGeneration,選項(xiàng)調(diào)用函數(shù)選板中SineWave.vi,產(chǎn)生一個(gè)長(zhǎng)度為128的一維數(shù)組,可繪制一條包含128?jìng)€(gè)點(diǎn)的正弦曲線。圖4-54(b)所示,通過(guò)Bundle函數(shù)將x0(起始點(diǎn))、dx(步長(zhǎng))值和描繪曲線的數(shù)組y攢成一個(gè)簇,連接到波形圖的接線端上??稍O(shè)置x0和dx值。從橫坐標(biāo)0處開(kāi)始繪制曲線,每隔兩個(gè)坐標(biāo)點(diǎn)繪制一個(gè)點(diǎn),共2×128?jìng)€(gè)橫坐標(biāo)點(diǎn)。上一頁(yè)下一頁(yè)返回4.4圖形顯示圖4-54(c)所示,選擇SignalProcessing→SignalGeneration選項(xiàng),調(diào)用函數(shù)選板中SineWave和SquareWave兩個(gè)VI,產(chǎn)生兩個(gè)一維數(shù)組,用BuildArray函數(shù)合成一個(gè)二維數(shù)組,可一次繪制兩條曲線。圖4-54(d)給圖4-54(c)程序設(shè)置了x0和dx值。它給波形圖連接的數(shù)據(jù)是一個(gè)包含x0、dx和一個(gè)二維數(shù)組的簇。這種情況適用于多通道采樣率的相同采樣情況。圖4-54(e)所示,相當(dāng)于將兩個(gè)圖4-54(b)所示的簇做成一個(gè)簇?cái)?shù)組。這里為兩條曲線分別設(shè)置了x0和dx值。這種情況適用于多通道不同采樣率采樣的情況。上一頁(yè)下一頁(yè)返回4.4圖形顯示圖4-54(f)所示,選擇SignalProcessing→WaveformGeneration選項(xiàng),調(diào)用函數(shù)選板中SineWaveform和SquareWaveform兩個(gè)VI,合成一個(gè)波形數(shù)組,可一次繪制兩條曲線。圖4-54(g)所示,選擇SignalProcessing→SignalGeneration選項(xiàng),調(diào)用函數(shù)選板中SineWave和SquareWave兩個(gè)VI,產(chǎn)生兩個(gè)一維數(shù)組,合成一個(gè)簇?cái)?shù)組,可一次繪制兩條曲線。圖4-54(h)所示,程序只是給圖4-54(g)所示程序設(shè)置了x0和dx值。連接到波形圖輸入端數(shù)據(jù)為帶設(shè)置信息的簇?cái)?shù)組。上一頁(yè)下一頁(yè)返回4.4圖形顯示4.4.2波形圖表波形圖表(chart)的數(shù)據(jù)并沒(méi)有事先存在一個(gè)數(shù)組中,它是實(shí)時(shí)顯示的,為了能夠看到先前的數(shù)據(jù),波形圖表控件內(nèi)部含有一個(gè)顯示緩沖器,其中保留了一些歷史數(shù)據(jù)。這個(gè)緩沖器按照先進(jìn)先出的原則管理,其最大容量是1024個(gè)數(shù)據(jù)點(diǎn),可在波形圖標(biāo)上右擊,在彈出的快捷菜單中選擇ChartHistoryLength命令進(jìn)行修改。上一頁(yè)下一頁(yè)返回4.4圖形顯示1.波形圖表的刷新模式波形圖表顯示數(shù)據(jù)的方式是用縱坐標(biāo)表示數(shù)據(jù)值,用橫坐標(biāo)表示數(shù)據(jù)序號(hào),其中坐標(biāo)是可以線性或?qū)?shù)分布的。波形圖表采用逐個(gè)數(shù)據(jù)點(diǎn)描繪曲線,周期性地刷新顯示區(qū)。曲線有3種刷新模式:帶狀圖表、示波器圖表和掃描圖,如圖4-55所示。默認(rèn)的刷新模式是帶狀圖表。改變刷新模式可以選擇快捷菜單中的Advanced→UpdateMode命令進(jìn)行修改。(1)帶狀圖表(stripchart)。它與紙帶式圖表記錄儀類似,曲線從左到右連續(xù)繪制,當(dāng)新的數(shù)據(jù)點(diǎn)到達(dá)右部邊界時(shí),先前的數(shù)據(jù)點(diǎn)逐次左移,如圖4-55(a)所示。上一頁(yè)下一頁(yè)返回4.4圖形顯示(2)示波器圖表(scopechart)。它與示波器類似,曲線從左到右連續(xù)繪制,當(dāng)新的數(shù)據(jù)點(diǎn)到達(dá)右部邊界時(shí),清屏刷新,從左邊開(kāi)始新的繪制,速度較快,如圖4-55(b)所示。(3)掃描圖(sweepchart)。與示波器模式的不同在于當(dāng)新的數(shù)據(jù)點(diǎn)到達(dá)右部邊界時(shí),不清屏,而是在最左邊出現(xiàn)一條垂直掃描線,以它為分界線,將原有曲線逐點(diǎn)向右推,同時(shí)在左邊畫出新的數(shù)據(jù)點(diǎn),如此循環(huán)下去,如圖4-55(c)所示。2.波形圖表的數(shù)據(jù)類型圖4-56顯示了波形圖表可以接受的各種數(shù)據(jù)類型。上一頁(yè)下一頁(yè)返回4.4圖形顯示4.4.3XY圖用波形圖表和波形圖描繪曲線時(shí),其X坐標(biāo)值是測(cè)量點(diǎn)序號(hào)、時(shí)間間隔等,Y坐標(biāo)值是測(cè)量數(shù)據(jù)值。但是它并不適合描述Y值隨X值變化曲線。為此LabVIEW提供了XY圖這種圖形顯示控件。XY圖要求成對(duì)輸入x坐標(biāo)值和y坐標(biāo)值,用這些數(shù)據(jù)來(lái)描點(diǎn)繪出曲線。圖4-65顯示了XY圖可以接受的各種數(shù)據(jù)類型。圖形顯示控件選板還有一個(gè)ExpressXY圖。ExpressXY圖被放進(jìn)前面板時(shí)會(huì)在程序框圖自動(dòng)產(chǎn)生一個(gè)“BuildXYGraph”ExpressVI,它把數(shù)據(jù)轉(zhuǎn)換為適合XY圖的結(jié)構(gòu),圖4-66所示是它的一般用法。上一頁(yè)下一頁(yè)返回4.4圖形顯示4.4.4數(shù)字波形圖數(shù)字波形圖(digitalwaveformgraph)用數(shù)字信號(hào)的形式顯示數(shù)據(jù)。圖4-69所示面板上有一個(gè)輸入控件,共輸入了7個(gè)十進(jìn)制數(shù),還有一個(gè)二進(jìn)制顯示對(duì)象,顯示了這些十進(jìn)制數(shù)對(duì)應(yīng)的二進(jìn)制數(shù),最右邊是一個(gè)DigitalWaveformGraph。注意這個(gè)圖中數(shù)據(jù)應(yīng)當(dāng)從縱方向讀出,在橫坐標(biāo)上的刻度是數(shù)據(jù)的序號(hào)(0~6),其中最后一個(gè)數(shù)的序號(hào)是6,縱坐標(biāo)從下向上讀是11111111,第一個(gè)數(shù)的序號(hào)是0,其值從下向上讀是00000000,而第六個(gè)數(shù)(序號(hào)5)是00011110。上一頁(yè)返回4.5綜合案例4:模擬示波器4.5.1任務(wù)描述設(shè)計(jì)一個(gè)模擬示波器,該模擬示波器具備時(shí)基、Y軸移位、X軸移位的功能。前面板如圖4-70所示。4.5.2任務(wù)實(shí)施1.創(chuàng)建前面板打開(kāi)一個(gè)新的VI,按照?qǐng)D4-70所示創(chuàng)建前面板。(1)選擇Controls→Graph選項(xiàng),在前面板中放置一個(gè)波形圖。設(shè)置它的標(biāo)簽為WaveformGraph。(2)選擇Controls→Numeric選項(xiàng),在前面板放置兩個(gè)轉(zhuǎn)盤(dial)數(shù)值輸入控件和一個(gè)旋鈕(knob)數(shù)值輸入控件,標(biāo)簽分別修改為dx、x0、y0。下一頁(yè)返回4.5綜合案例4:模擬示波器(3)選擇Controls→Boolean選項(xiàng),在前面板放置停止按鈕(stopbutton),也可在程序框圖中右擊While循環(huán)結(jié)構(gòu)的條件端子,創(chuàng)建輸入控件。2.設(shè)計(jì)程序框圖按照?qǐng)D4-71所示設(shè)計(jì)程序框圖。(1)選擇Functions→Programming→Structure選項(xiàng),對(duì)WhileLoop進(jìn)行相應(yīng)操作。(2)SineWave.vi(選擇Functions→SignalProcessing→SignalGe
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聯(lián)營(yíng)協(xié)議合同范本石油
- 老年機(jī)構(gòu)捐贈(zèng)合同范本
- 買房子貸款合同范本
- 醫(yī)美加盟合同范本
- 中國(guó)茶文化的心得體會(huì)
- 機(jī)械制造基礎(chǔ)題庫(kù)與答案
- 個(gè)人技術(shù)入股合作協(xié)議書
- 企業(yè)蓋章勞動(dòng)合同范本
- 債分抵銷合同范本
- 原告主張借款合同范例
- 2025人教版一年級(jí)下冊(cè)數(shù)學(xué)教學(xué)進(jìn)度表
- DeepSeek教案寫作指令
- 休學(xué)復(fù)學(xué)申請(qǐng)書
- 北京2025年02月北京市地質(zhì)礦產(chǎn)勘查院所屬事業(yè)單位公開(kāi)招考工作人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- DeepSeek零基礎(chǔ)到精通手冊(cè)(保姆級(jí)教程)
- 瓷磚鋪貼勞務(wù)承包協(xié)議書
- 2025年四川司法警官職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 新建污水處理廠工程EPC總承包投標(biāo)方案(技術(shù)標(biāo))
- 《宏觀經(jīng)濟(jì)管理研究》課件
- 蘇教版五年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)教案設(shè)計(jì)
- 曲臂車作業(yè)安全技術(shù)交底
評(píng)論
0/150
提交評(píng)論