LabVIEW教程之LabVIEW入門資料_第1頁
LabVIEW教程之LabVIEW入門資料_第2頁
LabVIEW教程之LabVIEW入門資料_第3頁
LabVIEW教程之LabVIEW入門資料_第4頁
LabVIEW教程之LabVIEW入門資料_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章虛擬儀器及LabVIEW入門

1.1虛擬儀器概述

虛擬儀器(virtualinstrumention)是基于計(jì)算機(jī)的儀器。計(jì)算機(jī)和儀器的密切結(jié)合是目

前儀器發(fā)展的一個(gè)重要方向。粗略地說這種結(jié)合有兩種方式,一種是將計(jì)算機(jī)裝入儀器,其

典型的例子就是所謂智能化的儀器。隨著計(jì)算機(jī)功能的日益強(qiáng)大以及其體積的日趨縮小,這

類儀器功能也越來越強(qiáng)大,目前己經(jīng)出現(xiàn)含嵌入式系統(tǒng)的儀器。另一種方式是將儀器裝入計(jì)

算機(jī)。以通用的計(jì)算機(jī)硬件及操作系統(tǒng)為依托,實(shí)現(xiàn)各種儀器功能。虛擬儀器主要是指這種

方式。下面的框圖反映了常見的虛擬儀器方案。

數(shù)

數(shù)

據(jù)

據(jù)

號(hào)

測(cè)

調(diào)

對(duì)虛擬儀器面.板

象k

虛擬儀器的主要特點(diǎn)有:

■盡可能采用了通用的硬件,各種儀器的差異主要是軟件。

■可充分發(fā)揮計(jì)算機(jī)的能力,有強(qiáng)大的數(shù)據(jù)處理功能,可以創(chuàng)造出功能更強(qiáng)的儀

器。

■用戶可以根據(jù)自己的需要定義和制造各種儀器。

虛擬儀器實(shí)際上是一個(gè)按照儀器需求組織的數(shù)據(jù)采集系統(tǒng)。虛擬儀器的研究中涉及的基

礎(chǔ)理論主要有計(jì)算機(jī)數(shù)據(jù)采集和數(shù)字信號(hào)處理。目前在這?領(lǐng)域內(nèi),使用較為廣泛的計(jì)算機(jī)

語言是美國(guó)NI公司的LabVIEW。

虛擬儀器的起源可以追朔到20世紀(jì)70年代,那時(shí)計(jì)算機(jī)測(cè)控系統(tǒng)在國(guó)防、航天等領(lǐng)域

已經(jīng)有了相當(dāng)?shù)陌l(fā)展。PC機(jī)出現(xiàn)以后,儀器級(jí)的計(jì)算機(jī)化成為可能,甚至在Microsoft公司

的Windows誕生之前,NI公司已經(jīng)在Macintosh計(jì)算機(jī)上推出了LabVIEW2.0以前的版本。

對(duì)虛擬儀器和LabVIEW長(zhǎng)期、系統(tǒng)、有效的研究開發(fā)使得該公司成為業(yè)界公認(rèn)的權(quán)威。

普通的PC有一些不可避免的弱點(diǎn)。用它構(gòu)建的虛擬儀器或計(jì)算機(jī)測(cè)試系統(tǒng)性能不可能

太高。目前作為計(jì)算機(jī)化儀器的一個(gè)重要發(fā)展方向是制定了VXI標(biāo)準(zhǔn),這是一種插卡式的

儀器。每一種儀器是一個(gè)插卡,為了保證儀器的性能,又采用了較多的硬件,但這些卡式儀

器本身都沒有面板,其面板仍然用虛擬的方式在計(jì)算機(jī)屏幕上出現(xiàn)。這些卡插入標(biāo)準(zhǔn)的VXI

機(jī)箱,再與計(jì)算機(jī)相連,就組成了一個(gè)測(cè)試系統(tǒng)。VXI儀器價(jià)格昂貴,目前又推出了一種較

為便宜的PXI標(biāo)準(zhǔn)儀器。

虛擬儀器研究的另一個(gè)問題是各種標(biāo)準(zhǔn)儀器的互連及與計(jì)算機(jī)的連接。目前使用較多的

是IEEE488或GPIB協(xié)議。未來的儀器也應(yīng)當(dāng)是網(wǎng)絡(luò)化的。

1.2LabVIEW是什么?

LabVIEW(LaboratoryVirtualinstrumentEngineering)是一種圖形化的編程語言,它廣

泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,視為一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件。

LabVIEW集成了與滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全

部功能。它還內(nèi)置了便于應(yīng)用TCP/IP、ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù)。這是一個(gè)功能強(qiáng)大且

