說把手教你編寫LabView上位機(jī)程序_第1頁
說把手教你編寫LabView上位機(jī)程序_第2頁
說把手教你編寫LabView上位機(jī)程序_第3頁
說把手教你編寫LabView上位機(jī)程序_第4頁
說把手教你編寫LabView上位機(jī)程序_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上手把手教你從零開始用labview編寫智能車上位機(jī)程序(1), , , , 軟件安裝和基礎(chǔ)知識(shí)準(zhǔn)備                 其幾天把我的上位機(jī)軟件發(fā)布在里這里,發(fā)現(xiàn)大家對(duì)這個(gè)還是很感興趣的,因?yàn)樯衔粰C(jī)軟件對(duì)于做攝像頭的來說是必備的工具(也許有人說他不需要,那我很佩服他的判斷能力和程序調(diào)試能力,他肯定是天才級(jí)別的人物,希望我能拜他為師,呵呵!)。不過這種東西還是自己編寫的用起來順手。想顯示什么就顯示什么。選擇labview編寫是因?yàn)閘abvie

2、w容易上手,我從完全不會(huì)到編寫到完成那個(gè)上位機(jī)軟件也就用了一個(gè)星期而已。如果學(xué)VC,MFC的話,你估計(jì)對(duì)用上1個(gè)月也許還做不出什么。但是labview功能也很強(qiáng)大,可是我們用到的并不多,網(wǎng)上教程多,可是我們能用上的也并不多,學(xué)起來麻煩。我下面就專門針對(duì)這個(gè)labview的智能車上位機(jī)軟件的編寫來講解吧!首先發(fā)布一個(gè)關(guān)于labview的廣告,大家了解一下labview主要是干什么的。LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā)的,類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計(jì)算機(jī)語言的顯著區(qū)別是:其他計(jì)算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用

3、的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。    與C和BASIC一樣,LabVIEW也是通用的編程系統(tǒng),有一個(gè)完成任何編程任務(wù)的龐大函數(shù)庫。LabVIEW的函數(shù)庫包括數(shù)據(jù)采集、GPIB、串口控制、數(shù)據(jù)分析、數(shù)據(jù)顯示及數(shù)據(jù)存儲(chǔ),等等。LabVIEW也有傳統(tǒng)的程序調(diào)試工具,如設(shè)置斷點(diǎn)、以動(dòng)畫方式顯示數(shù)據(jù)及其子程序(子VI)的結(jié)果、單步執(zhí)行等等,便于程序的調(diào)試。    虛擬儀器(virtual instrumention)是基于計(jì)算機(jī)的儀器。計(jì)算機(jī)和儀器的密切結(jié)合是目前儀器發(fā)展的一個(gè)重要方向。粗略地說這種結(jié)合有兩種方式,一種是將計(jì)算機(jī)裝入儀器,其

4、典型的例子就是所謂智能化的儀器。隨著計(jì)算機(jī)功能的日益強(qiáng)大以及其體積的日趨縮小,這類儀器功能也越來越強(qiáng)大,目前已經(jīng)出現(xiàn)含嵌入式系統(tǒng)的儀器。另一種方式是將儀器裝入計(jì)算機(jī)。以通用的計(jì)算機(jī)硬件及操作系統(tǒng)為依托,實(shí)現(xiàn)各種儀器功能。虛擬儀器主要是指這種方式。下面的框圖反映了常見的虛擬儀器方案。虛擬儀器的主要特點(diǎn)有:    盡可能采用了通用的硬件,各種儀器的差異主要是軟件。     可充分發(fā)揮計(jì)算機(jī)的能力,有強(qiáng)大的數(shù)據(jù)處理功能,可以創(chuàng)造出功能更強(qiáng)的儀器。     用戶可以根據(jù)自己的需要定義和制造各種儀器。     虛擬儀器實(shí)際上

5、是一個(gè)按照儀器需求組織的數(shù)據(jù)采集系統(tǒng)。虛擬儀器的研究中涉及的基礎(chǔ)理論主要有計(jì)算機(jī)數(shù)據(jù)采集和數(shù)字信號(hào)處理。目前在這一領(lǐng)域內(nèi),使用較為廣泛的計(jì)算機(jī)語言是美國NI公司的LabVIEW。    虛擬儀器的起源可以追溯到20世紀(jì)70年代,那時(shí)計(jì)算機(jī)測控系統(tǒng)在國防、航天等領(lǐng)域已經(jīng)有了相當(dāng)?shù)陌l(fā)展。PC機(jī)出現(xiàn)以后,儀器級(jí)的計(jì)算機(jī)化成為可能,甚至在Microsoft公司的Windows誕生之前,NI公司已經(jīng)在Macintosh計(jì)算機(jī)上推出了LabVIEW2.0以前的版本。對(duì)虛擬儀器和LabVIEW長期、系統(tǒng)、有效的研究開發(fā)使得該公司成為業(yè)界公認(rèn)的權(quán)威。    普通的PC有

