1第1章数控机床加工程序编制基础数控机床是一种高效的自动化加工设备,它严格按照加工程序,自动的对被加工工件进行加工。我们把从数控系统外部输入的直接用于加工的程序称为数控加工程序,简称为数控程序,它是机床数控系统的应用软件。与数控系统应用软件相对应的是数控系统内部的系统软件,系统软件是用于数控系统工作控制的,它不在本教程的研究范围内。数控系统的种类繁多,它们使用的数控程序语言规则和格式也不尽相同,本教程以ISO国际标准为主来介绍加工程序的编制方法。当针对某一台数控机床编制加工程序时,应该严格按机床编程手册中的规定进行程序编制。1.1数控程序编制的概念在编制数控加工程序前,应首先了解:数控程序编制的主要工作内容,程序编制的工作步骤,每一步应遵循的工作原则等,最终才能获得满足要求的数控程序(如图1.1所示的程序样本)。图1.1程序样本1.1.1数控程序编制的定义编制数控加工程序是使用数控机床的一项重要技术工作,理想的数控程序不仅应该保证加工出符合零件图样要求的合格零件,还应该使数控机床的功能得到合理的应用与充分的发挥,使数控机床能安全、可靠、高效的工作。1、数控程序编制的内容及步骤数控编程是指从零件图纸到获得数控加工程序的全部工作过程。如图1.2所示,编程工作主要包括:2图1.2数控程序编制的内容及步骤(1)分析零件图样和制定工艺方案这项工作的内容包括:对零件图样进行分析,明确加工的内容和要求;确定加工方案;选择适合的数控机床;选择或设计刀具和夹具;确定合理的走刀路线及选择合理的切削用量等。这一工作要求编程人员能够对零件图样的技术特性、几何形状、尺寸及工艺要求进行分析,并结合数控机床使用的基础知识,如数控机床的规格、性能、数控系统的功能等,确定加工方法和加工路线。(2)数学处理在确定了工艺方案后,就需要根据零件的几何尺寸、加工路线等,计算刀具中心运动轨迹,以获得刀位数据。数控系统一般均具有直线插补与圆弧插补功能,对于加工由圆弧和直线组成的较简单的平面零件,只需要计算出零件轮廓上相邻几何元素交点或切点的坐标值,得出各几何元素的起点、终点、圆弧的圆心坐标值等,就能满足编程要求。当零件的几何形状与控制系统的插补功能不一致时,就需要进行较复杂的数值计算,一般需要使用计算机辅助计算,否则难以完成。(3)编写零件加工程序分析零件图样和制定工艺方案数学处理编写程序程序校验修改3在完成上述工艺处理及数值计算工作后,即可编写零件加工程序。程序编制人员使用数控系统的程序指令,按照规定的程序格式,逐段编写加工程序。程序编制人员应对数控机床的功能、程序指令及代码十分熟悉,才能编写出正确的加工程序。(4)程序检验将编写好的加工程序输入数控系统,就可控制数控机床的加工工作。一般在正式加工之前,要对程序进行检验。通常可采用机床空运转的方式,来检查机床动作和运动轨迹的正确性,以检验程序。在具有图形模拟显示功能的数控机床上,可通过显示走刀轨迹或模拟刀具对工件的切削过程,对程序进行检查。对于形状复杂和要求高的零件,也可采用铝件、塑料或石蜡等易切材料进行试切来检验程序。通过检查试件,不仅可确认程序是否正确,还可知道加工精度是否符合要求。若能采用与被加工零件材料相同的材料进行试切,则更能反映实际加工效果,当发现加工的零件不符合加工技术要求时,可修改程序或采取尺寸补偿等措施。2、数控程序编制的方法数控加工程序的编制方法主要有两种:手工编制程序和自动编制程序。(1)手工编程手工编程指主要由人工来完成数控编程中各个阶段的工作。如图1.3所示。图1.3手工编程零件图样工艺人员夹具表机床表刀具表工艺规程编程人员加工程序初稿加工程序修改编程手册4一般对几何形状不太复杂的零件,所需的加工程序不长,计算比较简单,用手工编程比较合适。手工编程的特点:耗费时间较长,容易出现错误,无法胜任复杂形状零件的编程。据国外资料统计,当采用手工编程时,一段程序的编写时间与其在机床上运行加工的实际时间之比,平均约为30:1,而数控机床不能开动的原因中有20%~30%是由于加工程序编制困难,编程时间较长。(2)计算机自动编程自动编程是指在编程过程中,除了分析零件图样和制定工艺方案由人工进行外,其余工作均由计算机辅助完成。采用计算机自动编程时,数学处理、编写程序、检验程序等工作是由计算机自动完成的,由于计算机可自动绘制出刀具中心运动轨迹,使编程人员可及时检查程序是否正确,需要时可及时修改,以获得正确的程序。又由于计算机自动编程代替程序编制人员完成了繁琐的数值计算,可提高编程效率几十倍乃至上百倍,因此解决了手工编程无法解决的许多复杂零件的编程难题。因而,自动编程的特点就在于编程工作效率高,可解决复杂形状零件的编程难题。根据输入方式的不同,可将自动编程分为图形数控自动编程、语言数控自动编程和语音数控自动编程等。图形数控自动编程是指将零件的图形信息直接输入计算机,通过自动编程软件的处理,得到数控加工程序。目前,图形数控自动编程是使用最为广泛的自动编程方式。语言数控自动编程指将加工零件的几何尺寸、工艺要求、切削参数及辅助信息等用数控语言编写成源程序后,输入到计算机中,再由计算机进一步处理得到零件加工程序。语音数控自动编程是采用语音识别器,将编程人员发出的加工指令声音转变为加工程序。1.1.2字与字的功能1、字符与代码字符是用来组织、控制或表示数据的一些符号,如数字、字母、标点符号、数学运算符等。数控系统只能接受二进制信息,所以必须把字符转换成8BIT信息组合成的字节,用“0”和“1”组合的代码来表达。国际上广泛采用两种标准代码:(1)ISO国际标准化组织标准代码5(2)EIA美国电子工业协会标准代码这两种标准代码的编码方法不同,在大多数现代数控机床上这两种代码都可以使用,只需用系统控制面板上的开关来选择,或用G功能指令来选择。2、字在数控加工程序中,字是指一系列按规定排列的字符,作为一个信息单元存储、传递和操作。字是由一个英文字母与随后的若干位十进制数字组成,这个英文字母称为地址符。如:“X2500”是一个字,X为地址符,数字“2500”为地址中的内容。3、字的功能组成程序段的每一个字都有其特定的功能含义,以下是以FANUC-0M数控系统的规范为主来介绍的,实际工作中,请遵照机床数控系统说明书来使用各个功能字。(1)顺序号字N顺序号又称程序段号或程序段序号。顺序号位于程序段之首,由顺序号字N和后续数字组成。顺序号字N是地址符,后续数字一般为1~4位的正整数。数控加工中的顺序号实际上是程序段的名称,与程序执行的先后次序无关。数控系统不是按顺序号的次序来执行程序,而是按照程序段编写时的排列顺序逐段执行。顺序号的作用:对程序的校对和检索修改;作为条件转向的目标,即作为转向目的程序段的名称。有顺序号的程序段可以进行复归操作,这是指加工可以从程序的中间开始,或回到程序中断处开始。一般使用方法:编程时将第一程序段冠以N10,以后以间隔10递增的方法设置顺序号,这样,在调试程序时,如果需要在N10和N20之间插入程序段时,就可以使用N11、N12等。(2)准备功能字G准备功能字的地址符是G,又称为G功能或G指令,是用于建立机床或控制系统工作方式的一种指令。后续数字一般为1~3位正整数,见表1.1。6表1.1G功能字含义表G功能字FANUC系统SIEMENS系统G00快速移动点定位快速移动点定位快速移动至指定点例:G00X0Y1Z1或G00Y0G01直线插补直线插补要跟F(进给速度)例:G01X100F200即从现有位置走直线至X值加100点,速度为200G01X200.0Y100.0Z300.0F200走斜线F(进给速度):最高速度~最低速度GGG02顺时针圆弧插补顺时针圆弧插补G02X圆弧超过180度要在R前面加负号,否则G03逆时针圆弧插补逆时针圆弧插补G04暂停暂停G05---通过中间点圆弧插补G17XY平面选择XY平面选择G18ZX平面选择ZX平面选择G19YZ平面选择YZ平面选择G32螺纹切削---G33---恒螺距螺纹切削G40刀具补偿注销刀具补偿注销G41刀具补偿——左刀具补偿——左G42刀具补偿——右刀具补偿——右沿走刀方向刀具在工件右边要提前加G43刀具长度补偿——正---G44刀具长度补偿——负---G49刀具长度补偿注销---无刀库不要使用G50主轴最高转速限制---G54~G59加工坐标系设定零点偏置G65用户宏指令---G70精加工循环英制G71外圆粗切循环米制G72端面粗切循环---G73封闭切削循环---G74深孔钻循环---G75外径切槽循环---G76复合螺纹切削循环---G80撤销固定循环撤销固定循环G81定点钻孔循环固定循环G90绝对值编程绝对尺寸默认为绝对坐标G91增量值编程增量尺寸7G92螺纹切削循环主轴转速极限G94每分钟进给量直线进给率车床有用G95每转进给量旋转进给率G96恒线速控制恒线速度G97恒线速取消注销G96G98返回起始平面---G99返回R平面---(3)尺寸字一般程度开头都加个g40尺寸字用于确定机床上刀具运动终点的坐标位置。其中,第一组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。当然,一些数控系统可通过参数来选择不同的尺寸单位。(4)进给功能字F进给功能字的地址符是F,又称为F功能或F指令,用于指定切削的进给速度。对于车床,F可分为每分钟进给和主轴每转进给两种,对于其它数控机床,一般只用每分钟进给。F指令在螺纹切削程序段中常用来指令螺纹的导程。(5)主轴转速功能字S主轴转速功能字的地址符是S,又称为S功能或S指令,用于指定主轴转速。单位为r/min。对于具有恒线速度功能的数控车床,程序中的S指令用来指定车削加工的线速度数。(6)刀具功能字T刀具功能字的地址符是T,又称为T功能或T指令,用于指定加工时所用刀具的编号。对于数控车床,其后的数字还兼作指定刀具长度补偿和刀尖半径补偿用。8(7)辅助功能字M辅助功能字的地址符是M,后续数字一般为1~3位正整数,又称为M功能或M指令,用于指定数控机床辅助装置的开关动作,见表1.2。表1.2M功能字含义表M功能字含义M00程序停止M01计划停止M02程序停止M03主轴顺时针旋转M04主轴逆时针旋转M05主轴旋转停止M06换刀M072号冷却液开M081号冷却液开M09冷却液关M30程序停止并返回开始处M98调用子程序M99返回子程序1.1.3程序格式1、程序段格式程序段是可作为一个单位来处理的、连续的字组,是数控加工程序中的一条语句。一个数控加工程序是若干个程序段组成的。程序段格式是指程序段中的字、字符和数据的安排形式。现在一般使用字地址可变程序段格式,每个字长不固定,各个程序段中的长度和功能字的个数都是可变的。地址可变程序段格式中,在上一程序段中写明的、本程序段里又不变化的那些字仍然有效,可以不再重写。这种功能字称之为续效字。程序段格式举例:9N30G01X88.1Y30.2F500S3000T02M08N40X90(本程序段省略了续效字“G01,Y30.2,F500,S3000,T02,M08”,但它们的功能仍然有效)在程序段中,必须明确组成程序段的各要素:移动目标:终点坐标值X、Y、Z;沿怎样的轨迹移动:准备功能字G;进给速度:进给功能字F;切削速度:主轴转速功能字S;使用刀具:刀具功能字T;机床辅助动作:辅助功能字M。2、加工程序的一般格式(1)程序开始符、结束符程序开始符、结束符是同一个字符,ISO代码中是%,EIA代码中是EP,书写时要单列一段。(2)程序名程序名有两种形式:一种是英文字母O和1~4位正整数组成;另一