電子測量儀器 虛擬儀器技術編程入門_第1頁
電子測量儀器 虛擬儀器技術編程入門_第2頁
電子測量儀器 虛擬儀器技術編程入門_第3頁
電子測量儀器 虛擬儀器技術編程入門_第4頁
電子測量儀器 虛擬儀器技術編程入門_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、虛擬儀器技術虛擬儀器技術 學習安排學習安排 第一章虛擬儀器基本知識(節(jié)課)第一章虛擬儀器基本知識(節(jié)課) 第二章第二章labviewlabview編程基礎(節(jié)課)編程基礎(節(jié)課) 第三章第三章vivi設計(節(jié)課)設計(節(jié)課) 第四章測驗第四章測驗 (2(2節(jié)課節(jié)課) ) 題目:設計一個基本函數信號發(fā)生器,要求生成下列幾類題目:設計一個基本函數信號發(fā)生器,要求生成下列幾類 基本信號:正弦波、三角波、方波、和鋸齒波,方波占空基本信號:正弦波、三角波、方波、和鋸齒波,方波占空 比為比為50%50%,其它參數自設。(信號處理波形生成基,其它參數自設。(信號處理波形生成基 本函數發(fā)生器)本函數發(fā)生器)

2、虛擬儀器技術虛擬儀器技術 第一章第一章 虛擬儀器的基本知識虛擬儀器的基本知識 1.傳統(tǒng)儀器簡介。 傳統(tǒng)儀器通常是一臺獨立的裝置,從功能方面看,傳統(tǒng)儀器可劃分為信號 的采集、控制、分析、處理、結果的表達與輸出顯示等電路。傳統(tǒng)儀器的功能 都是通過硬件電路或固化軟件來實現的,而且由儀器生產廠家給定,其功能和 規(guī)模一般都是固定的,用戶無法隨意改變其結構和功能。傳統(tǒng)儀器大都是一個 封閉的系統(tǒng),與其他設備的連接受到一定的限制。另外,傳統(tǒng)儀器價格偏貴, 技術更新慢和開發(fā)費用高,而且還沒有擺脫獨立使用的模式,較為復雜的應用 場合或測試參數較多的情況下,操作復雜。 虛擬儀器技術虛擬儀器技術 1.虛擬儀器簡介。

3、虛擬儀器的獨特優(yōu)點是在必要的數據采集硬件和通用計算機支持下,通過軟 件來實現儀器的部分或全部功能。所謂虛擬儀器,就是用戶在通用計算機平臺 上,根據需求定義和設計儀器的測試功能,使得使用者在操作這臺計算機時, 就像是在操作一臺他自己設計的測試儀器一樣。vi以透明的方式把計算機資源 (如微處理器、內存、顯示器等)和儀器硬件(如ad、da、數字io、 定時器、信號處理等)的測量、控制能力結合在一起,通過軟件實現對信號的 分析處理、表達及圖形化用戶接口等. 虛擬儀器技術虛擬儀器技術 測試儀器結構測試儀器結構: 虛擬儀器技術虛擬儀器技術 需要特別指出需要特別指出: 虛擬儀器實質上是一種創(chuàng)新的儀器設計思想

4、,而非一般具體的儀器也就是 說虛擬儀器可以有各種各樣的形式,完全取決于實際的物理系統(tǒng)和構成儀器數 據采集單元的硬件類型但是有一點是相同的,就是虛擬儀器離不開計算機的 控制,軟件是虛擬儀器設計中最重要,也是最復雜的部分在虛擬儀器系統(tǒng)中, 硬件僅僅是為了解決信號的輸入輸出和調理,軟件才是整個儀器系統(tǒng)的關鍵 虛擬儀器技術虛擬儀器技術 2020多年前,美國國家儀器公司多年前,美國國家儀器公司nini(nationalnationalinstrumentsinstruments)提出了虛擬儀器)提出了虛擬儀器 (vivi)概念,由此引發(fā)了傳統(tǒng)儀器領域的一場重大變革,從而開創(chuàng)了)概念,由此引發(fā)了傳統(tǒng)儀器領

