LabWindows/CVI是美國NI(NationalInstruments)公司開發(fā)的面向計算機測控領域的虛擬儀器軟件開發(fā)平臺,可以在多種操作系統(tǒng)(WindowsXP/Vista/7、MacOS和Unix)下運行,允許程序員采用C語言進行開發(fā)。在此開發(fā)環(huán)境中可以利用C語言及其提供的庫函數來實現程序的設計、編輯、編譯、鏈接、調試,并可通過LabWindows/CVI提供的庫完成功能強大的軟件開發(fā)的任務。
LabWindows/CVI是個使用C語言開發(fā)程序以及驅動的利器,可是國內了解LabWindows/CVI的人卻是少之又少,市面上僅有的幾本關于LabWindows/CVI的書也大致雷同,沒有考慮到基地同學的基礎與實際情況,其內容主要是LabWindows/CVI相關的知識的介紹而對提升用戶的興趣的內容卻很少提及,不適合給初學者使用。考慮到這種現狀,本人從2012年11月份起,便隱隱約約有了一絲想要靠自己以及周圍人的力量一起編寫一本適合初學者的LabWindows/CVI教程的想法。
因此,有了明確的定位——CVI初學者,本教程在編寫的過程中也便有了更多的針對性。在知識的介紹方面,除了基本的知識之外,更強調LabWindows/CVI的興趣的引導與培養(yǎng);在選材方面,對于讀者可能有陌生感的代碼與領域均予以詳細介紹,避免一開始便對LabWindows/CVI保持著神秘感,要知道剛開始學習一個開發(fā)環(huán)境時“親近感”是非常重要的;在示例程序方面,盡量采用可以直接運行的控制臺程序并且示例程序除了實現完整功能外減少無關的功能;在難度控制方面,盡量的減少新知識的Demo程序的難度以使得讀者可以在最短時間內入門;在學習方式方面,“授之以魚不如授之以漁”,更注重引導讀者參照官方幫助文檔自行開發(fā)程序避免了入門之后仍然對中文資料的依賴;在知識增長的梯度方面,在讀者對CVI入門之后便讓讀者盡可能多的接觸一些實例與應用避免讀者產生“學此開發(fā)環(huán)境無用”的理念。此外,在學習C語言時,大部分讀者可能使用VC而入門的??墒荲C的很多內容都不標準,學習LabWindows/CVI可以使讀者脫離微軟的生態(tài)環(huán)境,以一定的高度去俯瞰自己所學的知識。
在內容安排方面,本教程一共設計了7次課程。
第一節(jié)“LabWindows/CVI開發(fā)環(huán)境”主要讓讀者了解LabWindows/CVI開發(fā)環(huán)境的特色,解除讀者對于C語言的偏見并讓讀者對什么是開發(fā)環(huán)境有一個明確的認識,并能夠在LabWindows/CVI下運行自己的第一個Demo程序。
第二節(jié)“GUI開發(fā)”通過一個示例程序引領讀者迅速開發(fā)出自己的第一個應用程序,并且在其中培養(yǎng)讀者遇到問題之后,學會利用官方幫助文檔解決問題的習慣。
第三節(jié)“計算機外設開發(fā)”通過LabWindows/CVI強大的庫,讓用戶了解到LabWindows/CVI的強大功能,并且具備在LabWindows/CVI開發(fā)具 有實用功能的具有美觀的GUI界面的程序的能力。
第四節(jié)“庫文件”通過在LabWindows/CVI下生成、使用靜態(tài)庫、動態(tài)鏈接庫的過程,讓讀者掌握跨開發(fā)環(huán)境進行編程的能力,通過調用外部的DLL文件在LabWindows/CVI下可以更加隨心所欲的編寫程序。
第五節(jié)“外設驅動開發(fā)”主要通過VISA庫教會大家使用NI-VISA開發(fā)計算機外設的驅動,并且編寫硬件設備的驅動程序。
第六節(jié)“綜合實例:遠程監(jiān)控系統(tǒng)”采用一個實例展示了使用LabWindows/CVI開發(fā)一個完整的項目的歷程,并在開發(fā)的過程中讓讀者了解參與項目與參與比賽時不同的信念不同的解決問題的思路。
第七節(jié)“探索與實驗”提供了11個參考題目,讀者可以根據自己的興趣愛好去實現其中的一個或多個。這些參考題目均需要讀者具備一定的LabWindows/CVI功底并且適當延伸,進而使得讀者可以通過完成這些作品而充分的體會了解LabWindows/CVI開發(fā)環(huán)境。
本教程由本人(HZKJ大學-LWH)執(zhí)筆編寫,此外HZKJ大學的YL同學也參與了編寫工作,在此表示感謝。編寫一套像模像樣的LabWindows/CVI教程是本人2013年的一個小夢想,希望沒讓讀者失望。本教程也會在修改完善之后將電子版以及相關工程代碼放到網絡上供大家學習交流使用。
本教程在編寫過程中參考了不少市面上已有的LabWindows/CVI資料與書籍,尤其是機械工業(yè)出版社的《LabWindows/CVI逐步開發(fā)與深入實例》,在此一并表示感謝。
由于本教程篇幅較多,內容龐雜,涉及內容廣泛,加上本人水平有限、時間倉促,書中必然存在大量的低級錯誤或疏漏之處,若發(fā)現,歡迎跟我們聯(lián)系指正。
LWH(lwh9005@163.com)
2013-03-26于武漢

愛華網