靈活的軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程

都生動(dòng)有趣。

圖形化的程序語言,又稱為“G”語言。使用這種語言編程時(shí),基本上不寫程序代碼,

取而代之的是流程圖或流程圖。它盡可能利用了技術(shù)人員、科學(xué)家、工程師所熟悉的術(shù)語、

圖標(biāo)和概念,因此,LabVIEW是?個(gè)面向最終用戶的工具。它可以增強(qiáng)你構(gòu)建自己的科學(xué)

和工程系統(tǒng)的能力,提供了實(shí)現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進(jìn)行原理研究、

設(shè)計(jì)、測(cè)試并實(shí)現(xiàn)儀器系統(tǒng)時(shí),可以大大提高工作效率。

利用LabVIEW,可產(chǎn)生獨(dú)立運(yùn)行的可執(zhí)行文件,它是一個(gè)真正的32位編譯器。像許

多重要的軟件一樣,LabVIEW提供了Windows、UNIX、Linux>Macintosh的多種版本。

1.3LabVIEW的運(yùn)行機(jī)制

1.3.1LabVIEW應(yīng)用程序的構(gòu)成

所有的LabVIEW應(yīng)用程序,即虛擬儀器(VI),它包括前面板(frontpanel),流程圖

(blockdiagram)以及圖標(biāo)/連結(jié)器(icon/connector)三部分。

前面板

前面板是圖形用戶界面,也就是VI的虛擬儀器面板,這一界面上有用戶輸入和顯示輸

出兩類對(duì)象,具體表現(xiàn)有開關(guān)、旋鈕、圖形以及其他控制(control)和顯示對(duì)象(indicator)。

圖1所示是一個(gè)隨機(jī)信號(hào)發(fā)生和顯示的簡(jiǎn)單VI是它的前面板,上面有一個(gè)顯示對(duì)象,以曲

線的方式顯示了所產(chǎn)生的一系列隨機(jī)數(shù)。還有一個(gè)控制對(duì)象——開關(guān),可以啟動(dòng)和停止工作。

顯然,并非簡(jiǎn)單地畫兩個(gè)控件就可以運(yùn)行,在前面板后還有一個(gè)與之配套的流程圖。

流程圖提供VI的圖形化源程序。在流程圖中對(duì)VI編程,以控制和操縱定義在前面板

上的輸入和輸出功能。流程圖中包括前面板上的控件的連線端子,還有一些前面板上沒有,

但編程必須有的東西,例如函數(shù)、結(jié)構(gòu)和連線等。圖1—2是與圖1—1對(duì)應(yīng)的流程圖。我

們可以看到流程圖中包括了前面板上的開關(guān)和隨機(jī)數(shù)顯示器的連線端子,還有一個(gè)隨機(jī)數(shù)發(fā)

生器的函數(shù)及程序的循環(huán)結(jié)構(gòu)。隨機(jī)數(shù)發(fā)生器通過連線將產(chǎn)生的隨機(jī)信號(hào)送到顯示控件,為

了使它持續(xù)工作下去,設(shè)置了一個(gè)WhileLoop循環(huán),由開關(guān)控制這一循環(huán)的結(jié)束。

/--------------------------------與前面板控件對(duì)

函數(shù):隨機(jī)數(shù)

應(yīng)的連線端子

如果將VI與標(biāo)準(zhǔn)儀器相比較,那么前面板上的東西就是儀器面板上的東西,而流程圖

Hl勺東西相當(dāng)于儀器箱內(nèi)的東西。在許多情況下,使用VI可以仿真標(biāo)準(zhǔn)儀器,不僅在屏幕

上出現(xiàn)一個(gè)惟妙惟肖的標(biāo)準(zhǔn)儀器面板,而且其功能也與標(biāo)準(zhǔn)儀器相差無幾。

圖標(biāo)/連接器

VI具有層次化和結(jié)構(gòu)化的特征。?個(gè)VI可以作為子程序,這里稱為子VI(subVI),

被其他VI調(diào)用。圖標(biāo)與連接器在這里相當(dāng)于圖形化的參數(shù),詳細(xì)情況稍后介紹。

1.2.2LabVIEW的操作模板

在LabVIEW的用戶界面上,應(yīng)特別注意它提供的操作模板,包括工具(Tools)模板、

控制(Controls)模板和函數(shù)(Functions)模板。這些模板集中反映了該軟件的功能與特征。

下面我們來大致瀏覽一下。

工具模板(ToolsPalette)

該模板提供了各種用于創(chuàng)建、修改和調(diào)試VI程序的工具。如果該模

板沒有出現(xiàn),則可以在Windows菜單下選擇ShowToolsPalette命令以

