本書涉及的內容除了LabVIEW的基本編程概念和方法之外,還有大量的章節(jié)討論DAQ的使用及LabVIEW的應用。全書共分13章,內容包括while循環(huán)與波形圖、for循環(huán)與波形圖、MathScript模型與XY圖、DAQ輔助數據采集、數據文件與字符串、移位寄存器、case結構、數據獨立性與序列結構、vi分析、使用DAQmx vi的數據采集與生成、PID溫度控制項目、獨立儀器控制等。
*通過動手學習的方法來獲得在日常實驗中基于計算機的編程技巧。
*通過使用強大的實驗工具來實現有趣的項目,引導讀者逐步掌握LabVIEW。
*本書的內容可以靈活選擇閱讀,這樣讀者可以根據自己需要來選擇學習的范圍和深度。
本書提供了一種通過動手學習的方法來獲得在日常實驗中基于計算機的編程技巧。這本書并不是一本LabVIEW手冊,它通過使用這個強大的實驗工具實現有趣并相關的項目來引導讀者掌握LabVIEW。本書假定讀者并不具備計算機編程的經驗或LabVIEW背景,通過前幾頁的閱讀就可以編寫出有意義的程序。
本書可以作為大學相關實驗課程的指導教材,也可以作為科研人員的自學讀物。這本書設計成可以靈活使用,這樣讀者可以根據自己意愿來選擇閱讀的范圍和深度。開始的4章奠定了學習的基礎,這些內容適合所有的讀者,主要圍繞LabVIEW編程的基礎和使用NI(美國國家儀器有限公司)的DAQ(數據采集)設備來進行基于計算機的實驗而展開的。這些章節(jié)可用于講解基于LabVIEW的數據采集課程(3周左右的時間)。后面的章節(jié)則盡可能獨立,以使教師或自學者按照需求來組織教學與學習過程。通過學習本書,可以使讀者在基于計算機的數據采集和分析方面達到中級水平。
本書包括如下的主題:
●第1章~第3章:LabVIEW圖形編程語言基礎。LabVIEW的核心特性包括控制循環(huán)結構、圖形顯示、數學函數及基于文本的MathScript命令,并且完成一個數字化波形的仿真程序。
●第4章:基本的數據采集。包括:數字采樣的概念,如分辨率、采樣頻率及混疊;接著使用LabVIEW的高層ExpressVI,在NIDAQ設備上編寫并運行了模數變換、數模變換、數字輸入/輸出程序;建立了基于計算機的儀器,例如DC(直流)電壓計、數字示波器、DC電壓源、波形發(fā)生器及閃爍的LED陣列。
●第5章~第8章:更多的LabVIEW編程基礎。包括:數據文件的輸入/輸出實現、局部存儲、條件分支,同時完成了一些有用的程序,例如電子表格存儲,數字積分和微分;還學習了用于計算機編程的LabVIEW控制流方法。
●第9章~第10章:數據分析。研究了LabVIEW的曲線擬合和快速傅里葉變換的合理使用。使用ExpressVI來控制一個DAQ設備,建立了兩個基于計算機的儀器——一個數字溫度計和一個頻譜分析儀。
●第11章:中級的數據采集。使用傳統(tǒng)的DAQmx編寫了模數變換、數模變換、數字計數器的程序。與之前的高層ExpressVI相比,這種底層的方法可以利用DAQ設備的所有特性。建立了一個DC電壓計、DC電壓源、頻率計,還基于狀態(tài)機構架建立了一個復雜的數字示波器。
●第12章:溫度控制項目。使用了大量的從本書獲得的LabVIEW技巧構造了一個比例積分微分(PID)溫度控制系統(tǒng)。附錄A給出了一個本項目所需的硬件設計。
●第13章:獨立儀器的控制。使用LabVIEW的VISA驅動,研究通過GPIB(通用儀器總線)和USB控制一個獨立儀器。使用一臺Agilent34410A數字萬用表演示了在PC和獨立儀器之間的接口總線通信的基本概念。本書的關鍵特性包括:強調解決現實世界的問題;方便地介紹數據采集硬件的使用;每章結束都有一個DIY項目;每章都有適當的練習。
現實世界的問題解決:每章的主題和練習都提供了科學家和工程師在實驗室中是如何解決經常碰到的問題的示例。在解決這些問題的過程中介紹了LabVIEW的特性及相關的數學背景,所提供的“最實用”的策略(比如模塊化和數據獨立性)使讀者可以最優(yōu)化他們的LabVIEW應用。
貫穿始終的數據采集應用:LabVIEW的ExpressVI使得涉及DAQ硬件的練習可以比較早且規(guī)律地出現在本書中。ExpressVI將常用的測量任務打包在一個單一的圖標中,這樣讀者可以用最少的付出就可以寫出程序。緊跟著本書開始僅使用軟件的有關LabVIEW基礎的三章,第4章使用了DAQ設備進行數據采集。對于一個僅愿意花大約3周時間來了解基于計算機的數據采集的教師或自學者來說,第1章~第4章提供了所需的全部內容。對于那些計劃更深入學習LabVIEW的讀者來說,基于ExpressVI分別在第9章和第10章構建了一個基于計算機的數字溫度計和頻譜分析儀。第11章介紹了使用更高級的DAQmx圖標來控制一個DAQ設備。與ExpressVI相比,DAQmx圖標可以使用戶利用DAQ設備的所有特性。在第12章中,讀者使用一個DAQ設備精確地控制一個鋁塊的溫度。在第13章,通過GPIB和USB接口總線,從一個遠端的獨立儀器中獲取數據。
自己動手項目:為了讓讀者可以確定他對本書內容的了解程度,每章的末尾都有一個自己動手項目。每一個項目都提出了一個有趣的問題,并粗略地指導讀者應用本章的材料去找到一個解法。在某些章節(jié)中,這個項目包括編寫一個模擬秒表的程序(第1章),或者測量一個人的反應時間(第8章);在其他章節(jié)中,讀者需要構造一個基于計算機的儀器,如數字溫度計(第9章)、頻譜分析儀(第10章)和頻率計(第11章)。
每章結束前的習題:每章結束前都有一些作業(yè)式的練習,這樣有興趣的讀者可以進一步加強他們的LabVIEW技巧。在一些習題中,讀者通過將本章的主題應用到其他領域(如伯德圖)來測試他們的理解程度。在其他習題中,讀者需要編寫程序來探究重要的實驗要點(如FFT的頻率分辨率)。最后,很多習題將給讀者介紹一些本書沒有涵蓋的LabVIEW相關特性(如二進制的數據存儲)。
第二版的新特性
新版本包含如下的提升之處:
●所有的章節(jié)都更新到LabVIEW的最新版本。這一版解釋了新的探針觀察窗口(ProbeWatchWindow,第2章)和圖標編輯器(第3章)的功能。
●覆蓋了MathScript節(jié)點的在線幫助,以及基于數據類型的自動整理格式功能(第3章)。
●強調使用低成本的DAQ硬件,它通常用于指導性的實驗和自學中,包括USB6009、myDAQ、PCI6251和ELVISII(第4章)。
●每章開始的“快速舉例”小節(jié)簡單地介紹了MathScript節(jié)點、移位寄存器和條件結構(第3、6、7章)。
●在早期的章節(jié)中介紹了屬性節(jié)點(第7章)。
●使用最新的Agilent34410A數字計數器來實現GPIB和USB的儀器控制。這種控制方法也適用于老的Agilent34401A數字計數器(第13章)。
●作為對老師設計課程的一個幫助,本書提供了一個將以前的程序變成一個例程的引用部分(附錄B)。
●有每章習題的偶數題目的答案,對采用本書作為教材的教師,全部習題答案可以從牛津大學出版社獲取教輔獲取方式請聯系。本書對于LabVIEW的完全版和學生版都是適用的。教師可以考慮引導學生購買低成本的學生版軟件(學生版可以用很低的價格買到,不需要購買非常昂貴的一個軟件包)。有了自己的LabVIEW軟件,學生可以在計算機上完成與硬件無關章節(jié)的學習和作為課外作業(yè)的章節(jié)習題。
per及NI公司的MarkWalters和AdamFoster的建議與幫助。還要感謝如下評論者提供的有幫助的建議:GeoffreyBrooks,佛羅里達州立大學
EricLandahl,德保羅大學
MarkBudnik,瓦爾帕萊索大學
JedMarquart,北俄亥俄大學
ShannonCiston,紐黑文大學
CaseyMiller,南佛羅里達大學
JuanI.Collar,芝加哥大學
DavidRoach,
鄧科,副教授,1996年獲西北工業(yè)大學工業(yè)管理工程專業(yè)學士學位,1999年獲西安交通大學通信與信息系統(tǒng)專業(yè)碩士學位; 2004年獲西安交通大學通信與信息系統(tǒng)專業(yè)博士學位;2007年被聘為副教授。多年來一直從事移動通信、陣列信號處理、智能天線技術和移動通信系統(tǒng)等方面的科研工作。近年來主持國家自然科學基金2項,陜西省自然科學基金1項,參與了國家“863”課題5項,其中有3項評為Ab,1項評為Aa(特優(yōu))。申請者作為論文**作者共發(fā)表學術論文17篇,其中有10余篇被SCI/EI收錄。 John Essick是里德學院的David W. Brauer物理教授。從1993年開始,他就在講授《使用LabVIEW的基于計算機的實驗》這一課程,它也作為里德高級實驗課程的一部分。
第1章While循環(huán)和波形圖表
1.1LabVIEW編程環(huán)境
1.2使用While循環(huán)和波形圖表繪制正弦波
1.3編輯程序框圖
1.4LabVIEW幫助窗口
1.5前面板編輯
1.6快捷菜單
1.7完成編程
1.8程序執(zhí)行
1.9程序改進
1.10數據類型的表示
1.11自動生成特征
1.12保存程序
自己動手
習題
第2章For循環(huán)和波形圖
2.1For循環(huán)基礎
2.2使用For循環(huán)和波形圖繪制正弦波
2.3波形圖
2.4所屬標簽和自由標簽
2.5使用For循環(huán)創(chuàng)建正弦波
2.6復制程序框圖的圖標
2.7自動索引功能
2.8運行VI
2.9波形圖x軸的校準
2.10使用While循環(huán)和波形圖繪制正弦波
2.11數組顯示控件和探針觀察窗口
自己動手
習題
第3章MathScript節(jié)點和XY圖
3.1MathScript節(jié)點基礎
3.2MathScript節(jié)點使用示例:繪制正弦波
3.3根據錯誤列表調試
3.4運用MathScript節(jié)點和XY圖進行波形仿真
3.5創(chuàng)建一個xy簇
3.6運行VI
3.7MathScript交互窗口
3.8為WaveformSimulator添加形狀選項
3.9枚舉類型控件
3.10完成程序框圖
3.11運行VI
3.12控件和指示簇
3.13用圖標編輯器創(chuàng)建一個圖標
3.14設計圖標
3.15接線端分配
自己動手
習題
第4章使用DAQ助手實現數據采集
4.1數據采集VI
4.2數據采集硬件
4.3模擬輸入模式
4.4范圍與分辨率
4.5采樣頻率與混疊效應
4.6測量及自動化瀏覽器(MAX)
4.7在直流電壓下簡單地模擬輸入操作
4.8數字示波器
4.9模擬輸出
4.10直流電壓源
4.11軟件定時的正弦波發(fā)生器
4.12硬件定時的波形發(fā)生器
4.13在框圖上放置一個定制的VI
4.14完成并執(zhí)行WaveformGenerator(Express)
4.15改進的波形發(fā)生器
自己動手
習題
第5章數據文件與字符串
5.1ASCII文本與二進制數據文件
5.2在電子數據表格的格式文件中存儲數據
5.3存儲一維數據數組
5.4轉置選項
5.5存儲二維數據數組
5.6控制存儲數據格式
5.7路徑常量與平臺可移植性
5.8基本文件I/O VI
5.9為一個電子表格文件添加文本標簽
5.10反斜杠碼(轉義碼)
自己動手
習題
第6章移位寄存器
6.1移位寄存器
6.2快速移位寄存器示例:整數相加
6.3使用移位寄存器的數值積分和微分
6.4冪函數模擬器VI
6.5使用梯形法則的數值積分
6.6使用單個寄存器的梯形法則VI
6.7梯形法則的收斂性
6.8使用多個移位寄存器的數值微分
6.9模塊化和自動子VI創(chuàng)建
自己動手
習題
第7章條件結構
7.1條件結構的基礎知識
7.2有關快速條件結構的示例:使用屬性節(jié)點的運行時選項
7.3使用條件結構的數值積分
7.4基于辛普森準則的數值積分
7.5使用布爾條件結構的校驗因子
7.6使用數值條件結構的部分和之和程序
7.7使用布爾條件結構的梯形法則貢獻
7.8頂層的VI――Simpson'sRule
7.9梯形法則和辛普森準則之間的對比
自己動手
習題
第8章數據依賴性和順序結構
8.1數據依賴性和順序結構基礎
8.2使用順序結構的事件計時器
8.3使用數據依賴性的事件計時器
8.4高亮執(zhí)行
自己動手
習題
第9章分析VI:曲線擬合
9.1熱敏電阻阻抗溫度數據文件
9.2使用熱敏電阻的溫度測量
9.3線性最小二乘法
9.4使用前面板控件將數據輸入到VI
9.5通過從磁盤讀取文件將數據輸入到VI
9.6切分多維數組
9.7使用線性最小二乘法的曲線擬合
9.8殘差圖
自己動手
習題
第10章分析VI:快速傅里葉變換
10.1傅里葉變換
10.2離散采樣和奈奎斯特頻率
10.3離散傅里葉變換
10.4快速傅里葉變換
10.5頻率計算器VI
10.6正弦信號的FFT
10.7將FFT應用到多種正弦輸入
10.8復值幅度的模
10.9觀察(頻譜)泄漏
10.10泄漏的分析
10.11使用卷積理論描述泄漏
10.12加窗
10.13估計頻率和幅度
10.14混疊
自己動手
習題
第11章數據采集與使用DAQmxVI產生數據
11.1DAQmxVI
11.2直流電壓下簡單的模擬輸入操作
11.3數字示波器
11.4ExpressVI自動代碼生成
11.5ExpressVI的限制
11.6使用狀態(tài)機架構來改善數字示波器
11.7模擬輸出操作
11.8波形發(fā)生器
自己動手
習題
第12章PID溫度控制項目
12.1電熱設備的基于電壓控制的雙向電流驅動
12.2PID溫度控制算法
12.3PID溫度控制系統(tǒng)第13章獨立儀器的控制
13.1使用VISAVI來進行儀器控制
13.2VISA會話
13.3IEEE488.2標準
13.4通用的命令
13.5狀態(tài)報告
13.6設備特有的命令
13.7本章所用的特有硬件
13.8測量及自動化瀏覽器(MAX)
13.9簡單的基于VISA的查詢操作
13.10消息結束
13.11使用屬性節(jié)點來獲得和設置通信屬性
13.12在接口總線上測量
13.13同步方法
13.14基于串行池方法的測量VI
13.15基于服務請求方法的測量VI
13.16創(chuàng)建一個儀器驅動
13.17使用儀器驅動來編寫一個應用程序
自己動手
習題
附錄A溫度控制系統(tǒng)的構建
附錄B程序交叉索引表