LINUXCNC源程序原理說明Word版_第1頁
LINUXCNC源程序原理說明Word版_第2頁
LINUXCNC源程序原理說明Word版_第3頁
LINUXCNC源程序原理說明Word版_第4頁
LINUXCNC源程序原理說明Word版_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!opLINUXCNC源程序?qū)W習(xí)源程序的樹結(jié)構(gòu)如下:Overview of the emc2 directory (generated by tree -I .git -d) :.|- app-defaults|- bin (user mode binaries)|- configs| |- 5axis| |- boss| |- common| |- dallur-thc| |- demo_mazak (sample mazak config files)| |- demo_sim_cl (sample sim with ladder IO)

2、| |- demo_step_cl (sample stepper with ladder IO)| |- etch-servo| |- halui_halvcp| |- hexapod-sim| |- lathe-pluto| |- m5i20 (sample servo using Mesa PCI)| |- max| |- motenc (sample servo using Vital PCI)| |- nist-lathe| |- plasma-thc| |- plasma-thc-sim| |- ppmc| |- puma| |- scara| |- sim (simulated

3、motion and IO)| |- stepper (parport stepper driver) | |- stepper-gantry| |- stepper-xyza| |- stg (sample servo using STG ISA)| |- univpwm (sample PICO servo generator)| |- univstep (sample PICO stepper generator)| - vti|- debian (files needed to build deb packages)| |- extras-Ubuntu-5.10 (extra file

4、s for Ubuntu 5.10)| | |- etc| | | |- modprobe.d| | | |- udev| | | | |- rules.d| | | | - scripts| | | - xdg| | | - menus傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!| | | - applications-merged| | - usr| | - share| | |- applications| | |- desktop-directories| | - pixmaps| |- extras-Ubuntu-6.06 (extra files for building

5、 on Ubuntu 6.06 Dapper Drake)| | |- etc| | | |- modprobe.d| | | |- udev| | | | |- rules.d| | | | - scripts| | | - xdg| | | - menus| | | - applications-merged| | - usr| | - share| | |- applications| | |- desktop-directories| | - pixmaps| |- extras-Ubuntu-7.10 (extra files for building on Ubuntu 7.10)

6、| | |- etc| | | |- modprobe.d| | | |- udev| | | | - rules.d| | | - xdg| | | - menus| | | - applications-merged| | - usr| | - share| | |- applications| | |- desktop-directories| | - pixmaps| |- extras-Ubuntu-8.04 (extra files for building on Ubuntu 8.04 Hardy Heron)| | |- etc| | | |- modprobe.d| | |

7、- xdg| | | - menus| | | - applications-merged| | - usr| | - share| | |- applications| | |- desktop-directories| | - pixmaps| |- extras-sim-Ubuntu-5.10 (extra files for sim package for Ubuntu 5.10)| | |- etc傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!| | | - xdg| | | - menus| | | - applications-merged| | - usr| | - s

8、hare| | |- applications| | |- desktop-directories| | - pixmaps| - extras-sim-Ubuntu-6.06 (extra files for sim package for Ubuntu 6.06 Dapper Drake)| |- etc| | - xdg| | - menus| | - applications-merged| - usr| - share| |- applications| |- desktop-directories| - pixmaps|- docs (All the important and r

9、elevant Docs.)| |- help| |- html (html version of docs - some generated from lyx)| |- man (man pages)| | |- man1| | |- man3| | - man9| - src (API and source notes should be in each src dir.) (source for the handbooks) (top level .lyx files)| |- code| |- common (shared .lyx files and images, such as

10、glossary, GPLD license)| |- config| |- gcode (.lyx files, images, etc. for G-Code documentation)| |- gui (.lyx files, images, etc. for GUI documentation)| |- hal (.lyx files, images, etc. for HAL documentation)| |- install| |- ladder| |- motion| - quickstart|- include (headers installed here - origi

11、nals in src/xxx/)|- lib (user mode object files)| - python| |- rs274| - yapps|- nc_files (Sample NC files)|- rtlib (kernel mode object files, only after a successfull compile)|- scripts(bash scripts like linuxcnc, realtime, rip-environment, etc.)|- share| |- axis傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!| | |- ima

