接口9030運(yùn)動(dòng)控制卡編程手冊(cè)_第1頁(yè)
接口9030運(yùn)動(dòng)控制卡編程手冊(cè)_第2頁(yè)
接口9030運(yùn)動(dòng)控制卡編程手冊(cè)_第3頁(yè)
接口9030運(yùn)動(dòng)控制卡編程手冊(cè)_第4頁(yè)
接口9030運(yùn)動(dòng)控制卡編程手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩165頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、9030 電機(jī)卡使用手冊(cè)2011/05/01V2.0東方機(jī)電技術(shù)公司保留所力東方機(jī)電技術(shù)公司(以下簡(jiǎn)稱東方規(guī)格等文件的權(quán)力。)保留在不事先通知的情況下,修改本手冊(cè)中的和東方不承擔(dān)由于使用本手冊(cè)或本不當(dāng),所造成直接的、間接的、特殊的、附帶的或相應(yīng)產(chǎn)生的損失或責(zé)任。東方或者間接地具有本及其軟件的專利權(quán)、和其它知識(shí)產(chǎn)權(quán)。,不得直接、制造、使用本及其相關(guān)部分。1運(yùn)動(dòng)中的 有 !使用者有責(zé)任在 中設(shè)計(jì)有效的出錯(cuò)處理和安全保護(hù)機(jī)制,東方 沒(méi)有義務(wù)或責(zé)任對(duì)由此造成的附帶的或相應(yīng)產(chǎn)生的損失負(fù)責(zé)。前言使用手冊(cè)的用途本手冊(cè)了 9030卡的功能、函數(shù)的用法、特定功能的編程實(shí)現(xiàn)等。通過(guò)閱讀本手冊(cè)用戶可以根據(jù)特定的系統(tǒng)

2、,編制用戶應(yīng)用程序,實(shí)現(xiàn)要求。使用手冊(cè)的使用對(duì)象本編程手冊(cè)適用于具有 c 語(yǔ)言編程基礎(chǔ)或 Windows 環(huán)境下使用動(dòng)態(tài)庫(kù)的基礎(chǔ),同時(shí)具有一定運(yùn)動(dòng)工作經(jīng)驗(yàn),對(duì)伺服和步進(jìn)的基本結(jié)構(gòu)有一定了解的工程開(kāi)發(fā)。使用手冊(cè)的主要內(nèi)容本手冊(cè)分為三章:第一章硬件指南主要介紹 9030 運(yùn)動(dòng)卡的硬件結(jié)構(gòu),方便工程技術(shù)安裝、調(diào)試參考;第二章軟件指南主要介紹 9030 運(yùn)動(dòng)卡的功能、庫(kù)函數(shù)詳解及編程實(shí)現(xiàn)。在隨配套的用戶光盤(pán)中有相關(guān)編程示例;第三章庫(kù)函庫(kù)函數(shù)的格式及功能,方便工程開(kāi)發(fā)考。查閱。另外,在使用手冊(cè)最后附錄為一些特殊功能的解釋,供用戶參信息公司包括:是介紹、技術(shù)支持、最新。在公司主頁(yè)上有關(guān)于發(fā)布、演示版軟件等

3、。的所有信息,同時(shí)也可以撥打(01062325085)咨詢關(guān)于公司和的信息。技術(shù)支持與售后服務(wù)你可以通過(guò)以下途徑獲得我們的技術(shù)支持和售后服務(wù):* 電子郵件:dfjzh:(010)62325085810* 發(fā)函至:北京市海淀區(qū)北四環(huán)中路 209 號(hào)健翔園 1 號(hào)樓 102室北京東方機(jī)電技術(shù)公司:1000832第一章 硬件指南1§1.1 概述1§1.2§1.3§1.49030 規(guī)格表1卡的安裝3卡的硬件連線3§1.5 電機(jī)信號(hào)5§1.5.1 伺服編碼器輸入連接方法6§1.5.2 軸信號(hào)連接原理7§1.5.3 伺服使能信

4、號(hào)連接原理7§1.6 VOUT/PWM 輸出選擇8§1.7 附加編碼器接口8§1.8 通用數(shù)字 IO 信號(hào)9§1.9 防干擾措施12§1.10 9030 卡易損元器件12第二章 編程指南14§2.1 一般說(shuō)明 . 14§2.2 軟件的安裝14§2.3 編譯與聯(lián)接(COMPILING AND LINKING)15§2.3.1§2.3.2§2.3.3§2.3.4Microsoft Visual C+15Microsoft Visual BASIC15Borland Delphi1

5、6Borland C+ Builder16§2.4 9030 卡工. 16§2.5 庫(kù)函數(shù)介紹18§2.5.1§2.5.2§2.5.4§2.5.5§2.5.6§2.5.7§2.5.8§2.5.9初始化函數(shù)18軸工作模式設(shè)定函數(shù)18運(yùn)動(dòng)函數(shù)19軸隨動(dòng)運(yùn)動(dòng)函數(shù)20位置捕捉函數(shù)21插補(bǔ)函數(shù)22插補(bǔ)疑問(wèn)25其它說(shuō)明34§2.5.10 庫(kù)函數(shù)一覽表36§2.6 NURBS 曲線41§2.6.1 NURBS 曲線概論423§2.6.2§2.6.3§

