虛擬儀器測試技術(shù)_第1頁
虛擬儀器測試技術(shù)_第2頁
虛擬儀器測試技術(shù)_第3頁
虛擬儀器測試技術(shù)_第4頁
虛擬儀器測試技術(shù)_第5頁
已閱讀5頁,還剩135頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 FILENAME 虛擬儀器測試技術(shù)-屈有安 PAGE 140PAGE 目錄 TOC o 1-3 h z u HYPERLINK l _Toc257884044 單元1 配置虛擬儀器軟件與硬件 PAGEREF _Toc257884044 h 3 HYPERLINK l _Toc257884045 1.1 演示虛擬示波器和電壓表 PAGEREF _Toc257884045 h 3 HYPERLINK l _Toc257884046 1.2什么是虛擬儀器 PAGEREF _Toc257884046 h 4 HYPERLINK l _Toc257884047 1.3配置虛擬儀器的硬件平臺 PAGER

2、EF _Toc257884047 h 5 HYPERLINK l _Toc257884048 單元2 創(chuàng)建和編輯、調(diào)試VI PAGEREF _Toc257884048 h 9 HYPERLINK l _Toc257884049 2.1 LABVIEW的基本開發(fā)平臺 PAGEREF _Toc257884049 h 9 HYPERLINK l _Toc257884050 2.4創(chuàng)建一個簡單的VI程序 PAGEREF _Toc257884050 h 15 HYPERLINK l _Toc257884051 2.5VI編輯和調(diào)試技術(shù) PAGEREF _Toc257884051 h 16 HYPERLI

3、NK l _Toc257884052 2.6創(chuàng)建子VI PAGEREF _Toc257884052 h 20 HYPERLINK l _Toc257884053 2.7調(diào)用子VI PAGEREF _Toc257884053 h 25 HYPERLINK l _Toc257884054 單元3 結(jié)構(gòu)控制程序設(shè)計 PAGEREF _Toc257884054 h 27 HYPERLINK l _Toc257884055 3.1 While loop結(jié)構(gòu)與chart圖表 PAGEREF _Toc257884055 h 27 HYPERLINK l _Toc257884056 3.1.1While lo

4、op結(jié)構(gòu) PAGEREF _Toc257884056 h 27 HYPERLINK l _Toc257884057 3.1.2波形圖指示器 PAGEREF _Toc257884057 h 28 HYPERLINK l _Toc257884058 3.2移位寄存器(Shift Register) PAGEREF _Toc257884058 h 33 HYPERLINK l _Toc257884059 3.3 For loop PAGEREF _Toc257884059 h 37 HYPERLINK l _Toc257884060 3.4 分支(Case)結(jié)構(gòu) PAGEREF _Toc257884

5、060 h 39 HYPERLINK l _Toc257884061 3.4順序結(jié)構(gòu)(Sequence Structure) PAGEREF _Toc257884061 h 44 HYPERLINK l _Toc257884062 3.5公式節(jié)點(Formula Node) PAGEREF _Toc257884062 h 47 HYPERLINK l _Toc257884063 單元4 數(shù)組(array)和圖形(graphs)程序設(shè)計 PAGEREF _Toc257884063 h 50 HYPERLINK l _Toc257884064 4.1數(shù)組(array) PAGEREF _Toc25

6、7884064 h 50 HYPERLINK l _Toc257884065 4.1.1 創(chuàng)建數(shù)組及自動索引數(shù)組 PAGEREF _Toc257884065 h 50 HYPERLINK l _Toc257884066 4.1.2 數(shù)組函數(shù) PAGEREF _Toc257884066 h 56 HYPERLINK l _Toc257884067 4.2簇(cluster) PAGEREF _Toc257884067 h 60 HYPERLINK l _Toc257884068 4.2.1創(chuàng)建簇控制和顯示簇 PAGEREF _Toc257884068 h 60 HYPERLINK l _Toc2

7、57884069 4.2.2 使用簇與子VI傳遞數(shù)據(jù) PAGEREF _Toc257884069 h 61 HYPERLINK l _Toc257884070 4.2.3按名稱捆綁與分解簇 PAGEREF _Toc257884070 h 62 HYPERLINK l _Toc257884071 4.2.4數(shù)組和簇的互換 PAGEREF _Toc257884071 h 63 HYPERLINK l _Toc257884072 4.2.5error in簇 和error out簇 PAGEREF _Toc257884072 h 63 HYPERLINK l _Toc257884073 4.2.6波

8、形圖(Waveform) PAGEREF _Toc257884073 h 63 HYPERLINK l _Toc257884074 4.3圖形 PAGEREF _Toc257884074 h 64 HYPERLINK l _Toc257884075 4.3.1Graph控件 PAGEREF _Toc257884075 h 65 HYPERLINK l _Toc257884076 4.3.2 Chart獨有控件 PAGEREF _Toc257884076 h 65 HYPERLINK l _Toc257884077 4.3.3XY圖形控件(XY Graph) PAGEREF _Toc257884

9、077 h 67 HYPERLINK l _Toc257884078 4.3.4強(qiáng)度圖形控件(Intensity Graph) PAGEREF _Toc257884078 h 68 HYPERLINK l _Toc257884079 4.3.5數(shù)字波形圖控件(Digital Waveform Graph) PAGEREF _Toc257884079 h 68 HYPERLINK l _Toc257884080 單元5 字符串和文件程序設(shè)計 PAGEREF _Toc257884080 h 70 HYPERLINK l _Toc257884081 5.1字符串 PAGEREF _Toc257884

10、081 h 70 HYPERLINK l _Toc257884082 5.2文件的輸入/輸出(I/O) PAGEREF _Toc257884082 h 72 HYPERLINK l _Toc257884083 5.2.1文件 I/O函數(shù) PAGEREF _Toc257884083 h 72 HYPERLINK l _Toc257884084 5.2. 將數(shù)據(jù)寫入電子表格文件 PAGEREF _Toc257884084 h 73 HYPERLINK l _Toc257884085 單元6數(shù)據(jù)采集 (Data Acquisition) PAGEREF _Toc257884085 h 80 HYPE

11、RLINK l _Toc257884086 6.1基于了LABVIEW的數(shù)據(jù)采集卡系統(tǒng)總體結(jié)構(gòu) PAGEREF _Toc257884086 h 80 HYPERLINK l _Toc257884087 6.2數(shù)據(jù)采集設(shè)備的設(shè)置與測試 PAGEREF _Toc257884087 h 81 HYPERLINK l _Toc257884088 6.3采集模擬信號 PAGEREF _Toc257884088 h 85 HYPERLINK l _Toc257884089 6.3.1 A/D轉(zhuǎn)換 PAGEREF _Toc257884089 h 86 HYPERLINK l _Toc257884090 6.