12、ges| | - tcl| |- emc| - locale| |- de| | - LC_MESSAGES| |- es| | - LC_MESSAGES| |- fr| | - LC_MESSAGES| |- hu| | - LC_MESSAGES| |- it| | - LC_MESSAGES| |- pt_BR| | - LC_MESSAGES| |- ro| | - LC_MESSAGES| |- ru| | - LC_MESSAGES| |- se| | - LC_MESSAGES| |- sr| | - LC_MESSAGES| - zh_CN| - LC_MESSAGES|-

13、src (source tree - configure script, top level makefile, Makefile.inc, etc)| | |- depends (generated dependency tree)| | |- emc (actual LinuxCNC code)| | |- canterp (interpreter for canonical commands)| | |- ini (inifile related operations)| | |- iotask (IO interface, lots of HAL pins)| | |- kinemat

14、ics (trajectory planner and kinematics)| | |- motion (motion controller, talks through SHM to the rest of EMC)| | |- nml_intf (emc specific NML implementation, all messages sent in emc)| | |- rs274ngc (the rs274 g-code interpreter)| | |- sai| | |- task (core component in emc, dispatches actions to o

15、ther parts)| | - usr_intf (interfaces for some GUIs, and other interfaces: AXIS, halui, stepconf)| | |- axis| | | |- etc| | | |- extensions| | | - scripts| | - stepconf傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!| |- hal (the Hardware Abstraction Layer, provides a unified interface across all hardware)| | |- classic

16、ladder| | | - projects_examples| | |- components| | |- drivers| | | |- m5i20| | | | |- bit| | | | - hostmot5_src| | | |- mesa-hostmot2| | | | |- doc| | | | - firmware| | | | |- 5i20| | | | | - SOURCE| | | | - 7i43| | | | |- CPLD| | | | | - SOURCE| | | | - SOURCE| | | |- mesa7i43-firmware| | | | |- g

17、pio| | | | | - source| | | | |- hostmot2| | | | | - src| | | | - source| | | |- mesa_5i2x| | | | - firmware| | | |- pluto_servo_firmware| | | - pluto_step_firmware| | |- user_comps| | | |- devices| | | - vcp| | - utils| | - halgui| |- libnml (a clean implementation of RCSLIB)| | |- buffer| | |- cms|

18、 | |- inifile| | |- linklist| | |- nml| | |- os_intf| | |- posemath| | - rcs| |- module_helper| |- objects| | |- emc| | | |- canterp| | | |- ini傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!| | | |- iotask| | | |- motion| | | |- nml_intf| | | |- rs274ngc| | | |- sai| | | |- task| | | - usr_intf| | | - axis| | | - exte

19、nsions| | |- hal| | | |- classicladder| | | |- components| | | |- drivers| | | |- user_comps| | | | |- devices| | | | - vcp| | | - utils| | |- libnml| | | |- buffer| | | |- cms| | | |- inifile| | | |- linklist| | | |- nml| | | |- os_intf| | | |- posemath| | | - rcs| | |- rtapi| | |- rtemc| | | |- ki

20、nematics| | | - motion| | |- rthal| | | |- classicladder| | | |- components| | | - utils| | |- rtlibnml| | | - posemath| | - rtobjects| | - hal| | - components| |- po (Translation files for i18n support)| |- rtapi (*.c and *.h for RTAPI) (unified RT API, wraps over RTLinux, RTAI and sim)| | - exampl

21、es (testing examples for the RTAPI)| | |- extint| | |- fifo| | |- semaphore| | |- shmem傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!| | - timer| - tests|- tcl (tkemc.tcl, mini.tcl - the tcl GUIs)| |- bin| - scripts- tests |- abs.0 |- and-or-not-mux.0 |- basic |- ccomp | |- lathe-comp | |- mill-g90g91g92 | |- mill-lin

22、e-arc-entry | - mill-zchanges |- counter-encoder.0 |- flipflop.0 |- interp | |- cam-nisley | - flowsnake |- limit3.0 |- limit3.1 |- limit3.2 |- modparam.0 |- overrun |- oword | - sub.0 |- save.0 |- save.1 |- source.0 |- stepgen.0 |- stepgen.1 |- stepgen.2 |- threads.0 - timedelay.0Overview of the em