5、域的一場重大變革,從而開創(chuàng)了“軟件即軟件即 是儀器是儀器”的先河。虛擬儀器通過軟件將計算機硬件資源與儀器硬件有機的融合的先河。虛擬儀器通過軟件將計算機硬件資源與儀器硬件有機的融合 為一體,從而把計算機強大的計算處理能力和儀器硬件的測量、控制能力結合為一體,從而把計算機強大的計算處理能力和儀器硬件的測量、控制能力結合 在一起,大大縮小了儀器硬件的成本和體積,并通過軟件實現對數據的顯示、在一起,大大縮小了儀器硬件的成本和體積,并通過軟件實現對數據的顯示、 存儲以及分析處理。存儲以及分析處理。 電子測量儀器經歷了由模擬儀器、智能儀器到虛擬儀器發(fā)展的歷程,電子測量儀器經歷了由模擬儀器、智能儀器到虛擬儀

6、器發(fā)展的歷程, 在高速度、高帶寬和專業(yè)測試領域,獨立儀器具有無可替代的優(yōu)勢。在高速度、高帶寬和專業(yè)測試領域,獨立儀器具有無可替代的優(yōu)勢。 在中低檔測試領域,虛擬儀器可取代一部分獨立儀器的工作,但完成復雜環(huán)境在中低檔測試領域,虛擬儀器可取代一部分獨立儀器的工作,但完成復雜環(huán)境 下的自動化測試是虛擬儀器的拿手好戲,是傳統(tǒng)的獨立儀器難以勝任的。下的自動化測試是虛擬儀器的拿手好戲,是傳統(tǒng)的獨立儀器難以勝任的。 虛擬儀器技術虛擬儀器技術 1.2 1.2 虛擬儀器的組成虛擬儀器的組成 虛擬儀器由硬件和軟件組成 構成虛擬儀器的硬件平臺包括兩部分:構成虛擬儀器的硬件平臺包括兩部分: 1計算機:一般為一臺pc機

7、或者工作站,它是硬件平臺的核心。 2i/o接口設備:主要完成被測輸入信號的采集、放大、模/數轉 換。可根據實際情況采用不同的i/o接口硬件設備,如數據采集卡 /板(daq)、gpib總線儀器、vxi總線儀器模塊、串口儀器等。虛 擬儀器的構成方式主要有五種類型,如圖9.1所示。 虛擬儀器技術虛擬儀器技術 (1)pcdaq系統(tǒng):是以數據采集板、信號調理電路和計算機為儀器硬件平臺 組成的插卡式虛擬儀器系統(tǒng)。 (2)gpib系統(tǒng):gpib標準總線儀器與計算機為儀器硬件平臺組成的虛擬儀器 測試系統(tǒng)。 (3)vxi系統(tǒng):以vxi標準總線儀器模塊與計算機為儀器硬件平臺組成的虛擬 儀器測試系統(tǒng)。 (4)pxi

8、系統(tǒng):以pxi標準總線儀器模塊與計算機為儀器硬件平臺組成的虛擬 儀器測試系統(tǒng)。 (5)串口系統(tǒng):以serial標準總線儀器與計算機為儀器硬件平臺組成的虛擬 儀器測試系統(tǒng)。 虛擬儀器技術虛擬儀器技術 圖.1 虛擬儀器組成 虛擬儀器技術虛擬儀器技術 虛擬儀器軟件由兩大部分構成。虛擬儀器軟件由兩大部分構成。 1應用程序。它包含兩個方面的程序: (1)實現虛擬面板功能的前面板軟件程序。 (2)定義測試功能的流程圖軟件程序。 2i/o接口儀器驅動程序。這類程序用來完成特定外部硬件設備的擴展、驅 動與通信。 開發(fā)虛擬儀器,必須有合適的軟件工具。目前已有多種虛擬儀器的軟件開發(fā) 工具。 (1)文本式編程語言:

