五面体加工中心坐标系偏移旋转与误差补偿.doc_第1页
五面体加工中心坐标系偏移旋转与误差补偿.doc_第2页
五面体加工中心坐标系偏移旋转与误差补偿.doc_第3页
五面体加工中心坐标系偏移旋转与误差补偿.doc_第4页
五面体加工中心坐标系偏移旋转与误差补偿.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

摘要:目前国内五面体加工中心在立、卧头转换时,通常只进行简单的坐标系偏移补偿,通过G17、G18、G19来选择各个加工面。如果采用坐标系旋转的方式,使Z轴始终沿主轴方向,更易于编程。本文根据实际加工经验,讲解坐标系偏移、旋转和误差补偿的方法。五面体加工中心是目前国内大型加工设备中比较先进的。以我厂现使用中的沈机中捷THA57200400、GMC2560r2、GMC2560wr3为例,控制系统采用西门子840D。沈阳机床厂通常采用两种方式来补偿立、卧头的差值:1、执行转头程序L01(newpos)就完成补偿变换;2、执行完转头程序L01(newpos)后,再通过执行子程序L11完成变换。其实这两种方式本质上没有什么区别,只是方式1中的L01(newpos)程序整合了方式2中的L01(newpos)和L11程序。下面我们通过沈阳机床厂提供的说明及程序源码来分析一下其误差补偿程序的原理。首先,机床厂提供一个用户数据文件UGUD.arc:%_N_UGUD_DEF;$PATH=/_N_DEF_DIRDEF NCK REAL DTT50;用于记录各头各角度偏移值(编者注)DEF NCK REAL HEAD10;用于记录头号(编者注)M17HEAD1变量来表示当前头,如HEAD1=1表示当前是1号头,HEAD1=2表示当前是2号头0为立头。上述对当前头号的标识由厂商添加到相应子程序中,如在HEAD_1.SPF子程序结束符“M17”之前添加“HEAD1=1”;在HEAD_2.SPF子程序结束符“M17”之前添加“HEAD1=2”等。DTT用于表示卧头在各个角度时相对于立头的偏差值:;头1:0或180时DTT11 主轴轴心与C 轴在X 向的偏差DTT12 主轴轴心与C 轴在Y 向的偏差DTT13 主轴轴心与C 轴在Z 向的偏差90或270DTT14 主轴轴心与C 轴在X 向的偏差DTT15 主轴轴心与C 轴在Y 向的偏差DTT16 主轴轴心与C 轴在Z 向的偏差上面的各个数据由厂商在调试时自己测量并设定到用户变量里面去。我们通过查看L11程序,发现厂商使用的补偿方法其实是修改基准零点坐标系BNS来实现的。如1号卧头处于0方向时:$P_UBFRX,TR=-DTT11 $P_UBFRY,TR=-DTT12 $P_UBFRZ,TR= -DTT131号卧头处于180方向时:$P_UBFRX,TR=-DTT11 $P_UBFRY,TR=-DTT12 $P_UBFRZ,TR= -DTT13两者简单地对基准零点坐标系BNS进行正向或负向的偏移来实现补偿。通过上面的分析我们发现了机床厂商提供的这套补偿方案的不合理之处:1、修改了基准零点坐标系BNS。这个坐标系是处于我们常用的可设定零点坐标系ENS(就是G54、G55等所建立的坐标系)的上层的。如果修改了BNS的偏移值,我们常用的G53、G500命令是不能屏蔽BNS偏移值的,带着这个偏移值进行移动,机床有可能会无法到达正确的换刀点、换头点,也可能发生碰撞!所以厂商要求必须将换刀程序、换头程序中的G53命令全部用SUPA命令代替,SUPA命令可以屏蔽BNS偏移值。通常情况下我们的机床不在基准零点坐标系设置偏移,普通工人都认为可设定零点坐标系上层直接就是机床坐标系。这个干涉习惯的基准零点坐标系设定方式并不容易为普通工人所接受,且一旦修改内容有误不易被发觉,容易出错。2、这个程序只能应付0、90、180、270四个最常用的方向。我们的卧头是5分度或2.5分度的,在其它非正交分度时无法用此程序补偿。3、由于机床卧头旋转存在误差,在相对方向的偏差值往往是不同的。如我厂初步验收时,在未补偿的情况下,90和270方向的X向误差超过0.05mm,Z向误差超过0.06mm(后经厂商调试,控制在0.03mm以内),而原L11误差补偿程序是无法补偿这个误差的,相反,还有可能会放大这个误差。比如我们假设厂商在90时测量出X值相对于立头向正向偏移了0.03mm,他把DTT14设为了0.03,那么当卧头转到270时,程序会把X向负向补偿0.03mm,而实际中我们测得的270X向偏差值可能是正向的,这样无疑增大了误差。如此会造成转头加工孔的同轴度较差,不能满足有严格同轴度要求的零件的加工。4、原L11补偿程序不提供坐标系的旋转。这往往需要操作者根据实际情况使用G17、G18、G19命令来选择加工平面。这种方式在使用CYCLE81等循环时需要注意返回平面的正负号、图纸尺寸在各个坐标系方向的变化,编程不方便。我们通常将工件坐标系建立为:Z轴始终沿着主轴方向,加工平面选用G17平面(即XY平面),这样很方便根据图纸编程。为了克服上述缺点,我们采用新思路编制了新的坐标系补偿程序。1、添加GUD4用户自定义数据用来表示各个角度的偏移补偿;%_N_GUD4_DEF;$PATH=/_N_DEF_DIRDEF NCK REAL U_03=(378.97,0.04,533.468)DEF NCK REAL U_903=(0.06,-378.873,533.468)DEF NCK REAL U_1803=(-378.86,0.05,533.403)DEF NCK REAL U_2703=(0.11,378.931,533.403)DEF NCK REAL U_LHY3M17由于我厂除了立头外,仅使用了一个卧头,所以仅添加了一组数组:U_03、U_903、U_1803、U_2703。U_00、U_01、U_02分别表示卧头在0时与立头的X、Y、Z差值。同样:U_90卧头在90时与立头的X、Y、Z差值;U_180卧头在180时与立头的X、Y、Z差值;U_270卧头在270时与立头的X、Y、Z差值。以上参数全部手工测量,可以在“参数-用户数据-GUD4”下查询和修改。我们定义了最常用的四个方向的补偿值,有效解决了不同方向补偿误差的微小区别。2、建立一个用户循环,用于可设定零点坐标系ENS建立时的偏移设定:LHYSET(INT XPOS, INT YPOS, INT ZPOS) 记录当前的测量状态,在LHY数组中记录立头坐标系与当前坐标系的差值,建立坐标系补偿。每次找正工件建立坐标系的时候都需要执行一次,且仅执行一次就行。参数XPOS、YPOS、ZPOS分别表示三个轴测量时的卧头角度。如为立轴所打,记为-1。如:先用立轴测出Y值,再换卧头转到90测出X和Z值。将测量值录入到G54、G55等完成后,需在程序开头执行LHYSET(90,-1,90)这将在机床坐标系和工件坐标系之间建立一个补偿。以前不使用这个程序,在建立工件坐标系时我们需要通过手工计算得出当前坐标值与立头坐标值,比较麻烦。原程序部分内容如下:%_N_LHYSET_SPF;$PATH=/_N_CUS_DIR;-附件头误差补偿(建立坐标系测量后)-PROC LHYSET (INT XPOS, INT YPOS, INT ZPOS) SAVE DISPLOF;X补偿CASE(XPOS) OF -1 GOTO SETX 0 GOTOF SET0X 90 GOTOF SET90X 180 GOTOF SET180X 270 GOTOF SET270X DEFAULT GOTOF ERRORRETSETX:U_LHY0=0GOTOF LHYENDXSET0X:U_LHY0=-U_00GOTOF LHYENDXSET90X:U_LHY0=-U_900GOTOF LHYENDXSET180X:U_LHY0=-U_1800GOTOF LHYENDXSET270X:U_LHY0=-U_2700GOTOF LHYENDXLHYENDX:ENDIF;Y补偿;Z补偿;RETERRORRET:MSG(DEGREE ERROR!)M00GOTOB ERRORRETRET3、建立一个用户循环,根据卧头角度旋转偏移坐标系并建立补偿:LHY程序将ENS坐标系中的偏移值加上数组LHY所记录的立头与ENS坐标系差值得出立头的坐标系,再加上当前卧头对应的立卧差值得到当前工件坐标系的正确值。程序如下:%_N_LHY_SPF;$PATH=/_N_CUS_DIR;-旋转偏移坐标系并建立补偿-PROC LHY DISPLOFDEF REAL UPX,UPY,UPZDEF REAL UZZDEF REAL CPOSCPOS=$A_INA3;读取当前卧头角度;当前头为立头IF(HEAD1=6)TRANS X=U_LHY0 Y=U_LHY1 Z=U_LHY2RETENDIF;当前头为卧头CASE(CPOS) OF 0 GOTOF TURN0 90 GOTOF TURN90 180 GOTOF TURN180 270 GOTOF TURN270TURN0:UPX=U_00 UPY=U_01 UPZ=U_02GOTOF TURNSETTURN90:UPX=U_900 UPY=U_901 UPZ=U_902GOTOF TURNSETTURN180:UPX=U_1800 UPY=U_1801 UPZ=U_1802GOTOF TURNSETTURN270:UPX=U_2700 UPY=U_2701 UPZ=U_2702GOTOF TURNSETTURNSET:UPX=UPX+U_LHY0UPY=UPY+U_LHY1UPZ=UPZ+U_LHY2UZZ=-CPOS+90IF (UZZ-180)UZZ=UZZ+360ENDIFTRANS X=UPX Y=UPY Z=UPZAROT Z=UZZ X=90RET实际应用方法:1、先将测量的坐标系值输入G54或其它ENS中。2、执行LHYSET(INT XPOS, INT YPOS, INT ZPOS)指令。3、使用换头指令L01(newpos)后,在G54等代码后面需添加LHY指令来偏移旋转坐标系。在工件程序中需要再次偏移或旋转坐标系的,请使用相对偏移或旋转指令(即ATRANS和AROT,而不是TRANS和ROT),如需恢复再次执行LHY指令即可。由于刀具长度补偿默认补偿在机床坐标的Z轴,故卧头不使用D1等刀具长度补偿指令,而是在LHY执行后采用下面的指令取代:ATRANS Z=$TC_DP21$P_TOOLNO,$P_TOOL;范例工件1加工程序LHYSET(90,-1,90);建立G54时测量机床Y

温馨提示

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

评论

0/150

提交评论