23、c2 install dirs: / (file system root) | | |- etc/ | | | - init.d/ | | | - realtime (realtime start/stop script)傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除! | | |- $(prefix) (default: /usr/local) | | (all the following $xxxxdir are configurable through autoconf | | | |- bin/ (known as $bindir, files from EMC2/bin) |

24、| | |- sbin/ (known as $sbindir, ) | | | |- etc/ (known as $sysconfdir, config files and subdirs from configs/) | | | |- lib/ (known as $libdir, lib files *.so from libs/) | | | - share/ | | | - emc/ | | | | | |- docs/ | | | | | - (All the important and relevant Docs.) | | | |- handbooks/ | | | | |

25、- (PDF versions of handbooks) | | | - nc_files/ | | | - (Sample NC files) | |- $MAN_DIR/ (default: /usr/local/man) | | | |- man1/ | | | | | | | | - man3/ | | | | - $moduledir/ (based on where ./configure finds the RTOS modules)根據(jù)這個(gè)結(jié)構(gòu)樹,我們可以清楚的知道每一個(gè)文件夾,每一個(gè)子文件的作用,包括了接口,硬件抽象層,實(shí)時(shí)內(nèi)核等等部分。當(dāng)然,在這里面我們需要深入研究的是l

26、inuxcnc-dev/src/emc文件夾中的各個(gè)文件,也是該數(shù)控系統(tǒng)的核心所在。我們再次列出linuxcnc-dev/src/emc中的子結(jié)構(gòu)樹:傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!linuxcnc-dev/src/emc中的子結(jié)構(gòu)樹:| |- emc (actual LinuxCNC code)| | |- canterp (interpreter for canonical commands)| | |- ini (inifile related operations)| | |- iotask (IO interface, lots of HAL pins)| |

27、|- kinematics (trajectory planner and kinematics)| | |- motion (motion controller, talks through SHM to the rest of EMC)| | |- nml_intf (emc specific NML implementation, all messages sent in emc)| | |- rs274ngc (the rs274 g-code interpreter)| | |- sai| | |- task (core component in emc, dispatches ac

28、tions to other parts)| | - usr_intf (interfaces for some GUIs, and other interfaces: AXIS, halui, stepconf)| | |- axis| | | |- etc| | | |- extensions| | | - scripts| | - stepconf根據(jù)該結(jié)構(gòu)樹,我們一個(gè)一個(gè)的再一次進(jìn)行分析:(1)canterp (interpreter for canonical commands,即規(guī)范命令的解釋器)#include / FILE, fopen(), fclose()#include

29、/ strcpy()#include / isspace()#include #include #include config.h#include emc/nml_intf/interp_return.hh#include emc/nml_intf/canon.hh#include emc/rs274ngc/interp_base.hh其中包括了語法解析,讀取,執(zhí)行等函數(shù),對刀具信息、主軸轉(zhuǎn)速、開始、停止等信息進(jìn)行判斷和執(zhí)行工作。(2)ini (inifile related operations,初始化相關(guān)的文件)同樣,列出該文件夾的結(jié)構(gòu)樹:| |- ini (inifile related

30、 operations)| | |- emcIniFile.cc/hh | | |- iniaxis.cc/hh | | |- inihal.cc/hh | | |- initraj.cc/hh | | |- initool.cc /hh (2.1) emcIniFile.cc/hh 傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!#include / M_PI.#include emcIniFile.hh該文件定義了一些INI文件中字符的賦值,包括 一個(gè)TURE或者FAULSE,單位mm ,m,角度,直線,旋轉(zhuǎn)等等。(2.2) iniaxis.cc/hh #include #inclu

31、de / NULL#include / atol(), _itoa()#include / strcmp()#include / isdigit()#include #include #include emc.hh#include rcs_print.hh#include emcIniFile.hh#include iniaxis.hh/ these decls#include emcglb.h/ EMC_DEBUG#include emccfg.h/ default values for globals#include inihal.hh該文件主要用到了兩個(gè)函數(shù):loadaxis以及inia