9、如c、visual c、visual basic、 labwindows/cvi等。 (2)圖形化編程語言:如labview、hpvee等。 這些軟件開發(fā)工具為用戶設計虛擬儀器應用軟件提供了最大限度的方便條件 與良好的開發(fā)環(huán)境。本書要介紹的是labview圖形化編程語言。 虛擬儀器技術虛擬儀器技術 1.3 虛擬儀器的特點 虛擬儀器與傳統(tǒng)儀器有著很大差別,傳統(tǒng)儀器主要由硬件 組成,需要操作者操作面板上的開關旋鈕完成測量工作。 其測試功能是由具體的電子電路來實現的。而在虛擬儀器 中,其測試功能主要有軟件完成,其操作面板變成了與實 物控件對應的圖標。所以,虛擬儀器具有以下特點: 虛擬儀器技術虛擬儀器

10、技術 1虛擬儀器的面板是虛擬的。 虛擬儀器面板上的各種“控件”與傳統(tǒng)儀器面板上的各種“器 件”所完成的功能是相同的,它的外形是與實物相像的“圖 標”。對虛擬儀器的操作只需用鼠標點擊相應圖標即可,設計 虛擬面板的過程就是在前面板窗口中選取、擺放所需的圖形控 件的過程。所以,虛擬儀器具有良好的人機交互界面,使用 labview圖形化編程語言,可在短時間內輕松完成一個美觀而又 實用的“虛擬儀器前面板”的設計,使整個設計過程變得輕松 而有趣。 虛擬儀器技術虛擬儀器技術 2虛擬儀器測量功能是由軟件編程實現的 在以pc計算機為核心組成的硬件平臺支持下,通過軟件編程 設計來實現儀器的測試功能,而且可以通過不

11、同測試功能的軟 件模塊的組合來實現多種測試功能,因此,虛擬儀器具有很強 的擴展功能和數據處理能力。 3開發(fā)研制周期短,技術更新速度快。傳統(tǒng)儀器的技術更新周 期大約是5至10年,而虛擬儀器的更新周期是1至2年。 4軟件、硬件具有開放性、模塊化、可重復使用的特點。 5通過使用標準接口總線和網卡,極易實現測量自動化、智能 化和網絡化。 虛擬儀器技術虛擬儀器技術 第二章 labview編程基礎 2.1 labview2.1 labview簡介簡介 labview (laboratory virtual instrument engineering workbench,實驗室虛擬儀器工程平臺)是美國國家

12、儀器公 司(national instrument company,ni公司)開發(fā)的一種基 于g語言(graphics language,圖形化編程語言) 的虛擬儀 器軟件開發(fā)工具。 虛擬儀器技術虛擬儀器技術 與傳統(tǒng)的通用編程語言不同,labview編程最主要的兩個特點是圖形化 編程和數據流驅動。 圖形化編程: labview與visual c+、visual basic等基于文本的編程語言不同,它使用圖形化 程序設計方法,用框圖代替了傳統(tǒng)的程序代碼,編程的過程即是使用圖形符合表達 程序行為和過程,相應地,源代碼不是一行行文本而是框圖。 數據流驅動: 宏觀上講, labview的運行機制已不再

13、是傳統(tǒng)上的馮諾伊曼式計算機體系結構 的執(zhí)行方式傳統(tǒng)計算機語言中的順序執(zhí)行結構在labview中被并行機制所代 替本質上講它是一種帶有圖形控制流結構的數據流模式,程序中的第一個節(jié)點只 有在獲得它的全部輸入數據后才能夠被執(zhí)行 虛擬儀器技術虛擬儀器技術 2.2 labview程序的基本構成 用labview 開發(fā)的程序一般由一個或多個后綴名為vi的文件 組成,這些文件可被稱為vi。所有vi都由前面板、框圖及圖 標和連線板三部分組成,一個典型的vi如圖所示 第第9 9章章 虛擬儀器技術虛擬儀器技術 虛擬儀器技術虛擬儀器技術 2.2.1 前面板 前面板是vi的交互式用戶界面,外觀和功能都類似于傳統(tǒng)儀 器

14、面板,用戶的輸入數據通過前面板傳遞給框圖,計算和分析 結果也在前面板上以數字、圖形、表格等各種不同方式顯示 出來。 前面板上的各種控件根據輸入輸出功能可分為輸入控件和顯 示控件。 以labview自帶例程中“frequency response.vi”(位于 labview安裝文件夾下examplesappsfreqresp.lld frequency response.vi) 虛擬儀器技術虛擬儀器技術 2.2.2 框圖 框圖是程序代碼的圖形化表示,可通過選擇主菜單項中“窗 口 顯示程序框圖”或者使用快捷鍵ctrl+e在前面板和框 圖之間切換。 框圖中含有各種圖形化的函數、子vi、變量、常量、