6、2.6.4§2.6.5§2.6.6NURBS 曲線插補(bǔ)工作流程43精度與速度. 44編程說(shuō)明46NURBS 曲線的計(jì)算46使用 NURBS 曲線擬合庫(kù)47第三章庫(kù)函數(shù)詳解48§3.1 初始化函數(shù)48§3.1.1§3.1.2InitCard _903048ExitCard _903049§3.2 軸常規(guī)設(shè)定函數(shù)49§3.2.2§3.2.3§3.2.4§3.2.5SetAxisWorkMode_903050SetAxisIO_903050SetAxisOutMode_903052SetEncoder

7、X4X1_903053§3.4 軸狀態(tài)函數(shù)54§3.4.1§3.4.2§3.4.3§3.4.4§3.4.5§3.4.6§3.4.7§3.4.8§3.4.9ReadAxisTheoryPos_903054ReadAxisEncodePos_903055ReadAxisPos_903056ReadAxisTECV_9030 . 56ReadAxisVel_903057ReadAxisState_903058IsPosCatch_903059ReadCatchPos_903059ResetPosCat

8、ch_903060§3.5 軸螺距誤差補(bǔ)償設(shè)置函數(shù)61§3.5.1§3.5.2§3.5.3§3.6§3.6.1§3.6.2§3.6.3§3.6.4§3.6.5§3.6.6§3.6.7§3.6.8§3.6.9SetAxisTEC_903061SetAxisTECData_903062SetAxisTECWork_903064運(yùn)動(dòng)函數(shù)65SetAxisPos _903065SetAxisVel _903066SetAxisStartVel _903067Set

9、AxisStopVel _903068SetAxisDec _903069SetAxisAcc _903070SetAxisSAcc _903070StartAxis_903071StartAxisVel_9030724§3.6.10§3.6.11§3.6.12§3.6.13§3.6.14§3.6.15§3.6.16§3.6.17§3.6.18§3.6.19§3.6.20AbortAxis_903073SetAxisStopDec_903073StopAxis_903074CeaseA

10、xis_903075Home_903075HomeFB_903076GoHome_903077LookZIndex_903080SetAxisOffset_903080SetAxiFBOffset_903081SetAxisPEL_903082§3.7 電子齒輪、位置跟隨83§3.7.1§3.7.2§3.7.3§3.7.4§3.7.5§3.7.6StartAxisEGear_903083SetActiveEncoder_903084SetAxisFE_903085CancelAxisFEG_903086GetEnAuto0F

11、lag_903087ResetEn0Flag_903088§3.8 軸位置比較輸出、電機(jī)使能輸出89§3.8.1 Set_IO_Pos_9030 . 89§3.8.2 Enable_IO_Pos_903089§3.8.3 SetAxisMotorOnOff_903090§3.9 通用 IO 讀寫(xiě)函數(shù)91§3.9.1§3.9.2§3.9.3§3.9.4§3.9.5§3.9.6§3.9.7§3.9.8Set_Emergency_Stop_903091ReadIO_903

12、092ReadIOBit_903092WriteIo_903093WriteIoBit_903094ReadOs_903095ReadOsBit_903095ReadMPGIO_903096§3.10 附加編碼器函數(shù)97§3.10.1§3.10.2§3.10.3ReadEncoderPos_903097HomeEncoder_903098SetEncodeCount_903098§3.11 PWM 脈沖/DA 輸出. 99§3.11.1§3.11.2PwmOut_903099PwmOut2_90301005§3.1

13、1.3§3.11.4PwmStop_9030101DAOut_9030101§3.12 插補(bǔ)函數(shù)102§3.12.1 插補(bǔ)初始化函數(shù)102§3.12.1.1§3.12.1.2§3.12.1.3§3.12.1.4LM_SetXAxis_9030102LM_OffXAxis_9030104LM_GetXStartPos_9030105LM_GetAxisStartPos_9030106§3.12.2 插補(bǔ)順序執(zhí)行函數(shù)106§3.12.2.1§3.12.2.2§3.12.2.3§3

14、.12.2.4§3.12.2.5§3.12.2.6§3.12.2.7§3.12.2.8§3.12.2.9§3.12.2.10§3.12.2.11§3.12.2.12LM_Line_9030106LM_LineMaxV_9030108LM_LineMeasure_9030109LM_GetMeasureState_9030110LM_LineFE_9030111LM_ArcCW_9030113LM_Wait_9030117LM_PWM_9030117LM_DA_9030118LM_IOOut_9030119LM_Wa

15、it_I_9030. 120LM_End_9030120§3.12.3 插補(bǔ)函數(shù)121§3.12.3.1§3.12.3.2§3.12.3.3§3.12.3.4§3.12.3.5§3.12.3.6§3.12.3.7§3.12.3.8§3.12.3.9§3.12.3.10§3.12.3.11§3.12.3.12§3.12.3.13§3.12.3.14§3.12.3.15§3.12.3.16LM_SetACCDec_9030121L