32、xis。前一個(gè)函數(shù)loadaixs是對INI文件中的軸類型,軸單元,最大最小位置限值,誤差限值,最大速度,加速度,加加速度等初始化參數(shù)進(jìn)行讀取并存儲(chǔ)在&axisIniFile中,這些參數(shù)對應(yīng)于INI文件中AXIS一欄中的參數(shù),并將部分參數(shù)賦值給old_inihal_data。除此之外,iniaxis函數(shù)主要是讀取INI文件中TRAJ部分的AXIS軸數(shù),然后調(diào)用loadaxis進(jìn)行初始化加載。除去兩個(gè)主要函數(shù),還有一個(gè)精度判斷函數(shù)iniGetFloatPrec以及狀態(tài)函數(shù)(可有可無)。(2.3)initraj.cc/hh該文件主要包含以下幾個(gè)函數(shù):loadTraj,用于加載INI文件中TRAJ中

33、的配置參數(shù),然后將讀取的參數(shù)值進(jìn)行保存,主要賦值給old_inihal_data以及traj_max_velocity等變量,供后續(xù)其他文件調(diào)用。同時(shí)該文件的后面還有一個(gè)坐標(biāo)軸返回原點(diǎn)的判斷程序,從而保證TRAJ中的原點(diǎn)坐標(biāo)。其實(shí),該文件類似于iniaxis.cc/hh。(2.4)inihal.cc/hh#include rcs_print.hh#include emc.hh#include #include hal.h#include rtapi.h#include inihal.hh該文件中主要包含以下幾個(gè)函數(shù):ini_hal_init,用于定義HAL中的新的管腳,包括了各軸中的INI參數(shù)

34、管腳,以及TRAJ中的INI參數(shù)管腳;ini_hal_init_pins,用于對之前定義好的新管腳進(jìn)行賦值,主要是將old_inihal_data中的參數(shù)值存儲(chǔ)到*(the_inihal_data-NAME)中去。check_ini_hal_items(),用于對各個(gè)管腳的值進(jìn)行更新檢查。傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!備注:old_inihal_data中的值都是在iniaxis.cc以及initraj.cc中賦值了的。(3) iotask該文件在這里不做詳細(xì)介紹,主要是創(chuàng)建“iocontrol”組件,并對一些接口文件進(jìn)行配置。(4)Kinamitcs該文件夾中包含了不

35、同的運(yùn)動(dòng)控制模塊,例如五軸、三軸、六軸等等。除此之外,還包含了插補(bǔ)以及速度控制的軌跡規(guī)劃文件。(4.1)運(yùn)動(dòng)控制模塊(4.2)軌跡規(guī)劃模塊TC.C文件主要是基于軌跡規(guī)劃的簡單判別文件,由TP.C調(diào)用。下面我們分別說明該文件中的一些函數(shù)。#include rtapi.h/* rtapi_print_msg */#include posemath.h#include emcpos.h#include tc.h(1)tcGetStartingUnitVector 主要是獲取運(yùn)動(dòng)軌跡的起始點(diǎn)的起始單位向量,如果是直線或者攻絲,那么直接計(jì)算起始與終止點(diǎn)的位移大小。如果不是,那么就是圓形運(yùn)動(dòng),計(jì)算曲率,半

36、徑,起始點(diǎn)等等。(2)tcGetEndingUnitVector 主要是獲取運(yùn)動(dòng)軌跡的終止點(diǎn)的終止單位向量,如果是直線,那么直接計(jì)算終點(diǎn)坐標(biāo)減去起點(diǎn)坐標(biāo)的大小。如果是攻絲,那么計(jì)算起點(diǎn)坐標(biāo)減去終點(diǎn)坐標(biāo)的大小。對于其他運(yùn)動(dòng),即曲線運(yùn)動(dòng),則根據(jù)轉(zhuǎn)過的角度,計(jì)算終點(diǎn)坐標(biāo),然后計(jì)算曲率半徑,并將數(shù)據(jù)保存到指定位置V中。(3)tcGetPos/tcGetEndpoint 兩個(gè)都是通過調(diào)用函數(shù)tcGetPosReal從而得到位置信息。(4) tcGetPosReal 根據(jù)傳入的參數(shù)判斷是計(jì)算當(dāng)前位移值還是目標(biāo)位移值;其次判斷運(yùn)動(dòng)類型,如果是攻絲,判斷是正轉(zhuǎn)還是反轉(zhuǎn)的,再進(jìn)行坐標(biāo)值計(jì)算(具體算法先省略)。如

