基于VC的運(yùn)動(dòng)控制卡軟件系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于VC的運(yùn)動(dòng)控制卡軟件系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于VC的運(yùn)動(dòng)控制卡軟件系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于VC的運(yùn)動(dòng)控制卡軟件系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于VC的運(yùn)動(dòng)控制卡軟件系統(tǒng)設(shè)計(jì)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

基于VC++的運(yùn)動(dòng)限制卡軟件系統(tǒng)設(shè)計(jì)在自動(dòng)限制領(lǐng)域,基于PC和運(yùn)動(dòng)限制卡的伺服系統(tǒng)正演繹著一場(chǎng)工業(yè)自動(dòng)化的革命。目前,常用的多軸限制系統(tǒng)主要分為3大塊:基于PLC的多軸定位限制系統(tǒng),基于PC_based的多軸限制系統(tǒng)和基于總線的多軸限制系統(tǒng)。由于PC機(jī)在各種工業(yè)現(xiàn)場(chǎng)的廣泛運(yùn)動(dòng),先進(jìn)限制理論和DSP技術(shù)實(shí)現(xiàn)手段的并行發(fā)展,各種工業(yè)設(shè)備的研制和改造中急需一個(gè)運(yùn)動(dòng)限制模塊的硬件平臺(tái),以及為了滿意新型數(shù)控系統(tǒng)的標(biāo)準(zhǔn)化、柔性化、開(kāi)放性等要求,使得基于PC和運(yùn)動(dòng)限制卡的伺服系統(tǒng)備受青睞。本文主要是利用VC++6.0供應(yīng)的MFC應(yīng)用程序開(kāi)發(fā)平臺(tái)探究探討平面2-DOF四分之過(guò)驅(qū)動(dòng)并聯(lián)機(jī)構(gòu)的運(yùn)動(dòng)限制系統(tǒng)的軟件開(kāi)發(fā)。平面2-DOF四分之過(guò)驅(qū)動(dòng)并聯(lián)機(jī)構(gòu)的限制系統(tǒng)組成并聯(lián)機(jī)構(gòu)的本體如圖1,該機(jī)構(gòu)由4個(gè)分支鏈組成,每條支鏈的一段與驅(qū)動(dòng)電動(dòng)機(jī)相連,而另一端相交于同一點(diǎn)。該并聯(lián)機(jī)構(gòu)的操作末端有2個(gè)自由度(即X方向和Y方向的平動(dòng)),驅(qū)動(dòng)輸入數(shù)目為4,從而組成過(guò)驅(qū)動(dòng)并聯(lián)機(jī)構(gòu)。限制系統(tǒng)的硬件主要有4部分組成:PC機(jī),四軸運(yùn)動(dòng)限制卡,伺服驅(qū)動(dòng)器和直流電動(dòng)機(jī)。系統(tǒng)選用的是一般PC機(jī),固高公司的GT-400-SV-PCI運(yùn)動(dòng)限制卡,瑞士Maxon公司的四象限直流伺服驅(qū)動(dòng)器及直流永磁電動(dòng)機(jī)。伺服驅(qū)動(dòng)器型號(hào)為4-Q-DCADS50/5,與驅(qū)動(dòng)器適配直流電動(dòng)機(jī)型號(hào)為MaxonRE-35。運(yùn)動(dòng)限制系統(tǒng)的構(gòu)成如圖2所示。上位限制單元由PC機(jī)和運(yùn)動(dòng)限制卡一起組成,板卡插在PC機(jī)主板上的PCI插槽內(nèi)。PC機(jī)主要負(fù)責(zé)信息流和數(shù)據(jù)流的管理,以及從運(yùn)動(dòng)限制卡讀取位置數(shù)據(jù),并經(jīng)過(guò)計(jì)算后將限制指令發(fā)給運(yùn)動(dòng)限制卡。驅(qū)動(dòng)器限制模式采納編碼器速度限制,驅(qū)動(dòng)器接受到運(yùn)動(dòng)限制卡發(fā)出的模擬電壓,通過(guò)內(nèi)部的PWM電路限制直流電動(dòng)機(jī)RE-35的運(yùn)轉(zhuǎn),并接受直流電動(dòng)機(jī)RE-35上的編碼器反饋信號(hào)調(diào)整對(duì)電動(dòng)機(jī)的限制,如此構(gòu)成一個(gè)半閉環(huán)的直流伺服限制系統(tǒng)。1.1GT-400-SV限制卡介紹固高公司生產(chǎn)的GT系列運(yùn)動(dòng)限制卡GT-400-SV-PCI可以同步限制4個(gè)軸,實(shí)現(xiàn)多軸協(xié)調(diào)運(yùn)動(dòng)。其核心由ADSP2181數(shù)字信號(hào)處理器和FPGA組成,能實(shí)現(xiàn)高性能的限制計(jì)算。限制卡同時(shí)供應(yīng)了C語(yǔ)言函數(shù)庫(kù)和Windows下的動(dòng)態(tài)鏈接庫(kù),可實(shí)現(xiàn)困難的限制功能。主要功能如下:PCI總線,即插即用;可編程伺服采樣周期,4軸最小插補(bǔ)周期為200us,單軸點(diǎn)位運(yùn)動(dòng)最小限制周期為25us;4路16位辨別率模擬電壓輸出信號(hào)或脈沖輸出信號(hào)模擬量輸出范圍:-10V-+10V,每路課獨(dú)立限制,互不影響;4路四倍頻增量編碼器輸入,作為各軸反饋信號(hào)輸入,最高頻率8MHz;四軸協(xié)調(diào)運(yùn)動(dòng);每軸2路限位開(kāi)關(guān)信號(hào)、一路原點(diǎn)信號(hào)及一路驅(qū)動(dòng)報(bào)警信號(hào)輸入;每軸1路驅(qū)動(dòng)使能信號(hào)、1路驅(qū)動(dòng)復(fù)位信號(hào)輸出;運(yùn)動(dòng)方式:?jiǎn)屋S點(diǎn)位運(yùn)動(dòng)、直線插補(bǔ)、圓弧插補(bǔ)、速度限制模式、電子齒輪模式;PID(比例-積分-微分)數(shù)字濾波器,帶速度和加速度前饋,帶積分限值、偏差補(bǔ)償和低通濾波器;支持DOS、WindowsNT/2000/XP等操作系統(tǒng),供應(yīng)底層庫(kù)函數(shù),可用DOS、VC、VB等進(jìn)行軟件開(kāi)發(fā)。限制卡結(jié)構(gòu)及端子板的接口如圖3所示。直流永磁電動(dòng)機(jī)PWM驅(qū)動(dòng)基本原理圖4為利用開(kāi)關(guān)管實(shí)現(xiàn)直流電動(dòng)機(jī)PWM調(diào)速限制的原理圖和輸入輸出電壓波形。當(dāng)開(kāi)關(guān)MOSFET的柵極輸入高電平常,開(kāi)關(guān)管導(dǎo)通,直流電動(dòng)機(jī)電樞繞組兩端有電壓Us。T1時(shí)間后,柵極輸入變?yōu)榈碗娖?,開(kāi)關(guān)管截止,電動(dòng)機(jī)電樞兩端電壓為零。T2時(shí)間后,柵極輸入重新變?yōu)楦唠娖?,開(kāi)關(guān)管重復(fù)前面的動(dòng)作過(guò)程。這樣,對(duì)應(yīng)著輸入的點(diǎn)評(píng)凹凸,直流伺服電動(dòng)機(jī)電樞繞組兩端的電壓波形如圖4b所示。占空比a表示了在一個(gè)周期T里,開(kāi)關(guān)管導(dǎo)通的時(shí)間與周期的比值。a的變更范圍為0<a<1。由此式可知,當(dāng)電源電壓Us不變的狀況下,電樞繞組兩端的電壓平均值Uo取決于占空比a的大小,變更a的值就可以變更端電壓的平均值,從而達(dá)到調(diào)速的目的。2基于GT-400-SV-PCI卡的軟件設(shè)計(jì)GT-400-SV限制卡具有良好的開(kāi)放性,用戶可以再DOS、VC、VB、Delphi環(huán)境下進(jìn)行軟件開(kāi)發(fā)。文中是在Windows2000系統(tǒng)下利用VisualC++6.0的MFC以面對(duì)對(duì)象方式進(jìn)行編程。限制卡在Windows下開(kāi)發(fā)的底層動(dòng)態(tài)庫(kù)包括頭文件GT400.h,GT400.lib和GT400.dll。在VC++環(huán)境中運(yùn)用時(shí),選擇Project—Setting—Link,在Object/Librarymodules中輸入GT400.lib,然后就可以在程序中調(diào)用動(dòng)態(tài)鏈接庫(kù)中的函數(shù)。2.1Windows程序內(nèi)部運(yùn)行原理因?yàn)閂isualC++6.0是Windows開(kāi)發(fā)語(yǔ)言,所以用VisualC++6.0開(kāi)發(fā)程序之前首先須要弄清晰Windows程序內(nèi)部運(yùn)行機(jī)制。在Windows環(huán)境下的軟件開(kāi)發(fā)是完全不同于DOS下的,它是一種事務(wù)驅(qū)動(dòng)方式的程序設(shè)計(jì)模式,主要是基于消息的。當(dāng)用戶須要完成某種功能時(shí),會(huì)調(diào)用操作系統(tǒng)的某種支持,然后操作系統(tǒng)將用戶的須要包裝成消息并投遞到消息隊(duì)列當(dāng)中,最終應(yīng)用程序從消息隊(duì)列中取走消息并進(jìn)行響應(yīng)。2.2程序設(shè)計(jì)運(yùn)動(dòng)限制卡接受PC機(jī)上發(fā)出的操作吩咐和運(yùn)動(dòng)限制系統(tǒng)反饋回的信息,并據(jù)其進(jìn)行實(shí)時(shí)的運(yùn)動(dòng)操作,干脆限制伺服驅(qū)動(dòng)器。限制卡限制直流電動(dòng)機(jī)的過(guò)程可分為:打開(kāi)限制卡并初始化,設(shè)置運(yùn)動(dòng)參數(shù),執(zhí)行運(yùn)動(dòng)程序,關(guān)閉卡。限制系統(tǒng)流程圖如圖5所示??ǖ某跏蓟ǖ某跏蓟瘧?yīng)在程序起先時(shí)就執(zhí)行,主要用到的限制函數(shù)見(jiàn)表1。表1函數(shù)名稱及功能名稱功能GT_Open()打開(kāi)運(yùn)動(dòng)限制器設(shè)備GT_Reset()復(fù)位運(yùn)動(dòng)限制器GT_SetSmplTm()設(shè)置限制周期GT_LmtSns()設(shè)置限位開(kāi)關(guān)的有效電平GT_EncSns()設(shè)置編碼器的記數(shù)方向GT_CloseLp()設(shè)置為閉環(huán)限制GT_CtrlMode()設(shè)置輸出模擬量/脈沖量以上參數(shù)應(yīng)依據(jù)具體的硬件平臺(tái)來(lái)設(shè)置,一般只在程序初始化時(shí)設(shè)置一次,以后不應(yīng)再設(shè)置。另外,限制周期的設(shè)定GT_SetSmplTm(doubleTimer),參數(shù)Timer的單位是us。因?yàn)檫\(yùn)動(dòng)限制卡要在限制周期內(nèi)完成必要的限制計(jì)算,限制周期不能太小,因此設(shè)定的范圍為48-1966.08us。運(yùn)動(dòng)限制卡默認(rèn)的限制周期為200us,這個(gè)限制周期對(duì)于一般的用戶能夠平安牢靠地工作。一般狀況下,在程序中不應(yīng)變更限制周期值,否則會(huì)出現(xiàn)不行預(yù)期的后果。運(yùn)動(dòng)限制模塊該運(yùn)動(dòng)限制卡可以實(shí)現(xiàn)單軸及多軸協(xié)調(diào)運(yùn)動(dòng)。對(duì)于單軸所執(zhí)行的運(yùn)動(dòng)操作有肯定運(yùn)動(dòng)、連續(xù)點(diǎn)動(dòng)、急停緩?fù)?、回零等;?duì)于多軸協(xié)調(diào)運(yùn)動(dòng)有直線插補(bǔ)和圓弧插補(bǔ)。單軸運(yùn)動(dòng)限制主要用來(lái)調(diào)試直流電動(dòng)機(jī)運(yùn)動(dòng)性能。采納梯形曲線運(yùn)動(dòng)模式,設(shè)置速度、加速度、目標(biāo)位置3個(gè)參數(shù),通過(guò)設(shè)置合適的PIDP限制參數(shù),使電動(dòng)機(jī)運(yùn)動(dòng)達(dá)到系統(tǒng)設(shè)計(jì)要求。4軸協(xié)調(diào)運(yùn)動(dòng)采納直線插補(bǔ)法,正確的設(shè)置坐標(biāo)映射,合成速度、加速度,再加軌跡設(shè)置吩咐及目標(biāo)位置,即可實(shí)現(xiàn)四軸協(xié)調(diào)運(yùn)動(dòng)。運(yùn)動(dòng)限制卡通過(guò)坐標(biāo)映射函數(shù)GT_MapAxis(shortAxis_Num,double*map_count)將限制軸由單軸運(yùn)動(dòng)限制模式轉(zhuǎn)換為坐標(biāo)系運(yùn)動(dòng)限制模式。同時(shí)運(yùn)動(dòng)限制卡開(kāi)拓了底層運(yùn)動(dòng)數(shù)據(jù)緩沖區(qū),在坐標(biāo)系運(yùn)動(dòng)限制模式下,可以實(shí)現(xiàn)多段軌跡快速、穩(wěn)定的連續(xù)運(yùn)動(dòng)。這些運(yùn)動(dòng)操作都是相互獨(dú)立的,在限制面板中每個(gè)操作按鍵對(duì)應(yīng)一個(gè)獨(dú)立的事務(wù)。運(yùn)動(dòng)狀態(tài)顯示模塊通過(guò)調(diào)用GT_GetAltPos(long*Apos)和GT_GetPrfPnt(double*Pnt)分別獲得當(dāng)前軸的實(shí)際位置和坐標(biāo)系各軸的坐標(biāo)位置,參數(shù)*Apos返回實(shí)際位置,雙精度參數(shù)*Pnt指向一個(gè)長(zhǎng)度為4的數(shù)組。然后轉(zhuǎn)換成各電動(dòng)機(jī)的實(shí)際角度,并在限制面板上顯示。編程開(kāi)發(fā)實(shí)例現(xiàn)以單軸調(diào)試與4軸協(xié)調(diào)運(yùn)動(dòng)實(shí)現(xiàn)直線和圓軌跡為例具體介紹開(kāi)發(fā)過(guò)程:打開(kāi)VisualC++6.0,利用MFCAppWizard[exe]創(chuàng)建一個(gè)基于對(duì)話框的Robot2008工程,將GT400.h,GT400.lib添加進(jìn)工程,編程時(shí)要在頭文件里包含頭文件GT400.h。在對(duì)話框中添加按鈕和編輯框等操作見(jiàn)圖6。單軸限制模塊,先在OnInitDialog()中添加如下代碼,進(jìn)行初始化工作:GT_Open();GT_Reset();GT_LmtsOff();GT_AlarmOff();GT_CtrlMode(0);GT_CloseLp();在CRobot2008Dlg中添加成員變量m_Kp,m_Ki,m_Kd,m_Pos,m_Vel,m_Acc并作原型說(shuō)明。然后在“單軸運(yùn)動(dòng)”按鈕添加BN_CLICKED消息響應(yīng)的函數(shù)OnButtonSrtMov(),并在函數(shù)中添加如下代碼:GT_Axis();GT_AxisOn();GT_ZeroPos();GT_PrflT();GT_SetKp(m_Kp);GT_SetKi(m_Ki);GT_SetKd(m_Kd);GT_SetPos(m_Pos);GT_SetVel(m_Vel);GT_SetAcc(m_Acc);GT_Update();最終在“單軸停止”按鈕BN_CLICKED響應(yīng)函數(shù)OnButtonStop()中添加代碼:GT_AxisOff();GT_Close();四軸協(xié)調(diào)運(yùn)動(dòng)的初始化與單軸狀況基本相同,但要加入坐標(biāo)映射函數(shù)GT_MapAxis(shortAxis_Num,double*map_count)。doublecnt1[5]={1,0,0,0,0};doublecnt2[5]={0,1,0,0,0};doublecnt3[5]={0,0,1,0,0};doublecnt4[5]={0,0,0,1,0};GT_MapAxis(1,cnt1);GT_MapAxis(2,cnt2)GT_MapAxis(3,cnt3);GT_MapAxis(4,cnt4);GT_MvXYZA(0,0,0,0,1,0.01);前文已提到,運(yùn)動(dòng)顯示模塊經(jīng)編譯無(wú)誤后生

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論