第4章 數(shù)據(jù)操作_第1頁
第4章 數(shù)據(jù)操作_第2頁
第4章 數(shù)據(jù)操作_第3頁
第4章 數(shù)據(jù)操作_第4頁
第4章 數(shù)據(jù)操作_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第4章數(shù)據(jù)操作4.1數(shù)據(jù)類型4.2數(shù)據(jù)運算4.1數(shù)據(jù)類型數(shù)據(jù)結(jié)構(gòu)是程序設(shè)計的基礎(chǔ),不同的數(shù)據(jù)數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)在LabVIEW中存儲的方式是不一樣的。選擇合適的數(shù)據(jù)類型不但能提高程序的執(zhí)行效率,而且還能減少內(nèi)存空間的占用。在LabVIEW程序框圖中,以不同的端口圖標和顏色來表示不同的數(shù)據(jù)類型。另外,輸入控件端口圖標的邊框為粗實線,端口右側(cè)有一個向右的箭頭,表示輸出數(shù)據(jù),顯示控件端口圖標的邊框為細實線,端口左側(cè)有一個向左的箭頭,表示輸入數(shù)據(jù)。在LabVIEW中,除了具有一般數(shù)據(jù)類型外,還有一些獨特的數(shù)據(jù)類型。本節(jié)將介紹一些常用的基本數(shù)據(jù)類型:數(shù)值型、布爾型、字符串與路徑?;緮?shù)據(jù)類型是利用LabVIEW編程的基礎(chǔ),同時也是復合數(shù)據(jù)類型的基石。第四講:LabVIEW數(shù)據(jù)操作4.1.1數(shù)值型數(shù)值型是LabVIEW中的一種基本的數(shù)據(jù)類型,LabVIEW以浮點數(shù)、定點數(shù)、整型數(shù)、不帶符號的整形數(shù)以及復數(shù)表示數(shù)值數(shù)據(jù)類型。不同數(shù)據(jù)類型的差別在于存儲數(shù)據(jù)使用的位數(shù)和表示的值的范圍。在LabVIEW前面板中放置一個數(shù)值顯示控件,在控件右鍵快捷菜單中選擇“屬性”菜單項,彈出數(shù)值屬性對話框,在對話框中選擇“數(shù)據(jù)類型”屬性頁,并單擊“表示法”圖標,則彈出數(shù)值型數(shù)據(jù)類型的詳細分類。數(shù)值數(shù)據(jù)類型表LabVIEW的數(shù)據(jù)類型包含在前面板的數(shù)值輸入控件和顯示控件及數(shù)值常量中??丶x板中的數(shù)值控件函數(shù)選板中的數(shù)值常量數(shù)據(jù)通常分為變量和常量兩種。LabVIEW中的數(shù)據(jù)從某種意義上講也分為常量和變量,控件選板中的數(shù)值控件相當于傳統(tǒng)編程語言中的數(shù)值變量,其中的數(shù)據(jù)可以在程序運行時由用戶通過鍵盤或鼠標改變(輸入控件)或由程序動態(tài)賦值(顯示控件)。而程序框圖函數(shù)面板中的數(shù)值常量相當于傳統(tǒng)編程語言中的數(shù)值常量。在控件選板的數(shù)值子選板中包含了多種不同形式的數(shù)值輸入控件和顯示控件,它們的外觀各不相同,有數(shù)字輸入框、滾動條、滑動桿、進度條、旋鈕、轉(zhuǎn)盤、儀表、量表、液罐、溫度計、顏色盒等。這些對象在本質(zhì)上是完全相同的,都是數(shù)值型,只是外觀不同。對象屬性的設(shè)置方法也基本相同,均通過其快捷菜單來設(shè)置。對象屬性的設(shè)置方法(以數(shù)值輸入控件為例

顯示項:設(shè)定控件的標簽、標題、單位標簽、基數(shù)和增量/減量按鈕是否顯示。查找接線端:用于從前面板窗口定位該控件在程序框圖中的接線端子,在程序框圖接線端上彈出的快捷菜單里,該選項為“查找輸入控件”,可以用來從程序框圖定位前面板上的控件。轉(zhuǎn)換為顯示控件:把輸入控件變?yōu)轱@示控件,對于顯示控件,該選項為“轉(zhuǎn)換為輸入控件”,則將顯示控件轉(zhuǎn)換為輸入控件。說明和提示:打開“說明和提示”對話框,在這里可以定義輸入控件的“說明”(該說明會出現(xiàn)在“即時幫助”窗口中)和“提示”(在運行時出現(xiàn)在鼠標移動到該控件上時顯示的提示框中)。創(chuàng)建:給出了可以為數(shù)值輸入控件建立的幾種特殊程序?qū)ο螅壕植孔兞俊傩怨?jié)點、引用和調(diào)用節(jié)點。替換:是一個臨時控件選板,可以在該臨時選板中選擇其他控件,以代替當前數(shù)值輸入控件。數(shù)據(jù)操作:“重新初始化為默認值”選項把數(shù)值輸入控件還原為默認值;“當前值設(shè)為默認值”選項把當前值設(shè)置為默認值;“剪切數(shù)據(jù)”、“復制數(shù)據(jù)”和“粘貼數(shù)據(jù)”選項則用于在數(shù)值控件之間復制數(shù)據(jù)。高級:“快捷鍵”選項將打開屬性設(shè)置對話框的快捷鍵,在對話框中能為輸入控件指定快捷鍵。“同步顯示”選項用于顯示每一次更新。“自定義”選項用于在當前輸入控件的基礎(chǔ)上自定義控件?!斑\行時快捷菜單”包括兩個子菜單:“禁用”選項表示禁止運行時顯示快捷菜單,“編輯”選項可以自定義運行時的快捷菜單?!半[藏輸入控件”把當前控件隱藏掉?!皢⒂脿顟B(tài)”子菜單下的3個選項定義控件的啟用狀態(tài)。將控件匹配窗格:調(diào)整控件大小以匹配所屬窗格,并設(shè)置為按窗格縮放控件。根據(jù)窗格縮放對象:開啟或關(guān)閉前面板對象根據(jù)窗格自動縮放的功能。表示法:彈出一個數(shù)值數(shù)據(jù)具體類型圖標菜單,通過圖標菜單可以為該控件設(shè)定具體的數(shù)值數(shù)據(jù)類型,如“單精度浮點型”、“雙精度浮點型”等等。數(shù)據(jù)輸入:打開屬性對話框的數(shù)據(jù)輸入選項卡定義數(shù)值輸入控件允許的數(shù)值范圍。顯示格式:打開屬性對話框的顯示格式選項卡定義和修改數(shù)值的表示格式屬性:打開對象的屬性設(shè)置對話框。屬性對話框是按照選項卡方式組織的,通常有“外觀”、“數(shù)據(jù)類型”、“數(shù)據(jù)輸入”、“顯示格式”、“說明信息”、“數(shù)據(jù)綁定”和“快捷鍵”共6個選項卡。很多快捷菜單選項都能在這里找到,在快捷菜單里和在屬性對話框里定制這些控件屬性和參數(shù)沒有任何區(qū)別。各種數(shù)據(jù)類型的前面板輸入控件和顯示控件都有各自的屬性對話框,盡管這些屬性對話框的內(nèi)容可能略有不同,但它們的組織方式和使用方法都相同。在輸入控件和顯示控件的程序框圖接線端上打開的右鍵快捷菜單里,“顯示為圖標”菜單項默認為選中狀態(tài),也就是說,向前面板添加輸入控件和顯示控件時,在框圖上生成的端子顯示為包含控件外形的方形圖標。取消該菜單項的選中狀態(tài),將使得端子恢復為傳統(tǒng)的顯示方式,在這種方式下,只能從端子了解到控件的數(shù)據(jù)類型,而無法了解控件的具體種類和外形。4.1.2布爾型布爾數(shù)據(jù)類型比較簡單,其只有“真(True)”和“假(False)”,或者“1”和“0”兩種取值,也叫邏輯型數(shù)據(jù)類型。控件選板中的布爾型控件函數(shù)選板中的布爾型常量布爾輸入控件的一個重要屬性是機械動作,正確配置這一屬性將有助于更精確地模擬物理儀器上的開關(guān)器件。在布爾輸入控件的快捷菜單里,“機械動作”子菜單中給出了所有可用的機械動作選項。某選項方框邊緣的粗線框表示該選項為布爾輸入控件當前使用的機械動作。這些菜單選項圖例中使用了特殊的標記,其中m(Motion)及其右側(cè)的圖形表示鼠標左鍵在布爾輸入控件上的操作動作;v(Value)及其右側(cè)的圖形表示輸入控件包含的布爾值的變化情況。單擊時轉(zhuǎn)換:按下按鈕時改變狀態(tài),按下其它按鈕之前保持當前狀態(tài)。釋放時轉(zhuǎn)換:釋放按鈕時改變狀態(tài),釋放其它按鈕之前保持當前狀態(tài)。保持轉(zhuǎn)換直到釋放:按下按鈕時改變狀態(tài),釋放按鈕時返回原狀態(tài)。單擊時觸發(fā):按下按鈕時改變狀態(tài),LabVIEW讀取控件值后返回原狀態(tài)。釋放時觸發(fā):釋放按鈕時改變狀態(tài),LabVIEW讀取控件值后返回原狀態(tài)。保持觸發(fā)直到釋放:按下按鈕時改變狀態(tài),釋放按鈕且LabVIEW讀取控件值后返回原狀態(tài)。在布爾輸入控件屬性設(shè)置對話框的“操作”選項卡中也可以設(shè)置機械動作,在操作選項卡中,選中的動作為布爾輸入控件當前使用的機械動作,選中某按鈕動作,窗口右側(cè)將給出該動作的詳細解釋,同時還有所選動作效果預覽。4.1.3字符串與路徑字符串是LabVIEW中的一種基本的數(shù)據(jù)類型。LabVIEW為用戶提供了功能強大的字符串控件和字符串運算功能函數(shù)。路徑也是一種特殊的字符串,專門用于對文件路徑的處理。字符串與路徑主要包含在控件選板的“字符串與路徑(在Express中為文本輸入控件)”子選板和函數(shù)選板的“字符串”子選板中??丶x板中的字符串控件函數(shù)選板中的字符串常量控件選板的字符串與路徑共有三種對象:字符串控件(輸入/顯示)、組合框和文件路徑控件(輸入/顯示)。1.字符串控件字符串對象用于處理和顯示各種字符串,用數(shù)據(jù)操作工具或文本編輯工具單擊字符串對象的顯示區(qū),即可在對象顯示區(qū)的光標位置進行字符串的輸入和修改。字符串有四種顯示模式:正常顯示、'\'(反斜杠)代碼顯示、密碼顯示、十六進制顯示,通過快捷菜單項字符串顯示模式可以在這四種模式之間切換。(1)正常顯示在該顯示模式下,除了一些不可顯示的字符如制表符、Esc等,字符串控件顯示鍵入的所有字符。(2)'\'代碼顯示這種顯示模式,字符串控件除了顯示普通字符外,用'\'形式還可以顯示一些特殊的控制字符。該模式適用于調(diào)試VI及把不可顯示字符發(fā)送至儀器、串口及其他設(shè)備。代碼LabVIEW解釋\00–\FF8位字符的16進制值;必須大寫\b退格符(ASCIIBS,相當于\08)\f換頁符(ASCIIFF,相當于\08)\n換行符(ASCIILF,相當于\0A)。格式化寫入文件函數(shù)自動將此代碼轉(zhuǎn)換為獨立于平臺的行結(jié)束字符。\r回車符(ASCIICR,相當于\0D)\tTab制表符(ASCIIHT,相當于\09)\s空格符(相當于\20)\\反斜扛(ASCII\,相當于\5C)%%百分比特殊字符表反斜杠后的大寫字母用于十六進制字符,小寫字母用于換行、退格等特殊字符。例如,LabVIEW將\BFare視為十六進制BF和are。將\bFare和\bfare分別視為退格符和Fare及退格符和fare。而在\Bfare中,\B不是回格代碼,\Bf不是有效的十六進制代碼。在這種情況下,當反斜杠后僅有部分有效十六進制字符時,LabVIEW將認為反斜杠后帶有0而將\B解釋為十六進制0B。如果反斜杠后既不是合法的十六進制字符,也不是特殊字符,LabVIEW將忽略該反斜杠字符。不論是否選中'\'代碼顯示,都可通過鍵盤將表中列出的不可顯示字符輸入到一個字符串輸入控件中。但是,如在顯示窗口含有文本的情況下啟用反斜杠模式,則LabVIEW將重繪顯示窗口,顯示不可顯示字符在反斜杠模式下的表示法及\字符本身。(3)密碼顯示該模式將使輸入字符串控件的每個字符(包括空格)顯示為星號(*)。從程序框圖中讀取字符串數(shù)據(jù)時,實際上讀取的是用戶輸入的數(shù)據(jù)。如從控件復制數(shù)據(jù),LabVIEW將只復制*字符。(4)十六進制顯示十六進制顯示顯示字符的ASCII值,而不是字符本身。調(diào)試或與儀器通信時,可使用十六進制顯示。2.組合框控件組合框是一種特殊的字符串對象,除了具有字符串對象的功能外,還添加了一個字符串列表,在字符串列表中,可以預先設(shè)定幾個預定的字符串,供用戶選擇。前面板中的組合框控件預設(shè)組合框?qū)ο笾锌蛇x字符串條目“項”為在組合框中顯示的字符串,“值”為組合實際存儲的值。當“值與項值匹配”選中時,“值”中的字符串選項與“項”中的內(nèi)容保持一致。3.文件路徑控件文件路徑對象也是一種特殊的字符串對象,專門用戶處理文件的路徑,文件路徑控件用于輸入或返回文件或目錄的地址,可與文件I/O節(jié)點配合使用。用戶可以直接在文件路徑輸入控件中輸入文件的路徑,也可以通過單擊右側(cè)的“瀏覽”按鈕打開一個Windows標準文件對話框,在對話框中查找需要的文件,文件路徑顯示控件不能輸入,也沒有瀏覽按鈕。路徑通常分為以下幾種類型。(1)非法路徑如函數(shù)未成功返回路徑,該函數(shù)將在顯示控件中返回一個非法路徑值,非法路徑值可作為一個路徑控件的默認值來檢測用戶何時未提供有效路徑,并顯示一個帶有選擇路徑選項的文件對話框。使用文件對話框函數(shù)顯示文件對話框。(2)空路徑空路徑可用于提示用戶指定一個路徑。將一個空路徑與文件I/O函數(shù)相連時,空路徑將指向映射到計算機的驅(qū)動器列表。(3)絕對路徑和相對路徑相對路徑是文件或目錄在文件系統(tǒng)中相對于任意位置的地址。絕對路徑描述從文件系統(tǒng)根目錄開始的文件或目錄地址。使用相對路徑可避免在另一臺計算機上創(chuàng)建應用程序或運行VI時重新指定路徑。4.2數(shù)據(jù)運算4.2.1數(shù)值運算基本數(shù)值運算節(jié)點主要實現(xiàn)加、減、乘、除等基本數(shù)值運算。在LabVIEW中數(shù)值運算符包含在程序框圖“函數(shù)選板”的“數(shù)值”子選板中。

數(shù)值運算函數(shù)的輸入都是數(shù)值類型數(shù)據(jù)(包括數(shù)值、數(shù)值數(shù)組、數(shù)值簇、數(shù)值簇構(gòu)成的數(shù)組以及復數(shù)),即

數(shù)值型=數(shù)值標量OR數(shù)組[數(shù)值型]OR簇[各種數(shù)值型]除特例外,默認的輸出數(shù)據(jù)通常和輸入數(shù)據(jù)保持相同的數(shù)值表示方法,如果輸入數(shù)據(jù)包含多種不同的數(shù)值表示方法,那么默認輸出數(shù)據(jù)的類型是輸入數(shù)據(jù)的類型中較大的那種類型。例如,如將一個8位和16位整數(shù)相加,則默認輸出是16位整數(shù)。如對函數(shù)的輸出進行配置,則指定的設(shè)置將覆蓋原有的默認設(shè)置。有關(guān)數(shù)值運算的說明對于有兩個輸入的函數(shù),用戶可以使用如下方式組合:(1)當兩個輸入結(jié)構(gòu)相同時,輸出的結(jié)構(gòu)與輸入相同。(2)當兩個輸入中有一個數(shù)值標量,而另一個是數(shù)組或簇時,輸出為數(shù)組或簇。(3)當兩個輸入中有一個數(shù)值數(shù)組,另一個是數(shù)值類型時,輸出為數(shù)組。4.2.2比較運算比較運算也稱為關(guān)系運算。比較運算函數(shù)節(jié)點包含在“函數(shù)選板”的“比較”子選板中。在LabVIEW中,比較函數(shù)可用來比較數(shù)值、字符串、布爾值、數(shù)組和簇,某些比較函數(shù)的比較模式還可以改變。不同數(shù)據(jù)類型的數(shù)據(jù)進行比較時,比較的規(guī)則是不同的。第四講:LabVIEW數(shù)據(jù)操作(1)數(shù)值比較數(shù)值比較先將數(shù)字轉(zhuǎn)換為相同的表示法后再行比較。為了進行準確的比較,比較函數(shù)節(jié)點將每個輸入轉(zhuǎn)換為其最大化表示。對于帶有非法數(shù)值(Nan)的一個或兩個輸入,其比較將返回不相等的結(jié)果。不是所有數(shù)均可表示為ANSI/IEEE標準浮點數(shù)。因此,使用浮點數(shù)的比較可能會由于舍入誤差導致非預期的錯誤。(2)字符串比較比較函數(shù)依據(jù)ASCII字符碼的值對字符串進行比較。在比較時從字符串的第0個元素開始,一次比較一個元素,直至函數(shù)發(fā)現(xiàn)不相等或直至一個字符串的末尾才結(jié)束比較。如前面的字符都一樣,“比較”函數(shù)認為長的字符串比短的字符串大。例如:a(其十進制值為97)比A(65)大,而后者又比數(shù)字0(48)大,數(shù)字0(48)又比空格符(32)大。LabVIEW從字符串的開始處逐個比較字符串,直至發(fā)現(xiàn)不相等字符時才停止比較。例如:LabVIEW在發(fā)現(xiàn)比e小的c前,會一直對字符串a(chǎn)bcd和abef作比較。有字符比沒有字符大,因此,字符串a(chǎn)bcd比abc大,因為前者含有更多字符。不同數(shù)據(jù)類型的數(shù)據(jù)比較規(guī)則(3)布爾比較在布爾比較中,布爾值TRUE比布爾值FALSE大。(4)數(shù)組和簇比較某些比較函數(shù)節(jié)點有兩種比較數(shù)據(jù)數(shù)組或簇的模式。在“比較集合”模式下比較兩個數(shù)組或簇時,函數(shù)返回的是一個布爾值。在“比較元素”模式下,函數(shù)將逐個比較數(shù)組或簇的元素,并返回所有比較結(jié)果的相應布爾值構(gòu)成的數(shù)組或簇。4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論