12、3.2模擬輸入?yún)?shù)說明 PAGEREF _Toc257884090 h 87 HYPERLINK l _Toc257884091 6.3.4在DAQmx中創(chuàng)建應(yīng)用程序 PAGEREF _Toc257884091 h 88 HYPERLINK l _Toc257884092 虛擬測試技術(shù)實驗習(xí)題集 PAGEREF _Toc257884092 h 98 HYPERLINK l _Toc257884093 Excercise1:INTRODUCTION TO LABVIEW PAGEREF _Toc257884093 h 98 HYPERLINK l _Toc257884094 Excercise2

13、:CREATE A SIMPLE LABVIEW VI PAGEREF _Toc257884094 h 99 HYPERLINK l _Toc257884095 Excercise3 Create a sub vi PAGEREF _Toc257884095 h 100 HYPERLINK l _Toc257884096 Exercise 4 LOOP AND CHARTS PAGEREF _Toc257884096 h 101 HYPERLINK l _Toc257884097 Exercise 5 ARRAY AND INDICATORS PAGEREF _Toc257884097 h 1

14、04 HYPERLINK l _Toc257884098 Exercise 6 CASE AND SEQUENCE STRUCTURE PAGEREF _Toc257884098 h 108單元1 配置虛擬儀器軟件與硬件1.1 演示虛擬示波器和電壓表虛擬儀器(virtual instrument)是基于計算機(jī)的儀器。或者說虛擬儀器技術(shù)就是用計算機(jī)來做測量的技術(shù)。那么計算機(jī)能做測量嗎?下面先看一個兩個演示例子。例1:虛擬示波器。圖1-1虛擬示波器前面板例2:虛擬數(shù)字電壓表圖1-2虛擬數(shù)字電壓表前面板上述例子說明:用計算機(jī)來做測量是可行的。1.2什么是虛擬儀器虛擬儀器(virtual instru

15、mention)是基于計算機(jī)的儀器。計算機(jī)和儀器的密切結(jié)合是目前儀器發(fā)展的一個重要方向。粗略地說這種結(jié)合有兩種方式,一種是將計算機(jī)裝 入儀器,其典型的例子就是所謂智能化的儀器。隨著計算機(jī)功能的日益強(qiáng)大以及其體積的日趨縮小,這類儀器功能也越來越強(qiáng)大,目前已經(jīng)出現(xiàn)含嵌入式系統(tǒng)的儀器。另一種方式是將儀器裝入計算機(jī)。以通用的計算機(jī)硬件及操作系統(tǒng)為依托,實現(xiàn)各種儀器功能。虛擬儀器主要是指這種方式。下面的框圖反映了常見的虛擬儀器方案。實際上,所有測試儀器可概括為三大功能模塊組成:數(shù)據(jù)采集、數(shù)據(jù)測試和分析、結(jié)果輸出與顯示。其中數(shù)據(jù)分析和結(jié)果輸出完全可由基于計算機(jī)的軟件系統(tǒng)來完成,因此只要另外提供一定的數(shù)據(jù)采

16、集硬件,就可構(gòu)成基于計算機(jī)組成的測量測試儀器。虛擬儀器的主要特點有:盡可能采用了通用的硬件,各種儀器的差異主要是軟件。 可充分發(fā)揮計算機(jī)的能力,有強(qiáng)大的數(shù)據(jù)處理功能,可以創(chuàng)造出功能更強(qiáng)的儀器。用戶可以根據(jù)自己的需要定義和制造各種儀器。注意:這里所指的虛擬儀器和EDA仿真軟件中的虛擬儀器概念完全不同,它可以完全替代傳統(tǒng)臺式測量測試儀器實現(xiàn)對真實信號的測量。而EDA仿真軟件中的虛擬儀器是純軟件的、仿真的,不能測量真實的信號。1.3配置虛擬儀器的硬件平臺虛擬儀器由通用儀器的硬件平臺和應(yīng)用軟件兩部分組成。硬件平臺虛擬儀器的硬件平臺包括計算機(jī)和I/O接口設(shè)備兩部分。計算機(jī)是硬件平臺的核心。I/O接口設(shè)備

17、主要完成待測輸入信號的采集、放大、和A/D轉(zhuǎn)換等。根據(jù)I/O接口設(shè)備的不同總線形式,虛擬儀器主要分為以下六種類型;PC-DAQ插卡式虛擬儀器它是以數(shù)據(jù)采集卡、信號條理電路以及計算機(jī)為硬件平臺組成的插卡式虛擬儀器系統(tǒng)。這種系統(tǒng)采用PCI計算機(jī)總線,只要將數(shù)據(jù)采集卡插入計算機(jī)主板的空槽中即可以使用。插卡式虛擬儀器的組成原理框圖NI公司的M系列數(shù)據(jù)采集卡GPIB儀器它是以GPIB標(biāo)準(zhǔn)儀器總線與計算機(jī)為硬件平臺組成的儀器測試系統(tǒng)。GPIB儀器組成串口儀器串口儀器是以serial標(biāo)準(zhǔn)總線與計算機(jī)為平臺組成的儀器測試系統(tǒng)。VXI模塊它是以VXI標(biāo)準(zhǔn)總線儀器模塊與計算機(jī)硬件為平臺組成的儀器測試系統(tǒng)。VXI虛

18、擬儀器PXI模塊它是以PXI標(biāo)準(zhǔn)總線儀器模塊與計算機(jī)為硬件平臺組成的儀器測試系統(tǒng)。PXI虛擬儀器USB模塊它是以USB標(biāo)準(zhǔn)總線儀器模塊與計算機(jī)為硬件平臺組成的儀器測試系統(tǒng)。NI-USB數(shù)據(jù)采集卡構(gòu)成的虛擬儀器1.1.4配置虛擬儀器軟件虛擬儀器可使用相同的硬件系統(tǒng),通過不同的軟件就可以實現(xiàn)功能完全不同的各種測量測試儀器,軟件系統(tǒng)是虛擬儀器的核心,軟件可以定義為各種儀器,因此可以說“軟件即儀器”。虛擬儀器的應(yīng)用軟件包含應(yīng)用程序和I/O接口驅(qū)動程序兩部分構(gòu)成。1. I/O接口設(shè)備驅(qū)動程序完成特定外部硬件設(shè)備的擴(kuò)展,驅(qū)動以及計算機(jī)的通信。一般I/O接口驅(qū)動程由提供I/O設(shè)備的廠家提供。2.應(yīng)用程序。在

19、硬件平臺具備以后,完成測試功能主要取決于應(yīng)用程序。*.EXE文件。3.開發(fā)工具開發(fā)虛擬儀器必須有合適的軟件工具,目前虛擬儀器軟件開發(fā)工具主要有如下幾類:文本式編程語言:如 visual C, visual Basic labview windows /CVI等。圖形化編輯語言:如labview (NI公司) VEE(HP公司)等。這些軟件開發(fā)工具為用戶設(shè)計虛擬儀器應(yīng)用軟件提供了良好的開發(fā)環(huán)境。4.LabVIEW概述LabVIEW(Laboratory Virtual instrument Engineering)是一種圖形化的編程語言,它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實驗室所接受,視為一個標(biāo)準(zhǔn)的