15、結構和 連線,從前面板中得到用戶輸入的數據后,按照所編寫的程 序以數據流方式進行運算,最后結果反饋給用戶。 以labview自帶例程中“frequency response.vi” 虛擬儀器技術虛擬儀器技術 圖標是vi的圖形符號,labview中內置了圖標編輯器供用戶自 行繪制個性化圖標,用戶可通過在界面右上角的vi圖標上直接 雙擊鼠標調出圖標編輯器 連線板則用來定義輸入和輸出,用戶可在界面右上角的vi圖標 上用鼠標右鍵點擊,選擇”顯示連線板”,調出當前vi的連線板 進行設置. labview編程中,用戶要做的工作就是恰當地設置參數,并連接 各個子vi.編程一般步驟就是使用鼠標選取合適的模塊、

16、連線 和設置參數的過程。 虛擬儀器技術虛擬儀器技術 2.3 labview編程環(huán)境 2.3.1 啟動界面 2.3.2 控件選板 在前面板或框圖進行編程時,只需用鼠標右鍵單擊中間的空白區(qū)域,即可彈出 控件選板或函數選板,并且按照功能相似性劃分為不同的子選板,圖標上標有 右三角符號都還可展開下一級子選板 鼠標右鍵單擊前面板的空白區(qū)域,所彈出的控件選板如圖示,常用的各個子選 板及其用途如下: l新式:提供新式風格的各種控件 l系統(tǒng):提供與所在操作系統(tǒng)風格統(tǒng)一的各種控件 l經典:提供經典風格的各種控件 l特快通道(express):包含了最常用的幾類控件 l.net與activex:提供與.net和a

17、ctivex支持相關的控件 虛擬儀器技術虛擬儀器技術 2.3.2 函數選板 鼠標右鍵單擊框圖的空白區(qū)域,所彈出的函數選板如圖示,常用的各個子選板 及其用途如下: l編程:提供大量豐富的編程用函數。 l測量i/o:提供與測量i/o相關的各種函數。 l儀器i/o:提供與儀器i/o相關的各種函數。 l數學:提供大量常用數學函數 l信號處理:信號處理相關函數 l互連接口:各種與外部代碼調用、.net支持、activex支持、注冊表讀寫、版 本控制、端口讀寫、輸入設備控制等相關的接口函數。 l特快通道(express):包含了一些最常用的函數和程序框架。 虛擬儀器技術虛擬儀器技術 2.3.3 工具欄 前

18、面板工具欄 框圖工具欄 第第9 9章章 虛擬儀器技術虛擬儀器技術 在前面板和框圖程序窗口,設有編輯對象用的工具條,工具條 各圖標的功能如表所示。 執(zhí)行按鈕,單擊此按鈕運行vi 中斷按鈕,當執(zhí)行按鈕變?yōu)榇诵螤顣r,表明vi有錯誤,不能編譯運行, 單擊該按鈕,可彈出error list對話框,提示vi中的錯誤。 連續(xù)運行按鈕,單擊此按鈕可重復運行i。 第第9 9章章 虛擬儀器技術虛擬儀器技術 停止運行按鈕,單擊此按鈕可停止運行vi。 暫停按鈕,單擊此按鈕可暫停vi執(zhí)行,再次單擊此 按鈕,vi又續(xù)執(zhí)行。 指示燈按鈕 ,單擊此按鈕,可動態(tài)顯示vi執(zhí)行時數據流動動畫。 單步(入)按鈕,單擊此按鈕,按節(jié)點順

