1第2章数控加工程序的编制数控机床与普通机床加工的最大区别就是数控机床的加工过程主要是由零件加工程序来控制的。零件加工程序的编制,会直接影响到机床加工的精度和效率。本章针对数控机床加工程序编制的目的、步骤和方法,重点介绍常用数控代码的作用和编程格式,并通过实例对数控车床、数控铣床及加工中心编程特点进行介绍。在学习本章的同时,配合到有关工厂参观数控机床的操作情况和了解现场程序编制将会有助于加深理解。22.1概述使用普通机床加工工件时,一般根据工艺规程或工艺过程卡选择加工表面,但切削用量、走刀路线、工步的选择等往往由操作者自行决定。而使用数控机床加工时,要按照事先编好的加工程序自动地进行加工,操作者无法临时改变加工过程。所以,编制数控机床的加工程序要比编制普通机床的加工工艺卡片细致得多。32.1.1程序编制的目的编制数控加工程序时,要把加工工件的工艺过程、运动轨迹、工艺参数和辅助操作等信息按一定的格式编制成加工程序,然后通过输入装置将控制信息输入到数控系统中,使数控机床进行自动加工。从分析工件图纸开始到获得正确的程序载体为止的全过程,称为工件加工程序的编制,以下简称为编程。42.1.2程序编制的方法数控加工程序的编制方法主要有手工编程和自动编程两类。1.手工编程编程的过程全部由人工完成的方法称为手工编程。对于点位加工或几何形状简单的工件,不需要经过复杂的计算,加工程序段不多,此时使用手工编程的方法较为合适。但对于形状复杂、工序(或工步)较多的工件,需要进行繁琐的计算,程序段很多,出错也难以校核,此时应尽可能采用自动编程。2.自动编程编程的过程全部或部分地由计算机来完成的方法称为自动编程。52.1.3编程内容与步骤现以手工编程为例来说明编程内容与步骤。1.分析并熟悉工件图纸2.数值计算3.编写加工程序4.试切62.2加工程序段的格式与代码2.2.1加工程序的构成一个完整的加工程序具有如下形式:%Oxxxxxxxx%其中大写英文字母O后面的X表示可接不大于8位的数字。在计算机内存中加工程序按该数字从小到大的顺序排列,超过内存的容量时即自行溢出。72.2.2加工程序的代码该代码已经标准化,目前最常用的代码标准有ISO、ASCII和EIA三种。在现代数控系统中,这三种代码可以由用户自行设定,计算机可以自动进行转换。82.2.3加工程序段的格式在工件加工程序中包含加工时所需要的全部信息。一个工件加工程序包括若干个程序段,而程序段中包含每一个操作所需要的机械控制的各种信息。1.程序段格式2.文字地址程序段格式中各功能字的说明(1)程序段序号N:程序段序号用来表示程序段的顺序。(2)准备功能字G:常用的准备功能指令包括字母G和后续的2位数字。(3)位移功能字X、Y、Z等:位移功能字(尺寸字)是用来给定机床各坐标轴位移的方向和数值的。(4)进给功能字F:进给功能字用来规定机床的进给速度。常用的表示方法有下列两种:①每分钟进给量(mm/min)。②每转进给量(mm/r)。(5)主轴转速功能字S(6)刀具交换功能字T(7)辅助功能字M(8)程序段结束(EOB)3.程序段格式的顺序92.3数控机床的坐标系2.3.1数控机床的坐标轴在现代数控机床上加工工件时,工序比较集中,在一次装夹中要加工工件上的平面、曲面、孔、螺纹等各种表面,刀具和工件具有复杂的相对移动。因此要在机床上建立坐标系,以便于数控装置向各坐标轴发出控制信号,完成规定的运动。最常用的是笛卡儿直角坐标系,如图2.1所示。1.坐标轴的指定2.坐标轴运动方向3.回转运动的回转方向102.3.2机床坐标系与工件坐标系1.机床坐标系机床坐标系是机床上固有的任何人都不能改变的坐标系,往往采用那些能够作为基准的点、线、面来作为机床的换刀点、坐标轴的轴心线和坐标平面。2.工件坐标系工件坐标系是在编程时使用,由编程人员在工件上建立的工件坐标系。3.机床坐标系与工件坐标系的关系在图2.4中,OM-XMYMZM为机床坐标系,o-xyz为工件坐标系。工件安上机床后,两个坐标系保持一定的关系。工件坐标系的原点在机床坐标系中称为调整点。也称对刀点。选择对刀点的原则为:(1)尽可能与设计基准、工艺基准和检验基准重合。(2)便于对刀。(3)便于进行各基点的坐标值计算。(4)在加工的过程中,便于观察。112.4常用准备功能指令的编程说明功能指令是程序段组成的基本单位,是编制加工程序的基础。本节主要讨论常用的准备功能指令的编程方法与应用。下面所涉及的指令代码均依据ISO标准。122.4.1与位置有关的指令1.绝对坐标与增量坐标指令——G90、G91在一般的机床数控系统中,为方便计算和编程,都允许绝对坐标方式和增量坐标方式及其混合方式编程。这就必须用G90、G91指令指定坐标方式。2.坐标系设定指令——G92G92指令就是用来建立工件坐标系的,它规定了工件坐标系原点的位置。就是说它确定了工件坐标系的原点(工件原点)在距刀具刀位点起始位置(起刀点)多远的地方。3.坐标平面选择指令——G17、G18、G19G17、G18、G19指令分别表示设定选择XY、ZX、YZ平面为当前工作平面。对于三坐标联动的数控铣床和加工中心,常用这些指令指定机床在哪一平面进行运动。4.快速点定位指令——G00该指令是使刀具从当前位置以系统设定的速度快速移动到坐标系的另一点。它只是快速到位,不进行切削加工,一般用作为空行程运动。132.4.2与插补有关的指令1.直线插补指令——G0l该指令是直线运动控制指令,它命令刀具从当前位置以两坐标或三坐标联动方式按指定的F进给速度作任意斜率的直线运动到达指定的位置。该指令一般用作轮廓切削。编程格式为:G01X—Y—Z—F—;2.圆弧插补指令——G02、G03这是两个圆弧运动控制指令,它们能实现圆弧插补加工。G02表示顺时针圆弧(顺圆)插补,G03表示逆时针圆弧(逆圆)插补。142.4.3暂停(延迟)指令暂停(延迟)指令——G04指令可使刀具作短时间的无进给运动,进行光整加工,可用于车槽、镗平面、锪孔等场合。暂停指令的程序格式为:G04—;其中,符号表示地址符,常用的地址符有X、U、P等,不同系统有不同的规定,后面的数字表示暂停时间(以秒为单位),或表示工件转数,视具体机床而定。图2.7为锪孔加工,孔底有粗糙度要求,根据图示条件编制加工程序为:N0010G91G01Z-7.0F60;N0020G04X5;(刀具停留5s)N0030G00Z7.0M02;152.4.4刀具补偿指令1.刀具半径自动补偿指令——G41、G42、G40(1)刀具半径自动补偿的概念(2)刀具半径自动补偿指令2.刀具长度补偿指令——G43,G44,G49刀具长度补偿指令一般用于刀具轴向(Z方向)的补偿,它可使刀具在Z方向上的实际位移大于或小于程序给定值,即:实际位移量=程序给定值±补偿值162.4.5标准固定循环指令在数控加工中,一般一个动作就要编制一条加工程序,但在许多情况下,常需重复一组固定的动作。例如,钻孔时,往往需要快速接近工件、慢速钻孔、钻完后快速退回这三个固定的动作。在G指令中,常用G80~G89作为固定循环指令。而在有些车床中,常用G33~G35与G76~G79作为固定循环指令。固定循环指令一般随机床的种类、型号、生产厂家等而变,是不通用的。本节介绍了常用的一些G指令的应用及编程方法。在具体使用时,还要特别注意各机床说明书(编程手册)中的具体规定,严格按其规定使用。172.5数控铣床与加工中心的编程2.5.1数控铣床的编程特点(1)铣削是机械加工中最常用的方法之一,它包括平面铣削和轮廓铣削。(2)数控铣床的数控装置具有多种插补方式,一般都具有直线插补和圆弧插补。(3)程序编制时要充分利用数控铣床齐全的功能,如刀具位置补偿、刀具长度补偿、刀具半径补偿和固定循环、对称加工等功能。(4)由直线、圆弧组成的平面轮廓铣削的数学处理比较简单。非圆曲线、空间曲线和曲面的轮廓铣削加工,数学处理比较复杂,一般要采用计算机辅助计算和自动编程。182.5.2数控铣床编程中的特殊功能指令数控铣床编程中除了要用到上一章介绍的常用的功能指令外,还要用到一些比较特殊的功能指令,下面选择部分指令作一简单介绍。1.工件坐标系设定指令如图2.12所示为工件坐标系与机床坐标系之间的关系。2.固定循环指令(1)孔加工循环的组成动作:如图2.13所示。(2)孔加工循环指令格式(3)几种加工方式的图示说明(4)孔加工循环的注意事项192.5.3数控铣床编程实例如图2.18所示的是一盖板零件,试编制其零件加工程序。该零件的特点是形状比较简单,数值计算比较方便。现按轮廓编程,根据图2.18和图2.19计算各基点及圆心点坐标如下:A(0,0)B(0,40)C(14.96,70)D(43.54,70)E(102,64)F(150,40)G(170,40)H(170,0)O1(70,40)O2(150,100)202.5.4加工中心的编程特点加工中心编程具有以下特点。(1)首先应进行合理的工艺分析。由于零件加工的工序多,使用的刀具种类多,甚至在一次装夹下,要完成粗加工、半精加工与精加工。周密合理地安排各工序加工的顺序,有利于提高加工精度和生产效率。(2)根据加工批量等情况,决定采用自动换刀还是手工换刀。(3)自动换刀要留出足够的换刀空间。(4)为了提高机床的利用率,应尽量采用刀具机外预调,并将测量尺寸填写到刀具卡片中,以便于操作者在运行程序前,及时修改刀具补偿参数。(5)对于编好的程序,必须进行认真检查,并于加工前安排好模拟仿真和试运行。(6)尽量把不同工序内容的程序,分别安排到不同的子程序中。(7)一般应使一把刀具尽可能担任较多的表面加工,且进给路线设计得应合理。212.5.5加工中心换刀程序的编制下面就一般情况作一简要介绍,具体可参看各机床说明书。带有“机械手——刀库”的加工中心,其换刀动作包括“换刀”和“选刀”两项内容。多数数控加工中心机床换刀时都规定“换刀点”的位置,即“定距换刀”,主轴只有运动到规定位置时,机械手才可以执行换刀动作。还有的加工中心采用“跟踪换刀”,即主轴运动到任意位置时,机械手都可以执行换刀动作。对于“定距换刀”,在增量坐标系中,应在换刀程序中书写主轴到换刀点的坐标值;在绝对坐标系中可以不写。实际换刀程序的编制,一般包括两部分内容:在程序中首先安排一段“换刀准备程序”,作用是将第一把刀装到主轴上,并同时检查一下机床的换刀运动;然后编写加工过程中的“选刀”和“换刀”指令。下面是某台卧式数控加工中心加工程序中的“刀具准备”和“换刀”程序。222.6数控车床加工程序的编制2.6.1数控车床的编程特点(1)在一个程序段中,根据图样上标注的尺寸,可以采用绝对值编程、增量值编程或二者混合编程。(2)由于图样尺寸和测量值都是直径值。故直径方向用绝对值编程时,X以直径值表示,用增量值编程时,以径向实际位移量的二倍值表示。(3)为提高工件的径向尺寸精度,X向的脉冲当量取Z向的一半。(4)由于毛坯常用棒料或锻料,加工余量较大,所以数控装置常具备不同形式的固定循环功能,可进行多次重复循环切削。(5)编程时,常认为车刀刀尖是一个点,而实际上为了提高刀具寿命和工件表面质量,车刀刀尖常磨成一个半径不大的圆弧,因此为提高工件的加工精度,当编制圆头刀程序时,需要对刀具半径进行补偿。大多数数控车床都具有刀具补偿功能(G4l、G42),这类数控车床可直接按工件轮廓尺寸编程。对不具备刀具自动补偿功能的数控车床,编程时,需先计算补偿量。(6)许多数控车床用X、Z表示绝对坐标指令,用U、W表示增量坐标指令。而不用G90、G9l指令。(7)第三坐标指令I、K在不同的程序段中作用也不相同。I、K在圆弧切削时表示圆心相对圆弧的起点的坐标位置。而在有自动循环指令的程序中,I、K坐标则用来表示每次循环的进刀量。(8)根据刀架所在的位置,有的机床采用左手坐标系,有的机床采用的是右手坐标系,当采用左手坐标系时,顺时针方向车削圆弧用G03,而逆时钟方向用G02。232.6.2编程实例试编制如图2.20所