37、果是直線運(yùn)動(dòng),因?yàn)橹皇巧婕暗搅藊yz,其他軸uvw,abc等只需要進(jìn)行配合運(yùn)動(dòng)即可,或者是XYZ不動(dòng),或者只有ABC再動(dòng)等等。如果是曲線運(yùn)動(dòng),同樣配合計(jì)算其他各軸位移。判斷完畢之后,返回各個(gè)軸的位移。(5)tcqCreate() 建立TC結(jié)構(gòu)體的新隊(duì)列。(6)tcqDelete() 刪除TC結(jié)構(gòu)體的隊(duì)列。(7)tcqInit (8)tcqPut()/tcqRemove()/tcqLen()/tcqItem() 數(shù)據(jù)存放,先入先出;tcqLen()數(shù)據(jù)隊(duì)列的大小;tcqItem()讀取數(shù)據(jù)隊(duì)列的第N的元素。(9)tcqFull() 判斷堆棧是否已滿,或者快要滿了。TP.C文件主要實(shí)現(xiàn)軌跡規(guī)劃。#

38、ifdef RTAPI#define assert(args.) do while(0)#else/ SIM傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!#include #include #include #include #endif#include rtapi.h/* rtapi_print_msg */#include rtapi_string.h /* NULL */#include posemath.h#include tc.h#include tp.h#include rtapi_math.h#include ./motion/motion.h#include hal.h

39、#include ./motion/mot_priv.h#include motion_debug.h(1)tpCreate()創(chuàng)建隊(duì)列,供后續(xù)調(diào)用。(2)tpClearDIOs() 如果需要改變的數(shù)字IO的存放隊(duì)列,該函數(shù)將會(huì)清除之前的IO觸發(fā)器隊(duì)列供下次使用。(3)tpClear() 某種程度而言,該函數(shù)屬于“軟件初始化”,結(jié)構(gòu)體TP_STRUCT中的參數(shù)將會(huì)被保留下來,而隊(duì)列將會(huì)被清空。(4)tpInit(),初始化TP結(jié)構(gòu)體中的參數(shù)值。(5)tpSetCycleTime(),設(shè)置程序循環(huán)時(shí)間。(6)tpSetVmax()設(shè)置最大速度。(7)tpSetVlimit()/ tpSetAma

40、x() 同上,設(shè)置速度限制以及最大速度。(8)tpSetId()/tpGetExecId() 分別設(shè)置下一個(gè)運(yùn)行周期的ID號,或獲取當(dāng)前的ID號。(9)pSetTermCond(tp, cond) 設(shè)置后續(xù)運(yùn)動(dòng)隊(duì)列移動(dòng)的終止條件,返回終止條件和公差。(10)tpSetPos()設(shè)置當(dāng)前位置以及目標(biāo)位置。備注:(4-10)所返回的參數(shù)值都是TP結(jié)構(gòu)的成員,可以理解為TP中都是當(dāng)前運(yùn)動(dòng)模式下的參數(shù)值。(11)tpAddRigidTap()/ tpAddLine()/tpAddCircle() 這三個(gè)函數(shù)是用于判斷在原有的運(yùn)動(dòng)上所需要加入的新的運(yùn)動(dòng)模式,根據(jù)下一步的運(yùn)動(dòng)模式不同,設(shè)置不同的參數(shù)保存在