顯示該模板。當(dāng)從模板內(nèi)選擇了任一種工具后,鼠標(biāo)箭頭就會(huì)變成該工具

相應(yīng)的形狀。當(dāng)從Windows菜單下選擇了ShowHelpWindow功能后,把

工具模板內(nèi)選定的任一種工具光標(biāo)放在流程圖程序的子程序(SubVI)或

圖標(biāo)上,就會(huì)顯示相應(yīng)的幫助信息。

下述工具中注意1和2的區(qū)別,2用于編程時(shí),1用于運(yùn)行程序時(shí)。

4是?個(gè)特有的工具,它并不是一個(gè)簡(jiǎn)單的畫線工具,而是一個(gè)符合LabVIEW語言規(guī)定的

對(duì)象連接工具。

工具圖標(biāo)有如下幾種:

圖標(biāo)名稱功能

OperateValue用于操作前面板的控制和顯示。使用它向數(shù)字或字符

1

帆(操作值)串控制中鍵入值時(shí),工具會(huì)變成標(biāo)簽工具

Position/Size/Sele用于選擇、移動(dòng)或改變對(duì)象的大小。當(dāng)它用于改變對(duì)

2

ct(選擇)象的連框大小時(shí),會(huì)變成相應(yīng)形狀。

EditText(編輯用于輸入標(biāo)簽文本或者創(chuàng)建自由標(biāo)簽。當(dāng)創(chuàng)建自由標(biāo)

3

囪文本)簽時(shí)它會(huì)變成相應(yīng)形狀。

ConnectWire(連用于在流程圖程序上連接對(duì)象。如果聯(lián)機(jī)幫助的窗口

4線)被打開時(shí),把該工具放在任?條連線匕就會(huì)顯示相

應(yīng)的數(shù)據(jù)類型。

ObjectShortcut用鼠標(biāo)左鍵可以彈出對(duì)象的彈出式菜單。

5

恒1Menu(對(duì)象菜單)

ScrollWindows使用該工具就可以不需要使用滾動(dòng)條而在窗口中漫

6

(窗口漫游)游。

Set/Clear使用該工具在VI的流程圖對(duì)象上設(shè)置斷點(diǎn)。

7懣1Breakpoint(斷點(diǎn)

設(shè)置/清除)

ProbeData(數(shù)據(jù)可在框圖程序內(nèi)的數(shù)據(jù)流線上設(shè)置探針。通過控針窗

8

探針)口來觀察該數(shù)據(jù)流線上的數(shù)據(jù)變化狀況。

GetColor(顏色使用該工具來提取顏色用于編輯其他的對(duì)象。

90提?。?/p>

SetColor(顏色用來給對(duì)象定義顏色。它也顯示出對(duì)象的前景色和背

10E設(shè)置)景色。

下面的兩個(gè)模板是多層的,其中每一個(gè)子模板下還包括多個(gè)對(duì)象。

控制模板(ControlPalette)

注意:只有打開前面板時(shí)才能調(diào)用該模板

該模板用來給前面板設(shè)置各種所需的輸出顯示對(duì)象和輸入

控制對(duì)象。每個(gè)圖標(biāo)代表一類子模板。如果控制模板不顯示,

可以用Windows菜單的ShowControlsPalette功能打開它,

也可以在前面板的空白處,點(diǎn)擊鼠標(biāo)右鍵,以彈出控制模板。

控制模板如左圖所示,它包括如下所示的一些子模板。子

模板中包括的對(duì)象,我們?cè)诠δ苤杏梦淖趾?jiǎn)要介紹。

圖標(biāo)子模板名稱功能

Numeric(數(shù)值量)數(shù)值的控制和顯示。包含數(shù)字式、指針式顯示表盤及各

1

種輸入框。

Boolean(布爾量)邏輯數(shù)值的控制和顯示。包含各種布爾開關(guān)、按鈕以及

2與

指示燈等。

String&Path(字字符串和路徑的控制和顯小O

3

Poth符串和路徑)

Array&Cluster數(shù)組和簇的控制和顯示。

4唧

(數(shù)組和簇)

List&Table(列列表和表格的控制和顯示

5

表和表格)

圖形顯示)顯示數(shù)據(jù)結(jié)果的趨勢(shì)圖和曲線圖。

