
第2章数控铣床编程与操作2.1数控铣床及其控制系统简介数控铣床是机床设备中应用非常广泛一种的加工机床,不仅可以进行平面铣削、平面型腔铣削、外形轮廓铣削和复杂曲面铣削,还可以进行钻削、镗削、螺纹切削等孔加工。数控铣床是在一般铣床的基础上发展起来的,两者的加工工艺基本相同,结构也有些相似,但数控铣床是靠程序控制的自动加工机床,所以其结构也与普通铣床有很大区别。此外,不同的数控铣床和数控系统其编程方法略有差异,本章以XK713型立式数控铣床为例,介绍数控铣床的基本结构及性能、编程与操作方法。如图2.1所示,XK713数控铣床由FANUC0iM数控系统、床身、主轴箱、工作台、进给伺服系统、冷却润滑系统等几大部分组成。主轴电机功率为2.2kW,调速范围为50rpm~4500rpm。X、Y、Z方向的进主轴箱给运动,都是由交流伺服电机立柱驱动,并通过滚珠丝杆传动实现进给。最大进给速度为控制面板主轴1200mm/min,脉冲当量为电气柜0.001mm/脉冲。XK713数控铣床配置的数控系统为日本FANUC公司研制的FANUCOiM铣削数控系统。其主要特点是:控制功【工作台】能强,可控制轴数为X、Y、Z三轴,扩展后可联动控制轴数为四轴:编程代码通用性冷却液箱床身强,编程方便,可靠性高。该系统可用于数控铣、数控车、加工中心等数控机床,可采用绝对坐标或相对坐标编程。图2.1XK713型数控铣床结构具体功能:(1)可实现对相互位置精度要求很高的孔系加工的点位控制功能;(2)具有实现直线与圆弧插补功能的连续轮廓控制功能;(3)具有刀具半径补偿功能,此功能可以根据零件轮廓的标注尺寸来编程,而不必考虑所用刀具的实际半径尺寸,从而减少编程时的数值计算:(4)具有刀具长度补偿功能,此功能可以自动补偿刀具的长短,以适应加工中对刀具长度尺寸的调整要求:(5)具有子程序调用功能,有些零件需要在不同的位置上重复加工同样的轮廓形状,将这一轮廓形状的加工程序作为子程序,在需要的位置上重复调用,以简化程序的编制。另外还有循环加工及旋转、比例(放大或缩小)、镜像(对称)加工等功能。2.2数控铣床程序编制方法2.2.1程序段的一般格式一个零件程序是一组被传送到数控装置中去的指令和数据,由遵循一定结构句法和格式1
1 第 2 章 数控铣床编程与操作 2.1 数控铣床及其控制系统简介 数控铣床是机床设备中应用非常广泛一种的加工机床,不仅可以进行平面铣削、平面型 腔铣削、外形轮廓铣削和复杂曲面铣削,还可以进行钻削、镗削、螺纹切削等孔加工。 数控铣床是在一般铣床的基础上发展起来的,两者的加工工艺基本相同,结构也有些相 似,但数控铣床是靠程序控制的自动加工机床,所以其结构也与普通铣床有很大区别。此外, 不同的数控铣床和数控系统其编程方法略有差异,本章以 XK713 型立式数控铣床为例,介 绍数控铣床的基本结构及性能、编程与操作方法。 如图 2.1 所示,XK713 数控铣床由 FANUC 0i M 数控系统、床身、主轴箱、工作台、进 给伺服系统、冷却润滑系统等几大部分组成。主轴电机功率为 2.2kW,调速范围为 50rpm~ 4500rpm。X、Y、Z 方向的进 给运动,都是由交流伺服电机 驱动,并通过滚珠丝杆传动实 现进给。最大进给速度为 1200mm/min,脉冲当量为 0.001mm/脉冲。 XK713 数控铣床配置的 数控系统为日本 FANUC 公司 研制的FANUC 0i M铣削数控 系统。其主要特点是:控制功 能强,可控制轴数为 X、Y、 Z 三轴,扩展后可联动控制轴 数为四轴;编程代码通用性 强,编程方便,可靠性高。该 系统可用于数控铣、数控车、 加工中心等数控机床,可采用 绝对坐标或相对坐标编程。 具体功能: (1) 可实现对相互位置精度要求很高的孔系加工的点位控制功能; (2) 具有实现直线与圆弧插补功能的连续轮廓控制功能; (3) 具有刀具半径补偿功能,此功能可以根据零件轮廓的标注尺寸来编程,而不必考虑 所用刀具的实际半径尺寸,从而减少编程时的数值计算; (4) 具有刀具长度补偿功能,此功能可以自动补偿刀具的长短,以适应加工中对刀具长 度尺寸的调整要求; (5) 具有子程序调用功能,有些零件需要在不同的位置上重复加工同样的轮廓形状,将 这一轮廓形状的加工程序作为子程序,在需要的位置上重复调用,以简化程序的编制。 另外还有循环加工及旋转、比例(放大或缩小)、镜像(对称)加工等功能。 2.2 数控铣床程序编制方法 2.2.1 程序段的一般格式 一个零件程序是一组被传送到数控装置中去的指令和数据,由遵循一定结构句法和格式 冷却液箱 床身 工作台 电气柜 立柱 主轴箱 控制面板 图 2.1 XK713 型数控铣床结构