20、數(shù)據(jù)采集和儀器控制軟件。LabVIEW集成了與滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能。它還內(nèi)置了便于應(yīng)用TCP/IP、ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù)。這是一個功能強(qiáng)大且靈活的軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動有趣。圖形化的程序語言,又稱為“”語言。使用這種語言編程時,基本上不寫程序代碼,取而代之的是流程圖或框圖。它盡可能利用了技術(shù)人員、科學(xué)家、工程師所熟悉的術(shù)語、圖標(biāo)和概念,因此,LabVIEW是一個面向最終用戶的工具。它可以增強(qiáng)你構(gòu)建自己的科學(xué)和工程系統(tǒng)的能力,提供了實現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷

21、途徑。使用它進(jìn)行原理研究、設(shè)計、測試并實現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率。利用LabVIEW,可產(chǎn)生獨立運(yùn)行的可執(zhí)行文件。它是一個真正的位編譯器。像許多重要的軟件一樣,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多種版本。單元2 創(chuàng)建和編輯、調(diào)試VI知識點:Labview的前面板和流程圖設(shè)計Labview的操作模板和主菜單創(chuàng)建兩個VI程序LABVIEW的程序調(diào)式技術(shù)創(chuàng)建子程序本章概述:本章主要介紹LABVIEW的前面板窗口和流程圖窗口,工具模板,控制模板和函數(shù)模板,通過具體程序設(shè)計示例的來說明LABVIEW編程的一般步驟和程序調(diào)試技術(shù)。最后將介紹子程序的概念

22、以創(chuàng)建子程序的詳細(xì)過程。2.1 LABVIEW的基本開發(fā)平臺LabVIEW程序,簡稱VI,包括前面板(front panel)、流程圖兩個窗口。前面板前面板是圖形用戶界面,也就是VI的虛擬儀器面板,這一界面上有用戶輸入和顯示輸出兩類對象,具體表現(xiàn)有開關(guān)、旋鈕、圖形以及其他控制(control)和顯示對象(indicator)??刂茖ο?輸入)顯示對象(輸出)圖2隨機(jī)信號發(fā)生器的前面板板圖2-1所示是一個隨機(jī)信號發(fā)生和顯示的簡單VI是它的前面板,上面有一個顯示對象,以曲線的方式顯示了所產(chǎn)生的一系列隨機(jī)數(shù)。還有一個控制對象開關(guān),可以啟動和停止工作。顯然,并非簡單地畫兩個控件就可以運(yùn)行,在前面板后還

23、有一個與之配套的流程圖。流程圖流程圖提供VI的圖形化源程序。在流程圖中對VI編程,以控制和操縱定義在前面板上的輸入和輸出功能。流程圖中包括前面板上的控件的連線端子,還有一些前面板上沒有,但編程必須有的東西,例如函數(shù)、結(jié)構(gòu)和連線等。圖是與圖對應(yīng)的流程圖。我們可以看到流程圖中包括了前面板上的開關(guān)和隨機(jī)數(shù)顯示器的連線端子,還有一個隨機(jī)數(shù)發(fā)生器的函數(shù)及程序的循環(huán)結(jié)構(gòu)。隨機(jī)數(shù)發(fā)生器通過連線將產(chǎn)生的隨機(jī)信號送到顯示控件,為了使它持續(xù)工作下去,設(shè)置了一個While Loop循環(huán),由開關(guān)控制這一循環(huán)的結(jié)束。函數(shù):隨機(jī)數(shù)發(fā)生器結(jié)構(gòu):循環(huán)與前面板控件對應(yīng)的連線端子與前面板控件對應(yīng)的連線端子圖2隨機(jī)信號發(fā)生器的流程

24、圖如果將VI與標(biāo)準(zhǔn)儀器相比較,那么前面板上的東西就是儀器面板上的東西,而流程圖上的東西相當(dāng)于儀器箱內(nèi)的東西。在許多情況下,使用VI可以仿真標(biāo)準(zhǔn)儀器,不僅在屏幕上出現(xiàn)一個惟妙惟肖的標(biāo)準(zhǔn)儀器面板,而且其功能也與標(biāo)準(zhǔn)儀器相差無幾。工具模板(Tools Palette)為了便于創(chuàng)建VI程序,LabVIEW平臺上提供了三種模板供編程人員使用,這三種模版分別是:工具(Tools)模板、控件(Controls)模板和函數(shù)(Functions)模板。工具模板為編程者提供了各種用于創(chuàng)建、修改和調(diào)試VI程序的工具。如果該模板沒有出現(xiàn),則可以在Windows菜單下選擇Show Tools Palette命令以顯示該

25、模板。當(dāng)從模板內(nèi)選擇了任一種工具后,鼠標(biāo)箭頭就會變成該工具相應(yīng)的形狀。當(dāng)從Windows菜單下選擇了Show Help Window功能后,把工具模板內(nèi)選定的任一種工具光標(biāo)放在框圖程序的子程序(Sub VI)或圖標(biāo)上,就會顯示相應(yīng)的幫助信息。工具模板圖標(biāo)有如下幾種:工具模板圖標(biāo)、名稱及功能圖標(biāo)名稱功能操作工具使用該工具來操作前面板的控制和顯示。使用它向數(shù)字或字符串控制中鍵入值時,工具會變成標(biāo)簽工具的形狀。選擇工具用于選擇、移動或改變對象的大小。當(dāng)它用于改變對象的連框大小時,會變成相應(yīng)形狀。標(biāo)簽工具用于輸入標(biāo)簽文本或者創(chuàng)建自由標(biāo)簽。當(dāng)創(chuàng)建自由標(biāo)簽時它會變成相應(yīng)形狀。連線工具用于在框圖程序上連接對

26、象。如果聯(lián)機(jī)幫助的窗口被打開時,把該工具放在任一條連線上,就會顯示相應(yīng)的數(shù)據(jù)類型。對象彈出菜單工具用左鼠標(biāo)鍵可以彈出對象的彈出式菜單。漫游工具 使用該工具就可以不需要使用滾動條而在窗口中漫游。斷點工具 使用該工具在VI的框圖對象上設(shè)置斷點探針工具可以在框圖程序內(nèi)的數(shù)據(jù)流線上設(shè)置探針。程序調(diào)試員可以通過控針窗口來觀察該數(shù)據(jù)流線上的數(shù)據(jù)變化狀況。顏色提取工具使用該工具來提取顏色用于編輯其他的對象。顏色工具用來給對象定義顏色。它也顯示出對象的前景色和背景色??丶0?Controls Palette)與上述工具模板不同,控制和功能模板只顯示頂層子模板的圖標(biāo)。在這些頂層子模板中包含許多不同的控制或功能

