标题：刀具补偿
提出
用立铣刀在数控机床上加工工件，可以清楚看出刀具中心运动轨迹与工件轮廓不重合，这是因为工件轮廓是立铣刀运动包络形成的。立铣刀的中心称为刀具的刀位点（4、5坐标数控机床称为刀位矢量），刀位点的运动轨迹即代表刀具的运动轨迹。在数控加工中，是按工件轮廓尺寸编制程序，还是按刀位点的运动轨迹尺寸编制程序，这要根据具体情况来处理。
数控机床立铣刀加工
在全功能数控机床中，数控系统有刀具补偿功能，可按工件轮廓尺寸进行编制程序，建立、执行刀补后，数控系统自动计算，刀位点自动调整到刀具运动轨迹上。直接利用工件尺寸编制加工程序，刀具磨损，更换加工程序不变，因此使用简单、方便。
经济型数控机床结构简单，售价低，在生产企业中有一定的拥有量。在经济型数控机床系统中，如果没有刀具补偿功能，只能按刀位点的运动轨迹尺寸编制加工程序，这就要求先根据工件轮廓尺寸和刀具直径计算出刀位点的轨迹尺寸。因此计算量大、复杂，且刀具磨损、更换需重新计算刀位点的轨迹尺寸，重新编制加工程序。
刀具补偿的意义和类型
刀具补偿功能是用来补偿刀具实际安装位置（或实际刀尖圆弧半径）与理论编程位置（或刀尖圆弧半径）之差的一种功能。使用刀具补偿功能后，改变刀具，只需要改变刀具位置补偿值，而不必变更零件加工程序。刀具补偿分为刀具位置补偿（即刀具偏移补偿）和刀尖圆弧半径补偿两种功能。 　　
刀具位置补偿
　　刀具位置补偿值定义 　　工件坐标系设定是以刀具基准点（以下简称基准点）为依据的，零件加工程序中的指令值是刀位点（刀尖）的位置值。刀位点到基准点的矢量，即刀具位置补偿值。 　　刀具位置补偿基准 　　刀具位置补偿基准设定 　　当系统执行过返回参考点操作后，刀架位于参考点上，此时刀具基准点与参考点重合。刀具基准点在刀架上的位置，由操作者设定。一般可以设在刀夹更换基准位置或基准刀具刀位点上。有的机床刀架上由于没有自动更换刀夹装置，此时基准点可以设在刀架边缘上；也有用第一把刀作为基准刀具，此时基准点设在第一把刀具的刀位点上。 　　　　刀具位置补偿方式 　　分为绝对补偿和相对补偿两种方式。 　　1）绝对补偿 　　当机床回到机床零点时，工件坐标系零点，相对于刀架工作位上各刀刀尖位置的有向距离。当执行刀偏补偿时，各刀以此值设定各自的加工坐标系。如图所示。补偿量可用机外对刀仪测量或试切对刀方式得到。 　　2）相对补偿 　　在对刀时，确定一把刀为标准刀具，并以其刀尖位置A为依据建立工件坐标系。这样，当其他各刀转到加工位置时，刀尖位置B相对标刀刀尖位置A就会出现偏置，原来建立的坐标系就不再适用，因此应对非标刀具相对于标准刀具之间的偏置值Δx、Δz进行补偿，使刀尖位置B移至位置A。标准刀具偏置值为机床回到机床零点时，工件坐标系零点相对于工作位上标准刀具刀尖位置的有向距离。 　　刀具位置补偿类型 　　刀具位置补偿可分为刀具几何形状补偿（G）和刀具磨损补偿（W）两种，需分别加以设定。刀具几何形状补偿实际上包括刀具形状几何偏移补偿和刀具安装位置几何偏移补偿，而刀具磨损偏移补偿用于补偿刀尖磨损。 　　刀具位置补偿代码 　　刀具位置补偿功能是由程序段中的T代码来实现。T代码后的4位数码中，前两位为刀具号，后两位为刀具补偿号。刀具补偿号实际上是刀具补偿寄存器的地址号，该寄存器中放有刀具的几何偏置量和磨损偏置量（X轴偏置和Z轴偏置）。刀具偏移号有两种意义，既用来开始偏移功能，又指定与该号对应的偏移距离。当刀具补偿号为00时，表示不进行刀具补偿或取消刀具补偿。 　　
刀尖圆弧半径补偿
　　理想刀具和实际刀具 　　理想刀具是具有理想刀尖A的刀具。但实际使用的刀具，在切削加工中，为了提高刀尖强度，降低加工表面粗糙度，通常在车刀刀尖处制有一圆弧过渡刃；一般的不重磨刀片刀尖处均呈圆弧过渡，且有一定的半径值；即使是专门刃磨的“尖刀”，其实际状态还是有一定的圆弧倒角，不可能绝对是尖角。因此，实际上真正的刀尖是不存在的，这里所说的刀尖只是一“假想刀尖”。 　　刀具半径补偿意义 　　数控程序是针对刀具上的某一点即刀位点，按工件轮廓尺寸编制的。车刀的刀位点一般为理想状态下的假想刀尖点或刀尖圆弧圆心点。但实际加工中的车刀，由于工艺或其他要求，刀尖往往不是一理想点，而是一段圆弧。当加工与坐标轴平行的圆柱面和端面轮廓时，刀尖圆弧并不影响其尺寸和形状，但当加工锥面、圆弧等非坐标方向轮廓时，由于刀具切削点在刀尖圆弧上变动，刀尖圆弧将引起尺寸和形状误差，造成少切或多切。这种由于刀尖不是一理想点而是一段圆弧，造成的加工误差，可用刀尖圆弧半径补偿功能来消除。　　　　刀具半径补偿类型 　　（1）刀具半径左补偿。从垂直于加工平面坐标轴的正方向朝负方向看过去，沿着刀具运动方向（假设工件不动）看，刀具位于工件左侧的补偿为刀具半径左补偿。用G41指令表示。 　　（2）刀具半径右补偿。从垂直于加工平面坐标轴的正方向向负方向看过去，沿着刀具运动方向（假设工件不动）看，刀具位于工件右侧的补偿为刀具半径右补偿。用G42指令表示。 　　刀具半径补偿的执行过程 　　（1）刀具半径补偿的建立。刀具补偿的建立使刀具中心从与编程轨迹重合过渡到与编程轨迹偏离一个刀尖圆弧半径。刀补程序段内必须有GOO或G01功能才有效，偏移量补偿必须在一个程序段的执行过程中完成，并且不能省略。 　　（2）刀具半径补偿的执行。执行含G41、G42指令的程序段后，刀具中心始终与编程轨迹相距一个偏移量。G41、G42指令不能重复规定使用，即在前面使用了G41或G42指令之后，不能再直接使用G42或G41指令。若想使用，则必须先用G40指令解除原补偿状态后，再使用G42或G41，否则补偿就不正常了。 　　（3）刀具半径补偿的取消。在G41、G42程序后面，加入G40程序段即是刀具半径补偿的取消。如图表示取消刀具半径补偿的过程。刀具半径补偿取消G40程序段执行前，刀尖圆弧中心停留在前一程序段终点的垂直位置上，G40程序段是刀具由终点退出的动作。数控车床采用刀尖圆弧半径补偿进行加工时，如果刀具的刀尖形状和切削时所处的位置不同，刀具的补偿量与补偿方向也不同。因此假想刀尖的方位必须同偏置值一起提前设定。车刀假想刀尖的方向是从刀尖R中心看理论刀尖的方向，由刀具切削时的方向决定。系统用T表示假想刀尖的方向号，假想刀尖的方向与T代码之间的关系。 [1]
全功能数控机床系统中刀具补偿
1．数控车床刀具补偿数控车床刀具补偿功能包括刀具位置补偿和刀具圆弧半径补偿两方面。在加工程序中用T功能指定，T***X中前两个XX为刀具号，后两个XX为刀具补偿号，如T0202。如果刀具补偿号为00，则表示取消刀补。
⑴刀具位置补偿　 ；刀具磨损或重新安装刀具引起的刀具位置变化，建立、执行刀具位置补偿后，其加工程序不需要重新编制。办法是测出每把刀具的位置并输入到指定的存储器内，程序执行刀具补偿指令后，刀具的实际位置就代替了原来位置。
如果没有刀具补偿，刀具从0点移动到1点，对应程序段是N60 G00 C45 X93 T0200，如果刀具补偿是X=+3，Z=+4，并存入对应补偿存储器中，执行刀补后，刀具将从0点移动到2点，而不是1点，对应程序段是N60 G00 X45 Z93 T0202。
⑵刀具圆弧半径补偿　 ；编制数控车床加工程序时，车刀刀尖被看作是一个点（假想刀尖P点），但实际上为了提高刀具的使用寿命和降低工件表面粗糙度，车刀刀尖被磨成半径不大的圆弧（刀尖AB圆弧），这必将产生加工工件的形状误差。另一方面，刀尖圆弧所处位置，车刀的形状对工件加工也将产生影响，而这些可采用刀具圆弧半径补偿来解决。车刀的形状和位置参数称为刀尖方位，用参数0～9表示，P点为理论刀尖点。
⑶刀补参数 ；　每一个刀具补偿号对应刀具位置补偿（X和Z值）和刀具圆弧半径补偿（R和T值）共4个参数，在加工之前输入到对应的存储器，在自动执行过程中，数控系统按该存储器中的X、Z、R、T的数值，自动修正刀具的位置误差和自动进行刀尖圆弧半径补偿。2．加工中心、数控铣床刀具补偿加工中心、数控铣床的数控系统，刀具补偿功能包括刀具半径补偿、夹角补偿和长度补偿等刀具补偿功能。
⑴刀具半径补偿（G41、G42、G40）　刀具的半径值预先存入存储器HXX中，XX为存储器号。执行刀具半径补偿后，数控系统自动计算，并使刀具按照计算结果自动补偿。刀具半径左补偿（G41）指刀具偏向编程加工轨迹运动方向的左方，刀具半径右补偿（G42）指刀具偏向编程加工轨迹运动方向的右方。取消刀具半径补偿用G40，取消刀具半径补偿也可用H00。
使用中需注意：建立、取消刀补时，即使用G41、G42、G40指令的程序段必须使用G00或G01指令，不得使用G02或G03，当刀具半径补偿取负值时，G41和G42的功能互换。
刀具半径补偿有B功能和C功能两种补偿形式。由于B功能刀具半径补偿只根据本段程序进行刀补计算，不能解决程序段之间的过渡问题，要求将工件轮廓处理成圆角过渡，因此工件尖角处工艺性不好，C功能刀具半径补偿能自动处理两程序段刀具中心轨迹的转接，可完全按照工件轮廓来编程，因此现代CNC数控机床几乎都采用C功能刀具半径补偿。这时要求建立刀具半径补偿程序段的后续两个程序段必须有指定补偿平面的位移指令（G00、G01，G02、G03等），否则无法建立正确的刀具补偿。 
⑵夹角补偿 （G39） 　 两平面相交为夹角，可能产生超程过切，导致加工误差，可采用夹角补偿（G39）来解决。使用夹角补偿（G39）指令时需注意，本指令为非模态的，只在指令的程序段内有效，只能在G41和G42指令后才能使用。 
⑶刀具长度偏置（G43、G44、G49） 　利用刀具长度偏置（G43、G44）指令可以不改变程序而随时补偿刀具长度的变化，补偿量存入由H码指令的存储器中。G43表示存储器中补偿量与程序指令的终点坐标值相加，G44表示相减，取消刀具长度偏置可用G49指令或H00指令。程序段N80 G43 Z56 H05与中，假如05存储器中值为16，则表示终点坐标值为72mm。 
存储器中补偿量的数值，可用MDI或DPL预先存入存储器，也可用程序段指令G10 P05 R16.0表示在05号存储器中的补偿量为16mm。
经济型数控机床中刀具轨迹的计算
经济型数控机床系统，如果没有刀具补偿指令，则只能计算出刀位点的运动轨迹尺寸，然后按此编程，或者进行局部补偿加工。1．刀具中心（刀位点）轨迹的计算在需要计算刀具中心轨迹的数控系统中，要算出与零件轮廓的基点和节点对应的刀具中心上基点和节点的坐标。用φ8立铣刀加工工件曲线时的刀具中心运动轨迹。可以看出，刀具运动轨迹是零件轮廓的等距线，由零件轮廓和刀具半径可求出。 
直线的等距线方程：<BR>；　所求等距线在原直线上边时，取“+”号，反之取“-”号。<BR>；　圆的等距线方程：<BR>；　所求等距线为外等距线时，取“+”号，反之取“－”号。<BR>；　求解等距线上的基点坐标，只需将相关等距线方程联立求解。例求3′点的坐标，2点坐标（40，85），3点坐标（70，105）。<BR>；　A=y2-y3=-20　<BR>；　B=x3-x2=30 <BR>；　C=x3y2-y3x2=1750<BR>；　求出圆心坐标为 （85，105）。<BR>；　两等距线方程联立：<BR>；　-20x+30y=1750+144.222<BR>；　（x-85）+(y-105）=（15+4）　<BR>；　解出 x=66.134　y=107.231<BR>；　即3′点的坐标为（66.34，107.231），刀具中心轨迹上其他基点或节点的坐标用相同的方法可求出，然后按此编程。2.数控车床假想刀尖点的偏置计算在数控车削加工中，为了对刀方便，常以假想刀尖P点来对刀。如果没有刀尖圆弧半径补偿，在车削锥面或圆弧时，会产生欠切现象。当零件精度要求较高且有锥面或圆弧时，解决办法为：计算刀尖圆弧中心轨迹尺寸，然后按此编积，进行局部补偿计算。 
由于刀尖圆弧半径r引起的刀位补偿量。采用在Z向和X向同时进行刀具位置补偿时，实际刀刃与工件接触点A移动到编程时刀尖设定点P上，r的补偿量可按下式计算： 
在编制加工工件锥面程序时，其基点坐标为工件轮廓基点坐标（Z和X）加上刀尖圆弧半径r的补偿量（Dz和DX），这样就解决了没有刀尖圆弧半径补偿的问题。
结论
在数控加工中，由于刀尖有圆弧，工件轮廓是刀具运动包络形成，因此刀位点的运动轨迹与工件的轮廓是不重合的。在全功能数控系统中，可应用其刀具补偿指令，按工件轮廓尺寸，很方便地进行编程加工。在经济型数控系统中，可以根据工件轮廓尺寸、刀具等计算出刀位点的运动轨迹，按此编程，也可按局部补偿的方法来解决