計(jì)算機(jī)虛擬儀器圖形編程_第1頁(yè)
計(jì)算機(jī)虛擬儀器圖形編程_第2頁(yè)
計(jì)算機(jī)虛擬儀器圖形編程_第3頁(yè)
計(jì)算機(jī)虛擬儀器圖形編程_第4頁(yè)
計(jì)算機(jī)虛擬儀器圖形編程_第5頁(yè)
已閱讀5頁(yè),還剩75頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)虛擬儀器圖形編程

LabVIEW實(shí)驗(yàn)教材

北京中科泛華測(cè)控技術(shù)有限公司

目錄

第一課LABVIEW概述..............................................................5

第一節(jié)虛擬儀器(VI)的概念......................................................5

第二節(jié)LABVIEW的操作模板.......................................................7

工具模板(ToolsPalette)..............................................................................................................7

控制模板(ControlsPalette).............................................................................................................9

功能模板(FunctionsPalette)..........................................................................................................10

第三節(jié)創(chuàng)建一個(gè)VI程序...........................................................12

1.前面板..................................................................12

框圖程序........................................................................13

從框圖程序窗口創(chuàng)建前面板對(duì)象...................................................15

4.數(shù)據(jù)流編程..............................................................15

第四節(jié)程序調(diào)試技術(shù)..............................................................16

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

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

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

4.探針....................................................................17

第五節(jié)練習(xí)1-1...............................................................................................................................17

第六節(jié)把一個(gè)VI程序作為子VI程序調(diào)用...........................................21

第七節(jié)練習(xí)1-2...............................................................................................................................22

第八節(jié)練習(xí)1-3...............................................................................................................................25

第九節(jié)練習(xí)1-4...............................................................................................................................27

第十節(jié)練習(xí)1-5...............................................................................................................................30

第二課數(shù)據(jù)采集....................................................................34

第一節(jié)概述......................................................................34

第二節(jié)數(shù)據(jù)采集VI程序的調(diào)用方法................................................37

第三節(jié)模擬輸入與輸出............................................................38

練習(xí)2-1..........................................................................................................................................39

第四節(jié)波形的采集與產(chǎn)生.........................................................42

練習(xí)2-2..........................................................................................................................................43

第五節(jié)掃描多個(gè)模擬輸入通道.....................................................44

練習(xí)2-3..........................................................................................................................................45

第六節(jié)連續(xù)數(shù)據(jù)采集..............................................................46

練習(xí)2-4..........................................................................................................................................47

第三課儀器控制....................................................................49

第一節(jié)概述......................................................................49

第二節(jié)串行通訊..................................................................49

第三節(jié)IEEE488(GP舊)概述....................................................51

練習(xí)3-1..........................................................................................................................................53

第四節(jié)VISA編程.................................................................54

練習(xí)3-2..........................................................................................................................................56

第五節(jié)用LABVIEW編寫儀器驅(qū)動(dòng)程序.............................................58

第六節(jié)驗(yàn)證儀器驅(qū)動(dòng)軟件..........................................................58

練習(xí)3-3..........................................................................................................................................60

第四課分析軟件.................................................................63

第一節(jié)概述......................................................................63

第二節(jié)、高級(jí)分析功能程序.........................................................63

第三節(jié)信號(hào)產(chǎn)生..................................................................64

練習(xí)4-1..........................................................................................................................................65

第四節(jié)信號(hào)處理..................................................................66

練習(xí)4-2..........................................................................................................................................67

第五節(jié)數(shù)字濾波器................................................................68

練習(xí)4-3..........................................................................................................................................69

第六節(jié)曲線擬合..................................................................71

練習(xí)4-4..........................................................................................................................................71

練習(xí)4-5..........................................................................................................................................73

第五課實(shí)用工具軟件包.............................................................75

第一節(jié)概述......................................................................75

第二節(jié)常用軟件工具箱............................................................75

第三節(jié)分析工具軟件..............................................................78

第一課LabVIEW概述

第一節(jié)虛擬儀器(VI)的概念

使用LabVIEW開發(fā)平臺(tái)編制的程序稱為虛擬儀器程序,簡(jiǎn)稱為VI。VI包

括三個(gè)部分:程序前面板、框圖程序和圖標(biāo)/連接器。

程序前面板用于設(shè)置輸入數(shù)值和觀察輸出量,用于模擬真實(shí)儀表的前面板。

在程序前面板上,輸入量被稱為控制(Controls),輸出量被稱為顯示