19、序單步執(zhí)行程序, 每單擊一次,程序執(zhí)行一步。 單步(跳)按鈕,單擊此按鈕,按節(jié)點順序單步 執(zhí)行程序(不進入循環(huán)、subvi內部), 單步(出)按鈕 ,單擊此按鈕,退出單步, 進入暫停狀態(tài)。 第第9 9章章 虛擬儀器技術虛擬儀器技術 對齊列表框,單擊此按鈕, 可選擇圖標的對齊方式。 分布列表框,單擊此按鈕, 可選擇圖標的分布方式。 重新排序列表框,為選定對象重新 設定在窗口中的前后順序。 虛擬儀器技術虛擬儀器技術 2.3.4 菜單 labview菜單可分為主菜單和右鍵菜單兩大類 主菜單: labview編程環(huán)境界面的主菜單,提供一系列豐富的操作命令。 右健菜單:在前面板或框圖上的特定對象(如控件

20、或框圖端子)上單擊右鍵, 可彈出右鍵菜單。 2.3.5 工具選板 工具模板提供了用于創(chuàng)建、編輯和修改前面板和流程圖上對象的各種工具。 如果想選用某操作工具,只需用鼠標點擊該工具圖標即可。 工具模板的調用方法:查看 工具選板 第第9 9章章 虛擬儀器技術虛擬儀器技術 labview工具選板的圖標及功能 序 號 圖標名稱功能 1 操作工具 (operate value) 它是一個操作數值的工具。 將操作工具 移動到某處,鼠標點擊后,就可在操作工 具所在位置處鍵入數字。 2選擇工具 (position/size /select) 用于選擇、移動對象或改變對象的大小。 3文字工具 (edit text

21、) 用于輸入標簽文本或者創(chuàng)建自由標簽。 4連線工具 (connect wire) 用于在流程圖中連接對象。使用方法是: 點擊需連線的兩端。這兩端必須是前節(jié)點 的輸出端和后節(jié)點的輸入端。 第第9 9章章 虛擬儀器技術虛擬儀器技術 序 號 圖標名稱功能 5模板或菜單彈出工具 (object shortcut menu) 用鼠標左鍵點擊,可在前面板設計窗口出現控制模 板或者在流程圖編輯窗口出現功能模板。也可彈出 對象的下拉菜單。 6窗口平移工具 (scroll window) 用于在窗口中移動對象,可代替滾動條。 7斷點工具 (set/clear breakpoint) 用鼠標左擊該工具,將它放置在

22、流程圖中相應位置, 即可設置程序運行斷點。 8探針工具 (probe data) 可以在流程圖的數據流線上設置探針。通過探針窗 口來觀察該數據流線上的數據變化狀況。 9提取顏色工具 (get color) 用來獲取窗口中已染色對象的顏色。 10設置顏色工具 (set color) 用來給窗口中的對象設置顏色。 虛擬儀器技術虛擬儀器技術 2.4 數據類型 labview使用數據流方式運行,因此有必要掌握labview數據類型的應用, labview數據類型分為基本數據類型和復合數據類型兩大類。 2.4.1 基本數據類型 最常用的基本數據類型主要包括數值型、布而型、字符串、文件路徑等幾類。 1.數

23、值型 數值型數據是一種標量值,包括浮點數、定點數、整型數、復數等類型,不同數 據類型的差別在于存儲數據使用的位數和表示的值的范圍。 創(chuàng)建數值型數據變量可以在控件選板中選擇“新式 數值 數值輸入控件(或 數值顯示控件)”,以創(chuàng)建數值型輸入控件或顯示控件。 創(chuàng)建數值型數據常量可以在函數選板中選擇“編程 數值 數值常數”,以創(chuàng) 建數值型輸入控件或顯示控件。 虛擬儀器技術虛擬儀器技術 數值型數據類型: 數 據 類 型端口圖 標 存儲位 數 數 值 范 圍 有符號整數8-128-127 無符號整數80-255 有符號整數16-32768-32767 無符號整數160-65535 有符號整數32-2147

24、483648-2147483647 無符號整數320-4294967295 單精度浮點型32最小正數1.40e-45,最大正數3.40e+38, (絕對值)最小負數-1.40e-45,(絕對值) 最大負數-3.40e+38。 虛擬儀器技術虛擬儀器技術 復數單精度浮點型64實部和虛部分別與單精度浮點數相同 雙精度浮點型64最小正數4.94e-324,最大正數1.79e+308, (絕對值)最小負數-4.94e-324,(絕對 值)最大負數-1.79e+308。 復數雙精度浮點型128實部和虛部分別與雙精度浮點數相同 擴展精度浮點型128最小正數6.48e-4966,最大正數 1.19e+4932