27、子模板。通過這些控制或功能子模板可以找到創(chuàng)建程序所需的面板對象和框圖對象。用鼠標(biāo)點擊頂層子模板圖標(biāo)就可以展開對應(yīng)的控制或函數(shù)子模板,只需按下控制或函數(shù)子模板左上角的大頭針就可以把對這個子模板變成浮動板留在屏幕上。用控制模板可以給前面板添加輸入控制和輸出顯示。每個圖標(biāo)代表一個子模板。如果控制模板不顯示,可以用Windows菜單的Show Controls Palette函數(shù)打開它,也可以在前面板的空白處,點擊鼠標(biāo)右鍵,以彈出控制模板。注:只有當(dāng)打開前面板窗口時才能調(diào)用控制模板。控制模板如左圖所示,它包括如圖所示的幾個子模板??丶幽0鍒D標(biāo)、名稱及功能圖標(biāo)名稱功能數(shù)值子模板包含數(shù)值的控制和顯示。布

28、爾值子模塊邏輯數(shù)值的控制和顯示。字符串子模板字符串和表格的控制和顯示。列表和環(huán)(Ring)子模板菜單環(huán)和列表欄的控制和顯示數(shù)組和群子模板復(fù)合型數(shù)據(jù)類型的控制和顯示圖形子模板顯示數(shù)據(jù)結(jié)果的趨勢圖和曲線圖。路徑和參考名(Refnum)子模板文件路徑和各種標(biāo)識的控制和顯示??丶萜鲙熳幽0逵糜诓僮鱋LE、ActiveX等函數(shù)。對話框子模板用于輸入對話框的顯示控制。修飾子模板用于給前面板進(jìn)行裝飾的各種圖形對象。自定義用戶自定義的控制和顯示。調(diào)用存儲在文件中的控制和顯示的接口。函數(shù)模板(Functions Palette)函數(shù)模板是創(chuàng)建框圖程序的工具。該模板上的每一個頂層圖標(biāo)都表示一個子模板。若函數(shù)模板

29、不出現(xiàn),則可以用Windows菜單下的Show Functions Palette函數(shù)打開它,也可以在框圖程序窗口的空白處點擊鼠標(biāo)右鍵以彈出函數(shù)模板。注:只有打開了框圖程序窗口,才能出現(xiàn)函數(shù)模板。函數(shù)模板如下圖所示。函數(shù)模板的子模板圖標(biāo)名稱函數(shù)結(jié)構(gòu)子模板包括程序控制結(jié)構(gòu)命令,例如循環(huán)控制等,以及全局變量和局部變量。數(shù)值運(yùn)算子模板包括各種常用的數(shù)值運(yùn)算符,如+、-等;以及各種常見的數(shù)值運(yùn)算式,如+1運(yùn)算;還包括數(shù)制轉(zhuǎn)換、三角函數(shù)、對數(shù)、復(fù)數(shù)等運(yùn)算,以及各種數(shù)值常數(shù)。布爾邏輯子模板包括各種邏輯運(yùn)算符以及布爾常數(shù)。字符串運(yùn)算子模板包含各種字符串操作函數(shù)、數(shù)值與字符串之間的轉(zhuǎn)換函數(shù),以及字符(串)常數(shù)

30、等。數(shù)組子模板包括數(shù)組運(yùn)算函數(shù)、數(shù)組轉(zhuǎn)換函數(shù),以及常數(shù)數(shù)組等。群子模板。包括群的處理函數(shù),以及群常數(shù)等。這里的群相當(dāng)于C語言中的結(jié)構(gòu)。比較子模板包括各種比較運(yùn)算函數(shù),如大于、小于、等于。時間和對話框子模板包括對話框窗口、時間和出錯處理函數(shù)等。文件輸入/輸出子模板包括處理文件輸入/輸出的程序和函數(shù)。儀器控制子模板包括GPIB(488、488.2)、串行、VXI儀器控制的程序和函數(shù),以及VISA的操作功能函數(shù)。儀器驅(qū)動程序庫用于裝入各種儀器驅(qū)動程序。數(shù)據(jù)采集子模板包括數(shù)據(jù)采集硬件的驅(qū)動程序,以及信號調(diào)理所需的各種函數(shù)模塊。信號處理子模板包括信號發(fā)生、時域及頻域分析函數(shù)模塊。數(shù)學(xué)模型子模塊包括統(tǒng)計、

31、曲線擬合、公式框節(jié)點等函數(shù)模塊,以及數(shù)值微分、積分等數(shù)值計算工具模塊。圖形與聲音子模塊包括3D、OpenGL、聲音播放等函數(shù)模塊。通訊子模板包括TCP、DDE、ActiveX和OLE等函數(shù)的處理模塊。應(yīng)用程序控制子模塊:包括動態(tài)調(diào)用VI、標(biāo)準(zhǔn)可執(zhí)行程序的函數(shù)函數(shù)。底層接口子模塊包括調(diào)用動態(tài)連接庫和CIN節(jié)點等函數(shù)的處理模塊。文檔生成子模板示教課程子模板包括LabVIEW示教程序。用戶自定義的子VI模板“選擇VI子程序”子模板:包括一個對話框,可以選擇一個VI程序作為子程序(SUB VI)插入當(dāng)前程序中。其它幾個子模板是LabVIEW的附加Toolkit安裝上去的。在LabVIEW完全版中不包括

32、這些子模板。2.4創(chuàng)建一個簡單的VI程序我們通過例子來說明如何創(chuàng)建一個VI。例題2-1:把攝氏溫度轉(zhuǎn)換為華氏溫度。圖2-1 例題2-1的前面板 圖2-2例題2-1框圖程序前面板編輯: 選擇 FileNewblank vi ,打開一個新的前面板窗口。選擇WindowsLeft and Right或使用快捷鍵“CTR+T”,顯示前面板和框圖程序窗口。創(chuàng)建數(shù)字控件,并將這個數(shù)字控件標(biāo)簽“l(fā)abel”修改為“deg c”.從ControlsNumeric Controls 中選擇 Numeric Control放到前面板中。用tool palette“A”工具,將修改Numeric Control的

33、“l(fā)abel”項修改為“deg c”。創(chuàng)建數(shù)字指示器,并將這個數(shù)字控件標(biāo)簽“l(fā)abel”修改為“deg f”流圖圖的編輯:按“CTR+E”鍵,切換到框圖程序窗口。從功能模板中選擇下列函數(shù)圖標(biāo)放置在框圖中Multiply 在(functionnumeric)下,將兩個數(shù)相乘得到它們的乘積。 add在(functionnumeric)下,將兩個數(shù)相加得到它們的和。 numeric constant 常數(shù),此例中,雙擊數(shù)值型常數(shù),將其值分別修改為1.8,再放置一個數(shù)值型常數(shù),將其數(shù)值修改為32。使用連線工具, 按照圖2-2框圖連線。前面板如圖2-1所示??驁D程序如圖2-2所示。Vi的運(yùn)行:單擊窗口上