(Indicators卜控制和顯示是以各種圖標(biāo)形式出現(xiàn)在前面板上,如旋鈕、開關(guān)、

Temperature

Model100.00-

75.00-

50.00-

25.00-

0.00-

按鈕、圖表、圖形等,這使這得前面板直觀易懂。下面是一個(gè)溫度計(jì)程序

(ThermometerVI)的前面板。

每一個(gè)程序前面板都對(duì)應(yīng)著一段框圖程序??驁D程序用LabVIEW圖形編程語(yǔ)

言編寫,可以把它理解成傳統(tǒng)程序的源代碼。框圖程序由端口、節(jié)點(diǎn)、圖框和連

線構(gòu)成。其中端口被用來同程序前面板的控制和顯示傳遞數(shù)據(jù),節(jié)點(diǎn)被用來實(shí)現(xiàn)

函數(shù)和功能調(diào)用,圖框被用來實(shí)現(xiàn)結(jié)構(gòu)化程序控制命令,而連線代表程序執(zhí)行過

程中的數(shù)據(jù)流,定義了框圖內(nèi)的數(shù)據(jù)流動(dòng)方向。上述溫度計(jì)程序(Thermometer

VI)的框圖程序如下:

圖標(biāo)/連接器是子VI被其它VI調(diào)用的接口。圖標(biāo)是子VI在其他程序框圖中

.

被調(diào)用的節(jié)點(diǎn)表現(xiàn)形式;而連接器則表示節(jié)點(diǎn)數(shù)據(jù)的輸入/輸出口,就象函數(shù)的

參數(shù)。用戶必須指定連接器端口與前面板的控制和顯示一一對(duì)應(yīng)。下面圖示為溫

度計(jì)程序(ThermometerVI)的圖標(biāo)和連接器。連接器一般情況下隱含不顯示,除

非用戶選擇打開觀察它。

LabVIEW的強(qiáng)大功能歸因于它的層次化結(jié)構(gòu),用戶可以把創(chuàng)建的VI程序當(dāng)

作子程序調(diào)用,以創(chuàng)建更復(fù)雜的程序,而這種調(diào)用的層次是沒有限制的。

舉一個(gè)例子,我們把前面創(chuàng)建的溫度計(jì)程序(ThermometerVI)作為一個(gè)子程

延遲時(shí)間(sec)

測(cè)量次數(shù)

溫度曲線

degF

序用在當(dāng)前新建程序里,當(dāng)前程序的前面板如下圖所示,先前的溫度計(jì)子程序用

于采集數(shù)據(jù),而當(dāng)前的程序用于顯示溫度曲線,并在前面板上設(shè)定測(cè)量次數(shù)和每

次測(cè)量間隔的延時(shí)。

當(dāng)前程序的框圖如下圖所示,它把溫度計(jì)子程序放置在一個(gè)FOR循環(huán)里,每

次循環(huán)過程采集一次測(cè)量結(jié)果,當(dāng)循環(huán)執(zhí)行了設(shè)定的次數(shù)后,程序把采集的數(shù)據(jù)

送到前面板的圖表上顯示。

LabVIEW這種創(chuàng)建和調(diào)用子程序的方法,使創(chuàng)建的程序結(jié)構(gòu)模塊化,更易于

調(diào)試、理解和維護(hù)。

第二節(jié)LabVIEW的操作模板

LabVIEW具有多個(gè)圖形化的操作模板,用于創(chuàng)建和運(yùn)行程序。這些操作模板

可以隨意在屏幕上移動(dòng),并可以放置在屏幕的任意位置。操縱模板共有三類,為

工具(Tools)模板、控制(Controls)模板和功能(Functions)模板。

工具模板(ToolsPalette)

工具模板為編程者提供了各種用于創(chuàng)建、修改和調(diào)試

VI程序的工具。如果該模板沒有出現(xiàn),則可以在Windows

菜單下選擇ShowToolsPalette命令以顯示該模板。當(dāng)從模板內(nèi)選擇了任一種

工具后,鼠標(biāo)箭頭就會(huì)變成該工具相應(yīng)的形狀。當(dāng)從Windows菜單下選擇了Show

HelpWindow功能后,把工具模板內(nèi)選定的任一種工具光標(biāo)放在框圖程序的子程

序(SubVI)或圖標(biāo)上,就會(huì)顯示相應(yīng)的幫助信息。工具圖標(biāo)有如下幾種:

畫操作工具:使用該工具來操作前面板的控制和顯示。使用它向數(shù)字或字符

,串控制中鍵入值時(shí),工具會(huì)變成標(biāo)簽工具的形狀。

國(guó)選擇工具:用于選擇、移動(dòng)或改變對(duì)象的大小。當(dāng)它用于改變對(duì)象的連框

大小時(shí),會(huì)變成相應(yīng)形狀。

國(guó)標(biāo)簽工具:用于輸入標(biāo)簽文本或者創(chuàng)建自由標(biāo)簽。當(dāng)創(chuàng)建自由標(biāo)簽時(shí)它會(huì)

變成相應(yīng)形狀。

國(guó)連線工具:用于在框圖程序上連接對(duì)象。如果聯(lián)機(jī)幫助的窗口被打開時(shí),

把該工具放在任一條連線上,就會(huì)顯示相應(yīng)的數(shù)據(jù)類型。

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

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

回?cái)帱c(diǎn)工具:使用該工具在VI的框圖對(duì)象上設(shè)置斷點(diǎn)。