6、一些不可避免的弱點(diǎn)。用它構(gòu)建的虛擬儀器或計(jì)算機(jī)測試系統(tǒng)性能不可能太高。目前作為計(jì)算機(jī)化儀器的一個(gè)重要發(fā)展方向是制定了VXI標(biāo)準(zhǔn),這是一種插卡式的儀器。每一種儀器是一個(gè)插卡,為了保證儀器的性能,又采用了較多的硬件,但這些卡式儀器本身都沒有面板,其面板仍然用虛擬的方式在計(jì)算機(jī)屏幕上出現(xiàn)。這些卡插入標(biāo)準(zhǔn)的VXI機(jī)箱,再與計(jì)算機(jī)相連,就組成了一個(gè)測試系統(tǒng)。VXI儀器價(jià)格昂貴,目前又推出了一種較為便宜的PXI標(biāo)準(zhǔn)儀器。    虛擬儀器研究的另一個(gè)問題是各種標(biāo)準(zhǔn)儀器的互連及與計(jì)算機(jī)的連接。目前使用較多的是IEEE 488或GPIB協(xié)議。未來的儀器也應(yīng)當(dāng)是網(wǎng)絡(luò)化的。  

7、0; LabVIEW(Laboratory Virtual instrument Engineering)是一種圖形化的編程語言,它廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,視為一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件。LabVIEW集成了與滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能。它還內(nèi)置了便于應(yīng)用TCP/IP、ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù)。這是一個(gè)功能強(qiáng)大且靈活的軟件。利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動(dòng)有趣。    圖形化的程序語言,又稱為“”語言。使用這種語言編程時(shí),基本上不寫程序代碼,取

8、而代之的是流程圖或框圖。它盡可能利用了技術(shù)人員、科學(xué)家、工程師所熟悉的術(shù)語、圖標(biāo)和概念,因此,LabVIEW是一個(gè)面向最終用戶的工具。它可以增強(qiáng)你構(gòu)建自己的科學(xué)和工程系統(tǒng)的能力,提供了實(shí)現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進(jìn)行原理研究、設(shè)計(jì)、測試并實(shí)現(xiàn)儀器系統(tǒng)時(shí),可以大大提高工作效率。    利用LabVIEW,可產(chǎn)生獨(dú)立運(yùn)行的可執(zhí)行文件,它是一個(gè)真正的位編譯器。像許多重要的軟件一樣,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多種版本。手把手教你從零開始用labview編寫智能車上位機(jī)程序(3), , , ,   

9、;           程序結(jié)構(gòu)  這一篇,我將給大家講解一下labview中程序執(zhí)行的順序。最終目標(biāo)是大家能夠知道第二篇中那個(gè)程序里的框框是干什么的,為了簡單,所以不會(huì)全講,剩余的到以后需要使用的時(shí)候再說。  在labview中,默認(rèn)情況下,程序的執(zhí)行順序是沿著數(shù)據(jù)流動(dòng)的方向運(yùn)行的。我們把第二篇中的那個(gè)串口接收程序簡化一下就成了上面的這個(gè)樣子。首先是配置串口,配置好的串口的數(shù)據(jù)流到緩沖區(qū),我們設(shè)置好一個(gè)4096字節(jié)大小的緩沖區(qū)。于是得到了來自于串口的4096個(gè)字節(jié)的串口數(shù)據(jù)

10、,然后我們再用“串口讀取”從中取出這4096字節(jié)個(gè)數(shù)據(jù),然后把這4096字節(jié)是數(shù)據(jù)輸出到“接收數(shù)據(jù)”的那個(gè)框里,于是我們就可以看到從串口收到的字符了。  但這樣的話,你會(huì)發(fā)現(xiàn)程序只能運(yùn)行一次,然后就停止。我們?nèi)绾尾拍茏尦绦虿煌5难h(huán)這個(gè)步驟,當(dāng)我們想讓他停的時(shí)候他才停呢?  我們可以在函數(shù)面板的空白處點(diǎn)擊右鍵,如下圖所示找到while結(jié)構(gòu)構(gòu)然后就會(huì)出現(xiàn)一個(gè)可以拖動(dòng)的方框,拖動(dòng)他把你想不停執(zhí)行的部分包含在這個(gè)框里面然后就會(huì)變成這樣但是還沒完,在這個(gè)框里面的右下角有一個(gè)紅色的點(diǎn),在他的左面有一個(gè)可以連接的“布爾”型連線,右擊這個(gè)線,創(chuàng)建-常量于是他的上面就連接了一個(gè)“F”的常量

11、,表明這個(gè)循環(huán)不會(huì)停止。也就是說這個(gè)while大方框里面的程序會(huì)不停的循環(huán)運(yùn)行。  現(xiàn)在我們的串口程序每從串口接收到4096個(gè)字節(jié)的數(shù)據(jù)就把它顯示在那個(gè)“接收數(shù)據(jù)”方框里,不斷循環(huán)。但是我們現(xiàn)在還面臨一個(gè)問題,那就是。每當(dāng)接收到4096個(gè)字符串后,把他們顯示在程序中時(shí),以前的數(shù)據(jù)就全部沒有了,我們?nèi)绾尾拍茏屢郧暗臄?shù)據(jù)都保存在里面呢?  在while循環(huán)里還有一種結(jié)構(gòu),叫移位寄存器,右鍵點(diǎn)擊while循環(huán)的那個(gè)框,選擇“添加移位寄存器”。如下圖    在while方框上出現(xiàn)了兩個(gè)三角形的符號(hào),這就是移位寄存器。移位寄存器的意思大概是把一次循環(huán)中計(jì)算的數(shù)據(jù)放在右邊的那個(gè)三角形里,在下一次循環(huán)時(shí),從左邊的那個(gè)三角形里取出來進(jìn)行運(yùn)算,其實(shí)就跟C語言里的變量類似,通過這種方式我們可以把上一次循環(huán)中的數(shù)據(jù)用在下一次循環(huán)中(我講的不是很準(zhǔn)確,應(yīng)該就是這么用吧。其實(shí)還有其他方法,也可以使用局部變

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論