16、M_SetSAower_9030122LM_Start_9030123LM_CleanBuff_9030124LM_GetBuffLen_9030124LM_SetMinVel_9030125LM_SetMaxVel_9030126LM_SetParaAngle_9030126LM_GetLineNO_9030127LM_GetFactVel_9030128LM_SetPauseTime_9030129LM_Pause_9030129LM_Resume_9030130LM_SetSpeedRate_9030131LM_LineEnd_9030131LM_GetState_90301326

17、67;3.12.3.17§3.12.3.18§3.12.3.19§3.12.3.20§3.12.3.21§3.12.3.22§3.12.3.23§3.12.3.24LM_SetSysPara_9030133LM_SetAxisMaxErr_9030 .134LM_SetSpeedPri_9030135LM_GetFEnState_9030135LM_SetIpolCompCoef_9030136LM_SetForceCtrl_9030137Set_LM_PWM_Ctrl_9030138SetFollowAxis_903013

18、8§3.12.4 Nurbs 曲線插補(bǔ)函數(shù)139§3.12.4.1§3.12.4.2§3.12.4.3§3.12.4.4§3.12.4.5§3.12.4.6§3.12.4.7§3.12.4.8§3.12.4.9§3.12.4.10§3.12.4.11§3.12.4.12§3.12.4.13§3.12.4.14§3.12.4.15§3.12.4.16§3.12.4.17§3.12.4.18§3.12

19、.4.19§3.12.4.20LM_SetNurbsScanMode_9030139LM_SetNurbsVelCtrl_9030140LM_SetNurbsAccDec_9030141LM_SetNurbsCompCoef_9030141LM_NurbsInit_9030142LM_NurbsData_9030143LM_Nurbs_9030143LM_Nurbs4Axis_9030144LM_SendNurbsData_9030145LM_GetNurbsExecPara_9030146LM_GetNurbsInB.146LM_GetNurbsErrorNo_9030147Set

20、_NurbsInit_9030148Set_NurbsData_9030149Set_NurbsEnd_9030150Get_NurbsPos_9030150Set_NurbsPosVB_9030151Get_NurbsLen_9030152Get_NurbsErrorNo_9030153GetCFCode_9030154§3.13 狀態(tài)函數(shù)154§3.13.1 9030 卡有關(guān)版本信息. 154§3.13.1.1§3.13.1.2§3.13.1.3ReadFirmwareVersion_9030154ReadDllVersion_903015

21、5GetDriverVersion_9030156§3.13.2 獲取錯(cuò)誤號(hào) GetErrorNo_9030156附錄 ANURBS 曲線詳解1587第一章硬件指南§1.1 概述北京東方公司生產(chǎn)的 9030 系列卡, 是基于 USB2.0 接口、硬件為FPGA+SOPC 架構(gòu)的高性能電機(jī)卡,由于 USB 接口固有的安裝方便性,它可廣泛應(yīng)用于數(shù)控機(jī)床、工業(yè)廣泛領(lǐng)域。用雕刻機(jī)、木工機(jī)械、印刷機(jī)械、裝配生產(chǎn)線及其他產(chǎn)業(yè)機(jī)械等§1.29030 規(guī)格表9030 電機(jī)卡規(guī)格表硬件指標(biāo):軟件功能1功能點(diǎn)位速度回 HOME 點(diǎn)總線形式USB2.0軸數(shù)4 軸軸輸出模式脈沖輸出頻率:

22、4Mhz差分輸出編碼器輸入4倍頻增量式最高頻率: 6.25Mhz輔助編碼器輸入1倍頻增量式最高頻率: 6.25MhzPWM/模擬量輔助輸出端口1 路PWM/模擬量 可設(shè)定PWM 輸出:1Hz 1MHzPWM 分辨率不小于1%模擬量:-10+10V輸出精度: 12 位PWM 輸出:可激光能量模擬量輸出:可主軸轉(zhuǎn)速IO 量輸出點(diǎn)8+4, 12 路8 路達(dá)靈頓4 路光電開(kāi)關(guān)IO 量輸入點(diǎn)32 路全部光電9030卡主板外形2多軸功能多軸電子齒能編碼器跟隨功能多軸插補(bǔ)功能4 軸線性/圓弧插補(bǔ)4 軸直線插補(bǔ)任意2 圓弧+2 軸直線插補(bǔ)3 軸/4 軸 NURBS 樣條曲線插補(bǔ)插補(bǔ)模式的編碼器跟隨功能可實(shí)現(xiàn)硬