25、,(絕對值)最小負數- 6.48e-4966,(絕對值)最大負數- 1.19e+4932。 復數擴展精度浮點型256實部和虛部分別與擴展精度浮點數相同 虛擬儀器技術虛擬儀器技術 練習: 輸入數據并顯示,要求用不同格式的輸入和顯示控件。 1.輸入為16位無符號整數60000,顯示為16位帶符號整數 2.輸入為32位無符號整數70632,顯示為16位無符號整數 3.輸入為8位帶符號整數120,顯示為16位帶符號整數. 虛擬儀器技術虛擬儀器技術 布爾型 布爾型即邏輯型,其取值只能為真或假創(chuàng)建布爾型變量可通過在控件選板 選擇“新式布爾”下的各項控件得到 創(chuàng)建布爾型常量,可以在函數選板中選擇“編程布爾真

26、常量(或假 常量)”得到 字符串 字符串是labview中的另外一種基本數據類型,可支持對字符串型數據的存 儲和修改功能創(chuàng)建字符串型變量,可以在控件選板中選擇“新式字符 串與路徑字符串輸入控件(或字符串顯示控件)”得到 創(chuàng)建字符串型常量,可以在函數選板中選擇“編程字符串字符串常 量”得到 虛擬儀器技術虛擬儀器技術 2.4.2 復合數據類型 labview中的復合數據類型是在基本數據類型上的進一步拓展,是用多個相同 或不同的基本數據類型組成數組、簇、矩陣等復合結構,以滿足更為靈活的 需要。 1數組 labview中的數組可支持一維或多維數組,同一個數組中的所有數組元素必 須隸屬于同一基本數據類型

27、 虛擬儀器技術虛擬儀器技術 1數組 在labview中創(chuàng)建并配置一個數組對象可以分為三步進行 (1)生成數組框架:從控件選板中選擇”新式 數組、矩陣與簇 數組”,創(chuàng) 建一個不包含任何內容的數組框架,對應的框圖中也會生成一個空心的數組 端子 (2)填充數組元素:根據需要,創(chuàng)建一個所需類型的變量,將其用鼠標拖入上 步創(chuàng)建的數組框架中,就可得到一個以該類型數據為元素的數組對象,對應 的框圖中數組端子就會變?yōu)閷嵭牡?,并與該數據類型對應。 (3)配置數組:新創(chuàng)建的數組默認維數為一維,如果需要增加數組維數,可以 用鼠標向下拖動數組左上角的索引顯示框,或者在數組的鼠標右鍵菜單中選 擇“添加維度”。 數組也分

28、創(chuàng)建數組變量和數組常量 虛擬儀器技術虛擬儀器技術 2簇 labview中的簇是另外一種常用的復合類型數據,其功能與c語言中的struct 結構體相似,可以將若干種不同類型的數據集合在一起,作為一個整體進行 處理 創(chuàng)建一個簇需要兩步: (1)創(chuàng)建簇框架:從控件選板中選擇”新式 數組、矩陣與簇 簇”,創(chuàng)建一 個不包含任何內容的簇框架,對應的框圖中也會生成一個對應的簇端子。 (2)填充簇元素:根據需要,分別創(chuàng)建需要的簇元素所對應的數據類型變量, 然后將其拖入上一步中創(chuàng)建的簇框架中,就可以得到一個以這些變量為元素 的簇,同時框圖上的簇端子圖標也會發(fā)生變化。 虛擬儀器技術虛擬儀器技術 練習: 創(chuàng)建數組和

29、簇。 1.創(chuàng)建如下數組變量和常量: 1,2,3;4,5,6;7,8,9 1.13,2.57,5.78,9.11 2.創(chuàng)建如下簇變量: 數值變量,布而變量,字符串變量 虛擬儀器技術虛擬儀器技術 2.5 程序流程控制 labview中提供了數種流程控制結構,包括順序結構、選擇結構、循環(huán)結構、事件 結構等,使得labview能夠像其他通用編程語言一樣合理控制程序的運行流程。 labview中用以控制程序流程的各種結構位于函數選板中的“編程 結構”下。 虛擬儀器技術虛擬儀器技術 2.5 .1順序結構 順序結構分為平鋪式順序結構和層疊式順序結構兩種,都是用來強制程序流程一步步 順序執(zhí)行的。順序結構中含有

