1、第章 数控编程基础第第4章数控编程基础章数控编程基础4.1 数控铣床编程数控铣床编程 4.2 加工中心编程加工中心编程 4.3 数控铣削、加工中心编程综合应用数控铣削、加工中心编程综合应用 小结小结 思考与练习题思考与练习题 第章 数控编程基础4.1 数控铣床编程数控铣床编程4.1.1 数控铣床概述数控铣床概述数控铣床(加工中心)主要能铣削平面、沟槽和曲面,还能加工复杂的型腔和凸台,可进行钻削、镗削、螺纹切削等孔加工。数控铣床(加工中心)主轴安装铣削刀具,在加工程序控制下,安装工件的工作台沿着X、Y、Z三根坐标轴的方向运动,通过不断改变铣削刀具与工件之间的相对位置,可加工出符合图纸要求的工件。
2、数控铣床(加工中心)配置的数控系统不同,使用的指令在定义和功能上有一定的差异,但其基本功能和编程方法还是相同的。加工中心与数控铣床的不同之处在于加工中心配备了刀库与自动换刀装置,可实现自动换刀。第章 数控编程基础 1数控铣床的分类数控铣床的分类1)根据主轴位置布置分类根据主轴位置布置的不同,数控铣床可分为立式数控铣床(如图4.1所示)和卧式数控铣床(如图4.2所示)等。第章 数控编程基础 图4.1 立式数控铣床第章 数控编程基础图4.2 卧式数控铣床第章 数控编程基础2)按系统功能分类按系统功能的不同,数控铣床可分为经济型数控铣床(如图4.3所示)、全功能数控铣床(如图4.4所示)、高速数控铣
3、床(如图4.5所示)和龙门数控铣床(如图4.6所示)等。第章 数控编程基础图4.3 经济型数控铣床 第章 数控编程基础图4.4 全功能数控铣床 第章 数控编程基础图4.5 高速数控铣床 第章 数控编程基础图4.6 龙门数控铣床第章 数控编程基础2数控铣床的主要功能数控铣床的主要功能数控铣床主要有以下功能:(1)平面直线插补功能(如图4.7所示)。(2)空间直线插补功能(如图4.8所示)。(3)平面圆弧插补功能(如图4.9所示)。(4)逼近圆弧插补功能(如图4.10所示)。第章 数控编程基础图4.7 平面直线插补 第章 数控编程基础图4.8 空间直线插补 第章 数控编程基础图4.9 平面圆弧插补
4、 第章 数控编程基础图4.10 逼近圆弧插补 第章 数控编程基础(5)孔加工固定循环功能(如图4.11所示)。图4.11 孔加工固定循环第章 数控编程基础4.1.2 数控铣床坐标系的设定数控铣床坐标系的设定1机床坐标系机床坐标系机床坐标系X、Y、Z是生产厂家在机床上设定的坐标系,其原点是机床上的一个固定点,作为数控机床运动部件的运动参考点。第章 数控编程基础2工件坐标系工件坐标系设定工件坐标系的目的是为了方便编程。设置工件坐标系原点的原则是尽可能选择在工件的设计基准和工艺基准上,工件坐标系的坐标轴方向与机床坐标系的坐标轴方向保持一致。编程时,刀具轨迹相对于工件坐标系原点运动。工件坐标系的原点称
5、为编程原点。第章 数控编程基础 3加工坐标系加工坐标系确定以加工原点为基准所建立的坐标系称为加工坐标系。加工原点也称程序原点,是指零件被装夹好后,相应的编程原点在机床坐标系中的位置。加工时,程序控制刀具相对于加工原点而运动。设置加工坐标系的目的是将编程原点转换为加工原点,并确定加工原点的位置,在数控系统中给予设定。图4.12所示为机床坐标系与工件坐标系的关系。第章 数控编程基础图4.12 机床坐标系与工件坐标系的关系第章 数控编程基础4设置加工坐标系指令设置加工坐标系指令G92编程格式:G92 X_ Y_ Z_;G92指令是将加工原点设定在相对于刀具起点的某一空间点上。例例4.1 程序格式为G
6、92 X20 Y10 Z10;其确立的加工原点在距离刀具起点X20,Y10,Z10的位置上,如图4.13所示。每次执行程序时应将刀尖停在加工坐标系X20,Y10,Z10的位置上。第章 数控编程基础图4.13 设置加工坐标系指令G92第章 数控编程基础5选择机床坐标系指令选择机床坐标系指令G53编程格式:G53 G90 X_ Y_ Z_;G53指令使刀具快速定位到机床坐标系中的指定位置上,其中X、Y、Z后的值为机床坐标系中的坐标值,其尺寸均为负值。例例4.2 程序格式为G53 G90 X100 Y100 Z20;则执行后刀具在机床坐标系中的位置如图4.14所示。第章 数控编程基础图4.14 选择
7、机床坐标系指令G53第章 数控编程基础6选择16号加工坐标系指令G54G59G54G59指令可以分别用来选择相应的加工坐标系。编程格式:G54 G90 G00(G01)X_ Y_ Z_(F_);该指令执行后,所有坐标值指定的坐标尺寸都是选定的工件加工坐标系中的位置。16号加工坐标系是通过CRT/MDI方式设置的。第章 数控编程基础例例4.3 在图4.15中,用 CRT/MDI在参数设置方式下设置了两个加工坐标系:G54(X50Y50Z10)G55(X100Y100Z20)这时,建立了原点在O的G54加工坐标系和原点在O的G55加工坐标系。若执行下述程序段:G53G90X0Y0Z0;G54G90
8、G01X50Y0Z0F100;G55G90G01X100Y0Z0F100;则刀尖点的运动轨迹如图4.15中的OAB所示。第章 数控编程基础图4.15 用CRT/MDI在参数设置方式下设置的两个加工坐标系第章 数控编程基础7注意事项注意事项1)G54与G55G59的区别利用G54与利用G55G59设置加工坐标系的方法是一样的,但在实际情况下,机床厂家为了用户的不同需要,在使用中有以下区别:在利用G54设置机床原点的情况下,进行返回参考点操作时,机床坐标值显示为G54的设定值,且符号均为正;在利用G55G59设置加工坐标系的情况下,进行返回参考点操作时,机床坐标值显示零值。第章 数控编程基础2)G
9、92与G54G59的区别G92指令与G54G59指令都是用于设定工件加工坐标系的,但在使用中是有区别的。G92指令是通过程序来设定、选用加工坐标系的。它所设定的加工坐标系原点与当前刀具所在的位置有关,这一加工原点在机床坐标系中的位置是随当前刀具位置的不同而改变的。G54G59指令是通过MDI在设置参数方式下设定工件加工坐标系的,一旦设定,加工原点在机床坐标系中的位置是不变的。它与刀具的当前位置无关,除非再通过MDI 方式修改。第章 数控编程基础3)常见错误当执行程序段“G92 X10 Y10”;时,常会认为是刀具在运行程序后到达X10,Y10的点上。其实,G92指令程序段只是设定加工坐标系,并
10、不产生任何动作,这时刀具已在加工坐标系中 X10,Y10的点上。G54G59指令程序段可以和G00、G01指令组合,如“G54 G90 G01 X10 Y10;”,运动部件在选定的加工坐标系中进行移动。程序段运行后,无论刀具当前点在何处,它都会移动到加工坐标系中X10,Y10的点上。第章 数控编程基础4.1.3 数控铣床和加工中心程序中用到的各功能字数控铣床和加工中心程序中用到的各功能字(FANUC 0i系统系统)1G功能功能(准备功能准备功能)编程格式:G格式中,表示2位数。数控铣床和加工中心程序中常用的G功能指令代码如表4-1所示。第章 数控编程基础表4-1 数控铣床和加工中心程序中常用的
11、G功能指令代码指 令 代 码 组 意 义 指令 代码 组 意 义 指令 代码 组 意 义#G00 快速点定位#G40 刀径补偿取消 G74 攻左旋螺纹固定循环 G01 直线插补 G41 刀径左补偿 G76 09 精镗固定循环 G02 顺圆插补 G42 07 刀径右补偿#G80 固定循环取消 G03 01 逆圆插补 G43 刀长正补偿 G81 钻削固定循环 G04 00 暂停 G44 刀长负补偿 G82 钻削固定循环、沉孔 G15 取消极轴指令#G49 08 刀长补偿取消 G83 深孔钻固定循环 G16 17 极坐标指令#G50 缩放关 G84 攻右旋螺纹固定循环#G17 XY 加工平面 G51
12、 11 缩放开 G85 镗削固定循环 G18 ZX 加工平面 G52 局部坐标系设定 G87 反镗削固定循环 G19 02 YZ 加工平面 G53 00 机床坐标系编程 G88 09 镗削固定循环 第章 数控编程基础#G90 绝对坐标编程 G20 英制单位#G54G59 14 工件坐标系 16 选择 G91 03 增量坐标编程#G21 08 米制单位 G68 坐标旋转 G92 00 工件坐标系的变更 G28 回参考点 G69 16 取消坐标轴旋转#G98 回初始平面 G29 00 参考点返回 G73 09 高速深孔钻固定循环 G99 10 回 R 参考平面 第章 数控编程基础2M功能功能(辅助
13、功能辅助功能)编程格式:M格式中,表示2位数。辅助功能代码主要用于控制机床的辅助设备,如主轴、刀架和冷却泵的工作,由电器的通电与断电来实现其控制过程。数控铣床和加工中心程序中常用的M指令代码如表4-2所示。第章 数控编程基础表4-2 数控铣床和加工中心程序中常用的M指令代码M 代 码 说 明 M00 停止程序运行 M01 选择性停止 M02 程序结束 M03 主轴正转 M04 主轴反转(CCW)M05 主轴停 M08 切削液开 M09 切削液关 M30 程序结束并返回程序开头 M98 子程序调用 M99 子程序结束 第章 数控编程基础3F、S、T功能功能1)F功能编程格式:F_;F功能用于控制
14、刀具相对于工件的进给速度。速度指令范围为F0F24 000,采用直接数值指定法,可由G94、G95分别指定F的单位是mm/min还是mm/r。注意:实际进给速度还受操作面板上进给速度修调倍率的控制。F表示主轴每转进给量,单位为mm/r;也可以表示进给速度,单位为mm/min。其量纲通过G(G95、G94)指令设定。第章 数控编程基础2)S功能编程格式:S_;S功能用于控制带动刀具旋转的主轴的转速,其后可跟5位数。主轴转速指令S表示主轴转速,单位为r/min;也可以表示切削速度,单位为m/min。其量纲通过G(G96、G97)指令设定。3)T功能编程格式:T_;T表示刀具地址符。可通过刀具补偿号
15、调用刀具数据库内的刀具补偿参数。第章 数控编程基础4.1.4 数控铣床加工常用编程指令数控铣床加工常用编程指令1G90和和G91编程格式:G90 ;G91 ;说明:(1)G90指令用于建立绝对坐标输入方式,移动指令目标点的坐标值X、Y、Z表示刀具离开工件坐标系原点的距离。(2)G91指令用于建立增量坐标输入方式,移动指令目标点的坐标值X、Y、Z表示刀具离开当前点的坐标增量。第章 数控编程基础2.快速点定位快速点定位G00编程格式:G00 X_ Y_ Z_;说明:(1)刀具以各轴内定的速度由起点(当前点)快速移动到目标点。(2)刀具运动轨迹与各轴快速移动速度有关。(3)刀具在起点开始加速至预定的
16、速度,到达目标点前减速定位。例例4.4 如图4.16所示,刀具从A点快速移动至C点,使用绝对坐标与增量坐标方式编程。第章 数控编程基础图4.16 快速点定位第章 数控编程基础绝对坐标编程:G92 X0 Y0 Z0;设工件坐标系原点、换刀点O与机床坐标系原点重合G90 G00 X15 Y-40;刀具快速移动至Op点G92 X0 Y0;重新设定工件坐标系,换刀点Op与工件坐标系原点重合G00 X20 Y10;刀具快速移动至A点定位X60 Y30;刀具从起点A快移至终点C第章 数控编程基础增量坐标编程:G92 X0 Y0 Z0;G91 G00 X15 Y-40;G92 X0 Y0;G00 X20 Y
17、10;X40 Y20;在上例中,刀具从A点移动至C点,若机床内定的X轴和Y轴的快速移动速度是相等的,则刀具实际运动轨迹为一折线,即刀具从起点A按X轴与Y轴的合成速度移动至点B,然后再沿X 轴移动至终点C。第章 数控编程基础3.直线插补直线插补G01编程格式:G01 X_ Y_ Z_ F_;说明:(1)刀具按照F指令所规定的进给速度直线插补至目标点。(2)F代码是模态代码,在没有新的F代码替代前一直有效。(3)各轴实际的进给速度是F速度在该轴方向上的投影分量。(4)用G90或G91可以分别按绝对坐标方式或增量坐标方式编程。第章 数控编程基础例例4.5 如图4.17所示,刀具从A点直线插补至B点,
18、使用绝对坐标与增量坐标方式编程。G90 G01 X60 Y30 F200;或 G91 G01 X40 Y20 F200;第章 数控编程基础图4.17 直线插补第章 数控编程基础4.插补平面选择插补平面选择G17、G18、G19编程格式:G17_;G18_;G19_;说明:(1)G17表示选择XY平面。(2)G18表示选择ZX平面。(3)G19表示选择YZ平面。第章 数控编程基础5圆弧插补圆弧插补G02、G03G02指令表示顺时针圆弧插补;G03指令表示逆时针圆弧插补。1)XY平面圆弧插补指令(如图4.18所示)编程格式:G17 G02(G03)X_ Y_ R_ F_;或 G17 G02(G03
19、)X_ Y_ I_ J_ F_;第章 数控编程基础图4.18 XY插补平面第章 数控编程基础2)XZ平面圆弧插补指令(如图4.19所示)编程格式:G17 G02(G03)X_ Z_ R_ F_;或 G17 G02(G03)X_ Z_ I_ K_ F_;第章 数控编程基础 图4.19 XZ插补平面第章 数控编程基础3)YZ平面圆弧插补指令(如图4.20所示)编程格式:G17 G02(G03)Y_ Z_ R_ F_;或 G17 G02(G03)Y_ Z_ J_ K_ F_;第章 数控编程基础图4.20 YZ插补平面第章 数控编程基础说明:(1)圆弧的顺、逆时针方向如图4.21所示,从圆弧所在平面的
20、垂直坐标轴的负方向看去,顺时针方向为G02,逆时针方向为G03。(2)F规定了沿圆弧切向的进给速度。(3)X、Y、Z为圆弧终点坐标值,如果采用增量坐标方式G91,则X、Y、Z表示圆弧终点相对于圆弧起点在各坐标轴方向上的增量。(4)I、J、K表示圆弧圆心相对于圆弧起点在各坐标轴方向上的增量,与G90或G91的定义无关。第章 数控编程基础图4.21 顺、逆圆弧的区分第章 数控编程基础(5)R是圆弧半径,当圆弧所对应的圆心角为0180时,R取正值;当圆心角为180360时,R取负值。(6)I、J、K的值为零时可以省略。(7)在同一程序段中,如果I、J、K与R同时出现,则R有效。例例4.6 如图4.2
21、2所示,设起刀点在坐标原点O,刀具沿ABC的路线切削加工,使用绝对坐标与增量坐标方式编程。第章 数控编程基础图4.22 圆弧插补第章 数控编程基础绝对坐标编程:G92 X0 Y0 Z0;设工件坐标系原点、机床坐标系原点与换刀点重合(参考点)G90 G00 X200 Y40;刀具快速移动至A点G03 X140 Y100 I60(或R60)F100;G02 X120 Y60 I50(或R50);增量坐标编程:G92 X0 Y0 Z0;G91 G00 X200 Y40;G03 X60 Y60 I60(或R60)F100;G02 X20 Y-40 I50(或R50);第章 数控编程基础例例4.7 如图
22、4.23所示,起刀点在坐标原点O,从O点快速移动至A点,逆时针加工整圆,使用绝对坐标与增量坐标方式编程。绝对坐标编程:G92 X0 Y0 Z0;G90 G00 X30 Y0;G03 I30 J0 F100;G00 X0 Y0;增量坐标编程:G92 X0 Y0 Z0;G91 G00 X30 Y0;G03 I30 J0 F100;G00 X30 Y0;第章 数控编程基础图4.23 整圆加工第章 数控编程基础6.暂停暂停G04G04指令用于刀具作短暂的无进给光整加工。编程格式:G04 X_;或 G04 P_;说明:(1)地址码X可用小数,单位为s。(2)地址码 P只能用整数,单位为ms。例例4.8
23、欲停留1.5 s时,程序段为G04 P1500;第章 数控编程基础7.英制输入英制输入G20、米制输入、米制输入G21和脉冲当量和脉冲当量G22G20G22指令用于设定输入数据的量纲。编程格式:G20_;G21_;G22_;说明:(1)G20、G21是两个互相取代的G代码。(2)G21设定数据为米制量纲。(3)G20设定数据为英制量纲。(4)经设定后米制和英制量纲可混合使用。(5)G22设定脉冲当量输入。第章 数控编程基础8自动返回参考点自动返回参考点G28G28指令用于刀具经指定的中间点快速返回参考点。编程格式:G28 X_ Y_ Z_;说明:(1)坐标值X、Y、Z为中间点坐标。(2)刀具返
24、回参考点时避免与工件或夹具发生干涉。(3)通常G28指令用于返回参考点后自动换刀,执行该指令前必须取消刀具半径补偿和刀具长度补偿。第章 数控编程基础G28指令中参考点的含义是:如果没有设定换刀点,那么参考点指的是回零点,即刀具返回至机床的极限位置;如果设定了换刀点,那么参考点指的是换刀点,通过返回参考点能消除刀具在运行过程中的插补累积误差。指令中设置中间点的意义是设定刀具返回参考点的走刀路线。如“G91 G28 X0 Z0;”表示刀具先从Y轴的方向返回至Y轴的参考点位置,然后从X轴的方向返回至X轴的参考点位置,最后从Z轴的方向返回至Z轴的参考点位置。第章 数控编程基础9.从参考点移动至目标点从
25、参考点移动至目标点G29G29指令用于将刀具从参考点经过指定的中间点快速移动到目标点。编程格式:G29 X_ Y_ Z_;说明:(1)返回参考点后执行该指令,刀具从参考点出发,以快速点定位的方式,经过由G28所指定的中间点到达由坐标值X、Y、Z所指定的目标点位置。(2)X、Y、Z表示目标点坐标值,G90指令表示目标点为绝对值坐标方式,G91指令表示目标点为增量值坐标方式。(3)如果在G29指令前,没有用G28指令设定中间点,执行G29指令时,则以工件坐标系零点作为中间点。第章 数控编程基础例例4.9 若各坐标点位置如图4.24(a)所示,则可编程如下:G90 G28 Xx2 Yy2 Zz2;回
26、参考点M00(或TxxM6);暂停换刀G90 G29 Xx3 Yy3 Zz3;返回到新位置点或 G91 G28 X(x2x1)Y(y2y1)Z(z2z1);M00(或TxxM6);G29X(x3x2)Y(y3y2)Z(z3z2);第章 数控编程基础由于G28、G29是采用G00一样的移动方式,其行走轨迹常为折线,较难预计,因此在使用上经常将X、Y和Z分开来用。先用G28 Z 提刀并回Z轴参考点位置,然后再用G28 X Y 回到XY方向的参考点,如图4.24(b)所示。自动编程软件往往采用“G91 G28 Z0;”和“G91 G28 X0 Y0;”,以当前点为中间点的方式生成程序。第章 数控编程
27、基础图4.24 自动返回参考点指令第章 数控编程基础10.刀具半径补偿刀具半径补偿G41、G42与取消刀具半径补偿与取消刀具半径补偿G401)刀具半径补偿G41、G42数控系统根据工件轮廓和刀具半径自动计算刀具中心轨迹,控制刀具沿刀具中心轨迹移动,加工出所需要的工件轮廓,编程时避免计算复杂的刀心轨迹。如图4.25左图所示,沿刀具进刀方向看,刀具中心在零件轮廓左侧,则为刀具半径左补偿,用G41指令;如图4.25右图所示,沿刀具进刀方向看,刀具中心在零件轮廓右侧,则为刀具半径右补偿,用G42指令。第章 数控编程基础图4.25 刀具半径补偿位置判断第章 数控编程基础编程格式:G41 G00(G01)
28、X_ Y_ H(或D)_;G42 G00(G01)X_ Y_ H(或D)_;说明:(1)X、Y、表示刀具移动至工件轮廓上点的坐标值。(2)H(或D)为刀具半径补偿寄存器地址符,寄存器存储刀具半径补偿值。(3)通过G00或G01指令建立刀具半径补偿。第章 数控编程基础2)取消刀具半径补偿G40编程格式:G00 (G01)G40 X_ Y_;说明:(1)指令中的X、Y表示刀具轨迹中取消刀具半径补偿点的坐标值。(2)通过G00或G01指令取消刀具半径补偿。(3)G40必须和G41或G42成对使用。第章 数控编程基础例例4.10 图4.26所示方形零件轮廓考虑刀补后编写的程序如下:O0003;G54
29、G90 G17 G00 M03;由G17指定刀补平面G41 X20 Y10 D01;刀补引入,由G41确定刀补方向,由D01指定刀补大小G01 Y50 F100;X50;Y20;X10;G00 G40 X0 Y0 M05;由G40解除刀补M30;第章 数控编程基础图4.26 刀补加载和解除的过程第章 数控编程基础早期的数控机床刀具补偿功能还不完善,其刀径补偿都是一段一段独立计算的,这时进行中的刀补路线都是从每一段线段起点的法向矢量走到该线段终点的法向矢量处,当两段线间呈尖角过渡时,这种刀补法的刀补路线将无法自动从前段线接续到下一段线,因而出现脱节现象。为此,有的控制系统要求预先对所有的尖角都进
30、行倒圆处理,以确保前后之间能顺滑连接。第章 数控编程基础有的控制系统则是在编程时对尖角处预先增加尖角处理指令,将前后两段线用合理的路线连接起来。比如,FANUC-3MA控制系统使用的B功能刀补,就是采用尖角圆弧插补G39指令来处理尖角的。现代数控机床的刀补功能已相当完善,如使用C功能刀补的机床基本上都是采用预先读入前后几段线,进行平行偏移计算,求解出刀具中心偏移线的交点,作为前段线的终点,同时又是下一段线的起点,从而得到刀补轨迹的。当偏移计算得出的交点与原轮廓转角尖点偏离太远时,则自动插入转折型刀具路径,如图4.27所示。第章 数控编程基础图4.27 尖角刀补处理第章 数控编程基础11.刀具长
31、度补偿刀具长度补偿G43、G44、G49编程格式:G43 G00(G01)Z_ H_;G44 G00(G01)Z_ H_;G49 G00(G01)Z ;说明:(1)G43指令为刀具长度正补偿。(2)G44指令为刀具长度负补偿。(3)G49指令为取消刀具长度补偿。(4)刀具长度补偿指刀具在Z方向的实际位移比程序给定值增加或减少一个偏置值。(5)格式中的Z值是指程序中的指令值。第章 数控编程基础(6)H为刀具长度补偿代码,后面两位数字是刀具长度补偿寄存器的地址符。H01指01号寄存器,在该寄存器中存放对应刀具长度的补偿值。H00寄存器必须设置刀具长度补偿值为0,调用时起取消刀具长度补偿的作用,其余
32、寄存器存放刀具长度补偿值;刀长补偿号可用H00H99来指定。执行G43时,Z实际值Z指令值H_中的偏置值。执行G44时,Z实际值Z指令值H_中的偏置值。例例4.11 在图4.28中,A点为刀具起点,加工路线为123456789。要求刀具在工件坐标系零点Z轴方向向下偏移3 mm,按增量坐标方式编程(提示把偏置量3 mm存入地址为H01的寄存器中)。第章 数控编程基础图4.28 刀具长度补偿第章 数控编程基础G91 G00 X70 Y45 S800 M03;G43 Z-22 H01;G01 Z-18 F100 M08;G04 X5;G00 Z18;X30 Y-20;G01 Z-33 F100;G0
33、0 G49 Z55 M09;X-100 Y-25;M30;第章 数控编程基础刀具长度补偿指令通常用在下刀及提刀的直线段程序G00或G01中。使用多把刀具时,通常是每一把刀具对应一个刀长补偿号。下刀时使用G43或G44,该刀具加工结束后提刀时使用G49取消刀长补偿。例例4.12 如图4.29所示,考虑刀具长度补偿时编程如下:设(H02)200 mm时:G92 X0 Y0 Z0;设定当前点O为程序零点G90 G00 G44 Z10 H02;程序指定刀尖到点A,刀尖实际到点BG01 Z20;刀尖实际到点C Z10;刀尖实际返回点BG00 G49 Z0;刀尖实际返回点O第章 数控编程基础设(H02)2
34、00 mm时:G92 X0 Y0 Z0;G90 G00 G43 Z10 H02;G91 G01 Z30;Z30;G00 G49 Z10;第章 数控编程基础图4.29 长度补偿应用第章 数控编程基础4.1.5 子程序子程序1.子程序的概念子程序的概念在一个加工程序中,若其中有些加工内容完全相同或相似,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序。主程序在执行过程中如果需要某一子程序,则可通过调用指令来调用该子程序,子程序执行完后又返回到主程序,继续执行后面的程序段。1)子程序的嵌套为了进一步简化程序,可以让子程序调用另一个子程序,这种程序的结构称为子程序嵌套。在编程中
35、使用较多的是二重嵌套,其程序的执行情况如图4.30所示。第章 数控编程基础2)子程序的应用 (1)在零件上若干处具有相同的轮廓形状的情况下,只需编写一个加工该轮廓形状的子程序,然后用主程序多次调用该子程序即可完成对工件的加工。(2)加工中反复出现具有相同轨迹的走刀路线,如果相同轨迹的走刀路线出现在某个加工区域或在这个区域的各个层面上,则采用子程序编写加工程序比较方便,在程序中常用增量值确定切入深度。(3)在加工较复杂的零件时,往往包含许多独立的工序,有时工序之间需要作适当的调整,为了优化加工程序,可把每一个独立的工序编成一个子程序,这样可形成模块式的程序结构,便于对加工顺序进行调整,主程序中只
36、有换刀和调用子程序等指令。第章 数控编程基础图4.30 子程序的嵌套第章 数控编程基础2.调用子程序调用子程序98编程格式:M98 P_ ;说明:P_为要调用的子程序号;为重复调用子程序的次数,若只调用一次子程序可省略不写,系统允许重复调用次数为19999次。第章 数控编程基础3.子程序结束子程序结束M99编程格式:M99;说明:(1)执行到子程序结束指令M99后,返回至主程序,继续执行M98 P_ 程序段下面的主程序。(2)若子程序结束指令用“M99 P_;”格式,则表示执行完子程序后,返回到主程序中由P_指定的程序段。(3)若在主程序中插入M99程序段,则执行完该指令后返回到主程序的起点。
37、第章 数控编程基础(4)若在主程序中插入M99程序段,当程序跳步选择开关为“OFF”时,则返回到主程序的起点;当程序跳步选择开关为“ON”时,则跳过M99程序段,执行其下面的程序段。(5)若在主程序中插入M99 P_程序段,当程序跳步选择开关为“OFF”时,则返回到主程序中由P_指定的程序段;当程序跳步选择开关为“ON”时,则跳过该程序段,执行其下面的程序段。第章 数控编程基础4.子程序的格式子程序的格式编程格式:O(或:);M99;说明:其中O(或:)为子程序号,“O”是EIA代码,“:”是ISO代码。例例4.13 如图4.31所示等距孔钻削加工,用子程序编程。主程序:O0001;G92 X
38、0 Y0 Z50;G90 G00 X15 Y20;G43 Z3 H01 S630 M03 M08;第章 数控编程基础 M98 P100 L5;G90 G49 Z3 M09;G28 Z50 M05;G28 X0 Y0 M30;子程序:O100;G91 G00 X10 Y5 G01 Z15 F50;G04 P1;G00 Z15;M99;第章 数控编程基础图4.31 等距孔钻削加工第章 数控编程基础4.1.6 缩放、旋转和镜像程序指令缩放、旋转和镜像程序指令1缩放缩放G51、G50使用缩放指令可实现用同一个程序加工出形状相同,但尺寸不同的工件。编程格式:G51 X_ Y_ Z_ P_;G50;说明:
39、(1)X、Y、Z应是缩放中心的坐标值,P后跟缩放倍数。(2)G51既可指定平面缩放,也可指定空间缩放;G50是缩放取消指令。第章 数控编程基础例例4.14 如图4.32所示,缩放加工编程如下:主程序:O0002;G92 X0 Y0 Z25;G90 G00 Z5 M03;G01 Z18 F100;M98 P100;G01 Z28;G51 X15 Y15 P2;缩放中心(15,15),放大2倍M98 P100;G50;G00 Z25 M05 M30;第章 数控编程基础图4.32 缩放图例第章 数控编程基础子程序:O100;G41 G00 X10 Y4 D01;G01 Y30;X20;G03 X30
40、 Y20 I10;G01 Y10;X5;G40 G00 X0 Y0;M99;第章 数控编程基础2旋转变换旋转变换G68、G69编程格式:G17 G68 X Y P ;G18 G68 X Z P ;G19 G68 Y Z P ;G69;其中:X、Y、Z是旋转中心的坐标值;P为旋转角度,单位为度,取值范围为0360;G68表示坐标旋转功能有效;G69表示取消坐标旋转功能。例例4.15 如图4.33所示零件,采用旋转变换处理,分别旋转90、180、270后得到的效果,编程如下:第章 数控编程基础图4.33 旋转、镜像图例第章 数控编程基础主程序:O0003;G92 X0 Y0 Z25;G90 G17
41、 G00 Z5 M03;M98 P100;G68 X0 Y0 P90;M98 P100;G69;G68 X0 Y0 P180;第章 数控编程基础M98 P100;G69;G68 X0 Y0 P270;M98 P100;G69;Z25 M05 M30;第章 数控编程基础子程序:O100;G41 X10 Y4 D01;Y5;G01 Z28 F200;Y30;X20;G03 X30 Y20 I10;G01 Y10;X5;G00 Z5;G40 X0 Y0;M99;第章 数控编程基础3镜像镜像G24、G25(HCNC-1M系统系统)当工件具有相对于某一轴对称的形状时,可以利用镜像功能和子程序的方法,只对
42、工件的一部分进行编程,就能加工出工件的整体,这就是镜像功能。当某一轴的镜像有效时,该轴执行与编程方向相反的运动。G24表示镜像设置开始;G25表示取消镜像设置。编程格式:G24 X Y Z ;G25 X_ Y_ Z_;第章 数控编程基础例例4.16 如图4.33所示零件,采用镜像功能,先按Y轴镜像(镜像轴X0),在不取消Y轴镜像的情形下,接着进行X轴镜像(镜像轴Y0),然后取消Y轴镜像,最后再取消X轴镜像。每次镜像设定后,调用运行一次基本图形加工子程序,共得到四个不同方位的加工轨迹,编程如下:%0001;G92 X0 Y0 Z25;G90 G17 G00 Z5 M03;M98 P100;G24
43、 X0;M98 P100;第章 数控编程基础G24 Y0;M98 P100;G25 X0;M98 P100;G25 Y0;Z25 M05 M30;%100;G41 X10 Y4 D01;第章 数控编程基础Y5;G01 Z28 F200;Y30;X20;G03 X30 Y20 I10;G01 Y10;X5;G00 Z5;G40 X0 Y0;M99;第章 数控编程基础当采用绝对编程方式时,如“G24 X9;”表示图形将以X9的直线(平行Y轴的线)作为对称轴,“G24 X6 Y4;”表示先以X=6对称,然后再以Y4对称,两者综合结果即相当于以点(6,4)为对称中心的原点对称图形。某轴对称一经指定,持
44、续有效,直到执行G25且后跟该轴指令才取消。例如,“G25 X0;”表示取消前面的由“G24 X”产生的关于Y轴方向的对称,此时X后所带的值基本无意义,即任意数值均一样。先执行“G24 X”,其间没有执行“G25 X”,后来又执行“G24 Y”,则对称效果是两者的综合。若执行G25后不带坐标的指令,则将取消最近一次指定的对称关系。第章 数控编程基础4.1.7 孔加工固定循环孔加工固定循环1.孔加工固定循环的运动与动作孔加工固定循环的运动与动作以立式数控机床加工为例,钻、镗固定循环动作分解如图4.34所示。第章 数控编程基础图4.34 固定循环动作分解第章 数控编程基础(1)X和Y轴快速定位到孔
45、中心的位置上。(2)快速运行到靠近孔上方的安全高度平面(R点平面)。(3)钻、镗孔(工进)。(4)在孔底做需要的动作。(5)退回到安全平面高度或初始平面高度。(6)快速退回到初始点的位置。第章 数控编程基础在固定循环动作分解中,涉及到以下三个平面:初始平面。初始平面是为安全操作而设定的定位刀具的平面。初始平面到零件表面的距离可以任意设定。若使用同一把刀具加工若干个孔,当孔间存在障碍需要跳跃或全部孔加工完成时,用G98指令使刀具返回到初始平面,否则,在中间加工过程中可用G99指令使刀具返回到R点平面,这样可缩短加工辅助时间。R点平面。R点平面又叫R参考平面。这个平面表示刀具从快进转为工进的转折位
46、置。R点平面距工件表面的距离主要应考虑工件表面形状的变化,一般可取25 mm。孔底平面。Z表示孔底平面的位置,加工通孔时刀具伸出工件孔底平面一段距离,保证通孔全部加工到位,钻削盲孔时应考虑钻头钻尖对孔深的影响。第章 数控编程基础2.选择加工平面及孔加工轴线选择加工平面及孔加工轴线选择加工平面有G17、G18和G19三条指令,分别对应XY、XZ和YZ三个加工平面,以及分别对应Z轴、Y轴和X轴三个孔加工轴线。对于立式数控铣床孔加工,只能在XY平面内使用Z轴作为孔加工轴线,与平面选择指令无关。下面主要讨论立式数控铣床孔加工固定循环指令。第章 数控编程基础3.孔加工固定循环指令格式孔加工固定循环指令格
47、式编程格式:G90(G91)G99(G98)G73(G89)X Y Z R Q P F S L ;G98、G99为孔加工完后的回退方式指令;G98为返回初始平面高度处指令;G99为返回安全平面高度处指令。当某孔加工完后还有其他同类孔需要继续加工时,一般使用G99指令;只有当全部同类孔都加工完成后,或孔间有比较高的障碍需跳跃时,才使用G98指令,这样可节省抬刀时间。G73、G74、G76与G80G89为孔加工方式指令,对应的固定循环功能见表4-3。第章 数控编程基础表4-3 固定循环功能G 指令 加工动作(Z 向)在孔底部的动作 回退动作(Z 向)用 途 G73 间歇进给 快速进给 高速深孔钻固
48、定循环 G74 切削进给(主轴反转)主轴正转 切削进给 攻左旋螺纹固定循环 G76 切削进给 主轴定向停止 快速进给 精镗固定循环 G80 固定循环取消 G81 切削进给 快速进给 钻削固定循环 G82 切削进给 暂停 快速进给 钻削固定循环、沉孔 G83 间歇进给 快速进给 深孔钻固定循环 第章 数控编程基础G84 切削进给(主轴正转)主轴反转 切削进给 攻右旋螺纹固定循环 G85 切削进给 切削进给 镗削固定循环 G86 切削进给 主轴停止 切削进给 镗削固定循环 G87 切削进给 主轴停止 手动或快速 反镗削固定循环 G88 切削进给 暂停、主轴停止 手动或快速 镗循环 G89 切削进给
49、 暂停 切削进给 镗循环 第章 数控编程基础说明:(1)X、Y为孔位中心的坐标。(2)Z为孔底的Z坐标(G90时为孔底的绝对Z值,G91时为R点平面到孔底平面的Z坐标增量)。(3)R为安全平面的Z坐标(G90时为R点,平面的绝对Z值,G91时为从初始平面到R点平面的Z坐标增量)。(4)Q在G73、G83间歇进给方式中,为每次加工的深度;在G76、G87方式中,为横移距离;在固定循环有效期间是模态值。第章 数控编程基础(5)P为孔底暂停的时间,用整数表示,单位为ms,仅对G82、G88、G89有效。(6)F为进给速度。(7)S为机床主轴转速。(8)L为重复循环的次数,L1可不写,L0将不执行加工
50、,仅存储加工数据。第章 数控编程基础4.各种孔加工方式说明各种孔加工方式说明1)高速深孔钻G73孔加工动作如图4.35(a)所示,G73指令用于深孔钻削,Z轴方向的间断进给有利于深孔加工过程中断屑与排屑。指令Q为每一次进给的加工深度(增量值且为正值),图示中退刀距离“d”由数控系统内部设定。第章 数控编程基础2)深孔钻G83孔加工动作如图4.35(b)所示,G83指令与G73指令略有不同的是,每次刀具间歇进给后回退至R点平面,这种退刀方式排屑畅通,此处的“d”表示刀具间断进给每次下降时由快进转为工进的那一点至前一次切削进给下降的点之间的距离,“d”值由数控系统内部设定。由此可见,这种钻削方式适