23、攻絲先進(jìn)的插補(bǔ)預(yù)處理功能內(nèi)部 4096+110 行插補(bǔ)數(shù)據(jù)雙緩沖區(qū)自動(dòng)完成插補(bǔ)速度規(guī)劃插補(bǔ)速度調(diào)節(jié)/ 隨時(shí)暫停0-160%隨時(shí)調(diào)節(jié)1%精度調(diào)節(jié)用戶開(kāi)發(fā)環(huán)境Windows Xp 以上系統(tǒng)VB、VC、BCB、Delphi四種語(yǔ)言開(kāi)發(fā)庫(kù)WinCNC 支持我公司功能強(qiáng)大的數(shù)控系統(tǒng)軟件§1.3卡的安裝完整的 9030 卡它包含以下內(nèi)容: 9030 主板一塊,USB 電纜一根光盤(pán)一張,9030 使用手冊(cè)一本其它配件(插頭、短路棒等)在安裝卡前,請(qǐng)確保計(jì)算機(jī) USB 接口為 2.0 版本。通過(guò) USB2.0 電纜連接 9030卡與 PC 機(jī),安裝 9030 的驅(qū)動(dòng)程序。9030 卡的驅(qū)動(dòng)程序支持

24、Win9x、Win2000、WinXp、WinVista,在安裝驅(qū)動(dòng)請(qǐng)?jiān)诠獗P(pán)的 9030driver 文件夾中尋找。§1.4卡的硬件連線9030 卡通過(guò)端子板展開(kāi)其硬件連線,中將著重介紹有關(guān) 9030 硬件連線原理。3USB接口5VGND GND+24VX 軸JD1J10J93 2 1PWM GND+12V-12V軸控信號(hào)接口Y 軸JD2通用 IO 輸出點(diǎn)信號(hào)圖Z 軸JD3通用 IO 輸入點(diǎn)信號(hào)圖JD4W 軸JD5JD6手脈接口37 針 IO 接口在上圖中:* +5V 接外部電源5V 端* +24V 外接 24V 直流電源*JD1JD4 為軸控信號(hào)接口JD5 為手搖脈沖發(fā)生器接口,,

25、共有 8 路輸入JD6 為 37 針通用 I O 輸出接口,共有 24 路輸入/ 8 路輸出J9、J10 跳線可改變輸出方式為 PWM 輸出或 AD 模擬量輸出PWM/ GND 提供一路 PWM 信號(hào)輸出或- 10V +10V 模擬量輸出。- 10V +10V 模擬量輸出時(shí),需外接±12V 電源,同時(shí)必須接上±12V 電源的 GND.4PWM 輸出或10V+10V 模擬量輸出;10V+10V DA 模擬量輸出時(shí),需外接±12V 電源,同時(shí)接上GND.PWM/DA 輸出選擇跳線此+5V、+24V、GND 接外部電源§1.5 電機(jī)信號(hào)9030 卡各軸可分別通

26、過(guò)兩種方式電機(jī)運(yùn)動(dòng):開(kāi)環(huán)、步進(jìn)電機(jī)+編碼器。JD1JD4 軸控信號(hào)接口(15 針)說(shuō)明如下:A-1A+9B-2B+10Z-3Z+11+5V4PULS12/PULS5SIGN13/SIGN6ALM14GND7SVon15SV COM外殼15 針接頭(軸控信號(hào)的插頭)的外殼與伺服驅(qū)動(dòng)器信號(hào)線纜的層有效連接圖 1.3.1軸控信號(hào)接口圖表 1.管腿名稱定釋編碼器輸入信號(hào)編碼器反饋信號(hào)。當(dāng) 9030 卡以開(kāi)環(huán)模式A-工作時(shí)無(wú)效;當(dāng) 9030 卡以半閉環(huán)式工作時(shí)有效。模A+編碼器輸入信號(hào)B-編碼器輸入信號(hào)B+編碼器輸入信號(hào)Z-編碼器輸入信號(hào)Z+編碼器輸入信號(hào)+5V 電源+5VPLUS軸差分脈沖輸出5

27、67;1.5.1 伺服編碼器輸入連接方法圖 1.3.1中 A+、A-、B+、B-、Z+、Z-為伺服編碼器輸入信號(hào)。連接圖如下: 9030 部圖 1.3.2 編碼器差分輸入信號(hào)連接圖6/PLUS軸差分脈沖輸出SIGN軸差分方向輸出/SIGN軸差分方向輸出ALM輸入可接信號(hào)。如:驅(qū)動(dòng)器。實(shí)際輸對(duì)應(yīng):X 軸I21(ALM0)、Y 軸I22(ALM1)、Z 軸I23(ALM2)、W 軸I24(ALM3)。參看第 10 頁(yè)GND輸入地SVon伺服使能信號(hào)SV COM伺服使能信號(hào)外殼15 針接頭外殼(GND)15 針接頭(軸控信號(hào)的接頭)的外殼與伺服驅(qū)動(dòng)器信號(hào)線纜的層有效連接§1.5.2軸信號(hào)連

