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

下載本文檔

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

文檔簡(jiǎn)介

1、 FILENAME 虛擬儀器測(cè)試技術(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配置虛擬儀器的硬件平臺(tái) 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的基本開(kāi)發(fā)平臺(tái) PAGEREF _Toc257884049 h 9 HYPERLINK l _Toc257884050 2.4創(chuàng)建一個(gè)簡(jiǎn)單的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è)計(jì) 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é)點(diǎn)(Formula Node) PAGEREF _Toc257884062 h 47 HYPERLINK l _Toc257884063 單元4 數(shù)組(array)和圖形(graphs)程序設(shè)計(jì) 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ù)組及自動(dòng)索引數(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按名稱(chēng)捆綁與分解簇 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獨(dú)有控件 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è)計(jì) 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ù)寫(xiě)入電子表格文件 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è)置與測(cè)試 PAGEREF _Toc257884087 h 81 HYPERLINK l _Toc257884088 6.3采集模擬信號(hào) 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ù)說(shuō)明 PAGEREF _Toc257884090 h 87 HYPERLINK l _Toc257884091 6.3.4在DAQmx中創(chuàng)建應(yīng)用程序 PAGEREF _Toc257884091 h 88 HYPERLINK l _Toc257884092 虛擬測(cè)試技術(shù)實(shí)驗(yàn)習(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ì)算機(jī)的儀器?;蛘哒f(shuō)虛擬儀器技術(shù)就是用計(jì)算機(jī)來(lái)做測(cè)量的技術(shù)。那么計(jì)算機(jī)能做測(cè)量嗎?下面先看一個(gè)兩個(gè)演示例子。例1:虛擬示波器。圖1-1虛擬示波器前面板例2:虛擬數(shù)字電壓表圖1-2虛擬數(shù)字電壓表前面板上述例子說(shuō)明:用計(jì)算機(jī)來(lái)做測(cè)量是可行的。1.2什么是虛擬儀器虛擬儀器(virtual instru

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

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

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

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

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

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

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

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

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

24、圖如果將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)儀器相差無(wú)幾。工具模板(Tools Palette)為了便于創(chuàng)建VI程序,LabVIEW平臺(tái)上提供了三種模板供編程人員使用,這三種模版分別是:工具(Tools)模板、控件(Controls)模板和函數(shù)(Functions)模板。工具模板為編程者提供了各種用于創(chuàng)建、修改和調(diào)試VI程序的工具。如果該模板沒(méi)有出現(xiàn),則可以在Windows菜單下選擇Show Tools Palette命令以顯示該

25、模板。當(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)有如下幾種:工具模板圖標(biāo)、名稱(chēng)及功能圖標(biāo)名稱(chēng)功能操作工具使用該工具來(lái)操作前面板的控制和顯示。使用它向數(shù)字或字符串控制中鍵入值時(shí),工具會(huì)變成標(biāo)簽工具的形狀。選擇工具用于選擇、移動(dòng)或改變對(duì)象的大小。當(dāng)它用于改變對(duì)象的連框大小時(shí),會(huì)變成相應(yīng)形狀。標(biāo)簽工具用于輸入標(biāo)簽文本或者創(chuàng)建自由標(biāo)簽。當(dāng)創(chuàng)建自由標(biāo)簽時(shí)它會(huì)變成相應(yīng)形狀。連線(xiàn)工具用于在框圖程序上連接對(duì)

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

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

28、爾值子模塊邏輯數(shù)值的控制和顯示。字符串子模板字符串和表格的控制和顯示。列表和環(huán)(Ring)子模板菜單環(huán)和列表欄的控制和顯示數(shù)組和群子模板復(fù)合型數(shù)據(jù)類(lèi)型的控制和顯示圖形子模板顯示數(shù)據(jù)結(jié)果的趨勢(shì)圖和曲線(xiàn)圖。路徑和參考名(Refnum)子模板文件路徑和各種標(biāo)識(shí)的控制和顯示。控件容器庫(kù)子模板用于操作OLE、ActiveX等函數(shù)。對(duì)話(huà)框子模板用于輸入對(duì)話(huà)框的顯示控制。修飾子模板用于給前面板進(jìn)行裝飾的各種圖形對(duì)象。自定義用戶(hù)自定義的控制和顯示。調(diào)用存儲(chǔ)在文件中的控制和顯示的接口。函數(shù)模板(Functions Palette)函數(shù)模板是創(chuàng)建框圖程序的工具。該模板上的每一個(gè)頂層圖標(biāo)都表示一個(gè)子模板。若函數(shù)模板

