《LabVIEW寶典(第2版)》詳盡講解了LabVIEW常用的編程方法、編程技巧和工程應(yīng)用技術(shù)。全書共分為3篇,其中,入門篇?dú)w納總結(jié)了LabVIEW編程人員必須掌握的基礎(chǔ)知識(shí),包括LabVIEW的基本概念、基本函數(shù)的用法和常用的運(yùn)行結(jié)構(gòu),以及LabVIEW的基本數(shù)據(jù)結(jié)構(gòu)和文件存儲(chǔ)方式;高級篇細(xì)致地講解了引用、屬性、方法及各類高級控件的運(yùn)用,LabVIEW的文本方式編程及DLL、C語言接口,基于MATLAB語法的math*編程技術(shù),LabVIEW基于組件的高級編程方法和編程模式;工程應(yīng)用篇介紹了串口、并口和網(wǎng)絡(luò)通信的常用方法,數(shù)據(jù)采集的基本原理和方法,LabVIEW實(shí)時(shí)系統(tǒng)的構(gòu)建和編程,以及各種常用專業(yè)工具包的使用方法,包括數(shù)據(jù)庫連接工具包、數(shù)據(jù)監(jiān)控與記錄工具包、報(bào)表生成工具包、狀態(tài)圖工具包等。本書可作為高等院校通信、測量技術(shù)、自動(dòng)控制等相關(guān)課程的教材和教學(xué)參考書,也可作為相關(guān)工程技術(shù)人員設(shè)計(jì)開發(fā)儀器或自動(dòng)測試系統(tǒng)的技術(shù)手冊。
前 言
計(jì)算機(jī)的出現(xiàn),徹底改變了人們的工作和生活方式。如今計(jì)算機(jī)已經(jīng)無處不在,進(jìn)入了每個(gè)人的生活之中。在工程技術(shù)人員看來,計(jì)算機(jī)不僅僅是人們常見的PC,也包括各種微處理器。從這個(gè)角度看,我們無時(shí)無刻不在使用計(jì)算機(jī),例如,電視、洗衣機(jī)、自動(dòng)提款機(jī)等都依賴計(jì)算機(jī)來實(shí)現(xiàn)各種便捷的功能。
相同的計(jì)算機(jī)可以完成不同的工作,在于它們使用不同的程序,而程序是由計(jì)算機(jī)編程語言創(chuàng)建的。短短幾十年中,出現(xiàn)了眾多的編程語言,這些編程語言的共同特點(diǎn)是采用文本方式創(chuàng)建程序。文本方式編程對編程人員要求很高,這使得計(jì)算機(jī)編程只能是少數(shù)人才可以從事的職業(yè)。
美國國家儀器公司(National Instruments, NI)的創(chuàng)新軟件產(chǎn)品LabVIEW,允許用圖形方式編程,摒棄了晦澀難懂的文本代碼,使得計(jì)算機(jī)編程不再是少數(shù)人的專利。LabVIEW的最早版本誕生于1986年,幾乎和Windows的最早版本同步,這注定了LabVIEW是多平臺(tái)的編程語言,適合于不同的操作系統(tǒng)。
20世紀(jì)80年代初,NI公司是GPIB總線設(shè)備的主要供貨商,豐富的硬件經(jīng)驗(yàn)和強(qiáng)大的軟件開發(fā)需求,促使NI公司的工程師們決心尋找一種代替?zhèn)鹘y(tǒng)編程語言的開發(fā)工具,這導(dǎo)致了1986年LabVIEW的橫空出世。LabVIEW是由測試工程師開發(fā)的專用編程語言,因此,LabVIEW具有鮮明的行業(yè)特點(diǎn),最早主要用于測試測量領(lǐng)域。NI公司獨(dú)創(chuàng)了虛擬儀器的理念,提出了軟件就是儀器的理念,并逐步成為業(yè)界的標(biāo)準(zhǔn)。
隨著LabVIEW的不斷發(fā)展,幾乎每隔一兩年,都要推出新的版本。LabVIEW的應(yīng)用范圍已經(jīng)覆蓋了工業(yè)自動(dòng)化、測試測量、嵌入式應(yīng)用、運(yùn)動(dòng)控制、圖像處理、計(jì)算機(jī)仿真、FPGA等眾多領(lǐng)域。以LabVIEW為核心,采用不同的專用工具包和統(tǒng)一的圖形編程方式,可以實(shí)現(xiàn)不同技術(shù)領(lǐng)域的需求。
由于LabVIEW版本升級過快,導(dǎo)致許多函數(shù)、VI的名稱與圖標(biāo)發(fā)生了變化。使用LabVIEW新版本的讀者,會(huì)發(fā)現(xiàn)本書第1版中程序框圖的函數(shù)、VI與新版LabVIEW對應(yīng)不上,而且LabVIEW每次更新都增加了很多新功能。鑒于此,我們編寫了本書的第2版。第2版在2016新版LabVIEW的基礎(chǔ)上,重新編寫了絕大部分程序框圖,同時(shí)也針對新功能,增加了對應(yīng)的內(nèi)容。尤其是對第10章,重寫了大部分內(nèi)容,增加了許多流行的框架結(jié)構(gòu)的介紹。除了LabVIEW本身的框架外,也介紹了幾種流行的第三方常用框架結(jié)構(gòu)。
本書要點(diǎn)
本書作者多年使用LabVIEW作為主要的編程語言,因此特別關(guān)注LabVIEW在工業(yè)領(lǐng)域的具體運(yùn)用以及LabVIEW的實(shí)用編程技術(shù)。本書共17章,分為入門篇、高級篇、工程應(yīng)用篇。
第1~5章為入門篇,介紹了LabVIEW的基本概念、基本函數(shù)的用法和常用的運(yùn)行結(jié)構(gòu),詳盡地分析了LabVIEW的基本數(shù)據(jù)結(jié)構(gòu)和文件存儲(chǔ)方式。
第6~11章為高級篇,介紹了應(yīng)用程序、VI和控件的引用、屬性和方法,以及各類高級控件的運(yùn)用方法。第8章介紹了LabVIEW的文本編程方式及DLL、C語言接口,第9章詳細(xì)介紹了基于MATLAB語法的MathScript編程技術(shù),第10章介紹了LabVIEW基于組件的編程方法。
第12~17章為工程應(yīng)用篇,具體而細(xì)致地講解了在做實(shí)際工程開發(fā)時(shí)所用到的LabVIEW編程技術(shù)。本篇結(jié)合LabVIEW的常用工具包,具體分析了計(jì)算機(jī)串口、并口、網(wǎng)絡(luò)通信方面的編程技術(shù),以及數(shù)據(jù)記錄和監(jiān)控工具包、數(shù)據(jù)庫連接工具包、報(bào)表生成工具包、狀態(tài)圖工具包、FPGA工具包等的應(yīng)用。第13、第14章詳細(xì)介紹了數(shù)據(jù)采集的基本原理和常用編程方法,其中重點(diǎn)介紹了LabVIEW在實(shí)時(shí)系統(tǒng)下的運(yùn)用。第15章講解了LabVIEW實(shí)時(shí)系統(tǒng)的開發(fā)案例。第16章講解了LabVIEW數(shù)據(jù)采集系統(tǒng)開發(fā)案例。第17章講解了FPGA的開發(fā)案例,以及如何利用LabVIEW圖形編程方式,提高開發(fā)效率。
本書讀者
本書可作為高等院校通信、測量技術(shù)、自動(dòng)控制等相關(guān)課程的教材和教學(xué)參考書,也可作為相關(guān)工程技術(shù)人員設(shè)計(jì)開發(fā)儀器或自動(dòng)測試系統(tǒng)的技術(shù)手冊。
本書特色
本書內(nèi)容非常豐富,在每個(gè)章節(jié)都安排了大量的示例,針對具體編程實(shí)踐中遇到的問題,提出了多種解決方法。在兼顧基礎(chǔ)知識(shí)的前提下,深入討論了LabVIEW的高級編程方法和編程技巧。
本書的宗旨是作為實(shí)用工具書,側(cè)重于來自工程實(shí)踐的一線案例。筆者在寫作過程中,與眾多的LabVIEW愛好者進(jìn)行了充分的溝通與交流,總結(jié)了編程過程中經(jīng)常遇到的問題,并作為本書的重要內(nèi)容。
本書使用了大量篇幅講解NI公司各種專用工具包的運(yùn)用,這部分內(nèi)容具有一定的深度和實(shí)用價(jià)值,特別適合于具有一定基礎(chǔ)的編程人員學(xué)習(xí)運(yùn)用。在基礎(chǔ)篇中,雖然也介紹了許多LabVIEW的基礎(chǔ)知識(shí),但還是側(cè)重于具體應(yīng)用,其中大量的例程可以直接在具體項(xiàng)目中使用。
在高級篇中,重點(diǎn)介紹了LabVIEW常用的編程模式,以及狀態(tài)圖工具包的運(yùn)用,同時(shí)介紹了新增的面向?qū)ο蟮木幊谭椒ā?/p>
補(bǔ)遺說明
本書寫作時(shí)主要使用8.6版本,但是書中介紹的具體內(nèi)容并不限于特定的版本,因此無版本限制。本書案例文件和相關(guān)課件在網(wǎng)址read.zhiliaobang.com可以下載,方便讀者提高學(xué)習(xí)效率,也方便教師教學(xué)。此外,對于比較重要的內(nèi)容,為了讓讀者印象深刻,我們以學(xué)習(xí)筆記的體例呈現(xiàn)出來。
致謝與分工
本書由陳樹學(xué)、劉萱兩位工程師編寫,我們有多年的LabVIEW實(shí)際開發(fā)經(jīng)驗(yàn),經(jīng)過濃縮和總結(jié)才成此書。在編寫本書的過程中得到張國強(qiáng)老師的大力支持,他為我們提供了開發(fā)硬件,使得寫作能在真實(shí)的開發(fā)環(huán)境中進(jìn)行,應(yīng)該說沒有他的熱心幫助完成本書是難以想象的事情。本書也離不開成都道然科技有限責(zé)任公司的專業(yè)策劃支持。因?yàn)楸緯髡邽楣こ碳夹g(shù)人員,對于寫作并不擅長,書中錯(cuò)漏之處在所難免,敬請批評指正。能夠?yàn)長abVIEW在國內(nèi)的推廣使用做一點(diǎn)力所能及的貢獻(xiàn),能夠?qū)V大的LabVIEW愛好者有所幫助,是我們最大的愿望。如果你有任何意見或者建議歡迎聯(lián)系:info@dozan.cn。
陳樹學(xué),1989年畢業(yè)于哈爾濱工業(yè)大學(xué)動(dòng)力工程系,畢業(yè)后進(jìn)入一汽集團(tuán)公司,負(fù)責(zé)專用機(jī)床、加工自動(dòng)線和測試設(shè)備的軟件開發(fā)工作。初期使用C語言,從LabVIEW 6.0版本開始,采用LabVIEW作為優(yōu)選編程語言。 劉萱,2005年畢業(yè)于天津大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)。畢業(yè)后進(jìn)入天津久榮車輪技術(shù)有限公司主持車輪輪胎檢測設(shè)備系統(tǒng)軟件的研發(fā)工作。2006年首次接觸LabVIEW 7.2并在實(shí)際項(xiàng)目中使用,十余年來積累了利用LabVIEW開發(fā)工程項(xiàng)目的豐富經(jīng)驗(yàn)。