國(guó)探針工具:可以在框圖程序內(nèi)的數(shù)據(jù)流線上設(shè)置探針。程序調(diào)試員可以通

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

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

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

-------------------------'feo

與上述工具模板不同,控制和功能模板只顯示頂層子模板的圖標(biāo)。在這些頂

層子模板中包含許多不同的控制或功能子模板。通過這些控制或功能子模板可以

找到創(chuàng)建程序所需的面板對(duì)象和框圖對(duì)象。用鼠標(biāo)點(diǎn)擊頂層子模板圖標(biāo)就可以展

開對(duì)應(yīng)的控制或功能子模板,只需按下控制或功能子模板左上角的大頭針就可以

把對(duì)這個(gè)子模板變成浮動(dòng)板留在屏幕上。

控制模板(ControlsPalette)

用控制模板可以給前面板添加輸入控

制和輸出顯示。每個(gè)圖標(biāo)代表一個(gè)子模板。

如果控制模板不顯示,可以用Windows菜

單的ShowControlsPalette功能打開它,

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

以彈出控制模板。

注:只有當(dāng)打開前面板窗口時(shí)才能調(diào)用控

制模板。

控制模板如左圖所示,它包括如圖所

示的幾個(gè)子模板。

J'數(shù)值子模板:包含數(shù)值的控制和

布爾值子模塊:邏輯數(shù)值的控制和顯示。

晶字符串子模板:字符串和表格的控制和顯示。

H列表和環(huán)(Ring)子模板:菜單環(huán)和列表欄的控制和顯示。

數(shù)組和群子模板:復(fù)合型數(shù)據(jù)類型的控制和顯示。

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

路徑和參考名(Refnum)子模板:文件路徑和各種標(biāo)識(shí)的控制和顯示。

控件容器庫(kù)子模板:用于操作OLE、ActiveX等功能。

對(duì)話框子模板:用于輸入對(duì)話框的顯示控制。

OA*修飾子模板:用于給前面板進(jìn)行裝飾的各種圖形對(duì)象。

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

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

功能模板(FunctionsPalette)

功能模板是創(chuàng)建框圖程序的工具。該模板上的每一個(gè)頂層圖標(biāo)都表示一個(gè)子

模板。若功能模板不出現(xiàn),則可以用Windows菜單下的ShowFunctionsPalette

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

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

tab/

同字符串運(yùn)算子模板:包含各種字符串操作函數(shù)、數(shù)值與字符串之間的轉(zhuǎn)換

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

畫數(shù)組子模板:包括數(shù)組運(yùn)算函數(shù)、數(shù)組轉(zhuǎn)換函數(shù),以及常數(shù)數(shù)組等。

明,群子模板。包括群的處理函數(shù),以及群常數(shù)等。這里的群相當(dāng)于C語(yǔ)言中

上」的結(jié)構(gòu)。

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

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

局,文件輸入/輸出子模板:包括處理文件輸入/輸出的程序和函數(shù)。

儀器控制子模板:包括GPIB(488、488.2)、串行、VXI儀器控制的程序

和函數(shù),以及VISA的操作功能函數(shù)。

儀器驅(qū)動(dòng)程序庫(kù):用于裝入各種儀器驅(qū)動(dòng)程序。

數(shù)據(jù)采集子模板:包括數(shù)據(jù)采集硬件的驅(qū)動(dòng)程序,以及信號(hào)調(diào)理所需的

各種功能模塊。

信號(hào)處理子模板:包括信號(hào)發(fā)生、時(shí)域及頻域分析功能模塊。

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

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

圖形與聲音子模塊:包括3D、OpenGL、聲音播放等功能模塊。

通訊子模板:包括TCP、DDE、ActiveX和OLE等功能的處理模塊。

應(yīng)用程序控制子模塊:包括動(dòng)態(tài)調(diào)用VI、標(biāo)準(zhǔn)可執(zhí)行程序的功能函數(shù)。

底層接口子模塊:包括調(diào)用動(dòng)態(tài)連接庫(kù)和CIN節(jié)點(diǎn)等功能的處理模塊。

文檔生成子模板。

示教課程子模板:包括LabVIEW示教程序。

睦叱用戶自定義的子VI模板。

“選擇…VI子程序”子模板:包括一個(gè)對(duì)話框,可以選擇一個(gè)VI程序

作為子程序(SUBVI)插入當(dāng)前程序中。

其它幾個(gè)子模板是LabVIEW的附加Toolkit安裝上去的。在LabVIEW完全版

中不包括這些子模板。

第三節(jié)創(chuàng)建一個(gè)VI程序

請(qǐng)記住,VI程序具有三個(gè)要素:前面板、框圖程序和圖標(biāo)/連接器。我們將

在練習(xí)IT中討論圖標(biāo)/連接器。

1.前面板