6凰Graph(

Ring&Enum(環(huán)環(huán)與枚舉的控制和顯示。

7

與枚舉)

1/0(輸入/輸出功輸入/輸出功能。于操作OLE、ActiveX等功能。

8

1血!能)

Refnum參考數(shù)

9w\

Digilog數(shù)字控制

10Controls(數(shù)字控

H制)

Classic經(jīng)典控制,指以前版本軟件的面板圖標(biāo)。

11鼠Controls(經(jīng)典控

i制)

ActiveX用于ActiveX等功能。

12E1

Decorations(裝用于給前面板進(jìn)行裝飾的各種圖形對(duì)象。

13

E飾)

Selecta調(diào)用存儲(chǔ)在文件中的控制和顯示的接口。

14便Controls(控制選

]擇)

UserControls用戶自定義的控制和顯示。

15

(用戶控制)

功能模板(FunctionsPalette)

注:只有打開了流程圖程序窗口,才能出現(xiàn)功能模板。

功能模板是創(chuàng)建流程圖程序的工具。該模板上的每一個(gè)頂

層圖標(biāo)都表示一個(gè)子模板。若功能模板不出現(xiàn),則可以用

Windows菜單下的ShowFunctionsPalette功能打開它,也可

以在流程圖程序窗口的空白處點(diǎn)擊鼠標(biāo)右鍵以彈出功能模板。

功能模板如右圖所示,其子模塊如下所示。(個(gè)別不常用的

子模塊未包含)

圖標(biāo)子模板名稱功能

Structure(結(jié)構(gòu))包括程序控制結(jié)構(gòu)命令,例如循環(huán)控制等,以及全局

1

扇變量和局部變量。

fl231?Numeric(數(shù)值運(yùn)包括各種常用的數(shù)值運(yùn)算,還包括數(shù)制轉(zhuǎn)換、三角函

2算)數(shù)、對(duì)數(shù)、復(fù)數(shù)等運(yùn)算,以及各種數(shù)值常數(shù)。

Boolean(布爾運(yùn)

3E)|包括各種邏輯運(yùn)算符以及布爾常數(shù)。

算)

國(guó),Strin虱字符串運(yùn)包含各種字符串操作函數(shù)、數(shù)值與字符串之間的轉(zhuǎn)換

4

Ha)算)函數(shù),以及字符(串)常數(shù)等。

5Array(數(shù)組)包括數(shù)組運(yùn)算函數(shù)、數(shù)組轉(zhuǎn)換函數(shù),以及常數(shù)數(shù)組等。

Cluster(簇)包括簇的處理函數(shù),以及群常數(shù)等。這里的群相當(dāng)于

6

國(guó)C語言中的結(jié)構(gòu)。

Comparison(比

7包括各種比較運(yùn)算函數(shù),如大于、小于、等于。

叫較)

Time&Dialog(時(shí)包括對(duì)話框窗口、時(shí)間和出錯(cuò)處理函數(shù)等。

8

間和對(duì)話框)

File1/0(文件輸包括處理文件輸入/輸出的程序和函數(shù)。

9

團(tuán)入/輸出)

Data包括數(shù)據(jù)采集硬件的驅(qū)動(dòng),以及信號(hào)調(diào)理所需的各種

10需Acquisition(數(shù)功能模塊。

據(jù)采集)

11回Waveform(波形)各種波形處理工具

Analyze(分析)信號(hào)發(fā)生、時(shí)域及頻域分析功能模塊及數(shù)學(xué)工具。

12

InstrumentI/O包括GPIB(488、488.2)、串行、VXI儀器控制的程序

13徐(儀器輸入/輸和函數(shù),以及VISA的操作功能函數(shù)。

出)

Motion&Vision

14

唱1(運(yùn)動(dòng)與景像)

Mathematics(數(shù)包括統(tǒng)計(jì)、曲線擬合、公式框節(jié)點(diǎn)等功能模塊,以及

15

JJk學(xué))數(shù)值微分、積分等數(shù)值計(jì)算工具模塊。

Communication包括TCP、DDE、ActiveX和OLE等功能的處理模塊。

16H2

(通訊)

Application包括動(dòng)態(tài)調(diào)用VI、標(biāo)準(zhǔn)可執(zhí)行程序的功能函數(shù)。

17Control(應(yīng)用控

制)

Graphics&Sound包括3D、OpenGL、聲音播放等功能模塊。包括調(diào)用動(dòng)

18

勾(圖形與聲音)態(tài)連接庫和CIN節(jié)點(diǎn)等功能的處理模塊。

Tutorial/示教課

19包括LabVIEW示教程序。

程)

Report

20Generation(文檔

生成)

焉〉A(chǔ)dvanced(高級(jí)功

21

能)

SelectaVI(選

22

擇子VI)

UserLibrary(用

23

戶子VI庫)

1.4LabVIEW的初步操作

1.4.1創(chuàng)建VI和調(diào)用子VI

我們通過例子來說明如何創(chuàng)建一個(gè)VI。

