第三章数控铣床编程基础.docx
《第三章数控铣床编程基础.docx》由会员分享,可在线阅读,更多相关《第三章数控铣床编程基础.docx(26页珍藏版)》请在冰豆网上搜索。
第三章数控铣床编程基础
第三章数控铣床编程基础
一.数控铣床的坐标系
1.机床坐标系
数控铣床是以主轴轴线方向为Z轴方向,刀具远离工件的方向为Z轴正方向X轴位于与工件安装面平行的水平面内。
以立式铣床为例,人面对主轴,主轴右侧方向为X轴正方向。
Y轴方向可根据Z.X按右手直角坐标系来判定。
机床原点有两种设置方法。
一种设在机床的最大加工范围下平面的左前角,目前应用最多的是使机床原点与机床参考点重合。
机床启动后,首先要将机床“回零”,即执行手动返回参考点,使各轴都移动到机床原点.在数控系统内部建立一个以机床原点为坐标原点的机床坐标系。
CRT上显示此时主轴端面中心在机床坐标系中的坐标值均为零。
2.工件坐标系
用机床坐标系进行编程很不方便,通常用工件坐标系来编程。
工件坐标系的原点称为工件原点。
也称为工件零点和程序原点。
工件原点的位置是任意的,它是由编程人员在编制程序时根据零件的特点选定的。
在选择工件原点时应遵循的原则:
工件原点应选在零件图的尺寸基准上,这样便于坐标值的计算,并减少错误;对于对于对称的零件,工件原点应选在对称中心上;对于一般零件,工件原点可设在工件外轮廓某一角上;Z轴方向上的工件原点,一般设在工件表面;工件原点应尽量选在精度较高的表面,以提高被加工零件的加工精度。
当工件安装在铣床上进行加工之前,首先必须建立工件坐标系,建立工件坐标系方法有下:
(1)进入手动(JOG)状态,以低速进给使刀具轻微接触工件左侧。
可用一张纸贴在工件表面来回抽动,当刀具逐渐向工件移动,如果感觉抽不动纸,则说明刀具与工件间隙很小了,这时把手动脉冲进给倍率开关旋到10um或1um,利用0.02㎜的塞尺在刀具与工件之间试塞,如果能通过,则把刀具往工件方向移动0.02㎜,直至塞尺通不过为止。
记下此时CRT屏幕上X的坐标值(负值)。
用同样的方法使刀具轻微接触工件前部,记下此时动态坐标Y值(负值)。
然后把X.Y值分别加上刀具半径值,则可得到工件原点在机床坐标系中的坐标值(Xo,Yo)。
(2)使主轴低速旋转或停转,刀具自上而下轻微接触工件上平面(可同样采取上述垫纸的方法),记下动态坐标Z值(负值)。
工件原点坐标值(Xo,Yo,Zo)可由下式计算:
Xo=-︱X︱+R;
Yo=-︱Y︱+R;
Zo=Zo其中R为刀具半径
二.FANUC(OMD)系统的基本编程指令。
1.绝对/增量尺寸编程指令G90/G91
绝对/增量尺寸编程指令G90/G91的程序段格式为:
G90/G91X_Y_Z_
执行G90之后,其后所有程序段中的尺寸均是以工件原点为基准的绝对尺寸。
例如上图,刀具由起始点A直线插补到目标点B,用G90指令编程时程序为:
G90G01X30.0Y60.0F100;
执行G91指令之后,程序段中的尺寸均是以前一个位置为基准的增量尺寸,如用G91指令编程,则程序为:
G91G01X-40.0Y30.0F100;
2坐标平面选择指令G17/G18/G19。
直角坐标系的三个互相垂直的轴X,Y,Z分别构成三个平面,即XY平面、XZ平面、YZ平面。
对于三轴的数控铣床和加工中心,常用这些指令确定机床在哪个平面内进行插补运动。
用G17指令表示在XY平面内加工,用G18指令表示在XZ平面内加工,用G19指令表示在YZ平面内加工
3.快速点定位指令G00
G00指令的程序段格式为:
G00X_Y_Z_;
快快速点定位指令G00命令刀具相对与工件分别以各轴快速移动速度由当前点快速移动到目标点定位。
4.直线插补指令G01
G01指令的程序段格式为:
G01X_Y_Z_F;
直线插补G01指令为刀具相对于工件以F指令的进给速度从当前点向目标点进行直线插补。
G01与F都是续效指令,应用第一个G01指令时,程序中必须含有F指令,若无F指令则认为进给速度为零。
5.圆弧插补指令G02/G03
(1)XY平面内圆弧
程序段格式为:
G17G02/G03X_Y_R_F;
(2)XZ平面内圆弧
程序段格式为:
G18G02/G03X_Z_R_F;
(3)YZ平面内圆弧
程序段格式为:
G19G02/G03Y_Z_R_F
G02表示顺时针圆弧插补;G03表示逆时针圆弧插补。
圆弧的顺逆时针方向即观察者沿垂直于圆弧所在平面的另一个坐标的负方向看去,顺时针方向为G02,逆时针方向为G03。
说明:
1X、Y、Z为圆弧终点坐标值,可以用绝对尺寸,也可以用增量尺寸。
由G90和G91决定。
在增量尺寸方式下X、Y、Z为圆弧终点相对于圆弧起点的增量值。
2R是圆弧半径,当圆弧所对应的圆心角为0°~180°时,R取正值;当心角为180°~360°时,R取负值。
例:
采用G90/G91指令编制图中两段圆弧的加工程序。
①采用G90指令时:
N10G90G00X200.0Y40.0;快速进到A点
N20G03X140.0Y100.0R60.0F200;逆圆插补A→B
N30G02X120.0Y60.0R50.0;顺圆插补B→C
②采用G91指令时:
N10G90G00X200.0Y40.0;
N20G91G03X-60.0Y60.0.0R60.0F200;
N30G02X-20.0Y-40.0R50.0;
6.整圆编程.
上图为一整圆,现设起刀点在坐标原点O,加工时从O快速移动至A逆时针加工整圆。
N10G90G00X50.0Y0;
N15G03I-50.0J0F100;
N20G00X0Y0;
7.暂停指令G04
G04指令的程序段格式为:
G04X_;或G04P_;
G04指令可使刀具做无进给光整加工。
8.米制和英制输入指令G21/G20。
G21和G20指令是两个互相取代的G指令,一般机床出厂时,将米制输入指令G21设定为缺省状态。
在编制加工程序时,可不再指定G21指令;如在程序中使用英制数据时,则必须在程序中设定G20指令。
8.刀具长度补偿指令G43/G44。
G43/G44指令的程序段格式为:
G43(G44)Z_H_;
刀具长度补偿指令一般用于刀具轴向(Z方向)的补偿,它使刀具在Z方向的实际位移量比程序给定值增加或减少一个偏置量。
这样当刀具在长度方向上的尺寸发生变化时,可以在不改变程序的情况下,通过改变偏置量,加工出所要求的工件尺寸。
有了刀具长度补偿功能,编程人员可以在不知道刀具长度的情况下,按假定的标准刀具编程,即编程不必考虑刀具的长度,实际用刀与标准刀长度不一时,可用刀具长度补偿功能进行补偿。
当加工中刀具因磨损、重磨、换新刀而使刀具发生变化时,也可不必修改程序中的坐标值,只要修改刀具参数库中的长度补偿值即可。
其次,如加工一个工件需用几把刀,各刀的长短不一,编程时也不必考虑刀具长短对坐标值的影响。
只要把其中一把刀设为标准刀,其余各刀相对标准刀设置长度补偿值即可。
格式中的Z值是程序中的指令值。
H为补偿功能的代号,它后面的数字是刀具补偿寄存器的地址字,如H01是指01号寄存器,在该寄存器中存放刀具长度的补偿值。
执行G43指令时:
Z实际值=Z指令值+H;
执行G44指令时:
Z实际值=Z指令值-H;
用取消刀具长度补偿指令G49,或用G43(G44)H00也可以撤消补偿指令。
9.刀具半径补偿指令G41/G42
(1)刀具半径补偿的目的
在铣床上进行轮廓加工时,因为铣刀具有一定的半径,所以刀具中心轨迹和工件的轮廓不重合。
若数控装置不具备刀具半径自动补偿功能,则只能按刀具中心轨迹中的点画线进行编程。
其数控计算有时相当复杂,尤其当刀具磨损或换新刀而导致刀具直径变化时,必须重新计算刀心轨迹、修改程序,即繁琐,又不容易保证加工精度。
当数控系统具有刀具半径补偿功能时,编程只需按照工件的轮廓进行。
数控系统可以自动计算刀心轨迹坐标,使刀具偏离工件轮廓一个半径值,进行半径补偿。
(2)刀具半径补偿的方法
在操作面板中输入被补偿刀具的半径补偿量,使其存储在刀具数据库里。
刀具半径补偿的程序段格式为:
G17G41G01X_Y_D_;
G18G42X_Z_H_;
G19G40G00Y_Z_H_;
G41指令为刀具左补偿指令(左刀补),顺着刀具前进的方向看,刀具位于工件轮廓(编程轨迹)的左边,称左刀补,G42指令为刀具右补偿指令(右刀补),,顺着刀具前进方向看,刀具位于工件轮廓(编程轨迹)的右边,称右刀补,G40
指令为取消刀具补偿指令。
例:
图中所表示的AB轮廓线,如用直径为20㎜的立铣刀从O点开始移动,其加工程序为:
N10G90G17G41G00X18.0Y24.0;O→A
N20G02X74.0Y32.0R40.0F180;A→B
N30G40G00X84.0Y0;B→C
N40G00X0;C→A
(3)刀具半径补偿功能的特点
①可直接使用零件的轮廓尺寸进行编程,而不必计算刀具中心轨迹。
3刀具因磨损、重磨、换新刀而引起半径的改变后,不必修改程序,只需在刀具参数设置界面中修改刀具半径补偿量。
4在同一个程序中,利用同一尺寸的刀具,可分别进行粗、精加工。
设刀具半径为R,精加工余量为⊿,粗加工时,输入刀具半径补偿量=R+⊿,则加工出虚线轮廓;精加工时,用同一程序、同一刀具,但输入刀具半径补偿量为R,则加工出实线轮廓。
例加工下图的外轮廓面,用刀具补偿指令编程。
程序:
N10G90G54G00X0Y0Z50.0;建立工件坐标系
N20M03S800;主轴正转,转速
为800转/分
N30G00Z2.0;快进至离工件表
面2㎜
N40G01Z-3.0F100;工作进给到Z-3
N50G41G01X20.0Y14.0H01F100;直线插补到X20.0
Y14.0,刀具半径左补
偿H01=10㎜,进给速
度100㎜/分
N60G01Y62.0F100;加工A→B
N70G02X44.0Y86.0R24.0F100;加工BC圆弧
N80G01X96.0;加工C→D
N90G03X120.0Y62.0R24.0;加工DE圆弧
N100G01Y40.0;加工E→F
N110G01X100.0Y14.0;加工F→G
N120G01X20.0;加工G→A
N130G00G40X0Y0;快进到工件原点,取消刀补
N140G00Z50.0;快速退刀,离开工件表面50㎜
N150M05;主轴停转
N160M30;程序结束
10.选择工件坐标系(零点偏移)指令G54~G59
程序段格式:
G54G90G01/G00X_Y_Z_
编程人员在编写程序时,需要确定工件坐标系与机床坐标系之间的关系。
为了编程方便,系统允许编程人员使用6个特殊的工件坐标系。
这6个工件坐标系可以预先通过CRT/MDI操作面板在参数设置方式下设定,并在程序中用G54~G59来调用它们。
G54~G59实际上是机床坐标系的平移指令。
它将欲设置的工件原点在机床坐标系的坐标值输入到机床的参数设置页面中去,在程序中直接调用即可。
G54~G59设定的工件原点在机床坐标系中的位置是不变的,在系统断电后也不破坏,再次开机仍然有效,并与刀具的当前位置无关,除非再次通过CRT/MDI方式更改。
操作者在安装工件后,测量工件原点相对于机床原点的偏移量,并把工件坐标系在各轴方向上相对于机床坐标系的偏移量,写入工件坐标偏置存储器中,其后系统在执行程序时,就按照工件坐标系中的坐标值来运动了。
11.子程序调用
编程时,为了简化程序编制,当一个工件上有相同或相似的加工内容时,可以把这些重复的程序段单独列出,并按一定的格式编写为子程序。
在执行过程中主程序如果需要某一个子程序,可通过调用指令来调用该子程序来进行编程。
一个子程序也可以调用另外一个子程序,这叫做子程序的嵌套。
一个调用指令可以重复调用一个子程序达999次。
子程序的编写与一般程序基本相同,只是程序结束符为M99,表示子程序结束并返回到调用子程序的主程序中。
调用子程序的格式为:
M98P_;
其中,地址字符P后面跟8位数字,前4位为调用次数,后4位为子程序的编号。
例如:
“M98P00051002”表示调用1002号子程序5次。
综合编程举例
采用调用子程序编程的方法编制图中工件的加工程序,Z轴起刀点在工件上表面50㎜,背吃刀量10㎜
程序(4次调用子程序):
O0001;程序名(主程序)
N10G90G17;采用绝对尺寸编程,选XY平面
N20G54G00X0Y0Z50.0;建立工件坐标系,进刀。
N30S400M03;主轴正转,转速为300转/分
N40M98P0002调用0002子程序。
N50G90G00X50.0Y0;快速运动到C点
N60M98P0002;调用0002子程序
N70G90G00X0Y60.0;快速运动到A点
N80M98P0002;调用0002子程序
N90G90G00X50.0Y60.0;快速运动到B点
N100M98P0002;调用0002子程序
N110G90G00X0Y0;快速退刀回起刀点
N120M05;主轴停转
N130M30;主程序结束
O0002;程序名(子程序)
N10G91G00Z-45.0;采用增量尺寸编程,刀具快速进至离工件上表面5㎜处。
N20G41X20.0Y10.0HO1;采用G41左刀补
N30G01Z-15.0F100;切入工件表面深10㎜
N40Y30.0;外形轮廓加工开始
N50G02X30.0Y0R15.0F100;加工圆弧
N60G01Y-20.0;外形轮廓加工
N70X-40.0;外形轮廓加工
N70G00Z60.0;抬刀至Z=50.0㎜
N80G40G00X-10.0Y-20.0;取消刀补
N90M99;子程序结束
12.孔加工固定循环指令
(1)孔加工固定循环的运动与动作。
对工件进行孔加工时,根据刀具的运动位置可以分为4个平
面:
初始平面、R平面、工件平面、和孔底平面。
在孔加工动作过程中,刀具的运动由6个动作组成:
动作1——快速定位至初始点(用X、Y表示初始点在初始平面中的位置)
动作2——快进至R点(刀具从初始点快速进给到R点)
动作3——孔加工(以切削进给的方式执行孔加工的动作)
动作4——在孔底部的相应动作(包括暂停、主轴准停刀具移位、等动作)
动作5——返回到R点
动作6——快速返回到初始点(孔加工完成后回到初始平面)
为了保证孔加工的加工质量,有的孔加工固定循环指令需
要主轴准停、刀具移位。
下图表示了在孔加工固定循环中刀具的运动与动作,虚线表示快速进给,实线表示切削进给。
①初始平面。
初始平面是为了安全操作而设定的用于刀具定位的平面。
初始平面到零件表面的距离可以任意设定。
②R平面R点的平面又称为参考平面,这个平面表示刀具从快进转为工进的转折位置,R点平面距工件表面的距离主要考虑工件表面形状的变化,一般可取2~5㎜。
③孔底平面。
用Z表示孔底平面的位置,加工通孔时刀具伸出孔底平面一端距离,保证通孔全部加工到位,钻盲孔时应考虑钻头钻尖对孔深的影响。
(2)孔加工固定循环指令的格式。
格式:
G73~G99X_Y_Z_R_Q_P_F_L_;
功能:
孔加工固定循环
说明X_Y_指定要加工孔的位置。
Z_指定孔底平面的距离
R_指定R平面的位置。
Q_在G73或G83指令中定义每次进刀的加工深度,Q是增量值,与G90或G91指令的选择无关。
P_指定刀具在孔底的暂停时间,用整数表示,单位为ms。
F_指定孔加工的切削进给速度。
该指令为续效指令,即使取消了固定循环,在其后的加工程序中仍然有效。
L_指定孔加工的重复次数,如果仅执行一次,则L可以省略。
如果程序中用G90指令,刀具在原来孔的位置上重复加工;如果程序中用G91指令,则用
一个程序段对分布在一条直线上的若干个等距离的孔进行加工。
L仅在被指定的程序段中有效。
固定循环功能表
G代码
孔加工动作(-Z方向
孔底动作
返回方式(+Z方向)
用途
G73
间歇进给
无
快速进给
高速深孔往复排屑
G74
切削进给
暂停→主轴正转
切削进给
攻左螺纹
G76
切削进给
主轴定向停止→刀具移位
快速进给
精镗孔
G80
取消固定循环
G81
切削进给
无
快速进给
钻孔
G82
切削进给
暂停
快速进给
镗沉孔
G83
间歇进给
无
快速进给
深孔往复排屑
G84
切削进给
暂停→主轴反转
快速进给
攻右螺纹
G85
切削进给
无
切削进给
精镗孔
G86
切削进给
主轴停止
快速进给
镗孔
G87
切削进给
主轴停止
快速进给
背镗孔
G88
切削进给
暂停→主轴停止
手动操作
镗孔
G89
切削进给
暂停
切削进给
精镗沉孔
注:
①孔加工方式指令以及指令中Z,R,Q,P等指令都是
续效指令,因此,只要指定了这些指令,在后续的加工中不
必重新设定。
如果仅仅是某一加工数据发生变化,仅修改需
要变化的数据即可。
所以,多孔加工时该指令只需指定一次,
以后的程序段只给孔的位置即可。
②选用绝对坐标方式G90指令,Z表示孔底平面相对坐标
原点的距离,R表示R点平面相对坐标原点的距离;若选用
相对坐标方式G91指令,R表示初始点平面至R点平面的距
离,Z表示R点平面至孔底平面的距离。
(3)各种孔加工方式说明:
①高速深孔往复排屑G73指令。
格式:
G73X_Y_Z_R_Q_F_L_;
孔加工的动作如上图,G73指令用于深孔钻,Z轴方向间
断进给有利于深孔加工过程中的断屑与排屑。
Q为每一次进
给的加工深度(增量值且为负值一般为2~3㎜),图中的退
刀距离“d”由数控系统内部参数设定(一般0.1㎜)。
②深孔往复排屑G83指令。
与G73指令差别之处在于每次
刀具间歇进给后回退到R平面,这种退刀方式排屑畅通,适
应加工深孔。
③钻孔循环G81指令。
格式:
G81X_Y_Z_R_F_L_;本指令用于一般孔钻削
加工的固定循环指令。
(4)孔加工固定循环编程注意事项:
①在使用孔加工固定循环编程时一定要在前面的程序段中
设定M03或M04,使主轴启动
②如果在固定循环程序段中同时指定了M代码(如M05或
M09),则该代码并不是在循环指令执行完成后才被执行,而
是执行完循环指令的第一个动作(X,Y轴向定位)后,即被
执行。
因此,固定循环指令不能和M代码出现在同一个程序
段里。
例如:
G81X100.0Y100.0Z-15.0R5.0F100M30;
③当用G80指令取消了孔加工固定循环后,那些在固定循环
之前的插补模态(如G00,G01,G02,G03)恢复,M05指令
也自动生效(G80指令可使主轴停转)。
④在固定循环中,刀具半径补偿(G41,G42)无效。
刀具长
度补偿(G43,G44)有效。
例加工下图中的5个孔,用G81编程。
加工程序(G90方式):
O0002;
G90G54S200M03;(绝对方式,建立工件坐标系,主轴正转)
G00X0Y0Z100.0;(快速定位于工件原点上方)
G81X10.0Y-10.0Z-25.0R5.0F150;(加工孔1)
Y20.0;(加工孔2)
X20.0Y10.0;(加工孔3)
X30.0;(加工孔4)
X40.0Y30.0;(加工孔5)
G80G00X0Y0;(取消循环,刀具快速返回起点位置)
M30;(程序结束)
三.西门子802D系统的编程指令。
西门子802D系统有许多编程指令的功能,其指令格式与
FANUC系统完全相同,如G00、G01、G90、G91、G17、G18、
G19等。
与FANUC系统有区别的几条编程指令为:
1.圆弧插补指令G02/G03
①用圆弧终点坐标和圆弧半径尺寸进行圆弧插补,程序段格
式为:
G17G02/G03X_Y_CR=_F_
②用圆心坐标和圆弧终点坐标进行圆弧插补,程序段格式
为:
G17G02/G03X_Y_I_J_F_
几点说明:
Ⅰ.X_Y_为圆弧终点坐标值,在G90状态下,X,Y为圆弧
终点的绝对尺寸;在G91状态下,X,Y为圆弧终点相对于圆
弧起点的增量尺寸。
Ⅱ.I_J_为圆心相对于圆弧起点在X,Y轴方向上的增量
尺寸,与G90或G91无关。
Ⅲ.CR是圆弧半径,当圆弧所对应的圆心角为0°~180°
时,CR取正值;当圆心角为180°~360°时,CR取负值。
Ⅳ.由于圆弧插补的默认平面是XY平面,所以对于XY平面
内的圆弧插补,G17可以省略;而对于在XZ和YZ平面的圆
弧插补,G18,G19绝对不可以省略。
2.暂停指令G04
G04指令的程序段格式为:
G04F_或G04S_
在两个程序段之间插入G04指令的程序段,可使刀具作短暂
的无进给的光整加工。
FANUC系统中用字符X或P指令暂停时间,而在西门子802D
系统中,用F指令暂停时间(s),用S指令暂停主轴转数,
当然只有在主轴受控的情况下才有效。
3.米制和英制输入指令G70/G71
FANUC系统中用G20,G21分别指令程序中输入的数据为米制
或英制。
而在西门子系统中则用G70,G71来指令。
出厂时
将米制输入指令G70设定为参数缺省状态。
用米制输入程序
时,可不再指定G70。
但用英制输入程序时,则必须在程序
开始设定工件坐标系之前指定G71。
4.刀具半径补偿指令G41/G42
在铣床上进行轮廓加工时,只要按被加工工件的轮廓曲线
编程,同时在程序中给出刀具半径补偿指令,就可以加工出
具有曲线轮廓的工件,其补偿的原理和方法与FANUC系统相
同。
例:
加工下图的外形轮廓,工件厚8㎜,用刀具半径补偿指令编程。
N1T01D01选用1#刀具,1#刀补
N2G90G17G54G00X5.0Y55.0Z50.0采用绝对尺寸编
程,选XOY平面,刀具
移动到起刀点上方
N3S400M03主轴正转,转速400转/分
N4G00Z5.0快进到离工件表面5㎜处
N5G01Z-10.0F20进刀,切入工件表面深10㎜
N10G41G01X30.0Y60.0F100建立左刀具补偿
N20G01X40.0Y80.0A→B
N30G02X65.0Y55.0CR=50.0B→C
N40G01X95.0C→D
N50G02X110.0Y70.0CR=30.0D→E
N60G01X105.0Y45.0