使用輸入控制和輸出顯示來構(gòu)成前面板??刂剖怯脩糨斎霐?shù)據(jù)到程序的接

口。而顯示是輸出程序產(chǎn)生的數(shù)據(jù)接口。控制和顯示有許多種類,可以從控制模

板的各個(gè)子模板中選取。

兩種最常用的前面板對(duì)象是數(shù)字控制和數(shù)字顯示。若想要在數(shù)字控制中輸入

或修改數(shù)值,你只需要用操作工具(見工具模板)點(diǎn)擊控制部件和增減按鈕,或

者用操作工具或標(biāo)簽工具雙擊數(shù)值欄進(jìn)行輸入數(shù)值修改。

框圖

前面板

AA+B

p.00

BA-B

|0.00

2.框圖程序

框圖程序是由節(jié)點(diǎn)、端點(diǎn)、圖框和連線四種元素構(gòu)成的。

范良類似于文本語(yǔ)言程序的語(yǔ)句、函數(shù)或者子程序。LabVIEW有二種節(jié)點(diǎn)類

型一一函數(shù)節(jié)點(diǎn)和子VI節(jié)點(diǎn)。兩者的區(qū)別在于:函數(shù)節(jié)點(diǎn)是LabVIEW以編譯好

了的機(jī)器代碼供用戶使用的,而子VI節(jié)點(diǎn)是以圖形語(yǔ)言形式提供給用戶的。用

戶可以訪問和修改任一子VI節(jié)點(diǎn)的代碼,但無法對(duì)函數(shù)節(jié)點(diǎn)進(jìn)行修改。上面的

框圖程序所示的VI程序有兩個(gè)功能函數(shù)節(jié)點(diǎn),一個(gè)函數(shù)使兩個(gè)數(shù)值相加,另一

個(gè)函數(shù)使兩數(shù)相減。

端點(diǎn)是只有一路輸入/輸出,且方向固定的節(jié)點(diǎn)。LabVIEW有三類端點(diǎn)一一

前面板對(duì)象端點(diǎn)、全局與局部變量端點(diǎn)和常量端點(diǎn)。對(duì)象端點(diǎn)是數(shù)據(jù)在框圖程序

部分和前面板之間傳輸?shù)慕涌?。一般來說,一個(gè)VI的前面板上的對(duì)象(控制或

顯示)都在框圖中有一個(gè)對(duì)象端點(diǎn)與之一一對(duì)應(yīng)。當(dāng)在前面板創(chuàng)建或刪除面板對(duì)

象時(shí),可以自動(dòng)創(chuàng)建或刪除相應(yīng)的對(duì)象端點(diǎn)。控制對(duì)象對(duì)應(yīng)的端點(diǎn)在框圖中是用

粗框框住的,如例子中的A和B端點(diǎn)。它們只能在VI程序框圖中作為數(shù)據(jù)流源

點(diǎn)。顯示對(duì)象對(duì)應(yīng)的端點(diǎn)在框圖中是用細(xì)框框住的。如例子中的A+B和A-B端點(diǎn)。

它們只能在VI程序框圖中作為數(shù)據(jù)流終點(diǎn)。常量端點(diǎn)永遠(yuǎn)只能在VI程序框圖中

作為數(shù)據(jù)流源點(diǎn)。

圖框是LabVIEW實(shí)現(xiàn)程序結(jié)構(gòu)控制命令的圖形表示。如循環(huán)控制、條件分支

控制和順序控制等,編程人員可以使用它們控制VI程序的執(zhí)行方式。代碼接口

節(jié)點(diǎn)(CIN)是框圖程序與用戶提供的C語(yǔ)言文本程序的接口。

連線是端口間的數(shù)據(jù)通道。它們類似于普通程序中的變量。數(shù)據(jù)是單向流動(dòng)

的,從源端口向一個(gè)或多個(gè)目的端口流動(dòng)。不同的線型代表不同的數(shù)據(jù)類型。在

彩顯上,每種數(shù)據(jù)類型還以不同的顏色予以強(qiáng)調(diào)。

下面是一些常用數(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í)框,顯示該端口的

3.從框圖程序窗口創(chuàng)建前面板對(duì)象

用選擇和連線工具,你都可以用鼠標(biāo)右鍵點(diǎn)擊任一節(jié)點(diǎn)和端點(diǎn),然后從彈出

菜單中選擇“創(chuàng)建常數(shù)”:創(chuàng)建控制",或“創(chuàng)建顯示”等命令。LabVIEW會(huì)自

動(dòng)地在被創(chuàng)建的端點(diǎn)與所點(diǎn)擊對(duì)象之間接好連線。

4.數(shù)據(jù)流編程

控制VI程序的運(yùn)行方式叫做‘?dāng)?shù)據(jù)流”。對(duì)一個(gè)節(jié)點(diǎn)而言,只有當(dāng)它的所有

輸入端口上的數(shù)據(jù)都成為有效數(shù)據(jù)時(shí),