30、一個或多個幀,每一幀中的程序同時執(zhí)行,執(zhí)行完之后 才進入下一幀執(zhí)行,可以通過鼠標右鍵菜單中的“在后面添加幀”、“在前面添加 幀”、“復制幀”、“刪除本幀”分別完成對幀的增添、復制和刪除工作。 兩種順序結構的互換 虛擬儀器技術虛擬儀器技術 2.5 .2 條件結構 條件結構類似于語言中的“ifelse”語句,可根據不同條件執(zhí)行不同的程序塊。 labview中的條件結構如下圖所示,其中選擇器用來連接選擇條件數據,數據類型 可以是布爾型、數值型、字符串以及枚舉類型。條件結構可以由多個分支組成,分 別對應不同的條件。選擇器接收到條件數據之后進行判斷,然后選擇進入對應的分 支執(zhí)行。 條件結構 虛擬儀器技術

31、虛擬儀器技術 2.5 .3 循環(huán)結構 循環(huán)結構分為for循環(huán)結構和 while循環(huán)結構兩種,分別與c語言中的“for”語句和 “dowhile”語句類似,都可以控制特定的程序塊自動重復執(zhí)行若干次。兩種循環(huán) 結構如下圖: for 循環(huán) while循環(huán) 虛擬儀器技術虛擬儀器技術 2.5 .3 循環(huán)結構 1.循環(huán)結構中的移位寄存器 移位寄存器是循環(huán)結構中的一個重要概念,用來存儲和傳遞上一步或多步循環(huán)的數據。 在循環(huán)結構邊框上的鼠標右鍵菜單中選擇“添加移位寄存器”,之后就會在循環(huán)結 構左右邊框上分別出現左端子和右端子,每一步循環(huán)結束后右端子便將接收到的數 據傳給左端子,下一步循環(huán)時左端子給出的數據即是

32、上一步循環(huán)中右端子接收的數 據。 如需多步移位寄存器,可以在移位寄存器的鼠標右鍵菜單中選擇“添加元素”項來 添加左端子。右端子在上一循環(huán)中接收的值在當前循環(huán)中將寄存到最上面的左端子, 多個左端子在上一循環(huán)中的歷史值則按此規(guī)律依次向下面相鄰的左端子寄存。 虛擬儀器技術虛擬儀器技術 2.5 .3 循環(huán)結構 1.循環(huán)結構內外部數據交換 循環(huán)結構內外部數據交換可通過兩種方式進行:自動索引和直接通道。當循環(huán)結構 內處部的數據通過連線進行交換時,必會在循環(huán)邊框中產生一處形如 或 的 節(jié)點,分別對應于自動索引和直接通道。這兩種方式可以通過該節(jié)點的鼠標右鍵菜 單中“啟用索引”項和“禁用索引”項進行切換。 (1

33、)數據從外部進入循環(huán)結構時 輸入數據若是標量則始終讀入該標量值。輸入數據若是數組,則從前至后依次 讀取各個元素,對于for循環(huán)結構這種情況下可以不用指定循環(huán)次數,循環(huán)次數將 被自動設為數組大小,而while循環(huán)的停止靠循環(huán)條件停止。 (2)數據從內部流出循環(huán)結構時 使用自動索引可以使每次單步循環(huán)中得到的數據自動排列為一個數組,最后得 到的數組比循環(huán)中數據類型維數多一維。 使用直接通道時,表示數據直接從循環(huán)內部傳遞至外部,其值和維數都不變。 虛擬儀器技術虛擬儀器技術 練習: 程序結構練習: 1.下圖程序:分別用while循環(huán)和for循環(huán)結構的自動索引功能生成兩個數組,這兩 個數組的內容是否完全一