練習(xí)1-1:

建立一個(gè)測(cè)量溫度和容積的VI,其中須調(diào)用一個(gè)仿真測(cè)量溫度和容積的傳感器子VI。

步驟如下:

1.選擇FiIe?New,打開一個(gè)新的前面板窗口。

2.從Controls?Numeric中選擇Tank放到前面板中。

3.在標(biāo)簽文本框中輸入“容積”,然后在前面板中的其他任何位置單擊一下。

4.把容器顯示對(duì)象的顯示范圍設(shè)置為0.0到1000.0,

a.使用文本編輯工具(TextEditTool),雙擊容器坐標(biāo)

的10.0標(biāo)度,使它高亮顯示。

b.在坐標(biāo)中輸入1000,再在前面板中的其他任何地方單

擊一下。這時(shí)0.0到1000.0之間的增量將被自動(dòng)顯示。

5.在容器旁配數(shù)據(jù)顯示。

將鼠標(biāo)移到容器上,點(diǎn)右鍵,在出現(xiàn)的快速菜單中選Visible

Iterms?DigitalDisplay即可。

6.從Controls?Numeric中選擇一個(gè)溫度計(jì),將它放到前

面板中。設(shè)置其標(biāo)簽為“溫度”,顯示范圍為0至打00,同時(shí)配數(shù)

字顯示??傻玫饺缦碌那懊姘鍒D。

圖1-3練習(xí)1-1的前面板圖

7.Windows?ShowDiagram打開流程圖窗口。從功能模板

中選擇對(duì)象,將它們放到流程圖上組成下圖(其中的標(biāo)注是后加

的)。

圖1-4練習(xí)1-1的流程圖

該流程圖中新增的對(duì)象有兩個(gè)乘法器、兩個(gè)數(shù)值常數(shù)、--個(gè)隨機(jī)數(shù)發(fā)生器、一個(gè)進(jìn)程監(jiān)

視器,溫度和容積對(duì)象是由前棉板的設(shè)置自動(dòng)帶出來的。

a.乘法器和隨機(jī)數(shù)發(fā)生器由Functions?Numeric中拖出,盡管數(shù)值常數(shù)也可以這

樣得到,但是建議使用c中的方法更好些。

b.進(jìn)程監(jiān)視器(ProcessMonitor)不是一個(gè)函數(shù),而是以子VI的方式提供的,它

存放在LabVIEW\Activity目錄中,調(diào)用它的方法是在Functions?SelectaVI

下打開ProcessMonitor,然后在流程圖上點(diǎn)擊一下,就可以出現(xiàn)它的圖標(biāo)。

注意:LabVIEW目錄一般在ProgramFiles\NationalInstruments'目錄下。

8.用連線工具團(tuán)將各對(duì)象按規(guī)定連接。a中的遺留問題創(chuàng)建數(shù)值常數(shù)對(duì)象的另一

種方法是在連線時(shí)一起完成。具體方法是:用連線工具在某個(gè)功能函數(shù)或VI的連

線端子上單擊鼠標(biāo)右鍵,再從彈出的菜單中選擇CreateConstant,就可以創(chuàng)建一

個(gè)具有正確的數(shù)據(jù)格式的數(shù)值常數(shù)對(duì)象。

9.選擇File?Save,把該VI保存為L(zhǎng)abVIEW\Activity目

錄中的Temp&Vol.vi0

在前面板中,單擊Run(運(yùn)行)按鈕,運(yùn)行該VI。注意電

壓和溫度的數(shù)值都顯示在前面板中。

10.選擇File?Close,關(guān)閉該VI。

練習(xí)1-1結(jié)束

附注與說明:

1.如果要查看某個(gè)功能函數(shù)或者VI的輸入輸出,需要從

Help菜單中選擇ShowHelp,再把光標(biāo)置于這個(gè)功能函數(shù)或者VI

上。例如進(jìn)程監(jiān)視器VI的Help窗口顯示如下:

ProcPPressure

IndexTemperalure

Non

Volume

ProcessMonitoi.vi

2.顯示對(duì)象(Indicator)、控制對(duì)象(Control)和數(shù)值常數(shù)對(duì)象

顯示對(duì)象和控制對(duì)象都是前面板上的控件,前者有輸入端子而無輸出端子,后者正好相

反,它們分別相當(dāng)于普通編程語言中的輸出參數(shù)和輸入?yún)?shù)。數(shù)值常數(shù)對(duì)象可以看成是控制

對(duì)象的一個(gè)特例。

在前面板中創(chuàng)建新的控制對(duì)象或顯示對(duì)象時(shí),Numeric