它才能被執(zhí)行。當(dāng)節(jié)點(diǎn)程序運(yùn)行完畢

后,它把結(jié)果數(shù)據(jù)送給所有的輸出端

口,使之成為有效數(shù)據(jù)。并且數(shù)據(jù)很快

從源送到目的端口。

如左圖所示,這個(gè)VI程序把兩個(gè)

輸入數(shù)值相乘,再把乘積減去50.0o

這個(gè)程序中,框圖程序從左往右執(zhí)行,這個(gè)執(zhí)行次序不是由于對(duì)象的擺放位置,

而是由于相減運(yùn)算函數(shù)的一個(gè)輸入量是相乘函數(shù)的運(yùn)算結(jié)果,它只有當(dāng)相乘運(yùn)算

完成并把結(jié)果送到減運(yùn)算的輸入口后才能繼續(xù)下去。請(qǐng)記住,一個(gè)節(jié)點(diǎn)(函數(shù))

只有當(dāng)它所有的輸入端的數(shù)據(jù)都成為有效數(shù)據(jù)后才能被執(zhí)行,而且只有當(dāng)它執(zhí)行

完成后,它的所有輸出端口上的數(shù)據(jù)才成為有效。

再看另一個(gè)程序(見右圖),你

認(rèn)為哪一個(gè)節(jié)點(diǎn)函數(shù)將先執(zhí)行-

是乘法還是除法?在這個(gè)例子中,

我們無法知道哪一個(gè)節(jié)點(diǎn)函數(shù)首先

執(zhí)行,因?yàn)樗休斎肓繋缀跬瑫r(shí)到

達(dá)。對(duì)于這樣一種相互獨(dú)立的數(shù)據(jù)

流程,如果又必須明確指定節(jié)點(diǎn)執(zhí)

行的先后次序,就必須使用順序

(Sequence)結(jié)構(gòu)來明確執(zhí)行次序。

第四節(jié)程序調(diào)試技術(shù)

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

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

個(gè)折斷的箭頭,表示程序不能被執(zhí)行。這時(shí)這個(gè)按鈕被稱作錯(cuò)誤列表。點(diǎn)擊它,

則LabVIEW彈出錯(cuò)誤清單窗口,點(diǎn)擊其中任何一個(gè)所列出的錯(cuò)誤,選用Find功

能,則出錯(cuò)的對(duì)象或端口就會(huì)變成高亮。

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

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

按鈕上。點(diǎn)擊這個(gè)按鈕使該按鈕圖標(biāo)變成高亮形式,再點(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ò)誤,你也許希望框圖程序一個(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è)探針。

第五節(jié)練習(xí)1-1

目的:創(chuàng)建一個(gè)VI程序,以便以后作為子VI程序使用。

創(chuàng)建一個(gè)VI程序模擬溫度測(cè)量。假設(shè)傳感器輸出電壓與溫度成正比。例如,

當(dāng)溫度為70竽時(shí),傳感器輸出電壓為0.7V。本程序也可以用攝氏溫度來代替華

氏溫度顯不。

本程序用軟件代替了DAQ數(shù)據(jù)采集卡。使用DemoReadVoltage子程序來仿

真電壓測(cè)量,然后把所測(cè)得的電壓值轉(zhuǎn)換成攝氏或華氏溫度讀數(shù)。

前面板:

溫度討

溫度值單位

|o7oo

攝氏

B華氏

1.用File菜單的New選項(xiàng)打開一■"1K新的前面板窗口。

2.把溫度計(jì)指示部件放入前面板窗口。

a.在前面板窗口的空白處點(diǎn)擊鼠標(biāo)鍵,然后從彈出的Numeric子模板

中選擇Thermometer0

b.在高亮的文本框中輸入“溫度計(jì)”,再點(diǎn)擊鼠標(biāo)鍵按鈕。

3.重新設(shè)定溫度計(jì)的標(biāo)尺范圍為0.0到100.0。使用標(biāo)簽工具A,雙擊溫

度計(jì)標(biāo)尺的10.0,輸入100.0,再點(diǎn)擊鼠標(biāo)鍵或者工具欄中的V按鈕。

4.在前面板窗口中放入豎直開關(guān)控制。

a.在面板窗口的空白處點(diǎn)擊鼠標(biāo)鍵,然后彈出的Boolean子模板中選

擇VerticalSwitch,在文本框中輸入"溫度值單位”,再點(diǎn)擊鼠標(biāo)

鍵或者工具欄中的V按鈕。

b.使用標(biāo)簽工具A,在開關(guān)的“條件真"(true)位置旁邊輸入自由

標(biāo)簽‘?dāng)z氏”,再在‘條件假"(false)位置旁邊輸入自由標(biāo)簽‘華

氏”。

框圖程序:

1.從Windows菜單下選擇ShowDiagram功能打開框圖程序窗口。

2.點(diǎn)擊框圖程序窗口的空白處,彈出功能模板,從彈出的菜單中選擇所需

