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