2.2手工程序编制 二、程序编制的标准规定和代码 (五)准备功能(G)和辅助功能(M)
2、补偿功能G代码 刀具补偿功能是数控系统的重要功能,包括刀具长度补偿(G43、G44、G49)刀具长度自动测量(G37)和刀具半径补偿(G40~G42)等。 (1)刀具长度补偿指令 刀具长度补偿指令(G43、G44、G49) 刀具长度补偿,也叫刀具长度偏移,G43、G44和G49分别为刀具长度的正补偿、负补偿和取消补偿指令。
当加工时,所使用的刀具实际长度与编程规定的长度不一致时,可以采用刀具长度补偿消除差值,而不用改变程序。
当指令了G43时,用H代码表示的刀具长度偏移值(存储在偏置存储器中)加到程序中指令的刀具终点位置坐标上。 其计算结果为补偿后的终点位置坐标。 如果没有运动指令,当刀具长度偏移量为正值时,用G43指令使刀具向负方向移动一个偏移量,用G44指令使刀具向正方向移动一个偏移量。
当刀具长度偏移为负值时,G43、G44指令使刀具向上面对应的反方向移动一个偏移量。 H为刀具补偿存储器的地址字。如H01(补偿号或偏置号)即是01号存储器单元,该存储器中放置刀具长度偏移值。除H00必须放0以外,其余均可存放刀具长度偏移值。 G43、G44是模态指令,即某个程序段用了G43或G44,直到同组的其它G代码出现之前的程序段均有效,用G49或H00可撤消刀具长度补偿。
刀具长度补偿的值可以通过CRT/MDI操作面板输入到内存中。 注意: ①由于刀具长度偏置号的改变而改变刀具长度补偿值时,新的刀具长度偏移值不能加到旧的刀具长度偏移值上。例如: H1;刀具长度偏移值为20.0 H2;刀具长度偏移值为30.0 G90 G43 Z100.0 H1; G90 G43 Z100.0 H3;
②如果刀具长度偏移正在使用,同时长度偏移号也作为刀具半径补偿号,那么用H代码表示刀具长度偏移,用D代码表示刀具半径补偿。 ③可以通过在两个或更多的程序段中设置偏移轴的方法来实现沿两个轴方向或更多轴方向进行刀具长度偏移。如刀具偏移在X轴和Y轴进行,指令方法为: G19 G43 H ;(在X轴方向偏移) G18 G43 H ;(在Y轴方向偏移) ④在刀具长度补偿方式下执行G53、G28或G30指令时,刀具长度偏移矢量被取消。
(2)刀具半径补偿C指令(G40~G42) 刀具运动轨迹由刀具中心轨迹确定。加工工件轮廓时,铣刀中心应偏离工件轮廓一个刀具半径值。
解决办法: 繁琐、工作量大 编程人员计算 数控系统自动完成计算 具有很大的灵活性,既可以减轻编程人员的计算工作量,又允许实际加工中根据具体情况选择适宜的刀具
具有自动计算刀具中心运动轨迹功能称之为刀具半径补偿(或刀具半径偏移)功能。 尖角过渡 G40 取消刀具半径补偿 G41 设定刀具半径左偏(左刀补) G42 设定刀具半径右偏(右刀补)
现在普遍采用的刀具半径补偿功能是在零件拐角处采用折线进行过渡,且系统可以自动实现尖角过渡,不需对程序进行人工指定,该种刀补称为“半径补偿C”。 当刀具中心偏离工件达到刀具半径时(建立刀补),CNC系统首先建立刀具偏移矢量,该矢量的长度等于刀具半径。 偏移矢量垂直于刀具轨迹,矢量的起始点在工件的边缘上,矢量的头部位于刀具中心轨迹上(即零件轮廓线上点的法向矢量),方向是随着零件轮廓的变化而变化。
加工期间,如果建立刀具半径补偿后执行直线插补和圆弧插补,那么刀具轨迹将偏离工件一个偏移矢量的长度。 加工结束后,取消刀具半径补偿并返回到刀具起始位置。
指令格式为: G00(或G01)G41(或G42)X- Y- H(D)-; 撤消刀补指令为G40。指令的格式为: G40; 刀具半径补偿的平面选择用G17、G18、G19指令,称为偏移平面。未指定时默认平面是G17。 在指定平面外的坐标轴,例如G17定义下的Z轴的坐标值不受偏移的影响,程序中的指令值仍然照常使用。
一般数控装置都有刀具半径补偿(或称偏置)功能,编程时不需要计算刀具中心的运动轨迹,只按零件轮廓编程。
操作时还可以用同一个加工程序,通过改变刀具半径的偏移量,对零件轮廓进行粗、精加工。
注意: G41、G42不能重复使用。 从刀具寿命、加工精度、表面粗糙度而言,顺铣的效果较好,因而G41使用较多。
刀具因磨损、重磨、换新刀而引起的直径改变后,不需修改程序,只需更改刀具参数的直径值。
(4)刀尖半径补偿指令(G40~G42) 在编制数控车床加工程序时,通常将刀尖看作是一个点。然而,实际的刀具头部是圆弧或近似圆弧,
对于采用刀尖半径补偿的加工程序,在工件加工之前,要把刀尖半径补偿的有关数据如刀尖半径R、车刀形状和刀尖圆弧位置输入到刀补存储器中,以便执行加工程序时,数控系统对刀尖圆弧半径所引起的误差自动进行补偿。
数控车削使用的刀具有很多种,不同类型的车刀其刀尖圆弧所处的位置不同。 P125图
将刀补参数输入到CNC装置后,当执行到含有T功能(如T0101)的程序段时,刀具位置补偿参数即可生效,而刀尖半径补偿参数则必须执行到含有刀尖半径补偿方向指令G41或G42指令时才可生效。 指令格式: G01(或G00)G41 (G42)X(U)_Z(W)_F_; …… G40;
刀具半径补偿有B刀补和C刀补。 B刀补只能实现本程序段内的刀具半径补偿,而对于程序段之间的夹角不能处理; C刀补可以实现程序段之间的夹角问题,只需给出零件轮廓的程序数据,数控系统能自动地进行拐点处的刀具中心轨迹交点的计算,编程时,不用考虑尖角过渡问题。
刀具补偿的运动轨迹可分三种情况: 刀具补偿建立的切入阶段、零件轮廓加工阶段、刀具补偿注销阶段 建立刀补程序段和其后连接的程序段在拐角处的零件轮廓和刀具中心轨迹情况如图2.2.9。
(3)G45~G52:刀具位置偏置(也叫刀具位置偏移,如P30图2.2.8(a))
指令格式:G45 G46 X_Y_H(D)_ * G47 G48 式中,H或D代码为对应于偏置存储器中刀具半径值的偏置号。移动指令(即移动坐标)为0时,在绝对指令方式(G90)中,刀偏指令不起作用,机床不动作。在增量指令方式(G91)中,机床仅移动偏置量。
G46和G48指令中,移动指令值小于偏置值时,机床坐标的实际运动方向与编程方向相反。 刀具位置偏置应用例子如P30图2.2.8(b) N01 M06 T1 *换上T1刀具 N02 G46 G00 X15.0 Y16.0 H01 *刀偏号为01 N03 G47 G01 Y46.0 F120.0 *增加二倍的偏程 N04 X45.0 *没有位置偏差
3. 固定循环 (1)钻镗类固定循环 有些加工操作的工艺顺序是固定不变的,如钻孔、镗孔、攻丝等孔加工工艺,变化的只是坐标尺寸、移动速度和主轴转速等。 为了简化编程,系统开发者将这类加工过程编成固定格式的子程序,用G指令来调用,称为固定循环。
数控铣床(加工中心)配备的固定循环功能主要用于孔加工,包括钻孔、镗孔、攻螺纹等。 使用一个程序段就可以完成一个孔的全部加工。如果孔加工的动作无需变更,则程序中所有的模态数据可以不写,因此可以大大简化程序。 固定循环本质上是一种标准化级别较高的子程序调用。
固定循环的原理基本是一致的,使用格式仍不统一,不同CNC系统有不同的规定。
说明: ① 固定循环指令中地址R与地址Z的数据指定与G90或G91的方式选择有关。选择G90方式时R与Z一律取其绝对坐标值;选择G91方式时,则R是指起始点到R点间的距离,Z是指自R点到孔底平面Z点的距离。
② 起始点是为安全下刀而规定的点。该点到零件表面的距离可以任意设定在一个安全的高度上。当使用同一把刀具加工若干孔时,只有孔间存在障碍需要跳跃或全部孔加工完毕时,才使用G98功能使刀具返回到起始点。
③ R点又叫参考点,是刀具下刀时由快进转为工进的转换点。距工件表面的距离主要考虑工件表面尺寸的变化,如工件表面为平面时,一般可取2~5mm。使用G99时,刀具将返回到该点。
④ 加工盲孔时孔底平面就是孔底的Z轴高度;加工通孔时一般刀具还要伸出工件底平面一段距离。钻削加工时还应考虑钻尖对孔深的影响。 ⑤ 孔加工循环与平面选择指令(G17,G18或G19)无关,即不管选择了哪个平面,孔加工都是在XY平面上定位并在Z轴方向上加工孔。 孔加工固定循环指令的一般格式为: G90/G91 G98/G99 G73~G89 X_Y_Z_R_Q_P_F_L_;
在固定循环中,刀具半径补偿指令(G41、G42)无效。刀具长度补偿指令(G43、G44)有效。 在固定循环中,如果复位,则孔加工方式及孔加工数据保持不变,孔位置数据被取消。因此在固定循环中按了复位按钮,孔加工方式不被取消,再遇到运动指令时仍会自动调用固定循环。
式中第一个G代码为返回点平面G代码:G98或G99,G98为返回初始平面,G99为返回参考点平面;第二个G代码为加工方式,即固定循环代码G73、G74、G76和G81~G89中的任一个。 X、Y为孔位数据,指被加工孔的位置; Z为R点到孔底的距离(G91时)或孔底坐标(G90时); R为R点的坐标值(G90时)或初始点到R点的距离(G91时); Q指定每次进给深度(G73或G83时)或指定刀具位移增量(G76或G87时); P指定刀具在孔底的暂停时间; F为切削进给速度; L指定固定循环的次数。 G73、G74、G76、G81~G89、Z、R、Q、P、F是模态指令; G80、G01~G03等代码可以取消固定循环。
1) 高速深孔钻循环指令(G73) 指令格式: G73 X_Y_Z_R_Q_F_L_;
2)攻左旋螺纹循环指令(G74) 指令格式: G74 X_Y_Z_R_P_F_L_;
3)精镗循环指令(G76) 指令格式: G76 X_Y_Z_R_Q_P_F_L__;
注意: 偏移量Q值一定是正值,且Q不可用小数点,如欲偏移1.0mm,应写成Q1000; 偏移方向可用参数设定选择+X,+Y,-X及-Y的任何一个方向,一般设定为+X方向; 指定Q值时不能太大,以避免碰撞工件。 镗刀在装到主轴上后,一定要在CRT/MDI方式下执行M19指令使主轴准停后,检查刀尖所处的方向。若与图中位置相反(相差180°)时,须重新安装刀具使其按图中定位方向定位。
4) 钻孔循环指令(G81) 指令格式:G81 X_Y_Z_R_F_L_;
5)钻、镗阶梯孔循环指令(G82) 指令格式: G82X_Y_Z_R_P_F_L_;
6) 深孔加工循环指令(G83) 指令格式: G83 X_Y_Z_R_Q_F_L_;
7)攻右旋螺纹循环指令(G84) 指令格式: G84 X_Y_Z_R_P_F_L_;
8)铰孔循环指令(G85) 指令格式: G85 X_Y_Z_R_F_L_;
9)镗孔循环指令(G86) 指令格式:G86 X_Y_Z_R_F_L_;
10)背镗循环(G87) 背镗,即反向镗削。 其指令格式为: G87X Y Z R Q P F L ;
11)镗孔循环(G88) 该循环指令用于镗孔加工。 指令格式: G88X Y Z R P F L ;
12)镗孔循环(G89) 该循环指令用于镗孔。与G85指令几乎相同,所不同的是镗削完成后,在孔底暂停。 指令格式: G89X Y Z R P F L ;
13)取消固定循环指令(G80) 指令格式:G80; 当固定循环指令不再使用时,用G80指令取消固定循环,恢复到一般指令状态(如G00、G01、G02、G03等),此时固定循环指令中的孔加工数据(如Z点、R点值等)也被取消。
使用孔加工固定循环注意事项: ①编程时需注意在固定循环指令之前,必须先使用S和M代码指令主轴旋转。 ②在固定循环模态下,包含X、Y、Z、P、R的程序段将执行固定循环,G04中的地址X除外。如果一个程序段不包含上列的任何一个地址,则在该程序段中将不执行固定循环,另外,G04中的地址P不会改变孔加工参数中的P值。 ③孔加工参数Q、P必须在固定循环被执行的程序段中被指定,否则指令的Q、P值无效。
④在执行含有主轴控制的固定循环(如G74、G76、G84等)过程中,刀具开始切削进给时,主轴有可能还没有达到指令转速。 ⑥如果执行固定循环的程序段中指令了一个M代码,M代码将在固定循环执行定位时被同时执行,M指令执行完毕的信号在Z轴返回R点或初始点后被发出。
使用L参数指令重复执行固定循环时,同一程序段中的M代码在首次执行固定循环时被执行。 ⑦在固定循环模态下,刀具偏置指令将被忽略(不执行)。 ⑧单程序段开关置上位时,固定循环执行完X、Y轴定位、快速进给到R点及从孔底返回(到R点或到初始点)后,都会停止。 也就是说需要按循环起动按钮3次才能完成一个孔的加工。3次停止中,前面的两次是处于进给保持状态,后面的一次是处于停止状态。
⑨执行G74和G84循环时,Z轴从R点到Z点和Z点到R点两步操作之间如果按进给保持按钮的话,进给保持指示灯立即会亮,但机床的动作却不会立即停止,直到Z轴返回R点后才进入进给保持状态。