的對(duì)象。本程序用到下面的對(duì)象:

DemoReadVoltageVI程序(Tutorial子模板卜在本例中,該程序模

擬從DAQ卡的0通道讀取電壓值。

Multiply(乘法)功能(Numeric子模板卜在本例中,將讀取電壓值

乘以100.00,以獲得華氏溫度。

Subtract(減法)功能(Numeric子模板卜在本例中,從華氏溫度中

減去32.0,以轉(zhuǎn)換成攝氏溫度。

Divide(除法)功能(Numeric子模板卜在本例中,把相減的結(jié)果除

以1.8以轉(zhuǎn)換成攝氏溫度。

Select(選擇)功能(Comparison子模板卜取決于溫標(biāo)選擇開關(guān)的值。

該功能輸出華氏溫度(當(dāng)選擇開關(guān)為false)或者攝氏溫度(選擇開關(guān)

為True)數(shù)值。

數(shù)值常數(shù)。用連線工具,點(diǎn)擊你希望連接一個(gè)數(shù)值常數(shù)的對(duì)象,并選擇

CreateConstant功能。若要修改常數(shù)值,用標(biāo)簽工具雙點(diǎn)數(shù)值,再寫

入新的數(shù)值。

字符串常量。用連線工具,點(diǎn)擊你希望連接字符串常量的對(duì)象,再選擇

CreateConstant功能。要輸入字符串,用標(biāo)簽工具雙擊字符串,再輸

入新的字符串。

3.使用移位工具(Positioningtool),把圖標(biāo)移至圖示的位置,再用連

線工具連接起來。

請(qǐng)記住,如果要顯示圖標(biāo)接線端口,則點(diǎn)擊圖標(biāo),再

從彈出菜單中選擇ShowTerminals功能。也可以從

Help菜單中選擇ShowHelp功能以打開幫助信息窗

n

DemoReadVoltageVI子程序模擬從數(shù)據(jù)采集卡的0通道讀取電壓,

我們的程序再將讀數(shù)乘以100.0轉(zhuǎn)換成華氏溫度讀數(shù),或者再把華氏

溫度轉(zhuǎn)換成攝氏溫度。

4.選擇前面板窗口,使之變成當(dāng)前窗口,并運(yùn)行VI程序。點(diǎn)擊連續(xù)運(yùn)行

按鈕,便程序運(yùn)行于連續(xù)運(yùn)行模式。

5.再點(diǎn)擊連續(xù)運(yùn)行按鈕,關(guān)閉連續(xù)運(yùn)行模式。

6.創(chuàng)建圖標(biāo)Temp:

此圖標(biāo)可以將現(xiàn)程序作為子程序在其他程序中調(diào)用。創(chuàng)建方法如下:

a.在面板窗口的右上角的圖標(biāo)框中點(diǎn)擊鼠標(biāo)從彈出菜單中選擇Edit

Icon功能。

b.雙點(diǎn)選擇工具,并按下Delete鍵,消除缺省的圖標(biāo)圖案。

c.用畫圖工具畫出溫度計(jì)的圖標(biāo)。

注意,在用鼠標(biāo)畫線時(shí)按下<shift>鍵,

則可以畫出水平或垂直方向的連線。

使用文本工具寫入文字,雙擊文本工具把字體換成SmallFonto

當(dāng)圖標(biāo)創(chuàng)建完成后,點(diǎn)擊0K以關(guān)閉圖標(biāo)編輯。生成的圖標(biāo)在面板窗口

的右上角。

7.創(chuàng)建聯(lián)接器端口:

a.點(diǎn)擊右上角的圖標(biāo)面板,從彈出菜單中選擇ShowConnector功能。

LabVIEW將會(huì)根據(jù)控制和顯示的數(shù)量選擇一種聯(lián)接器端口模式。在

本例中,只有兩個(gè)端口,一個(gè)是豎直開關(guān),另一個(gè)是溫度指示。

b.把聯(lián)接器端口定義給開關(guān)和溫度指示。

C.使用連線工具,在左邊的聯(lián)接器端口框內(nèi)按鼠標(biāo)鍵,則端口將會(huì)變

黑。再點(diǎn)擊開關(guān)控制件,一個(gè)閃爍的虛線框?qū)鼑≡撻_關(guān)。

d.現(xiàn)在再點(diǎn)擊右邊的聯(lián)接器端口框,使它變黑。再點(diǎn)擊溫度指示部件,

一個(gè)閃爍的虛線框?qū)鼑囟戎甘静考?,這即表示著右邊的聯(lián)接

器端口對(duì)應(yīng)溫度指示部件的數(shù)據(jù)輸入。

e.如果再點(diǎn)擊空白外,則虛線框?qū)⑾В懊嫠x擇的聯(lián)接器端口

將變暗,表示你已經(jīng)將對(duì)象部件定義到各個(gè)聯(lián)接器端口。

注意:LabVIEW的慣例是前面板上控制的聯(lián)接器端

口放在圖標(biāo)的接線面板的左邊,而顯示的聯(lián)接器端

口放在圖標(biāo)的接線面板的右邊。也就是說,圖標(biāo)的

左邊為輸入端口而右邊為輸出端口。

以后我們會(huì)講到如何使用SubVIFromSelection功能來創(chuàng)建子程序SubVI。

8.確認(rèn)當(dāng)前文件的程序庫(kù)路徑為Seminar.LLB,用文件菜單的SAVE功能

保存上述文件,并將文件命名為Thermometer.Vi。

現(xiàn)在,該程序已經(jīng)編制完成了。它可以在其他程序中作為子程序來調(diào)用,在

其它程序的框圖窗口里,該溫度計(jì)程序用前面創(chuàng)建的圖標(biāo)來表示。聯(lián)接器端口的

輸入端用于選擇溫度單位,輸出端用于輸出溫度值。

9.關(guān)閉該程序

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

第六節(jié)把一個(gè)VI程序作為子VI程序調(diào)用

在任意一個(gè)VI程序的框圖窗口里都可以把其他的VI程序作為子程序調(diào)用,

只要被調(diào)用VI程序定義了圖標(biāo)和聯(lián)接器端口即可。用戶使用功能模板的Select

aVI來完成。當(dāng)使用該功能時(shí),將彈出一個(gè)對(duì)話框,用戶可以輸入文件名。

一個(gè)子VI程序,相當(dāng)于普通程序的子程序。節(jié)點(diǎn)相當(dāng)于子程序調(diào)用。子程

序節(jié)點(diǎn)并不是子程序本身,就象一般程序的子程序調(diào)用語(yǔ)句并不是子程序本身一

樣。如果在一個(gè)框圖程序中,有幾個(gè)相同的子程序節(jié)點(diǎn),它就象多次調(diào)用相同的

子程序。請(qǐng)注意,該子程序的拷貝并不會(huì)在內(nèi)存中存儲(chǔ)多次。

第七節(jié)練習(xí)1-2

且兇工使用一個(gè)條件循環(huán)結(jié)構(gòu)和一個(gè)被測(cè)波形圖表實(shí)時(shí)地采集數(shù)據(jù)。

學(xué)員將創(chuàng)建一個(gè)VI程序,進(jìn)行溫度測(cè)量,并把結(jié)果在波形圖表上顯示。該

VI程序使用我們前面創(chuàng)建的溫度計(jì)程序(ThermometerVI)作為子程序。

前面板:

溫度歷史趨勢(shì)Plot0

Enable

Mode

攝氏

1.打開一個(gè)新的前面板窗口,在里面放一個(gè)豎直開關(guān)(在Boolean邏輯部

件子模板),給該開關(guān)標(biāo)注為“Enable"。你可以用該開關(guān)來開始/停止

數(shù)據(jù)采集。

2.在前面板內(nèi)再放置一個(gè)趨勢(shì)圖(Graph子模板中的WaveformChart),

標(biāo)注為“溫度歷史趨勢(shì)”。該圖表將實(shí)時(shí)地顯示溫度值。

3.由于趨勢(shì)圖將它的圖標(biāo)注解plot自動(dòng)地標(biāo)注為“plot0",你可以用標(biāo)

注工具將其重新標(biāo)注為“Temp”。

4.因?yàn)橼厔?shì)圖用于顯示室內(nèi)溫度,需要對(duì)它的標(biāo)尺進(jìn)行重新定標(biāo)。將Y軸

