




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、測(cè)控工程實(shí)踐LabVIEW教學(xué)教程黑龍江科技學(xué)院電氣與信息工程學(xué)院測(cè)控技術(shù)與儀器教研室第一講 LabVIEW概述第一節(jié) 虛擬儀器(VI)的概念使用LabVIEW開發(fā)平臺(tái)編制的程序稱為虛擬儀器程序,簡(jiǎn)稱為VI。LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一種圖形化的編程語(yǔ)言,它廣泛地被工業(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)的
2、庫(kù)函數(shù)。這是一個(gè)功能強(qiáng)大且靈活的軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動(dòng)有趣。圖形化的程序語(yǔ)言,又稱為“”語(yǔ)言。使用這種語(yǔ)言編程時(shí),基本上不寫程序代碼,取而代之的是流程圖或流程圖。它盡可能利用了技術(shù)人員、科學(xué)家、工程師所熟悉的術(shù)語(yǔ)、圖標(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è)真正的位編譯器。像許多重要的軟件一樣,LabVIEW提供
3、了Windows、UNIX、Linux、Macintosh的多種版本。所有的LabVIEW應(yīng)用程序,即虛擬儀器(VI),它包括前面板(front panel)、程序框圖(block diagram)以及圖標(biāo)/連結(jié)器(icon/connector)三部分??刂茖?duì)象(輸入)顯示對(duì)象(輸出)圖隨機(jī)信號(hào)發(fā)生器前面板前面板是圖形用戶界面,也就是VI的虛擬儀器面板,這一界面上有用戶輸入和顯示輸出兩類對(duì)象,具體表現(xiàn)有開關(guān)、旋鈕、圖形以及其他控制(control)和顯示對(duì)象(indicator)。圖1所示是一個(gè)隨機(jī)信號(hào)發(fā)生和顯示的簡(jiǎn)單VI是它的前面板,上面有一個(gè)顯示對(duì)象,以曲線的方式顯示了所產(chǎn)生的一系列隨機(jī)數(shù)
4、。還有一個(gè)控制對(duì)象開關(guān),可以啟動(dòng)和停止工作。顯然,并非簡(jiǎn)單地畫兩個(gè)控件就可以運(yùn)行,在前面板后還有一個(gè)與之配套的程序框圖。程序框圖提供VI的圖形化源程序。在程序框圖中對(duì)VI編程,以控制和操縱定義在前面板上的輸入和輸出功能。程序框圖中包括前面板上的控件的連線端子,還有一些前面板上沒有,但編程必須有的東西,例如函數(shù)、結(jié)構(gòu)和連線等。圖是與圖對(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è)While Loop循環(huán),由開關(guān)控制這一循環(huán)的結(jié)束。函數(shù)
5、:隨機(jī)數(shù)發(fā)生器結(jié)構(gòu):循環(huán)與前面板控件對(duì)應(yīng)的連線端子與前面板控件對(duì)應(yīng)的連線端子圖隨機(jī)信號(hào)發(fā)生器程序框圖如果將VI與標(biāo)準(zhǔn)儀器相比較,那么前面板上的東西就是儀器面板上的東西,而程序框圖上的東西相當(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ì)情況稍后介紹。第二節(jié) LabVIEW啟動(dòng)LabVIEW:點(diǎn)擊新建VI,即可打開一個(gè)新的Labview程序前面板:工具條 :
6、標(biāo)簽 :數(shù)值控件 :標(biāo)尺:圖標(biāo) :旋鈕 :圖例 :XY圖前面板工具條:運(yùn)行按鈕:連續(xù)運(yùn)行按鈕:中斷運(yùn)行按鈕。當(dāng)編碼出錯(cuò)使VI不能編譯或運(yùn)行時(shí),中斷運(yùn)行按鈕將替換運(yùn)行按鈕:異常終止執(zhí)行按鈕:暫停/繼續(xù)按鈕:對(duì)齊對(duì)象按鈕。用于將變量對(duì)象設(shè)置成較好的對(duì)齊方式:分布對(duì)象按鈕。用于對(duì)兩個(gè)及其以上的對(duì)象設(shè)置最佳分布方式:調(diào)整對(duì)象大小按鈕。用于將若干個(gè)前面板對(duì)象調(diào)整到同一大小程序框圖:數(shù)值輸入控件 :旋鈕控件 :數(shù)值常量 :乘:For循環(huán)結(jié)構(gòu) :數(shù)據(jù)連線 :捆綁函數(shù) :XY圖控件:子VI程序框圖工具條:加亮執(zhí)行按鈕。當(dāng)程序執(zhí)行時(shí),在框圖代碼上能夠看都數(shù)據(jù)流,這對(duì)于調(diào)試和校驗(yàn)程序的正確運(yùn)行是非常有用的。在加亮
7、執(zhí)行模式下,按鈕轉(zhuǎn)變成一個(gè)點(diǎn)亮的燈泡:保存連線值按鈕。:?jiǎn)尾竭M(jìn)入按鈕。允許進(jìn)入節(jié)點(diǎn),一旦進(jìn)入節(jié)點(diǎn),就可在節(jié)點(diǎn)內(nèi)部單步執(zhí)行。 :?jiǎn)尾教^按鈕。單步跳過節(jié)點(diǎn),但不執(zhí)行時(shí)不進(jìn)入節(jié)點(diǎn)內(nèi)部但有效地執(zhí)行節(jié)點(diǎn)。:?jiǎn)尾教霭粹o。允許跳出節(jié)點(diǎn),通過跳出節(jié)點(diǎn)可完成該節(jié)點(diǎn)的單步執(zhí)行并跳轉(zhuǎn)到下一個(gè)節(jié)點(diǎn)。:文本設(shè)置按鈕。:層疊順序。LabVIEW的操作模板由于Labview8.2采用了中文的界面,每個(gè)下拉菜單的功能根據(jù)字面意思就很容易理解。選項(xiàng)板l 工具選項(xiàng)板:上圖所示便是工具選項(xiàng)板,各按鈕的功能如下:自動(dòng)選擇工具:操作工具 :定位/調(diào)整大小/選擇工具:編輯文本工具 :連線工具 :對(duì)象快捷菜單工具 :滾動(dòng)窗口 :設(shè)置/
8、清除斷點(diǎn)工具 :探針工具 :顏色復(fù)制工具:著色工具l 控件選項(xiàng)板:和下拉菜單一樣,各個(gè)控件的功能一目了然,某些常用的控件的功能我們會(huì)在下面的章節(jié)中做詳細(xì)的介紹。l 功能選項(xiàng)板和下拉菜單一樣,各個(gè)控件的功能一目了然,某些常用的控件的功能我們會(huì)在下面的章節(jié)中做詳細(xì)的介紹第三節(jié) LabVIEW的操作模板LabVIEW具有多個(gè)圖形化的操作模板,用于創(chuàng)建和運(yùn)行程序。這些操作模板可以隨意在屏幕上移動(dòng),并可以放置在屏幕的任意位置。操縱模板共有三類,為工具(Tools)模板、控制(Controls)模板和功能(Functions)模板。工具模板(Tools Palette)工具模板為編程者提供了各種用于創(chuàng)建、
9、修改和調(diào)試VI程序的工具。如果該模板沒有出現(xiàn),則可以在Windows菜單下選擇Show Tools Palette命令以顯示該模板。當(dāng)從模板內(nèi)選擇了任一種工具后,鼠標(biāo)箭頭就會(huì)變成該工具相應(yīng)的形狀。當(dāng)從Windows菜單下選擇了Show Help Window功能后,把工具模板內(nèi)選定的任一種工具光標(biāo)放在框圖程序的子程序(Sub VI)或圖標(biāo)上,就會(huì)顯示相應(yīng)的幫助信息。工具圖標(biāo)有如下幾種:操作工具:使用該工具來操作前面板的控制和顯示。使用它向數(shù)字或字符串控制中鍵入值時(shí),工具會(huì)變成標(biāo)簽工具的形狀。選擇工具:用于選擇、移動(dòng)或改變對(duì)象的大小。當(dāng)它用于改變對(duì)象的連框大小時(shí),會(huì)變成相應(yīng)形狀。標(biāo)簽工具:用于輸
10、入標(biāo)簽文本或者創(chuàng)建自由標(biāo)簽。當(dāng)創(chuàng)建自由標(biāo)簽時(shí)它會(huì)變成相應(yīng)形狀。連線工具:用于在框圖程序上連接對(duì)象。如果聯(lián)機(jī)幫助的窗口被打開時(shí),把該工具放在任一條連線上,就會(huì)顯示相應(yīng)的數(shù)據(jù)類型。對(duì)象彈出菜單工具:用左鼠標(biāo)鍵可以彈出對(duì)象的彈出式菜單。漫游工具:使用該工具就可以不需要使用滾動(dòng)條而在窗口中漫游。斷點(diǎn)工具:使用該工具在VI的框圖對(duì)象上設(shè)置斷點(diǎn)。探針工具:可以在框圖程序內(nèi)的數(shù)據(jù)流線上設(shè)置探針。程序調(diào)試員可以通過控針窗口來觀察該數(shù)據(jù)流線上的數(shù)據(jù)變化狀況。顏色提取工具:使用該工具來提取顏色用于編輯其他的對(duì)象。顏色工具:用來給對(duì)象定義顏色。它也顯示出對(duì)象的前景色和背景色。與上述工具模板不同,控制和功能模板只顯示
11、頂層子模板的圖標(biāo)。在這些頂層子模板中包含許多不同的控制或功能子模板。通過這些控制或功能子模板可以找到創(chuàng)建程序所需的面板對(duì)象和框圖對(duì)象。用鼠標(biāo)點(diǎn)擊頂層子模板圖標(biāo)就可以展開對(duì)應(yīng)的控制或功能子模板,只需按下控制或功能子模板左上角的大頭針就可以把對(duì)這個(gè)子模板變成浮動(dòng)板留在屏幕上??刂颇0?Controls Palette)用控制模板可以給前面板添加輸入控制和輸出顯示。每個(gè)圖標(biāo)代表一個(gè)子模板。如果控制模板不顯示,可以用Windows菜單的Show Controls Palette功能打開它,也可以在前面板的空白處,點(diǎn)擊鼠標(biāo)右鍵,以彈出控制模板。注:只有當(dāng)打開前面板窗口時(shí)才能調(diào)用控制模板??刂颇0迦缱髨D所
12、示,它包括如圖所示的幾個(gè)子模板。數(shù)值子模板:包含數(shù)值的控制和顯示。布爾值子模塊:邏輯數(shù)值的控制和顯示。字符串子模板:字符串和表格的控制和顯示。列表和環(huán)(Ring)子模板:菜單環(huán)和列表欄的控制和顯示。數(shù)組和群子模板:復(fù)合型數(shù)據(jù)類型的控制和顯示。圖形子模板:顯示數(shù)據(jù)結(jié)果的趨勢(shì)圖和曲線圖。路徑和參考名(Refnum)子模板:文件路徑和各種標(biāo)識(shí)的控制和顯示??丶萜鲙?kù)子模板:用于操作OLE、ActiveX等功能。對(duì)話框子模板:用于輸入對(duì)話框的顯示控制。修飾子模板:用于給前面板進(jìn)行裝飾的各種圖形對(duì)象。用戶自定義的控制和顯示。調(diào)用存儲(chǔ)在文件中的控制和顯示的接口。功能模板(Functions Palette
13、)功能模板是創(chuàng)建程序框圖的工具。該模板上的每一個(gè)頂層圖標(biāo)都表示一個(gè)子模板。若功能模板不出現(xiàn),則可以用窗口菜單下的顯示程序框圖功能打開它,也可以在程序框圖窗口的空白處點(diǎn)擊鼠標(biāo)右鍵以彈出功能模板。注:只有打開了程序框圖窗口,才能出現(xiàn)功能模板。功能模板如下圖所示。結(jié)構(gòu)子模板:包括程序控制結(jié)構(gòu)命令,例如循環(huán)控制等,以及全局變量和局部變量。數(shù)值運(yùn)算子模板:包括各種常用的數(shù)值運(yùn)算符,如+、-等;以及各種常見的數(shù)值運(yùn)算式,如+1運(yùn)算;還包括數(shù)制轉(zhuǎn)換、三角函數(shù)、對(duì)數(shù)、復(fù)數(shù)等運(yùn)算,以及各種數(shù)值常數(shù)。布爾邏輯子模板:包括各種邏輯運(yùn)算符以及布爾常數(shù)。字符串運(yùn)算子模板:包含各種字符串操作函數(shù)、數(shù)值與字符串之間的轉(zhuǎn)換函
14、數(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í)域及頻域
15、分析功能模塊。數(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程序作為子程序(SUB VI)插入當(dāng)前程序中。第二講 創(chuàng)建VI程序請(qǐng)記住,VI程序具
16、有三個(gè)要素:前面板、程序框圖和圖標(biāo)/連接器。一、前面板使用輸入控制和輸出顯示來構(gòu)成前面板??刂剖怯脩糨斎霐?shù)據(jù)到程序的接口,而顯示是輸出程序產(chǎn)生的數(shù)據(jù)接口??刂坪惋@示有許多種類,可以從控制模板的各個(gè)子模板中選取。位于前面板控件選板上的輸入控件和顯示控件可用于創(chuàng)建前面板??丶姆N類有:數(shù)值控件(如滑動(dòng)桿和旋鈕)、圖形、圖表、布爾控件(如按鈕和開關(guān))、字符串、路徑、數(shù)組、簇、列表框、樹形控件、表格、下拉列表控件、枚舉控件和容器控件等等??丶邮剑呵懊姘蹇丶行率健⒔?jīng)典和系統(tǒng)三種樣式。1.1 數(shù)值顯示框、滑動(dòng)桿、滾動(dòng)條、旋鈕位于數(shù)值和經(jīng)典數(shù)值選板上的數(shù)值對(duì)象可用于創(chuàng)建滑動(dòng)桿、滾動(dòng)條、旋鈕、轉(zhuǎn)盤和數(shù)值顯
17、示框。該選板上還有顏色盒和顏色梯度,用于設(shè)置顏色值;以及時(shí)間標(biāo)識(shí),用于設(shè)置時(shí)間和日期值。數(shù)值對(duì)象用于輸入和顯示數(shù)值。對(duì)于數(shù)值對(duì)象,可設(shè)置表示法、數(shù)據(jù)范圍和格式與精度。數(shù)值對(duì)象只接收特定的數(shù)值字符。1、數(shù)值型控件數(shù)值控件是輸入和顯示數(shù)值數(shù)據(jù)的最簡(jiǎn)單方式。這些前面板對(duì)象可在水平方向上調(diào)整大小,以顯示更多位數(shù)。使用下列方法改變數(shù)值控件的值:· 用操作工具或標(biāo)簽工具單擊數(shù)字顯示框,然后通過鍵盤輸入數(shù)字。 · 用操作工具單擊數(shù)值控件的遞增或遞減箭頭。 · 使用操作工具或標(biāo)簽工具將光標(biāo)放置于需改變的數(shù)字右邊,然后在鍵盤上按向上或向下箭頭鍵。兩種最常用的前面板對(duì)象是數(shù)字控制和數(shù)
18、字顯示。若想要在數(shù)字控制中輸入或修改數(shù)值,你只需要用操作工具(見工具模板)點(diǎn)擊控制部件和增減按鈕,或者用操作工具或標(biāo)簽工具雙擊數(shù)值欄進(jìn)行輸入數(shù)值修改。從控件模板中找到數(shù)值型控件子模板(控件數(shù)值),用鼠標(biāo)單擊模板中相應(yīng)的控件放置在前面板上,這時(shí)控件的標(biāo)簽處于編輯狀態(tài),可以修改標(biāo)簽的名字,同時(shí)在后面板上已經(jīng)自動(dòng)放置了和前面板上相對(duì)應(yīng)的圖標(biāo)當(dāng)前面板上放置了很多對(duì)象時(shí),可以通過雙擊該對(duì)象找到和它對(duì)應(yīng)的在后面板上的圖標(biāo),或者在控件上單擊右鍵,選擇“查找接線端”。2、滑動(dòng)桿控件滑動(dòng)桿控件是帶有刻度的數(shù)值對(duì)象?;瑒?dòng)桿控件包括垂直和水平滑動(dòng)桿、液罐和溫度計(jì)。可使用下列方法改變滑動(dòng)桿控件的值:· 使用
19、操作工具單擊或拖曳滑塊至新的位置。 · 與數(shù)值控件中的操作類似,在數(shù)字顯示框中輸入新數(shù)據(jù)。 3、滾動(dòng)條控件與滑動(dòng)桿控件相似,滾動(dòng)條控件是用于滾動(dòng)數(shù)據(jù)的數(shù)值對(duì)象。滾動(dòng)條控件有水平和垂直滾動(dòng)條兩種。使用操作工具單擊或拖曳滑塊至一個(gè)新的位置,單擊遞增和遞減箭頭,或單擊滑塊和箭頭之間的空間都可以改變滾動(dòng)條的值。4、旋轉(zhuǎn)型控件旋轉(zhuǎn)型控件包括旋鈕、轉(zhuǎn)盤、量表和儀表。旋轉(zhuǎn)型對(duì)象的操作與滑動(dòng)桿控件相似,都是帶有刻度的數(shù)值對(duì)象??墒褂孟铝蟹椒ǜ淖冃D(zhuǎn)型控件的值:· 用操作工具單擊或拖曳指針至一個(gè)新的位置。 · 與數(shù)值控件中的操作類似,在數(shù)字顯示框中輸入新數(shù)據(jù)。圖1 數(shù)值型控件前面板
20、在Labview中圖形控件主要用于圖形對(duì)象的顯示,這些控件可以用來顯示曲線、曲面以及波形等對(duì)外。Labview中提供了豐富的圖形控件,如波形表、波形圖、XY圖、Express XY圖、密度圖、強(qiáng)度圖、三維曲面圖等等。圖形控件的操作方式和數(shù)值控件相似,從控件模板中選取相應(yīng)控件放置在前面板上適當(dāng)?shù)奈恢眉纯?。這時(shí)在后面板上已經(jīng)出現(xiàn)了其對(duì)應(yīng)的圖標(biāo),將要顯示的、產(chǎn)生相應(yīng)圖形的數(shù)據(jù)按照一定的格式和圖標(biāo)相連接就可以顯示圖形了。圖2 圖形型控件前面板 Express VIsExpress Vis將一些常用的功能封裝、集成,使得用戶使用起來非常方便。如Expressge表格、Express XY圖等等。放置于前
21、面板上的每一個(gè)控件都有很多屬性,其中一些屬性與控件的顯示方式及顯示效果有關(guān),可以通過在控件上單擊鼠標(biāo)右鍵更改其屬性。不同的控件有一些共同的屬性,每種控件根據(jù)其類型與功能也有其特有的屬性, 這些都要在使用中慢慢地熟悉。前面板上有以下幾種常見的屬性:標(biāo)簽:標(biāo)識(shí)了對(duì)象的類型,是前面板和程序框圖對(duì)象的標(biāo)識(shí)。標(biāo)題:前面板對(duì)象也可以有標(biāo)題,默認(rèn)為對(duì)象的標(biāo)簽。標(biāo)題可代替標(biāo)簽為VI添加中文描述,而且不影響VI。標(biāo)題與標(biāo)簽不同之處在于標(biāo)題不會(huì)影響對(duì)象的名稱,還可作為進(jìn)一步描述對(duì)象的標(biāo)簽。標(biāo)題僅在前面板上出現(xiàn)。二、程序框圖程序框圖是由節(jié)點(diǎn)、端點(diǎn)、圖框和連線四種元素構(gòu)成的。圖3 數(shù)值型控件程序框圖圖2 圖形型控件程
22、序框圖節(jié)點(diǎn)類似于文本語(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ì)象(控制或顯示)都在
23、框圖中有一個(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ù)通道。它們類似于普
24、通程序中的變量。數(shù)據(jù)是單向流動(dòng)的,從源端口向一個(gè)或多個(gè)目的端口流動(dòng)。不同的線型代表不同的數(shù)據(jù)類型。在彩顯上,每種數(shù)據(jù)類型還以不同的顏色予以強(qiáng)調(diào)。下面是一些常用數(shù)據(jù)類型所對(duì)應(yīng)的線型和顏色:整 形 數(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)把連線工具放到端口上,接線頭就會(huì)彈出。接線頭還有一個(gè)黃色小標(biāo)識(shí)框,顯示該端口的名字。當(dāng)把連線工具放在端點(diǎn)上時(shí),該端點(diǎn)區(qū)域?qū)?huì)閃爍,表示連線將會(huì)接通該端點(diǎn)。當(dāng)
25、把連線工具從一個(gè)端口接到另一個(gè)端口時(shí),不需要按住鼠標(biāo)鍵。當(dāng)需要連線轉(zhuǎn)彎時(shí),點(diǎn)擊一次鼠標(biāo)鍵,即可以正交垂直方向地彎曲連線,按空格鍵可以改變轉(zhuǎn)角的方向。創(chuàng)建第一個(gè)VI: 本節(jié)將創(chuàng)建的第一個(gè)VI來完成下列功能: 1.將兩個(gè)輸入數(shù)字相加并顯示結(jié)果 2.將同樣的兩個(gè)輸入數(shù)字相乘并顯示結(jié)果 3.比較兩個(gè)輸入數(shù)字,如果數(shù)字相等,則LED指示燈變亮步驟:1.從“文件”菜單中選擇“新建”VI打開新的前面板 2.創(chuàng)建數(shù)字控件和指示器。使用兩個(gè)前面板控件輸入數(shù)字,使用兩個(gè)指示器輸入數(shù)字加和乘的結(jié)果。 a. 從控件選項(xiàng)板的數(shù)值子選項(xiàng)板中選擇數(shù)值輸入控件 b. 單擊數(shù)值輸入控件,然后拖拽控件到所希望的位置,然后單擊鼠標(biāo)
26、將控件放下,如圖:c.在標(biāo)簽框(在控件上方)內(nèi)鍵如字母,按前面板工具條上的Enter按鈕。如果在繼續(xù)編程操作(諸如將其他控件放置在前面板上)之前不鍵入標(biāo)簽內(nèi)容,標(biāo)簽框?qū)⒈A裟J(rèn)標(biāo)簽內(nèi)容“數(shù)值”。如果控件或指示器沒有標(biāo)簽,可用右鍵單擊控件,在控件上彈出快捷菜單,從顯示項(xiàng)菜單中選擇標(biāo)簽,標(biāo)簽框就會(huì)出現(xiàn),然后可使用標(biāo)簽工具編輯文本。 d.重復(fù)以上過程創(chuàng)建第二個(gè)數(shù)字控件和第二個(gè)數(shù)字指示器??蛇x擇按任意方式排列控件和指示器,不過排列得整齊而有規(guī)律會(huì)更好些。3.創(chuàng)建布爾LED。如果兩個(gè)輸入數(shù)字是相同的,那么指示燈打開;如果不是,則保持關(guān)閉狀態(tài)。a.從控件選項(xiàng)板的布爾子選項(xiàng)板中選擇圓形知識(shí)燈。將該指示器放置
27、到前面版上并拖拽到所希望的位置,然后單擊鼠標(biāo)按鈕。 b.在標(biāo)簽框內(nèi)鍵入“Round LED”,鍵入完畢,單擊標(biāo)簽框外邊的任何地方,或單擊Enter按鈕。如圖:4.從窗口下拉菜單中選擇顯示程序框圖,切換到程序框圖。 5.先在在框圖上放置“加”和“乘”函數(shù)。可從框圖選項(xiàng)板,編程選項(xiàng)板的數(shù)值子選項(xiàng)板中選擇“加”函數(shù)。按照同樣的步驟,將“乘”函數(shù)放置到框圖上并顯示標(biāo)簽。 6.從框圖選項(xiàng)板,編程選項(xiàng)板的子選項(xiàng)板中選擇“等于?”函數(shù),并放到框圖上,如果他們相等,返回“真”,如果不相等,則返回“假”。7.連線,在工具選項(xiàng)板中選擇連線工具,當(dāng)把鼠標(biāo)移到各個(gè)控件的上方時(shí),能夠參與連線的節(jié)點(diǎn)便會(huì)自動(dòng)閃爍,提示用戶
28、,此處可以連線。連線完成后如圖: 8. 連線完成后,單擊運(yùn)行按鈕,便可在前面板上看到運(yùn)行的結(jié)果。三、子VI子VI是供其他VI使用的VI,與子程序類似。子VI是層次化和模塊化VI的關(guān)鍵組件,它能使VI易于調(diào)試和維護(hù)。使用子VI是一種有效的編程技術(shù),因?yàn)樗试S在不同的場(chǎng)合重復(fù)使用相同的代碼。G編程語(yǔ)言的分層特性就是在一個(gè)子VI中能夠調(diào)用到另一個(gè)子VI。下面可用一個(gè)表格表明子VI的作用:程序代碼調(diào)用子程序function average (in1,in2,out)out=(in1+in2)/2.0; mainaverage (point1,point2,pointavg); 子VI框圖調(diào)用子VI框圖
29、編輯圖標(biāo)和連接器:1圖標(biāo):每個(gè)VI都有一個(gè)默認(rèn)的圖標(biāo),顯示在前面板和框圖窗口的右上角。默認(rèn)圖標(biāo)是一個(gè)Labview徽標(biāo)和一個(gè)數(shù)字構(gòu)成的圖片,該數(shù)字指出自從Labview啟動(dòng)后已打開新VI的數(shù)量。使用“編輯圖標(biāo)”可以定制該圖標(biāo)。如圖:選擇編輯圖標(biāo)后,便可打開圖標(biāo)編輯器。編輯器如圖:各個(gè)控件的作用如圖:一個(gè)像素一個(gè)像素地繪制和擦除繪制直線。使用限制繪制水平,垂直和對(duì)角線從圖標(biāo)象素選取前景色用前景色填充封閉區(qū)域使用前景色繪制矩形框。雙擊該工具,可以用前景色給圖標(biāo)加邊框使用前景色繪制框并用背景色填充。雙擊該工具,可以用前景色給圖標(biāo)加邊框并用背景色填充。選擇圖標(biāo)區(qū)域,用于移動(dòng),復(fù)制,刪除,或執(zhí)行其他操作
30、。雙擊次此工具并在鍵盤上按鍵將立刻刪除整個(gè)圖標(biāo)。在圖標(biāo)中輸入文本。雙擊該工具可以選擇不同字體。在圖標(biāo)中通常采用小字體。顯示當(dāng)前前景色和背景色。分別單擊前景和背景將進(jìn)入彩色選項(xiàng)板,從中可以選擇新的顏色。編輯好圖標(biāo)以后,就可以看到自己編輯的圖標(biāo),如圖:2.連接器:連接器是與VI控件和指示器對(duì)應(yīng)的一組端子。連接器是為了VI建立的輸入和輸出口,這樣VI就可以作為子VI使用。連接器從輸入端子接受數(shù)據(jù),并在VI執(zhí)行完成是將數(shù)據(jù)傳送到輸出端子。在前面板上,每一個(gè)端子都與一個(gè)具體的控件或指示器相對(duì)應(yīng)。連接器端子的作用與函數(shù)調(diào)用時(shí)子程序參數(shù)列表中的參數(shù)類似。 注意:只能從前面板查看和編輯連接器窗格。 在右上角圖
31、標(biāo)上單擊右鍵,選擇顯示連線板,即可看到連接器。默認(rèn)情況下,Labview根據(jù)前面板上控件和指示器的數(shù)目顯示端子模板。如圖:也可在模式選項(xiàng)中選擇更多的連接器類型,如圖:注意:子VI最多可用的端子數(shù)是28。創(chuàng)建子VI方法一:把前面板和程序框圖編輯妥當(dāng)以后,按照上面的步驟編輯子VI的圖標(biāo)(編輯圖標(biāo)可跳過),然后打開連接器,給控件和指示器指定端子,在工具選項(xiàng)板上選擇連線工具,然后把控件和指示器上的對(duì)應(yīng)位置相連接。如圖:連接正確后,在指示器上的相應(yīng)位置顏色就會(huì)發(fā)生改變,表明該處已連接上 全部正確連接后如圖:保存,更改名稱為“求平均值”,退出,即可在其他程序中調(diào)用這個(gè)子VI了。打開一個(gè)新的VI,在前面板上
32、放置兩個(gè)數(shù)值輸入控件和一個(gè)數(shù)值顯示控件,如圖:打開程序框圖,選擇“選擇VI”在彈出的對(duì)話框中選擇“求平均值”,如圖:放置到程序框圖中,如圖:然后連線,運(yùn)行,如圖:方法二: Labview可以在程序框圖中直接將選定的部分創(chuàng)建為子VI,如圖:這是一個(gè)將攝氏溫度轉(zhuǎn)化為華氏溫度的程序,中間的運(yùn)算可整個(gè)設(shè)置為一個(gè)子VI,步驟如下:1. 把要設(shè)置為子VI的部分進(jìn)行選擇,如圖:2. 點(diǎn)擊編輯,然后點(diǎn)擊“創(chuàng)建子VI”,如圖:創(chuàng)建完成后,如圖:雙擊子VI圖標(biāo),便可對(duì)他進(jìn)行編輯,如圖:建議:我極力建議將所創(chuàng)建的子VI保存在目錄下而不是保存在庫(kù)文件中。盡管在稱為VI庫(kù)的單個(gè)文件中能夠保存多個(gè)VI,但我們不希望這樣做
33、。將VI保存為單個(gè)文件是最有效的存儲(chǔ)方式。因?yàn)檫@樣在復(fù)制,重新命名和刪除文件時(shí)比使用VI庫(kù)時(shí)要容易些。 與其他目錄一樣,VI庫(kù)文件可以裝入,保存和打開,但不是分層的。不能在VI庫(kù)內(nèi)創(chuàng)建另一個(gè)VI庫(kù),也不能在VI庫(kù)內(nèi)創(chuàng)建新目錄。VI庫(kù)文件創(chuàng)建后,當(dāng)其出現(xiàn)在文件對(duì)話框中時(shí),其圖標(biāo)將與VI文件圖標(biāo)略有不同。第三講 程序調(diào)試技術(shù)一、 運(yùn)行VI運(yùn)行VI將執(zhí)行為該VI所設(shè)計(jì)的操作。工具欄上的運(yùn)行按鈕為白色實(shí)心箭頭時(shí)表示VI可以運(yùn)行。如下圖所示:白色實(shí)心箭頭也表示為該VI創(chuàng)建連線板后可將其作為子VI使用。 單擊運(yùn)行或連續(xù)運(yùn)行按鈕或程序框圖工具欄上的單步執(zhí)行按鈕,VI便開始運(yùn)行。VI運(yùn)行時(shí),運(yùn)行按鈕變?yōu)楹谏?/p>
34、頭,表明該VI正在運(yùn)行。如下圖所示。 VI在運(yùn)行時(shí)無法對(duì)其進(jìn)行編輯。單擊運(yùn)行按鈕,VI只運(yùn)行一次,并在完成其數(shù)據(jù)流后停止。單擊連續(xù)運(yùn)行按鈕,VI將連續(xù)運(yùn)行直到手動(dòng)停止VI的運(yùn)行為止。如下圖所示。單擊單步執(zhí)行按鈕,VI將以步進(jìn)方式運(yùn)行。中止運(yùn)行按鈕令VI在當(dāng)前循環(huán)完成前立即停止運(yùn)行。二、找出語(yǔ)法錯(cuò)誤如果一個(gè)VI程序存在語(yǔ)法錯(cuò)誤,則在面板工具條上的運(yùn)行按鈕將會(huì)變成一個(gè)折斷的箭頭,表示VI程序不能被執(zhí)行。這時(shí)這個(gè)按鈕被稱作錯(cuò)誤列表。創(chuàng)建或編輯VI時(shí),如VI存在錯(cuò)誤,運(yùn)行按鈕顯示為斷開。如下圖所示。如已完成程序框圖的連線而該按鈕仍顯示為斷開,則表示VI是斷開的且不能運(yùn)行。 查找VI斷開的原因 警告并不
35、妨礙VI運(yùn)行。警告僅幫助用戶避免VI中的潛在問題。而錯(cuò)誤會(huì)使VI斷開。VI在運(yùn)行前須排除任何錯(cuò)誤。 單擊斷開的運(yùn)行按鈕或選擇查看>>錯(cuò)誤列表可查找VI斷開的原因。錯(cuò)誤列表列出了所有的錯(cuò)誤。錯(cuò)誤項(xiàng)列出了內(nèi)存中所有含有錯(cuò)誤的項(xiàng)的名稱,如VI和項(xiàng)目庫(kù)。如兩個(gè)或多個(gè)項(xiàng)具有相同的名稱,則錯(cuò)誤項(xiàng)部分會(huì)顯示每一項(xiàng)的特定應(yīng)用程序?qū)嵗?。錯(cuò)誤和警告列出了在錯(cuò)誤項(xiàng)中選中的VI錯(cuò)誤和警告信息。詳細(xì)信息描述了錯(cuò)誤信息,有時(shí)還會(huì)建議如何糾正錯(cuò)誤。單擊幫助按鈕,可顯示LabVIEW幫助中對(duì)錯(cuò)誤的詳細(xì)描述和糾正錯(cuò)誤步驟的相關(guān)主題。單擊顯示錯(cuò)誤按鈕或雙擊錯(cuò)誤描述,可高亮顯示程序框圖或前面板中包含錯(cuò)誤的區(qū)域。 如VI
36、中含有警告且錯(cuò)誤列表窗口中的顯示警告復(fù)選框被選中,工具欄將包含警告按鈕。如下圖所示。 選擇工具>>選項(xiàng),然后從類別列表中選擇調(diào)試,再選中默認(rèn)在錯(cuò)誤列表對(duì)話框中顯示警告復(fù)選框,可將LabVIEW配置成總是在錯(cuò)誤列表窗口中顯示警告。在錯(cuò)誤列表窗口打開時(shí)也可進(jìn)行上述修改,并可立即查看修改結(jié)果。 VI斷開的常見原因下表列出了編輯VI時(shí)導(dǎo)致VI斷開的常見原因: · 數(shù)據(jù)類型不匹配或存在未連接的接線端,會(huì)導(dǎo)致程序框圖含有斷線。 · 必需連接的程序框圖接線端沒有連線。 · 子VI處于斷開狀態(tài)或在程序框圖上放置子VI圖標(biāo)后編輯了該子VI的連線板。 三、設(shè)置程序高亮執(zhí)行
37、在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í)行。單擊高亮顯示執(zhí)行過程按鈕可查看程序框圖的動(dòng)態(tài)執(zhí)行過程。如下圖所示。高亮顯示執(zhí)行過程通過沿連線移動(dòng)的圓點(diǎn)顯示數(shù)據(jù)在程序框圖上從一個(gè)節(jié)點(diǎn)移動(dòng)到另一個(gè)節(jié)點(diǎn)的過程。使用高亮顯示執(zhí)行的同時(shí),結(jié)合單步執(zhí)行,可查看VI中的數(shù)據(jù)從一個(gè)節(jié)點(diǎn)移動(dòng)到另一個(gè)節(jié)點(diǎn)的全過程。 注:高亮顯示執(zhí)行過程會(huì)導(dǎo)致VI的運(yùn)行速度大幅降低。如錯(cuò)誤輸出簇報(bào)告
38、錯(cuò)誤,則在錯(cuò)誤輸出輸出端旁將出現(xiàn)錯(cuò)誤值,且錯(cuò)誤值外圍有一個(gè)紅色邊框。如沒有錯(cuò)誤發(fā)生,則錯(cuò)誤輸出輸出端旁將出現(xiàn)確定按鈕,其邊框?yàn)榫G色。四、斷點(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í)行直到下一
39、個(gè)斷點(diǎn)。斷點(diǎn):斷點(diǎn)工具可在程序框圖上的VI、節(jié)點(diǎn)或連線上放置一個(gè)斷點(diǎn),程序運(yùn)行到該處時(shí)暫停執(zhí)行。如下圖所示。在連線上設(shè)置斷點(diǎn)后,數(shù)據(jù)流經(jīng)該連線后程序?qū)和?zhí)行。在程序框圖上放置一個(gè)斷點(diǎn),使程序框圖在所有節(jié)點(diǎn)執(zhí)行后暫停執(zhí)行。VI暫停于某個(gè)斷點(diǎn)時(shí),程序框圖將出現(xiàn)在最前方,同時(shí)一個(gè)選取框?qū)⒏吡溜@示含有斷點(diǎn)的節(jié)點(diǎn)或連線。光標(biāo)移動(dòng)到斷點(diǎn)上時(shí),“斷點(diǎn)”工具光標(biāo)的黑色區(qū)域變?yōu)榘咨?。程序?zhí)行到一個(gè)斷點(diǎn)時(shí),VI將暫停執(zhí)行,同時(shí)暫停按鈕顯示為紅色??刹扇∫韵麓胧?#183; 用單步執(zhí)行按鈕單步執(zhí)行程序。 · 在連線上添加探針查看中間數(shù)據(jù)。 · 改變前面板控件的值。 · 單擊暫停按鈕
40、可繼續(xù)運(yùn)行到下一個(gè)斷點(diǎn)處或直到VI運(yùn)行結(jié)束。 LabVIEW將斷點(diǎn)與VI一起保存,但斷點(diǎn)只在VI運(yùn)行時(shí)有效。選擇操作>>斷點(diǎn)然后單擊查找按鈕可查看所有斷點(diǎn)??芍饌€(gè)或在VI層次結(jié)構(gòu)中刪除斷點(diǎn)。單步執(zhí)行單步執(zhí)行VI可查看VI運(yùn)行時(shí)程序框圖上VI的每個(gè)執(zhí)行步驟。單步執(zhí)行按鈕僅在單步執(zhí)行模式下影響VI或子VI的運(yùn)行。如下圖所示。單擊程序框圖工具欄上的單步步過或單步步入按鈕可進(jìn)入單步執(zhí)行模式。將鼠標(biāo)移動(dòng)到單步步過、單步步入或單步步出按鈕上可看到一個(gè)提示框,該提示框描述了單擊該按鈕后的下一步執(zhí)行情況。可單步執(zhí)行子VI,也可正常運(yùn)行子VI。如單步執(zhí)行VI同時(shí)高亮顯示執(zhí)行過程,則執(zhí)行符號(hào)將出現(xiàn)在當(dāng)
41、前運(yùn)行的子VI的圖標(biāo)上。如下圖所示。五、探針你可以用探針工具來查看當(dāng)框圖程序流經(jīng)某一根連接線時(shí)的數(shù)據(jù)值。從Tools工具模板選擇探針工具,再用鼠標(biāo)左建點(diǎn)擊你希望放置探針的連接線。這時(shí)顯示器上會(huì)出現(xiàn)一個(gè)探針顯示窗口。該窗口總是被顯示在前面板窗口或框圖窗口的上面。在框圖中使用選擇工具或連線工具,在連線上點(diǎn)擊鼠標(biāo)右鍵,在連線的彈出式菜單中選擇“探針”命令,同樣可以為該連線加上一個(gè)探針。探針工具探針工具用于檢查VI運(yùn)行時(shí)連線上的值。如下圖所示。如果程序框圖較復(fù)雜且包含一系列每步執(zhí)行都可能返回錯(cuò)誤值的操作,則可使用探針工具。利用探針并結(jié)合高亮顯示執(zhí)行過程、單步執(zhí)行和斷點(diǎn),可確認(rèn)數(shù)據(jù)是否有誤并找出錯(cuò)誤數(shù)據(jù)
42、。如數(shù)據(jù)存在,則探針會(huì)在單步執(zhí)行期間或在斷點(diǎn)暫停時(shí)立即更新。當(dāng)執(zhí)行過程由于單步執(zhí)行或斷點(diǎn)而在某一節(jié)點(diǎn)處暫停,可用探針探測(cè)剛才執(zhí)行的連線,查看流經(jīng)該連線的數(shù)值。 練習(xí)3-1目的:創(chuàng)建一個(gè)VI程序,練習(xí)前面板和程序框圖中的各種編輯技術(shù)。1創(chuàng)建:在上一章中我們介紹了最常用的創(chuàng)建方法,就是用鼠標(biāo)選擇,然后放置到框圖或前面板中,在這里我們?yōu)榇蠹医榻B另外一種常用的方法。如圖:放置一個(gè)隨機(jī)數(shù)函數(shù)到程序框圖,位于函數(shù)編程數(shù)值隨機(jī)數(shù)。然后在上面單擊右鍵,選擇創(chuàng)建顯示控件,如圖:則可看到有一數(shù)值控件與其相連,前面版上也出現(xiàn)了一個(gè)數(shù)值控件。如圖:2選擇對(duì)象:在前面板和程序框圖中,使用定位工具來選擇對(duì)象,它也可以用來
43、移動(dòng)和調(diào)整對(duì)象的大小,如圖:當(dāng)對(duì)象被選中時(shí),就會(huì)出現(xiàn)環(huán)繞的虛線輪廓當(dāng)要選擇多個(gè)對(duì)象時(shí),按住<shift>鍵并同時(shí)單擊鼠標(biāo)即可,如圖:或者在空白處單擊鼠標(biāo),并拖拽光標(biāo)直到全部希望的對(duì)象均出現(xiàn)在矩形框來選擇多個(gè)對(duì)象。如圖:3移動(dòng)對(duì)象:選定對(duì)象后,用鼠標(biāo)拖拽,便可移動(dòng)對(duì)象到指定位置。如圖:4刪除和復(fù)制對(duì)象:顯然,選中所要進(jìn)行操作的控件后,單擊主菜單中的編輯,然后選擇刪除或者復(fù)制,粘貼是完全可以實(shí)現(xiàn)各項(xiàng)操作的。下面我向大家介紹幾種用鍵盤來實(shí)現(xiàn)這些操作的方法。刪除:選中控件后,按下“退格”鍵或<delete>即可復(fù)制:選中控件后,按<Ctrl+C>,然后<Ctr
44、l+V>即可,或者按下<Ctrl>,然后拖拽所需要復(fù)制的控件到其他地方即可,如圖:5調(diào)整對(duì)象大?。寒?dāng)工具選項(xiàng)板上選定定位工具時(shí),把鼠標(biāo)挪到各個(gè)控件的角上時(shí),就會(huì)大小調(diào)節(jié)的句柄,直接拖拽,然后釋放,便可改變控件的大小,如圖:注意:某些控件橫向的大小,不能改變縱向的大小,比如數(shù)字控件!6標(biāo)簽對(duì)象:標(biāo)簽分為兩種自由標(biāo)簽和固有標(biāo)簽。固有標(biāo)簽是用戶在添加控件時(shí)系統(tǒng)自動(dòng)添加上的,不能刪除和復(fù)制,只能隱藏。如圖,單擊右鍵,把標(biāo)簽一欄取消即可。自由標(biāo)簽不附加與任何對(duì)象,可獨(dú)立的創(chuàng)建,移動(dòng)或處理。使用即可實(shí)現(xiàn)自由創(chuàng)建和編輯。如圖:輸入完后,在空白處單擊鼠標(biāo)即可。7改變字體,字形和文本大?。菏褂?/p>
45、工具條上的文本設(shè)置工具,可以方便地更改標(biāo)簽,控件或指示器中顯示的任何文本的字體,字形,大小和對(duì)齊方式。如圖:選中控件后,更改大小為36具體每一項(xiàng)下拉菜單的功能,大家根據(jù)字面的意思即可理解,這里不再贅述。8編輯連線:如圖:當(dāng)連線發(fā)生錯(cuò)誤時(shí),就會(huì)出現(xiàn)斷線,在有斷線的時(shí)候,程序也就不能運(yùn)行,運(yùn)行按鈕也會(huì)發(fā)生改變,如圖:此時(shí)選中斷線,然后按<Delete>即可刪除,或者按<Ctrl+B>清除所有斷線。9對(duì)象的對(duì)齊,分布和大小調(diào)節(jié):對(duì)齊先選中所需要對(duì)齊的控件,然后選擇不同的對(duì)齊方式即可對(duì)齊后的效果如圖:控件之間的間距也可進(jìn)行調(diào)整,如圖,先選中他們,然后然后選擇調(diào)整間距。排列后的效
46、果如圖:三個(gè)控件已呈等垂直間距排列調(diào)試技術(shù)1發(fā)現(xiàn)錯(cuò)誤:當(dāng)編程錯(cuò)誤使VI不能編譯或運(yùn)行時(shí),工具條上的運(yùn)行按鈕便會(huì)變?yōu)椴荒苓\(yùn)行,如圖: 單擊,便會(huì)彈出程序錯(cuò)誤列表,如圖:?jiǎn)螕麸@示錯(cuò)誤,便可在程序框圖中找到出錯(cuò)的地方,如圖:2加亮執(zhí)行:?jiǎn)螕艏恿翀?zhí)行按鈕,可在程序框圖中觀察到數(shù)據(jù)流的流動(dòng)狀態(tài),但程序的執(zhí)行時(shí)間會(huì)明顯增加。如圖:3單步通過VI:為了調(diào)試程序,你可以一個(gè)節(jié)點(diǎn)一個(gè)節(jié)點(diǎn)地執(zhí)行框圖,在運(yùn)行程序的時(shí)候,不要點(diǎn)擊運(yùn)行按鈕,直接點(diǎn)擊單步運(yùn)行按鈕,運(yùn)行一步后,程序自動(dòng)暫停下來,等待用戶的下一個(gè)命令,再執(zhí)行下一步。如圖:兩個(gè)單步按鈕均可,只是暫停的位置略有區(qū)別。 4斷點(diǎn)與探針:要更為詳細(xì)的知道程序在運(yùn)行時(shí)
47、的各個(gè)參數(shù),可以在各條連線上設(shè)置斷點(diǎn),然后用探針查看斷電上的數(shù)據(jù),然后按繼續(xù)按鈕讓程序繼續(xù)運(yùn)行。如圖:程序運(yùn)行到斷電處便會(huì)自動(dòng)暫停,然后單擊繼續(xù),便可繼續(xù)運(yùn)行。如圖:快捷鍵:鍵盤上的按鍵組合功能Ctrl+S保存VICtrl+R運(yùn)行VICtrl+E在前面板和程序框圖間切換Ctrl+H打開或關(guān)閉幫助窗口Ctrl+B消除所有無效連線Ctrl+W關(guān)閉活動(dòng)的窗口Ctrl+F查找對(duì)象和VI第四講 程序結(jié)構(gòu)-循環(huán)結(jié)構(gòu)4.1 While 循環(huán)While循環(huán)是一種結(jié)構(gòu),它重復(fù)執(zhí)行代碼片段直到滿足某種條件為止。它可比作傳統(tǒng)語(yǔ)言中的Do Loop或RepeatUntil循環(huán)。它位于編程結(jié)構(gòu)While循環(huán)。每個(gè)Whi
48、le循環(huán)都有一個(gè)條件端子和一個(gè)重復(fù)端子。如圖:重復(fù)端子用于記錄和輸出已執(zhí)行的循環(huán)的次數(shù),條件端子輸入的是一個(gè)布爾變量:真或假,While循環(huán)將一直執(zhí)行到連接條件端子上的布爾值變成真或假為止,取決于條件端子設(shè)置為“真(T)時(shí)停止”還是“真(T)時(shí)繼續(xù)”。在條件端子上單擊右鍵即可進(jìn)行更改。如圖:該循環(huán)有如下特點(diǎn):l 計(jì)數(shù)從0開始(i=0)。l 先執(zhí)行循環(huán)體,而后i+1,如果循環(huán)只執(zhí)行一次,那么循環(huán)輸出值i=0。l 循環(huán)至少要運(yùn)行一次。 下面舉個(gè)簡(jiǎn)單的例子:利用While循環(huán)產(chǎn)生隨機(jī)數(shù),當(dāng)產(chǎn)生的隨機(jī)數(shù)大于0.8時(shí),循環(huán)停止。 步驟如下:1. 打開前面板,新建兩個(gè)數(shù)值顯示控件,一個(gè)為循環(huán)次數(shù),一個(gè)顯示
49、最后產(chǎn)生的那個(gè)大于0.8的隨機(jī)數(shù)。如圖:2 切換到程序框圖,放置一個(gè)While循環(huán),如圖:3. 放置隨機(jī)數(shù)函數(shù)到While循環(huán)內(nèi),并連線,如圖:4. 放置比較函數(shù),將循環(huán)次數(shù)與重復(fù)端子連線,如圖:5 運(yùn)行,即可在前面板上看到結(jié)果,如圖:在程序框圖中,在數(shù)值顯示控件上單擊右鍵,可更改數(shù)值的類型,如圖:各種數(shù)值的類型都可以看見,我就不再贅述。 在While循環(huán)的邊框上單擊右鍵,可添加位移寄存器,如圖:有關(guān)位移寄存器的用法,我們將會(huì)在下面講到,這里暫不做介紹。 注意:While循環(huán)的條件端子一定要有連線,否則程序無法運(yùn)行!如圖:練習(xí)4.1:使用While循環(huán)和圖表 目的:用 While 循環(huán)和圖表獲
50、得數(shù)據(jù),并實(shí)時(shí)顯示。創(chuàng)建一個(gè)可以產(chǎn)生并在圖表中顯示隨機(jī)數(shù)的VI。 前面板有一個(gè)控制旋鈕可在0到10秒之間調(diào)節(jié)循環(huán)時(shí)間,還有一個(gè)開關(guān)可以中止VI的運(yùn)行。學(xué)習(xí)怎樣改變開關(guān)的動(dòng)作屬性,以便不用每次運(yùn)行VI時(shí)都要打開開關(guān)。操作步驟如下: 前面板1 選擇File»New,打開一個(gè)新的前面板。2 選擇Controls»Boolean,在前面板中放置一個(gè)開關(guān)。設(shè)置開關(guān)的標(biāo)簽為控制開關(guān)。3 使用標(biāo)簽工具創(chuàng)建 ON 和 OFF 的標(biāo)簽,放置于開關(guān)旁。4 選中Controls»Graph,在前面板中放置一個(gè)波形圖(是chart,而不是graph)。設(shè)置它的標(biāo)簽為隨機(jī)信號(hào)。這個(gè)圖表用于
51、實(shí)時(shí)顯示隨機(jī)數(shù)。5 把圖表的縱坐標(biāo)改為0.0 到。方法是用標(biāo)簽工具把最大值從10.0改為1.0。6 選擇Controls»Numeric,在前面板中放置一個(gè)旋鈕。設(shè)置旋鈕的標(biāo)簽為循環(huán)延時(shí)。這個(gè)旋鈕用于控制While 循環(huán)的循環(huán)時(shí)間。流程圖:7 開流程圖,按照下圖創(chuàng)建流程圖。圖練習(xí)的流程圖a. 從 Functions»Structures 中選擇 While 循環(huán),把它放置在流程圖中。將其拖至適當(dāng)大小,將相關(guān)對(duì)象移到循環(huán)圈內(nèi)。b. 從 Functions» Numeric中選擇隨機(jī)數(shù)(0-1)功能函數(shù)放到循環(huán)內(nèi)。c. 在循環(huán)中設(shè)置Wait Until Next ms
52、 Multiple函數(shù) (Functions»Time & Dialog),該函數(shù)的時(shí)間單位是毫秒,按目前面板旋鈕的標(biāo)度,可將每次執(zhí)行時(shí)間延遲0到10毫秒。d. 照上面所示的流程圖連線,把隨機(jī)數(shù)功能函數(shù)和隨機(jī)信號(hào)圖表輸入端子連接起來,并把啟動(dòng)開關(guān)和While 循環(huán)的條件端子連接。8 返回前面板,調(diào)用操作工具后單擊垂直開關(guān)將它打開。9 把該 VI 保存為 LabVIEWActivity目錄中的。10 執(zhí)行該 VI。While循環(huán)的執(zhí)行次數(shù)是不確定的,只要設(shè)置的條件為真,循環(huán)程序就會(huì)持續(xù)運(yùn)行。在這個(gè)例子中,只要開關(guān)打開(TRUE),框圖程序就會(huì)一直產(chǎn)生隨機(jī)數(shù),并將其在圖表中顯示。
53、11 單擊垂直開關(guān),中止該VI。關(guān)閉開關(guān)這個(gè)動(dòng)作會(huì)給循環(huán)條件端子發(fā)送一個(gè)FALSE值,從而中止循環(huán)。12 用鼠標(biāo)右鍵單擊圖表,選擇Data Operations»Clear Chart,清除顯示緩存,重新設(shè)置圖表。練習(xí)結(jié)束4.2 For循環(huán)For循環(huán)用于將某段程序執(zhí)行指定次數(shù)。For循環(huán)位于函數(shù)編程結(jié)構(gòu)For循環(huán),如圖:從圖中可以看到,F(xiàn)or循環(huán)有兩個(gè)端子: 計(jì)數(shù)端子:要執(zhí)行循環(huán)的次數(shù),可用于For循環(huán)內(nèi)部的循環(huán)計(jì)數(shù) 重復(fù)端子:已執(zhí)行循環(huán)的次數(shù),可用于For循環(huán)內(nèi)部的重復(fù)計(jì)數(shù) 應(yīng)用舉例:產(chǎn)生10個(gè)隨機(jī)數(shù),并把最后一個(gè)顯示出來。步驟如下:1 放置一個(gè)數(shù)值顯示控件到前面板,并改名為隨機(jī)數(shù)
54、。2 放置For循環(huán)到程序框圖,如圖:3放置隨機(jī)數(shù)函數(shù)到程序框圖,并連線4計(jì)數(shù)端子上單擊右鍵,選擇創(chuàng)建常量,并輸入10,如圖:5運(yùn)行程序,便可在前面板上看到結(jié)果。6因?yàn)槌绦虻倪\(yùn)行的速度非???,我們無法一個(gè)一個(gè)地看清所產(chǎn)生的10個(gè)隨機(jī)數(shù),我們可以在程序框圖中添加時(shí)間延遲控件。它位于函數(shù)編程定時(shí)時(shí)間延遲,如圖:7 放置它到程序框圖上,選擇延遲的時(shí)間,即兩次循環(huán)之間的時(shí)間間隔。如圖:8 將時(shí)間設(shè)置為1.000,點(diǎn)擊確定即可,再運(yùn)行程序就可從前面板上看到所產(chǎn)生的隨機(jī)數(shù)了。4.3 移位寄存器移位寄存器用于For循環(huán)或While循環(huán)中從一個(gè)迭代傳輸數(shù)據(jù)到下一個(gè)迭代,它由循環(huán)垂直邊框上一對(duì)反向相反的端子組成,在邊框上單擊右鍵,選擇添加移位寄存器,就可進(jìn)行添加。如圖:右端子(帶向上箭頭的矩形
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CEPPEA 5029-2023電力建設(shè)工程地質(zhì)災(zāi)害危險(xiǎn)性評(píng)估技術(shù)要求
- T/CATCM 032-2024中藥配方顆粒臨床使用指南
- T/CMEAS 021-202420 kDa單甲氧基聚乙二醇丙醛(M-ALD-20K)質(zhì)量要求與測(cè)試方法
- 泡芙機(jī)器維修合同7篇
- 上海安全c證考試題庫(kù)及答案
- 【7語(yǔ)期末】蕪湖市無為市2023-2024學(xué)年七年級(jí)下學(xué)期期末語(yǔ)文試題
- 新版員工試用合同2篇
- 艾青詩(shī)選《蘆笛》課件解析
- 機(jī)動(dòng)小型車輛贈(zèng)與合同10篇
- 婚前住房約定協(xié)議4篇
- 生產(chǎn)經(jīng)營(yíng)單位事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)制度
- 【MOOC】灰色系統(tǒng)理論-南京航空航天大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024年全國(guó)統(tǒng)一高考英語(yǔ)試卷(新課標(biāo)Ⅰ卷)含答案
- 人教版高一下學(xué)期期末考試數(shù)學(xué)試卷與答案解析(共五套)
- 酒店客房檢查表
- 項(xiàng)目驗(yàn)收ppt目錄課件
- ASME第八卷第一冊(cè)2015培訓(xùn)資料
- 2022版義務(wù)教育(數(shù)學(xué))課程標(biāo)準(zhǔn)(含2022年修訂部分)
- 經(jīng)肛門微創(chuàng)手術(shù)(TME)(課堂PPT)
- 新版【處置卡圖集】施工類各崗位應(yīng)急處置卡(20頁(yè))
- 標(biāo)準(zhǔn)作業(yè)組合票--自動(dòng)生成
評(píng)論
0/150
提交評(píng)論