29、不出現(xiàn),則可以用Windows菜單下的Show Functions Palette函數(shù)打開(kāi)它,也可以在框圖程序窗口的空白處點(diǎn)擊鼠標(biāo)右鍵以彈出函數(shù)模板。注:只有打開(kāi)了框圖程序窗口,才能出現(xiàn)函數(shù)模板。函數(shù)模板如下圖所示。函數(shù)模板的子模板圖標(biāo)名稱(chēng)函數(shù)結(jié)構(gòu)子模板包括程序控制結(jié)構(gòu)命令,例如循環(huán)控制等,以及全局變量和局部變量。數(shù)值運(yùn)算子模板包括各種常用的數(shù)值運(yùn)算符,如+、-等;以及各種常見(jià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)換函數(shù),以及字符(串)常數(shù)

30、等。數(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ì)話(huà)框子模板包括對(duì)話(huà)框窗口、時(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)理所需的各種函數(shù)模塊。信號(hào)處理子模板包括信號(hào)發(fā)生、時(shí)域及頻域分析函數(shù)模塊。數(shù)學(xué)模型子模塊包括統(tǒng)計(jì)、

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

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

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

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

35、的,而子VI節(jié)點(diǎn)是以圖形語(yǔ)言形式提供給用戶(hù)的。用戶(hù)可以訪問(wèn)和修改任一子VI節(jié)點(diǎn)的代碼,但無(wú)法對(duì)函數(shù)節(jié)點(diǎn)進(jìn)行修改。上面的框圖程序所示的VI程序有兩個(gè)函數(shù)函數(shù)節(jié)點(diǎn),一個(gè)函數(shù)使兩個(gè)數(shù)值相加,另一個(gè)函數(shù)使兩數(shù)相減。端點(diǎn)是只有一路輸入/輸出,且方向固定的節(jié)點(diǎn)。LabVIEW有三類(lèi)端點(diǎn)前面板對(duì)象端點(diǎn)、全局與局部變量端點(diǎn)和常量端點(diǎn)。對(duì)象端點(diǎn)是數(shù)據(jù)在框圖程序部分和前面板之間傳輸?shù)慕涌?。一般?lái)說(shuō),一個(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)。它們只能在V

36、I程序框圖中作為數(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)是框圖程序與用戶(hù)提供的C語(yǔ)言文本程序的接口。連線(xiàn)是端口間的數(shù)據(jù)通道。它們類(lèi)似于普通程序中的變量。數(shù)據(jù)是單向流動(dòng)的,從源端口向一個(gè)或多個(gè)目的端口流動(dòng)。不同的線(xiàn)型代表不同的數(shù)據(jù)類(lèi)型。在彩顯上,每種數(shù)據(jù)類(lèi)型還以不同的顏色予以強(qiáng)調(diào)。下面是一些常用數(shù)據(jù)類(lèi)型所對(duì)應(yīng)的線(xiàn)

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

38、板對(duì)象.用選擇和連線(xiàn)工具,你都可以用鼠標(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ì)象之間接好連線(xiàn)。數(shù)據(jù)流編程控制VI程序的運(yùn)行方式叫做“數(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.0。這個(gè)程序中,框圖程序從左往右執(zhí)行,這個(gè)執(zhí)行次序不是由于對(duì)象的擺放位置,而是由于相減運(yùn)算函數(shù)的一個(gè)輸入量是相乘函

39、數(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è)例子中,我們無(wú)法知道哪一個(gè)節(jié)點(diǎn)函數(shù)首先執(zhí)行,因?yàn)樗休斎肓繋缀跬瑫r(shí)到達(dá)。對(duì)于這樣一種相互獨(dú)立的數(shù)據(jù)流程,如果又必須明確指定節(jié)點(diǎn)執(zhí)行的先后次序,就必須使用順序(Sequence)結(jié)構(gòu)來(lái)明確執(zhí)行次序。2程序調(diào)試技術(shù)找出語(yǔ)法錯(cuò)誤如果一個(gè)VI程序存在語(yǔ)法錯(cuò)誤,則在面板工具條上的運(yùn)行按鈕將會(huì)變成一個(gè)折斷的箭頭,表示程序不能被執(zhí)行

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

41、查看數(shù)據(jù)。使用斷點(diǎn)工具時(shí),點(diǎn)擊你希望設(shè)置或者清除斷點(diǎn)的地方。斷點(diǎn)的顯示對(duì)于節(jié)點(diǎn)或者圖框表示為紅框,對(duì)于連線(xiàn)表示為紅點(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)。探針 你可以用探針工具來(lái)查看當(dāng)框圖程序流經(jīng)某一根連接線(xiàn)時(shí)的數(shù)據(jù)值。從Tools工具模板選擇探針工具,再用鼠標(biāo)左建點(diǎn)擊你希望放置探針的連接線(xiàn)。這時(shí)顯示器上會(huì)出現(xiàn)一個(gè)探針顯示窗口。該窗口總是被顯示在前面板窗口或框圖窗口的上面。在框圖中使用選擇工具或連線(xiàn)工具,在連線(xiàn)上點(diǎn)擊鼠標(biāo)右鍵

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

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

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

