技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > LabVIEW怎么做復(fù)雜的多軸運(yùn)控系統(tǒng)?手把手教你設(shè)計思路實(shí)現(xiàn)

LabVIEW怎么做復(fù)雜的多軸運(yùn)控系統(tǒng)?手把手教你設(shè)計思路實(shí)現(xiàn)

時間:2020-08-17 14:11:21來源:

導(dǎo)語:?LabVIEW是美國NI公司開發(fā)的一種圖形化編程語言,其功能強(qiáng)大,具有編程直觀、簡便、快捷的特點(diǎn),正受到越來越多編程人士的青睞,尤其是非軟件專業(yè)人員。本文采用“PC+運(yùn)動控制卡”的設(shè)計方案,設(shè)計了基于LabVIEW的多軸運(yùn)動控制系統(tǒng),并提出了通過LabVIEW與外部代碼進(jìn)行連接的ActiveX技術(shù),調(diào)用運(yùn)動控制卡所提供的函數(shù),開發(fā)了實(shí)時多軸運(yùn)動控制系統(tǒng)軟件,滿足了實(shí)際工作的需求。

  運(yùn)動控制技術(shù)在國民經(jīng)濟(jì)和國防建設(shè)中所起的作用及其應(yīng)用的范圍越來越大。在工業(yè)生產(chǎn)中,運(yùn)動控制系統(tǒng)既用于提高產(chǎn)品質(zhì)量,也用于提高產(chǎn)品的產(chǎn)量。運(yùn)動控制技術(shù)正在不斷地深入到各個領(lǐng)域并迅速地向前推進(jìn),其應(yīng)用范圍已經(jīng)涵蓋了幾乎所有的工業(yè)領(lǐng)域。隨著近年來工業(yè)的發(fā)展,對各種機(jī)械性能和產(chǎn)品質(zhì)量要求的逐漸提高,針對一臺電機(jī)的控制已經(jīng)不能完成一些復(fù)雜軌跡的生成,這就需要人們協(xié)調(diào)控制多臺電機(jī),由此產(chǎn)生了多軸運(yùn)動控制系統(tǒng)。

  LabVIEW是美國NI公司開發(fā)的一種圖形化編程語言,其功能強(qiáng)大,具有編程直觀、簡便、快捷的特點(diǎn),正受到越來越多編程人士的青睞,尤其是非軟件專業(yè)人員。本文采用“PC+運(yùn)動控制卡”的設(shè)計方案,設(shè)計了基于LabVIEW的多軸運(yùn)動控制系統(tǒng),并提出了通過LabVIEW與外部代碼進(jìn)行連接的ActiveX技術(shù),調(diào)用運(yùn)動控制卡所提供的函數(shù),開發(fā)了實(shí)時多軸運(yùn)動控制系統(tǒng)軟件,滿足了實(shí)際工作的需求。

  01

  系統(tǒng)硬件的設(shè)計

  本文釆用“PC+運(yùn)動控制卡”模式對多軸運(yùn)動控制系統(tǒng)進(jìn)行設(shè)計。這樣構(gòu)造的多軸運(yùn)動控制系統(tǒng)只需根據(jù)對被控制對象的控制要求,在Windows環(huán)境下設(shè)計符合用戶操作的人機(jī)界面和功能程序,就可達(dá)到多軸運(yùn)動控制的目的。整個多軸運(yùn)動控制系統(tǒng)的硬件由PC機(jī)、運(yùn)動控制卡、電動機(jī)、驅(qū)動器、執(zhí)行機(jī)構(gòu)等部分組成,PC機(jī)和運(yùn)動控制卡通過PCI總線進(jìn)行通信,且在PC機(jī)上利用LabVIEW軟件開發(fā)平臺進(jìn)行上層控制軟件的設(shè)計開發(fā),其系統(tǒng)結(jié)構(gòu)與原理示意如圖1。

  此多軸運(yùn)動控制系統(tǒng)是典型的上、下位機(jī)結(jié)構(gòu),便于對多軸運(yùn)動控制的協(xié)調(diào)和管理提高控制的實(shí)時性PC機(jī)作為上位機(jī),可完成對多軸運(yùn)動的位置、加速度、速度等參數(shù)進(jìn)行設(shè)定,完成對人機(jī)界面管理、信息顯示和預(yù)處理等非實(shí)時處理任務(wù)。運(yùn)動控制卡為下位機(jī),接收來自PC機(jī)的控制信號并進(jìn)行實(shí)時處理,實(shí)現(xiàn)運(yùn)動控制算法,并根據(jù)作業(yè)的要求和傳感器件的信號進(jìn)行必要的邏輯微數(shù)學(xué)運(yùn)算,為各電機(jī)提供正確的控制信號以完成所要求的多軸運(yùn)動,且可向PC機(jī)實(shí)時返回當(dāng)前運(yùn)動的位置、速度等參數(shù),以便在PC機(jī)上可經(jīng)過軟件編程實(shí)現(xiàn)運(yùn)動軌跡圖像的顯示。

  圖片1

  此多軸運(yùn)動控制系統(tǒng)以專用的運(yùn)動控制卡為獨(dú)立的標(biāo)準(zhǔn)部件,運(yùn)動控制卡采用的是美國Parkerhan-nifin公司生產(chǎn)的最新系列運(yùn)動控制卡ACR1505,與同類產(chǎn)品相比其具有較高的性能,尤其在控制精度速度和易操作性方面表現(xiàn)優(yōu)異,多用于較高性能的運(yùn)動控制。它采用32字節(jié)浮點(diǎn)DSP,具有120MFOPS的處理能力,有4個30MHz編碼器的輸入,使用PCI總線和上位機(jī)通信能夠?qū)λ妮S伺服或步進(jìn)電機(jī)進(jìn)行控制。電機(jī)和驅(qū)動器均采用上海鳴志公司生產(chǎn)的高性能產(chǎn)品。傳感器采用增量式脈沖編碼器,用于閉環(huán)伺服系統(tǒng)的位置檢測這樣可以明顯縮短設(shè)計和開發(fā)周期提高系統(tǒng)的性能。

  將運(yùn)動控制卡以插卡形式嵌入PC機(jī),即構(gòu)成“PC+運(yùn)動控制卡”模式多軸運(yùn)動控制系統(tǒng)。這樣將PC的信息處理能力和開放式的特點(diǎn)與運(yùn)動控制卡的運(yùn)動軌跡控制能力有機(jī)結(jié)合在一起,使得該多軸運(yùn)動控制系統(tǒng)具有信息處理能力強(qiáng)、開放程度高、運(yùn)動軌跡控制準(zhǔn)確、通用性好的特點(diǎn)。

  02

  系統(tǒng)軟件的開發(fā)

  在系統(tǒng)的控制軟件方面,通過在PC機(jī)上用LabVIEW軟件來設(shè)計開發(fā)了多軸運(yùn)動控制系統(tǒng)的控制界面和控制程序。在系統(tǒng)控制界面中輸入多軸運(yùn)動的目標(biāo)位置加速度、速度等運(yùn)動控制參數(shù),ACR1505運(yùn)動控制卡就會根據(jù)此信息控制電機(jī)的運(yùn)動,完成對運(yùn)動軌跡的規(guī)劃和對實(shí)時運(yùn)動位置坐標(biāo)的讀取。

  本文采用LabVIEW作為上位PC機(jī)軟件系統(tǒng)的開發(fā)平臺,編程方便,人機(jī)交互界面直觀友好,摒棄了傳統(tǒng)開發(fā)工具的復(fù)雜性,在提供強(qiáng)大功能的同時保證了系統(tǒng)靈活性。LabVIEW提供了ActiveX外部程序接口能力,通過ActiveX能夠方便地調(diào)用運(yùn)動控制卡中的程序、控件等。通過ActiveX自動化LabVIEW既可以作為客戶端,也可以作為服務(wù)器作為客戶端,LabVIEW可以調(diào)用ActiveX自動化服務(wù)器中的ActiveX對象,獲得其屬性和方法,用戶可以應(yīng)用這些屬性和方法進(jìn)行編程。本文就是在LabVIEW平臺上通過ActiveX技術(shù)調(diào)用運(yùn)動控制卡所提供的ActiveX自動化服務(wù)器程序中的ActiveX對象,進(jìn)行進(jìn)一步的編程處理,從而實(shí)現(xiàn)對多軸運(yùn)動的位置速度、加速度等的控制以及插補(bǔ)等運(yùn)動控制算法的實(shí)現(xiàn),完成對多軸運(yùn)動控制系統(tǒng)的控制功能的快速開發(fā),大大縮短了開發(fā)周期。

  運(yùn)動控制卡ACR1505提供一個名為“Co-mACRsrvr”的ActiveX自動化服務(wù)器,這個ActiveX自動化服務(wù)器包含了4個可供調(diào)用的ActiveX對象,分別為status(狀態(tài))、control(控制)、terminal(終端)和utility(效用),這些ActiveX對象提供了對運(yùn)動控制卡操作的多種屬性和方法。例如status提供了可以獲取運(yùn)動控制狀態(tài)信息和相關(guān)數(shù)據(jù)的屬性和方法;control提供了可以實(shí)現(xiàn)對運(yùn)動控制參數(shù)如速度、位置等數(shù)據(jù)進(jìn)行設(shè)置等用于控制功能實(shí)現(xiàn)的屬性和方法。LabVIEW可以通過調(diào)用這些ActiveX對象,并對它的屬性和方法進(jìn)行訪問,實(shí)現(xiàn)對運(yùn)動控制卡的多種控制和操作功能。其主要實(shí)現(xiàn)過程如圖2所示。

  圖片2

  03

  控制程序的實(shí)現(xiàn)

  要實(shí)現(xiàn)多軸運(yùn)動控制程序,就要通過ActiveX自動化,將LabVIEW作為自動化客戶端,將運(yùn)動控制卡提供的函數(shù)作為自動化服務(wù)器,實(shí)現(xiàn)LabVIEW對運(yùn)動控制卡提供的ActiveX對象的調(diào)用,并訪問它的屬性和方法。LabVIEW中提供了豐富的有關(guān)ActiveX操作的函數(shù),這些函數(shù)位于其程序框圖的功能模板上的Connectvity--ActiveX面板上。其中主要函數(shù)有:AutomationOpen用于打開ActiveX對象,獲得對象的Reference;PropertyNode用于讀取或設(shè)置ActiveX對象的屬性;InvokeNode用于調(diào)用ActiveX對象提供的方法。

  LabVIEW作為自動化客戶端操作ActiveX對象,首先要將運(yùn)動控制卡提供的軟件包中名為ComACRSrvt。tlb的文件拷貝到LabVIEW軟件的文件目錄下。然后將AutomationOpen函數(shù)放置到LabVIEW程序框圖中,打開對ActiveX自動化功能的引用,并在此函數(shù)左上角的AutomationRefnum端子處創(chuàng)建一個與其相連的AutomationRefnum控件,由此控件進(jìn)行ActiveX對象的選擇和調(diào)用。將一個或多個方法(或?qū)傩?節(jié)點(diǎn)函數(shù)InvokeNode(或PropertyNodes)放置到程序框圖中,并將AutomationOpen函數(shù)右端的AutomationRefnum輸出與方法(或?qū)傩?節(jié)點(diǎn)的Referenceinput端連接就可以完成對該對象的方法(或?qū)傩?的訪問了。訪向一個ActiveX對象的多個屬性和方法,要將各節(jié)點(diǎn)順次首尾連接。

  本文設(shè)計出一個能完成多軸運(yùn)動功能的程序。此程序分兩個部分,分別為運(yùn)動控制部分和運(yùn)動顯示部分。其中完成兩軸運(yùn)動控制的程序前面板如圖3所示。

  圖片3

  運(yùn)動控制部分程序通過對control對象中的屬性和方法的訪問編程,并通過前面板對多軸運(yùn)動的速度、加速度運(yùn)動目標(biāo)位置和運(yùn)動模式的設(shè)置,完成對多軸運(yùn)動的控制。通過運(yùn)動模式選擇按鈕可對多軸運(yùn)動控制系統(tǒng)的運(yùn)動模式進(jìn)行選擇,可實(shí)現(xiàn)絕對運(yùn)動和相對運(yùn)動兩種運(yùn)動模式。絕對運(yùn)動是將輸人的目標(biāo)位置參數(shù)作為新運(yùn)動的絕對運(yùn)動距離;相對運(yùn)動是將此參數(shù)值作為新運(yùn)動相對當(dāng)前位置的運(yùn)動距離。運(yùn)動顯示部分通過調(diào)用status對象中的屬性和方法進(jìn)行編程,實(shí)現(xiàn)對多軸運(yùn)動的實(shí)時位置坐標(biāo)讀取和運(yùn)動軌跡顯示功能。此外本程序還增加了通信連接測試和錯誤報告顯示的功能,可通過連接測試指示燈的亮滅來顯示相應(yīng)的ActiveX對象是否被LabVIEW程序正確調(diào)用。若控制過程中出現(xiàn)錯誤,可在錯誤報告欄中查看錯誤報告,以便作出相應(yīng)處理。下面將對這兩部分程序進(jìn)行進(jìn)一步說明:

  圖片4

  運(yùn)動控制部分的程序框圖如圖4所示。其中fMoveACC、fMoveVE、bMoveAbsolute屬性分別用來設(shè)置運(yùn)動的加速度、速度和模式。connect方法用來設(shè)置控制卡與PC機(jī)的通信方式,將其設(shè)定為PCI總線方式。Move方法用來對運(yùn)動位置和參加運(yùn)動的軸數(shù)進(jìn)行設(shè)置。

  圖片5

  運(yùn)動顯示部分的程序框圖如圖5所示。其中主要通過status對象的GetACRCustom方法對控制卡返回的運(yùn)動位置坐標(biāo)等參數(shù)進(jìn)行讀取。設(shè)定對位置坐標(biāo)每10ms記錄一下此多軸運(yùn)動控制系統(tǒng)當(dāng)前的運(yùn)動位置坐標(biāo),并生成運(yùn)動軌跡圖。

  本文采用“PC+運(yùn)動控制卡”的多軸運(yùn)動控制系統(tǒng)方案設(shè)計了基于LabVIEW的多軸運(yùn)動控制系統(tǒng),并在LabVIEW軟件平臺上對多軸運(yùn)動控制系統(tǒng)的控制程序進(jìn)行了開發(fā)。目前,很多運(yùn)動控制程序的開發(fā)多采用VB、VC++等軟件編寫,有時編寫界面就占了程序編寫工作的很大一部分,不利于效率的提高。本文利用LabVIEW界面易操作性以及LabVIEW可以調(diào)用ActiveX等功能,實(shí)現(xiàn)了在LabVIEW軟件平臺下系統(tǒng)運(yùn)動控制程序的快速開發(fā)。這種方法能夠避免繁瑣的界面編程,縮短周期,提高效率。此系統(tǒng)已經(jīng)在水浸C掃描成像超聲無損檢測運(yùn)動系統(tǒng)中得到應(yīng)用,經(jīng)試驗(yàn)測定,此系統(tǒng)的定位精度為±0.065mm/300mm,重復(fù)精度為±0.05mm,分辨率為0.01mm,具有較高的控制精度和性能。

  隨著自動化技術(shù)的飛速發(fā)展,機(jī)器視覺檢測和控制系統(tǒng)已被廣泛應(yīng)用在工況監(jiān)視、產(chǎn)品檢驗(yàn)和自動控制等領(lǐng)域,以提高生產(chǎn)效率和生產(chǎn)自動化程度。其中最重要體現(xiàn)就是工業(yè)自動化流水線的多軸控制,如何實(shí)現(xiàn)整條流水線的監(jiān)視、自動控制,具體的循環(huán)設(shè)計思路是怎樣實(shí)現(xiàn)的,特別是遇到20、50軸甚至更多軸時,如何使用通用軟件做好LabVIEW聯(lián)動控制,統(tǒng)一系統(tǒng)軟件管理。

聲明:本文為轉(zhuǎn)載類文章,如涉及版權(quán)問題,請及時聯(lián)系我們刪除(QQ: 2737591964),不便之處,敬請諒解!

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:人機(jī)界面HMI的故障解決方法

下一篇:英威騰全數(shù)字化電源產(chǎn)品在河...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號