本書介紹虛擬儀器技術(shù) LabVIEW 編程平臺(tái)的編程方法、編程技術(shù)以及系統(tǒng)架構(gòu)方法。第1章和第2 章介紹 LabVIEW 基本環(huán)境的安裝、程序?qū)崿F(xiàn)及調(diào)試方法;第3章至第5章介紹 LabVIEW 的數(shù)據(jù)類型、邏 輯結(jié)構(gòu)以及數(shù)組、簇等進(jìn)階數(shù)據(jù)類型;第6章和第7章介紹文件讀取與硬件設(shè)備的數(shù)據(jù)采集;第8章和第9 章介紹 LabVIEW 項(xiàng)目實(shí)現(xiàn)的方法,包含項(xiàng)目管理工具、LabVIEW 項(xiàng)目設(shè)計(jì)架構(gòu),并且通過萬用表校準(zhǔn)的 項(xiàng)目詳細(xì)地介紹通過 LabVIEW 進(jìn)行項(xiàng)目設(shè)計(jì)的過程。 本書可以作為高等院校測(cè)量技術(shù)、通信、自動(dòng)控制等相關(guān)課程的教材和參考書,也可以作為相關(guān)工程 技術(shù)人員的自學(xué)參考書。
隨著半導(dǎo)體與計(jì)算機(jī)技術(shù)的不斷發(fā)展,工業(yè)領(lǐng)域面臨技術(shù)更新加快、系統(tǒng)需求日益復(fù)雜的挑戰(zhàn),虛擬儀器技術(shù)可以更高效地幫助工程師和科學(xué)家進(jìn)行系統(tǒng)搭建和項(xiàng)目實(shí)現(xiàn)。目前,虛擬儀器技術(shù)在科研、軍工、航空航天、機(jī)器人、智能制造等領(lǐng)域都得到了廣泛的應(yīng)用。廣大高等院校也開設(shè)了虛擬儀器相關(guān)課程。為滿足廣大讀者對(duì)于虛擬儀器技術(shù)的應(yīng)用需求,作者編著了本書。本書從應(yīng)用角度出發(fā),通過大量具體案例對(duì)虛擬儀器技術(shù)進(jìn)行系統(tǒng)性的論述,幫助讀者形成關(guān)于虛擬儀器技術(shù)應(yīng)用全面的知識(shí)體系。
《LabVIEW虛擬儀器設(shè)計(jì)指南》為讀者呈現(xiàn)了學(xué)習(xí)虛擬儀器技術(shù)過程中關(guān)心的理論、技術(shù)與應(yīng)用:
? LabVIEW 的版本管理以及工具包的安裝管理;
? LabVIEW的數(shù)據(jù)結(jié)構(gòu)和邏輯結(jié)構(gòu);
? LabVIEW的程序調(diào)試工具與方法;
? LabVIEW的多線程以及數(shù)據(jù)流技術(shù);
? LabVIEW的高級(jí)編程架構(gòu);
? LabVIEW從系統(tǒng)到模塊的項(xiàng)目設(shè)計(jì)實(shí)例。
配套 教學(xué)課件 微課視頻 程序代碼。
虛擬儀器技術(shù)誕生于20世紀(jì)80年代,在測(cè)試測(cè)量以及控制領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用。隨著科技的不斷發(fā)展,虛擬儀器技術(shù)應(yīng)用的領(lǐng)域也在不斷擴(kuò)展,如當(dāng)下熱門的5G通信、工業(yè)物聯(lián)網(wǎng)、人工智能等都有虛擬儀器技術(shù)的應(yīng)用。
編者所在課題組一直從事面向國(guó)家重大需求的測(cè)控系統(tǒng)研發(fā),使用虛擬儀器技術(shù)進(jìn)行測(cè)控系統(tǒng)的開發(fā)設(shè)計(jì)已經(jīng)有幾十年的時(shí)間,積累了大量的實(shí)際操作經(jīng)驗(yàn),也是全國(guó)高校中較早開展虛擬儀器教學(xué)的團(tuán)隊(duì)。本著規(guī)格嚴(yán)格,功夫到家的校訓(xùn),在進(jìn)行人才培養(yǎng)的過程中,十分注重讓學(xué)生更快地掌握虛擬儀器這門技術(shù),并且作為人才儲(chǔ)備進(jìn)入實(shí)際的科研課題進(jìn)行項(xiàng)目設(shè)計(jì)。為此,我們?cè)谡n程設(shè)計(jì)中十分注重基于項(xiàng)目的模式,通過實(shí)際的動(dòng)手操作加強(qiáng)學(xué)生對(duì)技術(shù)的掌握。
2010年底,為了更好地培養(yǎng)虛擬儀器技術(shù)人才、提供優(yōu)良的項(xiàng)目實(shí)踐條件,哈爾濱工業(yè)大學(xué)與美國(guó)國(guó)家儀器有限公司合作共建了虛擬儀器創(chuàng)新實(shí)踐基地,建立了數(shù)據(jù)采集、嵌入式平臺(tái)、PXI工業(yè)總線、機(jī)器視覺、口袋實(shí)驗(yàn)室等全產(chǎn)品線的虛擬儀器軟硬件平臺(tái)。實(shí)踐基地面向全校師生開放,并通過舉辦全國(guó)研究生暑期學(xué)校等活動(dòng)面向全國(guó)師生開放。作為平臺(tái)的輔助環(huán)節(jié),學(xué)校先后成立了學(xué)生虛擬儀器技術(shù)協(xié)會(huì),承辦了多次校級(jí)虛擬儀器設(shè)計(jì)大賽,并在2015年以虛擬儀器創(chuàng)新實(shí)踐基地為核心,承辦了第三屆全國(guó)虛擬儀器大賽,迎接了來自全國(guó)近400所學(xué)校的1876支隊(duì)伍。
通過虛擬儀器創(chuàng)新實(shí)踐基地的培養(yǎng),每年都為學(xué)校相關(guān)課題組輸送大量技術(shù)人才,也為美國(guó)國(guó)家儀器有限公司輸送專業(yè)技術(shù)人員(占全國(guó)招聘人員總數(shù)的20%以上)。
經(jīng)過多年項(xiàng)目開發(fā)和人才培養(yǎng)的經(jīng)驗(yàn)積累,課題組總結(jié)出了具有哈爾濱工業(yè)大學(xué)實(shí)干精神的一套技術(shù)培養(yǎng)方法,匯總成這本《LabVIEW虛擬儀器設(shè)計(jì)指南》。北京優(yōu)諾智奇科技有限公司的劉洋先生也一同編寫了此書,劉洋先生曾在美國(guó)國(guó)家儀器有限公司負(fù)責(zé)中國(guó)區(qū)院校計(jì)劃十余年,常年支持國(guó)內(nèi)各大高校的虛擬儀器技術(shù)相關(guān)課程建設(shè),建立了幾十個(gè)虛擬儀器俱樂部和上百個(gè)教學(xué)實(shí)驗(yàn)室,同時(shí)是多所學(xué)校的企業(yè)導(dǎo)師,對(duì)虛擬儀器技術(shù)如何幫助學(xué)生提升工程實(shí)踐能力有著豐富的經(jīng)驗(yàn)。
魏德寶老師編寫了本書的第1章至第3章,吳艷老師編寫了第4章至第6章,付寧老師編寫了第7章和第8章,劉洋先生編寫了第9章。
本書從實(shí)際應(yīng)用的角度對(duì)虛擬儀器技術(shù)的學(xué)習(xí)路徑進(jìn)行設(shè)計(jì)和編排,如在第1章介紹LabVIEW的軟件版本管理、工具包和模塊的安裝以及第三方工具包的安裝和管理; 在第8章對(duì)項(xiàng)目文件管理、依賴關(guān)系、軟件發(fā)布和編程設(shè)計(jì)架構(gòu)進(jìn)行了詳盡的介紹。這些在其他已出版的相關(guān)書籍中都鮮有提及,但是在實(shí)際項(xiàng)目開發(fā)中卻非常重要。
本書在知識(shí)點(diǎn)的呈現(xiàn)中力求做到對(duì)技術(shù)的直觀和深入講解。在編寫的過程中得到了美國(guó)國(guó)家儀器有限公司研發(fā)部門的技術(shù)支持,從軟件架構(gòu)的角度深入淺出地介紹了虛擬儀器技術(shù)以及背后的實(shí)現(xiàn)機(jī)制,使技術(shù)的講解和實(shí)現(xiàn)更加深入和透徹。為了使知識(shí)點(diǎn)更易于理解也更加直觀,本書并沒有限于單純的技術(shù)講解,而是通過具體的程序?qū)崿F(xiàn)過程來展示。針對(duì)一些不易理解和容易混淆的知識(shí)點(diǎn),則會(huì)對(duì)程序進(jìn)行深入的調(diào)試和講解,并且比較了在不同條件下的運(yùn)行機(jī)制和運(yùn)行結(jié)果,同時(shí)也介紹了在實(shí)際工業(yè)應(yīng)用中的效果。
本書十分注重講解和實(shí)際操作的融合,只有實(shí)際動(dòng)手操作才能真正地掌握技術(shù)。本書原創(chuàng)性地設(shè)計(jì)了近300個(gè)范例程序用于講解對(duì)應(yīng)的知識(shí)點(diǎn),在對(duì)每個(gè)知識(shí)點(diǎn)范例講解的過程中,詳細(xì)地描述了操作的步驟,對(duì)于一些首次操作的步驟更是提供了特別的講解。讀者可以在閱讀過程中按照書中步驟同步進(jìn)行操作。本書中全部的知識(shí)點(diǎn)都有對(duì)應(yīng)的范例,可以作為讀者學(xué)習(xí)過程中操作的練習(xí)資料。
本書特別注重知識(shí)點(diǎn)相互間的銜接。每章都包含了十幾個(gè)到幾十個(gè)小型范例,這些范例程序從每章開始會(huì)逐步針對(duì)每個(gè)知識(shí)點(diǎn)進(jìn)行講解,每個(gè)范例都是在上一個(gè)范例的基礎(chǔ)上實(shí)現(xiàn)新的功能,在每章后所有范例匯總在一起形成一個(gè)較為完整的小型項(xiàng)目。這樣可以使讀者更加清晰地了解各個(gè)知識(shí)點(diǎn)在項(xiàng)目應(yīng)用中是如何相互銜接的,終進(jìn)行完整的項(xiàng)目設(shè)計(jì)。
本書針對(duì)使用虛擬儀器技術(shù)進(jìn)行項(xiàng)目式設(shè)計(jì)的需求專門設(shè)計(jì)了第9章。根據(jù)真實(shí)項(xiàng)目設(shè)計(jì)的過程,依次從項(xiàng)目背景分析、項(xiàng)目需求分析,設(shè)計(jì)了項(xiàng)目實(shí)現(xiàn)的整體架構(gòu)和各個(gè)子模塊。針對(duì)每個(gè)子模塊分別進(jìn)行項(xiàng)目的功能規(guī)劃和對(duì)應(yīng)的虛擬儀器技術(shù)框架,并詳細(xì)描述了實(shí)現(xiàn)的過程。
本書后將各個(gè)子模塊匯總完成了整個(gè)項(xiàng)目的實(shí)現(xiàn)。在整個(gè)項(xiàng)目實(shí)現(xiàn)的過程中,將全書的虛擬儀器知識(shí)點(diǎn)綜合運(yùn)用,同時(shí)在項(xiàng)目實(shí)現(xiàn)過程中也詳細(xì)地介紹了有關(guān)機(jī)器視覺的相關(guān)內(nèi)容。
感謝哈爾濱工業(yè)大學(xué)自動(dòng)化測(cè)試與控制研究所的彭喜元教授、喬立巖教授和彭宇教授在本書編寫過程中提出的寶貴建議及細(xì)心指導(dǎo),他們?yōu)楸緯木帉,以及虛擬儀器創(chuàng)新實(shí)踐基地的建設(shè)和虛擬儀器技術(shù)相關(guān)課程的改革提供了強(qiáng)大的支持。
感謝清華大學(xué)出版社編輯團(tuán)隊(duì)的大力支持,他們認(rèn)真細(xì)致的工作保證了本書的質(zhì)量。
由于編者水平有限,書中難免有疏漏和不足之處,懇請(qǐng)廣大讀者批評(píng)指正!
編者
2021年7月
魏德寶 哈爾濱工業(yè)大學(xué)副研究員、碩士生導(dǎo)師。長(zhǎng)期從事航空航天自動(dòng)測(cè)試系統(tǒng)的研發(fā)和教學(xué)工作,在虛擬儀器設(shè)計(jì)與開發(fā)領(lǐng)域具有資深的經(jīng)驗(yàn)。
吳艷 哈爾濱工業(yè)大學(xué)高級(jí)工程師。曾任美國(guó)國(guó)家儀器有限公司應(yīng)用工程師,現(xiàn)任哈爾濱工業(yè)大學(xué)專職實(shí)驗(yàn)教師,主要從事虛擬儀器實(shí)踐教學(xué)工作。
付寧 哈爾濱工業(yè)大學(xué)教授、博士生導(dǎo)師。主要研究方向?yàn)樘摂M儀器技術(shù)、壓縮感知技術(shù),并有十余年相關(guān)課程教學(xué)經(jīng)驗(yàn)。
劉洋 曾在在美國(guó)國(guó)家儀器公司任職,主要負(fù)責(zé)高等學(xué)校業(yè)務(wù)合作與推廣。支持多個(gè)高校建立了虛擬儀器聯(lián)合實(shí)驗(yàn)室及開設(shè)虛擬儀器課程。
第1章虛擬儀器技術(shù)介紹
1.1虛擬儀器技術(shù)發(fā)展史
1.2LabVIEW介紹
1.3LabWindows CVI介紹
1.4LabVIEW NXG介紹
1.5LabVIEW安裝版本選擇
1.5.1LabVIEW安裝的操作系統(tǒng)
1.5.2LabVIEW環(huán)境安裝的位數(shù)
1.5.3LabVIEW安裝的語言版本
1.6Windows環(huán)境下LabVIEW的安裝
1.6.1本地安裝
1.6.2通過NI Package Manager在線安裝
1.6.3NI Package Manager 安裝
1.6.4在NI Package Manager 中安裝LabVIEW
1.6.5LabVIEW NXG的安裝
1.7LabVIEW的版本管理
1.7.1LabVIEW不同版本間的文件訪問
1.7.2LabVIEW的安裝路徑
1.8LabVIEW模塊和驅(qū)動(dòng)的管理
1.8.1LabVIEW與模塊版本的支持
1.8.2LabVIEW與對(duì)應(yīng)硬件驅(qū)動(dòng)版本
1.8.3LabVIEW與工具包和驅(qū)動(dòng)的安裝順序
第2章LabVIEW環(huán)境基礎(chǔ)
2.1創(chuàng)建個(gè)LabVIEW程序
2.2在程序框圖中部署函數(shù)和結(jié)構(gòu)
2.2.1添加隨機(jī)數(shù)節(jié)點(diǎn)
2.2.2添加循環(huán)結(jié)構(gòu)
2.3在前面板中添加用戶界面
2.3.1添加波形圖表顯示控件
2.3.2添加停止按鈕輸入控件
2.4在程序框圖中進(jìn)行數(shù)據(jù)流連接
2.4.1輸出隨機(jī)數(shù)據(jù)到波形圖表
2.4.2將停止接線端連接到While循環(huán)
2.5運(yùn)行與調(diào)試程序
2.5.1保存VI文件
2.5.2運(yùn)行VI文件
2.5.3中止執(zhí)行VI
2.6LabVIEW VI三要素
2.6.1程序框圖
2.6.2前面板
2.6.3連線板和圖標(biāo)
2.7基于數(shù)據(jù)流的編程模式
2.8LabVIEW VI的基本調(diào)試
2.8.1調(diào)試工具
2.8.2LabVIEW的即時(shí)幫助工具
2.8.3LabVIEW的范例查找器
第3章LabVIEW基本數(shù)據(jù)類型
3.1數(shù)值
3.1.1數(shù)值數(shù)據(jù)類型的概念
3.1.2數(shù)值類型的表示法
3.1.3數(shù)值數(shù)據(jù)的運(yùn)算
3.1.4數(shù)值數(shù)據(jù)的顯示和可視化
3.1.5數(shù)值運(yùn)算的類型轉(zhuǎn)換
3.2布爾
3.2.1布爾數(shù)據(jù)類型的概念
3.2.2在前面板放置布爾控件
3.2.3布爾數(shù)據(jù)的運(yùn)算
3.2.4密碼鎖實(shí)現(xiàn)實(shí)例
3.3字符串
3.3.1字符串的概念
3.3.2字符串在硬件通信中的應(yīng)用
3.3.3字符串運(yùn)算操作實(shí)例
3.3.4字符串的轉(zhuǎn)換
第4章基本結(jié)構(gòu)
4.1順序結(jié)構(gòu)
4.1.1順序結(jié)構(gòu)的概念
4.1.2順序結(jié)構(gòu)使用實(shí)例
4.1.3數(shù)據(jù)流與順序結(jié)構(gòu)
4.1.4順序結(jié)構(gòu)實(shí)現(xiàn)初始化實(shí)例
4.2While循環(huán)
4.2.1While循環(huán)的概念
4.2.2While循環(huán)與定時(shí)
4.2.3數(shù)據(jù)流與While循環(huán)
4.2.4While循環(huán)與連續(xù)執(zhí)行
4.3For循環(huán)
4.3.1For循環(huán)的概念
4.3.2For循環(huán)與While循環(huán)比較實(shí)例
4.4條件結(jié)構(gòu)
4.4.1條件結(jié)構(gòu)的概念
4.4.2條件結(jié)構(gòu)的應(yīng)用
4.4.3條件結(jié)構(gòu)的隧道
4.4.4條件結(jié)構(gòu)隧道輸出默認(rèn)值
第5章進(jìn)階數(shù)據(jù)類型
5.1數(shù)組
5.1.1數(shù)組的概念
5.1.2數(shù)組的元素?cái)?shù)據(jù)類型
5.1.3數(shù)組的類型
5.1.4數(shù)組的索引
5.1.5數(shù)組的使用
5.2簇
5.2.1簇的概念
5.2.2簇的操作
5.2.3簇的數(shù)據(jù)捆綁功能
5.3LabVIEW中數(shù)據(jù)流的可視化
5.3.1前面板的數(shù)據(jù)可視化
5.3.2前面板控件的可視化操作
5.3.3程序框圖中的數(shù)據(jù)流可視化
第6章文件讀寫
6.1LabVIEW與數(shù)據(jù)輸入輸出
6.2文件讀寫的概念
6.3文件讀寫的類型
6.4文件操作的一般步驟
6.4.1文本文件寫入實(shí)例
6.4.2路徑
6.4.3路徑和相對(duì)路徑
6.5文件操作的Express VI
6.5.1Express VI
6.5.2通過Express VI進(jìn)行波形文件寫入實(shí)例
6.5.3通過Express VI進(jìn)行波形文件讀取實(shí)例
6.5.4Express VI的特點(diǎn)
6.6底層VI
6.6.1使用TDMS寫入文件實(shí)例
6.6.2使用TDMS讀取文件實(shí)例
6.7高效的文件讀取
6.7.1底層VI和Express VI的比較
6.7.2文件保存和流盤的概念
6.7.3TDMS文件的高速寫入實(shí)例
第7章硬件輸入與輸出
7.1數(shù)據(jù)采集的基本概念
7.1.1數(shù)據(jù)采集的基本原理
7.1.2數(shù)據(jù)采集硬件的一般參數(shù)
7.1.3信號(hào)調(diào)理
7.1.4觸發(fā)
7.2NI Measurement and Automation Explorer
7.3模擬采集
7.3.1模擬采集的概念
7.3.2模擬采集的類型
7.3.3數(shù)據(jù)采集的一般過程
7.3.4模擬電壓有限點(diǎn)采集實(shí)例
7.3.5連續(xù)模擬采集
7.4模擬輸出
7.4.1輸出采樣率與輸出波形頻率關(guān)系實(shí)例
7.4.2有限點(diǎn)模擬電壓輸出實(shí)例
7.4.3模擬輸出任務(wù)實(shí)際的輸出信號(hào)
7.4.4連續(xù)模擬輸出實(shí)例
7.4.5模擬輸出需要注意的問題
7.4.6動(dòng)態(tài)的模擬輸出
7.5數(shù)字采集
7.5.1數(shù)字采集的概念
7.5.2線和組的概念
7.5.3數(shù)字I/O的輸入與輸出定義
7.5.4數(shù)字I/O電平標(biāo)準(zhǔn)
7.5.5數(shù)字有限點(diǎn)采集任務(wù)
7.5.6數(shù)字連續(xù)采集任務(wù)
7.6數(shù)字有限點(diǎn)輸出任務(wù)
7.7計(jì)數(shù)器
7.7.1計(jì)數(shù)器的基本概念
7.7.2計(jì)數(shù)器的典型應(yīng)用
第8章LabVIEW架構(gòu)
8.1項(xiàng)目瀏覽器
8.1.1項(xiàng)目瀏覽器介紹
8.1.2項(xiàng)目瀏覽器的組成
8.1.3使用項(xiàng)目瀏覽器管理文件
8.1.4使用項(xiàng)目瀏覽器管理LabVIEW發(fā)布版本
8.2虛擬文件夾
8.2.1自動(dòng)更新文件夾實(shí)例
8.2.2解決沖突實(shí)例
8.3依賴關(guān)系
8.4LabVIEW程序發(fā)布生成規(guī)范
8.4.1發(fā)布應(yīng)用程序(EXE)實(shí)例
8.4.2發(fā)布安裝程序?qū)嵗?br />8.5變量
8.5.1LabVIEW中的變量
8.5.2變量競(jìng)爭(zhēng)
8.5.3變量的數(shù)據(jù)緩沖
8.5.4使用共享變量傳遞數(shù)據(jù)實(shí)例
8.6隊(duì)列
8.6.1隊(duì)列的典型應(yīng)用
8.6.2不同速率的循環(huán)之間傳遞數(shù)據(jù)實(shí)例
8.7事件結(jié)構(gòu)
8.7.1事件結(jié)構(gòu)的概念
8.7.2事件結(jié)構(gòu)的構(gòu)成
8.7.3事件結(jié)構(gòu)響應(yīng)用戶事件
8.7.4基于用戶事件響應(yīng)的波形發(fā)生器實(shí)例
8.8生產(chǎn)者消費(fèi)者結(jié)構(gòu)
8.8.1生產(chǎn)者消費(fèi)者結(jié)構(gòu)的構(gòu)成
8.8.2生產(chǎn)者消費(fèi)者結(jié)構(gòu)進(jìn)行數(shù)據(jù)采集和數(shù)據(jù)流盤實(shí)例
8.9狀態(tài)機(jī)
8.9.1狀態(tài)機(jī)結(jié)構(gòu)
8.9.2狀態(tài)機(jī)實(shí)例
第9章LabVIEW項(xiàng)目實(shí)踐萬用表校準(zhǔn)分類
9.1項(xiàng)目應(yīng)用背景介紹
9.2項(xiàng)目需求
9.3項(xiàng)目挑戰(zhàn)
9.3.1連接方式與信號(hào)調(diào)理
9.3.2待校準(zhǔn)設(shè)備數(shù)值的讀取
9.3.3標(biāo)準(zhǔn)設(shè)備讀取的激勵(lì)信號(hào)
9.3.4圖像采集的需求
9.4項(xiàng)目整體架構(gòu)
9.5項(xiàng)目分解一: 模擬電壓輸出與采集
9.5.1項(xiàng)目規(guī)劃
9.5.2項(xiàng)目實(shí)現(xiàn)
9.6項(xiàng)目分解二: 圖像采集
9.6.1圖像采集硬件連接
9.6.2圖像采集硬件調(diào)試
9.6.3通過程序獲取圖像
9.7項(xiàng)目分解三: OCR識(shí)別
9.7.1顏色提取
9.7.2建立坐標(biāo)系
9.7.3建立ROI
9.7.4設(shè)定OCR 參數(shù)
9.7.5生成LabVIEW VI
9.8項(xiàng)目整合