




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章數據類型與運算3.1數值型3.2布爾型3.3字符串型3.4局部和全局變量3.5數組3.6簇3.7波形綜合實訓小結習題
3.1數值型
數值型(Numeric)數據是LabVIEW中最基本的數據類型,直接用數字常量進行表達,如10、105、0.32等。程序的核心任務是處理數據,LabVIEW支持所有的常見數據類型,如數值型、布爾型、字符串、波形、數組、簇、輸入/輸出、路徑、時間、枚舉型、圖片等。數據類型決定數據的存儲空間大小與操作方式。程序框圖中每個接線端對數據類型都有一定的要求。數值型數據類型選板如圖3-1所示。
圖3-1數值型數據類型選板
3.1.1數值類型
數值型數據隨著精度和取值范圍的不斷擴大,占用的內存也不斷增大,因此,一般在設計程序時,在滿足取值范圍的前提下,盡可能選用取值范圍較小的數據類型。當變量的取值范圍不能確定時,可以選用取值范圍較大的數據類型以保證數據安全。基本數據類型如表3-1所示。
3.1.2數值型數據的設置
在前面板點擊“控件選板”→“新式”→“數值”,子模板中可以設置數值型數據,如圖3-2所示。選好數值型數據后單擊右鍵,選擇“屬性”,在數據類型當中可以對數據的長度和類型進行修改,如圖3-3所示。
圖3-2數值型數據屬性設置
圖3-3數值型數據類型設置
3.1.3數值計算函數
除了基本數據類型的設置,LabVIEW還提供了多種數值型數據的計算函數。在程序編程的面板下單擊右鍵,選擇“數值”選板,就能看到各種數值運算函數,如圖3-4所示。
圖3-4數值運算函數
表3-2是數值運算函數的基本說明。
如果連線兩個波形數據或動態數據類型至該函數,則函數可顯示錯誤輸入和錯誤輸出接線端,不能對兩個時間標識的值求和。相加的兩個矩陣的維數必須相同,否則,函數返回空矩陣。連線板可顯示該多態函數的默認數據類型,如圖3-5所示。圖3-5求和運算程序框圖
演示加函數處理不同數據類型的方法,如圖3-6所示。該方法同樣適用于包括復合運算在內的其他數值函數。“復合運算”函數可對兩個以上的輸入進行數值操作,如圖3-7所示。圖3-6數值加法運算前面板
圖3-7數值加法運算程序
3.2布爾型
3.2.1布爾型數據布爾(Boolean)控件代表一個布爾類型值,只能是True或false,它既可以代表按鈕輸入,也可以當成指示燈顯示進行信號輸出。程序框圖中,要對布爾量進行操作可以選擇“函數選板”→“編程”→“布爾”,得到“布爾”類型數據,如圖3-8所示。圖3-8布爾型數據選板
對于輸入型數據,單擊右鍵選擇“屬性”,可以在“操作”中選擇模擬真實開關的一種開關控制特性,如圖3-9所示。機械動作定義了用鼠標單擊按鈕或開關時,其值在什么時候發生數值變化。
圖3-9布爾型輸入操作選板
3.2.2布爾型函數
在程序面板選擇“布爾”可以看到布爾型運算函數,其中包含了與、或、非等運算,如圖3-10所示。
圖3-10布爾型函數選板
表3-3是布爾型運算函數的基本說明。
例如:演示“與”函數的操作,但比較的方法也同樣適用于包括復合運算在內的其他布爾函數。“復合運算”函數可對兩個以上的輸入進行布爾操作。布爾與運算前面板如圖3-11所示,布爾與運算程序如圖3-12所示。圖3-11布爾與運算前面板
圖3-12布爾與運算程序
3.3字符串型
字符串(String)是一系列可顯示的或不可顯示的ASCII碼字符的集合。程序中通常在以下情況用到字符串傳遞信息,創建簡單的文本信息或對話框提示。在這種情況下,我們也可以在中文操作系統中使用漢字。當存儲數據,數值型數據作為ASCII文件存盤時,必須先把它轉換為字符串。儀器通信,通常把數值型的數據作為字符串傳輸給儀器,然后再將字符串轉化為數字。
3.3.1字符串控件
在字符串控件中可以選擇字符串輸入和輸出控件。字符串控件選板如圖3-13所示,字符串控件前面板如圖3-14所示。
圖3-13字符串控件選板
圖3-14字符串控件前面板
使用鼠標右鍵單擊字符串控件,選擇屬性,可以對字符串類型的數據進行屬性設置,包括顯示樣式、標簽、標題等,如圖3-15所示。
圖3-15字符串屬性選板
3.3.2字符串函數
字符串在LabVIEW編程中會經常用到,因此LabVIEW內置了功能豐富的字符串函數用于字符串的處理,用戶不需要再像C語言中那樣為字符串的操作編寫繁瑣的程序。字符串控件包括輸入控件、顯示控件和下拉框,如圖3-16所示。圖3-16字符串函數選板
表3-4為字符串函數的基本說明。
1.字符串連接函數
字符串連接函數用來連接輸入字符串和一維字符串數組作為輸出字符串。對于數組輸入,該函數連接數組中的每個元素。右鍵單擊函數,在快捷菜單中選擇添加輸入,或調整函數大小,均可向函數增加輸入端。字符串連接函數接線說明如圖3-17所示。
圖3-17字符串連接函數接線說明
字符串連接函數常用于合并多個獨立的字符串為一個字符串,如圖3-18所示。字符串連接函數程序如圖3-19所示。圖3-18字符串連接函數前面板
圖3-19字符串連接函數程序
2.字符串截取函數
字符串截取函數用來返回輸入字符串的子字符串,從偏移量位置開始,包含長度個字符。連線板可顯示該多態函數的默認數據類型。偏移量指定字符串中的字符數值,函數在該字符數值后開始查找匹配。偏移量必須為數值,而且字符串中第一個字符的偏移量為0。如偏移量未連線或小于0,則函數將使用0作為偏移量。長度也必須為數值。如長度未連線,則默認值為字符串長度減去偏移量。子字符串如偏移量大于字符串的長度,或長度小于等于0,則值為空;如長度大于或等于字符串長度減去偏移量,則子字符串是從偏移量開始的剩余部分。字符串截取函數接線說明如圖3-20所示。圖3-20字符串截取函數接線說明
3.字符串長度函數
字符串長度函數通過長度返回字符串的字符長度(字節)。連線板可顯示該多態函數的默認數據類型。字符串可以是一個字符串或者只包含字符串的數組或簇。長度的結構與字符串一致。字符串長度函數前面板如圖3-21所示,程序如圖3-22所示。
圖3-21字符串長度函數前面板圖3-22字符串長度函數程序
4.替換子字符串函數
子字符串包含用于替換字符串中位于偏移量處的長度個字符的子字符串。偏移量確定輸入字符串中開始替換子字符串的位置。長度確定字符串中替換子字符串的字符數。如子字符串為空,則刪除從偏移量開始的長度個字符,結果字符串包含已經進行替換的字符串,并且替換子字符串包含字符串中替換的字符串。該函數從偏移量位置開始在字符串中刪除長度個字符,并使刪除的部分替換為子字符串。如長度為0,則替換子字符串函數在偏移量位置插入子字符串。如字符串為空,則該函數在偏移量位置刪除長度個字符。替換子字符串函數接線說明如圖3-23所示。圖3-23替換子字符串函數接線說明
5.轉換為大寫字母函數
轉換為大寫字母函數用來使字符串中的所有字母字符轉換為大寫字母,使字符串中的所有數字作為ASCII字符編碼處理。該函數不影響非字母表中的字符。連線板可顯示該多態函數的默認數據類型。字符串可以是字符串、字符串簇、字符串數組或字符串簇數組。所有大寫字母字符串的結構與字符串一致。如字符串為數值或數值數組,每個數值都以ASCII編碼值表示。該函數可使97~122范圍內的所有值轉換為65~90的范圍。同時,該函數也可轉換擴展ASCII字符集中其他任何具有對應大寫字母的字符的值(例如,帶有重音的小寫字母字符)。轉換大寫字母函數接線說明如圖3-24所示。
圖3-24轉換大寫字母函數接線說明
3.4局部和全局變量
3.4.1局部變量LabVIEW編程是通過接線方式來進行數據傳輸,當需要在程序框圖中多個位置訪問同一個參數時,接線會比較困難甚至造成數據混淆。創建局部變量的方法有以下兩種:(1)使用鼠標右鍵單擊前面板中已有的對象,在彈出的快捷菜單中選擇“創建”→“局部變量”,即可為該對象建立局部變量,如圖3-25所示。
圖3-25局部變量前面板設置
通過函數選板建立局部變量。如圖3-26所示,選擇“數據通信”→“局部變量”,并將其拖放到程序框圖上,在圖標上單擊鼠標右鍵彈出快捷菜單,選擇“選擇項”,連接對象。圖3-26局部變量程序面板設置
3.4.2全局變量
局部變量與前面板上已有的某個控件相互關聯,用于在一個程序的不同位置訪問同一控件,實現一個程序內的數據傳遞。而全局變量是用于在不同的程序之間進行數據傳遞,這些互相傳遞數據的程序可以是并行的,也可以是不便于通過接口傳遞數據的子程序和主程序。全局變量也是用一個控件的形式存放數據,但是這個控件和調用它的VI是相互獨立的,以一個特殊的VI作為自己的容器。
3.5數組
3.5.1數組的概念數組(Array)是同一類數據元素的集合,這些元素可以同是數值型、布爾型、字符串、波形等,也必須同時為輸入控件或者顯示控件。
一個數組是由數據和維數共同定義的。例如:一個數據采集通道在一段時間內采集到的電壓值可以構成一個數組,即一維數組;一維數組是一行或者一列數據,可以描繪平面上的一條曲線。兩個數據采集通道在同一段時間內采集到的電壓值也可以構成一個數組,即二維數組;二維數組由若干行和若干列數據組成,可以在一個平面上描繪多條曲線。三個數據采集通道在不同段時間內采集到的電壓值可以構成一個數組,即三維數組;三維數組由若干頁組成,每一頁又是一個二維數組。
3.5.2創建數組
1.一維數組的創建
(1)在前面板的控件選板中的“數組、矩陣與簇”子選板(如圖3-27所示)中選擇“數組”控件拖至前面板位置,即創建了一個數組外框,如圖3-28(a)所示。
圖3-27數組子模板
(2)把一個數據對象,如數值型、布爾型、字符串等的控制或指示,拖入數組外框中,松開鼠標完成數組創建。圖3-28(b)中創建了一個數值型數組輸入控件,數組外框會根據對象的大小自動調整為相應的尺寸。數組在程序框圖中的圖標如圖3-28(c)所示。
圖3-28數組的創建
2.二維數組的創建
二維數組是在一維數組的基礎上創建的。二維數組有兩個索引:行索引和列索引。如圖3-29(a)所示的橢圓部分,其中上一行為行索引,下一行為列索引。
二維數組的創建方法如下:
(1)使用鼠標右鍵單擊數組索引顯示部分,選擇添加維度(AddDimension)。
(2)拖曳需要的數據對象。
(3)用鼠標可以拖曳出一個多行多列的數組,如圖3-29(b)所示。圖3-29二維數組
3.數組常量的創建
從函數選板的數組子選板中選擇數組常量(ArrayConstant)拖曳至框圖中創建一個空的黑色數組外框(如圖3-30(a)所示),然后再拖曳需要的數據常量進入數組外框。該數組外框的大小和顏色會隨著對象的類型自動變化。圖3-30(b)中的數據類型為數值型。
圖3-30數組常量
3.5.3數組函數
數組的操作函數可以從函數模板中的數組子選板中直接調用。數組函數子選板如圖3-31所示。LabVIEW的數組選板中有豐富的數組函數可以實現對數組的操作。
圖3-31數組函數子選板
1.數組大小函數
數組大小函數可以返回輸入數組中元素的個數。圖3-32(a)中一維數組顯示的是第6個元素,后面的元素是暗色,說明這個數組中只有6個元素,前面板的運行結果也為6;圖3-32(b)中數組大小函數相連的是二維數組常量,應該返回一個一維數組。圖3-32數組大小函數結構
2.索引數組函數
索引數組函數可以用來訪問數組中的某個(或某些)特定元素。該函數圖標會自動調整大小,以適應輸入數組的維數。索引數組函數結構如圖3-33所示。
圖3-33索引數組函數結構
3.初始化數組函數
初始化數組函數可以創建一個所有元素全部相同的數組。初始化數組函數結構如圖3-34所示。圖3-34初始化數組函數結構
4.創建數組函數
在程序框圖放置創建數組函數時,只有一個輸入端可用,增加輸入端的方法:使用鼠標右鍵單擊圖標,在快捷菜單中選擇“添加輸入”或用鼠標拖曳即可。創建數組函數結構如圖3-35所示。
圖3-35創建數組函數結構
5.刪除數組元素函數
刪除數組元素函數用于刪除數組中的某個(或某些)元素,刪除數組中從某一索引號開始某設定長度的部分,返回刪除該部分后的數組以及被刪除的部分數組。刪除數組元素函數結構如圖3-36所示。
圖3-36刪除數組函數結構
6.數組插入函數
數組插入函數用于向數組輸入新的元素或子數組,插入位置由行索引或者列索引給出。數組插入函數前面板和程序框圖分別如圖3-37和圖3-38所示。圖3-37數組插入函數前面板
圖3-38數組插入函數程序框圖
7.數組最大值與最小值函數
數組最大值與最小值函數用來返回數組中的最大值和最小值及其索引。連線板可顯示該多態函數的默認數據類型。數組可以是任意類型的n維數組。數組最大值與最小值函數程序結構如圖3-39所示。圖3-39數組最大值與最小值函數程序結構
8.替換數組子集函數
替換數組子集函數用來從索引中指定的位置開始替換數組的某個元素或子數組。拖動替換數組子集函數的圖標下邊框可以增加新的替換索引組,從而利用一個替換數組子集函數完成多次替換操作,替換順序按圖標索引組從上到下執行。替換數組子集函數前面板如圖3-40所示,程序框圖如圖3-41所示。
圖3-40替換數組子集函數前面板
圖3-41替換數組子集函數程序框圖
9.一維數組排序函數
一維數組排序函數用來返回數組元素按照升序排列的數組。如數組為簇數組,則該函數可按照第一個元素的比較結果對元素進行排序;如第一個元素匹配,則函數可比較第二個和其后的元素。連線板可顯示該多態函數的默認數據類型。一維數組排序函數程序結構如圖3-42所示。
圖3-42一維數組排序函數程序結構
3.6簇
3.6.1簇的概念簇(Cluster)是由不同類型的數據元素組成的一種數據類型。簇可以把不同數據類型的元素組合在一起,類似于C語言中的結構體。簇是一種類似數組的數據結構,也是復合數據類型,用于分組數據。簇與數組有兩個重要區別:一是簇可以包含不同的數據類型,而數組只能包含相同的數據類型;二是簇具有固定的大小,在運行時不能添加元素,而數組的長度在運行時可以自由改變。
雖然數組與簇都是元素的集合,但兩者還是有比較大的區別,如表3-5所示。
3.6.2創建簇
(1)在控件選板的“數組矩陣與簇”子模板中,找到“簇”,拖至前面板放置,創建外框,如圖3-43(a)所示。
(2)將控件選板的控制或指示拖入外框中,創建一個簇,如圖3-43(b)所示。這個簇由一個數值型控件、一個布爾型控件和一個字符串控件組成,其框圖對應的圖標如圖3-43(c)所示。全部由數值型對象組成的簇的圖標為棕色,不同類型組成的簇的圖標為粉紅色。
圖3-43簇的創建
3.6.3簇函數
LabVIEW提供了豐富的簇函數,如圖3-44所示。
圖3-44簇函數操作子模板
1.捆綁和解除捆綁函數
把相關的元素組合成一個簇的操作叫作打包,可用簇子選板中的捆綁(Bundle)函數實現;從一個簇中提取出需要的元素的操作叫作解包,可用簇子選板中的解除捆綁(Unbundle)函數實現。Bundle節點的圖標如圖3-45所示,當不接入輸入參數cluster時,該節點將元素0~n-1打包生成含有n個元素的新簇,接入輸入端口的順序決定了生成新簇中元素的順序;當接入參數cluster后,element端口的數目自動調整為與cluster所含元素數相同,節點的功能是替換cluster中的指定元素。注意:接入元素的順序必須與cluster中所含元素的順序按照類型匹配。剛在框圖上放置的Bundle節點只有兩個輸入端口,用鼠標拖動下邊沿,或者在節點的快捷菜單中選擇AddInput可以增加端口,如圖3-45所示。
圖3-45簇綁定函數結構
2.創建簇數組函數
創建簇數組函數用來使每個元素輸入捆綁為簇,然后使所有元素簇組成以簇為元素的數組。連線板將顯示該多態函數的默認數據類型。創建簇數組函數結構如圖3-46所示。圖3-46創建簇數組函數結構
元素0~n-1輸入端的類型必須與最頂端的元素接線端的值一致。簇數組是作為結果的數組。每個簇都有一個元素。數組中不能再創建數組的數組。但是,使用該函數可創建以簇為元素的數組,簇可包含數組。創建簇數組函數程序框圖如圖3-47所示,通過使用該函數可提高執行的效率。圖3-47創建簇數組函數程序框圖
3.索引與捆綁簇數組函數
索引與捆綁簇數組函數用來對多個數組建立索引,并創建簇數組,第i個元素包含每個輸入數組的第i個元素。連線板可顯示該多態函數的默認數據類型。索引與捆綁簇數組函數結構如圖3-48所示。
圖3-48索引與捆綁簇數組函數結構
數組x..z可以是任意類型的一維數組。數組輸入無需為同一類型。簇數組是由簇組成的數組,包含每個輸入數組的元素。輸出數組中的元素數等于最短輸入數組的元素數。圖3-49所示的程序框圖為兩種通過索引多個數組得到簇數組的方式,通過該函數可提高時間和內存的使用效率。
圖3-49索引與捆綁簇數組函數程序框圖
4.簇至數組轉換函數
簇至數組轉換函數用來使相同數據類型元素組成的簇轉換為數據類型相同的一維數組。簇至數組轉換函數結構如圖3-50所示。圖3-50簇至數組轉換函數結構
3.7波形
3.7.1波形的概念波形類似于簇,但是波形的元素的類型和數量是固定的。波形可以用圖形顯示控件來顯示。波形的全部元素包括數據采集的起始時間t0、時間間隔dt、波形數據Y和屬性。波形數據Y可以是一個數組,也可能是一個數值。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農村平移房出售合同樣本
- 醫院床單供貨合同樣本
- 《美麗廈門-插入圖片秀美景》教學設計
- 勞動合同范本 職業危害
- 包場押金合同標準文本
- 借貸居間合同標準文本
- 媒體與公眾關系管理主題研討會合同
- 個人山地出租合同標準文本
- 住房鋪面出售合同標準文本
- 勞務派遣合同樣本英文
- 標本采集錯誤應急演練
- 體育概論(第二版)課件第五章體育手段
- 計算機組裝與維護
- 《04S519小型排水構筑物(含隔油池)圖集》
- 【人工智能賦能小學體育教學的對策探究(論文)3800字】
- 設計(技術)變更申報審批單
- 2024年事業單位考試模擬300題(含答案)
- 高空作業施工方案四篇
- (高清稿)DB44∕T 2515-2024 水利工程水文化設計導則
- Unit 3 They are playing.(教學設計)-2023-2024學年湘魯版英語四年級下冊
- DB3502T 090-2022 居家養老緊急事件應急助援規范
評論
0/150
提交評論