34、部的 “run”圖標(biāo),運(yùn)行該vi, 得到圖2-1的結(jié)果.單擊窗口上部的 “ continuous run”圖標(biāo),輸出結(jié)果可以隨輸入的變化而變化。單擊“pause”可暫時停止程序。單擊“abort excution”結(jié)束程序的運(yùn)行。程序的存盤:選擇filesave,將此VI命名為C-F.vi保存。選擇fileclose,關(guān)閉VI。練習(xí)2-1結(jié)束。VI編輯和調(diào)試技術(shù)1VI編輯技術(shù) VI程序具有三個要素:前面板、框圖程序和圖標(biāo)/連接器。節(jié)點類似于文本語言程序的語句、函數(shù)或者子程序。LabVIEW有二種節(jié)點類型函數(shù)節(jié)點和子VI節(jié)點。兩者的區(qū)別在于:函數(shù)節(jié)點是LabVIEW以編譯好了的機(jī)器代碼供用戶使用

35、的,而子VI節(jié)點是以圖形語言形式提供給用戶的。用戶可以訪問和修改任一子VI節(jié)點的代碼,但無法對函數(shù)節(jié)點進(jìn)行修改。上面的框圖程序所示的VI程序有兩個函數(shù)函數(shù)節(jié)點,一個函數(shù)使兩個數(shù)值相加,另一個函數(shù)使兩數(shù)相減。端點是只有一路輸入/輸出,且方向固定的節(jié)點。LabVIEW有三類端點前面板對象端點、全局與局部變量端點和常量端點。對象端點是數(shù)據(jù)在框圖程序部分和前面板之間傳輸?shù)慕涌?。一般來說,一個VI的前面板上的對象(控制或顯示)都在框圖中有一個對象端點與之一一對應(yīng)。當(dāng)在前面板創(chuàng)建或刪除面板對象時,可以自動創(chuàng)建或刪除相應(yīng)的對象端點??刂茖ο髮?yīng)的端點在框圖中是用粗框框住的,如例子中的A和B端點。它們只能在V

36、I程序框圖中作為數(shù)據(jù)流源點。顯示對象對應(yīng)的端點在框圖中是用細(xì)框框住的。如例子中的A+B和A-B端點。它們只能在VI程序框圖中作為數(shù)據(jù)流終點。常量端點永遠(yuǎn)只能在VI程序框圖中作為數(shù)據(jù)流源點。圖框是LabVIEW實現(xiàn)程序結(jié)構(gòu)控制命令的圖形表示。如循環(huán)控制、條件分支控制和順序控制等,編程人員可以使用它們控制VI程序的執(zhí)行方式。代碼接口節(jié)點(CIN)是框圖程序與用戶提供的C語言文本程序的接口。連線是端口間的數(shù)據(jù)通道。它們類似于普通程序中的變量。數(shù)據(jù)是單向流動的,從源端口向一個或多個目的端口流動。不同的線型代表不同的數(shù)據(jù)類型。在彩顯上,每種數(shù)據(jù)類型還以不同的顏色予以強(qiáng)調(diào)。下面是一些常用數(shù)據(jù)類型所對應(yīng)的線

37、型和顏色:數(shù)據(jù)類型圖 形顏色整形數(shù)浮點數(shù)邏輯量字符串文件路徑蘭色橙色綠色粉色青色當(dāng)需要連接兩個端點時,在第一個端點上點擊連線工具(從工具模板欄調(diào)用),然后移動到另一個端點,再點擊第二個端點。端點的先后次序不影響數(shù)據(jù)流動的方向。當(dāng)把連線工具放在端點上時,該端點區(qū)域?qū)W爍,表示連線將會接通該端點。當(dāng)把連線工具從一個端口接到另一個端口時,不需要按住鼠標(biāo)鍵。當(dāng)需要連線轉(zhuǎn)彎時,點擊一次鼠標(biāo)鍵,即可以正交垂直方向地彎曲連線,按空格鍵可以改變轉(zhuǎn)角的方向。快速提示:接線頭是為了幫助正確連接端口的連線。當(dāng)把連線工具放到端口上,接線頭就會彈出。接線頭還有一個黃色小標(biāo)識框,顯示該端口的名字。從框圖程序窗口創(chuàng)建前面

38、板對象.用選擇和連線工具,你都可以用鼠標(biāo)右鍵點擊任一節(jié)點和端點,然后從彈出菜單中選擇“創(chuàng)建常數(shù)”,“創(chuàng)建控制”,或“創(chuàng)建顯示”等命令。LabVIEW會自動地在被創(chuàng)建的端點與所點擊對象之間接好連線。數(shù)據(jù)流編程控制VI程序的運(yùn)行方式叫做“數(shù)據(jù)流”。對一個節(jié)點而言,只有當(dāng)它的所有輸入端口上的數(shù)據(jù)都成為有效數(shù)據(jù)時,它才能被執(zhí)行。當(dāng)節(jié)點程序運(yùn)行完畢后,它把結(jié)果數(shù)據(jù)送給所有的輸出端口,使之成為有效數(shù)據(jù)。并且數(shù)據(jù)很快從源送到目的端口。如左圖所示,這個VI程序把兩個輸入數(shù)值相乘,再把乘積減去50.0。這個程序中,框圖程序從左往右執(zhí)行,這個執(zhí)行次序不是由于對象的擺放位置,而是由于相減運(yùn)算函數(shù)的一個輸入量是相乘函

39、數(shù)的運(yùn)算結(jié)果,它只有當(dāng)相乘運(yùn)算完成并把結(jié)果送到減運(yùn)算的輸入口后才能繼續(xù)下去。請記住,一個節(jié)點(函數(shù))只有當(dāng)它所有的輸入端的數(shù)據(jù)都成為有效數(shù)據(jù)后才能被執(zhí)行,而且只有當(dāng)它執(zhí)行完成后,它的所有輸出端口上的數(shù)據(jù)才成為有效。再看另一個程序.你認(rèn)為哪一個節(jié)點函數(shù)將先執(zhí)行是乘法還是除法?在這個例子中,我們無法知道哪一個節(jié)點函數(shù)首先執(zhí)行,因為所有輸入量幾乎同時到達(dá)。對于這樣一種相互獨立的數(shù)據(jù)流程,如果又必須明確指定節(jié)點執(zhí)行的先后次序,就必須使用順序(Sequence)結(jié)構(gòu)來明確執(zhí)行次序。2程序調(diào)試技術(shù)找出語法錯誤如果一個VI程序存在語法錯誤,則在面板工具條上的運(yùn)行按鈕將會變成一個折斷的箭頭,表示程序不能被執(zhí)行