45、自動(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)右鍵單出快捷菜單,選擇 Show Connector,再次彈出快捷菜單,選擇Patterns。下面我們通過(guò)一個(gè)練習(xí)說(shuō)明具體操作。例題:目的:創(chuàng)建一個(gè)VI程序,以便以后作為子VI程序使用。任務(wù)描述:創(chuàng)建一個(gè)VI程序模擬溫度測(cè)量。假設(shè)傳感器輸出電壓與溫度成正比。例如,當(dāng)溫度為70F時(shí),傳感器輸出電壓為0.7V。

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

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

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

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

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

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

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

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

54、當(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ǔ)多次。單元3 結(jié)構(gòu)控制程序設(shè)計(jì)本章介紹LABVIEW為用戶(hù)提供的程序結(jié)構(gòu)。內(nèi)容包括while loop 、for loop兩種循環(huán)結(jié)構(gòu)、移位寄存器和反饋節(jié)點(diǎn)、分支結(jié)構(gòu)、順序結(jié)構(gòu)、公式節(jié)點(diǎn)、事件結(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è)計(jì)。學(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)之一,類(lèi)似于C語(yǔ)言中的do while循環(huán)結(jié)構(gòu):do循環(huán)體; while (條件判斷)while loop可以反復(fù)執(zhí)行循環(huán)內(nèi)的框圖程序,直到條件不滿(mǎn)足,循環(huán)停止。While loop可以從function模板中structure子模板中創(chuàng)建。創(chuàng)建方法是: 從functionstructure選擇while loop圖標(biāo),放置在block diagrame窗口。While

56、LOOP可以反復(fù)執(zhí)行循環(huán)體的程序,直至特定的條件不滿(mǎn)足,才停止循環(huán)。該循環(huán)有如下特點(diǎn):計(jì)數(shù)從0開(kāi)始(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)建一個(gè)可以產(chǎn)生并在圖表中顯示隨機(jī)數(shù)的VI。 前面板有一個(gè)控制旋鈕可在0到10秒之間調(diào)節(jié)循環(huán)時(shí)間,還有一個(gè)開(kāi)關(guān)可以中止VI的運(yùn)行。操作步驟如下:前面板圖 練習(xí)的前面板選擇FileNew,打開(kāi)一個(gè)新的前面板。選擇ControlsBoolean,在前面板中放置一個(gè)開(kāi)關(guān)。設(shè)置開(kāi)關(guān)的標(biāo)簽為控制開(kāi)關(guān)

57、。使用標(biāo)簽工具創(chuàng)建 ON 和 OFF 的標(biāo)簽,放置于開(kāi)關(guān)旁。選中Controls Graph,在前面板中放置一個(gè)波形圖(是chart,而不是graph)。設(shè)置它的標(biāo)簽為隨機(jī)信號(hào)。這個(gè)圖表用于實(shí)時(shí)顯示隨機(jī)數(shù)。把圖表的縱坐標(biāo)改為0.0 到 1.0。方法是用標(biāo)簽工具把最大值從10.0改為1.0。選擇ControlsNumeric,在前面板中放置一個(gè)旋鈕。設(shè)置旋鈕的標(biāo)簽為循環(huán)延時(shí)。這個(gè)旋鈕用于控制While 循環(huán)的循環(huán)時(shí)間。流程圖在流程圖窗口,按照下圖創(chuàng)建:圖 練習(xí)的流程圖從 FunctionsStructures 中選擇 While 循環(huán),把它放置在流程圖中。將其拖至適當(dāng)大小,將相關(guān)對(duì)象移到循環(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ù)的時(shí)間單位是毫秒,按目前面板旋鈕的標(biāo)度,可將每次執(zhí)行時(shí)間延遲0到10毫秒。照上面所示的流程圖連線(xiàn),把隨機(jī)數(shù)功能函數(shù)和隨機(jī)信號(hào)圖表輸入端子連接起來(lái),并把啟動(dòng)開(kāi)關(guān)和While 循環(huán)的條件端子連接。返回前面板,調(diào)用操作工具后單擊垂直開(kāi)關(guān)將它打開(kāi)。把該 VI 保存為 LabVIEWActivity目錄中的Random Signal.vi。執(zhí)行該 VI。While循環(huán)的執(zhí)行次數(shù)是不確定的,只要設(shè)置

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論