的“10”改為“90”,而將“0.0"改為“20”。

5.此時(shí)暫時(shí)不要?jiǎng)?chuàng)建模式轉(zhuǎn)換開關(guān),我們將嘗試從框圖程序窗口創(chuàng)建前面

板的部件。

框圖程序:

1.打開框圖程序窗口。

2.從結(jié)構(gòu)(Structures)工具模板選擇條件循環(huán)結(jié)構(gòu)"WhileLoop"放入

框圖程序窗口,調(diào)整該條件循環(huán)框的大小,把先前從前面板創(chuàng)建的兩個(gè)

節(jié)點(diǎn)放入循環(huán)框內(nèi)。

條件循環(huán)結(jié)構(gòu)是一種無限循環(huán)結(jié)構(gòu),只要條件滿足,它就

一直循環(huán)運(yùn)行下去。在本例中,只要允許開關(guān)(Enable

Switch)是ON狀態(tài),該VI程序就一直運(yùn)行,采集溫度測(cè)

昌梏注丘團(tuán)主?-旦去

3.放入其它的框圖程序?qū)ο?。ThermometerVI,這個(gè)VI程序是你在上個(gè)

練習(xí)中創(chuàng)建的,從Seminar.LLB中調(diào)出(從SelectaVL..子模板)。

4.按照上圖的框圖程序連好線。

5.創(chuàng)建模式開關(guān)。把連線工具放在ThermometerVI的Mode輸入端口上,

