3.1 数控机床加工程序编制基础
数控编程是数控加工的重要步骤。用数控机床对零件进行加工时,首先对零件进行加工工艺分析,以确定加工方法、加工工艺路线,正确地选择数控机床刀具的装夹方法;然后按照加工工艺要求,根据所用数控机床规定的指令代码以及程序格式,将刀具的运动轨迹、位移量、切削参数(主轴转速、进给量、吃刀深度等)以及辅助功能(换刀、主轴正转或反转、切削液开关等)编写成加工程序单,传送或输入到数控装置中,从而指挥机床加工零件。
因此,在编制数控加工程序前,应首先了解数控程序编制的主要工作内容,程序编制的工作步骤,每一步应遵循的工作原则等,最终才能获得满足要求的数控程序。
3.1.1 数控程序编制的内容与方法
编制数控加工程序是使用数控机床的一项重要技术工作,理想的数控程序不仅应该保证加工出符合零件图样要求的合格零件,还应该使数控机床的功能得到合理的应用与充分的发挥,使数控机床能安全、可靠、高效地工作。图3-1所示为一程序样本。
图3-1 程序样本
(1)数控程序编制的内容及步骤
数控编程是指从零件图纸到获得数控加工程序的全部工作过程。如图3-2所示,编程工作主要包括以下几个步骤。
图3-2 数控编程步骤
①分析零件图样和制定工艺方案 这项工作的内容包括对零件图样进行分析;对零件的材料、形状、尺寸、精度和热处理要求等进行工艺分析;明确加工的内容和要求;确定加工方案;选择适合的数控机床;选择或设计刀具和夹具;确定合理的走刀路线及选择合理的切削用量等。这一工作要求编程人员能够对零件图样的技术特性、几何形状、尺寸及工艺要求进行分析,并结合数控机床使用的基础知识,如数控机床的规格、性能、数控系统的功能等,确定加工方法和加工路线。
②数学处理 在确定了工艺方案后,就需要根据零件的几何尺寸、加工路线等,确定加工坐标系,计算刀具中心运动轨迹,以获得刀位数据。数控系统一般均具有直线插补与圆弧插补功能,对于加工由圆弧和直线组成的较简单的平面零件,只需要计算出零件轮廓上相邻几何元素交点或切点的坐标值,得出各几何元素的起点、终点、圆弧的圆心坐标值等,就能满足编程要求。当零件的几何形状与控制系统的插补功能不一致时,就需要进行较复杂的数值计算,一般需要使用计算机辅助计算,否则难以完成。
③编写零件加工程序 在完成上述工艺处理及数值计算工作后,即可编写零件加工程序。程序编制人员使用数控系统的程序指令,按照规定的程序格式,逐段编写加工程序。此外,还应该附上必要的加工示意图、刀具布置图、机床调整卡、工序卡以及必要的说明。程序编制人员应对数控机床的功能、程序指令及代码十分熟悉,才能编写出正确的加工程序。
④程序检验 将编写好的加工程序输入数控系统,就可控制数控机床的加工工作。一般在正式加工之前,要对程序进行检验。通常可采用机床空运转的方式,来检查机床动作和运动轨迹的正确性,以检验程序。在具有图形模拟显示功能的数控机床上,可通过显示走刀轨迹或模拟刀具对工件的切削过程,对程序进行检查。对于形状复杂和要求高的零件,也可采用铝件、塑料或石蜡等易切材料进行试切来检验程序。通过检查试件,不仅可确认程序是否正确,还可知道加工精度是否符合要求。若能采用与被加工零件材料相同的材料进行试切,则更能反映实际加工效果,当发现加工的零件不符合加工技术要求时,可修改程序或采取尺寸补偿等措施。
(2)数控程序编制的方法
数控加工程序的编制方法主要有两种:手工编制程序和自动编制程序。
①手工编程 指主要由人工来完成数控编程中各个阶段的工作,如图3-3所示。
图3-3 手工编程
一般对几何形状不太复杂的零件,所需的加工程序不长,计算比较简单,用手工编程比较合适。尤其是在对于简单点位加工及平面轮廓的加工中,手工编程被广泛地应用。
手工编程的特点是耗费时间较长,容易出现错误,无法胜任复杂形状零件的编程。据国外资料统计,当采用手工编程时,一段程序的编写时间与其在机床上运行加工的实际时间之比,平均约为30:1,而数控机床不能开动的原因中有20%~30%是由于加工程序编制困难,编程时间较长。
手工编程的意义在于加工形状简单的零件(如直线与直线或直线与圆弧组成的轮廓)时简单、快捷;不需特别的条件(价格较高的自动编程机及相应的硬件和软件等);机床操作者或程序员不受特殊条件的制约;具有较大的灵活性和编程费用少等优点。因此,手工编程在目前仍然是广泛采用的方式,即使在自动编程高速发展的将来,它的地位也不可取代,仍是自动编程的基础。
②计算机自动编程 指在编程过程中,除了分析零件图样和制定工艺方案由人工进行外,其余工作均由计算机辅助完成。
自动编程的特点在于编程工作效率高,可解决复杂形状零件的编程难题。采用计算机自动编程时,数学处理、编写程序、检验程序等工作是由计算机自动完成的,由于计算机可自动绘制出刀具中心运动轨迹,使编程人员可及时检查程序是否正确,需要时可及时修改,以获得正确的程序。又由于计算机自动编程代替程序编制人员完成了繁琐的数值计算,可提高编程效率几十倍乃至上百倍,因此解决了手工编程无法解决的许多复杂零件的编程难题。
根据输入方式的不同,可将自动编程分为图形数控自动编程、语言数控自动编程和语音数控自动编程等。图形数控自动编程是指将零件的图形信息直接输入计算机,通过自动编程软件的处理,得到数控加工程序。目前,图形数控自动编程是使用最为广泛的自动编程方式。语言数控自动编程指将加工零件的几何尺寸、工艺要求、切削参数及辅助信息等用数控语言编写成源程序后,输入到计算机中,再由计算机进一步处理得到零件加工程序。语音数控自动编程是采用语音识别器,将编程人员发出的加工指令声音转变为加工程序。
3.1.2 字与字的功能
(1)字符与代码
字符是用来组织、控制或表示数据的一些符号,如数字、字母、标点符号、数学运算符等。因为数控系统只能接受二进制信息,所以必须把字符转换成8bit信息组合成的字节,用“0”和“1”组合的代码来表达。国际上广泛采用两种标准代码:ISO国际标准化组织标准代码和EIA美国电子工业协会标准代码。
这两种标准代码的编码方法不同,在大多数现代数控机床上这两种代码都可以使用,只需用系统控制面板上的开关来选择,或用G功能指令来选择。
(2)字
在数控加工程序中,字是指一系列按规定排列的字符,作为一个信息单元存储、传递和操作。字是由一个英文字母与随后的若干位十进制数字组成,这个英文字母称为地址符。
如“X5500”是一个字,“X”为地址符,数字“5500”为地址中的内容。
(3)字的功能
组成程序段的每一个字都有其特定的功能含义,以下是以FANUC 0M数控系统的规范为主来介绍的,在实际工作中,请遵照机床数控系统说明书来使用各个功能字。
①顺序号字N 顺序号又称程序段号或程序段序号。顺序号位于程序段之首,由顺序号字N和后续数字组成。顺序号字N是地址符,后续数字一般为1~4位的正整数。数控加工中的顺序号实际上是程序段的名称,与程序执行的先后次序无关。数控系统不是按顺序号的次序来执行程序,而是按照程序段编写时的排列顺序逐段执行的。
顺序号的作用:进行程序的校对和检索修改;作为条件转向的目标,即作为转向目的程序段的名称。有顺序号的程序段可以进行复归操作,这是指加工可以从程序的中间开始,或回到程序中断处开始。
一般使用方法:编程时将第一程序段冠以N10,以后以间隔10递增的方法设置顺序号,这样,在调试程序时,如果需要在N10和N20之间插入程序段时,就可以使用N11、N12等。
②准备功能字G 准备功能字的地址符是G,又称为G功能或G指令,是用于建立机床或控制系统工作方式的一种指令。后续数字一般为1~3位正整数,见表3-1。
表3-1 G功能字含义
在表3-1中,大部分的G指令是模态的(续效的),模态G指令就是指这些G代码一经指定,便一直有效,直到在程序中出现同组的G指令或被取消才失效。同组的G代码不能在同一程序段中出现,不同组的G代码可以在同一程序段中出现。如G00、G01、G02等就是同一组的模态指令,G90、G91是同一组的模态指令。G00、G01不能同时出现在同一程序段中,而G90或G91就可以分别与G00、G01、G02、G03等组合使用。显然,除了模态G指令外,还有些G指令是非模态指令,即该指令只在本程序段中才有效,如G04暂停指令。
③尺寸字 用于确定机床上刀具运动终点的坐标位置,由地址码和+、-符号及绝对(或增量)数值构成。
在地址码中,第一组X、Y、Z、U、V、W、P、Q、R用于确定终点的直线坐标尺寸;第二组A、B、C、D、E用于确定终点的角度坐标尺寸;第三组I、J、K用于确定圆弧轮廓的圆心坐标尺寸。在一些数控系统中,还可以用P指令暂停时间,用R指令圆弧的半径等。
多数数控系统可以用准备功能字来选择坐标尺寸的制式,如FANUC诸系统可用G21/G22来选择米制单位或英制单位,也有些系统用系统参数来设定尺寸制式。采用米制时,一般单位为mm,如X100指令的坐标单位为100mm。当然,一些数控系统可通过参数来选择不同的尺寸单位。
④进给功能字F 进给功能字的地址符是F,又称为F功能或F指令,用于指定切削的进给速度。对于车床,F可分为每分钟进给和主轴每转进给两种,对于其他数控机床,一般只用每分钟进给。F指令在螺纹切削程序段中常用来指定螺纹的导程。
⑤主轴转速功能字S 主轴转速功能字的地址符是S,又称为S功能或S指令,用于指定主轴转速,单位为r/min。对于具有恒线速度功能的数控车床,程序中的S指令用来指定车削加工的线速度。
⑥刀具功能字T 刀具功能字的地址符是T,又称为T功能或T指令,用于指定加工时所用刀具的编号。对于数控车床,其后的数字还兼作指定刀具长度补偿和刀尖半径补偿用。
⑦辅助功能字M 辅助功能字的地址符是M,后续数字一般为1~3位正整数,又称为M功能或M指令,用于指定数控机床辅助装置的开关动作,见表3-2。
表3-2 M功能字含义
3.1.3 程序格式
(1)程序段格式
程序段是可作为一个单位来处理的连续的字组,是数控加工程序中的一条语句。一个数控加工程序是由若干个程序段组成的。
程序段格式是指程序段中的字、字符和数据的安排形式。现在一般使用字地址可变程序段格式,每个字长不固定,各个程序段中的长度和功能字的个数都是可变的。地址可变程序段格式中,在上一程序段中写明的、本程序段里又不变化的那些字仍然有效,可以不再重写。
程序段格式举例如下。
N30 G01 X88.1 Y30.2 F500 S3000 T02 M08 N40 X90(本程序段省略了续效字“G01,Y30.2,F500,S3000,T02,M08”,但它们的功能仍然有效)
在程序段中,必须明确组成程序段的如下各要素。
移动目标:终点坐标值X、Y、Z。
沿怎样的轨迹移动:准备功能字G。
进给速度:进给功能字F。
切削速度:主轴转速功能字S。
使用刀具:刀具功能字T。
机床辅助动作:辅助功能字M。
(2)加工程序的一般格式
①程序开始符、结束符 程序开始符与结束符是同一个字符,ISO代码中是%,EIA代码中是EP,书写时要单列一段。
②程序名 程序名有两种形式:一种是由英文字母O和1~4位正整数组成;另一种是由英文字母开头,字母、数字混合组成的。一般要求单列一段。
③程序主体 是由若干个程序段组成的。每个程序段一般占一行。
④程序结束指令 可以用M02或M30。一般要求单列一段。
加工程序的一般格式示例如下。
% //开始符 O1000 //程序名 N10 G00 G54 X50 Y30 M03 S3000 N20 G01 X88.1 Y30.2 F500 T02 M08 N30 X90 //程序主体 …… N300 M30 //结束符 %
3.1.4 数控加工坐标系
在数控编程时,为了描述机床的运动,简化程序编制的方法及保证记录数据的互换性,数控机床的坐标系和运动方向均进行了标准化,国际标准化组织(ISO)和我国都拟定了命名的标准。读者需要掌握机床坐标系、编程坐标系、加工坐标系的概念,具备实际动手设置机床加工坐标系的能力。
3.1.4.1 机床坐标系
(1)机床坐标系的确定
由于数控机床的运动轴分为平动轴和转动轴,而且各轴的运动,有的是使刀具产生运动,有的是使工件产生运动,因此标准规定在编程时要确定数控机床坐标系和运动方向这两个前提,同时对X、Y、Z三轴的相对位置关系也作了规定。
①机床相对运动的规定 在机床上始终认为工件静止,而刀具是运动的,即刀具相对静止工件运动原则。这样编程人员在不考虑机床上工件与刀具具体运动的情况下,就可以依据零件图样,确定机床的加工过程。
②机床坐标系的规定 在数控机床上,机床的动作是由数控装置来控制的,为了确定数控机床上的成形运动和辅助运动,必须先确定机床上运动的位移和运动的方向,这就需要通过坐标系来实现,这个坐标系被称为机床坐标系。
例如铣床上,有机床的纵向运动、横向运动以及垂向运动,如图3-4所示。在数控加工中就应该用机床坐标系来描述。
图3-4 数控铣床运动方向
标准机床坐标系中X、Y、Z坐标的相互关系由右手笛卡儿直角坐标系决定,具体如下:伸出右手的大拇指、食指和中指,并互为90°,则大拇指代表X坐标,食指代表Y坐标,中指代表Z坐标;大拇指的指向为X坐标的正方向,食指的指向为Y坐标的正方向,中指的指向为Z坐标的正方向;围绕X、Y、Z坐标旋转的旋转坐标分别用A、B、C表示,根据右手螺旋定则,大拇指的指向为X、Y、Z坐标中任意轴的正向,则其余四指的旋转方向即为旋转坐标A、B、C的正向,如图3-5所示。
图3-5 直角坐标系
③运动方向的规定 增大刀具与工件距离的方向即为各坐标轴的正方向,即刀具远离工件为正。
(2)坐标轴的确定方法
①Z坐标 该坐标的运动方向是由传递切削动力的主轴所决定的,平行于主轴轴线的坐标轴即为Z坐标,Z坐标的正向为刀具离开工件的方向。
对于以工件旋转中心为主轴的机床,如车床,Z轴为工件旋转中心,刀具远离工件的方向为正方向。
对于以刀具旋转中心为主轴的机床,如铣床,Z轴为刀具旋转中心,刀具远离工件的方向为正方向。
如果机床上有几个主轴,则选一个垂直于工件装夹平面的主轴方向为Z坐标方向;如果主轴能够摆动,则选垂直于工件装夹平面的方向为Z坐标方向;如果机床无主轴,则选垂直于工件装夹平面的方向为Z坐标方向,且向上为正。图3-6所示为数控车床的坐标系。
图3-6 数控车床的坐标系
②X坐标 该坐标平行于工件的装夹平面,一般在水平面内。确定X坐标的方向时,要考虑以下几种情况。
a.如果工件作旋转运动,则刀具离开工件的方向为X坐标的正方向。
b.如果刀具作旋转运动,则Z坐标水平时,观察者沿刀具主轴向工件看时,+X运动方向指向右方;Z坐标垂直时,观察者面对刀具主轴向立柱看时,+X运动方向指向右方。对于龙门式铣床,沿着主要刀具主轴向机床左侧看,+X运动方向指向右方。
c.如果刀具与工件都不旋转(如刨床),则X方向沿着主要切削力的方向并以此为正方向。
③Y坐标 在确定X、Z坐标的正方向后,可以根据X和Z坐标的方向,按照右手直角坐标系来确定Y坐标的方向。
(3)旋转运动
用A、B、C表示回转轴线与X、Y、Z轴重合或平行的回转运动,用右手螺旋定则判断,如图3-5所示。正方向用+A、+B、+C表示,负方向用-A、-B、-C表示。
(4)附加坐标系
为了编程和加工的方便,有时还要设置附加坐标系。对于直线运动,通常建立的附加坐标系如下。
①指定平行于X、Y、Z的坐标轴,可以采用的附加坐标系:第二组U、V、W坐标,第三组P、Q、R坐标。
②指定不平行于X、Y、Z的坐标轴,也可以采用附加的坐标系:第二组U、V、W坐标,第三组P、Q、R坐标。附加坐标系上的旋转坐标系可用D、E、F表示。
例如,根据图3-7所示的数控立式铣床结构图,确定X、Y、Z直线坐标。
图3-7 数控立式铣床的坐标系
Z坐标:平行于主轴,刀具离开工件的方向为正。
X坐标:Z坐标垂直,且刀具旋转,所以面对刀具主轴向立柱方向看,向右为正。
Y坐标:在Z、X坐标确定后,用右手直角坐标系来确定。
上述坐标轴正方向,均是假定工件不动,刀具相对于工件作进给运动而确定的方向,即刀具运动坐标系。但在实际机床加工时,有很多都是刀具相对不动,而工件相对于刀具移动实现进给运动的情况。此时,应在各轴字母后加上“'”表示工件运动坐标系。按相对运动关系,工件运动的正方向恰好与刀具运动的正方向相反,即
+X=-X' +Y=-Y' +Z=-Z' +A=-A' +B=-B' +C=-C'
(5)机床原点的设置
机床原点是指在机床上设置的一个固定点,即机床坐标系的原点。它在机床装配、调试时就已确定下来,是数控机床进行加工运动的基准参考点。
①数控车床的原点 在数控车床上,机床原点一般取在卡盘端面与主轴中心线的交点处,如图3-8所示。同时,通过设置参数的方法,也可将机床原点设定在X、Z坐标的正方向极限位置上。
图3-8 数控车床的机床原点
②数控铣床的原点 在数控铣床上,机床原点一般取在X、Y、Z坐标的正方向极限位置上,如图3-9所示。
图3-9 数控铣床的机床原点
(6)机床参考点
机床参考点是用于对机床运动进行检测和控制的固定位置点。
机床参考点的位置是由机床制造厂家在每个进给轴上用限位开关精确调整好的,坐标值已输入数控系统中。因此参考点对机床原点的坐标是一个已知数。
通常在数控铣床上,机床原点和机床参考点是重合的;而在数控车床上,机床参考点是离机床原点最远的极限点。图3-10所示为数控车床的参考点与机床原点。
图3-10 数控车床的参考点与机床原点
数控机床开机时,必须先确定机床原点,而确定机床原点的运动就是刀架返回参考点的操作,这样通过确认参考点,就确定了机床原点。只有机床参考点被确认后,刀具(或工作台)移动才有基准。
3.1.4.2 编程坐标系
编程坐标系是编程人员根据零件图样及加工工艺等建立的坐标系。
编程坐标系一般供编程使用,确定编程坐标系时不必考虑工件毛坯在机床上的实际装夹位置。如图3-11所示,其中O2即为编程坐标系原点。
图3-11 铣削零件的编程原点
编程原点是根据加工零件图样及加工工艺要求选定的编程坐标系的原点。
编程原点应尽量选择在零件的设计基准或工艺基准上,编程坐标系中各轴的方向应该与所使用的数控机床相应的坐标轴方向一致,如图3-12所示为车削零件的编程原点。
图3-12 车削零件的编程原点
3.1.4.3 加工坐标系
(1)加工坐标系的确定
加工坐标系是指以确定的加工原点为基准所建立的坐标系。
加工原点也称为程序原点,是指零件被装夹好后,相应的编程原点在机床坐标系中的位置。
在加工过程中,数控机床是按照工件装夹好后所确定的加工原点位置和程序要求进行加工的。编程人员在编制程序时,只要根据零件图样就可以选定编程原点,建立编程坐标系,计算坐标数值,而不必考虑工件毛坯装夹的实际位置。对于加工人员来说,则应在装夹工件、调试程序时,将编程原点转换为加工原点,并确定加工原点的位置,在数控系统中给予设定(即给出原点设定值),设定加工坐标系后就可根据刀具当前位置,确定刀具起始点的坐标值。在加工时,工件各尺寸的坐标值都是相对于加工原点而言的,这样数控机床才能按照准确的加工坐标系位置开始加工。如图3-9所示,O3为加工原点。
(2)加工坐标系的设定
方法一:在机床坐标系中直接设定加工原点。
下面以图3-9为例,在配置FANUC-0M系统的立式数控铣床上设置加工原点O3。
①加工坐标系的选择 编程原点设置在工件轴心线与工件底端面的交点上。
设工作台工作面尺寸为800mm×320mm,若工件装夹在接近工作台中间处,则确定了加工坐标系的位置,其加工原点O3就在距机床原点O1为X3、Y3、Z3处,并且X3=-345.700mm,Y3=-196.220mm、Z3=-53.165mm。
②设定加工坐标系指令 G54~G59为设定加工坐标系指令。G54对应1号工件坐标系,其余依此类推。可在MDI方式的参数设置页面中,设定加工坐标系。例如,对已选定的加工原点O3,将其坐标值X3=-345.700mm、Y3=-196.220mm、Z3=-53.165mm设在G54中,则表明在数控系统中设定了1号工件加工坐标。设置页面如图3-13所示。G54~G59在加工程序中出现时,即选择了相应的加工坐标系。
图3-13 加工坐标系的设定
方法二:通过刀具起始点来设定加工坐标系。
①加工坐标系的选择 加工坐标系的原点可设定在相对于刀具起始点的某一符合加工要求的空间点上。
应注意的是,当机床开机回参考点之后,无论刀具运动到哪一点,数控系统对其位置都是已知的。也就是说,刀具起始点是一个已知点。
②设定加工坐标系指令 G92为设定加工坐标系指令。在程序中出现G92程序段时,则通过刀具当前所在位置即刀具起始点来设定加工坐标系。
G92指令的编程格式:G92 X a Y b Z c
该程序段运行后,就根据刀具起始点设定了加工原点,如图3-14所示。
图3-14 设定加工坐标系
从图3-14中可看出,用G92设置加工坐标系,也可视为在加工坐标系中,确定刀具起始点的坐标值,并将该坐标值写入G92编程格式中。
3.1.5 常用数控编程指令
数控加工程序是由各种功能字按照规定的格式组成的。正确地理解各个功能字的含义,恰当地使用各种功能字,按规定的程序指令编写程序,是编好数控加工程序的关键。
程序编制的规则,首先是由所采用的数控系统来决定的,所以应详细阅读数控系统编程、操作说明书。以下按常用数控系统的共性概念进行说明。
(1)绝对尺寸指令和增量尺寸指令
在加工程序中,有绝对尺寸指令和增量尺寸指令两种表达方法。
绝对尺寸指机床运动部件的坐标尺寸值相对于坐标原点给出,如图3-15所示。增量尺寸指机床运动部件的坐标尺寸值相对于前一位置给出,如图3-16所示。
图3-15 绝对尺寸
图3-16 增量尺寸
如B点坐标,使用绝对坐标编程时为(30,37),使用增量坐标编程时为(20,25)。
在编程时,采用绝对方式编程还是采用增量方式编程有两种指定方式。
①G功能字指定 G90指定尺寸值为绝对尺寸。G91指定尺寸值为增量尺寸。这种表达方式的特点是同一条程序段中只能用一种,不能混用;同一坐标轴方向的尺寸字的地址符是相同的。
②用尺寸字的地址符指定 绝对尺寸的尺寸字的地址符用X、Y、Z。增量尺寸的尺寸字的地址符用U、V、W。这种表达方式的特点是同一程序段中绝对尺寸和增量尺寸可以混用,这给编程带来很大方便。如G01 U20 Y30 F120,表示X轴方向采用增量方式编程,Y轴方向采用绝对方式编程。
(2)预置寄存指令G92
预置寄存指令是按照程序规定的尺寸字值,通过当前刀具所在位置来设定加工坐标系的原点。这一指令不产生机床运动。
编程格式:G92 X~ Y~ Z~
X、Y、Z的值是当前刀具位置相对于加工原点位置的值。
例如,在图3-16所示的加工坐标系中,当前的刀具位置点在A点时为G92 X10 Y12;当前的刀具位置点在B点时为G92 X30 Y37。
注意:这种方式设置的加工原点是随刀具当前位置(起始位置)的变化而变化的。
(3)坐标平面选择指令
坐标平面选择指令是用来选择圆弧插补平面和刀具补偿平面的。
G17表示选择XY平面,G18示选择Z X平面,G19表示选择YZ平面。各坐标平面如图3-17所示。一般地,数控车床默认在ZX平面内加工,数控铣床默认在XY平面内加工。
图3-17 坐标平面选择
(4)快速点定位指令
快速点定位指令控制刀具以点位控制的方式快速移动到目标位置,其移动速度由参数来设定。指令执行开始后,刀具沿着各个坐标方向同时按参数设定的速度移动,最后减速到达终点,如图3-18(a)所示。
注意:在各坐标方向上有可能不是同时到达终点。刀具移动轨迹是几条线段的组合,不是一条直线。
例如,在FANUC系统中,运动总是先沿45°角的直线移动,最后再在某一轴单向移动至目标点位置,如图3-18(b)所示。编程人员应了解所使用的数控系统的刀具移动轨迹情况,以避免加工中可能出现的碰撞。
图3-18 快速点定位
编程格式:G00 X~ Y~ Z~
X、Y、Z的值是快速点定位的终点坐标值。
例如,从A点到B点快速移动的程序段如下。
G90 G00 X20 Y30
(5)直线插补指令
直线插补指令用于产生按指定进给速度F实现的空间直线运动。
编程格式:G01 X~ Y~ Z~ F~
X、Y、Z的值是直线插补的终点坐标值。
例如,在图3-19中,从A点到B点的直线插补运动的程序段如下。
图3-19 直线插补运动
绝对方式编程:G90 G01 X10 Y10 F100
增量方式编程:G91 G01 X-10 Y-20 F100
(6)圆弧插补指令
G02为按指定进给速度的顺时针圆弧插补。G03为按指定进给速度的逆时针圆弧插补。
圆弧顺逆方向的判别方法是,沿着不在圆弧平面内的坐标轴,由正方向向负方向看,顺时针方向为G02,逆时针方向为G03,如图3-20所示。
图3-20 圆弧方向的判别
各平面内圆弧情况如图3-21所示,图3-21(a)表示XY平面的圆弧插补,图3-21(b)表示Z X平面的圆弧插补,图3-21(c)表示YZ平面的圆弧插补。编程格式如下。
图3-21 各平面内圆弧情况
XY平面:
G17 G02 X~Y~I~J~(R~)F~; G17 G03 X~Y~I~J~(R~)F~
ZX平面:
G18 G02 X~Z~I~K~(R~)F~; G18 G03 X~Z~I~K~(R~)F~
YZ平面:
G19 G02 Z~Y~J~K~(R~)F~; G19 G03 Z~Y~J~K~(R~)F~
X、Y、Z的值是指圆弧插补的终点坐标值;I、J、K是指圆弧起点到圆心的增量坐标,与G90、G91无关;R为指定圆弧半径,当圆弧的圆心角小于或等于180°时,R值为正;当圆弧的圆心角大于180°时,R值为负。
例如,在图3-22中,当圆弧A的起点为P1,终点为P2时,圆弧插补程序段如下。
图3-22 圆弧插补应用
G02 X321.65 Y280 I40 J140 F50
或
G02 X321.65 Y280 R-145.6 F50
当圆弧A的起点为P2,终点为P1时,圆弧插补程序段如下。
G03 X160 Y60 I-121.65 J-80 F50
或
G03 X160 Y60 R-145.6 F50
(7)刀具半径补偿指令
在零件轮廓铣削加工时,由于刀尖圆弧半径或刀具半径尺寸影响,刀具的中心轨迹与零件轮廓往往不一致。为了避免计算刀具中心轨迹,直接按零件图样上的轮廓尺寸编程,数控系统提供了刀具半径补偿功能,如图3-23所示。
图3-23 刀具半径补偿
①编程格式 G41为左偏刀具半径补偿,定义为假设工件不动,沿刀具运动方向向前看,刀具在零件左侧的刀具半径补偿,如图3-24所示。G42为右偏刀具半径补偿,定义为假设工件不动,沿刀具运动方向向前看,刀具在零件右侧的刀具半径补偿,如图3-25所示。
图3-24 左偏刀具半径补偿
图3-25 右偏刀具半径补偿
其编程格式如下,其中G40为补偿撤销指令。
G00/G01 G41/G42 X~Y~H~ //建立补偿程序段 …… //轮廓切削程序段 …… G00/G01 G40 X~Y~ //补偿撤销程序段
G41/G42程序段中的X、Y值是建立补偿直线段的终点坐标值;G40程序段中的X、Y值是撤销补偿直线段的终点坐标;H为刀具半径补偿代号地址字,后面一般用两位数字表示代号,代号与刀具半径值一一对应。刀具半径值可用CRT/MDI方式输入。如果用H00也可撤销刀具半径补偿。
②工作过程 图3-26~图3-28所示为刀具半径补偿的工作过程。其中,实线表示编程轨迹;点划线表示刀具中心轨迹;r等于刀具半径,表示偏移向量。
图3-26 刀具半径补偿的建立
图3-27 刀具半径补偿运动
图3-28 刀具半径补偿的撤销
a.刀具半径补偿建立时,一般是直线且为空行程,以防过切。以G42为例,其刀具半径补偿建立如图3-26所示。
b.刀具半径补偿一般只能平面补偿,其补偿运动情况如图3-27所示。
c.刀具半径补偿结束用G40撤销,撤销时同样要防止过切,如图3-28所示。
d.注意事项:建立补偿的程序段,必须是在补偿平面内不为零的直线移动,且一般应在切入工件之前完成。撤销补偿的程序段,一般应在切出工件之后完成。
③刀具半径补偿量的改变 一般刀具半径补偿量的改变,是在补偿撤销的状态下重新设定刀具半径补偿量。如果在已补偿的状态下改变补偿量,则程序段的终点是按该程序段所设定的补偿量来计算的,如图3-29所示。
图3-29 刀具半径补偿量的改变
④刀具半径补偿量的符号 一般刀具半径补偿量的符号为正,若取为负值时,会引起刀具半径补偿指令G41与G42的相互转化。
⑤过切 通常过切有两种情况:一是刀具半径大于所加工工件内轮廓转角时产生的过切,如图3-30所示;二是刀具直径大于所加工沟槽时产生的过切,如图3-31所示。
图3-30 加工内轮廓转角
图3-31 加工沟槽
⑥刀具半径补偿的其他应用 应用刀具半径补偿指令加工时,刀具的中心始终与工件轮廓相距一个刀具半径距离。当刀具磨损或刀具重磨后,刀具半径变小,只需在刀具补偿值中输入改变后的刀具半径,而不必修改程序。在采用同一把半径为R的刀具,并用同一个程序进行粗、精加工时,设精加工余量为Δ,则粗加工时设置的刀具半径补偿量为R+Δ,精加工时设置的刀具半径补偿量为R,就能在粗加工后留下精加工余量Δ,然后,在精加工时完成切削。运动情况如图3-32所示。
图3-32 刀具半径补偿的应用实例
(8)刀具长度补偿指令 使用刀具长度补偿指令,在编程时就不必考虑刀具的实际长度及各把刀具不同的长度尺寸。加工时,用MDI方式输入刀具的长度尺寸,即可正确加工。当由于刀具磨损、更换刀具等原因引起刀具长度尺寸变化时,只需要修正刀具长度补偿量,而不必调整程序或刀具。
G43为正补偿,即将Z坐标尺寸字与H代码中长度补偿的量相加,按其结果进行Z轴运动。
G44为负补偿,即将Z坐标尺寸字与H代码中长度补偿的量相减,按其结果进行Z轴运动。
G49为撤销补偿。
编程格式如下。
G01 G43/G44 Z~H~ //建立补偿程序段 …… //切削加工开始程序段 . . . …… //切削加工结束程序段 G49 //补偿撤销程序段
例如,图3-33(a)所对应的程序段为G01 G43 ZS H~;图3-33(b)所对应的程序段为G01 G44 ZS H~。其中:S为Z向程序指令点;H的值为长度补偿量。
图3-33 刀具长度补偿
H为刀具长度补偿代号地址字,后面一般用两位数字表示代号,代号与长度补偿量一一对应。刀具长度补偿量可用CRT/MDI方式输入。如果用H00则撤销刀具长度补偿。
3.1.6 程序编制中的数学处理
根据被加工零件图样,按照已经确定的加工工艺路线和允许的编程误差,计算数控系统所需要输入的数据,称为数学处理。数学处理一般包括两个内容:根据零件图样给出的形状、尺寸和公差等直接通过数学方法(如三角、几何与解析几何法等),计算出编程时所需要的有关各点的坐标值;当按照零件图样给出的条件不能直接计算出编程所需的坐标,也不能按零件给出的条件直接进行工件轮廓几何要素的定义时,就必须根据所采用的具体工艺方法、工艺装备等加工条件,对零件原图形及有关尺寸进行必要的数学处理或改动,才可以进行各点的坐标计算和编程工作。
(1)选择编程原点
从理论上讲,编程原点选在零件上的任何一点都可以,但实际上,为了换算尺寸尽可能简便,减少计算误差,应选择一个合理的编程原点。
对于车削零件编程的原点,X向零点应选在零件的回转中心。Z向零点一般应选在零件的右端面、设计基准或对称平面内。
对于铣削零件的编程原点,X、Y向零点一般可选在设计基准或工艺基准的端面或孔的中心线上,对于有对称部分的工件,可以选在对称面上,以便用镜像等指令来简化编程。Z向的编程原点,习惯选在工件上表面,这样当刀具切入工件后Z向尺寸字均为负值,以便于检查程序。
编程原点选定后,就应把各点的尺寸换算成以编程原点为基准的坐标值。为了在加工过程中有效地控制尺寸公差,按尺寸公差的中值来计算坐标值。
(2)基点
零件的轮廓是由许多不同的几何要素所组成的,如直线、圆弧、二次曲线等,各几何要素之间的连接点称为基点。基点坐标是编程中必需的重要数据。
在如图3-34所示的零件中,A、B、C、D、E为基点。A、B、D、E的坐标值从图中很容易找出,C点是直线与圆弧切点,要联立方程求解。以B点为计算坐标系原点,联立下列方程:
图3-34 零件图样
直线方程Y=tan(α+β)X
圆弧方程(X-80)2+(Y-14)2=30
可求得(64.2786,39.5507),换算到以A点为原点的编程坐标系中,C点坐标为(64.2786,51.5507)。
可以看出,对于如此简单的零件,基点的计算都很麻烦。对于复杂的零件,为提高编程效率,可应用CAD/CAM软件辅助编程。
(3)非圆曲线数学处理的基本过程
数控系统一般只能作直线插补和圆弧插补的切削运动。如果工件轮廓是非圆曲线,数控系统就无法直接实现插补,而需要通过一定的数学处理。数学处理的方法是,用直线段或圆弧段去逼近非圆曲线,逼近线段与被加工曲线的交点称为节点。
例如,对图3-35所示的曲线用直线逼近时,其交点A、B、C、D、E、F等即为节点。
图3-35 零件轮廓的节点
在编程时,首先要计算出节点的坐标,节点的计算一般都比较复杂,手工计算很难胜任,必须借助计算机辅助处理。求得各节点后,就可按相邻两节点间的直线来编写加工程序。
这种通过求得节点,再编写程序的方法,使得节点数目决定了程序段的数目。图3-35中有6个节点,即用5段直线逼近了曲线,因而就有5个直线插补程序段。节点数目越多,由直线逼近曲线产生的误差δ越小,程序的长度则越长。可见,节点数目的多少,决定了加工的精度和程序的长度。
(4)数控加工误差的组成
数控加工误差Δ数加是由编程误差Δ编、机床误差Δ机、定位误差Δ定、对刀误差Δ刀等误差综合形成的,即
Δ数加=f(Δ编+Δ机+Δ定+Δ刀)
①编程误差Δ编由逼近误差δ和圆整误差组成。逼近误差δ是在用直线段或圆弧段去逼近非圆曲线的过程中产生的,如图3-35所示。圆整误差是在数据处理时,将坐标值四舍五入圆整成整数脉冲当量值而产生的误差。脉冲当量是指每个单位脉冲对应坐标轴的位移量。普通精度级的数控机床,一般脉冲当量值为0.01mm;较精密数控机床的脉冲当量值为0.005mm或0.001mm等。
②机床误差Δ机由数控系统误差、进给系统误差等原因产生。
③定位误差Δ定是当工件在夹具上定位、夹具在机床上定位时产生的。
④对刀误差Δ刀是在确定刀具与工件的相对位置时产生的。
如何减少上述各项误差,以提高加工精度的问题,将在后续相关内容中讨论。