盧崇雨 周慶紅
摘 要:LabVIEW作為一種G語言編程軟件的代表,編程方便、易學(xué),擁有成套的控制VI以及對聲卡信號采集與輸出的VI,結(jié)合聲卡可以設(shè)計(jì)很好的平面控制系統(tǒng)。通過AutoCAD繪制平面圖形,用LabVIEW對圖形數(shù)據(jù)進(jìn)行采集、去值、排序、控制四大步驟,設(shè)計(jì)出了良好的平面控制系統(tǒng)程序,結(jié)果穩(wěn)定、精確。
關(guān)鍵詞:LabVIEW;平面控制系統(tǒng);聲卡
1 引言
目前,控制系統(tǒng)的編程軟件非常多,各類編程語言也數(shù)不勝數(shù),具有代表性的有C語言、C++及匯編語言等,相比LabVIEW軟件來講,由于他們具有嚴(yán)格的語言邏輯以及語言規(guī)則,所有在設(shè)計(jì)、實(shí)踐中往往比較復(fù)雜,而LabVIEW作為一種G語言,以圖形,線條,結(jié)點(diǎn)的形式進(jìn)行編程,簡單易學(xué)。而且圖形所表示的功能已經(jīng)用完善的代碼集成過,拿來就用,也節(jié)省了大量的工作任務(wù)。聲卡作為一種普遍而且常用的材料,能夠在LabVIEW自帶的聲卡VI中得到更好的運(yùn)用和體現(xiàn),二者結(jié)合是作為平面控制系統(tǒng)最實(shí)用的,最方便的,而且成本較低的體現(xiàn)。
2 LabVIEW軟件介紹
LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā),類似于C和BASIC開發(fā)環(huán)境,但是它與其他計(jì)算機(jī)語言的顯著區(qū)別是:其他計(jì)算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言,LabVIEW采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點(diǎn)之間的數(shù)據(jù)流向決定了VI及函數(shù)的執(zhí)行順序。VI指虛擬儀器,是LabVIEW的程序模塊。虛擬儀器具備很好的數(shù)據(jù)采集、仿真、數(shù)字信號處理的功能。LabVIEW擁有專門用于控制領(lǐng)域的模塊——LabVIEWDSC以及NI-Motion。除此之外,工業(yè)控制領(lǐng)域常用的設(shè)備、數(shù)據(jù)線等通常也都帶有相應(yīng)的LabVIEW驅(qū)動程序。使用LabVIEW可以非常方便的編制各種控制程序。
3 聲卡介紹
3.1 PCI聲卡
PCI聲卡就是指采用PCI接口的獨(dú)立聲卡,PCI是Peripheral Component Interconnect(外設(shè)部件互連標(biāo)準(zhǔn))的縮寫,它是目前個人電腦中使用最為廣泛的接口,幾乎所有的主板產(chǎn)品上都帶有這種插槽。從結(jié)構(gòu)上看,PCI是在CPU的供應(yīng)商和原來的系統(tǒng)總線之間插入的一級總線,具體由一個橋接電路實(shí)現(xiàn)對這一層的管理,并實(shí)現(xiàn)上下之間的接口以協(xié)調(diào)數(shù)據(jù)的傳送。
3.2 USB聲卡
USB聲卡在原理上和結(jié)構(gòu)上與普通的板載聲卡很相似,但是由于USB具有其外置特點(diǎn),他就沒有了電路體積的限制,所以他能夠通過復(fù)雜的模擬電路并采用更好的屏蔽設(shè)計(jì)從而提高音質(zhì)。脫離機(jī)箱,擁有不錯的音質(zhì)使他在性能上,實(shí)用性上得到了很大的提升,價格也相對較低,因此我們采用的是USB聲卡作為平面控制系統(tǒng)的輸出部分。
4 LabVIEW程序設(shè)計(jì)
4.1圖形的數(shù)據(jù)導(dǎo)入程序
通過在AutoCAD中繪制出平面圖形,將其導(dǎo)入到LabVIEW當(dāng)中,應(yīng)用到LabVIEW中數(shù)據(jù)采集的VI,能夠較為方便的獲取平面圖形的坐標(biāo)信息,然后設(shè)置相關(guān)閾值去除掉無關(guān)或者重復(fù)的坐標(biāo),簡化數(shù)據(jù),提高平面系統(tǒng)控制速度。
4.2 數(shù)據(jù)的排序整理設(shè)計(jì)
作為平面控制系統(tǒng),應(yīng)該具有良好的控制路徑和軌跡,才能按照工廠或者設(shè)計(jì)要求做出相應(yīng)的反應(yīng)或者動作,系統(tǒng)通過對圖形數(shù)據(jù)的處理后獲取的數(shù)據(jù),先通過最近值搜索的方法尋找最接近的坐標(biāo)點(diǎn),然后用距離公式計(jì)算出每一個搜索出來的點(diǎn)到起始點(diǎn)的距離大小,篩選出最小值作為相鄰點(diǎn),最后能夠篩選出較準(zhǔn)確的路徑出來。
4.3 聲卡輸出設(shè)計(jì)
LabVIEW軟件中有一個和聲卡數(shù)據(jù)采集輸出非常類似的子VI—Generate Sound,通過分析得出PCI聲卡和USB聲卡在LabVIEW中的設(shè)置基本類似,所以通過對已有程序的優(yōu)化,改進(jìn)過后,能夠?qū)⒌玫降臄?shù)據(jù)通過聲卡輸出,所得到的結(jié)果從示波器上可以觀察到是近似的正弦信號。但由于對步進(jìn)電機(jī)的驅(qū)動必須采用一定頻率的脈沖信號,所以接下來我們需要對已獲得的數(shù)據(jù)重新進(jìn)行處理,將正弦信號轉(zhuǎn)換成脈沖信號。
4.4 控制系統(tǒng)程序設(shè)計(jì)
步進(jìn)電機(jī)是由脈沖信號驅(qū)動其運(yùn)動,其運(yùn)動速率正比于脈沖信號的頻率,根據(jù)步進(jìn)電機(jī)的參數(shù)通過計(jì)算求出步進(jìn)電機(jī)運(yùn)動距離和脈沖個數(shù)的關(guān)系。步進(jìn)電機(jī)在平面X,Y軸的速度比例可以根據(jù)兩點(diǎn)坐標(biāo)距離差值來確定脈沖個數(shù)。對于控制電機(jī)正反轉(zhuǎn)問題就是對坐標(biāo)求差的結(jié)果做一個判斷,差值為負(fù)設(shè)置電機(jī)反轉(zhuǎn),為正則正轉(zhuǎn)即可。最關(guān)鍵的一個程序設(shè)計(jì)就是將正弦信號轉(zhuǎn)換為脈沖信號。
5 結(jié)果分析
通過理論分析,程序設(shè)計(jì),實(shí)驗(yàn)測試最終能夠較好的按照一定軌跡[3]還原圖像,在速度,精度上能夠較好的達(dá)到一般設(shè)計(jì),施工要求。程序比較穩(wěn)定,能快速搜索鄰近點(diǎn),并能很好的進(jìn)行電機(jī)的控制,輸出波形也符合步進(jìn)電機(jī)工作要求。但是針對平面復(fù)雜圖形還需優(yōu)化自己的尋點(diǎn)程序,增強(qiáng)精度,對大數(shù)據(jù)的處理還有待提高,甚至改進(jìn)更為簡潔快速算法。
6 總結(jié)
LabVIEW和聲卡的平面控制系統(tǒng)具有其強(qiáng)大的發(fā)展空間,在系統(tǒng)設(shè)計(jì),軟件優(yōu)化上面都可以進(jìn)一步改進(jìn)。在現(xiàn)代工業(yè)高速發(fā)展的時代,我們還需要尋找到更為創(chuàng)新,迅捷,低成本的自動控制系統(tǒng),提高企業(yè)和工廠的運(yùn)輸效率。未來的3D打印技術(shù)也會更快更好的發(fā)展,LabVIEW和聲卡的平面控制系統(tǒng)也許能在發(fā)展完善的道路上,對3D打印行業(yè)起到不可小覷的作用。
參考文獻(xiàn)
[1] 謝志建.PCI聲卡WDM驅(qū)動程序研究與設(shè)計(jì)[D].中國地質(zhì)大學(xué)(北京):計(jì)算機(jī)應(yīng)用技術(shù),2005.9-12.
[2] 孫春龍.基于LabVIEW多通道數(shù)據(jù)采集分析系統(tǒng)開發(fā)[D].武漢大學(xué):機(jī)械電子工程,2004.7-9.
[3] 鳳俊翔,劉維亭,薛銘剛.基于LabVIEW和AutoCAD VBA的運(yùn)動控制系統(tǒng).計(jì)算機(jī)工程與設(shè)計(jì),2010,31(23).