28、接原理圖 1.3.3脈沖量輸出信號(hào)連接圖§1.5.3伺服使能信號(hào)連接原圖 1.3.5 伺服使能信號(hào)連接圖79030部§1.6Vout/PWM 輸出選擇9030 有一路 PWM 或 DA 模擬量輸出,通過(guò)端子板上的跳線 J9、J10 來(lái)選擇是 PWM 輸出還是 DA 輸出。如下:DA 輸出時(shí)跳線 J10、J9 (標(biāo)號(hào) 1、2 跨接)如下:J10A-J 9PWM輸出時(shí)跳線J10、J9 (標(biāo)號(hào)3、2跨接)如下:J10J 9±10V模擬量輸出時(shí),需外接±12V電源,同時(shí)必須接上±12V電源的GND.§1.7附加編碼器接口15 針接口示意圖:8

29、A+19B+A-210GNDB-311I25+5V412I26(Xsel)I27(Ysel)513I28(Zsel)I29(Asel)614I30(Multi×1)I31(Multi×10)715GNDI32(Multi×100)8端口定義如下:管腿名稱定釋接編碼器 A+1A+接編碼器 A-(編碼器單端輸入 可不接)9A-接編碼器 B+2B+10B-接編碼器 B-(編碼器單端輸入 可不接)3GND電源地11+5V+5V 電源4I25通用輸入(X 軸選,MPG_I1)12I26(Xsel)通用輸入(Y 軸選,MPG_I2)5I27(Ysel)13I28(Zsel)通

30、用輸入(Z 軸選,MPG_I3)6I29(Asel)通用輸入(第四軸軸選,MPG_I4)14I30(Multi×1)通用輸入(倍率×1, ,MPG_I5)I31(Multi×10)通用輸入(倍率×10,MPG_I6)7I32(Multi×100)通用輸入(倍率×100,MPG_I7)15COM(GND)4、12、5、13、6、14、7、15 信號(hào)的公共端原理圖見(jiàn)下頁(yè)8§1.8通用數(shù)字 IO 信號(hào)1、通用 37 針 IO 信號(hào)接口 JD6 管腳定義:9I81I920I72I1021I63I1122I54I1223I45I132

31、4I36I1425I27I1526I1827I16GND9GND28I2010I1929I18I1730GND12I21(ALM0)31I22(ALM1)13I23(ALM2)32I24(ALM3)14O833O715O634O516O43517O336O2O11824V3724V19102、通用數(shù)字 IO 信號(hào)原理圖該部分輸入點(diǎn)原理圖適用于通用 IO 及 附加編碼器接口 中的輸入點(diǎn)。9030 接收無(wú)源節(jié)點(diǎn)作為輸入信號(hào)。當(dāng)開(kāi)關(guān)有效時(shí),由內(nèi)部+5V 給光耦供電。輸入點(diǎn)原理圖+5VEX+5VMCUI1-I32開(kāi)關(guān)9030 內(nèi)部電路GND當(dāng)輸入點(diǎn)是 光電開(kāi)關(guān)類型的傳感器時(shí),請(qǐng)選用 NPN 型。如光電

32、開(kāi)關(guān)輸出為 24V 電壓信號(hào),需通過(guò)繼電器轉(zhuǎn)換為通斷信號(hào)后,再用繼電器的理圖如下:或常連接 9030 的輸入點(diǎn)。接線原I1I20+COM11DC1224V輸出點(diǎn)原理圖+24V+5VImax = 500mAOUT1-8COM9030 內(nèi)部電路Darlington§1.9防干擾措施請(qǐng)務(wù)必做好以下防干擾措施! 伺服驅(qū)動(dòng)器信號(hào)線纜均選用線纜,并將伺服驅(qū)動(dòng)器外殼與信號(hào)線纜層有效連接。 9030 卡 15 針接頭(軸控信號(hào)的接頭)的外殼與伺服驅(qū)動(dòng)器信號(hào)線纜 伺服驅(qū)動(dòng)器外殼與 24V 直流電源共地。層有效連接。§1.109030 卡易損元器件2803管驅(qū)動(dòng)正確連接 IO 輸出可保證管驅(qū)動(dòng)

33、2803 的正常工作。75175 差分濾波務(wù)必做好防干擾措施,否則可能因造成差分濾波75175 的損壞。12管驅(qū)動(dòng)28034 個(gè)差分濾波7517513第二章編程指南§2.1 一般說(shuō)明在隨 9030 卡提供給用戶的光盤(pán)中可找到以下文件夾:光盤(pán):9030|Driver|Setup|WinCNC在 Driver 中提供了 9030 的驅(qū)動(dòng)程序,包括 Win9x、Win2000、WinXp 三種平臺(tái)。在 Setup 中提供了 Windows 32 位 動(dòng)態(tài)連接庫(kù) DLLs,支持 Microsoft Visual BASICVisual C+及 Borland Delphi、C+ Builde

34、r。還有一些測(cè)試及示例程序。、在 WinCNC 中提供了基于 9030 卡的 CNC 機(jī)床數(shù)控軟件 WinCNC for 9030 Demo(演示版)。§2.2 軟件的安裝在光盤(pán)的 9030Setup 文件夾中運(yùn)行 setup 程序即開(kāi)始安裝軟件。setup 程序?qū)⑻崾景惭b目標(biāo)安裝目錄,該程序的省卻安裝目錄為:C:9030在該目錄下,分別有 9030VB、9030VC、9030Delph、9030Bcb 子目錄,它們分別對(duì)應(yīng)Microsoft Visual BASIC、Microsoft Visual C+、Borland Delphi、Borland C+ Builder 等編程環(huán)

