第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 编程