LabVIEW的學(xué)習心得
因為L(cháng)abVIEW對我們工科學(xué)生來(lái)說(shuō),像AutoCAD一樣,是一個(gè)非常重要的工具軟件。
LabVIEW用得熟,很多復雜的實(shí)驗過(guò)程都可以用軟件來(lái)控制。實(shí)現很多意想不到的功能。
我觀(guān)察了很多師弟師妹們學(xué)LabVIEW的過(guò)程,有的學(xué)得好,有的學(xué)得較一般,
這最主要取決于他們的學(xué)習態(tài)度,當然,他們使用的參考書(shū)的關(guān)系也不小。
雖然我都推薦他們看這本書(shū)“LabView-Advanced Programming Techniques”,但很多人因為是英文版而看不下來(lái)。
我發(fā)現大多數人首選的是去看中文版的入門(mén)級教材。
這些教材大多把軟件里面各個(gè)功能vi簡(jiǎn)要介紹了一下而已。“功能vi”可理解為系統自帶的,隨時(shí)可調用的子程序,也像Matlab的M文件。因為L(cháng)abVIEW的功能vi很多,結構、數組、字符串、邏輯與算術(shù)運算、簇、文件管理、屬性管理、波形生成/測量/計算、信號處理、接口通訊、ActiveX等等很多的功能vi,所以把這些玩意兒挨個(gè)介紹一翻,也湊夠一本厚厚的書(shū)了。這書(shū)雖然拿在手上有質(zhì)感,但內容卻非??斩?,讓人看著(zhù)想睡覺(jué)??赐曛蠛芸鞎?huì )忘記,一點(diǎn)收獲都沒(méi)有。最終造成的后果是讓人對這個(gè)軟件的熱情驟冷。
我上面推薦的教程主要側重于講如何實(shí)現某個(gè)功能,而不是簡(jiǎn)單地介紹各個(gè)功能vi。我覺(jué)得這樣的書(shū)才比較有技術(shù)含量,看的時(shí)候容易讓人思考,而不是死記硬背,也能經(jīng)常講一些良好的程序習慣。
有的人可能看到厚厚的英文書(shū)就頭大,我剛開(kāi)始用LabVIEW的時(shí)候,只有英文版的軟件,說(shuō)明文件都是英文的,所以看英文版的教程比較順,現在軟件跟說(shuō)明文件都有了中文版,許多人可能不愿意看英文版的教材了,這樣的話(huà)也可以看一本中文版的書(shū),楊樂(lè )平的《LabVIEW高級程序設計》,跟我推薦的那本“LabView-Advanced Programming Techniques”相似程度極高,許多章節都是從英文版翻譯過(guò)來(lái)的,連書(shū)名都差不多,如果覺(jué)得看英文版比較費勁的話(huà),可以考慮看這一本。
我來(lái)談?wù)勛约罕容^有趣的入門(mén)過(guò)程:
上研一的時(shí)候,有一天上完課,導師忽然把我叫住,讓去我跟一個(gè)師兄學(xué)LabVIEW。那個(gè)師兄也是剛開(kāi)始學(xué),見(jiàn)了面,他就給我演示了什么是LabVIEW:放了兩個(gè)“數值輸入控件”跟一個(gè)“數值顯示控件”在前面板,然后在后面板放了個(gè)“加”運算符,把三個(gè)控件的線(xiàn)連起來(lái),程序就完成了。接著(zhù)給我演示運行程序,“數值輸入控件”分別填入1跟2,結果就輸出“3”來(lái)了。從1+2=3,我的LabVIEW就開(kāi)始入門(mén)了,簡(jiǎn)單,明了。
接下來(lái)我開(kāi)始自己去摸索LabVIEW。當年學(xué)VB,我逼自己寫(xiě)了個(gè)俄羅斯方塊的游戲,但對于LabVIEW,寫(xiě)俄羅斯方塊太難了,這次我告訴自己,先寫(xiě)一個(gè)計算器出來(lái),實(shí)現簡(jiǎn)單的加減乘除功能。于是開(kāi)始琢磨里面的循環(huán)控件、移位寄存器、數組跟布爾按鈕。前后花了大概個(gè)把星期的時(shí)間才寫(xiě)出來(lái)了。經(jīng)過(guò)這個(gè)小程序的鍛煉,基本上對這個(gè)軟件是完全入門(mén)了,懂得使用循環(huán)、寄存器、數組、邏輯、顯示。后來(lái)每個(gè)入門(mén)的學(xué)生,導師都會(huì )要他們去寫(xiě)個(gè)計算器,呵呵。這確實(shí)是不需要其他外部設備,可以直接在單機上寫(xiě)的東西。
寫(xiě)完計算器之后導師便開(kāi)始交代任務(wù)了:寫(xiě)個(gè)程序來(lái)控制一臺惠普的4339B高阻儀(現在是安捷倫了)。
網(wǎng)上搜索了一下,許多人都說(shuō)可以上NI的網(wǎng)站下載驅動(dòng)(NI是開(kāi)發(fā)LabVIEW的公司)。驅動(dòng)是下載來(lái)了,就是不知道怎么用?,F在看起來(lái)多么簡(jiǎn)單的一件事情,當初跟師兄兩個(gè)人想破頭皮摸索了一個(gè)多星期才摸索出來(lái)……
但這只是調用別人寫(xiě)的東西而已,因為不滿(mǎn)足,自己開(kāi)始為實(shí)驗室一臺非標準SCPI通訊儀器的溫控儀寫(xiě)驅動(dòng),第一次研究通訊協(xié)議,死活弄不懂該如何計算他們自定義的驗證碼??赡芪业膶W(xué)習熱情感染了導師,那天碩士論文答辯,他坐在答辯會(huì )員會(huì )位置上埋頭研究這個(gè)通訊協(xié)議,還時(shí)不時(shí)跑出來(lái)跟我討論?,F在看起來(lái)問(wèn)題很簡(jiǎn)單,就是ASCII值沒(méi)轉換成十六進(jìn)制,導致儀器識別不出我們送過(guò)去的代碼,而不是我們計算的問(wèn)題,但第一次寫(xiě)這種程序確實(shí)碰了不少釘子,我們懷疑是串口線(xiàn)壞了、懷疑是計算有問(wèn)題、懷疑是儀器的接口有問(wèn)題……那天碩士論文答辯,導師連一個(gè)問(wèn)題都沒(méi)提問(wèn),答辯的師兄們說(shuō):這是歷年來(lái)最有驚無(wú)險的一次答辯。
后來(lái)為了給我學(xué)LabVIEW,導師給買(mǎi)了許多東西:如數據采集卡、GPIB轉USB線(xiàn)等等硬件設備,我自己也經(jīng)常跑到學(xué)校一個(gè)NI贊助的實(shí)驗室幫那幫人打雜。一年過(guò)后就學(xué)得滾瓜爛熟了。
總結我的學(xué)習過(guò)程:
我不是從教程到實(shí)踐,恰恰相反,我是實(shí)踐過(guò)了一段時(shí)間之后再去看教程的。
寫(xiě)計算器的時(shí)候,我對功能vi的理解是直接看它的圖標,很多功能vi的功能從圖標一目了然就能看出來(lái)。如果看了還不懂的話(huà),就幫助文件。計算器就是這么摸索出來(lái)的?,F在很多人寫(xiě)計算器,有的說(shuō)要看完書(shū)之后才能寫(xiě),結果是花了個(gè)把月看完了書(shū),還是一樣無(wú)從下手,好一點(diǎn)的是邊看書(shū)邊寫(xiě),我覺(jué)得這才是正規學(xué)習方法。我那種憑自己想象力的學(xué)習方法,也應該算是旁門(mén)左道,有時(shí)候會(huì )很快,但運氣不好也會(huì )卡殼。但這種方法對我寫(xiě)非標準通訊協(xié)議也有幫助,因為寫(xiě)這種東西沒(méi)有任何一本教科書(shū)能教會(huì )你。
很多人只看教科書(shū),不看幫助文件,這是一種錯誤的方法。教科書(shū)可能出錯,但幫助文件不可能錯。與其花時(shí)間在教科書(shū)上,不如看幫助文件。幫助文件各個(gè)相關(guān)聯(lián)的功能vi之間還有連接。
軟件的自帶的例程很全,基本上可以覆蓋你想學(xué)的功能。初學(xué)者多花時(shí)間去研究一下例程的話(huà),提高會(huì )很快。
如果有問(wèn)題,歡迎來(lái)討論,呵呵。
最后我要推薦一個(gè)非常不錯的LabVIEW的論壇 :http://www.vihome.com.cn/bbs LabVIEW論壇 論壇資料非常豐富
大家可以上去搜索到幾乎所有的知識 強烈推薦
評論