按鼠標(biāo)右鍵并選擇CreatControl,這樣就可以自動(dòng)創(chuàng)建模式轉(zhuǎn)換開關(guān),

并將它與ThermometerVI子程序相連線,再轉(zhuǎn)換到前面板窗口,將模

式轉(zhuǎn)換開關(guān)的位置重新調(diào)整。

6.在前面板窗口,使用標(biāo)注工具,雙擊模式開關(guān)的“OFF”標(biāo)簽,并把它

轉(zhuǎn)換成“華氏”,再把“ON”標(biāo)簽轉(zhuǎn)換民“攝氏要轉(zhuǎn)換開關(guān)狀態(tài),使

用操作工具(OperatingTool卜

7.將模式開關(guān)設(shè)置為ON狀態(tài),運(yùn)行該VI程序。

8.要停止數(shù)據(jù)采集,點(diǎn)擊Enable開關(guān),使其狀態(tài)變?yōu)镺FF,循環(huán)結(jié)束。

9.修改Enable開關(guān)缺省設(shè)置,使你運(yùn)行VI程序時(shí)不必每次打開該開關(guān)。

a.若程序在運(yùn)行狀態(tài),則關(guān)閉程序運(yùn)行。

b.把開關(guān)設(shè)置為ON狀態(tài)。

c.點(diǎn)擊開關(guān),從彈出菜單中選擇DataOperations>MakeCurrent

ValueDefault選項(xiàng),這將使ON狀態(tài)變?yōu)槿笔≈怠?/p>

d.再點(diǎn)擊開關(guān),從彈出菜單中選擇MechanicalAction>LatchWhen

Pressed選項(xiàng)。

10.運(yùn)行該程序,把開關(guān)點(diǎn)擊為Stop狀態(tài)以停止數(shù)據(jù)采集。開關(guān)將變?yōu)镺FF

狀態(tài),但當(dāng)條件循環(huán)結(jié)構(gòu)再次讀取其數(shù)值時(shí),它又會(huì)變成ON狀態(tài)。

增加定時(shí)器控制:

當(dāng)你運(yùn)行程序時(shí),它將會(huì)盡可能快地運(yùn)行。但是你也許希望以一定的時(shí)

間間隔,例如一秒鐘一次或者一分鐘一次來采集數(shù)據(jù)。

你可以用WaitUntilNextmsMultiple功能(在Time&Dialog子模

板)來滿足上述條件。該功能模塊可以保證循環(huán)間隔時(shí)間不少于指定的

毫秒數(shù)。

11.如右圖所示,使

VI程序采樣間

惺度歷史趨勢(shì)I

DBLl]隔為500毫秒。

[aitUntilNextmsMultiple]使用Time&

pillisecondmultiple

Dialog子模板

□回中的Wait

UntilNextms

Multiple功能,

再加上時(shí)間常數(shù)NumericConstant,把它設(shè)置為500o

12.運(yùn)行上述程序,試用不同的時(shí)間間隔值。

13.關(guān)閉并保存上述程序,文件名為TemperatureMonitor.vio

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

第八節(jié)練習(xí)1-3

旦迪二以圖表方式顯示數(shù)據(jù)并使用分析功能子程序。

利用練習(xí)卜2創(chuàng)建的VI程序,在數(shù)據(jù)采集過程中,實(shí)時(shí)地顯示數(shù)據(jù)。當(dāng)采

集過程結(jié)束后,在圖表上畫出數(shù)據(jù)波形,并算出最大值、最小值和平均值。該練

習(xí)只使用華氏溫度單位。

前面板:

溫度歷史趨勢(shì)

Enable

Mode

攝氏

肅度曲線

Mean

a37j

1.打開練習(xí)1-2創(chuàng)建的Temperaturemonitor,vi程序。

2.按照上圖修改程序,其中被虛線框住的部分是新增加的。

趨勢(shì)圖“溫度歷史趨勢(shì)”顯示實(shí)時(shí)采集的數(shù)據(jù)。采集過程結(jié)束后,在

TempGraph中畫出數(shù)據(jù)曲線,同時(shí)在Mean、Max和Min數(shù)字顯示欄中

顯示出溫度的平均值、最大值和最小值。

本例中只使用華氏溫度單位。

框圖程序:

1.完成上面的框圖程序。被虛線框住的部分表示新增程序。條件循環(huán)框邊

線上的方塊叫作通道(tunnel)□在本例中,通道是條件循環(huán)的數(shù)據(jù)通

道口。若要建立數(shù)據(jù)索引,點(diǎn)擊通道,并選擇EnableIndexing選項(xiàng),

表示當(dāng)條件循環(huán)執(zhí)行時(shí),把數(shù)據(jù)順序放入一個(gè)數(shù)組中。循環(huán)結(jié)束后,通

道輸出該數(shù)組。否則,通道僅輸出最后一次循環(huán)放入的數(shù)據(jù)值。

2.返回前面板,并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論