数控铣削加工编程技术 精品.docx
《数控铣削加工编程技术 精品.docx》由会员分享,可在线阅读,更多相关《数控铣削加工编程技术 精品.docx(38页珍藏版)》请在冰豆网上搜索。
![数控铣削加工编程技术 精品.docx](https://file1.bdocx.com/fileroot1/2023-1/7/f18c671f-4c6c-4347-812d-37ddb2d496d5/f18c671f-4c6c-4347-812d-37ddb2d496d51.gif)
数控铣削加工编程技术精品
项目2数控铣削加工编程技术
2.1、程序的基本结构
一个完整的加工程序是由若干程序段组成,而每个程序段是由一个或若干个指令字组成。
指令字代表某一信息单元,每个指令字又由字母、数字、符号组成。
如:
O1234;程序编号
N1G90G54G00X0Y0;程序段
N2S800M03;程序段
N3Z100.0程序段
N4Z5.0;程序段
N5G01Z-10.0F100;程序段
N6G41X5.0Y5.0D1F200;程序段
N7Y15.0;程序段
N8X25.0;程序段
N9Y5.0;程序段
N10X5.0;程序段
N11G40X0Y0;程序段
N12G00Z100.0;程序段
N13M05;程序段
N14M30程序结束
程序说明:
第一行O1234指的是程序的编号,用来区别不同程序。
不同的机床厂家对使用的编号的位数和数值范围将不同,通常用4位数字表示,即“0001”~“9999”,但“8000”~“9999”已被生产厂家使用,不能作为编程号使用,故编程号为“0001”~“7999”,并在数字前必须给出标识符号“O”。
第二行是一些准备工作,告知数控机床程序编制的方式、工件所在位置、选用的坐标系等。
N1代表程序段号(简称顺序号),机床加工时并不起作用,是为了便于程序的编制和修改,可以跳跃使用,也可以省略。
程序段号通常也用4位数字表示,即“0000”----“9999”,在数字前也必须给出标识符号“N”;符号“G”规定为准备功能(简称G代码),通俗讲,凡是与机床的运动位置有关的指令,都可以用G代码来表示,如G00(快速抬刀)、G01(直线插补)等。
第三行指定数控机床主轴按顺时针旋转,转速为800
。
符号“S”代表主轴转速,单位为
;符号“M”规定为辅助功能代码(简称M代码),通常起辅助作用的指令,如M03(主轴顺时针旋转)、M04(主轴逆时针旋转)、M05(主轴停转)等。
第四行至第十三行给出刀具运动轨迹,F代表刀具的进给速度分别为100
和200
。
X、Y、Z代表刀具运动位置,单位一般为mm或脉冲;符号“D”为刀具半径偏置寄存器,数字表示表示刀具半径补偿号,在执行程序之前,需提前在相应刀具半径偏置寄存器中输入刀具半径补偿值。
第十四行指主轴停转。
最后一行,程序结束。
需要说明的是:
不同数控系统(例如FANUC(法那科)、SIEMENS(西门子)等)有不同的程序段格式,格式不符合数控系统规定要求,数控装置就会报警,程序就不能运行。
2.2、坐标系
在加工过程中,数控机床是通过什么来识别工件的加工位置的呢?
为了确定数控机床的运动方向,移动距离,就要在数控机床上建立一个坐标系,称为机械坐标系或机床坐标系,机械坐标系是机床制造商在出厂时,已设置的一个坐标。
在编制程序时,以机械坐标系来作为工件确定运动方向和距离的坐标系,从而与数控机床建立了坐标关系。
供编程使用的坐标系,称为工件坐标系或编程坐标系,为使编程人员在不知道是“刀具移近工件”,还是“工件移近刀具”的情况下,就可以根据图纸确定机床加工过程,所以在编程中,为使编程方便,一律假定工件固定不动,刀具运动的坐标系来进行编程。
数控机床的坐标系是采用右手直角笛卡儿坐标系,如图(4-1)所示。
图(4-1)笛卡儿坐标系
Z坐标定义为平行机床主轴的坐标轴,其正方向规定为从工件台到刀具夹持的方向,即刀具远离工件的运动方向。
X坐标为水平的、垂直于工件装夹平面的坐标轴,其正向一般规定为操作人员面向机床时右侧为正X方向。
Y坐标垂直于X、Z坐标轴,其正方向则根据X和Z轴按右手法则来确定。
2.3、坐标原点
1、机械原点又称机床原点,是机械坐标系的原点,它的位置是在各坐标轴的正向最大极限处,是机床制造商设置在机床上的一个物理位置,其作用是使数控机床与控制系统同步,建立测量机床运动坐标的起始点。
每次启动数控机床时,首先必须机械原点回归操作,使数控机床与控制系统建立起坐标关系,并使控制系统对各轴软限位功能起作用。
2、编程原点又称程序原点,是编程人员以工件图样上的某点为工件坐标系的原点,即工件坐标系的原点。
一般对于数控铣床用G54~G59来设置编程原点。
2.4常用编程指令代码
在数控编程中,有的编程指令是不常用的,有的只适用于某些特殊的数控机床。
这里只要介绍一些常用的编程指令,对于不常用的编程指令,请参考使用的数控机床编程手册。
1、准备功能指令(G指令)
准备功能指令由字符G和其后的1~3位数字组成,其主要功能是指定机床的运动方式,为数控系统的插补运算作准备。
G指令的有关规定和含义见表4-1。
表4-1G代码的说明
G代码
功能
G代码
功能
G00
定位(快速进给)
G43
取消刀具长度补偿
G01
直线插补(切削进给)
G44
刀具长度正偏置(刀具延长)
G02
圆弧插补(顺时针)
G49
刀具长度负偏置(刀具缩短)
G03
圆弧插补(逆时针)
G54—G59
工作坐标系
G17
XY平面选择
G80
固定循环取消
G18
ZX平面选择
G81
钻孔固定循环
G19
YZ平面选择
G83
深孔钻孔固定循环
G40
取消刀具半径补偿
G90
绝对坐标编程方式
G41
刀具半径左补偿
G91
相对坐标编程方式
G42
刀具半径右补偿
注:
以上G代码均为模态指令(或续效指令),一经程序段中指定,便一直有效,直到以后程序段中出现同组另一指令(G指令)或被其它指令取消(M指令)时才失效,否则保留作用继续有效,而且在以后的程序中使用时可省略不写。
2、辅助功能指令(M指令)
辅助功能指令由字母M和其后的两位数字组成,主要用于完成加工操作时的辅助动作。
常用的M指令见表4-2。
表4-2M代码的说明
M代码
功能
说明
M代码
功能
说明
M00
程序停止
非模态
M08
冷却液开
模态
M01
选择程序停止
M09
冷却液关
M02
程序结束
M30
程序结束并返回
非模态
M03
主轴顺时针旋转
模态
M98
调用子程序
M04
主轴逆时针旋转
M99
子程序取消
M05
主轴停止
2.5常用编程指令介绍
1、绝对坐标和相对坐标指令(G90G91)
表示运动轴的移动方式。
使用绝对坐标指令(G90)编程时,程序段中的尺寸数字为绝对坐标值,即刀具所有轨迹点的坐标值,均以程序原点为基准。
相对坐标指令(G91)编程时,程序段中的尺寸数字为增量坐标值,即刀具当前点的坐标值,是以前一点坐标为基准而得。
使用格式为:
XYZ;
例:
如图(4-2)所示,表示刀具从A点移动到B点,用以上两种方式编程分别如下:
G90X10.0Y40.0;
G91X-30.0Y30.0;
图(4-2)
在选用编程方式时,应根据具体情况加以选用,同样的路径选用不同的方式其编制的程序有很大区别。
一般绝对坐标适合在所有目标点相对程序原点的位置都十分正确的情况下使用,反之,采用相对坐标编程。
需要注意的是:
在编制程序时,在程序数控指令开始的时候,必须指明编程方式,缺省为G90。
2.工作坐标系的选取指令(G54~G59)
一般数控机床可以预先设置6个(G54~G59)工作坐标系,这些工作坐标系储器在机床的存储器内,都以机械原点为参考点,分别以各自坐标轴与机械原点的偏移量来表示,如图(4-3)所示。
在程序中可以选用工作坐标系中的其中一个或多个。
注意:
这是一组模态指令,没有缺省方式。
若程序中没有给出工作坐标系,则数控系统默认缺省程序原点为机械原点。
图(4-3)
图(4-4)
3.坐标平面的选择(G17G18G19)
G17、G18、G19分别指定零件进行XY、ZX、YZ平面上的加工,如图(4-4)所示。
这些指令在进行圆弧插补、二维刀具半径补偿必须使用。
这是一组模态指令,缺省为G17。
4.快速定位(G00或G0)
刀具以系统预先设定的速度以点位控制方式从当前所在位置快速移动到指令给出的目标位置。
只能用于快速定位,不能用于切削加工,进给速度F对G00指令无效。
该指令常使用在程序开头和结束处,刀具远离工件时,快速接近工件,程序结束时,刀具快速离开工件。
使用格式为:
G00XYZ;
例如:
G90G00X0Y0Z100.0;/*使刀具以绝对编程方式快速定位到(0,0,100)的位置。
由于刀具的快速定位运动,一般不直接使用G90G00X0Y0Z100.0的方式,避免刀具在安全高度以下首先在XY平面内快速运动而与工件或夹具发生碰撞。
一般用法:
G90G00Z100.0;/*刀具首先快速移到Z=100.0mm高度的位置
X0.Y0.;/*刀具接着快速定位到工件原点的上方
G00指令一般在需要将主轴和刀具快速移动时使用,可以同时控制1~3轴,即可在X或Y轴方向移动,也可以在空间作三轴联动快速移动。
而刀具的移动速度又数控系统内部参数设定,在数控机床出厂前已设置完毕,一般在5000~10000mm/min。
5.直线插补指令(G01或G1)
刀具作两点间的直线运动加工时使用该指令,G01表示刀具从当前位置开始以给定的切削速度F,沿直线移动指令给出的目标位置。
使用格式:
G01XYZF;
例:
如图(4-4)所示。
G01X10.0Y50.0F100;/*刀具在(50,10)位置以100mm/min的进给速度沿直线运动到(10,50)的位置。
图(4-4)
一般用法:
G01、F指令均为模态指令,有继承性,即如果上一段程序为G01,则本程序可以省略不写。
X、Y、Z为终点坐标值也同样具有继承性,即如果本程序段的X(或Y或Z)的坐标值与上一程序段的X(或Y或Z)坐标值相同,则本程序段可以不写X(或Y或Z)坐标。
F为进给速度,单位为mm/min,同样具有继承性。
注意:
(1)G01与坐标平面的选择无关;
(2)切削加工时,一般要求进给速度恒定,因此,在一个稳定的切削加工工程中,往往只在程序开头的某个插补(直线插补或圆弧插补)程序段写出F值。
例:
已知待加工工件轮廓如图(4-5)所示,加工路径为A→B→C→D→E→F→G→H→A,要求铣削深度为
。
分别采用绝对、相对坐标编程,其程序为:
图(4-5)
绝对坐标编程:
O1;
G90G17G54G00Z100.0S1000M03;
X0.Y0.;
X40.0Y40.0;
Z5.0;
G01Z-10.0F100;
Y60.0F120;
X30.0;
X40.0Y90.0;
X80.0;
X90.0Y60.0;
X80.0;
Y40.0;
X40.0;
G00Z100.;
X0.Y0.;
M05;
M30;
相对坐标编程:
O2;
G90G17G54G00Z100.0S1000M03;
X0Y0;
G91X40.Y40.;
Z-95.0;
G01Z-15.0F100;
Y20.0;
X-10.0;
X10.0Y30.0;
X40.0;
X10.0Y-30.0;
X-10.0;
Y-20.0;
X-40.0;
G00Z110.0;
X-40.0Y-40.0;
M05;
M30;
6.圆弧插补指令(G02、G03或G2、G3)
刀具在各坐标平面以一定的进给速度进行圆弧插补运动,从当前位置(圆弧的起点),沿圆弧移动到指令给出的目标位置,切削出圆弧轮廓。
G02为顺时针圆弧插补指令,G03为逆时针插补指令。
刀具在进行圆弧插补时必须规定所在平面(即G17~G19),再确定回转方向,如图(4-6)所示,沿圆弧所在平面(如XY平面)的另一坐标轴的负方向(-Z)看去,顺时针方向为G02指令,逆时针方向为G03指令。
图(4-6)圆弧顺逆方向
一般用法:
G02和G03为模态指令,有继承性,继承方法与G01相同。
注意:
G02和G03与坐标平面的选择有关。
使用格式:
G17
XY
F;
G18
XZ
F;
G19
YZ
F;
格式中:
(1)X、Y、Z表示圆弧终点坐标,可以用绝对方式编程,也可以用相对坐标编
程,由G90或G91指,使用G91指令时是圆弧终点相对于起点的坐标;
(2)R表示圆弧半径;
(3)I、J、K分别为圆弧的起点到圆心的X、Y、Z轴方向的增矢量,见图(4-7)所示。
图(4-7)
使用G02或G03指令两种格式的区别:
(1)当圆弧角小于等于
时,圆弧半径R为正值,反之,R为负值;
(2)以圆弧始点到圆心坐标的增矢量(I、J、K)来表示,适合任何的圆弧角使用,得到的圆弧是唯一的。
(3)切削整圆时,为了编程方便采用(I、J、K、)格式编程,不使用圆弧半径R格式。
例1:
如图(4-8),A点为始点,B点为终点,数控程序如下:
图(4-8)圆弧插补
O1;
G90G54G02I50.0J0.F100;
G03X-50.0Y40.0I-50.0J0;
X-25.0Y25.0I0.J-25.0;
M30;
或:
O1;
G90G54G02I50.0J0F100;
G03X-50.0Y40.0R50.0;
X-25.0Y25.0R-50.0;
M30;
例2:
图(4-9)所示为半径等于50的球面,其球心位于坐标原点O,刀心轨迹为A→B→C→A,程序为:
O2;
G90G54G17G03X0.Y50.0I-50.0J0.F100;
G19G91G03Y-50.0Z50.0J-50.0K0.;
G18G03X50.0Z-50.0I0.K-50.0;
M30;
图(4-9)
7.刀具半径补偿指令(G40、G41、G42)
(1)刀具半径补偿的目的
在铣床上进行轮廓加工时,因为铣刀具有一定的半径,所以刀具中心(刀心)轨迹和工件轮廓不重合。
若数控装置不具备刀具半径自动补偿功能,则只能按刀心轨迹进行编程(图(1-11)中点划线),其数值计算有时相当复杂,尤其当刀具磨损、重磨、换新刀等导致刀具直径变化时,必须重新计算刀心轨迹,修改程序,这样既繁琐,又不易保证加工精度。
当数控系统具备刀具半径补偿功能时,编程只需按工件轮廓线进行(图(4-10)中粗实线),数控系统会自动计算刀心轨迹坐标,使刀具偏离工件轮廓一个半径值,即进行半径补偿。
图(4-10)刀具半径补偿
a)外轮廓b)内轮廓
(2)刀具半径补偿的方法
数控刀具半径补偿就是将刀具中心轨迹过程交由数控系统执行,编程时假设刀具的半径为零,直接根据零件的轮廓形状进行编程,而实际的刀具半径则存放在一个可编程刀具半径偏置寄存器中,在加工工程中,数控系统根据零件程序和刀具半径自动计算出刀具中心轨迹,完成对零件的加工。
当刀具半径发生变化时,不需要修改零件程序,只需修改存放在刀具半径偏置寄存器中的半径值或选用另一个刀具半径偏置寄存器中的刀具半径所对应的刀具即可。
G41指令为刀具半径左补偿(左刀补),G42指令为刀具半径右补偿(右刀补),G40指令为取消刀具半径补偿。
这是一组模态指令,缺省为G40。
使用格式:
说明:
(1)刀具半径补偿G41、G42判别方法,如图(4-11)所示,规定沿着刀具运动方向看,刀具位于工件轮廓(编程轨迹)左边,则为左刀补(G41),反之,为刀具的右刀补(G42)。
图(4-11)刀具半径补偿判别方法
(2)使用刀具半径补偿时必须选择工作平面(G17、G18、G19),如选用工作平面G17指令,当执行G17指令后,刀具半径补偿仅影响X、Y轴移动,而对Z轴没有作用。
(3)当主轴顺时针旋转时,使用G41指令铣削方式为顺铣,反之,使用G42指令铣削方式为逆铣。
而在数控机床为里提高加工表面质量,经常采用顺铣,即G41指令。
(4)建立和取消刀补时,必须与G01或G00指令组合完成,配合G02或G03指令使用,机床会报警,在实际编程时建议使用与G01指令组合。
建立和取消刀补过程如图(4-12)所示,使刀具从无刀具半径补偿状态O点,配合G01指令运动到补偿开始点A,刀具半径补偿建立。
工件轮廓加工完成后,还要取消刀补的过程,即从刀补结束点B,配合G01指令运动到无刀补状态O点。
图(4-12)刀具半径补偿的建立和取消过程
a)左刀补的建立和取消b)右刀补的建立和取消
(3)刀具半径补偿过程中的刀心轨迹
1)外轮廓加工如图(4-13)所示,刀具左补偿加工外轮廓。
编程轨迹为A→B→C,数控系统自动计算刀心轨迹,两轮廓交接处的刀心轨迹常见的有两种。
如图(4-13)a为延长线过度,刀心轨迹为1→2→3→4→5;图(1-3-13)b为圆弧过度,刀心轨迹为1→2→3→4。
图(4-13)外轮廓加工的刀心轨迹
a)延长线过度b)圆弧过度
2)内轮廓加工如图(4-14)所示,刀具右补偿加工内轮廓。
编程轨迹为A→B→C,刀心轨迹有两种,图(4-14)a按理论刀心轨迹移动1→2→3→4,会产生过切现象,损坏工件;图(4-14)b为计算机进行刀具半径补偿处理后的刀心轨迹,1→2→3,无过切现象。
图(4-14)内轮廓的刀心轨迹
a)有过切b)无过切
例1:
加工图(4-15)所示外轮廓,用刀具半径补偿指令编程。
图(4-15)刀具半径补偿加工外轮廓
外轮廓采用刀具半径左补偿,为了提高表面质量,保证零件曲面的平滑过渡,刀具沿零件轮廓延长线切入与切出。
O→A为刀具半径左补偿建立段,A点为沿轮廓延长线切入点,B→O为刀具半径补偿取消段,B点为沿轮廓延长线切出点。
数控程序如下:
O1:
G90G54G00Z100.0S800M03;
X0Y0;
Z5.0;
G01Z-5.0F100;
G41X5.0Y3.0F120D31;
Y25.0;
X10.0Y35.0;
X15.0;
G03X25.0R5.0;
G01X30.0;
G02X35.0Y30.0R5.0;
G01Y13.0;
G03X27.0Y5.0R8.0;
G01X3.0;
G40X0Y0;
G00Z100.0;
M05;
M30;
说明:
1)D代码必须配合G41或G42指令使用,D代码应与G41或G42指令在同一程序段给出,或者可以在G41或G42指令之前给出,但不得在G41或G42指令之后;
2)D代码是刀具半径补偿号,其具体数值在加工或试运行之前以设定在刀具半径补偿存储器中;
3)D代码是模态代码,具有继承性。
例2:
加工图(4-16)所示零件凹槽的内轮廓,采用刀具半径补偿指令进行编程。
图(4-16)刀具半径补偿加工内轮廓
内轮廓加工采用刀具半径右刀补偿,为了提高表面质量,刀具沿一过渡圆弧切入与切出,保证零件曲面的平滑过渡。
O→A为刀具半径右补偿建立段,A→P为沿圆弧切线切入段,P→B为沿圆弧切线切出,P点为切入与切出点,B→O为刀具半径补偿取消段。
数控程序如下:
O2;
G90G54G00Z100.0S800M03;
X0Y0;
Z5.0;
G01Z-5.0F100;
G42X6.0Y-6.0F120D31;
G03X0Y-12.0R6.0;
G01X-8.0;
G03X-13.0Y-8.0R5.0;
G01Y8.0;
G03X-1.0R6.0;
G01Y5.0;
X1.0;
Y8.0;
G03X13.0R6.0;
G01Y-8.0;
G03X8.0Y-12.0R5.0;
G01X0;
G03X-6.0Y-6.0R6.0;
G01G40X0Y0;
G00Z100.0;
M05;
M30;
(4)刀具半径补偿功能的应用
1)直接按零件轮廓尺寸进行编程,避免计算刀心轨迹坐标,简化数控程序的编制。
2)刀具因磨损、重磨、换新刀而引直径变化后,不必修改程序,只需在刀具半径补偿参数设置中输入变化后的刀具半径。
如图(4-17)所示,1为未磨损刀具半径为
,2为磨损后刀具半径为
,刀具磨损量为
,即刀具实际加工轮廓与理论轮廓相差△值。
在实际加工中,只需将刀具半径补偿参数设置表中的刀具半径
改为
值,即可适用同一加工程序。
图(4-17)刀具直径变化,加工程序不变图(4-18)利用刀具半径半径补偿进行粗精加工
1—未磨损刀具2—磨损后刀具1—粗加工刀心位置2—精加工刀心位置
3)利用刀具半径补偿实现同一程序、同一刀具进行粗、精加工及尺寸精度控制。
粗加工刀具半径补偿=刀具半径补+精加工余量,精加工刀具半径补偿=刀具半径+修正量。
如图(4-18)所示,刀具半径r,精加工余量为△;粗加工时,输入刀具半径补偿值为D=r+△,则加工轨迹为中心线轮廓;精加工时,若测得粗加工时工件尺寸为
,而理论尺寸应为
,故尺寸变化量为
,则将粗加工时的刀具半径补偿值
,改为
,即可保证轮廓
的尺寸精度。
图中
为粗加工时的刀心位置,
为修改刀补值后的刀心位置。
(5)使用刀具半径补偿常见的过切现象
1)在指定平面G54~G59(如XY平面)内的半径补偿,若有另一坐标轴(Z轴)移动。
如图(4-19)所示,刀具起始点O点,高度为100mm处,加工轮廓深度为10mm,刀具半径补偿在起始点处开始,若接近工件及切削工件时有Z轴移动,将会出现过切现象,以下为过切程序实例:
图(4-19)半径补偿的过切现象
O3;
N1G90G54G17G00Z100.0S1000M03;
N2X0.Y0.;
N3G41X40.0Y20.0D31;
N4Z5.0;
N5G01Z-10.0F100;(连续两句Z轴移动)
N6Y80.0;
N7X80.0;
N8Y40.0;
N9X20.0;
N10G00Z100.0;
N11G40X0Y0;
N12M05;
N13M30;
说明:
在补偿模式下,机床只能预读两句以确定目的位置,程序中N4、N5都为连续两句Z轴移动,没有XY轴移动,机床没法判断下一步补偿的矢量方向,这时机床不会报警,补偿照常进行,只是N3目的点发生变化。
刀具中心将会运动到P1点,其位置是N3目的点与原点连线垂直方向左偏置D31值,于是发生过切现象。
措施:
只需把N3程序段放置在N5程序段之后,就能避免过切现象。
2)加工半径小于刀具半径补偿的内圆弧:
当程序给定的内圆弧半径小于刀具半径补偿时,向圆弧圆心方向的半径补偿将会导致过切,这时机床报警并停止在将要过切语句的起始点上,如图(4-20)a所示,所以只有“过度内圆角R≥刀具半径+加工余量(或修正量)”情况下才可正常切削。
3)被铣削槽底宽小于刀具直径。
如果刀具半径补偿使刀具中心向编程路径反方向运动,将会导致过切。
在这种情况下,机床会报警并停留在该程序段的起始点,图(4-20)b所示。
4)无移动类指令。
在补偿模式下使用无坐标轴移动类指令有可能导致两个或两个以上语句没有坐标移动,出现过切现象。
图(4-20)过切现象
8.孔加工循环指令
孔加工循环指令为摸态指令,一旦某个孔加工循环指令有效,在接