LabVIEW都會(huì)在流程圖中創(chuàng)建對(duì)應(yīng)的端子。端子的

符號(hào)反映該對(duì)象的數(shù)據(jù)類型。例如,DBL符號(hào)表示ChangetoControl

SynchronousDisplay

對(duì)象數(shù)據(jù)類型是雙精度數(shù);TF符號(hào)表示布爾數(shù);116FindTerminal

符號(hào)表示16位整型數(shù);ABC符號(hào)表示對(duì)象數(shù)據(jù)類型Show

DataOperations

是字符串。Create

一個(gè)對(duì)象應(yīng)當(dāng)是顯KeyNavigation...

Replace

示對(duì)象還是控制對(duì)象必

須弄清楚,否則無法正Representation,

DataRange...

Format&Precision...

確連線。有時(shí)他們的圖標(biāo)是相似或相同的,可以根據(jù)需要明確規(guī)

定它是顯示對(duì)象還是控制對(duì)象。方法是將鼠標(biāo)移到圖標(biāo)上,然后

點(diǎn)右鍵,可出現(xiàn)快速菜單(例見右圖)o如果菜單中的第一項(xiàng)是

ChangtoControl,說明這是一個(gè)顯示對(duì)象,你可以根據(jù)需要,將

其變?yōu)榭刂茖?duì)象。如果菜單中的第一項(xiàng)是ChangtoIndicator,

說明這是一個(gè)控制對(duì)象,你也可以根據(jù)需要,將其變?yōu)轱@示對(duì)象。

控制對(duì)象和顯示對(duì)象都不能在流程圖中刪除,只能從前面板

上刪除。

3.關(guān)于連線

連線是程序設(shè)計(jì)中較為復(fù)雜的問題。流程圖上的每一個(gè)對(duì)象都帶有自己的連線端子,連

線將構(gòu)成對(duì)象之間的數(shù)據(jù)通道。因?yàn)檫@不是幾何意義上的連線,因此并非任意兩個(gè)端子間都

可連線,連線類似于普通程序中的變量。數(shù)據(jù)單向流動(dòng),從源端口向一個(gè)或多個(gè)目的端口流

動(dòng)。不同的線型代表不同的數(shù)據(jù)類型。下面是一些常用數(shù)據(jù)類型所對(duì)應(yīng)的線型和顏色:

類型顏色標(biāo)量一維數(shù)組二維數(shù)組

整形數(shù)蘭色

浮點(diǎn)數(shù)橙色

邏輯量綠色

字符串粉色

文件路徑青色

當(dāng)需要連接兩個(gè)端點(diǎn)時(shí),在第一個(gè)端點(diǎn)上點(diǎn)擊連線工具(從工具模板欄調(diào)用),然后移

動(dòng)到另一個(gè)端點(diǎn),再點(diǎn)擊第二個(gè)端點(diǎn)。端點(diǎn)的先后次序不影響數(shù)據(jù)流動(dòng)的方向。

當(dāng)把連線工具放在端點(diǎn)上時(shí).,該端點(diǎn)區(qū)域?qū)?huì)閃爍,表示連線將會(huì)接通該端點(diǎn)。當(dāng)把

連線工具從一個(gè)端口接到另一個(gè)端口時(shí),不需要按住鼠標(biāo)鍵。當(dāng)需要連線轉(zhuǎn)彎時(shí),點(diǎn)擊一次

鼠標(biāo)鍵,即可以正交垂直方向地彎曲連線,按空格鍵可以改變轉(zhuǎn)角的方向。

接線頭是為了幫助正確連接端口的連線。當(dāng)把連線工具放到端口上,接線頭就會(huì)彈出。

接線頭還有一個(gè)黃色小標(biāo)識(shí)框,顯示該端口的名字。

線型為波折號(hào)的連線表示壞線。出現(xiàn)壞線的原因有很多,例如:連接了兩個(gè)控制對(duì)象;

源端子和終點(diǎn)端子的數(shù)據(jù)類型不匹配(例如一個(gè)是數(shù)字型,而另一個(gè)是布爾型)??梢酝ㄟ^

使用定位工具點(diǎn)擊壞線再按下〈Delete〉來刪除它。選擇Edit?RemoveBadWires或者按

下<Ctrl-B>可以一次刪除流程圖中的所有壞線。當(dāng)VI無法運(yùn)行,或者顯示Signalhas

LooseEnds(信號(hào)丟失終端)的錯(cuò)誤信息時(shí),這是一個(gè)快捷的調(diào)試方法。

1.4.2程序調(diào)試技術(shù)

1.找出語法錯(cuò)誤

