数控机床刀具补偿功能的应用研究叶海见王卫东浙江工业职业技术学院浙江绍兴312000ApplicationResearchofToolCompensationinNCmachiningYeHaijianWangWeidongZhejiangIndustryPolytechnicCollege,Shaoxing312000,China摘要研究分析数控机床刀具补偿问题,明确了刀具半径补偿方向的判定法则。介绍了半径补偿的具体使用方法,明确了位置补偿的方法,正确应用刀具补偿功能将进一步提高零件的加工精度。AbstractAnalysisandstudytheproblemofToolCompensationinNCmachining,cleartheregulationofjudgingthedirectionfortoolradiuscompensation.Introducetheusingmethodoftoolradiuscompensation,cleartheusingmethodofpositioncompensation,correctapplicationoftoolcompensationcanimproveparts'machiningaccuracy.关键词位置补偿半径补偿假想刀尖长度补偿Keywordspositioncompensationradiuscompensationtheimaginedcutter-tiplengthcompensation中图分类号:TG659刀具补偿功能是数控机床的主要功能之一,它分为两类:刀具的位置补偿和刀尖圆弧半径补偿,具体到机床,数控车床和数控铣床(包含数控加工中心)又有些区别,在此分别分析研究数控机床的刀具补偿功能。1数控车床的刀具补偿功能刀具功能指令(T指令)指令数控系统进行选刀或换刀。用地址T和其后的数字来指定刀具号和补偿号。数控车床上刀具号和刀具补偿号有两种形式:T1+1或T2+2即:刀具补偿号从01(或1)组开始,00(或0)组表示取消刀补。在数控车床上通常以同一编号指令刀位号和刀具补偿号,以减少编程时的错误。例如T0101表示采用1号刀具和1号刀补。数控车床的刀具补偿功能包括刀具位置补偿和刀尖圆弧半径补偿两个方面。1.1刀具位置补偿刀具的位置补偿又称为刀具偏置补偿或刀具偏移补偿。在下面三种情况下,均需进行刀具位置的补偿。1)在实际加工中,通常是用不同尺寸的若干把刀具加工同一轮廓尺寸的零件,而编程时是以其中一把刀为基准设定工件坐标系的,因此必须将所有刀具的刀尖都移到此基准点。利用刀具位置补偿功能,即可完成。2)对同一把刀来说,当刀具重磨后再把它准确地安装到程序所设定的位置是非常困难的,总是存在着位置误差。这种位置误差在实际加工时便会造成加工误差。因此在加工以前,必须用刀具位置补偿功能来修正安装位置误差。3)每把刀具在其加工过程中,都会有不同程度的磨损,而磨损后的刀具的刀尖位置与编程位置存在差值,这势必造成加工误差。这一问题也可以用刀具位置补偿的方法来解决。刀具位置补偿通常是用手动对刀和测量工件加工尺寸的方法,测出每把刀具的位置补偿量并输入到相应的存储器中。当程序执行了刀具位置补偿功能之后,刀尖的实际位置就代替了原来的位置。值得说明的是,刀具位置补偿一般是换刀指令后第一个含有移动指令的程序段中进行。该刀加工工序完成之后须取消刀具位置补偿,刀具位置补偿是在返回换刀点的程序段中执行。1.2刀尖圆弧半径补偿编制数控车床加工程序时,将车刀刀尖看作一个点。但是为了提高刀具寿命和降低加工表面的粗糙度值,通常机夹车刀刀尖都有一段不大的圆弧,一般圆弧半径R在0.4-1.6mm之间。如图1所示:图11.2.1刀尖半径和假想刀尖的概念1)刀尖半径:即车刀刀尖部分为一圆弧构成假想圆的半径值,一般车刀均有刀尖半径,用于车外圆或端面时,刀尖圆弧大小并不起作用,但用于车倒角、锥面或圆弧时,则会影响精度,因此在编制数控车削程序时,必须给予考虑。2)假想刀尖:假想刀尖实际上是一个不存在的点,如图1所示的A点。之所以提出假想刀尖,是因为把实际刀尖的圆弧中心对准加工起点或某个基准位置是很困难的,而用假想刀尖的方法就变得容易了。编程时按假想刀尖轨迹编程,实际存在的刀尖圆弧在切削工件时就会造成如图2所示的欠切或过切现象。若工件要求不高或留有精加工余量,图示误差可以忽略;否则必须考虑刀尖圆弧对工件形状的影响。采用刀尖圆弧半径补偿功能后,按刀尖圆弧圆心轨迹(即工件轮廓形状)编程,加工时数控系统自动偏移一个半径出来,从而消除了刀尖圆弧对工件形状的影响。具体方法:还是用假想刀尖对刀,但要向数控系统告知刀尖方位、圆弧半径及刀尖圆弧半径补偿方向,系统自动会按数学方法推算出刀尖圆弧中心轨迹。图21.2.2刀尖R补偿的方法1)输入刀具参数刀具参数包括X轴偏置量、Z轴偏置量、刀尖R、假想刀尖方位T。这些都与工件的形状有关,必须用参数输入数控系统数据库。FANUC系统如图3所示,华中系统如图4所示,其他系统也类似。图3图4图5所示为后置刀架假想刀尖方位编号简图及详图;图6所示为前置刀架假想刀尖方位编号简图及详图。图5图6图7所示为前置刀架几种具体数控车床刀具的假想刀尖位置及参数。图7刀尖方位编号从0至9有10个方向号。当按假想刀尖A点对刀时,刀尖位置方向因安装方向不同、从刀尖圆弧中心到假想刀尖的方向,有8种刀尖位置方向号可供选择,并依次设为1-8号:当按刀尖圆弧中心点对刀时,刀尖位置方向则设定为O或9号。2)刀尖圆弧半径补偿指令(G40G41G42)G41——刀尖半径左补偿,沿与加工平面相垂直的另一坐标轴,朝着该坐标轴的负方向看去,沿刀具运动方向看(假设工件不动),刀尖圆弧中心位于工件左侧时的刀具半径补偿。G42——刀尖半径右补偿,沿与加工平面相垂直的另一坐标轴,朝着该坐标轴的负方向看去,沿刀具运动方向看(假设工件不动),刀尖圆弧中心位于工件右侧时的刀具半径补偿。G40——取消刀尖半径补偿。示例如图8所示。图8说明:方向判定的关键是找到Y轴,朝着该坐标轴的负方向看去。3)刀尖圆弧半径补偿注意事项:①G41、G42、G40指令必须在G00或G01指令程序段中建立或取消,不得在G02或G03圆弧插补指令程序段中建立或取消。②G40必须和G41或G42成对使用。③在使用G41或G42指令模式中,不允许有两个连续的非移动指令(如M指令、延时指令等),否则刀具在前面程序段终点的位置停止,且产生过切或欠切现象,如图9所示。图9④在补偿启动段或补偿状态下,不得有指定移动距离为0的G00、G01指令程序段。⑤数控车床G41、G42指令不带参数,其补偿值由刀尖圆弧半径与刀尖方位确定。⑥程序结束时必须取消刀尖圆弧半径补偿。2数控铣床(加工中心)的刀具补偿功能数控铣床(加工中心)的刀具功能由地址码T及后面的数字组成,数字代表刀具的编号如T001、T02,这里与数控车床不一样,只有刀具号没有刀补号,加工中心换刀时需用M06指令。举例:T12M06说明:T指令的范围在1-999之间。2.1刀具长度补偿刀具长度补偿指令一般用于刀具轴向(Z方向)的补偿,它使刀具在Z方向上的实际位移量比程序给定值增加或减少一个偏置量,这样当刀具在长度方向的尺寸发生变化时,可以在不改变程序的情况下,通过改变偏置量,加工出所要求的零件尺寸。G43、G44、G49—刀具长度补偿指令1)G43(刀具长度补偿+)功能:使刀具向Z轴+方向偏置。格式:G43Z___H___2)G44(刀具长度补偿-)功能:使刀具向Z轴-方向偏置。格式:G44Z___H___3)G49(刀具长度补偿取消)功能:取消刀具长度补偿格式:G49其中,Z___为目标点坐标;H___为刀具长度补偿值的存储地址。补偿量存入由H代码指令的存储器中。使用G43、G44时,不管用绝对尺寸还是用增量尺寸指令编程,程序中指定的Z轴移动指令的终点坐标值,都要与H代码指令的存储器中的偏移量进行运算。G43时相加,G44相减。然后把运算结果作为终点坐标值进行加工。G43、G44均为模态代码。G49为取消刀具长度补偿指令,指令刀具只运行到编程终点坐标。2.2刀具半径补偿指令(G40、G41、G42)2.2.1刀具半径补偿的目的在数控铣床(加工中心)上进行轮廓加工时,因为铣刀具有一定的半径,所以刀具中心(刀心)轨迹和工件轮廓不重合。若数控装置不具备刀具半径自动补偿功能,则只能按刀心轨迹进行编程(图10中点划线),其数值计算有时相当复杂,尤其当刀具磨损、重磨、换新刀等导致刀具直径变化时,必须重新计算刀心轨迹,修改程序,这样既繁琐,又不易保证加工精度。当数控系统具备刀具半径补偿功能时,编程只需按工件轮廓线进行(图10中粗实线),数控系统会自动计算刀心轨迹坐标,使刀具偏离工件轮廓一个半径值,即进行半径补偿。图102.2.2刀具半径补偿的方法数控刀具半径补偿就是将刀具中心轨迹过程交由数控系统执行,编程时假设刀具的半径为零,直接根据零件的轮廓形状进行编程,而实际的刀具半径则存放在一个可编程刀具半径偏置寄存器中,在加工工程中,数控系统根据零件程序和刀具半径自动计算出刀具中心轨迹,完成对零件的加工。当刀具半径发生变化时,不需要修改零件程序,只需修改存放在刀具半径偏置寄存器中的半径值或选用另一个刀具半径偏置寄存器中的刀具半径所对应的刀具即可。G41指令为刀具半径左补偿(左刀补),G42指令为刀具半径右补偿(右刀补),G40指令为取消刀具半径补偿。这是一组模态指令,缺省为G40。使用格式:191817GGG404241GGG—————ZYZXYXD说明:1)刀具半径补偿G41、G42判别方法,参照数控车床的方向判定。如图11所示,沿与加工平面相垂直的另一坐标轴,朝着该坐标轴的负方向看去,规定沿着刀具运动方向看,刀具位于工件轮廓(编程轨迹)左边,则为左刀补(G41),反之,为刀具的右刀补(G42)。图112)使用刀具半径补偿时必须选择工作平面(G17、G18、G19),如选用工作平面G17指令,当执行G17指令后,刀具半径补偿仅影响X、Y轴移动,而对Z轴没有作用。3)当主轴顺时针旋转时,使用G41指令铣削方式为顺铣,反之,使用G42指令铣削方式为逆铣。而在数控机床为了提高加工表面质量,经常采用顺铣。4)建立和取消刀补时,必须与G01或G00指令组合完成(此处可参照数控车床建立和取消刀补),建立和取消刀补过程如图12所示,使刀具从无刀具半径补偿状态起刀点,配合G01或G00指令运动到补偿开始切入点,刀具半径补偿建立。工件轮廓加工完成后,还要取消刀补的过程,即从刀补结束切出点,配合G01或G00指令运动到无刀补状态的起刀点。图125)D代码必须配合G41或G42指令使用,D代码应与G41或G42指令在同一程序段给出,或者可以在G41或G42指令之前给出,但不得在G41或G42指令之后的程序段给出;D代码是刀具半径补偿号,其具体数值在加工或试运行之前设定在刀具半径补偿存储器中;D代码是模态代码,具有继承性。2.2.3刀具半径补偿功能的应用1)直接按零件轮廓尺寸进行编程,避免计算刀心轨迹坐标,简化数控程序的编制。2)刀具因磨损、重磨、换新刀而引直径变化后,不必修改程序,只需在刀具半径补偿参数设置中输入变化后的刀具半径。3)改变刀具半径补偿值可实现零件的粗、精加工。如果人为地使刀具中心与工件轮廓偏置值不是一个刀具半径,而是某一给定值,则可以用来处理粗、精加工问题。在粗加工时,可将刀具实际半径再加上精加工余量作为刀具半径补偿值输入,而在精加工时只输入刀具实际半径值,这样可使粗、精加工采用同一个程序,其补偿方法为:设精加工余量为,刀具半径为r,如图13所示:首先,人工输入刀具偏置值为r+,即可完成粗加工到图示的位置;在精加工时,输入刀具的半径值r,即可完成最终的轮廓精加工。图134)利用刀具半径补偿可实现阴阳模具加工,在加工同一公称尺寸的内、外两种型面时,可利用同一程序把G41、G42指令互换,即可完成内