规则的若干个程序段组成,而每个程序段由若干个指令字组成,如图2.2所示。程序01000N01G91G00X50Y60;N10 G01X100 Y500 F150 S300,↑程序段N..M02N200t指令字图2.2程序的结构1.指令字的格式一个指令字是由地址符(指令字符)和带符号(如定义尺寸的字)或不带符号(如准备功能字G代码)的数字数据组成的。程序段中不同的指令字符及其后续数值确定了每个指令字的含义。在数控程序段中包含的主要指令字符如表2-1所示。表2-1指令字符表功能意义地址零件程序号%(或0)程序编号%(或O)0001~9999N程序段号程序段编号:NO~9999准备功能G指令动作方式(直线、圆弧等)G00-99X, Y, ZA, B, C坐标轴的移动命令±99999.999尺寸字U, V, WR圆弧的半径,固定循环的参数I、J、K圆心相对于起点的坐标,固定循环的参数进给速度F进给速度的指定F0~24000s主轴功能主轴旋转速度的指定S0~9999T刀具功能刀具编号的指定T0~99辅助功能M机床开/关控制的指定M00~99D, H补偿号刀具补偿号的指定00~99暂停P, X暂停时间的指定P程序号的指定子程序号的指定P00001~9999重复次数L子程序的重复次数,固定循环的重复次数参数P, Q, R固定循环的参数2.程序段的格式一个程序段定义一个将由数控装置执行的指令行。程序段的格式定义了每个程序段中功能字的句法,程序段的一般格式如下所示。[I(数字)J(数字)K(数字)「 D(AA)[( F(数字)S(数字)MAA;N(数字)GAAX(数字)Y(数字)Z(数字) R(事)其中:N(数字)一程序段号,该项为任选项(即可不写);G△△-—准备功能指令:X(数字)Y(数字)Z(数字)--尺寸字,分别表示沿X、Y、Z坐标方向的位移量:I(数字)J(数字)K(数字)/R(数字)-圆弧插补时圆心相对于圆弧起点的坐标或用半径值表示:2
2 规则的若干个程序段组成,而每个程序段由若干个指令字组成,如图2.2所示。 1. 指令字的格式 一个指令字是由地址符(指令字符)和带符号(如定义尺寸的字)或不带符号(如准备功能字 G代码)的数字数据组成的。 程序段中不同的指令字符及其后续数值确定了每个指令字的含义。在数控程序段中包含 的主要指令字符如表2-1所示。 表 2-1 指令字符表 功能 地 址 意 义 零件程序号 %(或O) 程序编号%(或O)0001~9999 程序段号 N 程序段编号:N0~9999 准备功能 G 指令动作方式(直线、圆弧等) G00-99 尺寸字 X,Y,Z A,B,C 坐标轴的移动命令±99999.999 U,V,W R 圆弧的半径,固定循环的参数 I、J、K 圆心相对于起点的坐标,固定循环的参数 进给速度 F 进给速度的指定 F0~24000 主轴功能 S 主轴旋转速度的指定 S0~9999 刀具功能 T 刀具编号的指定 T0~99 辅助功能 M 机床开/关控制的指定 M00~99 补偿号 D,H 刀具补偿号的指定 00~99 暂停 P,X 暂停时间的指定 程序号的指定 P 子程序号的指定 P00001~9999 重复次数 L 子程序的重复次数,固定循环的重复次数 参数 P,Q,R 固定循环的参数 2. 程序段的格式 一个程序段定义一个将由数控装置执行的指令行。程序段的格式定义了每个程序段中 功能字的句法,程序段的一般格式如下所示。 N(数字)G△△X(数字)Y(数字)Z(数字) F(数字)S(数字)M△△; 其中: N(数字)- 程序段号,该项为任选项(即可不写); G△△- 准备功能指令; X(数字)Y(数字)Z(数字) - 尺寸字,分别表示沿 X、Y、Z 坐标方向的位移量; I(数字)J(数字)K(数字)/R(数字) - 圆弧插补时圆心相对于圆弧起点的坐标或用半径值 表示; O1000 N01 G91 G00 X50 Y60; N. N200 图 2.2 程序的结构 N10 G01 X100 Y500 F150 S300; M03 M02 程序 程序段 指令字

D(数字)/H(数字)--刀具补偿号,指定刀具半径/长度补偿存储单元号:F(数字)—进给速度指令:S(数字)-主轴转速指令;MA△--辅助功能指令:;程序段结束符。3.程序的一般结构一个零件程序必须包括起始符和结束符,且零件程序是按程序段的输入顺序执行而不是按程序段号的顺序执行。但书写程序时建议按升序方式书写程序段号。本系统的程序结构为程序起始符:%(或O)符,%(或O)后跟程序号:程序体;程序结束:M02或M30;注释符:括号()内或分号(:)后的内容为注释文字。2.2.2常用准备功能指令准备功能G指令用来设定坐标系、规定刀具和工件的相对运动轨迹、指定坐标平面、刀具补偿等多种加工操作。1.工件坐标系设定/选择指令(G92/G54~G59)(1)工件坐标系设定指令(G92)编程格式:G92XYZ;该指令功能为设定起刀点相对工件坐标系原点的位Z20.0置。X、Y、Z即为刀具起点到工件坐标系原点的有向距离。执行G92指令时,机床不运动,即X、Y、Z轴均不移动。工件坐标系一旦建立,绝对值编程时的指令值就Y刀具起点是在此坐标系中的坐标值。G92指令为非模态指令,9程序原点/30.0般放在零件加工程序的第一个程序段。如图2.3所示,在加工工件前,机床首先回参考点,30.0然后将刀具移动至起刀点(对刀点)位置,当执行下例程X序段后,图2.3工件坐标系的建立G92X30.0Y30.0Z20.0;就建立了工件坐标系,刀具中心在工件坐标系中的位置为X=30.0,Y=30.0,Z=20.0。(2)工件坐标系选择指令(G54~G59)该6个指令功能为可分别设定工件坐标系原点相对机床坐标系原点的位置,如图2.4所示。G54~G59可根据需要任意选用。若在机床上同时加工多个相同零件时,可以设定不同的程序原点。这6个预定工件坐标系的原点在机床坐标系中的值(工件零点偏置值),可用MDI(手工数据输入)方式输入,系统自动记忆。G54~G59为模态功能,可相互注销。ZZG54工件坐标系G54原点G59工件坐标系G59原点上茶YTYKX原点偏置&x机床原点图2.4工件坐标系选择G54~G593
3 D(数字)/H(数字) -刀具补偿号,指定刀具半径/长度补偿存储单元号; F(数字) - 进给速度指令; S(数字) - 主轴转速指令; M△ △ - 辅助功能指令; ;- 程序段结束符。 3. 程序的一般结构 一个零件程序必须包括起始符和结束符,且零件程序是按程序段的输入顺序执行而不是 按程序段号的顺序执行。但书写程序时建议按升序方式书写程序段号。本系统的程序结构为: 程序起始符:%(或O)符,%(或O)后跟程序号; 程序体; 程序结束:M02或M30; 注释符:括号( )内或分号(;)后的内容为注释文字。 2.2.2 常用准备功能指令 准备功能G指令用来设定坐标系、规定刀具和工件的相对运动轨迹、指定坐标平面、刀 具补偿等多种加工操作。 1. 工件坐标系设定/选择指令(G92/ G54~G59) (1) 工件坐标系设定指令(G92) 编程格式:G92 X_Y_Z_; 该指令功能为设定起刀点相对工件坐标系原点的位 置。X、Y、Z即为刀具起点到工件坐标系原点的有向距 离。执行G92指令时,机床不运动,即X、Y、Z轴均不 移动。工件坐标系一旦建立,绝对值编程时的指令值就 是在此坐标系中的坐标值。G92指令为非模态指令,一 般放在零件加工程序的第一个程序段。 如图 2.3 所示,在加工工件前,机床首先回参考点, 然后将刀具移动至起刀点(对刀点)位置,当执行下例程 序段后, G92 X30.0 Y30.0 Z20.0; 就建立了工件坐标系,刀具中心在工件坐标系中的位置为 X = 30.0,Y = 30.0,Z = 20.0。 (2)工件坐标系选择指令(G54~G59) 该6个指令功能为可分别设定工件坐标系原点相对机床坐标系原点的位置,如图2.4所 示。G54~G59可根据需要任意选用。若在机床上同时加工多个相同零件时,可以设定不同的 程序原点。这6个预定工件坐标系的原点在机床坐标系中的值(工件零点偏置值),可用MDI(手 工数据输入)方式输入,系统自动记忆。G54~G59为模态功能,可相互注销。 Y X Z O 刀具起点 程序原点 30.0 20.0 30.0 图 2.3 工件坐标系的建立 X Y Z X Y Z 机床原点 G54 原点 G59 原点 G54 工件坐标系 G59 工件坐标系 原点偏置 图 2.4 工件坐标系选择 G54~G59

Yt8工件坐标系一日选定,后续Y30A程序段中绝对值编程时的坐标值40均为相对此工件坐标系原点的值。例如图2.5所示,使用两个不同的坐标系编程,要求刀具从当前点分别移动到A点与B点,程序分别30XG591-.--如下所示:0100030XG54 G00 G90 X30.0 Y40.0: G54T机床原点G59G00G90X30.0Y30.0:图2.5工件坐标系设置注意事项:①G92指令与G54~G59指令都用于设定工件坐标系,但在使用中是有区别的,G92指令通过程序来设定、选用工件坐标系,它所设定的工件坐标系原点与当前刀具所在的位置有关,这一加工原点在机床坐标系中的位置随当前刀具位置的不同而改变:②G54~G59指令通过MDI方式设定工件坐标系,一且设定,加工原点在机床坐标系中的位置不变,它与刀具的当前位置无关,除非通过MDI方式修改。因此,在使用G54~G59指令前,应先用MDI方式输入各坐标系的坐标原点在机床坐标系中的坐标值;③G92与G54~G59指令一般不能在一同程序中同时使用。2.绝对/相对坐标编程指令(G90/G91)Y+G90为绝对值编程指令,表示程序段中给出B的刀具运动坐标尺寸为绝对坐标值,即给出的坐20标值相对于坐标原点:G91为相对值编程指令,表示程序段中给出的刀具运动坐标尺寸为增量坐标值,即相对于前一位置的增量值。如图2.6所示,若刀具从A点沿直线运动到B点,则:A5用绝对值方式编程时,程序段如下:-G90G01X10.0Y20.0;01030x用增量值方式编程时,程序段如下:图2.6G90与G91指令的功能G91G01X-20.0Y15.0;G90、G91为模态功能,可相互注销,G90为缺省值。3.坐标平面指定指令(G17,G18G19(YZ平面)tzG19)该组指令用来选择进行圆弧插补和G18(ZX平面)刀具半径补偿的平面。G17指定XY平面,G18指定ZX平面,G19指定YZ平面,如图2.7所示。0G17、G18、G19为模态功能,可相互Y注销,G17为缺省值。故立式数控铣床(含数控加工中心)该组指令可隐含不写。此外,需要注意的是:直线移动指令G17(XY平面)+与平面选择无关。例如,当执行指令G17G01Z10.0:时,Z轴移动不受影响。图2.7坐标平面选择4
4 工件坐标系一旦选定,后续 程序段中绝对值编程时的坐标值 均为相对此工件坐标系原点的值。 例如图2.5所示,使用两个不同的 坐标系编程,要求刀具从当前点 分别移动到A点与B点,程序分别 如下所示: O1000 G54 G00 G90 X30.0 Y40.0; . G59 G00 G90 X30.0 Y30.0; . 注意事项: ① G92 指令与 G54~G59 指令都用于设定工件坐标系,但在使用中是有区别的,G92 指令通过程序来设定、选用工件坐标系,它所设定的工件坐标系原点与当前刀具所在的位置 有关,这一加工原点在机床坐标系中的位置随当前刀具位置的不同而改变; ② G54~G59指令通过MDI方式设定工件坐标系,一旦设定,加工原点在机床坐标系中 的位置不变,它与刀具的当前位置无关,除非通过MDI方式修改。因此,在使用G54~G59 指令前,应先用MDI方式输入各坐标系的坐标原点在机床坐标系中的坐标值; ③ G92 与 G54~G59 指令一般不能在一同程序中同时使用。 2. 绝对/相对坐标编程指令(G90/ G91) G90 为绝对值编程指令,表示程序段中给出 的刀具运动坐标尺寸为绝对坐标值,即给出的坐 标值相对于坐标原点;G91 为相对值编程指令, 表示程序段中给出的刀具运动坐标尺寸为增量坐 标值,即相对于前一位置的增量值。如图 2.6 所示, 若刀具从 A 点沿直线运动到 B 点,则: 用绝对值方式编程时,程序段如下: G90 G01 X10.0 Y20.0; 用增量值方式编程时,程序段如下: G91 G01 X-20.0 Y15.0; G90、G91为模态功能,可相互注销,G90为缺省值。 3. 坐标平面指定指令(G17,G18, G19) 该组指令用来选择进行圆弧插补和 刀具半径补偿的平面。G17指定XY平面, G18指定ZX平面,G19指定YZ平面,如图 2.7所示。 G17、G18、G19为模态功能,可相互 注销,G17为缺省值。故立式数控铣床(含 数控加工中心)该组指令可隐含不写。 此外,需要注意的是:直线移动指令 与平面选择无关。例如,当执行指令 G17 G01 Z10.0;时,Z 轴移动不受影响。 X O Y G54 A X O Y G59 9 B 机床原点 40 30 30 30 图 2.5 工件坐标系设置 X O Y A B 20 5 10 30 图 2.6 G90 与 G91 指令的功能 Y Z X 图 2.7 坐标平面选择 G19(YZ 平面) G18(ZX 平面) G17(XY平面) O

4.进给控制指令(G00,G01,G02/G03)(1)快速定位指令(G00)编程格式:GOOXYZ;其中X,Y,Z是快速定位至终点的坐标值,在G90编程方式下,终点为相对于工件坐标系原点的坐标:在G91编程方式下,终点为相对于起点的位移量。G00控制刀具以点位控制的方AY实际路径式快速移动到目标位置,各个坐标轴其运动速度由系统参数设定,不B1用F值指定。指令执行过程中,刀具沿各个坐标轴方向同时按参数设定的速度移动,最后减速到达终点。编程路径GOO指令一般用于加工前快速X定位或加工后快速退刀,快移速度可0205090由面板上的快速修调旋钮修正。G00为模态功能指令,可由图2.8G00编程G01、G02或G03功能指令注销。需要注意的是,在执行GO0指令时,由于各轴以各自速度移动,联动直线轴的合成轨迹不一定是直线。例如图2.8所示,使用G00编程,要求刀具从A点快速定位到B点。绝对坐标编程:G90G00X90Y45.0:增量坐标编程:G91G00X70Y30.0;刀具快速定位路线为A一C→B,即刀具运动方向是以X轴夹角为45°的方向走到短轴位置(C点),再单方向走长轴至目标位置(B点),以折线的方式到达B点,而不是以直线方式从A一B。因而操作者必须格外小心,以免刀具与工件发生碰撞。常见的做法是将乙轴移动到安全高度,再放心地执行G00指令。(2)直线插补指令(G01)编程格式:GO1XYZF_;其中X,Y,Z是直线插补进给终点,在G90编程方式下,终点为相对于工件坐标系原点的坐标:在G91编程方式下,终点为相对于起点的位移量。F为合成进给速度,在没有新的F指令以前一直有效,不必在每个程序段中都写入F指令。G01指令刀具以联动的方式,按F规定的合成进给速度,从当前位置按线性路线(联动AY实际路径直线轴的合成轨迹为直线)移动到程序段指令357的终点。30例如图2.9所示,使用G01编程,要求从iBA点经B点线性进给到C点(此时进给路线是从A→B-→C的折线)。A绝对坐标编程:编程路径10G90G01X25.0Y30.0F100;-xX40.0Y35.0;+0104025增量坐标编程:G91G01X15.0Y20.0F100图2.9G01编程X15.0Y5.0;G01是模态代码指令,可由G01、G02或G03功能指令注销。(3)圆弧插补指令(G02/G03)5
5 X Y A B C O 10 25 40 10 30 35 实际路径 编程路径 图 2.9 G01 编程 4. 进给控制指令(G00,G01,G02/G03) (1)快速定位指令(G00) 编程格式:G00 X_Y_Z_; 其中X,Y,Z是快速定位至终点的坐标值,在G90编程方式下,终点为相对于工件坐标 系原点的坐标;在G91编程方式下,终点为相对于起点的位移量。 G00控制刀具以点位控制的方 式快速移动到目标位置,各个坐标 轴其运动速度由系统参数设定,不 用F值指定。指令执行过程中,刀具 沿各个坐标轴方向同时按参数设定 的速度移动,最后减速到达终点。 G00指令一般用于加工前快速 定位或加工后快速退刀,快移速度可 由面板上的快速修调旋钮修正。 G00为模态功能指令,可由 G01、G02或G03功能指令注销。 需要注意的是,在执行G00指令时,由于各轴以各自速度移动,联动直线轴的合成轨迹 不一定是直线。例如图2.8所示,使用G00编程,要求刀具从A点快速定位到B点。 绝对坐标编程: G90 G00 X90 Y45.0; 增量坐标编程: G91 G00 X70 Y30.0; 刀具快速定位路线为A→C→B,即刀具运动方向是以X轴夹角为45°的方向走到短轴位置(C 点),再单方向走长轴至目标位置(B点),以折线的方式到达B点,而不是以直线方式从A→B。因 而操作者必须格外小心,以免刀具与工件发生碰撞。常见的做法是将Z轴移动到安全高度,再放 心地执行G00指令。 (2)直线插补指令(G01) 编程格式:G01 X_Y_Z_F_; 其中X,Y,Z是直线插补进给终点,在G90编程方式下,终点为相对于工件坐标系原点 的坐标;在G91编程方式下,终点为相对于起点的位移量。F为合成进给速度,在没有新的F 指令以前一直有效,不必在每个程序段中都写入F指令。 G01指令刀具以联动的方式,按F规定的 合成进给速度,从当前位置按线性路线(联动 直线轴的合成轨迹为直线)移动到程序段指令 的终点。 例如图2.9所示,使用G01编程,要求从 A点经B点线性进给到C点(此时进给路线是从 A→B→C的折线)。 绝对坐标编程: G90 G01 X25.0 Y30.0 F100; X40.0 Y35.0; 增量坐标编程: G91 G01 X15.0 Y20.0 F100; X15.0 Y5.0; G01是模态代码指令,可由G01、G02或G03功能指令注销。 (3) 圆弧插补指令(G02/G03) Y X O 20 50 90 15 45 A C B 实际路径 编程路径 图 2.8 G00 编程

GO编程格式(XY平面):G03R其中G02为顺时针圆弧插补,G03为逆时针圆弧插补:X、Y是圆弧终点坐标值,在G90编程方式下,终点为相对于工件坐标系原点的坐标:在G91编程方式下,为圆弧终点相对于圆弧起点的位移量:1、J为圆心相对于圆弧起点的偏移值,如图2.10所示,无论在G90还是在G91编程方式下,都是以增量方式指定。若某一分量终点(X,Y)Y为零时,可省略:0圆心位置亦可用圆弧半径R表示,当圆弧圆心角≤180°时R为正值;>180°时R为负值;圆心角=360°时为一整圆,则不能用R编程,只能用I、J编程。起点不如图2.11所示两段圆弧,程序段为:①劣弧AB圆心Y绝对坐标编程:1G90G02X0Y30.0R30.0F80;图2.10或G90G02X0Y30.0I30.0F80;I、J值确定增量坐标编程:G91G02X30.0Y30.0R30.0F80Y或G91G02X30.0Y30.0I30.0F80②优弧BCAR30绝对坐标编程:BG90G03X-30.0YOR-30.0F80:或G90G03X-30.0YO1-30.0F80:增量坐标编程:XG91G03X-30.0Y-30.0R-30.0F80;A1o或G91G03X-30.0Y-30.0I-30.0F80;图2.11圆弧编程③整圆Y如图2.12所示,加工整圆时由于终点坐标与起点坐标030.00重合,且终点坐标即为上一程序段的起点坐标,故无论用绝终点对坐标还是相对坐标,其X与Y值均可省略不写,程序段为:G03I-15.0F80;GO3注意事项:X(I)同时编入R与I,J,K时,R有效;图2.12整圆(2)当终点坐标与指定的半径值有矛盾时,会显示报警示信息。刀具刀具中心轨迹(3)在XZ平面或YZ平面圆弧插补指令格式分别为:G02IKZG18G03R[G02](JKG19G03R其编程方法同XY平面。5.刀具补偿功能指令被切削部分工件轮廓(1)刀具半径补偿指令(G41,G42,G40)图 2.13 刀具半径补6
6 编程格式(XY平面): F_ R_ I_J_ X _ Y _ G03 G02 ; 其中 G02 为顺时针圆弧插补,G03 为逆时针圆弧插补; X、Y 是圆弧终点坐标值,在 G90 编程方式下,终点为相对于工件坐标系原点的坐标;在 G91 编程方式下,为圆弧终点相 对于圆弧起点的位移量; I、J 为圆心相对于圆弧起点的偏移值,如图 2.10 所示,无论在 G90 还是在 G91 编程 方式下,都是以增量方式指定。若某一分量 为零时,可省略; 圆心位置亦可用圆弧半径 R 表示,当圆弧 圆心角≤180°时 R 为正值;>180°时 R 为负值; 圆心角=360°时为一整圆,则不能用 R 编程, 只能用 I、J 编程。 如图 2.11 所示两段圆弧,程序段为: ① 劣弧 AB 绝对坐标编程: G90 G02 X0 Y30.0 R30.0 F80; 或 G90 G02 X0 Y30.0 I30.0 F80; 图 2.10 I、J 值确定 增量坐标编程: G91 G02 X30.0 Y30.0 R30.0 F80; 或 G91 G02 X30.0 Y30.0 I30.0 F80; ② 优弧 BCA 绝对坐标编程: G90 G03 X-30.0 Y0 R-30.0 F80; 或 G90 G03 X-30.0 Y0 I-30.0 F80; 增量坐标编程: G91 G03 X-30.0 Y-30.0 R-30.0 F80; 或 G91 G03 X-30.0 Y-30.0 I-30.0 F80; ③ 整圆 如图 2.12 所示,加工整圆时由于终点坐标与起点坐标 重合,且终点坐标即为上一程序段的起点坐标,故无论用绝 对坐标还是相对坐标,其 X 与 Y 值均可省略不写,程序段为: G03 I -15.0F80; 注意事项: (1) 同时编入R与I,J,K时,R有效; (2) 当终点坐标与指定的半径值有矛盾时,会显示报警 图2.12 整圆 示信息。 (3) 在XZ平面或YZ平面圆弧插补指令格式分别为: F_ R_ I_K_ X _ Z _ G03 G02 G18 ; F_ R_ J_K_ Y _ Z _ G03 G02 G19 ; 其编程方法同 XY 平面。 5. 刀具补偿功能指令 (1) 刀具半径补偿指令(G41,G42,G40) 圆心 起点 终点(X, Y) I J O X Y 刀具 刀具中心轨迹 被切削部分 工件轮廓 图 2.13 刀具半径补 偿 X Y A O B C 图 2.11 圆弧编程

当加工如图2.13所示的零件轮廓时,由于刀具半径尺寸的影响,刀具中心轨迹与零件轮廓不再重合,而刀具中心轨迹是零件轮廓的等距曲线,等距值为刀具半径。当数控系统具有刀具半径补偿功能时,就可以直接按零件轮廓进行编程,等距曲线的计算由数控系统来完成。目前绝大部分数控系统都具有刀具半径补偿功能。[G17) (G41 [G0O编程格式:G18G42YZ_D_;[G01G19]|G40其中G41为刀具半径左补偿,沿刀具运动方向向前看,刀具位于零件左侧,如图2.14(a)所示:G42为刀具半径右补偿,沿刀具运动方向向前看,刀具位于零件右侧,如图2.14(b)所示:G40为撤销刀具补偿指令:D为控制系统存放刀具半径补偿量寄存器单元的代码(称为刀补号),一般数控系统D代码为:(D01~D64),即共有64个寄存器单元,可存放64把刀具半径补偿值。D代码所对应寄存器单元的补偿值只有在G41或G42指令下有效。补偿量刀刀具旋转方向刀刀具旋转方向具具前前进进方方在刀具前向在刀具前进向方向左侧补方向右侧补!补偿量-(b)右补偿(a)左补偿图2.14刀具半径补偿一般而言,刀具半径补偿功能具有如下几方面的作用:第一,用圆形棒铣刀加工零件轮廓时,使用刀具补偿功能可简化程序编制过程;第二,使用刀具半径补偿功能,为精加工留出半径方向的加工余量,通过修改补偿值,可实现用精加工程序完成粗加工工艺的目的:第三,补偿由于刀具磨损等因素等造成的加工误差,提高零件的加工精度。G41,G42,G40都是模态代码,可相互注销,G40为缺省值。在使用刀具半径补偿指令时,需注意以下几点:①刀具半径补偿平面的切换必须在补偿取消方式下进行:②刀具半径补偿值,由操作者在MDI方式下,通过功能键输入到刀具补偿寄存器中:③刀具半径补偿的建立与取消,只能用G00或G01指令,而不能是G02或G03指令。所谓刀具半径补偿建立,就是刀具从无半径补偿运动到所希望的刀具半径补偿起点的过程,而刀具半径补偿取消则恰好与此相反。如图2.15所示,刀具从点A运动至点B。当执行有刀具半径补偿指令的程序后,将在B点处形成一个与直线AB相垂直的新矢量BC,刀具中心由A点移至C点。7
7 当加工如图 2.13 所示的零件轮廓时,由于刀具半径尺寸的影响,刀具中心轨迹与零件 轮廓不再重合,而刀具中心轨迹是零件轮廓的等距曲线,等距值为刀具半径。当数控系统具 有刀具半径补偿功能时,就可以直接按零件轮廓进行编程,等距曲线的计算由数控系统来完 成。目前绝大部分数控系统都具有刀具半径补偿功能。 编程格式: X_Y_Z_D_ G01 G00 G40 G42 G41 G19 G18 G17 ; 其中 G41 为刀具半径左补偿,沿刀具运动方向向前看,刀具位于零件左侧,如图 2.14(a) 所示; G42 为刀具半径右补偿,沿刀具运动方向向前看,刀具位于零件右侧,如图 2.14(b)所示; G40 为撤销刀具补偿指令; D为控制系统存放刀具半径补偿量寄存器单元的代码(称为刀补号),一般数控系统D 代码为:(D01~D64),即共有64个寄存器单元,可存放64把刀具半径补偿值。D代码所对应 寄存器单元的补偿值只有在G41或G42指令下有效。 一般而言,刀具半径补偿功能具有如下几方面的作用:第一,用圆形棒铣刀加工零件轮 廓时,使用刀具补偿功能可简化程序编制过程;第二,使用刀具半径补偿功能,为精加工留 出半径方向的加工余量,通过修改补偿值,可实现用精加工程序完成粗加工工艺的目的;第 三,补偿由于刀具磨损等因素等造成的加工误差,提高零件的加工精度。 G41,G42,G40都是模态代码,可相互注销,G40为缺省值。 在使用刀具半径补偿指令时,需注意以下几点: ① 刀具半径补偿平面的切换必须在补偿取消方式下进行; ② 刀具半径补偿值,由操作者在MDI方式下,通过功能键输入到刀具补偿寄存器中; ③ 刀具半径补偿的建立与取消,只能用G00或G01指令,而不能是G02或G03指令。所 谓刀具半径补偿建立,就是刀具从无半径补偿运动到所希望的刀具半径补偿起点的过程,而 刀具半径补偿取消则恰好与此相反。如图2.15所示,刀具从点A运动至点B。当执行有刀具半 径补偿指令的程序后,将在B点处形成一个与直线AB相垂直的新矢量BC,刀具中心由A点移 至C点。 补偿量 在刀具前进 方向左侧补 偿 刀具旋转方向 刀 具 前 进 方 向 刀 具 前 进 方 向 (a) 左补偿 (b) 右补偿 刀具旋转方向 在刀具前进 方向右侧补 偿 补偿量 图 2.14 刀具半径补偿

YY补偿值补偿值偏移后路线偏移前路线偏移前路线偏移后路线-00x(a) G41(b) G42图2.15刀具半径补偿建立Yt又如图2.16所示,刀具欲从刀补终点A运动到取消刀补点B,当执行取消刀具半径补偿指令G40程序段时,刀具中心将由C点移至B点。编程轨迹例:编制图2.17所示工件(厚20mm)的加工程序,工件坐标系和起刀点位置如图2.16所示,要求建立的按箭头所指示的路径进行加工。利用刀刀具中心运动轨迹具半径补偿功能按工件轮廓编程,设加工开始时刀具距离工件上表面50mm,采用键槽立铣刀切削-OX深度为10mm。图2.16刀具半径补偿取消G40Y30R620E?3②AB 10①-10103040 x?-10对刀点图2.17刀具半径补偿编程8
8 又如图 2.16 所示,刀具欲从刀补终点 A 运 动到取消刀补点 B,当执行取消刀具半径补偿指 令 G40 程序段时,刀具中心将由 C 点移至 B 点。 例:编制图2.17所示工件(厚20mm)的加工程 序,工件坐标系和起刀点位置如图2.16所示,要 求建立的按箭头所指示的路径进行加工。利用刀 具半径补偿功能按工件轮廓编程,设加工开始时 刀具距离工件上表面50mm,采用键槽立铣刀切削 深度为10mm。 (a) G41 X O Y (b) G42 X O Y 偏移后路线 补偿值 偏移前路线 偏移后路线 偏移前路线 补偿值 A B C A C B 图 2.15 刀具半径补偿建立 10 30 40 O X Y 10 20 30 A B C D E ② ① ③ ④ ⑤ ⑥ ⑦ 图 2.17 刀具半径补偿编程 对刀点 -10 -10 R10 X O Y 编程轨迹 刀具中心运动轨迹 A B C 图 2.16 刀具半径补偿取消 G40

程序单:程序号01008;建立工件坐标系G92X-10.0Y-10.0Z50.0;G42G00X5.0Y10.0D01;刀具半径补偿建立Z2.0 M03 S900:G01Z-10.0F80;X30.0:G03X40.0Y20.0R10.0;G02X30.0Y30.0R10.0G01X10.0Y20.0:Y5.0;G00Z50.0M05刀具半径补偿取消G40X-10.0Y-10.0;程序结束M30:(2)刀具长度补偿指令(G43,G44,G49)刀具长度补偿指令一般用于刀具沿轴向(Z方向)的补偿(对X轴和Y轴无效)。当加工过程中所使用的刀具长度不同时,或因对刀误差等原因使刀具沿轴向尺寸产生变化而引起的加工误差时,可通过使用刀具长度补偿指令来简化加工程序的编制或补偿误差。当被加工零件不变,而刀具尺寸发生变化时,只需修改刀具长度补偿量即可,而不需要修改加工程序。[G17] [G43G0O编程格式:G18G44XZHYG01G19G49其中G43为刀具长度正向补偿,即Z坐标实际移动的坐标值为将Z坐标尺寸字与刀具长度补偿值相加所得的量,如图2.18(a)所4Z+ Z示,即刀具沿Z轴实际到达的位置是:Z 实际值=Z指令值+(HXX);G44为刀具长度负向补偿,即Z坐标实0程序中指令点实际到达点际移动的坐标值为将Z坐标尺寸字与刀具长度补偿值相减所得的量,如图2.18(b)所示,XH值即刀具沿Z轴实际到达的位置是:XXHZ实际值=Z 指含值-(HXX);4程序中指令点实际到达点G49为撤销刀具长度补偿:00H为控制系统存放刀具长度补偿量寄存77777777777器单元的代码,一般数控系统H代码为:(a) G43(b) G44(H01~H64),即共有64个寄存器单元,可存放64把刀具长度补偿值。H代码所对应寄存器单元的补偿值只有在G43或G44指令下有图2.18刀具长度补偿效。G43,G44,G49都是模态代码,可相互注销,G49为缺省值。刀具长度补偿指令在数控加工中编程(见后)中使用更为频繁。例:编制图2.19所示工件的加工程序,工件坐标系和起刀点位置见图2.19。要求建立按箭头所指示的路径进行加工,利用刀具长度补偿功能编程。程序单:O1050G92XOYOZO:指定起刀点相对工作坐标原点的位置9
9 程序单: O1008; 程序号 G92 X−10.0 Y−10.0 Z50.0; 建立工件坐标系 G42 G00 X5.0 Y10.0 D01; 刀具半径补偿建立 Z2.0 M03 S900; G01 Z-10.0 F80; X30.0; G03 X40.0 Y20.0 R10.0; G02 X30.0 Y30.0 R10.0; G01 X10.0 Y20.0; Y5.0; G00 Z50.0 M05; G40 X−10.0 Y−10.0; 刀具半径补偿取消 M30; 程序结束 (2) 刀具长度补偿指令(G43,G44,G49) 刀具长度补偿指令一般用于刀具沿轴向(Z 方向)的补偿(对 X 轴和 Y 轴无效)。当加工过 程中所使用的刀具长度不同时,或因对刀误差等原因使刀具沿轴向尺寸产生变化而引起的加 工误差时,可通过使用刀具长度补偿指令来简化加工程序的编制或补偿误差。当被加工零件 不变,而刀具尺寸发生变化时,只需修改刀具长度补偿量即可,而不需要修改加工程序。 编程格式: X_Y_Z_H_ G01 G00 G49 G44 G43 G19 G18 G17 ; 其中 G43 为刀具长度正向补偿,即 Z 坐标实际移动的坐标值为将 Z 坐标尺寸字与刀具 长度补偿值相加所得的量,如图 2.18(a)所 示,即刀具沿 Z 轴实际到达的位置是: Z 实际值 = Z 指令值 + (HXX); G44 为刀具长度负向补偿,即 Z 坐标实 际移动的坐标值为将Z坐标尺寸字与刀具长 度补偿值相减所得的量,如图 2.18(b)所示, 即刀具沿 Z 轴实际到达的位置是: Z 实际值 = Z 指令值 - (HXX); G49 为撤销刀具长度补偿; H为控制系统存放刀具长度补偿量寄存 器单元的代码,一般数控系统H代码为: (H01~H64),即共有64个寄存器单元,可存 放64把刀具长度补偿值。H代码所对应寄存 器单元的补偿值只有在G43或G44指令下有 效。 G43,G44,G49都是模态代码,可相互注销,G49为缺省值。 刀具长度补偿指令在数控加工中编程(见后)中使用更为频繁。 例:编制图2.19所示工件的加工程序,工件坐标系和起刀点位置见图2.19。要求建立按 箭头所指示的路径进行加工,利用刀具长度补偿功能编程。 程序单: O1050; G92 X0 Y0 Z0; 指定起刀点相对工作坐标原点的位置 实际到达点 程序中指令点 HXX 值 O (a) G43 实际到达点 程序中指令点 HXX 值 O (b) G44 Z Z 图 2.18 刀具长度补偿

增量坐标编程,快速定位至#1孔G91G00.X120.0Y80.0M03S600:G43Z-32.0H01;下刀,并进行刀具长度补偿,补偿值(H01)=4mmG01Z-21.0F60;钻#1孔G04 P2:暂停2秒(见后)G00Z21.0;退刀至工件上表面3mm处X30Y-50.0;快速定位至#2孔钻#2通孔G01Z-41.0;退刀G00Z41.0:快速定位至#3孔X50Y30.0;G01Z-25.0:钻#3孔G04 P2;G00G49Z57.0;撤销刀具长度补偿,退刀至起刀点的高度回起刀点X-200.0Y-60.0;M30;实际位编程位置2应3101X1235图2.19刀具长度补偿编程注:刀补号改变且补偿值不同时,则刀具在轴向将到达不同的位置,但新的补偿值并不加到旧补偿值上,例如:设H01的偏置值为4,H02的偏置值为10,程序段为:G90G43Z-32.010
10 G91 G00 X120.0 Y80.0 M03 S600; 增量坐标编程,快速定位至#1孔 G43 Z−32.0 H01; 下刀,并进行刀具长度补偿,补偿值(H01) = 4mm G01 Z−21.0 F60; 钻#1孔 G04 P2; 暂停2秒(见后) G00 Z21.0; 退刀至工件上表面3mm处 X30 Y-50.0; 快速定位至#2孔 G01 Z−41.0; 钻#2通孔 G00 Z41.0; 退刀 X50 Y30.0; 快速定位至#3孔 G01 Z−25.0; 钻#3孔 G04 P2; G00 G49 Z57.0; 撤销刀具长度补偿,退刀至起刀点的高度 X−200.0 Y−60.0; 回起刀点 M30; 注:刀补号改变且补偿值不同时,则刀具在轴向将到达不同的位置,但新的补偿值并不 加到旧补偿值上,例如:设H01的偏置值为4,H02的偏置值为10,程序段为:G90 G43 Z−32.0 X Z O 编程位置 实际位置 X Y O 3 0 5 0 12 0 # 1 # 2 # 3 图 2.19 刀具长度补偿编程 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