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