如果一個(gè)VI程序存在語法錯(cuò)誤,則在面板工具條上的運(yùn)行按鈕會(huì)變成一個(gè)折斷的箭頭,

表示程序不能被執(zhí)行。這時(shí)該按鈕被稱作錯(cuò)誤列表。點(diǎn)擊它,則LabVIEW彈出錯(cuò)誤清單窗口,

點(diǎn)擊其中任何一個(gè)所列出的錯(cuò)誤,選用Find功能,則出錯(cuò)的對(duì)象或端口就會(huì)變成高亮。

2.設(shè)置執(zhí)行程序高亮

在LabVIEW的工具條上有一個(gè)畫著燈泡的按鈕,這個(gè)按鈕叫做“高亮執(zhí)行”按鈕上。

點(diǎn)擊這個(gè)按鈕使它變成高亮形式,再點(diǎn)擊運(yùn)行按鈕,VI程序就以較慢的速度運(yùn)行,沒有被

執(zhí)行的代碼灰色顯示,執(zhí)行后的代碼高亮顯示,并顯示數(shù)據(jù)流線上的數(shù)據(jù)值。這樣,你就可

以根據(jù)數(shù)據(jù)的流動(dòng)狀態(tài)跟蹤程序的執(zhí)行。

3.斷點(diǎn)與單步執(zhí)行

為了查找程序中的邏輯錯(cuò)誤,有時(shí)希望流程圖程序一個(gè)節(jié)點(diǎn)一個(gè)節(jié)點(diǎn)地執(zhí)行。使用斷

點(diǎn)工具可以在程序的某一地點(diǎn)中止程序執(zhí)行,用探針或者單步方式查看數(shù)據(jù)。使用斷點(diǎn)工具

時(shí),點(diǎn)擊你希望設(shè)置或者清除斷點(diǎn)的地方。斷點(diǎn)的顯示對(duì)于節(jié)點(diǎn)或者圖框表示為紅框,對(duì)于

連線表示為紅點(diǎn)。當(dāng)VI程序運(yùn)行到斷點(diǎn)被設(shè)置處,程序被暫停在將要執(zhí)行的節(jié)點(diǎn),以閃爍

表示。按下單步執(zhí)行按鈕,閃爍的節(jié)點(diǎn)被執(zhí)行,下一個(gè)將要執(zhí)行的節(jié)點(diǎn)變?yōu)殚W爍,指示它將

被執(zhí)行。你也可以點(diǎn)擊暫停按鈕,這樣程序?qū)⑦B續(xù)執(zhí)行直到下一個(gè)斷點(diǎn)。

4.探針

可用探針工具來查看當(dāng)流程圖程序流經(jīng)某?根連接線時(shí)的數(shù)據(jù)值。從Tools工具模板

選擇探針工具,再用鼠標(biāo)左建點(diǎn)擊你希望放置探針的連接線。這時(shí)顯示器上會(huì)出現(xiàn)一個(gè)探針

顯示窗口。該窗口總是被顯示在前面板窗口或流程圖窗口的上面。在流程圖中使用選擇工具

或連線工具,在連線上點(diǎn)擊鼠標(biāo)右鍵,在連線的彈出式菜單中選擇“探針”命令,同樣可以

為該連線加上一個(gè)探針。

1.4.3子VI的建立

子VI(SubVI)相當(dāng)于普通編程語言中的子程序,也就是被其他的VI調(diào)用的VI??梢?/p>

將任何個(gè)定義了圖標(biāo)和聯(lián)接器的VI作為另一個(gè)VI的子程序。在流程圖中打開

Functions?SelectaVI....,就可以選擇要調(diào)用的子VI。構(gòu)造一個(gè)子VI主要的工作就是定

義它的圖標(biāo)和聯(lián)接器。

每個(gè)VI在前面板和流程圖窗口的右上角都顯示了一個(gè)默認(rèn)的圖標(biāo)。啟動(dòng)圖標(biāo)編輯器的

方法是,用鼠標(biāo)右鍵單擊面板窗口的右上角的默認(rèn)圖標(biāo),在彈出菜單中選擇EditIcono

下圖顯示了圖標(biāo)編輯器的窗口??梢杂么翱谧筮叺母鞣N工具設(shè)計(jì)像素編輯區(qū)中的圖標(biāo)形

狀。編輯區(qū)右側(cè)的一個(gè)方框中顯示了?個(gè)實(shí)際大小的圖標(biāo)。圖標(biāo)編輯器的具體使用細(xì)節(jié)參閱

有關(guān)資料。

圖1-5圖標(biāo)編輯器窗口

聯(lián)接器是VI數(shù)據(jù)的輸入輸出接口。如果用面板控制對(duì)象或者顯示對(duì)象從子VI中輸

