官术网_书友最值得收藏!

0.5 數據類型及其運算

數據是操作的對象,操作的結果會改變數據的狀況。作為程序設計人員,必須認真考慮和設計數據結構及操作步驟(即算法)。與其他基于文本模式的編程語言一樣,LabVIEW的程序設計中也要涉及常量、變量、函數的概念以及各種數據類型,這些是用LabVIEW進行程序設計的基礎,也是構建LabVIEW應用程序的基石。

LabVIEW的數據類型按其功能可以分為兩類,即常量和變量。變量又分為控件類變量和指示器類變量;按其特征又可分為兩大類,即數字量類型和非數字量類型,并用不同的圖標來代表不同的數據類型。原則上數據是在相同數據類型的變量之間進行交換的,但LabVIEW同時擁有自己的數據類型轉換機制,這也提供了一種程序的容錯機制。

在LabVIEW中,各種不同的數據類型,其變量的圖標邊框的顏色不同,因而,從圖標邊框的顏色可以分辨其數據類型。

0.5.1數據類型

1.常用的數據類型

常用的數據類型有以下幾類。

(1)數值數據類型:分為整型、浮點型和無符號型等。

(2)布爾數據類型:LabVIEW使用8 位(一個字節)的數值來存儲布爾數據。如果數值為0,布爾數據為假(False),其他非0數值代表真(True)。

(3)數組數據類型:LabVIEW中,數組的概念是一組相同數據類型數據的集合。

(4)字符串數據類型:LabVIEW以單字節整數的一維數組來存儲字符串數據。

(5)路徑數據類型:LabVIEW以句柄或指針(包含路徑類型及路徑成員的數量和路徑成員)來存儲數據類型。

(6)簇數據類型:和數組不同的是,LabVIEW中簇可以用來存儲不同數據類型的數據。根據簇中成員的順序,使用相應的數據類型來存儲不同的成員。

(7)參考數據類型:LabVIEW使用參考來作為某一對象的唯一標識符,對象可以是文件、設備和網絡連接等。由于參考是指向某一對象的臨時指針,因此它僅在對象被打開時有效,一旦對象被關閉,LabVIEW就斷開了與參考對象的連接。

(8)波形數據類型:用來存儲波形數據的一種數據類型。

(9)I/O通道號數據類型:用來表示DAQ設備的I/O通道名稱。

(10)多義數據類型:指一個變量可以連接不同的數據類型。例如,對于LabVIEW內置的加法函數,其輸入端口可以同時連接整型數據,也可以同時連接浮點型數據。大多數LabVIEW函數都提供多義數據接口。

(11)變體數據類型:這種數據類型可以和以下的LabVIEW數據類型相互轉換:所有的數字類型包括有符號和無符號的整數或浮點數、布爾數據類型、字符串數據類型、參考數據類型,以及上述數據類型的數組和簇。

(12)動態數據類型:LabVIEW 8.0以上版本支持一種新的數據類型——動態數據類型,這種類型的數據在應用時不必具體指定其數據類型,在程序運行過程中,根據需要,對象被動態賦予各種數據類型。

2.常量

LabVIEW設置了以下兩類常量:

(1)通用常量。例如,圓周率π、自然對數e等,如圖0-25所示,這些常數位于函數選板中數學與科學常量子選板中。

圖0-25 數學與科學常量子選板

(2)用戶定義常量。LabVIEW函數選板中有各種常用數據類型的常量,用戶可以在編寫程序時為它賦值。例如,數值常量位于數值子選板中,它的默認值是32 位整型數0,用戶可以給它定義任意類型的數值,程序運行時就保持這個值。

0.5.2數據運算

1.基本數學運算

LabVIEW中的數學運算主要是由函數選板中數值子選板(如圖0-26所示)中的節點完成的。

圖0-26 數值子選板

數值子選板由基本數學運算節點、類型轉換節點、復數節點和附加常數節點組成。

基本數學運算節點主要實現加、減、乘、除等基本運算。基本數學運算節點支持數值量輸入。與一般編程語言提供的運算符相比,LabVIEW中數學運算節點功能更強,使用更靈活,它不僅支持單一的數值量輸入,還可支持處理不同類型的復合型數值量,如由數值量構成的數組、簇和簇數組等。

2.比較運算

比較運算也就是通常所說的關系運算,比較運算節點包含在函數選板比較子選板中,如圖0-27所示。

圖0-27 比較子選板

在LabVIEW中,可以進行以下幾種類型的比較:數字值的比較、布爾值的比較、字符串的比較,以及簇的比較。

1)數字值的比較

比較節點在比較兩個數字值時,會先將其轉換為同一類型的數字。當一個數字值和一個非數字值相比較時,比較節點將返回一個表示兩者不相等的值。

2)布爾值的比較

兩個布爾值相比較時,真(Ture)值比假(False)值大。

3)字符串的比較

字符串的比較是按照字符在ASCII表中的等價數字值進行比較的。例如,字符a(在ASCII表中的值為97)大于字符A(在ASCII表中的值為65);字符A大于字符O(48)。當兩個字符串進行比較時,比較節點會從這兩個字符串的第一個字符開始逐個比較,直至有兩個字符不相等為止,并按照這兩個字符輸出比較結果。

例如,比較字符串abcd和字符串abef,比較會在c停止,而字符c小于字符e,所以字符串abcd小于字符串abef。當一個字符串中存在某一個字符,而在另一個字符串中這個字符不存在時,前一個字符串大。例如,字符串abcd大于字符串abc。

4)簇的比較

簇的比較與字符串的比較類似,比較時,從簇的第0 個元素開始,直至有一個元素不相等為止。簇中元素的個數必須相同,元素的數據類型和順序也必須相同。

3.邏輯運算

傳統編程語言使用邏輯運算符將關系表達式或邏輯量連接起來,形成邏輯表達式,邏輯運算符包括與、或、非等。在LabVIEW中這些邏輯運算符是以圖標的形式出現的。邏輯運算節點包含在函數選板布爾子選板中,如圖0-28所示。邏輯運算節點的圖標與集成電路常用邏輯符號一致,可以使用戶方便地使用這些節點而無須重新記憶。

圖0-28 布爾子選板

主站蜘蛛池模板: 清徐县| 景谷| 陆丰市| 全椒县| 六盘水市| 寿阳县| 吉林市| 都安| 大城县| 富阳市| 岱山县| 新巴尔虎右旗| 福泉市| 安乡县| 百色市| 洪湖市| 土默特右旗| 宝山区| 马龙县| 莱阳市| 屏东市| 黄冈市| 绥棱县| 资兴市| 运城市| 婺源县| 高清| 太湖县| 马边| 海宁市| 崇阳县| 天峻县| 台前县| 前郭尔| 二连浩特市| 龙南县| 安顺市| 紫阳县| 成安县| 讷河市| 光山县|