1、一、一、数控铣削加工程序内容与编程方法数控铣削加工程序内容与编程方法 1.1.程序的内容程序的内容(1)加工工艺分析编程人员首先要根据零件图样,对零件的材料、形状、尺寸、精度和热处理工艺要求等进行加工工艺分析。然后合理地选择加工方案,确定加工顺序、加工路线、装夹方式、刀具及切削参数等,同时还要考虑所用数控铣床的指令功能。(2)数值计算首先,应根据零件图样确定工艺路线及设定坐标系。然后计算零件粗、精加工运动的轨迹,得到刀位数据。对于形状比较简单的零件(如直线和圆弧组成的零件),进行轮廓加工前,要计算出几何元素的起点、终点、圆弧的圆心以及两几何元素的交点或切点的坐标值,有的还要计算刀具中心的运动轨
2、迹坐标值。对于形状比较复杂的零件(如非圆曲线、曲面组成的零件),需要用直线段或圆弧段逼近,根据加工精度的要求计算出节点坐标值,这种数值计算一般要用计算机来完成。(3)编写零件加工程序单加工路线、工艺参数及刀位数据确定以后,编程人员要根据数控系统规定的功能指令代码及程序段格式,逐段编写加工程序单。此外,还应附上必要的加工示意图、刀具布置图、机床调整卡、工序卡以及必要的说明。(4)程序输入编程人员可以利用控制器键盘将程序输入到计算机中。具有通信控制功能的数控铣床,程序可以由计算机接口传送,直接从服务器上下载程序。(5)程序校验及首件试切编写的程序必须经过校验和试切才能正式使用。校验的方法是将程序输
3、入到数控装置中,让铣床空运转,以检查刀具的运动轨迹是否正确。在有图形显示功能的数控铣床上,用模拟刀具与工件切削过程的方法进行检验更为方便。但这些方法只能检验运动是否正确,不能检验被加工零件的加工精度。因此,要进行零件的首件试切。当发现有加工误差时,应分析误差产生的原因,找出问题所在,并加以修正。图2-1的框图表示整个数控编程的内容及步骤。2.2.编程方法编程方法 (1)手工编程手工编程就是从分析零件图样、确定加工工艺过程、数值计算、编写零件加工程序单、程序输入到程序校验都是由人工完成。加工形状简单、计算量小、程序不多的零件时,采用手工编程较容易,而且经济、及时。因此,在点位加工或由直线与圆弧组
4、成的轮廓加工中,手工编程仍广泛应用。对于形状复杂的零件,特别是由非圆曲线、列表曲线及曲面组成的零件,用手工编程就有一定的困难,出错的概率增大,有时甚至无法编出程序。此时就必须用自动编程的方法编制程序.(2)自动编程自动编程是利用计算机专用软件编制数控加工程序的过程。编程人员只需根据零件图样的要求,使用数控语言,由计算机自动地进行数值计算及后置处理,编写出零件加工程序单。加工程序通过直接通信的方式送入数控铣床,控制铣床工作。自动编程使得一些计算繁琐、手工编程困难或无法编出的程序能够顺利地完成。二、数控铣削加工程序结构及程序段格式二、数控铣削加工程序结构及程序段格式 1.1.数控铣削加工程序结构数
5、控铣削加工程序结构数控加工中,零件加工程序的组成形式因数控系统功能的不同而略有不同。功能较强的数控系统,其加工程序分为主程序和子程序。不论是主程序还是子程序,每一个程序都是由程序号、程序内容和程序结束符三部分组成的。程序的内容由若干程序段组成,程序段由若干字组成,每个字又由字母和数字组成。一般情况下,一个基本的数控程序由以下几个部分组成。(1)程序起始符程序起始符一般为,也有的数控系统采用其他字符,应根据数控机床的操作说明使用。程序起始符单列一行。(2)程序名程序名单列一行。程序名有两种形式:一是以规定的英文字母(通常为O)为首,后面接若干位(通常为2位或4位)的数字,如O0425,也称为程序
6、号;另一种形式是以英文字母、数字和符号“-”混合组成,比较灵活。程序名具体采用何种形式是由数控系统决定的。(3)程序主体程序主体是整个程序的核心,它由多个程序段组成。程序段是数控程序中的一句,单列一行,用于指令机床完成某一个动作。每个程序段又由若干个程序字(Word)组成。每个程序字表示一个功能指令,因此又称为功能字,它由字首及随后的若干个数字组成(如X100)。字首是一个英文字母,称为字的地址,它决定了字的功能类别。一般字的长度和顺序不是固定的。在程序的最后会有程序结束指令,用于停止主轴、切削液和进给,并使控制系统复位。通常以程序结束指令M02或M30作为整个程序的结尾,来结束整个程序。(4
7、)程序结束符程序结束的标记符,一般与程序起始符相同。2.2.数控铣削加工程序段格式数控铣削加工程序段格式程序段格式是指一个程序段中,字、字符、数据的书写规则,通常有字-地址程序段格式、使用分隔符的程序段格式和固定程序段格式。最常用的为字-地址程序段格式。字-地址程序段格式由语句号字、数据字和程序段结束符组成。各字后有地址,字的排列顺序要求并不严格,数据的位数可多可少,不需要的字以及与上一程序段相同的模态代码可以不写。该格式的优点是程序简短、直观以及容易检查和修改。因此,该格式目前被广泛使用。字-地址程序段格式的编排顺序如下:N_G_X_Y_Z_I_J_K_P_Q_R_A_B_C_F_S_T_M
8、;注意:上述程序段中包括的各种指令并非在加工程序的每个程序段中都必须有,而是根据各程序段的具体功能来编入相应的指令。例如,N21 G01 X25 Y-96 F100;。3.3.程序段内各字的说明程序段内各字的说明表示地址的英文字母含义见表2-1。(1)语句号字N语句号用以识别程序段的编号,由字母N和后面的若干位数字组成。例如,N22表示该语句的语句号为22。在编程中,N指令是可以省略的,即可以不对程序的指令单独程序段进行行数的指定。通常,在编程中加入N指令,并将序号的增量定为10,这样可以使程序的编制和检查都比较方便。另外,在需要作更改或插入程序工作单独程序段时,可以在序号间隔范围内增加单独程
9、序段。需要注意的是,数控程序是按程序段的排列次序执行的,与程序段号的大小无关,即程序段号实际上只是程序段的名称,而不是程序段执行的先后次序。(2)准备功能字G准备功能是使数控机床做好某种操作准备的指令,它是控制机床运动的主要功能类别。准备功能由字母G和其后的两位数字表示,从G00G99共100种。目前,有的数控系统也用到0099之外的数字。G代码分为模态代码(又称续效代码)和非模态代码。代码表中按代码的功能进行了分组,标有相同字母(或数字)的为一组,其中00组(或没标字母)的G代码为非模态代码,其余为模态代码。非模态代码只在本程序段有效;模态代码的功能在它被执行后会继续维持,直到被相同组别的代
10、码取代。定义移动的代码通常是模态代码,如直线G00、G01,圆弧G02、G03和循环代码G7、G8。(3)坐标字坐标字由地址码、“”号、“”号及绝对(或增量)数值构成,如X20Y-40。坐标字的“+”可省略。坐标字在程序段中主要用来指令机床刀具运动到达的坐标位置。坐标字地址符常用的尺寸指令有三组:1)A、B、C用来指令到达点的角度坐标。2)X、Y、Z、U、V、W、Q、R用来指令到达点的直线坐标尺寸。3)I、J、K用于指令圆弧轮廓圆心点的坐标尺寸。注意:大部分的机床设置默认单位为1m,即0.001mm,而在坐标值后加上小数点后,其单位为mm。所以,在编程时一定不要忘记坐标值后的小数点。(4)进给
11、速度字F进给功能表示刀具中心运动时的进给速度,由字母F和后面的若干位数字构成。进给的单位一般为mm/min或in/min,mm/r或in/r。例如,F100,表示进给速度为100mm/min。(5)主轴转速功能字S主轴转速功能由字母S和其后面的若干位数字组成。转速的单位为r/min。(6)刀具功能字T刀具功能由字母T和其后面的若干位数字组成。刀具功能的数字是指定的刀具号,数字的位数由所用的系统决定。(7)辅助功能字M辅助功能也叫M功能或M代码,它用来指令数控机床辅助装置的接通和断开(即开关动作),表示铣床各种辅助动作及其状态。辅助功能由字母M和其后面的两位数字组成,共100种(M00M99)。
12、各种机床的M代码的规定不同,因此必须根据说明书的规定进行编程。(8)程序段结束符程序段结束符写在每一程序段之后,表示程序单节结束。用EIA标准代码时,结束符为CR;用ISO标准代码时,为NL或LP;有的用符号“;”或“。”表示,有的直接回车即可。三、小数点输入三、小数点输入 一般的数控系统允许使用小数点输入数值,也可以不用。小数点可用于距离、时间和速度等单位。1)对于距离,小数点的位置单位是mm或in;对于时间,小数点的位置单位是s。例如,X45.0为X(坐标)45mm或45in。F2.65为F2.65mm/r或2.65mm/min(米制);或为F0.65in/r或0.65in/min(英制)
13、。G04X2.0;表示暂停2s。2)程序中有无小数点,含义根本不同。无小数点时,与参数设定的最小输入增量有关。例如,G21X2.0;为X2mm。G21X2;为X0.002mm或0.02mm(因参数设定而异)。G20X2.0;为X2in;G20X2;为X0.0002in或0.002in(因参数设定而异)。3)在程序中,小数点的有无可混合使用。例如,S100Z5.6;X20.0Z426;4)在暂停指令中,小数点输入只允许用于地址X和U,不允许用于地址P。5)最小命令增量以下的值因无效将被舍去。例如,G21X1.23456;则只接受X1.234,0.00056被舍去。G20X1.23456;则只接受
14、X1.2345,0.00006被舍去。当然,有的数控系统没有这种规定,不用小数点时单位也是mm或in。例如,X35为X35mm或35in。四、数控铣床编程规则四、数控铣床编程规则 1.绝对值编程(G90)绝对值编程是根据预先设定的编程原点计算出绝对值坐标尺寸进行编程的方法,即采用绝对值编程时,首先要指出编程原点的位置。书写格式:G90 说明:1)G90编入程序时,其后所有编入的坐标值全部以编程零点为基准。2)系统通电时,机床处在G90状态。用绝对值编制图2-2所示刀具运动轨迹的程序。N0010 G00 Z5.0 T01 M03 S1000;N0020 G00 X0 Y0;N0030 G01 Z
15、1.0 F100;N0040 G90 X10.0 Y20.0;N0050 X15.0 Y40.0;N0060 X30.0 Y60.0;N0070 G00 Z5.0;N0080 X0 Y0;N0090 M02;2.2.增量值编程增量值编程(G91)(G91)增量值编程是根据相对于前一个位置的坐标值增量来表示位置的编程方法,即程序中的终点坐标是相对于起点坐标而言的。书写格式:G91说明:G91编入程序时,以后所有编入的坐标值均以前一个坐标位置作为起始点来计算运动的位置矢量。用增量值编制图2-3所示刀具运动轨迹的程序。N0010 G00 Z5.0 T01 M03 S1000;N0020 G00 X0
16、 Y0;N0030 G01 Z1.0 F300;N0040 G91 X10.0 Y20.0;N0050 X20.0 Y20.0;N0060 X10.0 Y20.0;N0070 X10.0 Y-40.0;N0080 X20.0 Y20.0;N0090 G90 G00 Z5.0;N0100 G00 X0 Y0;N0110 M02;3.3.混合编程混合编程 有的数控系统绝对值编程时,用第一坐标X、Y、Z表示,而不用G90;而增量编程时常使用代码表中的第二坐标U、V、W表示,而不用G91。U、V、W分别与X、Y、Z平行且同向。在这类数控系数中可以用混合编程法编程。绝对值编程与增量值编程混合起来进行编程
17、的方法称为混合编程。用混合编程法编制图2-3所示刀具运行轨迹时,可以编写为:N0010 G00 Z5.0 T01 M03 S1000;N0020 G00 X0 Y0;N0030 G01 Z1.0 F300;N0040 X10.0 Y20.0;N0050 X30.0 V20.0;N0060 U10.0 Y60.0;N0070 U10.0 V40.0;N0080 X70.0 Y0.0;N0090 G00 Z5.0;N0100 X0 Y0;N0110 M02;其中,N0050、N0060的程序编制为混合编程。4.4.笛卡儿坐标编程笛卡儿坐标编程程序中的各点坐标以笛卡儿坐标系的方式给出的编程方法,如以
18、上介绍的编程。5.5.极坐标编程极坐标编程极坐标编程时,以R表示极半径,以A表示极角,如SIEMENS系统。极坐标编程只能描述平面上的坐标点,如图2-4所示,其坐标点的值见表2-2和表2-3。FANUC系统以X表示极半径,以Y表示极角。6.6.柱坐标柱坐标 柱坐标是被定义点在主平面上投影的R、A值和垂直于主平面的轴的直角坐标值,如图2-5所示。当主平面为XY平面时,点P的柱坐标为R15A10Z70。7.7.用一个角度和一个坐标值定义坐标点用一个角度和一个坐标值定义坐标点为减少用户的计算工作,有的数控系统可以用角度值代替一个坐标值。角度的定义是以前一点为起点的线段与横坐标轴间的夹角,如图2-6所
19、示,各点坐标见表2-4。五、主程序和子程序程序分为主程序和子程序,其结构形式见表2-5。五五 主程序和子程序主程序和子程序程序分为主程序和子程序,其结构形式见表2-5 在正常情况下,数控机床是按主程序的指令工作的。当程序段中有调用子程序的指令时,数控机床就按子程序进行工作。当遇到子程序返回到主程序的指令时,机床便返回主程序,继续按主程序的指令进行工作。1.主程序在数控加工过程中,最常用的而且无任何特殊要求的程序就是主程序。例如,图2-7所示的用圆柱铣刀加工近似椭圆槽,该程序仅有主程序。O1013;N1 G92 G90 X0 Y0 Z0;N2 G01 G41 X10.0 Y25.0 D01 F1
20、00;N3 G03 X10.0 Y25.0 R25.0;N4 G01 X10.0 Y-25.0;N5 G03 X 10.0 Y25.0 R25.0;N6 G01 X10.0 Y25.0;N7 G40 X0 Y0;N8 M30;2.2.子程序及其调用子程序及其调用在编制零件加工程序时,经常会遇到某一程序段在一个程序中多次出现,或者在多个程序中出现。这种情况下,可以将这段程序段摘出来,作为子程序进行调用,以简化编程。另外,在一些比较复杂的程序中,也可以将加工内容分割成多个工步,对每一个工步编写一个子程序,而在主程序中只编写调用程序,这样可以方便对程序的理解和检验。主程序执行过程中,如果需要某一个子
21、程序,则可以通过一定格式的子程序调用指令来调用该子程序。子程序执行结束后返回到主程序,继续执行后面的程序段。(1)子程序的编程格式子程序的格式与主程序相同。在子程序的开头编制子程序号,在子程序的结尾用M99指令(有些系统用RET返回)。格式:O;(或、P、%)M99;(2)子程序的调用格式常用的子程序调用格式有以下几种:1)M98P;。P后面的前3位为重复调用次数,省略时为调用一次;后4位为子程序号。2)M98 P L;。P后面的4位为子程序号;L后面的4位为重复调用次数,省略时为调用一次。3)CALL ;。子程序的格式:(SUB)(RET)(3)子程序的嵌套 子程序可以再调用子程序,形成多级
22、调用,最多可以嵌套的层级数量,由具体的数控系统决定,一般可以进行四级嵌套调用。多级调用与单级调用的使用方法一样,子程序在返回时将返回其上一级,如图2-8所示。注意:子程序不能调用主程序,否则会形成无限循环。(4)实例 加工图2-9所示零件,刀具T01为?8mm的键槽铣刀,长度补偿号为H01,半径补偿号为D01,每次Z轴进给为2.5mm。程序为:O100;N0010 G54 G90 G17 G21 G49 T01;N0020 M06;N0030 M03 S800;N0040 G90 G00 X4.5 Y10.0 M08;N0050 G43 G01 Z0 H01;N0060 M98 P110 L4
23、;N0070 G49 G90 G00 Z300.0 M05;N0090 X0 Y0 M09;N0100 M30;O110;N0010 G91 G01 Z2.5 F80;N0020 M98 P120 L4;N0030 G00 X76.0 M99;O120;N0010 G91 G00 X19.0;N0020 G41 G01 X4.5 D01 F80;N0030 Y75.0;N0040 X9.0;N0050 Y75.0;N0060 G40 G01 X4.5 M99;第二节数控铣床坐标系和原点第二节数控铣床坐标系和原点 一、数控铣床坐标系一、数控铣床坐标系 1.数控铣床坐标系的建立原则 1)刀具相对于
24、静止零件运动的原则。不同的数控铣床,其结构不同。有的是刀具运动,零件固定;有的是刀具固定,零件运动。为了编程方便,一律规定为零件固定,刀具运动。2)标准坐标系采用笛卡儿坐标系,如图2-10所示。大拇指的方向为X轴的正方向,食指为Y轴的正方向,中指为Z轴的正方向。这个坐标系的各个坐标轴与铣床的主要导轨相平行。2.2.数控铣床坐标系的建立数控铣床坐标系的建立笛卡儿坐标系规定,坐标X、Y、Z三轴正方向用右手定则判定,围绕X、Y、Z各轴的回转运动及其正方向A、B、C用右手螺旋定则判定,与X、Y、Z、A、B、C相反的方向相应用带“”的X、Y、Z、A、B、C表示。图2-11所示为立式升降台铣床的标准坐标系
25、。图2-11 坐标X、Y、Z又称为主坐标系或第一坐标系。如有第二组坐标和第三组坐标平行于X、Y、Z,则分别指定为U、V、W和 P、Q、R。不论机床的具体结构是工件静止刀具运动,还是工件运动刀具静止,数控机床的坐标运动指的均是刀具相对于工件的运动。图2-12描述了3坐标数控镗铣床(或加工中心)的坐标轴及其运动方向。Z轴为平行于机床主轴的坐标轴。如果机床有一系列主轴,则选尽可能垂直于工件装夹面的主轴为Z轴,其正方向定义为从工作台到刀具夹持的方向,即刀具远离工作台的运动方向。X轴为水平的、平行于工件装夹平面的坐标轴,它平行于主要的切削方向,且以此方向为正方向。Y轴的正方向则根据X轴和Z轴按右手法则确
26、定。旋转坐标轴A、B和C的正方向相应地在X、Y、Z坐标轴正方向上,按右手螺旋定则判定。二、常见坐标系及其原点二、常见坐标系及其原点建立数控机床坐标系是为了确定工件在机床中的位置、机床运动部件的特殊位置(如换刀点、参考点等)以及运动范围(如行程范围)等。1.1.机床原点与机床坐标系机床原点与机床坐标系 现代数控机床一般都有一个基准位置,称为机床原点(Machine Origin或Home Position)或机床绝对原点(Machine Absolute Origin),是机床制造商设置在机床上的一个物理位置,其作用是使机床与控制系统同步,建立测量机床运动坐标的起始点。机床坐标系以机床原点为原点
27、建立的坐标系,是机床上固有的坐标系。机床坐标系的原点位置是在各坐标轴的正向最大极限处,用M表示,如图2-13所示 在数控铣床上,机床原点也一般取在X、Y、Z三个直线坐标轴正方向的极限位置上。与机床原点相对应的还有机床参考点(Reference Point),用R表示。许多数控机床(全功能型及高档型)都设有机床参考点,该点至机床原点在其进给坐标轴方向上的距离在机床出厂时已确定。使用时可通过回零操作方式进行确认。有的机床参考点与原点重合。机床参考点是机床制造商在机床上借助行程开关设置的物理位置。它与机床原点的相对位置是固定的,机床出厂之前由机床制造商精密测量确定,用户不能改变它。一般来说,加工中心
28、的参考点为机床的自动换刀位置。有的数控机床可以设置多个参考点,其中,第一参考点与机床参考点一致,其他参考点与第一参考点的距离可由用户根据加工对象自行设置。接通电源后必须先进行第一参考点返回,否则不能进行其他操作。机床原点实际上是通过返回(或称寻找)机床参考点来确定的。数控机床通电后,必须首先使各轴均返回各自参考点。确定了机床坐标系后,才能进行其他操作。当返回参考点的工作完成后,显示器即显示出机床参考点在机床坐标系中的坐标值,表明机床坐标系已经建立。2.2.程序原点与工件坐标系程序原点与工件坐标系 程序原点(Pmgram Origin)用W表示,它是编程员在数控编程过程中定义在工件上的几何基准点
29、,有时也称为工件原点(Part Origin)。工件原点一般选择在便于测量或对刀的基准位置,同时要便于编程计算。选择工件原点的位置时应注意以下几点。1)工件原点应选在零件图样的尺寸基准上,以便于坐标值的计算,使编程简单。2)尽量选在精度较高的加工表面上,以提高被加工零件的加工精度。3)对于对称的零件,工件原点一般设在对称中心上。4)对于一般零件,工件原点通常设在工件外轮廓的某一角上。5)工件原点在Z轴方向时,一般设在工件表面上。编程时,一般选择工件上的某一点作为程序原点,并以这个原点为原点建立一个新的坐标系,即工件坐标系(编程坐标系)。加工开始必须设定工件坐标系,即确定刀具起点相对于工件坐标系
30、原点的位置。3.3.装夹原点装夹原点装夹原点常用于有回转或摆动工作台的数控机床或加工中心,一般是机床工作台上的一个固定点,如回转中心。装夹原点与机床参考点的偏移量可在测量后存入CNC系统的原点偏置寄存器(Origin Offset Register)中,供CNC系统原点偏移计算用。4.4.附加运动坐标附加运动坐标一般称X、Y、Z为主坐标或第一坐标,如有平行于第一坐标的第二组或第三组坐标,则分别指定为U、V、W和P、Q、R,即附加运动坐标。5.5.机床坐标系与工件坐标系的关系机床坐标系与工件坐标系的关系机床坐标系与工件坐标系的关系如图2-14所示。图中的X、Y、Z坐标系为机床坐标系,X、Y、Z坐
31、标系为工件坐标系。三、程序原点设置与偏移三、程序原点设置与偏移 CNC系统一般都要求机床在回零(Zeroing)操作(即机床回到机床原点或机床参考点)之后,才能启动。机床参考点和机床原点之间的偏移值以机床参数的形式存放在偏置寄存器中。回零操作后机床控制系统进行初始化,即使机床运动坐标X、Y、Z、A、B等的显示(计数器)为0。工件在机床上装夹固定以后,程序原点与机床参考点的偏移量必须通过测量来确定。现代CNC系统一般都配有工件测量头,在手动操作模式下能准确地测量该偏移量,存入G54G59原点偏置寄存器中,供CNC系统原点偏移计算用。在没有工件测量头的情况下,程序原点位置的测量要靠对刀的方式进行。
32、1.程序原点的设置当用绝对坐标指令编程时,必须先建立工件坐标系,用来确定刀具起始点在坐标系中的坐标值。可用G92指令与G54G59指令建立工件坐标系。G92指令与G54G59指令都是用于设定工件坐标系的,但它们在使用中又有区别。G92指令通过程序来设定工件坐标系;G54G59指令通过CRT/MDI在设置参数方式下设定工件坐标系,工件坐标系一经设定,坐标原点在机床坐标系中的位置便固定不变,它与刀具的当前位置无关,除非再通过CRT/MDI方式更改。G92指令程序段只是设定工件坐标系,而不产生任何动作;G54G59指令程序段可以和G00、G01指令组合,在选定的工件坐标系中进行位移。(1)用G92确
33、定工件坐标系在编程中,一般选择工件或夹具上的某一点作程序原点,并以这一点作为工件原点,建立工件坐标系。工件坐标系原点与机床坐标系原点(机床原点)之间的距离用G92(EIA代码中用G50)指令进行设定,即确定工件坐标系原点在距刀具现在位置的距离。也就是以程序的原点为准,确定刀具起始点的坐标值,并把这个设定值存于程序存储器中,作为零件所有加工尺寸的基准点。因此,在每个程序的开头都要设定工件坐标系,其标准编程格式如下:G92 X_ Y_ Z_;图2-15给出了用G92确定工件坐标系的方法。程序如下(注意,G92指令需要后续坐标值指定当前工件的坐标):N01 G92 X30.0 Y30.0 Z20.0
34、;在工件坐标系中建 立刀具起点相对于程序原点的位置,刀具并不产生运动图2-15 (2)用G54G59确定工件坐标系图2-16给出了用G54G59确定工件坐标系的方法。图2-16工件坐标系的设定可采用输入每个坐标系原点距机床原点的X、Y、Z轴的距离(x,y,z)来实现。图2-16中分别设定G54和G59时可用下列方法:G54时 G59时X-x1 X-x2Y-y1 Y-y2Z-z1 Z-z2 Z-z1 Z-z2 2.程序原点的偏置在编程过程中,为了避免尺寸换算,可将工件坐标系平移。将工件坐标系(编程坐标系)原点平移至工件基准处,称为程序原点的偏置。一般数控机床可以设定6个(G54G59)工件坐标系
35、。这些坐标系的坐标原点在机床坐标系中的值可用手动数据输入方式输入,存储在机床存储器内,在机床重开机时仍然存在。在程序中可以分别选取并使用,如图2-17所示。一旦指定了G54G59其中的一个,则该工件坐标系原点即为当前程序原点,后续程序段中的工件绝对坐标均为相对此程序原点的值,例如以下程序:N01G54G00G90X30Y40;N02G59N03G00X30Y30;执行N01句时,系统会选定G54坐标系作为当前工件坐标系,然后执行G00移动到该坐标中的A点。执行N02句时,系统又会选择G59坐标系作为当前工件坐标系。执行N03句时,刀具就会移动到刚指定的G59坐标系中的B点,如图2-18所示。G
36、92指令需要其后有一坐标值来指定当前工件坐标值,因此,需有单独一个程序段指定。该程序段中尽管有位置指令值,但并不产生运动。另外,在使用G92指令前,必须保证机床处于加工起始点,该点称为对刀点。使用G54G59建立工件坐标系时,该指令可单独指定,也可与其他程序同段指定。需要注意的是,使用G54G59建立工件坐标系时,如果该段程序中有位置指令,则会产生运动。使用该指令前,应先用MDI方式输入该坐标系的坐标原点,再在程序中使用对应的G54G59,就可建立该坐标系,并可使用定位指令自动定位到加工起始点。图2-19所示的是一次装夹加工三个相同工件的多程序原点与机床参考点之间的关系及偏移计算方法。(1)采
37、用G92实现原点偏移的有关指令N01 G90;绝对坐标编程,刀具位于机床参考点N02 G92 X6.0 Y6.0 Z0;将程序原点定义在第一个工件上的工件原点W1 加工第一个工件N08 G00 X0 Y0;快速回程序原点N09 G92 X4.0 Y3.0;将程序原点定义在第二个工件上的工件原点W2 加工第二个工件N13 G00 X0 Y0;快速回程序原点N14 G92 X4.5 Y1.2;将程序原点定义在第三个工件上的工件原点W3 加工第三个工件(2)采用G54G59实现原点偏移的有关指令1)首先设置G54G56原点偏置寄存器。对于零件1:G54 X6.0 Y6.0 Z0;。对于零件2:G55
38、 X10.0 Y9.0 Z0;。对于零件3:G56 X14.5 Y7.8 Z0;。2)然后调用。N01G90G54;加工第一个零件N07G55;加工第二个零件N10G56加工第三个零件 第三节刀第三节刀 具具 补补 偿偿 一、刀具半径补偿一、刀具半径补偿1.刀具半径补偿的目的在数控铣床上进行轮廓的铣削加工时,由于刀具自身存在半径,故刀具中心(刀心)轨迹和工件轮廓不重合。如果数控系统不具备刀具半径自动补偿功能,则只能按刀心轨迹进行编程,即在编程时给出刀具的中心轨迹,如图2-20所示的点画线轨迹。该轨迹的计算相当复杂,尤其当刀具磨损、重磨或更换新刀而使刀具半径变化时,图2-20刀具的编程轨迹a)外
39、轮廓加工b)内轮廓加工必须重新计算刀心轨迹,修改程序。这样既繁琐,又不易保证加工精度。当数控系统具备刀具半径补偿功能时,数控编程只需按工件轮廓进行,如图2-20中的粗实线轨迹,数控系统会自动计算刀心轨迹,使刀具偏离工件轮廓一个半径值,即进行刀具半径补偿。2.2.刀具半径补偿功能的应用刀具半径补偿功能的应用1)刀具半径因磨损、重磨或更换新刀而改变后,不必修改程序,只需在刀具参数设置中输入变化后的刀具半径。如图2-21所示,1为未磨损刀具,2为磨损后刀具,两者半径不同,只需将刀具参数表中的刀具半径r1改为r2,即可适用同一程序。2)用同一程序、同一尺寸的刀具,利用刀具半径补偿,可分别进行粗加工和精
40、加工。如图2-22所示,刀具半径r,精加工余量。粗加工时,输入刀具直径D=2(r+),则加工出点画线轮廓;精加工时,用同一程序,同一刀具,但输入刀具直径D=2r,则加工出粗实线轮廓。3.3.刀具半径补偿的方法刀具半径补偿的方法数控系统的刀具半径补偿就是将计算刀具中心轨迹的过程交由CNC系统完成,编程员假设刀具的半径为0,直接根据零件的轮廓形状进行编程,因此,这种编程方法也称为对零件的编程。使用刀具半径补偿时,实际的刀具半径存放在可编程刀具半径偏置寄存器中。在加工过程中,CNC系统根据零件程序和刀具半径自动计算刀具中心轨迹,完成零件的加工。当刀具半径发生变化时,不需要修改零件程序,而只修改存放在
41、刀具半径偏置寄存器中的刀具半径值,或者选用存放在另一个刀具半径偏置寄存器中的刀具半径所对应的刀具即可。现代CNC系统一般都设置有若干(16、32、64或更多)个可编程刀具半径偏置寄存器,并对其进行编号,专供刀具补偿时使用。进行数控编程时,只需调用所需刀具半径补偿参数(刀具长度、刀具半径等)所对应的寄存器编号即可。加工时,CNC系统将该编号对应的刀具半径偏置寄存器中存放的刀具半径取出,对刀具中心轨迹进行补偿计算,生成实际的刀具中心运动轨迹。铣削加工刀具半径补偿分为刀具半径左补偿(用G41定义)和刀具半径右补偿(用G42定义)。编程时,使用非零的D代码选择正确的刀具半径偏置寄存器号。根据ISO标准
42、,当刀具中心轨迹沿前进方向位于零件轮廓右边时称为刀具半径右补偿;反之称为刀具半径左补偿,如图2-23所示。当不需要进行刀具半径补偿时,用G40取消刀具半径补偿。(1)刀具半径补偿的建立刀具由起刀点(位于零件轮廓及零件毛坯之外,距离加工零件轮廓切入点较近的刀具位置)以进给速度接近工件,刀具半径补偿偏置方向由G41(左补偿)或G42(右补偿)确定。刀具半径补偿的过程分为三步。1)刀补的建立。刀具中心从与编程轨迹重合过渡到与编程轨迹偏离一个偏置量的过程。2)刀补的进行。执行有G41、G42指令的程序段后,刀具中心始终与编程轨迹相距一个偏置量。3)刀补的取消。刀具离开工件,刀具中心轨迹要过渡到与编程重
43、合的过程。图2-24为刀具半径补偿的建立与取消过程。在图2-24中,建立刀具半径右补偿的有关指令如下:(2)刀具半径补偿的取消刀具撤离工件,回到退刀点,取消刀具半径补偿。与建立刀具半径补偿过程类似,退刀点也应位于零件轮廓之外。退刀点应距离加工零件轮廓退出点较近,可与起点相同,也可以不相同,如图2-24所示。如果退刀点与起刀点相同,则其刀具半径补偿取消过程的命令如下:4.4.刀具半径补偿过程中的刀心轨迹刀具半径补偿过程中的刀心轨迹(1)外轮廓加工如图2-25所示,刀具左补偿加工外轮廓。编程轨迹为ABC,数控系统自动计算刀心轨迹。两直线轮廓相交处的刀心轨迹一般有两种:图2-25a为延长过渡,刀心轨
44、迹为P1P2P3P4P5;图2-25b为圆弧过渡,刀心轨迹为P1P2P3P4。(2)内轮廓加工如图2-26所示,刀具右补偿加工内轮廓。编程轨迹为ABC,理论刀心轨迹为P1P2P3P4,此时会产生过切现象,损坏工件,如图2-26a所示。如按图2-26b所示刀具补偿处理后的刀心轨迹P1P2P3,则无过切现象。从图2-26可以看出,采用刀具半径补偿进行内轮廓加工,由于轮廓直线之间的夹角小于180,不能按理论刀心轨迹进行加工,实际刀心轨迹比理论刀心轨迹要短,因此,如果工件轮廓的长度太短,则将无法进行刀具半径补偿,数控系统运行到该段程序时会产生报警。这种情况一般发生在内轮廓曲线加工过程中,此过程中,曲线
45、用直线插补,且插补直线段非常短(如0.1mm),而刀具半径又比较大。图2-265.5.刀具半径补偿应用举例刀具半径补偿应用举例采用直径为8mm的立铣刀,对图2-27所示的零件进行轮廓加工,利用刀具半径补偿(偏置)指令进行刀具半径补偿,刀具补偿的地址为D01,加工程序为:图2-27 二、刀具长度补偿二、刀具长度补偿 1.1.刀具长度补偿目的刀具长度补偿目的刀具长度补偿使刀具在垂直于走刀平面(如XY平面,由G17指定)的方向上偏移一个刀具长度值,因此,在数控编程过程中,一般无需考虑刀具长度。这样,避免了加工运行过程中的经常换刀,因为刀具长度的不同会给工件坐标系的设定带来困难。例如,用一把刀具正常切
46、削工件,而更换一把稍长的刀具后,如果工件坐标系不变,则工件将被过切。2.2.刀具长度补偿的方法刀具长度补偿的方法刀具长度补偿要视情况而定。一般而言,刀具长度补偿对于两轴和三轴联动数控加工是有效的,但对于刀具摆动的四轴或五轴联动数控加工,刀具长度补偿则无效。因此,在进行刀位计算时可以不考虑刀具长度,但后置处理计算过程中必须考虑刀具长度。刀具长度补偿在发生作用前,必须先进行刀具参数的设置。设置的方法有机内试切法、机内对刀法和机外对刀法。对数控铣床而言,较好的方法是采用机外对刀法。图2-28所示为采用机外对刀法测量的刀具长度,图中的E点为刀具长度测量基准点,刀具的长度参数即为图中的L不管采用哪种方法
47、,所获得的数据都必须通过手动数据输入(MDI)方式将刀具参数输入数控系统的刀具参数表中。对于数控铣床,刀具长度补偿指令由G43和G44实现。G43为刀具长度正补偿或离开工件补偿;G44为刀具长度负补偿或趋向工件补偿。不同刀具长度补偿如图2-29所示。使用刀具长度补偿指令时,应使用非零的H代码来选择正确的刀具长度偏置寄存器号。取消长度补偿用G49指令。如图2-30所示,刀具快速接近工件,到达距离工件原点15mm处,可以采用以下语句:G90G00G43Z15.0H01;当刀具长度补偿有效时,数控系统根据刀具长度定位基准点使刀具自动离开工件一个给定的距离,从而完成刀具长度补偿,使刀尖(或刀心)运行于
48、程序要求的运动轨迹。这是因为数控程序假设的是刀尖(或刀心)相对于工件运动,而在刀具长度补偿有效之前,刀具相对于工件的坐标是机床上刀具长度定位基准点E相对于工件的坐标。在加工过程中,为了控制背吃刀量或进行试切加工,也经常使用刀具长度补偿。加工之前,在实际刀具长度上加上退刀长度,并将此值存入刀具长度偏置寄存器中。加工时,使用同一把刀具,而调用加长后的刀具长度值,从而可以控制背吃刀量,而不用修正零件加工程序(控制背吃刀量也可以采用修改程序原点的方法)。例如,刀具长度偏置寄存器H01中存放的刀具长度值为11.0(单位为mm,后同),对于数控铣床,执行语句G90 G01 G43 Z15.0 H01;后,
49、刀具实际运动到Z(15.011.0)=Z4.0的位置,如图2-31a所示。如果该语句改为G90 G01 G44 Z-15.0 H01;则执行该语句后,刀具实际运动到Z(15.011.0)=Z26.0的位置,如图2-31b所示。从上个例子可以看出,在程序命令方式下,可以通过修改刀具长度偏置寄存器中的值来达到控制背吃刀量的目的,而无需修改零件加工程序。3.3.刀具长度补偿应用举例刀具长度补偿应用举例应用刀具长度补偿指令编制图2-32所示的数控加工程序。图中A为程序起点,加工路线为。由于某种原因,刀具实际起始位置为B点,与编程的起点偏离了3mm。现按相对坐标编程,偏置量3mm存入地址为H02的寄存器
50、中,加工程序为 第四节数第四节数 值值 计计 算算 对零件图形进行数学处理是编程前的一个关键性的环节。此环节不但对手工编程来说必不可少,而且即使采用计算机进行自动编程,也经常需要对工件的轮廓图形先进行数学预处理,才能对有关几何元素进行定义。作为一名编程人员,即使数控编程系统具有完备的处理功能,不需要人工干预处理,也应该明白其中的数学理论,知道数控编程系统是如何进行工作的。数值计算主要包括以下内容。1.基点和节点的坐标计算零件的轮廓复杂多样,但都是由基本几何元素组成的,如直线、圆弧、二次曲线及列表点曲线等。各几何元素间的连接点称为基点,如两直线的交点、直线与圆弧或圆弧与圆弧的交点或切点、圆弧与二