1、刀具半径补偿的概述
刀具半径补偿是现代数控机床控制系统的一种基本功能,在数控车铣床、加工中心、火焰切割机等系统中在加工工件时,特别是在二维平面工件加工中,如果不考虑刀具的实际直径大小加工出来的工件的寸与实际要求的尺寸不符合,加工出来的工件将偏大或偏小,如果系统具备刀具半径补偿功能就可以加工出符合技术尺寸规格格要求,同时刀具半径补偿还可以同一加工程序实现零件的粗加工、半精加工、精加工,简化同一刀路轨迹粗、精加工重复编制两三个刀路轨迹CNC文件的繁琐工作。
2、刀具半径补偿的过程
数控加工中心系统的刀具半径补偿将计算加工代码轨迹的刀具中心轨迹由CNC系统计算解析执行,这就要求CNC系统在加工工过程中下一段轨迹运动前预先读取分析计算好考虑加上刀具半径补偿后的刀具运动的中心轨迹,CNC系统根据零件程序和预先存储在系统中刀具半径偏置值自动计算刀具中心轨迹对零件加工,在加工时当选用不同半径的刀具不许修改加工零件的程序,只需修改CNC系统中的半径偏置的存储值即可,在零件刀路轨迹加工过程中分三个过程,A刀具补偿的建立,刀具在沿编制刀具程序轨迹运动时,刀具中心轨迹由G41、G42指令决定在原编程轨迹的基础上向左或向右偏移一个刀具半径,刀具半径补偿只能在加工NC代码的G00或G01直线轨迹中建立,而不能再G02或G03圆弧轨迹中建立。B刀具半径补偿的进行,刀具半径一旦建立,CNC系统便一直保持补偿状态,一直到系统读取到G40半径补偿撤消指令。B刀具半径补偿的撤消,在刀具离开工件回到加工的起点时,用G40撤消刀具半径补偿,刀具半径补偿必须在G00或G01直线轨迹中撤消,而不能再G02或G03圆弧轨迹中撤消。在这三个过程中,刀具中心轨迹都是根据编制的加工工件的刀路轨迹来计算的,加工轮廓由直线或圆弧线段组成,半径补偿仅能在二维平面中进行,用G17、G18、G19分别指定XY、ZX、YZ平面,在加工直线时,刀具中心的轨迹是工件轮廓的平行线且距离等于刀具的半径值,加工圆弧时,加工工件轮廓与刀具中心轨迹的的半径之差等于刀具半径值,刀具半径补偿可以是左边补偿G41(刀具加工时运动方向是加工零件的左侧)或是右补偿G42(刀具加工时运动方向是加工零件的右侧),加工轨迹线段之间可以是直线接直线、直线接圆弧、圆弧接直线、圆弧接圆弧的交点。补偿方法分B类补偿和C类补偿,B类补偿刀具中心轨迹段间都是采用圆弧链接过渡,算法简单实现容易,但是进行工件外轮廓加工时由于采用圆弧链接,刀具始中在一点切削,工件外形尖角被加工成小圆角与实际工件的尺寸不相符合,进行工件轮廓加工时,必须由编程人员人为的加一个辅助的过渡圆弧,且必须保证过渡圆弧的半径大于刀具半径。这样:一是增加编程工作难度;二是稍有疏忽,过渡圆弧半径小于刀具半径时,会因刀具干涉而产生过切,使加工零件报废。C类补偿是目前大部分数控系统都具备的半径补偿功能,C类补偿刀具中心轨迹线段之间采用直线连接过渡,CNC数控系统直接实时自动计算刀具中心轨迹的转接交点,加工尖角加工工艺性好,在加工件内轮廓时可实现过切自动预报报警处理机制,B类刀补采用读一段,算一段,走一段的处理方法。故无法预计刀具半径造成的下一段轨迹对本段轨迹的影响。而C类补半径偿采用一次对两段进行处理的方法。先处理本段,再根据下一段来确定刀具中心轨迹的段间过渡状态,从而完成本段刀补运算处理。
3、刀具半径补偿的轨迹坐标计算
直线与直线、直线与圆弧、圆弧与直线、圆弧与圆弧的转接分类(如下说明)
a=a2-a1(注:a1是本段轨迹线段与X轴的夹角,a2是下段轨迹与X轴的夹角,如果是圆弧a1和a2是圆弧的转接点的切线与X轴的夹角)。
由于两相量夹角不同及G41、G42的偏置方式不同,使刀具中心轨迹的转接方式有所不同,有如下表的缩短型、伸长型、插入型三种接方式以下图为例G42补偿。
1)缩短型、在G42方式下,两向量的夹角a在180o~360o之间,在G41方式下,两相量的夹角a在0o~180o之间是缩短型。
2)伸长型、在G42方式下,两向量的夹角a在0o~90o之间,在G41方式下,两相量的夹角a在270o~360o之间是伸长型。
3)插入型、在G42方式下,两向量的夹角a在90o~180o之间,在G41方式下,两相量的夹角a在180o~270o之间是伸长型。
编程轨迹的连接 |
刀具补偿方向 |
sina>=0 |
cosa>=0 |
象限 |
转接类型 |
G00、G01、G02、G03 |
G41 |
1 |
1 |
Ⅰ |
缩短 |
1 |
0 |
Ⅱ |
缩短 |
0 |
0 |
Ⅲ |
插入 |
0 |
1 |
Ⅳ |
伸长 |
G00、G01、G02、G03 |
G42 |
1 |
1 |
Ⅰ |
伸长 |
1 |
0 |
Ⅱ |
插入 |
0 |
0 |
Ⅲ |
缩短 |
0 |
1 |
Ⅳ |
缩短 |
下面简单说明刀具半径补偿刀路轨迹坐标的简要算法过程。
下面对直线与直线转接右补偿G42的伸长与插入型的计算做简单的推导
如图(A)线段OO1和OG编程的轨迹,为了保证刀具偏移一个半径值后保证工件外型的符合尺寸,做偏移刀具半径的轨迹,如上图。
线段OO1与X轴的夹角为a1,线段O1G与X1轴的夹角为a2,则a=a2-a1
线段O1A= O1C=R(刀具半径值)
需求半径长后转接点B的坐标,则可按如下方法计算。
因为O1A⊥O1H O1C⊥O1G ⊿AO1B≌CO1B
所以∠AO1H=∠CO1G 所以∠AO1C=∠HO1G=a2-a1 (1)
∠AO1B=∠CO1G=∠AO1C/2=(a2-a1)
TAN[(a2-a1)/2]=AB/O1A=AB/R (2)
AB=R* TAN[(a2-a1)/2] (3)
因为OO1∥AB OX∥EB O1A⊥AB (4)
∠O1OX=∠FBA=∠O1AD=∠a1 (5)
所以
COS∠FBA=FB/AB (6)
FB=AB*COS∠FBA= R* TAN[(a2-a1)/2]* COSa1 (7)
SIN∠O1AD=O1D/O1A=O1D/R (8)
O1D=R*SINa1 (9)
B点在X1轴坐标上的投影为
因为DE=FB (10)
Bx=DE+O1D= R* TAN[(a2-a1)/2]* COSa1 (11)
=R*(SINa1+SINa1)/(1+COS(a2-a1)) (12)
同理B轴在Y1轴坐标上的投影计算如下
COS∠O1AD=AD/O1A=AD/R (13)
AD=R*COAa1 (14)
SIN∠FBA=AF/AB=AF/ R* TAN[(a2-a1)/2] (15)
FA= R* TAN[(a2-a1)/2]*SINa1 (16)
B点在Y1轴上坐标上的投影为
By=-(AD-FA)=-( R*COAa1- R* TAN[(a2-a1)/2]*SINa1) (17)
=-R*(COSa1+COSa2)/(1+COS(a2-a1)) (18)
2)、右补偿G42插入型的半径补偿转接点B和C点坐标的计算、如上图(B)
如图(B)线段OO1和线段O1E为编程轨迹,为了保证刀具偏移一个半径值后保证工件外型的符合尺寸,做偏移刀具半径的轨迹,需要计算B点和C点的坐标。
线段OO1与X轴的夹角为a1,线段O1G与X1轴的夹角为a2,则a=a2-a1
线段O1A=O1D=R(刀具半径值)
因为OX//FG OO1//AB O1A=AB=R O1A⊥AB ⊿O1FA≌⊿AGB (1)
O1A=O1D=AB=DC=R
所以∠O1OX=∠BAG=∠AO1F=a1 (2)
SIN∠BAG=BG/AB=GB/R (3)
BG=R*SINa1 (4)
COSa1=O1F/O1A=O1F/R (5)
O1F=R*COSa1 (6)
SINa1=FA/O1A=FA/R (7)
FA=R* SINa1 (8)
COSa1=AG/AB=AG/R (7)
AG=R*COSa1 (9)
B点在X1轴坐标上的投影坐标为
Bx=FA+AG= R* SINa1+ R*COSa1 (10)
=R(SINa1+ COSa1) (11)
B点在Y1轴坐标上的投影坐标的计算为
COS∠AO1F=O1F/O1A (12)
O1F=R*COAa1 (13)
SIN∠BAG=BG/AB (14)
BG=R*SINa1 (15)
Bx=-(O1F-BG)=-(R*COS∠a1-R*SIN∠a1) (16)
=R(SINa1-COSa1) (17)
对于C点坐标可以推导出C点的X轴和Y轴的投影为
因为KC∥EO1 IO1∥JH ∠EO1I=180o-a2 O1D=DC (18)
所以∠EO1I=∠KDJ=∠DO1J=∠CDH=(180o-a2) (19)
SIN∠DO1G=DJ/O1D=DJ/R (20)
DJ=R* SIN∠DO1G= R* SIN(180o-a2)=R*SINa2 (21)
COS∠CDH=DH/DC=DH/R (22)
DH=R* COS∠CDH=R*COS(180o-a2)=-R*CONS(180o-a2) (23)
所以C点坐标在X轴的投影坐标为:
Cx=DJ+DH= R*SINa2--R*CONS(180o-a2) (24)
=R(SINa2-COSa2) (25)
同理可求得C点在Y轴的投影坐标为
Cy=R(SINa2+COSa2) (26)
上述刀具半径半径补偿刀具中心转接方式都是折线,所推导的计算公式是求折线拐点的坐标,大部分数控系统C类半径补偿都采用这种方式,这种方式在伸长型和插入型刀路轨迹时能加工工件时拐角保持尖角。
另外一种转接方式是圆弧,计算刀具中心在直线或圆弧端点的位置,对于外轮廓工件刀路轨迹的加工(伸长型或插入型转接轨迹),可以如下图(C)只计算A点、B点坐标,以O1为圆心,O1A=O1B=R为半径插入圆弧过渡,由于圆弧连接不需要做转接交点的复杂计算,因而简单方便,但刀具圆周在做圆弧拐角过渡时,圆弧拐角与工件轮廓拐角相接触不能保证∠OO1C角为尖角而是产生小圆角角,不能得到完好的尖角,另外对于缩短型轨迹转接过渡,插入的圆弧段将使刀具产生过切现象,这是圆弧过渡的弊病。上面只是举了个例子对半径补偿转接点的计算,对直线与直线、直线与圆弧、圆弧与直线、圆弧与园弧的G41(左补) G42(右补)可以画出转接轨迹图按类似的方法推导计算。
3)、下面举例对半径补的补偿建立(下段轨迹为直线)和补偿撤消(上段轨迹为直线)坐标的计算、如下图(D))。
如上图(D)对于G41左补偿补偿起始点A的建立(刀具半径AB值为R)。
(Cy-By)/[(Cx-Bx)2+(Cy-Cx)2]=EB/AB2=EB/R2
EB=R2*(Cy-By)/[(Cx-Bx)2+(Cy-Cx)2]
(Cx-Bx)/[(Cx-Bx)2+(Cy-Cx)2]=EA/AB2=EA/R2
EA= R2*(Cx-Bx)/ [(Cx-Bx)2+(Cy-Cx)2]
所以补偿起始点A的坐标为
Ax=Bx-EB=Bx-R2*(Cy-By)/[(Cx-Bx)2+(Cy-Cx)2]
Ay=By+EA=By+ R2*(Cx-Bx)/ [(Cx-Bx)2+(Cy-Cx)2]
同理对左补偿G41右补偿G42及(上段轨迹和本段轨迹为圆弧时)的建立和撤消可以采用类似的方法推导,各种转接类型的刀具半径补偿的建立与注销如下举例说明。
下面举例说明刀具半径补偿编程的CNC代码示例如下图
G41刀具半径左补偿方式(增量坐标编程)
O0007
G0G40G49G80G90
G0 X0 Y0
N1 G91 G17 G00 G41 Y20.00 D01 建立G41刀具半径左补偿D01刀具半径偏置的地址
N2 G01 Y40.00 F500.00
N3 X40.00 Y30.00
N4 G02 X40.00 Y-40.00 R40.00
N5 X-20.00 Y-20.00 R20.00
N6 G01 X-60.00
N7 G40 Y-20.00
N8 M30
%
地址D01中存放的偏置量是刀具半径值。
4、 刀具半径补偿过程中的过切现象及其解决方法
刀具半径补偿使用中出现的过切(即干涉)指的是在零件的加工过程中,刀具按照程序设定的轨迹进行运动,由于使用了刀具补偿功能,在执行某些指令时,出现或可能出现刀具过度切削零件的现象。
数控系统在启用刀具补偿功能后,一般情况下会出现两种情况的过切。
一种情况是使用半径补偿时,输入数控机床控制系统刀具补偿中的预设的刀具半径值大于被加工零件的加工轮廓曲线的最小凹圆半径,在加工过程中控制系统执行到这段程序语句时,数控系统计算后会发生过切现象,机床停止运动,并给出刀具过切的报警信息,也称之为假过切现象,其中剖面线部分为过切。解决的方法非常简单,刀具的半径应满足工件轮廓最小凹圆半径的原则即可。
另一种情况是加工程序完全可以执行,但在加工过程中刀具运动出现过切现象,程序执行时,数控机床控制系统没有显示刀具过切的报警信息。本文研究的就是这种由于程序编程不当引起的过切现象,导致被加工工件的报废。编程不当产生过切现象一般有如下二种情况:
1.在刀具补偿建立后的刀具补偿状态中,如果存在有连续两段以上没有移动指令或存在非指定平面轴的移动指令段,则有可能产生过切现象。
数控系统一般采用C功能刀具半径补偿,其主要特征是在执行刀具半径功能时采用了多段程序预读的功能,即在程序执行时,数控系统内部同时储存三个程序段的信息。若在刀具补偿建立后的刀具补偿状态中,如果存在有连续两段以上没有移动指令或存在非指定平面轴的移动指令段,这样就打断了刀具在刀补平面内的前后衔接,数控系统无法正确计算、修正刀具的运动轨迹,则有可能产生过切现象。
2.刀具补偿建立的轨迹和随后加工轨迹之间的夹角选择不当也有可能发生过切现象。
在某些数控系统中,刀具补偿建立时的程序轨迹与刀具补偿进行状态开始的前进方向有着一定的要求。
参考文献
<<虚拟数控技术及应>> 作者:黄明吉
<<机床计算机数控技术>> 作者: 任玉田 焦振学 王宏甫
<<数控技术及应用第2版>> 作者:郑晓峰
<<FANUC Series oi-MC>>操作说明书