出或者輸入數(shù)據(jù),那么這些對(duì)象都需要在聯(lián)接器面板中有一個(gè)連線端子。您可以通過選擇

VI的端子數(shù)并為每個(gè)端子指定對(duì)應(yīng)的前面板對(duì)象以定義聯(lián)接器。

定義聯(lián)接器的方法是,用鼠標(biāo)右鍵單擊面板窗口中的圖標(biāo)窗口,在快捷菜單中選擇

ShowConnectoro

聯(lián)接器圖標(biāo)會(huì)取代面板窗口右上角的圖標(biāo)。LabVIEW自動(dòng)選擇的端子連接模式是控制

對(duì)象的端子位于聯(lián)接器窗口的左邊,顯示對(duì)象的端子位于聯(lián)接器窗口右邊。選擇的端子數(shù)取

決于前面板中控制對(duì)象和顯示對(duì)象的個(gè)數(shù)。

聯(lián)接器中的各個(gè)矩形表示各個(gè)端子所在的區(qū)域,可以用它們從VI中輸入或者輸出數(shù)

據(jù)。如果必要,也可以選擇另外一種端子連接模式。方法是在圖標(biāo)上單擊鼠標(biāo)右鍵單出快捷

菜單,選擇ShowConnector,再次彈出快捷菜單,選擇Patterns。下面我們通過一個(gè)練習(xí)

說明具體操作。

練習(xí)1-2為VI創(chuàng)建圖標(biāo)和聯(lián)接器

1.打開LabVIEWXActivity目錄中的Temp&Vol.vi,這是練習(xí)1-1做的程序。

2.在前面板中,用鼠標(biāo)右鍵單擊窗口右上角的圖標(biāo),在快捷菜單中選擇EditIcon....,

也可以雙擊圖標(biāo)激活圖標(biāo)編輯器。注意只能在前面板中編輯圖標(biāo)利聯(lián)接器。

3.刪除默認(rèn)圖標(biāo)。使用SelectTool(矩形框),單擊并拖動(dòng)想要?jiǎng)h除的部分,按下

〈Delete〉。也可以通過雙擊工具框中的陰影矩形刪除圖標(biāo)。

4.用PencilTool(鉛筆工具)繪制一個(gè)溫度計(jì)。

5.用TextTool(文本工具)創(chuàng)建文本。得到圖標(biāo)將如下圖所示。

IconEditora

J

iB&WCopyfrom:

aQ於;?:三!?我:;

亙廣生<::r/、“、

nTEMP'>、:.?Y,、,、

...4.VS'.,:%

IB16ColorsO

I-"ShowTerminals

圖1—6編輯后的圖標(biāo)編輯器窗口

6.單擊OK,關(guān)閉編輯器。新創(chuàng)建的圖標(biāo)就顯示在屏幕右上角的圖標(biāo)窗口中。

7.用鼠標(biāo)右鍵單擊前面板中的圖標(biāo)窗口,在快捷菜單中選擇Show

Connector,設(shè)置聯(lián)接器端子連接模式。在默認(rèn)情況下,LabVIEW會(huì)

根據(jù)前面板中的控制對(duì)象和顯示對(duì)象的數(shù)目確定聯(lián)接器的端子連接

模式。因?yàn)榍懊姘逯杏袃蓚€(gè)對(duì)象,所以聯(lián)接器有兩個(gè)端子,如左圖

所示。用鼠標(biāo)右鍵單擊聯(lián)接器窗口,在快捷菜單中選擇Rotate90

Degrees(旋轉(zhuǎn)90度),注意聯(lián)接器窗口的變化,如左圖所示。B

9.將端子連接到溫度計(jì)和電壓計(jì):

a.點(diǎn)擊聯(lián)接器上部端子。光標(biāo)自動(dòng)變成連線工具,同時(shí)端子變成黑色。

b.單擊溫度顯示對(duì)象。一個(gè)移動(dòng)的虛線框把它包圍起來,選中的端子的顏色變?yōu)?/p>

與控制/顯示對(duì)象的數(shù)據(jù)類型一致的顏色。

如果單擊前面板中的任何空白區(qū)域以后,虛線消失,選中的

端子變暗,這表示您已經(jīng)成功地把顯示對(duì)象和上部端子連接起

來。如果端子是白色,則表示沒有連接成功。

c.重復(fù)步驟a和b,把底部的端子和容積計(jì)連接起來。

d.用鼠標(biāo)右鍵單擊聯(lián)接器,在快捷菜單中選擇ShowIcon-.

10.選擇File?Save,保存該VI。

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論