已閱讀5頁,還剩123頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目錄 單元 1 配置虛擬儀器軟件與硬件 3 1 1 演示虛擬示波器和電壓表 3 1 2 什么是虛擬儀器 4 1 3 配置虛擬儀器的硬件平臺 5 單元 2 創(chuàng)建和編輯 調試 VI 9 2 1 LABVIEW 的基本開發(fā)平臺 9 2 4 創(chuàng)建一個簡單的 VI 程序 15 2 5VI 編輯和調試技術 16 2 6創(chuàng)建子 VI 20 2 7調用子 VI 25 單元 3 結構控制程序設計 27 3 1 While loop 結構與 chart 圖表 27 3 1 1While loop 結構 27 3 1 2 波形圖指示器 28 3 2 移位寄存器 Shift Register 33 3 3 For loop 37 3 4 分支 Case 結構 39 3 4 順序結構 Sequence Structure 44 3 5 公式節(jié)點 Formula Node 47 單元 4 數組 array 和圖形 graphs 程序設計 50 4 1 數組 array 50 4 1 1 創(chuàng)建數組及自動索引數組 50 4 1 2 數組函數 56 4 2 簇 cluster 60 4 2 1 創(chuàng)建簇控制和顯示簇 60 4 2 2 使用簇與子 VI 傳遞數據 61 4 2 3 按名稱捆綁與分解簇 62 4 2 4 數組和簇的互換 63 4 2 5error in 簇 和 error out 簇 63 4 2 6 波形圖 Waveform 63 4 3 圖形 64 4 3 1Graph 控件 65 4 3 2 Chart 獨有控件 65 4 3 3XY 圖形控件 XY Graph 67 4 3 4 強度圖形控件 Intensity Graph 68 4 3 5 數字波形圖控件 Digital Waveform Graph 68 單元 5 字符串和文件程序設計 70 5 1 字符串 70 5 2 文件的輸入 輸出 I O 72 5 2 15 2 1 文件文件 I OI O 函數函數 72 5 2 5 2 將數據寫入電子表格文件將數據寫入電子表格文件 73 單元 6 數據采集 Data Acquisition 80 6 1 基于了 LABVIEW 的數據采集卡系統(tǒng)總體結構 80 6 2 數據采集設備的設置與測試 81 6 3 采集模擬信號 85 6 3 16 3 1 A DA D 轉換轉換 86 6 3 26 3 2 模擬輸入參數說明模擬輸入參數說明 87 6 3 46 3 4 在在 DAQmxDAQmx 中創(chuàng)建應用程序中創(chuàng)建應用程序 88 虛擬測試技術 實驗習題集 98 Excercise1 INTRODUCTION TO LABVIEW 98 Excercise2 CREATE A SIMPLE LABVIEW VI 99 Excercise3 Create a sub vi 100 Exercise 4 LOOP AND CHARTS 101 Exercise 5 ARRAY AND INDICATORS 104 Exercise 6 CASE AND SEQUENCE STRUCTURE 108 單元單元 1 配置虛擬儀器軟件與硬件配置虛擬儀器軟件與硬件 1 11 1 演示虛擬示波器和電壓表演示虛擬示波器和電壓表 虛擬儀器 virtual instrument 是基于計算機的儀器 或者說虛擬儀器技術就是用計算 機來做測量的技術 那么計算機能做測量嗎 下面先看一個兩個演示例子 例 1 虛擬示波器 圖 1 1 虛擬示波器前面板 例 2 虛擬數字電壓表 圖 1 2 虛擬數字電壓表前面板 上述例子說明 用計算機來做測量是可行的 1 21 2 什么是虛擬儀器什么是虛擬儀器 虛擬儀器 virtual instrumention 是基于計算機的儀器 計算機和儀器的密切結合是目 前儀器發(fā)展的一個重要方向 粗略地說這種結合有兩種方式 一種是將計算機裝 入儀器 其典型的例子就是所謂智能化的儀器 隨著計算機功能的日益強大以及其體積的日趨縮小 這類儀器功能也越來越強大 目前已經出現含嵌入式系統(tǒng)的儀器 另一種方式是將儀器裝 入計算機 以通用的計算機硬件及操作系統(tǒng)為依托 實現各種儀器功能 虛擬儀器主要是 指這種方式 下面的框圖反映了常見的虛擬儀器方案 實際上 所有測試儀器可概括為三大功能模塊組成 數據采集 數據測試和分析 結 果輸出與顯示 其中數據分析和結果輸出完全可由基于計算機的軟件系統(tǒng)來完成 因此只 要另外提供一定的數據采集硬件 就可構成基于計算機組成的測量測試儀器 虛擬儀器的主要特點有 1 盡可能采用了通用的硬件 各種儀器的差異主要是軟件 2 可充分發(fā)揮計算機的能力 有強大的數據處理功能 可以創(chuàng)造出功能更強的儀器 3 用戶可以根據自己的需要定義和制造各種儀器 注意 這里所指的虛擬儀器和 EDA 仿真軟件中的虛擬儀器概念完全不同 它可以完全 替代傳統(tǒng)臺式測量測試儀器實現對真實信號的測量 而 EDA 仿真軟件中的虛擬儀器是純軟 件的 仿真的 不能測量真實的信號 1 31 3 配置虛擬儀器的硬件平臺配置虛擬儀器的硬件平臺 虛擬儀器由通用儀器的硬件平臺和應用軟件兩部分組成 一 硬件平臺 虛擬儀器的硬件平臺包括計算機和 I O 接口設備兩部分 計算機是硬件平臺的核心 I O 接口設備主要完成待測輸入信號的采集 放大 和 A D 轉換等 根據 I O 接口設備的不同 總線形式 虛擬儀器主要分為以下六種類型 測 控 對 象 PC DAQ板 GPIB儀器 串口儀器 VXI模塊 PXI模塊 I O接口設備 計 算 機 1 PC DAQ 插卡式虛擬儀器 它是以數據采集卡 信號條理電路以及計算機為硬件平臺組成的插卡式虛擬儀器系統(tǒng) 這種系統(tǒng)采用 PCI 計算機總線 只要將數據采集卡插入計算機主板的空槽中即可以使用 插卡式虛擬儀器的組成原理框圖 NI 公司的 M 系列數據采集卡 2 GPIB 儀器 它是以 GPIB 標準儀器總線與計算機為硬件平臺組成的儀器測試系統(tǒng) GPIB 儀器組成 3 串口儀器 串口儀器是以 serial 標準總線與計算機為平臺組成的儀器測試系統(tǒng) 4 VXI 模塊 它是以 VXI 標準總線儀器模塊與計算機硬件為平臺組成的儀器測試系統(tǒng) VXI 虛擬儀器 5 PXI 模塊 它是以 PXI 標準總線儀器模塊與計算機為硬件平臺組成的儀器測試系統(tǒng) PXI 虛擬儀器 6 USB 模塊 它是以 USB 標準總線儀器模塊與計算機為硬件平臺組成的儀器測試系統(tǒng) NI USB 數據采集卡構成的虛擬儀器 1 1 4 配置虛擬儀器軟件 配置虛擬儀器軟件 虛擬儀器可使用相同的硬件系統(tǒng) 通過不同的軟件就可以實現功能完全不同的各種測 量測試儀器 軟件系統(tǒng)是虛擬儀器的核心 軟件可以定義為各種儀器 因此可以說 軟件 即儀器 虛擬儀器的應用軟件包含應用程序和 I O 接口驅動程序兩部分構成 1 I O 接口設備驅動程序 完成特定外部硬件設備的擴展 驅動以及計算機的通信 一般 I O 接口驅動程由提供 I O 設備的廠家提供 2 應用程序 在硬件平臺具備以后 完成測試功能主要取決于應用程序 EXE 文件 3 開發(fā)工具 開發(fā)虛擬儀器必須有合適的軟件工具 目前虛擬儀器軟件開發(fā)工具主要有如下幾類 文本式編程語言 如 visual C visual Basic labview windows CVI 等 圖形化編輯語言 如 labview NI 公司 VEE HP 公司 等 這些軟件開發(fā)工具為 用戶設計虛擬儀器應用軟件提供了良好的開發(fā)環(huán)境 4 LabVIEW 概述 LabVIEW Laboratory Virtual instrument Engineering 是一種圖形化的編程語言 它廣泛地被工業(yè)界 學術界和研究實驗室所接受 視為一個標準的數據采集和儀器控制軟 件 LabVIEW 集成了與滿足 GPIB VXI RS 232 和 RS 485 協(xié)議的硬件及數據采集卡通訊的 全部功能 它還內置了便于應用 TCP IP ActiveX 等軟件標準的庫函數 這是一個功能強 大且靈活的軟件 利用它可以方便地建立自己的虛擬儀器 其圖形化的界面使得編程及使 用過程都生動有趣 圖形化的程序語言 又稱為 語言 使用這種語言編程時 基本上不寫程序代碼 取而代之的是流程圖或框圖 它盡可能利用了技術人員 科學家 工程師所熟悉的術語 圖標和概念 因此 LabVIEW 是一個面向最終用戶的工具 它可以增強你構建自己的科學 和工程系統(tǒng)的能力 提供了實現儀器編程和數據采集系統(tǒng)的便捷途徑 使用它進行原理研 究 設計 測試并實現儀器系統(tǒng)時 可以大大提高工作效率 利用 LabVIEW 可產生獨立運行的可執(zhí)行文件 它是一個真正的 位編譯器 像許 多重要的軟件一樣 LabVIEW 提供了 Windows UNIX Linux Macintosh 的多種版本 單元單元 2 創(chuàng)建和編輯 調試創(chuàng)建和編輯 調試 VI 知識點 Labview 的前面板和流程圖設計 Labview 的操作模板和主菜單 創(chuàng)建兩個 VI 程序 LABVIEW 的程序調式技術 創(chuàng)建子程序 本章概述 本章主要介紹 LABVIEW 的前面板窗口和流程圖窗口 工具模板 控制模板和函數模板 通 過具體程序設計示例的來說明 LABVIEW 編程的一般步驟和程序調試技術 最后將介紹子 程序的概念以創(chuàng)建子程序的詳細過程 2 1 LABVIEW 的基本開發(fā)平臺的基本開發(fā)平臺 LabVIEW 程序 簡稱 VI 包括前面板 front panel 流程圖兩個窗口 前面板前面板 前面板是圖形用戶界面 也就是 VI 的虛擬儀器面板 這一界面上有用戶輸入和顯示輸 出兩類對象 具體表現有開關 旋鈕 圖形以及其他控制 control 和顯示對象 indicator 圖 2 1 所示是一個隨機信號發(fā)生和顯示的簡單 VI 是它的前面板 上面有一個顯示對象 以曲線的方式顯示了所產生的一系列隨機數 還有一個控制對象 開關 可以啟動和停 止工作 顯然 并非簡單地畫兩個控件就可以運行 在前面板后還有一個與之配套的流程 圖 控制對象 輸 入 顯示對象 輸出 圖 2 隨機信號發(fā)生器的前面板板 流程圖流程圖 流程圖提供 VI 的圖形化源程序 在流程圖中對 VI 編程 以控制和操縱定義在前面板 上的輸入和輸出功能 流程圖中包括前面板上的控件的連線端子 還有一些前面板上沒有 但編程必須有的東西 例如函數 結構和連線等 圖 是與圖 對應的流程圖 我們可以看到流程圖中包括了前面板上的開關和隨機數顯示器的連線端子 還有一個隨機 數發(fā)生器的函數及程序的循環(huán)結構 隨機數發(fā)生器通過連線將產生的隨機信號送到顯示控 件 為了使它持續(xù)工作下去 設置了一個 While Loop 循環(huán) 由開關控制這一循環(huán)的結束 如果將 VI 與標準儀器相比較 那么前面板上的東西就是儀器面板上的東西 而流程圖 上的東西相當于儀器箱內的東西 在許多情況下 使用 VI 可以仿真標準儀器 不僅在屏幕 上出現一個惟妙惟肖的標準儀器面板 而且其功能也與標準儀器相差無幾 工具模板 工具模板 Tools Palette 為了便于創(chuàng)建 VI 程序 LabVIEW 平臺上提供了三種模板供編程人員使用 這三種模 版分別是 工具 Tools 模板 控件 Controls 模板和函數 Functions 模板 函數 隨機 數發(fā)生器 結構 循環(huán) 與前面板控件 對應的連線端 子 與前面板控件 對應的連線端 子 圖 2 隨機信號發(fā)生器的流程圖 工具模板為編程者提供了各種用于創(chuàng)建 修改和調試 VI 程序的工具 如果該模板沒有 出現 則可以在 Windows 菜單下選擇 Show Tools Palette 命令以顯示該模板 當從模板內 選擇了任一種工具后 鼠標箭頭就會變成該工具相應的形狀 當從 Windows 菜單下選擇了 Show Help Window 功能后 把工具模板內選定的任一種工具光標放在框圖程序的子程序 Sub VI 或圖標上 就會顯示相應的幫助信息 工具模板圖標有如下幾種 工具模板圖標 名稱及功能 圖標名稱功能 操作工具使用該工具來操作前面板的控制和顯示 使用它向數字 或字符串控制中鍵入值時 工具會變成標簽工具的形狀 選擇工具用于選擇 移動或改變對象的大小 當它用于改變對象 的連框大小時 會變成相應形狀 標簽工具用于輸入標簽文本或者創(chuàng)建自由標簽 當創(chuàng)建自由標簽 時它會變成相應形狀 連線工具用于在框圖程序上連接對象 如果聯(lián)機幫助的窗口 被打開時 把該工具放在任一條連線上 就會顯示相應 的數據類型 對象彈出菜 單工具 用左鼠標鍵可以彈出對象的彈出式菜單 漫游工具 使用該工具就可以不需要使用滾動條而在窗口中漫游 斷點工具 使用該工具在 VI 的框圖對象上設置斷點 探針工具可以在框圖程序內的數據流線上設置探針 程序調試員 可以通過控針窗口來觀察該數據流線上的數據變化狀況 顏色提取工使用該工具來提取顏色用于編輯其他的對象 具 顏色工具用來給對象定義顏色 它也顯示出對象的前景色和背景 色 控件模板控件模板 Controls Palette 與上述工具模板不同 控制和功能模板只顯示頂層子模板的圖標 在這些頂層子模板 中包含許多不同的控制或功能子模板 通過這些控制或功能子模板可以找到創(chuàng)建程序所需 的面板對象和框圖對象 用鼠標點擊頂層子模板圖標就可以展開對應的控制或函數子模板 只需按下控制或函數子模板左上角的大頭針就可以把對這個子模板變成浮動板留在屏幕上 用控制模板可以給前面板添加輸入控制和輸出顯示 每個圖標代表一個子模板 如果 控制模板不顯示 可以用 Windows 菜單的 Show Controls Palette 函數打開它 也可以在前 面板的空白處 點擊鼠標右鍵 以彈出控制模板 注 只有當打開前面板窗口時才能調用 控制模板 控制模板如左圖所示 它包括如圖所示的幾個子模板 控件子模板圖標 名稱及功能 圖標名稱功能 數值子模板包含數值的控制和顯示 布爾值子模塊邏輯數值的控制和顯示 字符串子模板字符串和表格的控制和顯示 列表和環(huán) Ring 子模板 菜單環(huán)和列表欄的控制和顯示 數組和群子模板復合型數據類型的控制和顯示 圖形子模板顯示數據結果的趨勢圖和曲線圖 路徑和參考名 Refnum 子模板 文件路徑和各種標識的控制和顯示 控件容器庫子模 板 用于操作 OLE ActiveX 等函數 對話框子模板用于輸入對話框的顯示控制 修飾子模板用于給前面板進行裝飾的各種圖形對象 自定義用戶自定義的控制和顯示 調用存儲在文件中的控制和顯示的接口 函數模板函數模板 Functions Palette 函數模板是創(chuàng)建框圖程序的工具 該模板上的每一個頂層圖標都表示一個子模板 若 函數模板不出現 則可以用 Windows 菜單下的 Show Functions Palette 函數打開它 也可以 在框圖程序窗口的空白處點擊鼠標右鍵以彈出函數模板 注 只有打開了框圖程序窗口 才能出現函數模板 函數 模板如下圖所示 函數模板的子模板 圖標名稱函數 結構子模板 包括程序控制結構命令 例如循環(huán)控制等 以及全局變 量和局部變量 數值運算子模板 包括各種常用的數值運算符 如 等 以及各種常見 的數值運算式 如 1 運算 還包括數制轉換 三角函數 對數 復數等運算 以及各種數值常數 布爾邏輯子模板 包括各種邏輯運算符以及布爾常數 字符串運算子模 板 包含各種字符串操作函數 數值與字符串之間的轉換函 數 以及字符 串 常數等 數組子模板 包括數組運算函數 數組轉換函數 以及常數數組等 群子模板 包括群的處理函數 以及群常數等 這里的群相當于 C 語言中的結構 比較子模板 包括各種比較運算函數 如大于 小于 等于 時間和對話框子 模板 包括對話框窗口 時間和出錯處理函數等 文件輸入 輸出子 模板 包括處理文件輸入 輸出的程序和函數 儀器控制子模板 包括 GPIB 488 488 2 串行 VXI 儀器控制的程序和 函數 以及 VISA 的操作功能函數 儀器驅動程序庫 用于裝入各種儀器驅動程序 數據采集子模板 包括數據采集硬件的驅動程序 以及信號調理所需的各 種函數模塊 信號處理子模板 包括信號發(fā)生 時域及頻域分析函數模塊 數學模型子模塊 包括統(tǒng)計 曲線擬合 公式框節(jié)點等函數模塊 以及數 值微分 積分等數值計算工具模塊 圖形與聲音子模 塊 包括 3D OpenGL 聲音播放等函數模塊 通訊子模板 包括 TCP DDE ActiveX 和 OLE 等函數的處理模塊 應用程序控制子 模塊 包括動態(tài)調用 VI 標準可執(zhí)行程序的函數函數 底層接口子模塊 包括調用動態(tài)連接庫和 CIN 節(jié)點等函數的處理模塊 文檔生成子模板 示教課程子模板 包括 LabVIEW 示教程序 用戶自定義的子 VI 模板 選擇 VI 子程 序 子模板 包括一個對話框 可以選擇一個 VI 程序作為子程序 SUB VI 插入當前程序中 其它幾個子模板是 LabVIEW 的附加 Toolkit 安裝上去的 在 LabVIEW 完全版中不包括這 些子模板 2 4 創(chuàng)建一個簡單的創(chuàng)建一個簡單的 VI 程序程序 我們通過例子來說明如何創(chuàng)建一個 VI 例題 2 1 把攝氏溫度轉換為華氏溫度 圖 2 1 例題 2 1 的前面板 圖 2 2 例題 2 1 框圖程序 前面板編輯 前面板編輯 選擇 File New blank vi 打開一個新的前面板窗口 選擇 Windows Left and Right 或使用快捷鍵 CTR T 顯示前面板和框圖程序窗口 創(chuàng)建數字控件 并將這個數字控件標簽 label 修改為 deg c 從 Controls Numeric Controls 中選擇 Numeric Control 放到前面板中 用 tool palette A 工具 將修改 Numeric Control 的 label 項修改為 deg c 創(chuàng)建數字指示器 并將這個數字控件標簽 label 修改為 deg f 流圖圖的編輯 按 CTR E 鍵 切換到框圖程序窗口 從功能模板中選擇下列函數圖標放置在框圖中 Multiply 在 function numeric 下 將兩個數相乘得到它們的乘積 add 在 function numeric 下 將兩個數相加得到它們的和 numeric constant 常數 此例中 雙擊數值型常數 將其值分別修改為 1 8 再 放置一個數值型常數 將其數值修改為 32 使用連線工具 按照圖 2 2 框圖連線 前面板如圖 2 1 所示 框圖程序如圖 2 2 所示 Vi 的運行 的運行 單擊窗口上部的 run 圖標 運行該 vi 得到圖 2 1 的結果 單擊窗口上部的 continuous run 圖標 輸出結果可以隨輸入的變化而變化 單擊 pause 可暫時停止程序 單擊 abort excution 結束程序的運行 程序的存盤 程序的存盤 選擇 file save 將此 VI 命名為 C F vi 保存 選擇 file close 關閉 VI 練習 2 1 結束 2 5VI 編輯和調試技術編輯和調試技術 1 VI 編輯技術編輯技術 VI 程序具有三個要素 前面板 框圖程序和圖標 連接器 節(jié)點節(jié)點 類似于文本語言程序的語句 函數或者子程序 LabVIEW 有二種節(jié)點類型 函數節(jié) 點和子 VI 節(jié)點 兩者的區(qū)別在于 函數節(jié)點是 LabVIEW 以編譯好了的機器代碼供用戶使 用的 而子 VI 節(jié)點是以圖形語言形式提供給用戶的 用戶可以訪問和修改任一子 VI 節(jié)點 的代碼 但無法對函數節(jié)點進行修改 上面的框圖程序所示的 VI 程序有兩個函數函數節(jié)點 一個函數使兩個數值相加 另一個函數使兩數相減 端點端點 是只有一路輸入 輸出 且方向固定的節(jié)點 LabVIEW 有三類端點 前面板對象端點 全局與局部變量端點和常量端點 對象端點是數據在框圖程序部分和前面板之間傳輸的接 口 一般來說 一個 VI 的前面板上的對象 控制或顯示 都在框圖中有一個對象端點與之 一一對應 當在前面板創(chuàng)建或刪除面板對象時 可以自動創(chuàng)建或刪除相應的對象端點 控 制對象對應的端點在框圖中是用粗框框住的 如例子中的 A 和 B 端點 它們只能在 VI 程 序框圖中作為數據流源點 顯示對象對應的端點在框圖中是用細框框住的 如例子中的 A B 和 A B 端點 它們只能在 VI 程序框圖中作為數據流終點 常量端點永遠只能在 VI 程 序框圖中作為數據流源點 圖框圖框 是 LabVIEW 實現程序結構控制命令的圖形表示 如循環(huán)控制 條件分支控制和順序 控制等 編程人員可以使用它們控制 VI 程序的執(zhí)行方式 代碼接口節(jié)點 CIN 是框圖程 序與用戶提供的 C 語言文本程序的接口 連線連線 是端口間的數據通道 它們類似于普通程序中的變量 數據是單向流動的 從源端口 向一個或多個目的端口流動 不同的線型代表不同的數據類型 在彩顯上 每種數據類型 還以不同的顏色予以強調 下面是一些常用數據類型所對應的線型和顏色 數據類型圖 形顏色 整形數 浮點數 邏輯量 字符串 文件路徑 蘭色 橙色 綠色 粉色 青色 當需要連接兩個端點時 在第一個端點上點擊連線工具 從工具模板欄調用 然后 移動到另一個端點 再點擊第二個端點 端點的先后次序不影響數據流動的方向 當把連線工具放在端點上時 該端點區(qū)域將會閃爍 表示連線將會接通該端點 當把 連線工具從一個端口接到另一個端口時 不需要按住鼠標鍵 當需要連線轉彎時 點擊一 次鼠標鍵 即可以正交垂直方向地彎曲連線 按空格鍵可以改變轉角的方向 從框圖程序窗口創(chuàng)建前面板對象 用選擇和連線工具 你都可以用鼠標右鍵點擊任一節(jié)點和端點 然后從彈出菜單中選 擇 創(chuàng)建常數 創(chuàng)建控制 或 創(chuàng)建顯示 等命令 LabVIEW 會自動地在被創(chuàng)建的端 點與所點擊對象之間接好連線 數據流編程數據流編程 控制 VI 程序的運行方式叫做 數據流 對一個節(jié)點而言 只有當它的所有輸入端口 上的數據都成為有效數據時 它才能被執(zhí) 行 當節(jié)點程序運行完畢后 它把結果數 據送給所有的輸出端口 使之成為有效數 快速提示 接線頭是為了幫助正確連接端口的連線 當把連線工具放到端 口上 接線頭就會彈出 接線頭還有一個黃色小標識框 顯示該端口 的名字 據 并且數據很快從源送到目的端口 如左圖所示 這個 VI 程序把兩個輸入數值相乘 再把乘積減去 50 0 這個程序中 框圖程序從左往右執(zhí)行 這個執(zhí)行次序不是由于對象的擺放位置 而是由于相減運算函數 的一個輸入量是相乘函數的運算結果 它只有當相乘運算完成并把結果送到減運算的輸入 口后才能繼續(xù)下去 請記住 一個節(jié)點 函數 只有當它所有的輸入端的數據都成為有效 數據后才能被執(zhí)行 而且只有當它執(zhí)行完成后 它的所有輸出端口上的數據才成為有效 再看另一個程序 你認為哪一個節(jié)點函數將先執(zhí)行是乘法還是除法 在這個例子中 我們無法知道哪一個節(jié)點函數首先執(zhí)行 因為所有輸入量幾乎同時到達 對于這樣一種相 互獨立的數據流程 如果又必須明確指定節(jié)點執(zhí)行的先后次序 就必須使用順序 Sequence 結構來明確執(zhí)行次序 2 程序調試技術程序調試技術 1 找出語法錯誤 如果一個 VI 程序存在語法錯誤 則在面板工具條上的運行按鈕將會變成一個折斷的 箭頭 表示程序不能被執(zhí)行 這時這個按鈕被稱作錯誤列表 點擊它 則 LabVIEW 彈出 錯誤清單窗口 點擊其中任何一個所列出的錯誤 選用 Find 函數 則出錯的對象或端口就 會變成高亮 2 設置執(zhí)行程序高亮 在 LabVIEW 的工具條上有一個畫著燈泡的按鈕 這個按鈕叫做 高亮執(zhí)行 按鈕上 點擊這個按鈕使該按鈕圖標變成高亮形式 再點擊運行按鈕 VI 程序就以較慢的速度運行 沒有被執(zhí)行的代碼灰色顯示 執(zhí)行后的代碼高亮顯示 并顯示數據流線上的數據值 這樣 你就可以在根據數據的流動狀態(tài)跟蹤程序的執(zhí)行 3 斷點與單步執(zhí)行 為了查找程序中的邏輯錯誤 你也許希望框圖程序一個節(jié)點一個節(jié)點地執(zhí)行 使用斷 點工具可以在程序的某一地點中止程序執(zhí)行 用探針或者單步方式查看數據 使用斷點工 具時 點擊你希望設置或者清除斷點的地方 斷點的顯示對于節(jié)點或者圖框表示為紅框 對于連線表示為紅點 當 VI 程序運行到斷點被設置處 程序被暫停在將要執(zhí)行的節(jié)點 以 閃爍表示 按下單步執(zhí)行按鈕 閃爍的節(jié)點被執(zhí)行 下一個將要執(zhí)行的節(jié)點變?yōu)殚W爍 指 示它將被執(zhí)行 你也可以點擊暫停按鈕 這樣程序將連續(xù)執(zhí)行直到下一個斷點 4 探針 你可以用探針工具來查看當框圖程序流經某一根連接線時的數據值 從 Tools 工具模板 選擇探針工具 再用鼠標左建點擊你希望放置探針的連接線 這時顯示器上會出現一個探 針顯示窗口 該窗口總是被顯示在前面板窗口或框圖窗口的上面 在框圖中使用選擇工具 或連線工具 在連線上點擊鼠標右鍵 在連線的彈出式菜單中選擇 探針 命令 同樣可 以為該連線加上一個探針 2 6子子 VI 在設計 G 語言中 理解和使用 VI 的分層特性非常重要 當一個 VI 創(chuàng)建后 它可以作 為一個子 VI 在高層 Vi 的框圖中使用 一個子 VI sub vi 類似于傳統(tǒng)程序設計語言中的 函數或子程序 是可以供其他的 VI 調用的 VI 子 VI 是供其他 VI 使用的 VI 與子程序類似 子 VI 是層次化和模塊化 VI 的關鍵組件 它能使 VI 易于調試和維護 使用子 VI 是一種有效的編程技術 因為 它允許在不同的場 合重復使用相同的代碼 G 編程語言的分層特性就是在一個子 VI 中能夠調用到另一個子 VI 下面可用一個表格表明子 VI 的作用 程序代碼調用子程序 function average in1 in2 out out in1 in2 2 0 main average point1 point2 pointavg 子 VI 框圖調用子 VI 框圖 先看一個 SUB vi 的演示程序 從例題中可以看出 子程序就相當于一個函數 可以將任何一個定義了圖標和聯(lián)接器的 VI 作為另一個 VI 的子程序 在流程圖中打 開 Functions Select a VI 就可以選擇要調用的子 VI 2 6 1 創(chuàng)建子創(chuàng)建子 VI 創(chuàng)建子 VI 主要的工作就是定義它的圖標和聯(lián)接器圖標和聯(lián)接器 每個 VI 在前面板和流程圖窗口的右上角都顯示了一個默認的圖標 啟動圖標編輯器的 方法是 用鼠標右鍵單擊面板窗口的右上角的默認圖標 在彈出菜單中選擇 Edit Icon 下圖顯示了圖標編輯器的窗口 可以用窗口左邊的各種工具設計像素編輯區(qū)中的圖標 形狀 編輯區(qū)右側的一個方框中顯示了一個實際大小的圖標 圖標編輯器的具體使用細節(jié) 參閱有關資料 圖標編輯器窗口 聯(lián)接器是 VI 數據的輸入輸出接口 如果用面板控制對象或者顯示對象從子 VI 中輸 出或者輸入數據 那么這些對象都需要在聯(lián)接器面板中有一個連線端子 您可以通過選擇 VI 的端子數并為每個端子指定對應的前面板對象以定義聯(lián)接器 定義聯(lián)接器的方法是 用鼠標右鍵單擊面板窗口中的圖標窗口 在快捷菜單中選擇 Show Connector 聯(lián)接器圖標會取代面板窗口右上角的圖標 LabVIEW 自動選擇的端子 連接模式是控制對象的端子位于聯(lián)接器窗口的左邊 顯示對象的端子位于聯(lián)接器窗口右邊 選擇的端子數取決于前面板中控制對象和顯示對象的個數 聯(lián)接器中的各個矩形表示各個端子所在的區(qū)域 可以用它們從 VI 中輸入或者輸出數 據 如果必要 也可以選擇另外一種端子連接模式 方法是在圖標上單擊鼠標右鍵單出快 捷菜單 選擇 Show Connector 再次彈出快捷菜單 選擇 Patterns 下面我們通過一個練 習說明具體操作 例題 目的 創(chuàng)建一個 VI 程序 以便以后作為子 VI 程序使用 任務描述 創(chuàng)建一個 VI 程序模擬溫度測量 假設傳感器輸出電壓與溫度成正比 例如 當 溫度為 70 F 時 傳感器輸出電壓為 0 7V 本程序也可以用攝氏溫度來代替華氏溫度顯示 本程序用軟件代替了 DAQ 數據采集卡 使用隨機函數仿真溫度的電壓 然后把所測 得的電壓值轉換成攝氏或華氏溫度讀數 圖 前面板 流程圖 STEP1 編輯 VI 前面板 1 用 File 菜單的 New 選項打開一個新的前面板窗口 2 把溫度計指示部件放入前面板窗口 1 在前面板窗口的空白處點擊鼠標鍵 然后從彈出的 Numeric 子模板中選擇 Thermometer 2 在高亮的文本框中輸入 溫度計 再點擊鼠標鍵按鈕 3 重新設定溫度計的標尺范圍為 0 0 到 100 0 使用標簽工具 A 雙擊溫度計標尺的 10 0 輸入 100 0 再點擊鼠標鍵或者工具欄中的 V 按鈕 4 在前面板窗口中放入豎直開關控制 1 在面板窗口的空白處點擊鼠標鍵 然后彈出的 Boolean 子模板中選擇 Vertical Switch 在文本框中輸入 溫度值單位 再點擊鼠標鍵或者工具欄中的 V 按鈕 2 使用標簽工具 A 在開關的 條件真 true 位置旁邊輸入自由標簽 攝氏 再在 條件假 false 位置旁邊輸入自由標簽 華氏 框圖程序 1 從 Windows 菜單下選擇 Show Diagram 函數打開框圖程序窗口 2 點擊框圖程序窗口的空白處 彈出函數模板 從彈出的菜單中選擇所需的對象 本程序用到下面的對象 Random Number 0 1 產生 0 1 隨機數函數 Numeric 子模板 產生隨機數 模擬 溫度傳感器輸出的溫度信號電壓 Multiply 乘法 函數 Numeric 子模板 在本例中 將讀取電壓值乘以 100 00 以 獲得華氏溫度 Subtract 減法 函數 Numeric 子模板 在本例中 從華氏溫度中減去 32 0 以轉 換成攝氏溫度 Select 選擇 函數 Comparison 子模板 取決于溫標選擇開關的值 該函數輸出華 氏溫度 當選擇開關為 false 或者攝氏溫度 選擇開關為 True 數值 數值常數 用連線工具 點擊你希望連接一個數值常數的對象 并選擇 Create Constant 函數 若要修改常數值 用標簽工具雙點數值 再寫入新的數值 字符串常量 用連線工具 點擊你希望連接字符串常量的對象 再選擇 Create Constant 函數 要輸入字符串 用標簽工具雙擊字符串 再輸入新的字符串 3 使用移位工具 Positioning tool 把圖標移至圖示的位置 再用連線工具連 接起來 Demo Read Voltage VI 子程序模擬從數據采集卡的 0 通道讀取電壓 我們的程序再將讀數乘以 100 0 轉換成華氏溫度讀 數 或者再把華氏 溫度轉換成攝氏溫度 4 選擇前面板窗口 使之變成當前窗口 并運行 VI 程序 點擊連續(xù)運行按鈕 便 程序運行于連續(xù)運行模式 5 再點擊連續(xù)運行按鈕 關閉連續(xù)運行模式 請記住 如果要顯示圖標接線端口 則點擊圖標 再 從彈出菜單中選擇 Show Terminals 功能 也可以從 Help 菜單中選擇 Show Help 功能以打開幫助信息窗 口 STEP2 創(chuàng)建圖標 Temp 此圖標可以將現程序作為子程序在其他程序中調用 創(chuàng)建方法如下 a 在面板窗口的右上角的圖標框中點擊鼠標 從彈出菜單中選擇 Edit Icon 功能 b 雙點選擇工具 并按下 Delete 鍵 消除缺省的圖標圖案 c 用畫圖工具畫出溫度計的圖標 使用文本工具寫入文字 雙擊文本工具把字體換成 Small Font 當圖標創(chuàng)建完成后 點擊 OK 以關閉圖標編輯 生成的圖標在面板窗口 的右上角 STEP3 創(chuàng)建聯(lián)接器端口 a 點擊右上角的圖標面板 從彈出菜單中選擇 Show Connector 函數 LabVIEW 將會根據控制和顯示的數量選擇一種聯(lián)接器端口模式 在 本例中 只有兩個端口 一個是豎直開關 另一個是溫度指示 b 把聯(lián)接器端口定義給開關和溫度指示 c 使用連線工具 在左邊的聯(lián)接器端口框內按鼠標鍵 則端口將會變 黑 再點擊開關控制件 一個閃爍的虛線框將包圍住該開關 d 現在再點擊右邊的聯(lián)接器端口框 使它變黑 再點擊溫度指示部件 一個閃爍的虛線框將包圍住溫度指示部件 這即表示著右邊的聯(lián) 接器端口對應溫度指示部件的數據輸入 e 如果再點擊空白外 則虛線框將消失 而前面所選擇的聯(lián)接器端口 將變暗 表示你已經將對象部件定義到各個聯(lián)接器端口 以后我們會講到如何使用 SubVI From Selection 功能來創(chuàng)建子程序 SubVI STEP4 保存子 vi 確認當前文件的程序庫路徑為 Seminar LLB 用文件菜單的 SAVE 函數保存上述文件 并將 注意 在用鼠標畫線時按下鍵 則可以畫出水平或垂直方向的連線 注意 LabVIEW 的慣例是前面板上控制的聯(lián)接器端 口放在圖標的接線面板的左邊 而顯示的聯(lián)接器端 口放在圖標的接線面板的右邊 也就是說 圖標的 左邊為輸入端口而右邊為輸出端口 文件命名為 Thermometer Vi 現在 該程序已經編制完成了 它可以在其他程序中作為子程序來調用 在 其它程序的框圖窗口里 該溫度計程序用前面創(chuàng)建的圖標來表示 聯(lián)接器端口的 輸入端用于選擇溫度單位 輸出端用于輸出溫度值 6 關閉該程序 練習結束 建議 將所創(chuàng)建的子 VI 保存在目錄下而不是保存在庫文件中 盡管在稱為 VI 庫的單 個文件中能夠保存多個 VI 但我們不希望這樣做 將 VI 保存為單個文件是最有效的存儲 方式 因為這樣在復制 重新命名和刪除文件時比使用 VI 庫時要容易些 與其他目錄一樣 VI 庫文件可以裝入 保存和打開 但不是分層的 不能在 VI 庫內創(chuàng) 建另一個 VI 庫 也不能在 VI 庫內創(chuàng)建新目錄 VI 庫文件創(chuàng)建后 當其出現在文件對話框 中時 其圖標將與 VI 文件圖標略有不同 2 7調用子調用子 VI 在任意一個 VI 程序的框圖窗口里 都可以把其他的 VI 程序作為子程序調用 只要被 調用 VI 程序定義了圖標和聯(lián)接器端口即可 用戶使用函數模板的 Select a VI 來完成 當使用該函數時 將彈出一個對話框 用戶 可以輸入文件名 一個子 VI 程序 相當于普通程序的子程序 節(jié)點相當于子程序調用 子程序節(jié)點并 不是子程序本身 就象一般程序的子程序調用語句并不是子程序本身一樣 如果在一個框 圖程序中 有幾個相同的子程序節(jié)點 它就象多次調用相同的子程序 請注意 該子程序 的拷貝并不會在內存中存儲多次 單元單元 3 結構控制程序設計結構控制程序設計 本章介紹 LABVIEW 為用戶提供的程序結構 內容包括 while loop for loop 兩種循環(huán) 結構 移位寄存器和反饋節(jié)點 分支結構 順序結構 公式節(jié)點 事件結構 全局變量與局部 變量 菜單等 學習目標 學習 while 循環(huán)和 for 循環(huán)結構 學習 chart 的多種顯示模式及其屬性的靜態(tài)設置 建立移位寄存器的概念 學習移位寄存器的應用 學習 case 選擇結構 掌握分支結構程序的設計 學習 sequence 結構 掌握程序順序的控制方法 3 13 1 While loop 結構與結構與 chart 圖表圖表 3 1 1While loop 結構 While loop 是 LABVIEW 的基本循環(huán)結構之一 類似于 C 語言中的 do while 循環(huán)結構 do 循環(huán)體 while 條件判斷 while loop 可以反復執(zhí)行循環(huán)內的框圖程序 直到條件不滿足 循環(huán)停止 While loop 可以從 function 模板中 structure 子模板中創(chuàng)建 創(chuàng)建方法是 從 functions tructure 選擇 while loop 圖標 放置在 block diagrame 窗口 While LOOP 可以反復執(zhí)行循環(huán)體的程序 直至特定的條件不滿足 才停止循環(huán) 該循 環(huán)有如下特點 計數從 0 開始 i 0 先執(zhí)行循環(huán)體 而后 i 1 如果循環(huán)只執(zhí)行一次 那么循環(huán)輸出值 i 0 循環(huán)至少要運行一次 圖 3 While 循環(huán)示意圖 3 1 2 While loop 應用示例 例題例題 3 13 1 使用使用 WhileWhile 循環(huán)顯示隨機序列循環(huán)顯示隨機序列 創(chuàng)建一個可以產生并在圖表中顯示隨機數的 VI 前面板有一個控制旋鈕可在 0 到 10 秒之間調節(jié)循環(huán)時間 還有一個開關可以中止 VI 的運行 操作步驟如下 1 前面板 圖 練習 的前面板 1 選擇 File NewFile New 打開一個新的前面板 2 選擇 Controls BooleanControls Boolean 在前面板中放置一個開關 設置開關的標簽為控制開關 3 使用標簽工具創(chuàng)建 ON 和 OFF 的標簽 放置于開關旁 4 選中 ControlsControls GraphGraph 在前面板中放置一個波形圖 是 chart 而不是 graph 設置它的標簽為隨機信號 這個圖表用于實時顯示隨機數 5 把圖表的縱坐標改為 0 0 到 1 0 方法是用標簽工具把最大值從 10 0 改為 1 0 6 選擇 Controls NumericControls Numeric 在前面板中放置一個旋鈕 設置旋鈕的標簽為循環(huán)延時 這個旋鈕用于控制 While 循環(huán)的循環(huán)時間 2 流程圖 在流程圖窗口 按照下圖創(chuàng)建 圖 練習 的流程圖 1 從 Functions StructuresFunctions Structures 中選擇 While 循環(huán) 把它放置在流程圖中 將其拖至適 當大小 將相關對象移到循環(huán)圈內 2 從 Functions Functions NumeriNumeric 中選擇隨機數 0 1 功能函數放到循環(huán)內 3 在循環(huán)中設置 WaitWait UntilUntil NextNext msms MultipleMultiple 函數 Functions TimeFunctions Time I 0 then Square Root Value SQRT Number else Square Root Value 999 00 Display Message Error end if 例題 用數字控件選擇一個四選一的 目的 如何用數字型控件構成選擇結構 練習練習 結束 結束 例題 3 用枚舉型控件選擇 目的 1 學習用枚舉控件實現 case 結構 2 理解 case whole Loop 結構的功能 工業(yè)案例 工業(yè)案例 修改 temperature running average vi 使它能夠檢測什么時候溫度超出范圍 如 果溫度超出設定的界限 前面板上的 LED 將發(fā)亮 并且發(fā)出間歇報警聲音 ViVi 的創(chuàng)建的創(chuàng)建 圖 溫度報警程序的前面板 1 打開 temperature running average vi 文件 修改圖所示的前面板 Upper limit 規(guī)定了溫度上限 如果溫度超出了上限時 normally 指示燈亮 warning 指 示燈滅 2 修改框圖程序 A D C B 溫度報警程序的框圖程序 1 溫度報警程序的框圖程序 2 in range and coerce 函數 function compaarison 其功能是判斷 X 是否在上限值和下限制的范圍內 如果 X 在范 圍內 in range 輸出布爾值 1 如果 X 超范圍 in range 輸出布爾值 0 beep 函數 function graphs 結尾 公式節(jié)點的幫助窗口中列出了可供公式節(jié)點使用的操作符 函數和語法規(guī)定 一般說來 它與 C 語言非常相似 大體上一個用 C 寫的獨立的程序塊都可能用到公式節(jié)點中 但是仍 然建議不要在一個公式節(jié)點中寫過于復雜的代碼程序 下面這個例子顯示了如何在一個公式節(jié)點中執(zhí)行不同條件時的數據發(fā)送 請閱讀下面這段程序代碼 如果 X 為正數 它將算出 X 的平方根并把該值賦給 Y 如果 X 為負數 程序就給 Y 賦值 99 if x 0 then y sqrt x else y 99 end if 可以用公式節(jié)點取代上面這段代碼 如下圖所示 注意 公式節(jié)點中變量字母 X Y 大 小寫是有區(qū)別的 開方的函數 sqrt X 中函數名稱是 小寫 練習練習 2 62 6 使用公式節(jié)點使用公式節(jié)點 目的 創(chuàng)建一個VI 它用公式節(jié)點計算下列等式 y1 x3 x 2 5 y2 m x b x 的范圍是從 0 到 10 可以對這兩個公式使用同一個公式節(jié)點 并在同一個圖表中顯示結 果 前面板 圖 練習 的面板 打開一個新的前面板 按照上圖 該圖中包含運行結果 創(chuàng)建前面板中的對象 波形圖顯 示對象用于顯示等式的圖形 該 VI 使用兩個數字式控制對象來輸入 m 和 b 的值 流程圖 1 按照下圖創(chuàng)建流程圖 圖 練習 的流程圖 2 在創(chuàng)建某個輸入或者輸出端子時 必須給它指定一個變量名 這個變量名必須與公式 節(jié)點中使用的變量名完全相符 3 公式節(jié)點中 在邊框上單擊鼠標右鍵 在快捷菜單中選擇 Add Input 可以創(chuàng)建三個 輸入端子 在快捷菜單中選擇 Add Output 創(chuàng)建輸出端子 4 x 的范圍是從 0 到 10 包括 10 就必須連接 11 到計數端子 5 Build Array Functions ArrayFunctions Array 在這個例子中 它用于將兩個數 據構成數組形式提供給一個多曲線的圖形中 通過用變形工具拖拉邊角就 可以創(chuàng)建兩個輸入端子 6 返回前面板 嘗試給 m 和 b 賦以不同的值再執(zhí)行該 VI 7 7 把該 VI 保存為 LabVIEW ActivityLabVIEW Activity 目錄下的 Equations vi 8 8 練習練習 2 62 6 結束 結束 本部分參考資料 1 LBVIEW 基礎教程 汪敏生等譯著 2 LABVIEW7 1 編程與虛擬儀器設計 侯國屏 王坤 葉齊鑫編譯 3 Labview 7 雷振山等 4 Labview 入門與虛擬儀器 張愛平 5 Labview basic 1 NI 技術培訓教材 單元單元 4 數組 數組 array 和圖形 和圖形 graphs 程序設計 程序設計 本章介紹數組 array 簇 cluster 和波形圖 graphs 及有關自動索引的基本概念 并 提供例程序 討論分析數組和簇 波形圖的應用 4 1 數組 數組 array 數組是同類型元素的集合 一個數組可以是一維或者多維 如果必要 每維最多可有 231 1 個元素 可以通過數組索引訪問其中的每個元素 索引的范圍是 0 到n 1 其中 n 是數組中元素的個數 圖 4 一維數組示意圖 圖 所顯示的是由數值構成的一維數組 注意第一個元素的索引號為 0 第二 個是 1 依此類推 數組的元素可以是數據 字符串等 但所有元素的數據類型必須一致 4 1 1 創(chuàng)建數組及自動索引數組 1 創(chuàng)建數組 一般說來 創(chuàng)建一個數組有兩件事要做 首先要建一個數組的 殼 shell 然后在 這個殼中置入數組元素 數或字符串等 如果需要用一個數組作為程序的數據源 可以選擇 Functions Array ArrayFunctions Array Array ConstantConstant 將它放置在流程圖中 然后再在數組框中放置數值常量 布爾數還是字符串常 量 下圖顯示了在數組框放入字符串常量數組的例子 左邊是一個數組殼 中間的圖上已 經置入了字符串元素 右邊的圖反映了數組的第 個元素為 ABC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年企業(yè)用車借用協(xié)議范本3篇
- 2025年度文化旅游融合項目投資借款協(xié)議
- 買賣合同第三方保證擔保合同(2024版)
- 二零二五年度旅行社旅游培訓合作合同4篇
- 2025年度女方婚內出軌離婚財產分割及贍養(yǎng)費協(xié)議
- 2025年度個人商鋪租賃合同能源消耗監(jiān)測與管理合同4篇
- 2025年度個人與企業(yè)間特殊用途車輛租賃合同3篇
- 二零二五年度農民工勞動保護補貼發(fā)放合同標準
- 2024苗木運輸合同范本全面規(guī)范運輸過程中的風險防控3篇
- 二零二五年度加油站LED廣告屏安裝裝修合同3篇
- 北師大版小學三年級上冊數學第五單元《周長》測試卷(含答案)
- DB45T 1950-2019 對葉百部生產技術規(guī)程
- 資源枯竭型城市的轉型發(fā)展 課件 2024-2025學年高二上學期地理人教版選擇性必修2
- 2025屆河北省衡水市衡水中學高考仿真模擬英語試卷含解析
- 新修訂《保密法》知識考試題及答案
- 電工基礎知識培訓課程
- 住宅樓安全性檢測鑒定方案
- 廣東省潮州市潮安區(qū)2023-2024學年五年級上學期期末考試數學試題
- 市政道路及設施零星養(yǎng)護服務技術方案(技術標)
- 選擇性必修一 期末綜合測試(二)(解析版)2021-2022學年人教版(2019)高二數學選修一
- 《論語》學而篇-第一課件
評論
0/150
提交評論