35、境。在這些目錄下有以下文件:表 2.19030VB 文件一覽表表 2.29030VC 文件一覽表14文件名解釋Declare.basVB 窗體函數(shù)文件dfjzh9030.bix9030 接口固件9030Test.EXE9030 卡測(cè)試軟件9030Test9030 卡測(cè)試軟件的 VB 源程序表 2.39030Delphi 文件一覽表表 2.49030Bcb 文件一覽表§2.3 編譯與聯(lián)接(Compiling and Linking)這一節(jié)將說(shuō)明如何使用 9030 的函數(shù)庫(kù),該函數(shù)庫(kù)是以 Windows 32 位動(dòng)態(tài)連接庫(kù) DLLs的形式提供給用戶的。§2.3.1Microso

36、ftVisual C+用戶在用 VC 編寫(xiě),首先將 9030 動(dòng)態(tài)聯(lián)接庫(kù) dfjzh9030dll.dll 拷貝到 Windows 系統(tǒng)目錄,比如 C: WindowsSystem,或拷貝到 VC 的工作目錄。然后將 dfjzh9030dll.lib 及件 dfjzh9030dll.h 包含在工程項(xiàng)目中,這樣用戶就可以使用 9030 的庫(kù)函數(shù)了。§2.3.2MicrosoftVisual BASIC用戶在用 VB 編寫(xiě),首先將 9030 動(dòng)態(tài)聯(lián)接庫(kù) Dfjzh9030Api.dll 拷貝到 Windows系統(tǒng)目錄,比如 C: WindowsSystem,或拷貝到 VB 的工作目錄。然

37、后在窗體的通用說(shuō)明區(qū)對(duì) 9030 庫(kù)函數(shù)進(jìn)行說(shuō)明,這樣用戶就可調(diào)用 9030 的庫(kù)函數(shù)對(duì) 9030 卡進(jìn)行編程。15文件名解釋dfjzh9030dll.dllC+ Builder 動(dòng)態(tài)聯(lián)接庫(kù)dfjzh9030dll.libC+ Builder 聯(lián)接庫(kù)dfjzh9030dll.hC+ Builder dfjzh9030dyn.hC+ Builder 函數(shù)文件,動(dòng)態(tài)調(diào)用 Dll 的件文件名解釋Dfjzh9030Api.DLLDelphi 動(dòng)態(tài)聯(lián)接庫(kù)drv9030.pasDelphi 函數(shù)文件文件名解釋dfjzh9030dll.dllVC 動(dòng)態(tài)聯(lián)接庫(kù)dfjzh9030dll.libVC 聯(lián)接庫(kù)dfj

38、zh9030dll.hVC 函數(shù)文件dfjzh9030.bix9030 接口固件9030Demo.EXE9030 卡演示軟件9030Demo9030 卡演示軟件源程序§2.3.3Borland Delphi用戶在用 Borland Delphi 編寫(xiě),可按照如下步驟操作:1) 把 dfjzh9030Api.dll 拷貝到 Windows 系統(tǒng)目錄,比如 C: WindowsSystem,或拷貝到當(dāng)前工作目錄;2) 把 drv9030.pas 文件拷貝到工作目錄;3) 打開(kāi) delphi 編輯環(huán)境,打開(kāi)應(yīng)用程序項(xiàng)目文件;4) 打開(kāi) delphi 編輯環(huán)境中的“Project”菜單,點(diǎn)擊

39、“Add to project.”,把 drv9030.pas 文件添加到應(yīng)用程序的項(xiàng)目文件中;5) 調(diào)出應(yīng)用程序項(xiàng)目文件中使用9030 卡工作的單元,點(diǎn)擊“File”菜單,用該菜單下的“use unit .”把 drv9030.pas 單元包括進(jìn)去;6) 然后就像使用一般的系統(tǒng)庫(kù)函數(shù)一樣使用 dfjzh9030Api.dll 中的函數(shù)即可。§2.3.4Borland C+ Builder在我們提供的 C+ Builder 應(yīng)用 9030 的例子中,采用動(dòng)態(tài)調(diào)用 Dll 的方法,C+ Builder動(dòng)態(tài)調(diào)用 Dll 的步驟如下:1)從新定義函數(shù)。 我們已做,用戶只需包含 dfjzh9