34、樣? 虛擬儀器技術虛擬儀器技術 .循環(huán)結構中內外部數據交換實例 練習: 程序結構練習: 虛擬儀器技術虛擬儀器技術 2.6 局部變量和全局變量 局部變量和全局變量用來控制變量的作用范圍. 1.局部變量 局部變量的作用范圍僅為其所在vi,其他vi對該局部變量不可見。 在labview中添加一個局部變量有兩種方法。 (1)方法一: 在框圖上用鼠標右鍵單擊欲創(chuàng)建局部變量的控件端子,在右鍵菜單中選擇 “創(chuàng)建 局部變量”,就可創(chuàng)建一個對應于該端子的局部變量,再用鼠標拖放到合 適的位置即可。 (2)方法二: 在函數選板中選擇“編程 結構 局部變量”,創(chuàng)建一個空的局部變量,這時 出現形如 ,中間為?號表示尚未

35、和任何控件相關聯。要關聯某個控件,只需單 擊問號,再選擇欲對應的控件即可。 虛擬儀器技術虛擬儀器技術 2.6 局部變量和全局變量 局部變量和全局變量用來控制變量的作用范圍. 1.局部變量 在labview中將局部變量嚴格的區(qū)分為“讀取”或“寫入”狀態(tài),“讀取”狀態(tài)的 局部變量只能作為數據源供程序取用,“寫入”狀態(tài)的變量只能接受數據對其寫入, 某個局部變量只能為其中一種。 創(chuàng)建和使用局部變量時需注意: (1)局部變量不可用用機械動作設置為觸發(fā)的按鈕。 (2)不可濫用局部變量。 (3)每個局部變量是對原變量數據的一份內存拷貝。 虛擬儀器技術虛擬儀器技術 練習: 局部變量的使用練習: 下圖程序:要求

36、用一個控制開關對兩個并行的while循環(huán)進行控制,實現兩個循環(huán) 的同時退出,且要求整個程序能夠重復運行。 前面板 框圖 虛擬儀器技術虛擬儀器技術 2.全局變量 全局變量與局部變量不同,其作用范圍不僅僅限于當前vi,而是在整個項目中都有 效。一個或多個全局變量可按一種特殊形式存放在單獨的vi中,該種vi沒有框圖, 只有前面板,仍以.vi為后綴存儲,其地位相當于一個特殊的vi,因此可用于在不同 vi之間傳遞數據. 創(chuàng)建一個全局變量的步驟如下: (1)新建一個vi,在此vi前面板的函數選板中選擇”編程 結構 全局變量”,創(chuàng)建 一個空的全局變量,此時中間為問號。 (2)雙擊該全局變量,打開對應的前面板

37、,放入需要的任意類型變量,也可以從別的vi 前面板上復制需要的類型變量。 (3)保存該全局變量為一個vi文件。 如果需要為一個已有的全局變量vi文件添加進新的其它全局變量,只需直接雙擊打開 該文件前面板并放入或者復制需要的類型變量,并保存即可. 如果要在框圖中添加已有的全局變量,直接從函數選板中選擇”選擇vi”添加存儲 了該全局變量的vi文件即可.如果要將一個全局變量改為在同一文件中存儲的其他全 局變量,可單擊全局變量的中心,從彈出的菜單中進行選擇. vi文件建議命名為”global_”或”全局變量_” 虛擬儀器技術虛擬儀器技術 練習: 全局變量的使用練習: 設計一個服務器/客戶端式程序,要求

38、server vi中產生數據源,傳遞數據給client vi顯 示,并由client vi 控制程序停止,使得server vi 在client vi 停止后也相應停止。 兩個vi之間數據和控制信息的傳遞就可以用全局變量實現。 (1)建立一個全局變量vi,其中放入布爾型變量“停止”和浮點型數組變量“緩 存數組”各一個,如下圖 (2)建立一個server vi,使用循環(huán)結構不斷產生源數據,并放入全局變量“緩 存數組”中,循環(huán)的停止條件由全局變量“停止”控制。如下圖 虛擬儀器技術虛擬儀器技術 (3)建立一個client vi,也使用循環(huán)結構不斷從全局變量“緩存數組”中讀入待 顯示數據,在波形圖表上顯

溫馨提示

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

評論

0/150

提交評論