加工中心用来加工形状复杂、工序多、精度要求较高的零件,因而加工一个零件需用几把或十几把刀具甚至更多。由于每把刀具的直径大小和长度都是不同的,在对被加工零件确定工件坐标系零点后,有必要引入刀具补偿功能,以保证在加工过程中各把刀下降到正确的高度和以正确的刀具路径进行切削加工。
刀具补偿可分为刀具长度补偿和刀具半径补偿。长度补偿是指主轴轴向的补偿,也就是铣刀轴向的补偿,而对于铣刀径向的补偿,也就是每把铣刀直径大小不一样,在直径方向的补偿叫半径补偿。
一、刀具半径补偿
1. 刀具半径补偿意义
数控加工中心在程序运行时将刀具当做一个点做轨迹运动。比如用刀具R3铣边长100的正方形凸台时,程序按边长100的正方形尺寸输入,而刀具轴心的轨迹是边长106的正方形,则工件上铣削的是符合图纸尺寸的100的正方形。假如不用刀具半径补偿功能,则加工时刀具轴心的轨迹是边长100的正方形,则工件上铣削出的是边长为94的正方形凸台,不符合图纸尺寸的要求。
2. 指令格式
G17/G18/G19 G00/G01 G41/G42 IP_D_
G41:刀具半径左补偿
G42:刀具半径右补偿
半径补偿仅能在规定的坐标平面内进行,使用平面选择指令G17、G18或G19可分别选择XY、ZX或YZ平面为补偿平面。半径补偿必须规定补偿号,由补偿号D存入刀具半径值,则在执行上述指令时,刀具可自动左偏(G41)或右偏(G42)一个刀具半径补偿值。由于刀补的建立必须在包含运动的程序段中完成,因此以上格式中,也写入了G00(或G01)。在程序结束前应取消补偿。
3. 刀具半径补偿的应用
刀具半径补偿有B功能和C功能两种补偿形式。由于B功能刀具半径补偿只根据本段程序进行刀补计算,不能解决程序段之间的过渡问题,要求将工件轮廓处理成圆角过渡,因此工件尖角处工艺性不好;C功能刀具半径补偿能自动处理两程序段刀具中心轨迹的转接,可完全按照工件轮廓来编程,因此现代CNC数控机床几乎都采用C功能刀具半径补偿。
刀具半径补偿的方向怎么样判断呢?判断的方法:“顺着刀具运行的方向”上看去刀具在工件的左面为左补偿,刀具在工件的右面为右补偿。补偿可以为“负”,当刀具半径补偿取负值时,G41和G42的功能互换。
刀具的半径值预先存入存储器Dxx中,xx为存储器号,当一个程序需用到几把刀时,建议刀具号Txx和存储器Dxx相对应,即T1号刀具半径补偿值相应地使用D01号存储器,这样加工时不容易搞错。执行刀具半径补偿后,数控系统自动计算,并使刀具按照计算结果自动补偿。在加工的过程中,如果零件轮廓尺寸与图纸尺寸有差别,就可以通过修正存储器Dxx中的半径补偿值,再重新运行程序以达到要求。取消刀具半径补偿用G40,也可用D00取消刀具半径补偿。
使用中需注意:建立、取消刀补时,G41、G42、G40指令必须与G00或G01指令共段,即使用G41、G42、G40指令的程序段中必须同时使用G00或G01指令,而不得同时使用G02或G03,并且建立、取消刀补时所运行的直线段的长度要大于所要补偿的刀具半径值,否则补偿功能不起作用;而在补偿方式中,写入2个或更多刀具不移动的程序段(辅助功能,暂停等等),刀具将产生过切或欠削。
二、刀具长度补偿
1. 刀具长度补偿的意义
例如,要镗一个φ40mm的孔,确定要用到两把刀,先用钻头钻到φ38,再用镗刀镗到φ50mm,此时机床已经设定工件零点,而编程时一般都是让刀具快速下降到Z3.的高度开始切削,若是以钻头对刀确定工件座标系的Z原点,则钻头钻削时不会撞刀。当换上镗刀时,如果没有设定刀具长度补偿而程序中同样设定快速下降到Z3.这时当镗刀比钻头短时,就会出现镗孔镗不通的现象,而当镗刀比钻头长时就会出现撞刀。
不设定刀具长度补偿而在程序中通过修改Z地址值来保证加工零点的正确将会很容易出错,因为程序长了各段地址代码值不统一是很难检查出错误的,而且在加工的过程中若刀具磨损了需要修改程序,若一个零件加工过程中同一把刀要加工几个不同的面,那当这把刀磨损之后则要修改所有与这把刀相关的程序。而在编制程序中用上了刀具长度补偿指令之后,当刀具磨损后,只需在相应的刀具长度补偿号中修改长度补偿值就可以了,不需要再修改程序,提高了工作效率,也保证了程序的安全运行。
2. 刀具长度补偿G43、G44、G49
系统规定除Z轴之外,其他轴也可以使用刀具长度补偿,但同时规定长度补偿只能同时加在一个轴上,要对补偿轴进行切换,必须先取消对前面轴的补偿。
(1)指令格式:
G43α___H___;(α指X、Y、Z任意一轴),刀具长度补偿“+”。
G44α___H___;刀具长度补偿“-”。
G49或H00:取消刀具长度补偿。
指令中用G43、G44指令偏移的方向,用H指令偏置量存储器的偏置号;G43指令叫正向补偿,即当用G43对刀具长度补偿值指定一个正值时,刀具按照正向移动。G44指令叫负向补偿,即当用G44对刀具长度补偿值指定一个正值时,刀具按照负向移动。G43和G44是模态G代码。它们一直有效,直到指定同组的G代码为止。执行程序前,需在与地址H所对应的偏置量存储器中,存入相应的偏置值。以z轴补偿为例,若指令 GOO G43 Z100.0 H01;并于H01中存入“-200.0”,则执行该指令时,将用Z坐标值100.与H01中所存“-200.”进行“+”运算,即100.0+(-200.0)=-100,并将所求结果作为Z轴移动值。加工程序每调用不同的刀具的时候,都要先取消掉原先的刀具补偿,再把新调用的刀具长度补偿进去;而在程序结束前也要记得插入取消指令G49或H0.
3. CNC系统中刀具长度补偿功能与其他指令的关系
(1)刀具长度补偿与半径补偿功能的关系
如果在零件的数控加工程序中,既有刀具长度补偿又有刀具半径补偿(在控制器中补偿)指令时,必须把含有长度补偿的程序段写在含有半径补偿的程序段前面,否则半径补偿无效
例如:在下面的程序段中:
N50 GOOG41X20Y20D02
N60 GOOG43Z10
数控系统不执行刀具半径补偿若改为:
N50 GOOG43Z10
N60 GOOG41X20Y20D02
则数控系统既执行刀具半径系统又执行刀具长度补偿指令。
(2)刀具长度补偿与其它指令的关系
a.G43,G44指令只能用于直线运动之中,在非直线运动语句中使用时会产生报警;
b.G43,G44为同组模态指令,它们会自动取消上次刀具长度补偿而不需要用专门的G49指令,为了安全起见,在一把刀加工结束或程序段结束时,都应取消刀具长度补偿;
c.刀具长度补偿必须伴随独立的插补运动(GOO,GO1,G81,G83等)才能有效。
4. 刀具长度补偿值的确定
不同的设备系统,有不同的对刀方式,而不同的对刀方式,刀具长度补偿的含意是不一样的。如某加工中心系统,配上自动测量仪,它的长度补偿是补偿刀具的真正长度,即主轴锥孔端面中心至刀具刃口最底端的长度;而某系统中机上手动对刀时长度补偿是指补偿刀具从某一Z轴向基准高度下降到工件座标原点的距离,它补偿的不是刀具的真正长度,而是刀具下降的距离。不同的刀具有不同的长度补偿值;而机内手动对刀时同一把刀加工不同工件编程原点的零件时也有不同的长度补偿值,这些不同的补偿值可以分别寄存在不同的长度补偿号H里面, 以备机床运行时程序随时调用。
(1)机内手动对刀测量方式
让Z轴回到机床参考点,这时机床座标系中X,Y,Z轴数值都为零,选择一个工件座标系(G54~G59任选一个都可),这时把Z值输为零,再把刀具装入主轴依次确定每把刀具与工件在机床坐标系中的Zo平面相接触,即利用刀尖(或刀具前端)在Z方向上与工件坐标系原点的距离值作为长度补偿值,即主轴下降后此时机床坐标系的Z坐标值直接作为每把刀的刀具长度补偿值,注意数值的正负号不能漏。
(2)机外刀具自动预调仪测量方式
是在刀具预调仪上测出的主轴端面至刀尖的距离,输入CNC的刀具长度偏置寄存器中作为刀长补偿值,此时的刀长补偿值是刀具的真正长度,是正值。
(3) 自动测长装置十机内对刀方式
设标准刀具的长度补偿值为零,把在刀具预调仪上测出的各刀具长度与标准刀具的长度之差分别作为每把刀的刀具长度补偿值.其中,比标准刀具长的记为正值,比标准刀具短的补偿值记为负值。
先通过机内对刀法测量出基准刀在返回机床参考点时刀位点在Z轴方向与工件坐标系原点的距离,并输入工件编程座标系中。
5. 刀具长度补偿值测量方式的比较
用机上手动测量方法测量刀具长度补偿值麻烦且需要很多占机调试时间,因此效率低,但投资少. 当用同一把刀加工其它的工件时就要重新设置刀具长度补偿值。
用机外刀具预调仪或自动测长装置测量不占用有效机时,把刀具调整工作事先在刀具预调仪上完成,而且机床在加工运行时,还可在对刀仪上测量其它刀具的长度,不必因为在机床上对刀而占用机床运行时间,提高效率,充分发挥加工中心的作用,但是需添置刀具预调仪设备,成本较高。使用刀具长度作为刀长补偿,可以同一把刀具加工不同工件而不需修改刀具长度补偿值。