40、030dyn.h 2)載入 Dll,用 LoadLibrary 函數(shù)。3) 獲取函數(shù)地址,用 GetProcA4) 強(qiáng)制類型轉(zhuǎn)換,即將所獲取的函數(shù)地址強(qiáng)制轉(zhuǎn)換為函數(shù)。5) 函數(shù)調(diào)用。件即可。6)Dll。C+ Builder 動(dòng)態(tài)調(diào)用 Dll 稍顯復(fù)雜,更詳細(xì)說(shuō)明請(qǐng)看 C+ Builder 參考書(shū)(比如:C+Builder 編程技巧、經(jīng)驗(yàn)與實(shí)例郵電)。C+ Builder 靜態(tài)調(diào)用 Dll 的步驟與 VC 類似,在此不再贅述。§2.49030 卡工9030 卡硬件工框圖169030 主卡9030 卡軟件工框圖等待下一次定時(shí)中斷返回工作循環(huán)開(kāi)始處(每 1.0 毫秒中斷一次)如上圖所示,在

41、 FPGA 中開(kāi)辟有CPU 與 PC 機(jī)的區(qū),PC 需要的數(shù)17USB2.0CC()對(duì)上位機(jī)的數(shù)據(jù)更新區(qū)FPGA(內(nèi)部)執(zhí)行上位機(jī)命令多軸跟隨運(yùn)動(dòng)運(yùn)算多軸插補(bǔ)運(yùn)算語(yǔ)言函數(shù)庫(kù)動(dòng)態(tài)鏈接庫(kù)驅(qū)動(dòng)程序CPU 中斷響應(yīng)來(lái)自上位機(jī)令,有關(guān)數(shù)據(jù),并在下一個(gè)循環(huán)開(kāi)始時(shí)執(zhí)行CPU 工作循環(huán)開(kāi)始接口電路USB 接口68013FPGAALTERAEP1C12SOPC (CPU)100M Hz Nios CPUPC 機(jī)(上位機(jī))總線語(yǔ)言函數(shù)庫(kù)驅(qū)動(dòng)程序據(jù)(軸位置、速度、軸狀態(tài)、插補(bǔ)狀態(tài)及 IO 等),DSP 會(huì)每 1.0 毫秒更新一次;而 PC 機(jī)在寫(xiě)入數(shù)據(jù)和命令時(shí),先將數(shù)據(jù)寫(xiě)入執(zhí)行命令。區(qū),然后向 CPU 發(fā)出中斷信號(hào)

42、通知 CPU或§2.5庫(kù)函數(shù)介紹9030 驅(qū)動(dòng)函數(shù)庫(kù)中總共有 100 多個(gè)函數(shù),這些函數(shù)可粗分類為初始化函數(shù)、運(yùn)動(dòng)控制函數(shù)、多軸電子齒輪函數(shù)、檢測(cè)函數(shù)、插補(bǔ)函數(shù) 及 NURBS 樣條曲線插補(bǔ)函數(shù)。每個(gè)函數(shù)的詳細(xì)介紹在用戶編制的第三給出。的,我們建議用戶參考我們所提供的示例程序,這些示例程序?qū)⑹鼓闶∪ズ芏嗬泄ぷ鳌?#167;2.5.1初始化函數(shù)在調(diào)用函數(shù)庫(kù)的各個(gè)函數(shù)之前,第一步必須對(duì)函數(shù)庫(kù)進(jìn)行初始化。初始化函數(shù)為InitCrad_9030,該函數(shù)的第一個(gè)參數(shù)為板號(hào),其它參數(shù)見(jiàn)第三詳細(xì)說(shuō)明。用戶如果用到多個(gè) 9030 板,則每個(gè)板都必須初始化。時(shí)使用 4 塊 9030 板,板號(hào)為:0-

43、3。9030 的驅(qū)動(dòng)程序最多支持 16 個(gè)軸,用戶最多可同當(dāng)在一臺(tái)計(jì)算機(jī)中用到多塊 903號(hào)由工具軟件設(shè)定。函數(shù)庫(kù)。當(dāng)用到多個(gè)板時(shí)要一在用戶程序前,必須調(diào)用 E一,其次序是:最先初始化的最后,最后初始化的最先。§2.5.2軸工作模式設(shè)定函數(shù)9030 卡的每個(gè)軸均可工作在如下模式:0=軸無(wú)效;1=開(kāi)環(huán)脈沖模式;2=位置閉環(huán)脈沖輸出模式;設(shè)定函數(shù)為:SetAxisWorkMode_90301=開(kāi)環(huán)脈沖模式;2=位置閉環(huán)脈沖輸出模式;可接步進(jìn)電機(jī)、伺服電機(jī)(伺服電機(jī)工作在位置模式下)。可接步進(jìn)電機(jī)(帶編碼器反饋元件的特殊步進(jìn)電機(jī))、伺服電機(jī)(伺服電機(jī)工作在位置模式下)。當(dāng)軸工作在 1、2

44、模式下,軸的位置用脈沖數(shù)表示、速度用赫茲表示。18§2.5.4運(yùn)動(dòng)函數(shù)9030 板提供了軸的兩種基本運(yùn)動(dòng)形式,即軸的點(diǎn)到點(diǎn)的運(yùn)動(dòng)制(速度模式)。(位置模式)和速度控位置模式時(shí),當(dāng)用戶在寫(xiě)下如下語(yǔ)句:SetAxisAcc_9030(0,0,4000); SetAxisVel_9030(0,0,1000); SetAxisPos_9030(0,0,xPosSet);StartAxis_9030(0,0);0 號(hào)軸將以最大 1000Hz 的頻率發(fā) 2000 個(gè)脈沖,速度曲線如下:速度最大速度(1000Hz)階段度為:4000Hz / S階段,時(shí)間速度曲線(梯形包絡(luò)線)上圖為梯形包絡(luò)線,它的

