基于mastercam平台的数控编程后处理程序应用开发.doc_第1页
基于mastercam平台的数控编程后处理程序应用开发.doc_第2页
基于mastercam平台的数控编程后处理程序应用开发.doc_第3页
基于mastercam平台的数控编程后处理程序应用开发.doc_第4页
基于mastercam平台的数控编程后处理程序应用开发.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于mastercam平台的数控编程后处理程序应用开发本文针对mastercam提供的数控五轴、三轴铣削加工编程及其后处理程序二次开发功能,以fidia kr214六轴五联动高速铣削中心、maho1600w立卧转换加工中心以及常用三轴数控铣削机床的输出控制为对象,重点说明了其相应后处理程序修改的关键技术。一、前言mastercam是由美国cnc software公司率先开发的cad/cam软件系统,其丰富的三维曲面造型设计、数控加工编程的功能尤其适合航空航天、汽车、模具等行业。它的数控加工编程功能轻便快捷,特别适合车间级和小型公司的生产与发展,目前,在国内外得到了非常广泛的应用。mastercam系统可提供25轴铣削、车削、变锥度线切割4轴加工等编程功能。目前三轴铣削在模具和其他行业的应用最为广泛,随着数控加工技术不断朝高速、超高速、高精密、多轴联动及工艺的复合化加工的方向发展,数控五轴铣削加工应用的范围将不断扩大。五轴铣削加工不再仅限于叶轮、叶片等复杂零件的加工,对于模具行业等涉及空间曲面的凸凹模、大型整体零件的结构特征应用范围逐渐扩大,通过利用立铣刀的侧刃和底刃,五轴铣削加工可以避免球头刀的零速切削、零件的多次定位装夹等缺陷,可在很大程度上提高产品的加工效率和质量。由于五轴数控机床的配置多样,有工作台双摆动、主轴双摆动、工作台旋转与主轴摆动合成等多种形式,所以五轴铣削加工编程的难点在于后处理程序的二次开发上。mastercam提供了五轴后处理程序模板,用户在此基础进行修改即可满足实际的需要。二、mastercam数控编程后处理技术应用1. mastercam数控编程后处理简介后置处理程序将cam系统通过机床的cnc系统与机床数控加工紧密结合起来。后置处理最重要的是将cam软件生成的刀位轨迹转化为适合数控系统加工的nc程序,通过读取刀位文件,根据机床运动结构及控制指令格式,进行坐标运动变换和指令格式转换。通用后置处理程序是在标准的刀位轨迹以及通用的cnc系统的运动配置及控制指令的基础上进行处理的,它包含机床坐标运动变换、非线性运动误差校验、进给速度校验、数控程序格式变换及数控程序输出等方面的内容。只有采用正确的后置处理系统才能将刀位轨迹输出为相应数控系统机床能正确进行加工的数控程序,因此编制正确的后置处理程序是五轴数控铣削编程与加工的前提条件之一。后处理的主要任务是根据具体机床运动结构形式和控制指令格式,将前置计算的刀位轨迹数据变换为机床各轴的运动数据,并按其控制指令格式进行转换,成为数控机床的加工程序。五轴加工后处理程序的难点是机床坐标运动变换。对刀位轨迹进行后处理转换时,首先根据具体的机床运动结构来确定运动变换关系,由此将前置计算的刀位轨迹数据变换并分解到机床的各个运动轴上,获得各坐标轴的运动分量。运动变换关系取决于具体机床的运动结构配置,机床坐标轴的配置不同,其变换关系也不相同。这里要考虑机床种类及机床配置、程序起始控制、程序块及号码、准备功能、辅助功能、快速运动控制、直线圆弧插补进给运动控制、暂停控制、主轴控制、冷却控制、子程序调用、固定循环加工控制、刀具补偿、程序输出格式转换、机床坐标系统变换及程序输出等。格式转换主要包括数据类型转换与圆整、字符串处理、格式输出等内容。算法处理主要包括坐标运动变换、跨象限处理、进给速度控制等内容。cad/cam软件包提供的数控程序后处理模式一般流程如图1所示。图1 数控编程后置处理流程mastercam后处理程序采用的是纯文本格式文件接口,该文本是以脚本文件和源代码文件混合而构成的,要求数控人员具备软件基础开发的经验和对数控系统的熟练掌握才能编制出正确的后处理程序模板。机床与数控系统接口文件(企业级数控系统接口文件),主要控制相应的数控机床格式及数控程序文件内容输出,使其满足数控机床的正确配置。它是正确配置程序输出的重点,也是难度最大的,它的源代码采用的是宏程序形式,采用条件判断、循环、跳转等逻辑方式,根据实际需要来编写相关代码,因此编写时需要用到软件开发的基本知识。mastercam提供的通用五轴铣削加工编程的后处理程序文件为mpgen5x.pst。用户可以通过修改该后处理程序文件,满足相应数控系统的要求。2. fidia kr214五轴后处理程序设置fidia kr214为带旋转工作台的六轴五联动高速铣削加工中心,其机床类型如图2a所示,其中c轴为主动轴、a轴为从动依附轴、旋转工作台为w轴。现有的cam软件大多不支持六轴联动的数控程序后处理,且实际加工中,一般的五轴联动足够满足生成的需要。针对该机床加工的特性,根据需要可编制三个线性轴x、y、z与a/c五轴联动后处理程序以及包括三个线性轴与a/w的五轴后处理程序。这两种后处理程序方案即可满足工程需求。下面详细说明在mpgen5x.pst后处理程序的基础上,修改适合kr214(或kr211)数控机床的后处理程序的过程。a)b)图2 多轴铣削机床运动配置示意图(1)圆弧输出设置用于对圆弧插补的输出进行控制,如圆心的表达(r或ijk)、圆弧打断、整圆输出等。#arc output settingsbreakarcs: 0 #break arcs, 0 = no, 1 = quadrants, 2 = 180 arcsarcoutput: 0 #0 = ijk, 1 = r no sign, 2 = r signed neg. over 180arctype : 2 #arc center 1=abs, 2=st-ctr, 3=ctr-st, 4=unsigned inc.do_full_arc : 1 #allow full circle output? 0=no, 1=yeshelix_arc: 1 #support helix arc output, 0=no, 1=all planes, 2=xy plane onlyarccheck : 1 #check for small arcs, convert to linearatol : .01#angularity tolerance for arccheck = 2(2)五轴机床构造及运动设置用于对典型的五轴机床运动方式进行配置,可对工作台双摆动、主轴头双摆动、主轴摆动及工作台摆动、工作台复合摆动(回转)、主轴复合摆动(回转)等典型五轴机床进行设置。主轴回转或摆动对应于相应机床,可处于主动轴或从动轴的形式。针对kr214机床的配置mtype设为2。#machine rotary routine settingsmtype : 2 #machine type (define base and rotation plane below) #0 = table/table#1 = tilt head/table#2 = head/head#3 = nutator table/table#4 = nutator tilt head/table#5 = nutator head/headhead_is_sec : 2 #set with mtype 1 and 4 to indicate head is on secondary(3)旋转轴矢量平面设置用于设置主动轴及从动旋转轴矢量方向,设置主轴或工作台复合摆动轴矢量方向。根据kr214(kr211)的c、a轴的运动配置,其c轴在xy平面内旋转,a轴在yz平面内摆动,因而设置如下:#primary planexy xz yz#secondary or xz xy xy#secondary yz yz xzrotaxis1 = vecy #zero rotdir1 = vecx #direction rotaxis2 = vecz #zero rotdir2 = vecy #directionp_nut_restore #postblock, restores original axis settings result = updgbl(rotaxis1, vecy) #zeroresult = updgbl(rotdir1, vecx) #directionresult = updgbl(rotaxis2, vecz) #zeroresult = updgbl(rotdir2, vecx) #direction nut_ang_pri : -45对于旋转平面不在坐标平面的特殊主轴复合摆动或工作台复合摆动的五轴机床,且mtype设置为35的特殊类型时,如dmu125p和dmu50p的机床需要正确设置nut_ang_pri参数。只有当mtype设置为35时,该参数才起作用。根据kr214(或kr211)机床运动轴配置特点,其g7_tilt参数应设为2。saxisx: 0 #the axis offset direction?saxisy: 0 #the axis offset direction?saxisz: 0 #the axis offset direction?r_intersect : 1 #rotary axis intersect on their center of ratationsg7_tilt : 2 #with mill_plus and nutating, select toolplane output#0 = post selects g7 rotation axis#1 to 4, user selected g7 rotation axis #1 = primary c : x zero, secondary b#2 = primary c : y zero, secondary a#3 = primary c : -x zero, secondary b#4 = primary c : -y zero, secondary ashift_90_s : 1 #shift pos.=1, neg.=-1(5)机床行程及转角限位设置坐标运动轴的行程及软件限位设置的正确性,直接影响五轴机床数控程序输出的正确性,下述分别为kr214的各坐标轴的行程及a/c轴的转角行程设置。1)x、y、z线性轴行程设置adj2sec : 1 use_stck_typ : 2 #0=off, 1=stock def., 2=limitsup_x_lin_lim : 1350#x axis limit in positive directionup_y_lin_lim : 900#y axis limit in positive directionup_z_lin_lim : 1400#z axis limit in positive directionlw_x_lin_lim : -1350 #x axis limit in negative directionlw_y_lin_lim : -200 #y axis limit in negative directionlw_z_lin_lim : 200#z axis limit in negative direction2)主动轴c和从动轴a的转角设置auto_set_lim : 1 #set the type from the angle limit settings (ignore these)pri_limtyp : 1sec_limtyp : 1#set the absolute angles for axis travel on primarypri_limlo: -200pri_limhi: +200 #set intermediate angle, in limits, for post to reposition machinepri_intlo: -200pri_inthi: +200 #set the absolute angles for axis travel on secondarysec_limlo: -115 sec_limhi: +90 #set intermediate angle, in limits,for post to reposition machinesec_intlo: -200 sec_inthi: +200 五坐标机床后处理程序的验证可通过下面的测试进行。例如,我们根据kr214的需求进行了多种测试,如x/w轴联动、固定a轴、变a轴、旋转c轴、五轴底刃、五轴侧刃等典型的五轴加工程序测试。其测试的刀具轨迹与部分程序代码如图3图5所示。a)五轴底刃刀具轨迹及其模拟b)五轴侧刃刀具轨迹及其模拟图3 五轴铣削加工功能测试示意图图4 五轴侧刃铣削加工程序图5 五轴底刃铣削加工程序3. maho1600w立卧转换加工中心后置处理德马吉公司的maho1600w为带旋转工作台的四轴立卧转换加工中心,由于其立卧轴只能单独加工,不像dmu125p或dmu50p等五轴立卧转换加工中心,dmu125p为主轴复合摆动,dmu50p为工作台复合摆动,刀具平面相对于xy平面可以倾斜,所以maho1600w后处理程序可分别对立轴和卧轴进行单独处理。数控编程时根据主轴立卧的状态,选择相应的后处理程序即可满足要求。其卧轴为标准的旋转四轴配置,而立轴多数情况下工作台只起分度作用。下面以采用立轴加工某产品高精度同轴的内外圆弧段过程中,maho1600w所出现的旋转工作台中心与主轴中心的同轴度机床精度超差问题为例,给出以x(y)、b轴联动来避免xy两轴联动而出现的零件超差的作法,其刀具轨迹如下图6所示。由于mastercam所自带的maho系统的后处理程序均为三轴后处理,针对四轴的情况,用户可以mpfan.pst提供的四轴后处理程序文件为基础进行改编,开发出maho1600w的立卧两种状态下的后处理程序。maho1600w机床卧式铣削加工时,其运动配置如图2(b)所示。下面通过修改mpfan.pst文件中的部分关键内容实现x(y)、b、z三轴联动,来满足上述产品的加工需要,用旋转b轴替待y轴来联动插补加工。设置机床类型为立轴加工、旋转轴为绕z轴逆时针方向,将其中的vmc参数设置为1,rot_on_x设置为3,实现工作台立式绕z轴旋转的目的。同时,为了提高输出曲线曲面的精度,将相关参数atol、vtol设为等精度。由于在mastercam环境下的观测坐标系与maho1600w的x方向相反,因此,加入scalex参数进行反向。同时,在输出格式上将旋转轴输出设置为b轴,并将y和z交换。在mastercam中以旋转轴参与轮廓联动加工时,其界面设置如下图7所示。我们用这种方法加工出了合格的产品,其加工程序的部分代码如图8所示。实践证明,在加工二维轮廓时,适当采用线性轴和旋转轴进行联动插补可以提高产品的精度。在实际加工中,为提高加工的表面光洁度,可适当降低加工的进给率。rot_on_x : 3 #default rotary axis orientation, see ques. 164. #0 = off, 1 = about x, 2 = about y, 3 = about zrot_ccw_pos : 1 #axis signed dir, 0 = cw positive, 1 = ccw positivescalex: -1.0 # scaling of .nci at input - x,y,z,i,j,kscaley: 1.0 # scaling of .nci at input - x,y,z,i,j,kscalez: 1.0 # scaling of .nci at input - x,y,z,i,j,katol : .005#angularity tolerance for arccheck = 2ltol : .001 #length tolerance for arccheck = 1vtol : .0001 #system toleranceltol_m: .002#length tolerance for arccheck = 1, metricvtol_m: .001 #system tolerance, metric格式输出fmt x 2xabs #x position outputfmt z 2yabs #y position outputfmt y 2zabs #z position outputfmt x 3xinc #x position outputfmt z 3yinc #y position outputfmt y 3zinc #z position outputfmt b 11 cabs #c axis positionfmt b 14 cinc #c axis positionfmt b 4indx_out #index positionfmt i 3i #arc center description in xfmt j 3j #arc center description in yfmt k 3k #arc center description in zfmt r 2arcrad#arc radiusfmt f 15 feed #feedratefmt p 11 dwell #dwellfmt m 5cantext #canned text图6 x、b联动轮廓加工刀具轨迹示意图图7 轮廓加工旋转轴拟合设置界面4. 常用的三轴数控铣削编程后置处理在模具、航空航天等行业中,数控铣削加工中的三轴联动切削应用最为广泛。mastercam系统提供了如fanuc、maho、heidenhane、century6x等众多数控系统的三轴铣削编程后处理程序,但是由于在程序起始控制、刀具说明、输出格式、程序传输等方面各数控系统有所差异,且企业为实现其程序的可读性、简洁性、可复用性、易管理性、减少手工的修改量等方面的要求,必须对后处理程序进行二次开发。下面为针对典型的数控系统,如fanuc、century6x等对象,在输出格式、程序起始、刀具等方面介绍了如何修改其后处理程序,并以实例的形式进行了说明。图8 x、b轴联动加工程序代码(1)字符输出格式的控制下面的内容主要用于单位输出和精度等方面的控制,系统可以mm、m为单位输出,同时对小数点后的输出精度、绝对值和增量值进行输出控制。系统参数变量fs2存储不同的数字115,实现其输出格式的控制。# format statements - n=nonmodal, l=leading, t=trailing, i=inc, d=delta#default english/metric position format statementsfs2 10.7 0.6 #decimal, absolute, 7 place, default for initialize (fs2 20.4 0.3 #decimal, absolute, 4/3 placefs2 30.4 0.3d #decimal, delta, 4/3 place#common format statementsfs2 41 0 1 0 #integer, not leadingfs2 52 0 2 0l #integer, force two leadingfs2 63 0 3 0l #integer, force three leadingfs2 74 0 4 0l #integer, force four leadingfs2 90.1 0.1 #decimal, absolute, 1 place(2)程序起始说明与控制主要用于实现其程序起始在加工产品对象、坐标系定义等方面的规范控制。# start of file and toolchange setuppsof0 #start of file for tool zero%, e# *progno, e, sprogname, , e(product, epbld, *smetric, e pbld, , , , , , , eif stagetool = zero, pbld, *t, m6,(tools, epindexif mi1 one, absinc = zeropcan1, pbld, g00 g17 g40 g49 g80 g54, *sgabsinc, pwcs, pfxout, pfyout, , *speed, *spindle, pgear, strcantext, epbld, g43, *tlngno, pfzout, scoolant, next_tool, ec_msng #single tool subprogram call(3)刀具交换与注释说明用于刀具交换及返回参考点等方面的控制功能。ptlchg #tool change pcuttypetoolchng = one if mi1 = one, #work coordinate systempfbld, , *sg28ref, , y200., epfbld, , g92, *xh, *yh, *zh, epbld, m01, epcom_movebc_mmlt #multiple tool subprogram callptoolcommentcommentpcanpbld, *t, m6,(toolnotes:), ec_msng #single tool subprogram call (4)程序结束输出控制不同的数控系统在程序结束时有所不同,下述代码为例。pretract #end of tool path, toolchange pcanpbld, sccomp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论