40、。這時這個按鈕被稱作錯誤列表。點擊它,則LabVIEW彈出錯誤清單窗口,點擊其中任何一個所列出的錯誤,選用Find函數(shù),則出錯的對象或端口就會變成高亮。設(shè)置執(zhí)行程序高亮在LabVIEW的工具條上有一個畫著燈泡的按鈕,這個按鈕叫做“高亮執(zhí)行”按鈕上。點擊這個按鈕使該按鈕圖標(biāo)變成高亮形式,再點擊運(yùn)行按鈕,VI程序就以較慢的速度運(yùn)行,沒有被執(zhí)行的代碼灰色顯示,執(zhí)行后的代碼高亮顯示,并顯示數(shù)據(jù)流線上的數(shù)據(jù)值。這樣,你就可以在根據(jù)數(shù)據(jù)的流動狀態(tài)跟蹤程序的執(zhí)行。斷點與單步執(zhí)行為了查找程序中的邏輯錯誤,你也許希望框圖程序一個節(jié)點一個節(jié)點地執(zhí)行。使用斷點工具可以在程序的某一地點中止程序執(zhí)行,用探針或者單步方式

41、查看數(shù)據(jù)。使用斷點工具時,點擊你希望設(shè)置或者清除斷點的地方。斷點的顯示對于節(jié)點或者圖框表示為紅框,對于連線表示為紅點。當(dāng)VI程序運(yùn)行到斷點被設(shè)置處,程序被暫停在將要執(zhí)行的節(jié)點,以閃爍表示。按下單步執(zhí)行按鈕,閃爍的節(jié)點被執(zhí)行,下一個將要執(zhí)行的節(jié)點變?yōu)殚W爍,指示它將被執(zhí)行。你也可以點擊暫停按鈕,這樣程序?qū)⑦B續(xù)執(zhí)行直到下一個斷點。探針 你可以用探針工具來查看當(dāng)框圖程序流經(jīng)某一根連接線時的數(shù)據(jù)值。從Tools工具模板選擇探針工具,再用鼠標(biāo)左建點擊你希望放置探針的連接線。這時顯示器上會出現(xiàn)一個探針顯示窗口。該窗口總是被顯示在前面板窗口或框圖窗口的上面。在框圖中使用選擇工具或連線工具,在連線上點擊鼠標(biāo)右鍵

42、,在連線的彈出式菜單中選擇“探針”命令,同樣可以為該連線加上一個探針。子VI在設(shè)計G語言中,理解和使用VI的分層特性非常重要。當(dāng)一個VI創(chuàng)建后,它可以作為一個子VI在高層Vi的框圖中使用。一個子VI(sub vi)類似于傳統(tǒng)程序設(shè)計語言中的函數(shù)或子程序,是可以供其他的VI調(diào)用的VI。子VI是供其他VI使用的VI,與子程序類似。子VI是層次化和模塊化VI的關(guān)鍵組件,它能使VI易于調(diào)試和維護(hù)。使用子VI是一種有效的編程技術(shù),因為 它允許在不同的場合重復(fù)使用相同的代碼。G編程語言的分層特性就是在一個子VI中能夠調(diào)用到另一個子VI。下面可用一個表格表明子VI的作用:程序代碼調(diào)用子程序function

43、average (in1,in2,out)out=(in1+in2)/2.0;mainaverage (point1,point2,pointavg);子VI框圖調(diào)用子VI框圖先看一個SUB vi 的演示程序。 從例題中可以看出,子程序就相當(dāng)于一個函數(shù)??梢詫⑷魏我粋€定義了圖標(biāo)和聯(lián)接器的 VI作為另一個 VI的子程序。在流程圖中打開 FunctionsSelect a VI. ,就可以選擇要調(diào)用的子 VI 。2.6.1創(chuàng)建子VI創(chuàng)建子VI主要的工作就是定義它的圖標(biāo)和聯(lián)接器。每個VI在前面板和流程圖窗口的右上角都顯示了一個默認(rèn)的圖標(biāo)。啟動圖標(biāo)編輯器的方法是,用鼠標(biāo)右鍵單擊面板窗口的右上角的默認(rèn)圖

44、標(biāo),在彈出菜單中選擇 Edit Icon。下圖顯示了圖標(biāo)編輯器的窗口??梢杂么翱谧筮叺母鞣N工具設(shè)計像素編輯區(qū)中的圖標(biāo)形狀。編輯區(qū)右側(cè)的一個方框中顯示了一個實際大小的圖標(biāo)。圖標(biāo)編輯器的具體使用細(xì)節(jié)參閱有關(guān)資料。圖標(biāo)編輯器窗口聯(lián)接器是 VI 數(shù)據(jù)的輸入輸出接口。如果用面板控制對象或者顯示對象從子 VI 中輸出或者輸入數(shù)據(jù),那么這些對象都需要在聯(lián)接器面板中有一個連線端子。您可以通過選擇 VI的端子數(shù)并為每個端子指定對應(yīng)的前面板對象以定義聯(lián)接器。定義聯(lián)接器的方法是,用鼠標(biāo)右鍵單擊面板窗口中的圖標(biāo)窗口,在快捷菜單中選擇 Show Connector。聯(lián)接器圖標(biāo)會取代面板窗口右上角的圖標(biāo)。LabVIEW

45、自動選擇的端子連接模式是控制對象的端子位于聯(lián)接器窗口的左邊,顯示對象的端子位于聯(lián)接器窗口右邊。選擇的端子數(shù)取決于前面板中控制對象和顯示對象的個數(shù)。聯(lián)接器中的各個矩形表示各個端子所在的區(qū)域,可以用它們從 VI 中輸入或者輸出數(shù)據(jù)。如果必要,也可以選擇另外一種端子連接模式。方法是在圖標(biāo)上單擊鼠標(biāo)右鍵單出快捷菜單,選擇 Show Connector,再次彈出快捷菜單,選擇Patterns。下面我們通過一個練習(xí)說明具體操作。例題:目的:創(chuàng)建一個VI程序,以便以后作為子VI程序使用。任務(wù)描述:創(chuàng)建一個VI程序模擬溫度測量。假設(shè)傳感器輸出電壓與溫度成正比。例如,當(dāng)溫度為70F時,傳感器輸出電壓為0.7V。

46、本程序也可以用攝氏溫度來代替華氏溫度顯示。本程序用軟件代替了DAQ數(shù)據(jù)采集卡。使用隨機(jī)函數(shù)仿真溫度的電壓,然后把所測得的電壓值轉(zhuǎn)換成攝氏或華氏溫度讀數(shù)。圖 前面板 流程圖STEP1:編輯VI前面板:用File菜單的New選項打開一個新的前面板窗口。把溫度計指示部件放入前面板窗口。在前面板窗口的空白處點擊鼠標(biāo)鍵,然后從彈出的Numeric子模板中選擇Thermometer。在高亮的文本框中輸入“溫度計”,再點擊鼠標(biāo)鍵按鈕。重新設(shè)定溫度計的標(biāo)尺范圍為0.0到100.0。使用標(biāo)簽工具A,雙擊溫度計標(biāo)尺的10.0,輸入100.0,再點擊鼠標(biāo)鍵或者工具欄中的V按鈕。在前面板窗口中放入豎直開關(guān)控制。在面板

