数控铣床编程指令 4.2.2子程序 1、坐标轴运动(插补)功能指令 (1)点定位指令G00 点定位指令(G00)为刀具以快速移动速度移动到用绝对值指令或增量值指令指定的工件坐标系中的位置。 指令格式:G00X—Y—Z一; 式中X—Y—Z一为目标点坐标。以绝对值指令编程时,刀具移动到终点的坐标值;以增量值指令编程时,指刀具移动的距离,用符号表示方向。 例: 使用G00指令用法如下。如上图4.6所示,刀具由A点快速定位到B点其程序为: G00G90X120.Y60.;(绝对坐标编程) (2)直线插补指令G01 用G01指定直线进给,其作用是指令两个坐标或三个坐标以联动的方式,按指定的进给速度F,从当前所在位置沿直线移动到指令给出的目标位置,插补加工出任意斜率的平面或空间直线。 指令格式:G0lX—Y—Z—F一; 式中X—Y—Z一为目标点坐标。可以用绝对值坐标,也可以用增量坐标。F(mm/min)为刀具移动的速度。加工时进给速度F可以通过CNC的控制面板上的旋钮在(0—120%)之间变化。 程序段G01X10.Y20.Z20.F80.使刀具从当前位置以80mm/min的进给速度沿直线运动到(10,20,20)的位置。 例3:假设当前刀具所在点为X-50.Y-75.,则如下程序段 N1G01X150.Y25.F100; N2X50.Y75.; 将使刀具走出如图4.7所示轨迹。 (3)圆弧插补指令G02和G03 G02表示按指定速度进给的顺时针圆弧插补指令,G03表示按指定速度进给的逆时针圆弧插补指令。顺圆、逆圆的判别方法是:沿着不在圆弧平面内的坐标轴由正方向向负方向看去,顺时针方向为G02,逆时针方向为G03, 程序格式: XY平面: G17G02X~Y~I~J~(R~)F~ G17G03X~Y~I~J~(R~)F~ ZX平面: G18G02X~Z~I~K~(R~)F~ G18G03X~Z~I~K~(R~)F~ YZ平面: G19G02Z~Y~J~K~(R~)F~ G19G03Z~Y~J~K~(R~)F~ 式中X、Y、Z为圆弧终点坐标值,可以用绝对值,也可以用增量值,由G90或G91决定。由I、J、K方式编圆弧时,I、J、K表示圆心相对于圆弧起点在X、Y、Z轴方向上的增量值。若采用圆弧半径方式编程,则R是圆弧半径,当圆弧所对应的圆心角为0~180时,R取正值;当圆心角为180~360时,R取负值。圆心角为180时,R可取正值也可取负值。 应当注意: ①整圆只能用I、J、K来编程。若用半径法以二个半圆相接,其圆度误差会太大。 ②一般CNC铣床开机后,设定为G17。故在XY平面貌一新铣削圆弧时,可省G17。 ③同一程序段同时出现I、J和R时,以R优先。 ④当I0或J0或K0时,可省不写。 例4:如图4.9所示,设刀具起点在原点O→A→B,则有下列程序: N10G90G00X40Y60 N20G02X120R40(绝对坐标编程,用R指令圆心) 或 N20G02X120I40J0(绝对坐标编程,用I、J指令圆心) 例5:如图4.10所示,设刀具起点在A点,A→B→C,则有下列程序:G02X80Y20R-40 设刀具起点在A点,A→C,则有下列程序:G02X80Y20R40 例6:如图4.11所示,加工整圆,则有下列程序:G02I40 2、坐标系设置指令 (1)G92--设置加工坐标系 G92指令是将加工原点设定在相对于刀具起始点的某一空间点上。 指令格式:G92X~Y~Z~ 若程序格式为:G92XaYbZc则将加工原点设定到距刀具起始点距离为X=-a,Y=-b,Z=-c的位置上。 例7:若程序为:G92X50Y50Z10 其确立的加工原点在距离刀具起始点X=-50,Y=-50,Z=-10的位置上,如图4.12所示。 (2)G53指令 当执行G53指令时,刀具移到机床坐标系中坐标值为X、Y、Z的点上。 指令格式:(G90)G53X—Y—Z—; G53是非模态指令,仅在它所在的程序段中和绝对值指令G90时有效,在增量值指令G91时无效。 当刀具要移动到机床上某一预选点(如换刀点)时,则使用该指令。例如: G90G53X5.0Y10.0; 表示将刀具快速移动到机床坐标系中坐标为(5,10)的点上。 注意:当执行G53指令时,应取消刀具半径补偿、刀具长度补偿、刀具位置偏置,机床坐标系必须在G53指令执行前建立,即在电源接通后,至少回过一次参考点(手动或自动)。 (3)G54-G59指令 在机床中,我们可以预置六个工件坐标系,通过在CRT-MDI面板上的操作,设置每一个工件坐标系原点相对于机床坐标系原点的偏移量,然后使用G54~G59指令来选用它们,G54~G59都是模态指令,分别对应1#~6#预置工件坐标系。 G54~G59指令的作用就是将NC所使用的坐标系的原点移动到机床坐标系中坐标值为预置值的点 指令格式:G54(~G59) 该指令执行后,所有坐标值指定的坐标尺寸都是选定的工件加工坐标系中的位置。 例8:如图4.13所示,加工坐标系1(G54)为XOY,加工坐标系2(G55)为X1OY1,刀具从A点切削到B点: G54G01X120Y80 或G55G01X40Y40 4)局部坐标系(G52) G52可以建立一个局部坐标系,局部坐标系相当于G54~G59坐标系的子坐标系。 指令格式:G52X—Y—Z—; 该指令中,X—Y—Z—给出了一个相对于当前G54~G59坐标系的偏移量,也就是说,X—Y—Z—给定了局部坐标系原点在当前G54~G59坐标系中的位置坐标。 取消局部坐标系的方法也非常简单,使用G52X0Y0Z0;即可。 例9:如图4.14所示加工坐标系1(G54)为XOY,局部加工坐标系(G52)为X1OY1,刀具从A点切削到B点: N10G54G01X120Y80 或 N10G54 N20G52X80Y40 N30G01X40Y40 N40G52X0Y0 5)平面选择指令G17、G18、G19 平面选择指令G17、G18、G19分别用来指定程序段中刀具的圆弧插补平面和刀具补偿平面。 G17:选择XY平面; G18:选择ZX平面; G19:选择YZ平面。 一般CNC铣床开机后,设定为G17。 3、坐标尺寸指令 (1)绝对值输入指令G90和增量值输入指令G91 ① G90指令规定在编程时按绝对值方式输入坐标,即移动指令终点的坐标值X、Y、Z都是以工件坐标系坐标原点(程序零点)为基准来计算。 ② G91指令规定在编程时按增量值方式输入坐标,即移动指令终点的坐标值X、Y、Z都是以起始点为基准来计算,再根据终点相对于始点的方向判断正负,与坐标轴同向取正,反向取负。 如图4.15所示,是绝对值指令编程和增量值指令编程的对比。 通过上例,我们可以更好地理解绝对值方式和增量值方式的编程。 (2)极坐标系指令(G15、G16) 坐标值可以用极坐标(半径和角度)输入 指令格式为: G16;极坐标系指令有效。 G15;极坐标系指令取消。 极坐标的平面选择与圆弧插补的平面选样方法相同,使用G17、G18、G19指令。用所选平面的第l轴指令半径,第2轴指令角度。例如,选择XY平面时,地址X指令半径,地址Y指令角度,规定所选平面第1轴(+方向)的逆时针方向为角度的正方向,顺时针方向为角度的负方向。 半径和角度可以用绝对值指令(G90),也可用值指令(G91) ① 当半径用绝对值指令指定时,局部坐标系原点成为极坐标系中心, ② 当半径用增量值指令指定时,当前点成为极坐标系中心 例10:如图4.16所示,设刀具起点在A点,移动轨迹为A→B→C,则 N10G17G90G16 N20G01X100Y60F80(B点) N30G91Y60(C点) N30G15 (3)英制/米制转换(G20、G21) 4、切削用量及进给功能 (1)主轴转速S 主轴转速用S表示,如主轴转速为500r/min,写为S500 S代码是模态的,即转速值给定后始终有效,直到另一个S代码改变模态值。 (2)主轴旋转方向 M03 主轴正转(CW) M04 主轴反转(CCW) M05 主轴停 (3)进给速度和进给量 G94表示进给速度,单位mm/min, G95表示进给量,单位mm/r 进给速度和进给量用F表示。 (4)切削方式(G64) (5)精确停止(G09)及精确停止方式(G61) (6)暂停(G04) 作用:在两个程序段之间产生一段时间的暂停。 格式:G04P-;或G04X-; 地址P或X给定暂停的时间,以秒为单位,范围是0.001~9999.999秒。如果没有P或X,G04在程序中的作用与G09相同。 5、辅助功能 辅助功能代码及其含义辅助功能包括各种支持机床操作的功能,像主轴的启停、程序停止和切削液节门开关等等。 6、刀具补偿 (1)刀具半径补偿指令G40~G42 刀具半径补偿功能是指数控程序按零件的实际轮廓来编写,加工时系统自动偏离轮廓一个刀具半径(称偏置量),生成偏置的刀具中心轨迹。 ① 刀具半径左补偿指令G41和右补偿指令G42。 刀具半径左补偿是指沿着刀具运动方向向前看(假设工件不动),刀具位于零件左侧的刀具半径补偿,指令代码为G41,如图4.19所示。 刀具半径右补偿是指沿刀具运动方向向前看(假设工件不动),刀具位于零件右侧的刀具半径补偿,指令代码为G42,如图4.20所示。 指令格式: G00(G01)G41(G42)X—Y—D一; 式中的X、Y表示刀具移至终点时,轮廓曲线(编程轨迹)上点的坐标值;D为刀具半径补偿寄存器地址字,后面一般用两位数字表示偏置量的代号,偏置量在加工前可用MDI方式输入 为了保证刀具从无半径补偿运动到所希望的刀具半径补偿起始点,必须用一直线程序段G00或C01指令来建立刀具半径补偿。 注意: a.在运用刀具半径补偿后的刀补状态中,如果存在有两段以上的没有移动指令值或存在非指定平面轴的移动指令段,则有可能产生进刀不足或进刀超差。 b. G41、G42与顺铣逆铣的关系。在立式铣床上铣外轮廓时,采M03、G41加工方式为顺铣:铣槽内轮廓时,采用M03、G41加工方式为逆铣。采用G42时相反。 ② 取消刀具半径补偿指令G40 指令格式: G00(G01)G40X—Y—; X、Y值是撤消补偿直线段的终点坐标 下面举例说明。 使用半径为R5mm的刀具加工如图4.23所示的零件,加工深度为5mm,加工程序编制如下: O10 G55G90G01Z40F2000 //进入2号加工坐标系 M03S500 //主轴启动 G01X-50Y0 //到达X,Y坐标起始点 G01Z-5F100 //到达Z坐标起始点 G01G42X-10Y0H01 //建立右偏刀具半径补偿 G01X60Y0 //切入轮廓 G03X80Y20R20 //切削轮廓 G03X40Y60R40 //切削轮廓 G01X0Y40 //切削轮廓 G01X0Y-10 //切出轮廓 G01G40X0Y-40 //撤消刀具半径补偿 G01Z40F2000 //Z坐标退刀 M05 //主轴停 M30 //程序停 2)刀具长度补偿指令G43/G44/G49 (1)功能 指令格式: G43Z_H_;把指定的刀具偏置值加到命令的Z坐标值上,如图4.24所示。 G44Z_H_;把指定的刀具偏置值从命令的Z坐标值上减去,如图4.24所示。 G49Z_;取消刀具偏置值。 (2)举例 例12:如图4.25所示,设H01=0时,用以下程序加工得图示尺寸零件 G54G90G00X30Y-5 G43Z5H01M03S350 G01Z-3F50 G41Y30D01 Y90 X110 Y30 X20 G40X0Y0 G49G0Z100 M05 M30 当H01=-2时,可得图4.26所示。 注意: ①在用G43(G44)H或者用G49命令的指派来省略Z轴移动命令时,,偏置操作就会像G00G91Z0命令指派的那样执行。也就是说,用户应当时常小心谨慎,因为它就像有刀具长度偏置值那样移动。 ②用户除了能够用G49命令来取消刀具长度补偿,还能够用偏置号码H0的设置(G43/G44H0)来获得同样效果。 ③若在刀具长度补偿期间修改偏置号码,先前设置的偏置值会被新近赋予的偏置值替换。 4.2.2子程序 1、子程序的格式 一个子程序应该具有如下格式: 在程序的开始,应该有一个由地址O指定的子程序号,在程序的结尾,返回主程序的指令M99是必不可少的。M99可以不必出现在一个单独的程序段中,作为子程序的结尾,这样的程序段也是可以的: G90G00X0Y100.M99; 2、调用子程序的编程格式M98P~; M98P×××××××; 式中:P――表示子程序调用情况。P后共有8位数字,前四位为调用次数,省略时为调用一次;后四位为所调用的子程序号。 子程序调用指令可以和运动指令出现在同一程序段中: G90G00X?75.Y50.Z53.M98P40035; 该程序段指令X、Y、Z三轴以快速定位进给速度运动到指令位置,然后调用执行4次35号子程序。 3、子程序的执行 子程序的执行举例。 例13: 如图4.26所示,编制图示轮廓的加工程序,设刀具起点距工件上表面50mm,切削深度3mm. 子程序(加工图形1的程序) O10 G41G91G01X30Y-5D01F50 Y5 G02X20I10 X-10I-5 G03X-10I-5 G0Y-5 G40X-30Y5 M99 主程序 O20 G54G90G17M03S600 G0X0Y0 G43G0Z5H01 G01Z-3F50 M98P10(加工图形1) G90Y50 M98P10(加工图形2) G90G49Z50 M05 M30 4、子程序的特殊用法 (1)子程序用P指令返回的地址:M99Pn 在M99返回主程序指令中,我们可以用地址P来指定一个顺序号,当这样的一个M99指令在子程序中被执行时,返回主程序后并不是执行紧接着调用子程序的程序段后的那个程序段,而是转向执行具有地址P指定的顺序号的那个程序段。如下例: (2)自动返回程序头:主程序中执行M99 3)注意: 子程序调用指令M98不能在MDI方式下执行,如果需要单独执行一个子程序,可以在程序编辑方式下编辑如下程序,并在自动运行方式下执行。 ××××; M98P××××; 5、使用子程序的注意事项 (1)主程序中的模态G代码可被子程序中同一组的其他G代码所更改。 (2)最好不要在刀具补偿状态下的主程序中调用子程序,因为当子程序中连续出现二段以上非移动指令或非刀补平面轴运动指令时很容易出现过切等错误 4.2.3图形变换功能 1、比例及镜向功能G51、G50 (1)各轴按相同比例编程 编程格式: G51X~Y~Z~P~ ………… G50 式中: X、Y、Z--比例中心坐标(绝对方式); P--比例系数,最小输入量为0.001,比例系数的范围为:0.001~999.999。该指令以后的移动指令,从比例中心点开始,实际移动量为原数值的P倍。P值对偏移量无影响。 例14:如图4.30所示,起刀点为X10Y-10,编程如下: O0001 //主程序 N100G92X-50Y-40 N110G51X0Y0P2 N120M98P0100 N130G50 N140M30 O0100 //子程序 N10G00G90X0.Y-10.F100 N20G02X0.Y10.I0.J10. N30G01X15.Y0. N40G01X0.Y-10. N50M99 //子程序返回 (2)各轴以不同比例编程 各个轴可以按不同比例来缩小或放大,当给定的比例系数为-1时,可获得镜像加工功能。 编程格式: G51X~Y~Z~I~J~K~ ………… G50 式中: X、Y、Z--比例中心坐标; I、J、K―-对应X、Y、Z轴的比例系数,在±0.001~±9.999范围内。本系统设定I、J、K不能带小数点,比例为1时,应输入1000,并在程序中都应输入,不能省略。 (3)镜像功能 比例系数为-1 再举一例来说明镜像功能的应用。图4.31所示,其中槽深为2mm,比例系数取为+1000或-1000。设刀具起始点在O点,程序如下: 子程序:O9000 N10G00X60Y60 //到三角形左顶点 N20G01Z-2F100 //切入工件 N30G01X100Y60 //切削三角形一边 N40X100Y100 //切削三角形第二边 N50X60Y60 //切削三角形第三边 N60G00Z4 //向上抬刀 N70M99 //子程序结束 主程序:O100 N10G92X0Y0Z10 //建立加工坐标系 N20G90 //选择绝对方式 N30M98P9000 //调用9000号子程序切削1#三角形 N40G51X50Y50I-1000J1000 //以X50Y50为比例中心,以X比例为-1、Y比例为+1开始镜向 N50M98P9000 //调用9000号子程序切削2#三角形 N60G51X50Y50I-1000J-1000//以X50Y50为比例中心,以X比例为-1、Y比例为-1开始镜向 N70M98P9000 //调用9000号子程序切削3#三角形 N80G51X50Y50I1000J-1000//以X50Y50为比例中心,以X比例为+1、Y比例为-1开始镜向 N90M98P9000 //调用9000号子程序切削4#三角形 N100G50 //取消镜向 N110M30 //程序结束 2、坐标系旋转功能G68、G69 该指令可使编程图形按照指定旋转中心及旋转方向旋转一定的角度,G68表示开始坐标系旋转,G69用于撤消旋转功能。 (1)基本编程方法 编程格式:G68X~Y~R~ ...... G69 式中: X、Y——旋转中心的坐标值(可以是X、Y、Z中的任意两个,它们由当前平面选择指令G17、G18、G19中的一个确定)。当X、Y省略时,G68指令认为当前的位置即为旋转中心。 R——旋转角度,逆时针旋转定义为正方向,顺时针旋转定义为负方向。 当程序在绝对方式下时,G68程序段后的第一个程序段必须使用绝对方式移动指令,才能确定旋转中心。如果这一程序段为增量方式移动指令,那么系统将以当前位置为旋转中心,按G68给定的角度旋转坐标。 例16:图4.32所示,编制图示轮廓的加工程序,设刀具起点距工件上表面50mm,切削深度3mm. 子程序(加工图形1的程序) O10 G41G01X30Y-5D01F50 Y0 G02X5 0I10 X40I-5 G03X20I-5 G0Y-5 G40X0Y0 M99 主程序 O20 G54G90G17M03S600 G43G0Z5H01 G01Z-3F50 M98P10(加工图形1) G68X0Y0R45.(旋转45度) M98P10(加工图形2) G68X0Y0R90.(旋转90度) M98P10(加工图形3) G69 G49Z50 M05 M30 (2)坐标系旋转功能与刀具半径补偿功能的关系。旋转平面一定要包含在刀具半径补偿平面内。以图4.33所示为例: N10G92X0Y0 N20G68G90X10Y10R-30 N30G90G42G00X10Y10F100H01 N40G91X20 N50G03Y10I-10J5 N60G01X-20 N70Y-10 N80G40G90X0Y0 N90G69M30 当选用半径为R5的立铣刀时,设置:H01=5。 (3)与比例编程方式的关系 在比例模式时,再执行坐标旋转指令,旋转中心坐标也执行比例操作,但旋转角度不受影响,这时各指令的排列顺序如下: G51…… G68…… …… G41/G42…… …… G40…… G69…… G50…… |
|