45、加值相等。該梯形的面積就是電機(jī)轉(zhuǎn)動(dòng)的距離(2000 個(gè)步距角)。由于步進(jìn)電機(jī)所帶負(fù)載有一定的機(jī)械慣性質(zhì)量,速度不可能立刻達(dá)到設(shè)定值,所以應(yīng)有加階段。在電機(jī)運(yùn)行時(shí),可隨時(shí)改變梯形包絡(luò)線的參數(shù),可走出更復(fù)雜的運(yùn)動(dòng)軌跡,如下圖所示:速度改變最大速度改變目標(biāo)位置時(shí)間復(fù)雜的梯形包絡(luò)線19用戶也可以用速度模式來(lái)電機(jī)軸運(yùn)動(dòng),速度模式函數(shù)為:short StartAxisVel_9030 (unsigned short Board_NO,unsigned short Axis_No,long velocity);該函數(shù)的第一個(gè)參數(shù)為0、1、2,第二個(gè)參數(shù)為軸號(hào) 0、1、2,第三個(gè)參數(shù)為速度參數(shù),下:為脈沖頻率

46、(Hz 脈沖數(shù)/秒),可設(shè)正負(fù)。速度模式下的電機(jī)速度曲線如速度改變最大速度改變速度大小及方向時(shí)間速度模式曲線速度模式的曲線類似于位置模式,但它沒(méi)有終點(diǎn)值,用戶可隨時(shí)用軸停止命令函數(shù)(AbortAxis_9030、StopAxis_9030、CeaseAxis_9030)命令電機(jī)停止運(yùn)行。在實(shí)際編程當(dāng)中, 用戶可隨時(shí)改變步進(jìn)電機(jī)為位置模式或?yàn)樗俣饶J健?#167;2.5.5軸隨動(dòng)運(yùn)動(dòng)函數(shù)9030 板提供了軸的兩種兩種隨動(dòng)運(yùn)動(dòng)形式,即從動(dòng)軸隨動(dòng)主動(dòng)軸(電子齒輪)、軸隨動(dòng)編碼器(編碼器模式)。在電子齒輪模式下,通過(guò)函數(shù):SetAxisEGear_9030(Board_NO, Axis_No,F_Ax

47、is_No,Rate,Kp);來(lái)設(shè)定主從關(guān)系、齒輪比等。主從關(guān)系可隨意設(shè)定,只要不隨或父子關(guān)系就可以。齒輪比很廣,在 0.001 至 1000 之間,可正負(fù)。電子齒輪隨動(dòng)關(guān)系,舉例如下圖:20主動(dòng)軸從動(dòng)軸在編碼器模式下,通過(guò)函數(shù):SetAxisFE_9030(Board_NO, Axis_No,Rate,Kp, Mode1, Mode2,Mode3);來(lái)設(shè)定軸跟隨編碼器,可以是速度方式或位置方式等。另外,在插補(bǔ)模式下也可設(shè)軸跟隨編碼器,這為用戶編寫(xiě)帶螺紋切削功能的數(shù)控系統(tǒng)提供方便。§2.5.6位置捕捉函數(shù)9030卡提供了 4 個(gè)軸的位置捕捉功能。具體函數(shù)和使用步驟如下:1.2.3.4

48、.通過(guò)函數(shù) SetAxisIO_9030 設(shè)置 軸位置捕捉 觸發(fā)信號(hào)的輸入點(diǎn)。通過(guò)函數(shù) IsPosCatch_9030 檢測(cè)軸位置捕獲標(biāo)志位。通過(guò)函數(shù) ReadCatchPos_9030觸發(fā)時(shí)刻的軸位置。通過(guò)函數(shù) ResetPosCatch_9030 復(fù)位軸位置捕獲標(biāo)志位,準(zhǔn)備下一次位置捕捉。注意事項(xiàng):(1)每個(gè)軸的 位置捕捉 觸發(fā)信號(hào)輸入點(diǎn)的位置固定不變:輸入點(diǎn) I17、I18、I19、I20(參卡的硬件連線 節(jié))分別對(duì)應(yīng) 0、1、2、3 軸。看§1.4(2)由于硬件的關(guān)系,9030 的每個(gè)軸實(shí)際只有兩個(gè) 32 位 位置寄存器,它們分別是 軸理論位置值位置寄存器(函數(shù) ReadAxisTheoryPos_9030), 軸編碼器反饋位置寄存器(函數(shù) ReadAxisEncodePos_9030)。當(dāng)軸位置捕獲標(biāo)志位有效時(shí)(通過(guò)函數(shù)IsPosCatch_9030 獲得),函數(shù) ReadCatchPos_9030 將

溫馨提示

  • 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)論