47、窗口的空白處點擊鼠標(biāo)鍵,然后彈出的Boolean子模板中選擇Vertical Switch,在文本框中輸入“溫度值單位”,再點擊鼠標(biāo)鍵或者工具欄中的V按鈕。使用標(biāo)簽工具A,在開關(guān)的“條件真”(true)位置旁邊輸入自由標(biāo)簽“攝氏”,再在“條件假”(false)位置旁邊輸入自由標(biāo)簽“華氏”??驁D程序:從Windows菜單下選擇Show Diagram函數(shù)打開框圖程序窗口。點擊框圖程序窗口的空白處,彈出函數(shù)模板,從彈出的菜單中選擇所需的對象。本程序用到下面的對象;Random Number (0-1)產(chǎn)生0-1隨機(jī)數(shù)函數(shù) (Numeric子模板).產(chǎn)生隨機(jī)數(shù)。模擬溫度傳感器輸出的溫度信號電壓。Mu

48、ltiply(乘法)函數(shù)(Numeric子模板)。在本例中,將讀取電壓值乘以100.00,以獲得華氏溫度。Subtract(減法)函數(shù)(Numeric子模板)。在本例中,從華氏溫度中減去32.0,以轉(zhuǎn)換成攝氏溫度。Select(選擇)函數(shù)(Comparison子模板)。取決于溫標(biāo)選擇開關(guān)的值。該函數(shù)輸出華氏溫度(當(dāng)選擇開關(guān)為false)或者攝氏溫度(選擇開關(guān)為True)數(shù)值。數(shù)值常數(shù)。用連線工具,點擊你希望連接一個數(shù)值常數(shù)的對象,并選擇Create Constant函數(shù)。若要修改常數(shù)值,用標(biāo)簽工具雙點數(shù)值,再寫入新的數(shù)值。字符串常量。用連線工具,點擊你希望連接字符串常量的對象,再選擇Creat

49、e Constant函數(shù)。要輸入字符串,用標(biāo)簽工具雙擊字符串,再輸入新的字符串。使用移位工具(Positioning tool),把圖標(biāo)移至圖示的位置,再用連線工具連接起來。請記住,如果要顯示圖標(biāo)接線端口,則點擊圖標(biāo),再從彈出菜單中選擇Show Terminals功能。也可以從Help菜單中選擇Show Help功能以打開幫助信息窗口。Demo Read Voltage VI子程序模擬從數(shù)據(jù)采集卡的0通道讀取電壓,我們的程序再將讀數(shù)乘以100.0轉(zhuǎn)換成華氏溫度讀 數(shù),或者再把華氏溫度轉(zhuǎn)換成攝氏溫度。選擇前面板窗口,使之變成當(dāng)前窗口,并運(yùn)行VI程序。點擊連續(xù)運(yùn)行按鈕,便程序運(yùn)行于連續(xù)運(yùn)行模式。再

50、點擊連續(xù)運(yùn)行按鈕,關(guān)閉連續(xù)運(yùn)行模式。STEP2 :創(chuàng)建圖標(biāo)Temp此圖標(biāo)可以將現(xiàn)程序作為子程序在其他程序中調(diào)用。創(chuàng)建方法如下:在面板窗口的右上角的圖標(biāo)框中點擊鼠標(biāo),從彈出菜單中選擇Edit Icon功能。雙點選擇工具,并按下Delete鍵,消除缺省的圖標(biāo)圖案。用畫圖工具畫出溫度計的圖標(biāo)。注意,在用鼠標(biāo)畫線時按下鍵,則可以畫出水平或垂直方向的連線。使用文本工具寫入文字,雙擊文本工具把字體換成Small Font。當(dāng)圖標(biāo)創(chuàng)建完成后,點擊OK以關(guān)閉圖標(biāo)編輯。生成的圖標(biāo)在面板窗口的右上角。STEP3:創(chuàng)建聯(lián)接器端口:點擊右上角的圖標(biāo)面板,從彈出菜單中選擇Show Connector函數(shù)。LabVIEW

51、將會根據(jù)控制和顯示的數(shù)量選擇一種聯(lián)接器端口模式。在本例中,只有兩個端口,一個是豎直開關(guān),另一個是溫度指示。把聯(lián)接器端口定義給開關(guān)和溫度指示。使用連線工具,在左邊的聯(lián)接器端口框內(nèi)按鼠標(biāo)鍵,則端口將會變黑。再點擊開關(guān)控制件,一個閃爍的虛線框?qū)鼑≡撻_關(guān)?,F(xiàn)在再點擊右邊的聯(lián)接器端口框,使它變黑。再點擊溫度指示部件,一個閃爍的虛線框?qū)鼑囟戎甘静考?,這即表示著右邊的聯(lián)接器端口對應(yīng)溫度指示部件的數(shù)據(jù)輸入。如果再點擊空白外,則虛線框?qū)⑾?,而前面所選擇的聯(lián)接器端口將變暗,表示你已經(jīng)將對象部件定義到各個聯(lián)接器端口。注意:LabVIEW的慣例是前面板上控制的聯(lián)接器端口放在圖標(biāo)的接線面板的左邊,而顯示的聯(lián)

52、接器端口放在圖標(biāo)的接線面板的右邊。也就是說,圖標(biāo)的左邊為輸入端口而右邊為輸出端口。以后我們會講到如何使用SubVI From Selection功能來創(chuàng)建子程序SubVI。STEP4:保存子vi。確認(rèn)當(dāng)前文件的程序庫路徑為Seminar.LLB,用文件菜單的SAVE函數(shù)保存上述文件,并將文件命名為Thermometer.Vi?,F(xiàn)在,該程序已經(jīng)編制完成了。它可以在其他程序中作為子程序來調(diào)用,在其它程序的框圖窗口里,該溫度計程序用前面創(chuàng)建的圖標(biāo)來表示。聯(lián)接器端口的輸入端用于選擇溫度單位,輸出端用于輸出溫度值。關(guān)閉該程序。練習(xí)結(jié)束。建議:將所創(chuàng)建的子VI保存在目錄下而不是保存在庫文件中。盡管在稱為V

53、I庫的單個文件中能夠保存多個VI,但我們不希望這樣做。將VI保存為單個文件是最有效的存儲方式。因為這樣在復(fù)制,重新命名和刪除文件時比使用VI庫時要容易些。 與其他目錄一樣,VI庫文件可以裝入,保存和打開,但不是分層的。不能在VI庫內(nèi)創(chuàng)建另一個VI庫,也不能在VI庫內(nèi)創(chuàng)建新目錄。VI庫文件創(chuàng)建后,當(dāng)其出現(xiàn)在文件對話框中時,其圖標(biāo)將與VI文件圖標(biāo)略有不同。調(diào)用子VI在任意一個VI程序的框圖窗口里,都可以把其他的VI程序作為子程序調(diào)用,只要被調(diào)用VI程序定義了圖標(biāo)和聯(lián)接器端口即可。用戶使用函數(shù)模板的Select a VI來完成。當(dāng)使用該函數(shù)時,將彈出一個對話框,用戶可以輸入文件名。一個子VI程序,相