41、結(jié)構(gòu)體TC中,可以理解為TC結(jié)構(gòu)體中存入了下一個(gè)運(yùn)動(dòng)模式時(shí)的參數(shù)值。(12)tcRunCycle() 該函數(shù)通過傳入結(jié)構(gòu)體參數(shù)TP以及TC,進(jìn)行運(yùn)動(dòng)段的速度控制,源程序用到的是T形速度控制。根據(jù)判斷速度和加速度的狀態(tài)控制速度變化。最后返回新的速度,以及最終速度變化量(以當(dāng)前的速度與最大限速進(jìn)行比較,得到需要加速或者減速的多少)。(13)tpToggleDIOs() 控制數(shù)字或者模擬IO口的開或者斷,保證下一次輸入或者輸出正確。(14)tpRunCycle() 該函數(shù)是運(yùn)動(dòng)控制的核心部分。首先進(jìn)行emcmotStatus的初始化;判斷TC是否空隊(duì)列;判斷當(dāng)前運(yùn)動(dòng)是否同步進(jìn)行,執(zhí)行當(dāng)前運(yùn)動(dòng),完畢之

42、后刪除,載入下一個(gè)運(yùn)動(dòng);判斷下一個(gè)運(yùn)動(dòng)的可行性,如果出現(xiàn)異常中斷(abording),那么TP隊(duì)列中的值全部初始化。判斷所等待的ID號是否與TC中的ID號一致,如果不一致,則輸出錯(cuò)誤信息,并給所等待的ID賦空值;對于TC值得第一次讀取進(jìn)行一系列狀態(tài)判斷,保證所有動(dòng)作符合要求;對于攻絲動(dòng)作,需要進(jìn)行特殊處理。即當(dāng)狀態(tài)tc-motion_type = TC_RIGIDTAP的時(shí)候,先保證主軸正轉(zhuǎn);其次判斷攻絲動(dòng)作所處的狀態(tài):TAPPING,該狀態(tài)表示正在攻絲,如果當(dāng)前位移量以及超過了或者等于所需要攻絲的長度,那么將狀態(tài)切換到REVERSING,主軸反向,并設(shè)置反向運(yùn)動(dòng)的參數(shù),如果當(dāng)前位移量超過了攻

43、絲長度,那么切換狀態(tài)到FINAL_REVERSAL;主軸最后一個(gè)反向,然后回位;傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!判斷下一次的運(yùn)動(dòng)狀態(tài),判斷是否TC是第一次被讀??;判斷TC結(jié)構(gòu)體中的同步參數(shù),然后判斷運(yùn)動(dòng)中的速度以及加速度是否滿足要求。其中一部分算法屬于軌跡規(guī)劃中的加速度判斷法;在做完上述一些列判斷之后,進(jìn)行軌跡規(guī)劃的重要部分:primary_before = tcGetPos(tc); tcRunCycle(tp, tc, &primary_vel, &on_final_decel); primary_after = tcGetPos(tc); pmCartCartSub

44、(primary_after.tran, primary_before.tran, &primary_displacement.tran); primary_displacement.a = primary_after.a - primary_before.a; primary_displacement.b = primary_after.b - primary_before.b; primary_displacement.c = primary_after.c - primary_before.c; primary_displacement.u = primary_after.u - pri

45、mary_before.u; primary_displacement.v = primary_after.v - primary_before.v; primary_displacement.w = primary_after.w - primary_before.w;調(diào)用之前的函數(shù),計(jì)算當(dāng)前值,然后運(yùn)行一個(gè)周期,再次獲取新的位置,然后分別計(jì)算各軸位移量。下一步計(jì)算屬于混合模式下(即將幾段相似的程序進(jìn)行合并)的運(yùn)動(dòng)控制:同樣進(jìn)行條件判斷,之后計(jì)算前后兩段運(yùn)動(dòng)的速度,位移等等,最后輸出前后兩端的位移大小,實(shí)現(xiàn)合并。(15)最后對一些錯(cuò)誤信息進(jìn)行判斷和驗(yàn)證。保證正確輸出。備注:在tp.c中軌跡規(guī)劃是如何完成的:(1)解釋調(diào)用tpAddLine還是tpAddCircle?主要是依據(jù)MDI或者G代碼的輸入;(2)tpRunCycle在每一個(gè)TRAJ_PERIOD周期內(nèi)進(jìn)行調(diào)用,從而更新currentPos;(3)currentPos最終反饋回HAL對應(yīng)的是axis.X.motor-pos-cmd HAL pins。在tpruncycle

溫馨提示

  • 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論