控制铣削的指令是编程中最常用的,接下来我们将详细讲述。
1.单位设定G指令
(1)尺寸单位选择G20、G21、G22
指令格式:G20
G21
G22
G20:编程时使用的单位为英制单位。G21:编程时使用的单位为米制单位。G22:编程时使用的单位为脉冲当量。数控系统的默认米制单位即G21。
这三个G代码必须在程序的开头坐标系设定之前用单独的程序段指令,不能在程序中切换。
(2)进给速度单位设定G94、G95
指令格式:G94[F];
G95[F];
使用每分钟进给速度指令G94时,F代码后面的数值直接指令刀具每分钟的进给量。使用每转进给速度指令G95时,F代码后面的数值直接指令主轴每转的进给量。此时,主轴上必须安装位置编码器。
每分钟进给速度(G94)的倍率,可以用机床操作面板上的倍率开关调整。
(3)程序段间过渡方式指令G09、G61、G64、G04
所谓程序段间过渡,是指从前一段程序向后一段程序过渡,即程序段的转接。
由于机床的实际运动滞后于数控系统的运行,当数控系统的下段程序已经启动时,机床的上一段程序的实际运动并未结束,所以在程序段转接时,当上段程序为沿一个坐标轴的移动,下段程序为沿另一个坐标轴的移动时,两轴相交处不能形成尖角,如图5-5所示。
当程序段间过渡有严格要求时,可用过渡方式控制指令。
图5-5 不能尖角过渡
①准停指令G09
指令格式:G09
有准停指令G09的程序段结束时,数控系统待指令进给速度减速到零并进行到位检查,当检查到达指令指定的位置后,系统才进入下个程序段。这样,避免了两个程序段的重叠,从而保证在工件拐角处能切出尖角棱边。
②精确停止指令G61
指令格式:G61
如果程序使用了精确停止指令G61,则在G61后的各个程序段的移动指令都要准确停止在本程序段的终点,然后再继续执行下个程序段。在G61后面的每个切削进给程序段都执行到位检查。
③连续切削方式指令G64
指令格式:G64
如果程序段使用了连续切削方式指令G64,则在该程序段及后面的切削进给程序段中,其终点不再进行减速和到位检查,而是在插补完成后直接进入下一个程序段。但在下列情况下,进给速度减速到零,并执行到位检查:
1)下个程序段为定位指令G00或单方向定位指令G60。
2)下个程序段含有准停指令G09。
3)下个程序段没有移动指令。
④暂停指令G04
指令格式:G04P
G04X
如果程序段使用了暂停指令G04,则在该程序段的进给速度降到零时开始暂停动作,使刀具作短暂停留,以获得圆整而光滑的表面。暂停时间由P或X后面的数值确定。
P的单位为ms,X的单位为s。需要注意的是:G04仅在其被规定的程序段中有效。
2.坐标设定G指令
加工零件的编程是在工件坐标系内进行的。因此,设定工件坐标对编程有着极其重要的作用。工件坐标系常用下述两种方法设定:
图5-6 工件坐标系的设定
(1)工件坐标系设定指令G92
指令格式:G92X Y Z
式中,X、Y、Z后面的值为刀具所在的位置到工件坐标系原点的有向距离。由于工件坐标系的原点一旦选定后是不变的,因此在执行G92指令时,刀具应移到G92指令后面的X值、Y值和Z值所规定的位置,即刀具应在对刀点上。若刀具当前点不在对刀点上,则加工原点与程序原点不重合,加工出的产品就有误差或报废,甚至出现危险。
例如,如图5-6所示工件坐标系的设定,程序段为F92X40Y80Z100,执行此程序段只是在工件坐标系中确定了刀具起点相对于程序原点的位置,刀具并不产生运动。执行此程序段之前必须保证刀具在对刀点上。
G92指令需要后续坐标值指定刀具当前点在工件坐标系中的位置,因此必须用一个单独的程序段。G92指令段一般放在一个零件程序的首段。
(2)工作坐标系指令格式:G54~G59
G54~G59为六个工件坐标系如图5-7所示。
图5-7 G54~G59工件坐标系
这六个工件坐标系的原点值,是机床原点到各个坐标系原点的有向距离。这六个工件坐标系的原点在机床坐标系中的坐标值可用MDI方式输入,数控系统自动记忆。例如:选择G54作为工件坐标系,编程时用指令G54,而G54坐标系原点的值可通过对刀时用MDI方式输入到数控系统中。
在G54~G59中,工件坐标系一旦选定,工件上各点的值均通过工件坐标系原点与机床坐标系建立起联系,零件程序与工件的位置无关,也与刀具的位置无关。更换工件时可省去重复对刀,也不需要修改程序。
(3)局部坐标系设定指令G52
指令格式:G52X Y Z
G52后面的坐标值为局部坐标系的原点在工件坐标系中的坐标值,如图5-8所示。编程时,若对某部分图形用一个坐标系来描述更简单,即可用局部坐标系设定指令G52。
G52指令能在所有的工件坐标系(G54~G59)内形成子坐标系。含有G52指令的程序段中,绝对值编程(G90)时的移动指令就是在该局部坐标系中的坐标值。G52指令仅在其被规定的程序段中有效。
在工件坐标系内若要变更局部坐标系,可用G52指令在工件坐标系中设定新的局部坐标系原点。
在缩放及坐标系旋转状态下,不能使用G52指令,但在G52指令后能进行缩放及坐标系旋转。
图5-8 局部坐标系
(4)机床坐标系编程指令G53
指令格式:G53
G53是机床坐标系编程指令,在含有G53的程序段中,绝对值编程时的指令值是工件在机床坐标系中的坐标值。也就是把工件各点值取为机床坐标系中的坐标值。只用一个机床坐标系来编程和加工。
3.坐标值编程G90、G91指令
(1)绝对值编程G90
指令格式:G90X Y Z
(2)相对值编程G91
指令格式:G91X Y Z
绝对值编程指令G90后面的编程坐标值,都是相对于工件坐标系原点的编程坐标轴上的坐标值,用该坐标轴和其后的坐标值表示,如G90X30Y30Z40等,如图5-9所示。
相对值编程指令G91后面的编程值,都是当前编程点相对于一个编程点的编程坐标上的增量值。也可用U表示X轴方向的增量值;用V表示Y轴方向的增量值;用W表示Z轴方向的增量值。如G91U30V30W50等,如图5-10所示。注意:执行此程序段时,与刀具是否移动无关。
图5-9 绝对值编程G90
图5-10 相对值编程G91
4.坐标平面选择G指令
数控系统的圆弧插补和刀具半径补偿都是在坐标平面中进行的,因此,在加工前,必须选择坐标平面。
指令格式:G17
G18
G19
G17选择XY平面,G18选择XZ平面,G19选择YZ平面,如图5-11所示。坐标平面选择指令只是决定了程序段中的坐标轴的地址,不影响移动指令的执行。例如在规定了G17G01Z时,Z轴不在XY平面上,Z轴照样会移动,移动指令的执行与坐标平面的选择无关。
机床通电时为G17状态,G17、G18、G19可相互注销。
图5-11 坐标平面选择指令G17、G18、G19
5.定位G指令
(1)快速定位指令G00
指令格式:G00X(U)Y(V)Z(W)
G00指令用于刀具的快速定位。执行G00指令,刀具以快速进给的速度移动到指令中X(U)、Y(V)、Z(W)值指定的位置。由于是快速,故只用于空行程。它的移动轨迹可以是直线,也可以是按各轴各自的快速进给速度移动,这时合成的轨迹通常为折线。
G00指令着眼于刀具快速移动后的刀具位置,对于刀具在快速移动前的位置没有要求,因此,在使用G00指令时,要防止刀具在移动过程中与工件发生碰撞。
需要注意的是G00指令中的快速移动速度由机床参数对各轴分别设定,不能用F规定。
G00指令一般用于加工前的快速定位或加工后的快速退刀。
【例5-1】G00指令应用于快速定位,如图5-12所示。
在图5-12中,设A点坐标为(30,30,20),B点坐标为(60,60,50),C点坐标为(90,90,80),A点为刀具的快速定位点。
当刀具在B点时,执行程序段G90G00X30Y30Z20,刀具由B点快速到达A点。执行程序段G91G00U-30V-30W-30,刀具同样由B点快速到达A点。
当刀具在C点时,执行程序段G90G00X30Y30Z20,刀具由C点快速到达A点。执行程序段G91G00U-60V-60W-60,刀具同样由C点快速到达A点。
图5-12 快速定位G00
【例5-2】G00指令应用于快速退刀,如图5-13所示。
在图5-13中,设A点坐标为(30,30,20),B点坐标为(60,60,50),C点坐标为(90,90,80)。
当刀具在A点,B点为快速退刀点时,执行程序段G90G00X60Y60Z50,刀具由A点快速到达B点。执行程序段G91G00U30V30W30,刀具同样由A点快速到达B点。
当刀具在A点,C点为快速退刀点时,执行程序段G90G00X90Y90Z80,刀具由A点快速到达C点。执行程序段G91G00U60V60W60,刀具同样由A点快速到达C点。
图5-13 快速退刀G00
(2)单方向定位指令G60
指令格式G60X(U)Y(V)Z(W)
指令中的坐标值为单方向定位终点的坐标值。在G90程序段中的X、Y、Z为定位终点在工件坐标系中的坐标值。在G91程序段中的U、V、W为定位终点相对于刀具当前点的位移量。
在单方向定位时,每一轴的定位方向是由机床参数确定的。执行G60指令时,刀具先以G60的速度快速定位到一个中间点,然后以一个固定速度移动到定位终点。中间点与定位终点的距离是一常量,由机床参数决定,且从中间点到定位终点的方向即为单方向定位指令G60的定位方向。
需要注意的是,G60指令仅在其被规定的程序段中有效。
(3)自动返回到参考点指令G28
指令格式:G28X(U)Y(V)Z(W)
使用G28指令时,先要选定中间点。G28指令中的X(U)、Y(V)、Z(W)值是选定的中间点在工件坐标系中的值,不是机床参考点的值。G28指令可以用绝对值指令或增量值指令编程,被指令的中间点坐标值储存在存储器中。编程时一般选换刀点作为中间点。
G28指令的动作如图5-14所示。G28指令的轴,从A点以快速进给速度定位到中间点B,即动作①,然后再以快速进给速度定位到参考点C,即动作②。如果没有机械锁紧,它的参考点返回指示灯不亮。
这个指令一般在换刀时使用,在执行该指令之前应取消刀具半径补偿。
在G28的程序段中不仅产生坐标轨的移动指令,而且记忆了中间点的坐标值,以供G29指令使用。电源接通后,在手动返回参考点的状态下,指定G28时,从中间点自动返回到参考点,与手动返回参考点相同。这时从中间点到参考点的方向就是机床参数“回参考点方向”设定的方向。G28指令仅在其规定的程序段中有效。
图5-14 G28、G29指令的动作
(4)自动从参考点返回指令G29
指令格式:G29X(U)Y(V)Z(W)
使用G29指令时,要先选定目标点。G29指令中的X(U)、Y(V)、Z(W)值是选定的目标点在工件坐标系中的值,可以用绝对值指令或增量值指令。通常G29指令紧跟在G28指令之后。G29指令中的目标点一般是下段程序的切削起点。
G29指令执行时,刀具从机床参考点C出发,快速到达G28指令的中间点B定位,如图5-14中的动作③,然后到达G29指令的目标点D,即动作④。
目标点若为增量值指令时,其值为从中间点到目标点的增量值。由于中间点到参考点的行向距离被系统储存在存储器中,故在程序中不必指令从中间点到参考点的移动量。
6.子程序调用指令M98、M99
数控铣床程序的编写也可采用主、子程序的形式。数控系统按主程序的指令运行,但在主程序中遇见调用子程序的指令时,数控系统将开始按子程序的指令运行;在子程序中遇见调用结束指令时,自动返回到调用该子程序的主程序,并重新按主程序的指令运行。
编程时,对程序中有一些顺序固定或反复出现的加工图形,可将其写成子程序,然后由主程序来调用,这样可以极大地简化整个程序的编写。
(1)子程序调用指令M98
指令格式:M98P L
M98指令中的P后面跟的是被调用的子程序号,而L后面跟的是调用该子程序的次数(默认值为1)。主、子程序的调用关系如图5-15所示。
图5-15 主、子程序的调用关系
在编写程序时,主、子程序必须写在同一个文件中,并以字母“O”开头,以“O****”单独作为程序的一个行书写。子程序中还可以再调用其他子程序,即可多重嵌套调用。
(2)子程序结束指令M99
M99的功能就是在子程序中结束子程序的运行并使数控系统返回到调用该子程序的主程序中,重新按主程序的指令运行。每个子程序的最后一条指令必须是M99作程序的结束行,一个子程序可被主程序多次调用。
需要注意的是,在MDI方式下,使用子程序调用指令是无效的。
7.铣削G指令的编程与加工
(1)直线切削指令G01
指令格式:G01X(U)Y(U)Z(W)F
G01指令中的X(U)、Y(V)、Z(W)值是直线切削终点的值。用绝对值编程时是切削终点在工件坐标系中的坐标值;用增量值编程时是切削终点相对于切削起点的增量值。F为进给量。
G01指令刀具以联动的方式,按F规定的进给量,从当前位置按直线路径切削到程序段指令值所指定的终点。如果没有指令进给量,就认为进给量为零。
【例5-3】G01绝对值编程,如图5-16所示。
图5-16 G01绝对值编程
在图5-16中,设A点坐标为(30,30,20),B点坐标为(60,60,50),C点坐标为(90,90,80),D点坐标为(40,55,70),E点坐标为(55,10,60)。
A点为直线切削终点,是G01编程的目标点。
当刀具在B点时,执行程序段G90G01X30Y30Z20,刀具由B点到达A点。
当刀具在C点时,执行程序段G90G01X30Y30Z20,刀具由C点到达A点。
当刀具在D点时,执行程序段G90G01X30Y30Z20,刀具由D点到达A点。
当刀具在E点时,执行程序段G90G01X30Y30Z20,刀具由E点到达A点。
【例5-4】G01增量值编程,如图5-16所示。
在图5-16中,设已知A、B、C、D、E点的坐标。A点为直线切削终点,是G01编程的目标点。(www.xing528.com)
在刀具在B点时,执行程序段G91G01U-30V-30W-30,刀具由B点到达A点。
在刀具在C点时,执行程序段G91G01U-60V-60W-60,刀具由C点到达A点。
在刀具在D点时,执行程序段G91G01U-10V-25W-50,刀具由D点到达A点。
在刀具在E点时,执行程序段G91G01U-25V20W-40,刀具由E点到达A点。
【例5-5】G01混合值编程。
在图5-16中,设已知A、B、C、D、E点的坐标。A点为直线切削终点,是G01编程的目标点。
当刀具在B点时,执行程序段G90G01X30Y30Z20,刀具由B点到达A点。
当刀具在B点时,执行程序段G91G01X-30Y-30Z-30,刀具同样由B点到达A点。
当刀具在C点时,执行程序段G90G01X30Y30Z20,刀具由C点到达A点。
当刀具在C点时,执行程序段G91G01X-60Y-60Z-60,刀具同样由C点到达A点。
当刀具在D点时,执行程序段G90G01X30Y30Z20,刀具由D点到达A点。
当刀具在D点时,执行程序段G91G01X-10Y-25Z-50,刀具同样由D点到达A点。
当刀具在E点时,执行程序段G90G01X30Y30Z20,刀具由E点到达A点。
当刀具在E点时,执行程序段G91G01X-25Y20Z-40,刀具同样由E点到达A点。
(2)圆弧切削指令G02或G03
指令格式:
在XY平面内的圆弧:G17G02X(U)Y(V)I J F
G17G02X(U)Y(V)R F
G17G03X(U)Y(V)I J F
G17G03X(U)Y(V)R F
在XZ平面内的圆弧:G18G02X(U)Z(W)I J F
G18G02X(U)Z(W)R F
G18G03X(U)Z(W)I J F
G18G03X(U)Z(W)R F
在YZ平面内的圆弧:G19G02Y(V)Z(W)J K F
G19G02Y(V)Z(W)R F
G19G03Y(V)Z(W)J K F
G19G03Y(V)Z(W)R F
①切削方向
G02为顺时针圆弧切削方向;G03为逆时针圆弧切削方向。
切削方向的判别方法是:从坐标平面垂直轴的正方向往负方向看,坐标平面上的圆弧从起点到终点的移动方向是顺时针方向用G02编程;是逆时针方向用G03编程,如图5-17所示。
②终点位置
X(U)、Y(V)、Z(W)中的两轴,G17时为X、Y,G18时为X、Z,G19时为Y、Z,其值是圆弧切削终点的值。用绝对值指令是圆弧终点在工件坐标系中的坐标值;用增量值指令是圆弧终点相对于圆弧起点的增量值。当圆弧终点和起点的一个坐标值相同时,在指令中可以省略这个相同的坐标值;当圆弧终点和起点的两个坐标值相同,即整圆时,两个坐标值都可以省略。
图5-17 G02/G03圆弧切削方向
③圆弧的圆心
a.用I、J、K指令圆弧的圆心
如图5-18所示,G17时为I、J,G18时为I、K,G19时为J、K,其值为增量值,即是圆心相对于圆弧的起点的坐标增量值。I、J、K始终为增量值,与X、Y、Z值是否是增量值无关。
图5-18 I、J、K指令圆弧的圆心
b.用半径R指令圆弧的圆心
过起点和终点的圆弧可以有两个,即小于180°的圆弧和大于180°的圆弧。如图5-19所示,为了区分是指令哪个圆弧,对小于180°的圆弧,半径R用正值表示;对大于180°的圆弧,半径R用负值表示;对等于180°的圆弧,半径R用正值或负值均可。
【例5-6】半径R指令圆弧的圆心编程,如图5-19所示。
图5-19 半径R指令圆弧的圆心
在图5-19中,对于圆心为O的圆弧,用G90编程时,G90G02X0Y30R30F100;用G91编程时,G91G02X30Y30R30F100。
对于圆心为01的圆弧,用G90编程时,G90G02X0Y30R-30F100;用G91编程时,G91G02X30Y30R-30F100。
c.整圆的圆心
切削整圆时,由于整圆的终点坐标与起点坐标重合,若用半径R指令圆心,则刀具不移动,即0°的圆弧。此时,必须用I、J或K指令整圆的圆心,如图5-20所示。
【例5-7】整圆编程。在图5-20中,整圆01的圆心为(-30,30),以A点为整圆的切削起点和切削终点,按顺时针方向切削,则:I=0,J=-30。
用G90编程有:G90G02X-30Y0R-30F100或G90G02J-30F100。
用G91编程有:G91G02X0Y0I0J-30F100或G91G02J-30F100。
若I、J或K与R同时指令圆心时,R有效,I、J或K无效。
图5-20 整圆的圆心
F为被编程的两个坐标轴的合成进给速度。它是沿圆弧切线方向的速度,单位为mm/min。
(3)圆弧切削指令编程举例
【例5-8】圆弧加工综合编程,如图5-21所示。
图5-21 圆弧加工综合编程
在图5-21中,AB、BC、CD、DA四段圆弧半径均为30mm。按A→B→C→D→A方向切削,绝对坐标编程时的参考程序如下:
按A→B→C→D→A方向切削,相对坐标编程时的参考程序如下:
【例5-9】平面轮廓零件编程,如图5-22所示。
在图5-22中,按A→B→C→D→E→A方向切削,绝对坐标编程时的参考程序如下:
图5-22 平面轮廓零件编程
按A→B→C→D→E→A方向切削,相对坐标编程时的参考程序如下:
(4)螺旋线插补指令G02或G03
指令格式:G17(G02/G03)X Y(R/I J)Z F
G18(G02/G03)X Z(R/I K)Y F
G19(G02/G03)Y Z(R/J K)X F
图5-23 螺旋线切削编程
在圆弧插补的同时,指令垂直于插补平面的轴移动一个距离,即是螺旋线插补。垂直轴的值是垂直轴作直线移动的终点坐标。
【例5-10】螺旋线切削编程,如图5-23所示。
在图5-23中,按A→B方向切削,绝对坐标编程时的参考程序如下:
在图5-23中,按A→B方向切削,相对坐标编程时的参考程序如下:
(5)倒角加工指令
①相邻直线间的倒角指令
指令格式举例:G17G01X(U)Y(V)C
该指令用于加工两条相邻直线间的倒角,如图5-24所示。
指令中的X(U)、Y(V)值,在绝对值编程时为没倒角前两条相邻直线的交点G的坐标值;在增量值编程时为交点G到先期加工的直线的起点A的增量值。
指令中的C值为倒角终点相对于两条相邻直线的交点G的距离。实际上,C就是倒角的边长。
图5-24 相邻直线间的倒角加工
【例5-11】相邻直线间的倒角加工绝对坐标编程。在图5-24中,按A→B→D→E→A方向切削,绝对坐标编程时的参考程序如下:
在图5-24中,按A→B→D→E→A方向切削,相对坐标编程时的参考程序如下:
②直线后倒圆(角)指令
指令格式举例:G17G01X(U)Y(V)R
该指令用于加工两条相邻直线间倒圆(角),如图5-25所示。
指令中的X(U)、Y(V)值,在绝对值编程时为没倒角前两条相邻直线的交点G的坐标值;在增量值编程时为交点G到先期加工的直线的起点A的增量值。指令小的R值为倒圆角的半径值。
【例5-12】相邻直线间的倒圆加工绝对值编程。在图5-25中,按A→B→D→E→A方向切削,绝对坐标编程时的参考程序如下:
图5-25 相邻直线间的倒圆加工
在图5-25中,按A→B→D→E→A方向切削,相对坐标编程时的参考程序如下:
③圆弧后倒(直线)角指令
指令格式举例:G17G02X(U) Y(V) R RL
G17G03X(U) Y(V) R RL
若圆弧与直线相交,交点在G点,加工时先加工圆弧,后加工直线,用该指令在圆弧和直线之间插入倒角加工,如图5-26所示。
指令中的X(U)、Y(V)值,在绝对值编程时为先加工的圆弧和后加工的直线的交点G的坐标值;在增量值编程时为交点G到先期加工的圆弧的起点A的增量值。指令中的R值为先加工圆弧的半径值。指令中的RL值为倒角终点D到圆弧与直线的交点G的距离,实际上是直线倒角的边长。
图5-26 圆弧后倒角加工
【例5-13】圆弧后倒角加工绝对值编程。在图5-26中,按A→B→D→E→A方向切削,绝对坐标编程时的参考程序如下:
O4150;
%4150;
G17G54;
在图5-26中,按A→B→D→E→A方向切削,相对坐标编程时的参考程序如下:
④圆弧后倒圆角指令
指令格式举例:G17G02X(U) Y(V) R RC
G17G03X(U) Y(V) R RC
若圆弧与直线相交,交点在G点,加工时先加工圆弧,后加工直线,用该指令在圆弧和直线之间插入倒圆角加工,如图5-27所示。
图5-27 圆弧后倒圆角加工
指令中的X(U)、Y(V)值,在绝对值编程时为先加工的圆弧和后加工的直线的交点G的坐标值;在增量值编程时为交点G到先期加工的圆弧的起点A的增量值。指令中的R值为先加工圆弧的半径值。指令中的RC值为倒圆角的半径值。
【例5-14】圆弧后倒圆角加工绝对值编程。在图5-27中,按A→B→D→E→A方向切削,绝对坐标编程时的参考程序如下:
在图5-27中,按A→B→D→E→A方向切削,相对坐标编程时的参考程序如下:
图5-28 倒角加工综合举例
【例5-15】倒角加工绝对编程综合举例。
在图5-28中,按A→B→D→E→F→H→M→N→A方向切削,绝对坐标编程时的参考程序如下:
在图5-28中,按A→B→D→E→F→H→M→N→A方向切削,相对坐标编程时的参考程序如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。