54、當(dāng)于普通程序的子程序。節(jié)點相當(dāng)于子程序調(diào)用。子程序節(jié)點并不是子程序本身,就象一般程序的子程序調(diào)用語句并不是子程序本身一樣。如果在一個框圖程序中,有幾個相同的子程序節(jié)點,它就象多次調(diào)用相同的子程序。請注意,該子程序的拷貝并不會在內(nèi)存中存儲多次。單元3 結(jié)構(gòu)控制程序設(shè)計本章介紹LABVIEW為用戶提供的程序結(jié)構(gòu)。內(nèi)容包括while loop 、for loop兩種循環(huán)結(jié)構(gòu)、移位寄存器和反饋節(jié)點、分支結(jié)構(gòu)、順序結(jié)構(gòu)、公式節(jié)點、事件結(jié)構(gòu)、全局變量與局部變量、菜單等。學(xué)習(xí)目標(biāo):學(xué)習(xí)while循環(huán)和for循環(huán)結(jié)構(gòu)。學(xué)習(xí)chart的多種顯示模式及其屬性的靜態(tài)設(shè)置建立移位寄存器的概念,學(xué)習(xí)移位寄存器的應(yīng)用。學(xué)

55、習(xí)case選擇結(jié)構(gòu),掌握分支結(jié)構(gòu)程序的設(shè)計。學(xué)習(xí)sequence結(jié)構(gòu),掌握程序順序的控制方法。3.1 While loop結(jié)構(gòu)與chart圖表3.1.1While loop結(jié)構(gòu)While loop是LABVIEW的基本循環(huán)結(jié)構(gòu)之一,類似于C語言中的do while循環(huán)結(jié)構(gòu):do循環(huán)體; while (條件判斷)while loop可以反復(fù)執(zhí)行循環(huán)內(nèi)的框圖程序,直到條件不滿足,循環(huán)停止。While loop可以從function模板中structure子模板中創(chuàng)建。創(chuàng)建方法是: 從functionstructure選擇while loop圖標(biāo),放置在block diagrame窗口。While

56、LOOP可以反復(fù)執(zhí)行循環(huán)體的程序,直至特定的條件不滿足,才停止循環(huán)。該循環(huán)有如下特點:計數(shù)從0開始(i=0)。先執(zhí)行循環(huán)體,而后i+1,如果循環(huán)只執(zhí)行一次,那么循環(huán)輸出值i=0。循環(huán)至少要運(yùn)行一次。 圖3While 循環(huán)示意圖3.1.2 While loop應(yīng)用示例例題 3-1使用While循環(huán)顯示隨機(jī)序列 創(chuàng)建一個可以產(chǎn)生并在圖表中顯示隨機(jī)數(shù)的VI。 前面板有一個控制旋鈕可在0到10秒之間調(diào)節(jié)循環(huán)時間,還有一個開關(guān)可以中止VI的運(yùn)行。操作步驟如下:前面板圖 練習(xí)的前面板選擇FileNew,打開一個新的前面板。選擇ControlsBoolean,在前面板中放置一個開關(guān)。設(shè)置開關(guān)的標(biāo)簽為控制開關(guān)

57、。使用標(biāo)簽工具創(chuàng)建 ON 和 OFF 的標(biāo)簽,放置于開關(guān)旁。選中Controls Graph,在前面板中放置一個波形圖(是chart,而不是graph)。設(shè)置它的標(biāo)簽為隨機(jī)信號。這個圖表用于實時顯示隨機(jī)數(shù)。把圖表的縱坐標(biāo)改為0.0 到 1.0。方法是用標(biāo)簽工具把最大值從10.0改為1.0。選擇ControlsNumeric,在前面板中放置一個旋鈕。設(shè)置旋鈕的標(biāo)簽為循環(huán)延時。這個旋鈕用于控制While 循環(huán)的循環(huán)時間。流程圖在流程圖窗口,按照下圖創(chuàng)建:圖 練習(xí)的流程圖從 FunctionsStructures 中選擇 While 循環(huán),把它放置在流程圖中。將其拖至適當(dāng)大小,將相關(guān)對象移到循環(huán)圈內(nèi)

58、。從 Functions Numeric中選擇隨機(jī)數(shù)(0-1)功能函數(shù)放到循環(huán)內(nèi)。在循環(huán)中設(shè)置Wait Until Next ms Multiple函數(shù) (FunctionsTime & Dialog),該函數(shù)的時間單位是毫秒,按目前面板旋鈕的標(biāo)度,可將每次執(zhí)行時間延遲0到10毫秒。照上面所示的流程圖連線,把隨機(jī)數(shù)功能函數(shù)和隨機(jī)信號圖表輸入端子連接起來,并把啟動開關(guān)和While 循環(huán)的條件端子連接。返回前面板,調(diào)用操作工具后單擊垂直開關(guān)將它打開。把該 VI 保存為 LabVIEWActivity目錄中的Random Signal.vi。執(zhí)行該 VI。While循環(huán)的執(zhí)行次數(shù)是不確定的,只要設(shè)置

59、的條件為真,循環(huán)程序就會持續(xù)運(yùn)行。在這個例子中,只要開關(guān)打開(TRUE),框圖程序就會一直產(chǎn)生隨機(jī)數(shù),并將其在圖表中顯示。單擊垂直開關(guān),中止該VI。關(guān)閉開關(guān)這個動作會給循環(huán)條件端子發(fā)送一個FALSE值,從而中止循環(huán)。用鼠標(biāo)右鍵單擊圖表,選擇Data OperationsClear Chart,清除顯示緩存,重新設(shè)置圖表。例題3結(jié)束3.1.3Wlile循環(huán)的編程要點條件端子的選擇用鼠標(biāo)右擊while循環(huán)的條件端子,彈出快捷選項,labview默認(rèn)的循環(huán)判斷條件是“stop if True”。(只要循環(huán)條件端子輸入為真,停止循環(huán))。若選擇“continue if True”,此時循環(huán)條件端子符號變

60、成空心的,如下圖所示。此時,只有只有當(dāng)循環(huán)條件端子的輸入為假時,循環(huán)才能停;循環(huán)條件端子輸入為真時,循環(huán)持續(xù)進(jìn)行。避免死循環(huán)While循環(huán)是條件端口值來控制的。如果條件永遠(yuǎn)滿足,就會產(chǎn)生死循環(huán)。如下圖兩個例子,條件端子永遠(yuǎn)都是滿足的,導(dǎo)致死循環(huán)。3布爾控件的機(jī)械動作布爾控件有6種機(jī)械動作屬性可供選擇。在前面板上用鼠標(biāo)右鍵單擊開關(guān),在快捷菜單中選擇Mechanical Action就可以看到這些可選的動作。LabVIEW還提供了一個范例示范這些動作,它是位于ExamplesGeneralControlsbooleans.llb的Mechanical Action of Booleans.vi。布

溫馨提示

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

評論

0/150

提交評論