1、计算机辅助设计算机辅助设计与制造计与制造机 械 工 业 出 版 社计算机辅助设计与制造06计算机辅助数控测量技术第6章第6章 数控系统与数控编程6.1 机床数控系统6.1机床数控系统 随着科学技术的发展,机械产品的形状和结构不断改进,对零件加工质量的要求也越来越高。由于产品改型频繁,在一般机械加工中,单件和中、小批量产品占的比重越来越大。为了保证产品质量、提高生产率和降低成本,要求机床不仅具有较好的通用性和灵活性,而且在加工过程中要具有较高的自动化程度。数控机床就是在这种环境下发展起来的一种用数字方式进行控制的机械加工机床。它适用于高精度、形状复杂零件的单件和中、小批量生产。6.1机床数控系统
2、6.1.1数控原理 数控(NC)是数字控制(Numerical Control)的简称,是用数字信息通过控制装置(或称控制机)来控制一台或多台机械设备的动作。数字信息根据机械设备的动作要求来确定,经过控制装置处理后来实现对机械设备动作的控制。机械设备是一台执行机构,例如机械手、测量机、电火花线切割机、电焊机和机床。通过机械设备来完成所需要的工作内容。数控的工作方式是一种可编程序的自动控制方式。在工作过程中,通常为某一种工件或工艺过程编写一个专用指令程序。当加工工件或者工艺过程被更改后,指令程序就要作相应的变化。数控的灵活性就表现为当被加工工件或工艺过程发生变化时仅需对程序作相应的变化,而编制一
3、个新程序要比改变生产设备容易得多。6.1机床数控系统6.1.2机床数控系统的组成及作用1.CNC装置的组成 传统的数控系统(装置),即NC系统的核心数字控制装置(NC装置),是由各种逻辑元件、记忆元件组成的随机逻辑电路,是采用固定接线的硬件结构。它是由硬件来实现数控功能的。这类数控系统也称为硬件数控。随着半导体技术、大规模集成电路技术、微处理器技术和计算机技术的快速发展,数字控制装置已经发展成为计算机数字控制装置,即CNC装置。这是一种采用存储程序的专用计算机,其由软件来实现部分或全部数控功能。也有把CNC装置称为存储程序数字控制装置。图6-1所示为CNC系统的部分实物图。6.1机床数控系统C
4、NC系统的部分实物图6.1机床数控系统图6-2CNC装置结构6.1机床数控系统1)微处理器及其总线。2)存储器。3)MDI/CRT接口。4)位置控制器。5)程序与参数输入接口。CNC装置与计算机的通信模式有:单台计算机对一台数控设备的通信。单台计算机对多台数控设备的通信。多台计算机对多台数控设备的通信。7)PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。6)输入/输出(I/O)接口。6.1机床数控系统 上述内容介绍了CNC系统硬件结构,下面再简单介绍CNC系统的软件结构。CNC系统的软件可分为管理软件和控制软件两个部分,其中管理软件用来管理以下几个方面内容。1)零件程序的输入
5、/输出。2)显示。包括零件程序的显示、刀具位置的显示、系统参数显示、机床状态显示以及报警显示等。有些CNC装置还能显示刀具加工轨迹的静态和动态图形。3)诊断。即用来自我检查CNC装置是否正常并能检查出故障的起因。6.1机床数控系统2.CNC装置的工作过程(1)输入(2)译码(3)数据处理(4)插补(5)伺服控制(6)管理6.1机床数控系统3.CNC装置的功能(1)控制轴功能(2)操作功能(3)插补功能(4)进给功能(5)程序输入功能(6)辅助功能/主轴功能(7)刀具功能/刀具补偿(8)编辑功能(9)设定和显示功能(10)数据输入/输出6.1机床数控系统4.开放式数控系统和数字伺服通信技术近年来
6、随着CNC系统的技术成熟和普及应用,数控技术的发展出现了如下特点:从传统的应用领域(如车床、铣床、加工中心、磨床和线切割机、齿轮加工机床、板料加工机床等)扩展到各种专用机床和其他机械设备上。如果直接用通用的CNC系统去控制这些专用机床,一方面不能完全满足这些机床的控制要求,另一方面还会有大量的多余功能。如果分别针对特定的机床或设备开发专用数控系统(包括硬件和软件),其开发费用十分昂贵,开发周期长,质量不易保证,最终将影响产品的市场竞争能力。此外,在传统的数控机床领域,很多机床制造厂也希望自己能够在标准数控系统上扩充某些特殊功能,开发出能最佳满足产品要求的控制系统。6.1机床数控系统5.总线式数
7、控系统 传统数控系统与伺服驱动之间的控制接口,一种方式采用模拟接口(传统闭环控制的手段),其存在精度差、易受干扰、信息单向传送、难于分布式控制等一系列问题,另一种方式采用脉冲串接口,其又只能实现开环控制、更难于开发出下一代数控系统。因此接口控制总线已成为下一代数控系统的关键技术。国外著名的数控厂商纷纷开展现场总线的研制,并制定了相应的标准。例如,FANUC公司建立了FSSB总线,西门子公司推出了PROFIBUS、PROFINET,欧盟制定了SERCOS等。现场总线技术在数控系统上的应用体现出较强的优越性。6.1机床数控系统6.1机床数控系统6.CNC装置的主要优点CNC装置与早期传统的数控装置
8、相比具有下述优点。(1)灵活性(2)可靠性(3)通用性(4)数控功能丰富(5)使用方便(6)易于实现机电一体化6.1机床数控系统6.1.3数控机床的分类1.数控铣床和加工中心的分类(1)按功能特征分类1)镗铣加工中心。2)钻削加工中心。3)复合加工中心。(2)按结构特征分类2)刀库+机械手+主轴换刀加工中心。(4)按自动换刀装置分类1)刀库+主轴换刀加工中心。(3)按主轴种类分类如果按主轴种类分类,则可分为单主轴、双主轴、三主轴和可换主轴箱的加工中心。6.1机床数控系统(5)按行程大小分类1)数控万能工具铣床。2)数控龙门铣床。(1)按主轴立卧分类1)卧式水平床身数控车床。2)卧式倾斜床身数控
9、车床。3)立式数控车床。(2)以加工功能分类1)普通数控车床。2)高精度数控车床。3)车削中心。6.1机床数控系统3.数控磨床的分类数控磨床可以按被加工零件的形状进行以下分类。1)数控外圆磨床。2)数控平面磨床。3)数控坐标磨床。4)数控无心磨床。5)数控工具磨床。6)数控磨削中心。7)数控专用磨床。第6章 数控系统与数控编程6.2 零件加工的数控编程6.2零件加工的数控编程6.2.1插补原理 在介绍零件的数控编程之前,有必要先了解数控系统的插补原理。数控机床在实际工作中,通常要加工各种各样的轮廓形状,然而要使刀具中心的运动轨迹完全符合工件轮廓形状是做不到的。原因是为了完成复杂轨迹控制,相应的
10、计算方法就会复杂,计算机的负担也就相应大大增加。另外,在工程应用中也没有必要达到如此高的精度。目前的数控系统在实际应用中为了简化运算和提高速度,常常采用一小段直线或圆弧去进行逼近。所谓插补是指数据密化的过程。插补计算的宗旨是通过给定的基点坐标,以一定的速度连续定出一系列中间点,而这些中间点的值以一定的精度逼近给定线段。从理论上讲,插补的形式可以用任意函数形式,但是常用的是直线插补和圆弧插补两种形式。所谓直线插补是指在给定的两个基点之间用一条近似直线来逼近,也就是由此法定出的中间点连成的折线近似于一条直线,但并不是真正的直线。所谓圆弧插补是指在给定的两个基点之间用一段近似的圆弧来逼近。也就是说,
11、实际的中间点连线是一条近似于圆弧的折线弧。6.2零件加工的数控编程6.2.2数控机床的坐标系 数控机床的坐标系、坐标原点和运动方向,对于数控加工及编程来说是十分重要的概念。每一个数控编程员和数控机床的操作者,都必须对数控机床的坐标系有一个完整、正确的理解,否则,程序编制将发生混乱,操作时更容易发生事故。为了使数控系统规范化(标准化、开放化)及简化数控编程,ISO对数控机床坐标系的建立做了具体规定。右手直角笛卡尔坐标系6.2零件加工的数控编程立式铣床坐标系6.2零件加工的数控编程立式机床原点6.2零件加工的数控编程6.2.3数控程序结构与格式国际标准化组织(ISO)对数控机床的数控程序的编码字符
12、和程序段格式、准备功能和辅助功能等制定了若干标准和规范。不同的数控系统,其加工程序的结构及程序段格式有所不同,编程者应根据数控机床编程手册正确地加以编制。但基本的编码字符、准备功能和辅助功能代码,对于大多数数控系统来说均是相同的,且符合ISO标准。1.数控加工程序的结构一个完整的程序应从程序名开始、后接程序的内容并由程序结束符结束。例如O1000程序名N10 G00 G54 X50 Y30 M03 S3000;N20 G01 X88.1 Y30.2 F500 T02 M08;程序内容N30 X90;N40 M30;程序结束符6.2零件加工的数控编程2.程序段的格式程序段的格式是指程序段中的字、
13、字符和数据的安排形式。现在一般使用字地址可变程序段格式,每个字长不固定,各个程序段中的长度和功能字的个数都是可变的。字地址可变程序段格式中,在上一程序段中写明的、本程序段里又不变化的那些字仍然有效,可以不再重写。这种功能字称为续效字,这种指令称为模态指令。6.2零件加工的数控编程字地址程序段的一般格式6.2零件加工的数控编程字地址程序段的一般格式1)顺序号字。2)准备功能字G。3)尺寸字。4)进给速度功能字F。5)主轴转速功能字S。6)刀具功能字T。7)辅助功能字M。8)结束符号“LF”。6.2零件加工的数控编程6.2.4准备功能(G代码)准备功能因其地址符规定为G,故又称为G功能或G指令。我
14、国依据国际标准制定了JB 320883,规定了100个G代码,从G00G99与国际标准一致。G代码有模态代码(又称续效代码)和非模态代码之分。所谓非模态代码只在所规定的程序段中有效,而模态代码一经指定就一直有效,直到同一组的G代码出现或被取消为止。在同一程序段中可以指定不同组的几个G代码,而且与顺序无关。若在同一程序段内指定同一组的G代码,则后一个G代码有效。由于G代码标准化程度不高,不同数控系统G代码会有差别,因此,编程时一定要按照所用数控系统的具体规定使用。表6-3给出了FAUNC-0M系统常用G指令表。下面以该表中的常用G功能代码为例,介绍G指令的含义及编程方法。6.2零件加工的数控编程
15、6.2零件加工的数控编程1.绝对值尺寸和增量值尺寸指令G90、G91(1)绝对值尺寸指令G90指机床运动部件的坐标尺寸值相对于坐标原点给出,如图6-27a所示。绝对值尺寸和增量值尺寸编程图6-27a中:XA=25,YA=20,XB=60,YB=50。程序表达为:G90 G00 X25 Y20;X60 Y50;6.2零件加工的数控编程(2)增量值尺寸指令G91指机床运动部件的坐标尺寸值相对于前一位置给出。其正负可根据移动方向来判断,沿坐标轴正方向移动为正,沿坐标轴负方向移动为负,如图6-27b所示。图6-27b中:XA=25,YA=20,XB=35,YB=30。程序表达为:G91 G00 X25
16、 Y20;X35 Y30;注意:编程时注意G90、G91模式间的转换。使用G90、G91时无混合编程。6.2零件加工的数控编程2.工件坐标系选择指令G54G59在一些数控系统中,除可以用G92指令设定工件坐标系外,还可以用G54G59指令来选择六个工件坐标系。六个工件坐标系皆以机床原点为参考点,分别测出工件原点相对于机床原点的偏差值,并通过机床操作面板输入到零点偏置数据区,在程序中通过选择相应的 G54G59指令,刀具就会向预定坐标系中指定目标移动,如图6-28所示。用G54G59设定工件坐标系的格式如下:G54 G90 G00 X_Y_Z_;用G54G59指令设定的工件坐标系,在系统断电后不
17、被破坏,并与刀具的当前位置无关。在使用G54G59工件坐标系时,就不再用G92指令,否则,原来的坐标系统和工件坐标系将平移,产生一个新的工件坐标系。6.2零件加工的数控编程图6-28工件坐标系及其设定6.2零件加工的数控编程3.坐标平面选择指令G17、G18、G19平面选择指令是分别用来指定程序段中刀具的圆弧插补平面和刀具半径补偿平面的。其中,G17指定为XY平面,G18指定为XZ平面,G19指定为YZ平面。数控系统初始状态为G17,故G17可省略。平面设定如图6-29所示。平面设定6.2零件加工的数控编程4.快速点定位指令G00快速点定位指令G00是控制刀具以点位控制的方式快速移动到目标位置
18、,其移动速度由参数来设定。程序格式:G00 X_ Y_ Z_;格式中,X、Y、Z表示目标点的坐标值。用绝对值尺寸或增量值尺寸编程均可。不运动的坐标可以不写。注意:在各坐标方向上有可能不是同时到达终点。刀具移动轨迹是几条线段的组合,不是一条直线。了解数控系统的刀具移动轨迹情况,以避免加工中可能出现的碰撞。6.2零件加工的数控编程5.直线插补指令G01G01指令用于产生按指定进给速度F实现的空间直线运动。程序格式:G01 X_ Y_ Z_ F_;格式中,X、Y、Z表示目标位置的坐标值。用绝对值尺寸或增量值尺寸编程均可。注意:G01与F都是续效指令,可以用G00取消。如果在G01程序段之前的程序段中
19、无F指令,同时在当前包含有G01指令的程序段中又没有F指令,则数控系统会发出报警。6.2零件加工的数控编程6.圆弧插补指令G02、G03G02表示按指定速度进给的顺时针圆弧插补指令,G03表示按指定速度进给的逆时针圆弧插补指令。顺圆、逆圆的判别方法是:沿垂直于要加工圆弧所在平面的坐标轴由正方向向负方向看去,刀具相对于工件的转动为顺时针方向时为G02,逆时针方向时则为G03,如图6-31所示。图6-31圆弧顺逆的区分6.2零件加工的数控编程在XY平面内的圆弧插补,如图6-32a所示,程序格式:G17 G02(G03)G90(G91)X_Y_I_J_(R_)F_;在XZ平面内的圆弧插补,如图6-3
20、2b所示,程序格式:G18 G02(G03)G90(G91)X_Z _I_K_(R_)F_;在YZ平面内的圆弧插补,如图6-32c所示,程序格式:G19 G02(G03)G90(G91)Y_Z_J_K_(R_)F_;格式中,X、Y、Z为圆弧终点的坐标值,可用绝对值尺寸或增量值尺寸编程。在增量值方式下,圆弧终点坐标是相对于圆弧起点的增量值。I、J、K表示圆弧圆心的坐标,是圆心相对圆弧起点在X、Y、Z轴方向上的增量值,与G90、G91无关。当I、J、K为零时可以省略。R为指定圆弧半径。对于圆弧所对应的圆心角存在:当0180时,R值为正值;当180360时,R值为负值。封闭圆(整圆)只能用I、J、K
21、来编程。6.2零件加工的数控编程7.刀具长度补偿指令G43、G44、G49刀具长度补偿指令一般用于刀具轴向(Z方向)的补偿。它使刀具在Z方向上的实际位移量比程序给定值增加或减少一个偏置量。在使用每一把刀时,可使刀尖处于同一个高度。编程时可不必考虑刀具的实际长度。程序格式:G90(G91)G00(G01)G43 Z_ H_;G90(G91)G00(G01)G44 Z_ H_;G90(G91)G00(G01)G49 Z_;格式中,G43 为刀具长度正向补偿指令;G44 为刀具长度反向补偿指令;G49为取消刀具长度补偿指令;Z为目标点的编程坐标点;H为刀具长度补偿代号,后面一般用两位数字表示刀具数据
22、存储器的地址号,在此地址中存储着刀具长度补偿量刀长。6.2零件加工的数控编程使用G43、G44指令时,无论用绝对值尺寸编程还是增量值尺寸编程,程序中指定的Z轴移动点的终点坐标值,都要与H地址中所对应的补偿量刀长进行计算,G43时相加,G44时相减,然后把运算结果作为终点坐标值进行加工。刀具长度补偿如图6-36a所示。刀具长度补偿6.2零件加工的数控编程执行程序段G43 Z_H_;时,Z实际值=Z指令值+刀长;如图6-36b所示,执行程序段G44 Z_H_;时,Z实际值=Z指令值-刀长。刀长为补偿量,其可以是正值,也可以是负值。在图6-36中的刀长均为正值。注意:刀具长度补偿指令G43和G44均
23、属模态指令,一旦被指定之后,如无同组的G代码重新指令,则G43和G44一直有效。G49是取消刀具长度补偿指令。当程序中调用G49时,则G43和G44均从该程序段起被取消。除了采用G49指令外,用H00也可取消刀具长度补偿指令。在同一程序段中如果既有运动指令,又有刀具长度补偿指令时,机床首先执行的是刀具长度补偿指令,然后再执行运动指令。6.2零件加工的数控编程8.刀具半径补偿指令G41、G42、G40编程时,编程者无需考虑刀具半径,可以直接根据被加工工件轮廓曲线进行编程,同时在程序中给出刀具半径的补偿指令,并将刀具补偿参数单独输入到补偿存储器中,就可加工出零件的轮廓曲线。G41为左侧刀具半径补偿
24、指令,即沿着刀具运动方向看(假设工件不动),刀具位于工件左侧的刀具半径补偿,如图6-37a、d所示。G42为右侧刀具半径补偿指令,即沿着刀具运动方向看(假设工件不动),刀具位于工件右侧的刀具半径补偿,如图6-37b、c所示。左侧刀具半径补偿指令和右侧刀具半径补偿指令的方向判断6.2零件加工的数控编程G40为取消刀具半径补偿指令。使用该指令后,G41、G42指令无效。G41、G42、G40均为模态指令。半径补偿仅能在规定的坐标平面内进行,使用平面选择指令G17、G18或G19可分别选择XY、XZ或YZ平面为补偿平面。建立刀具半径补偿6.2零件加工的数控编程刀具半径补偿的执行过程一般可分为3步:1
25、)刀具补偿建立。为了保证刀具从无半径补偿运动到所希望的刀具半径补偿起始点,必须用一直线程序段G00或G01指令来建立,如图6-38所示。程序格式:G01(G00)G41 X_ Y_ D_;或G01(G00)G42 X_ Y_ D_;格式中,X、Y为建立补偿直线段的终点坐标值。D为刀具半径补偿代号地址字,后面一般用两位数字表示刀具数据存储器中的地址,在此地址中存储着刀具半径补偿值半径。2)刀具半径补偿进行。一旦建立了刀具半径补偿状态,则一直维持该状态,直到取消刀具半径补偿为止。在刀具补偿进行期间,刀具中心轨迹始终偏离工件轮廓一个刀具半径值的距离。G00、G01、G02、G03指令均有效。3)刀具
26、半径补偿取消。最后一段刀具半径补偿轨迹加工完成后,也应有一直线程序段G00或G01指令来取消刀具半径补偿,如图6-39所示。6.2零件加工的数控编程程序格式:G01(G00)G40 X_ Y_;格式中,X、Y为取消补偿直线段的终点坐标值。刀具半径补偿的作用除了使编程方便外,其还可以利用改变刀补大小的方法实现同一程序的粗、精加工,如图6-40所示。刀具半径补偿的作用6.2零件加工的数控编程1.固定循环的动作通常固定循环有以下6种动作,如图6-42所示。1)动作1。X轴和Y轴的定位。2)动作2。快速运动到R点(参考平面)。3)动作3。钻孔。4)动作4。在孔底作相应的动作。5)动作5。回退到R点。6
27、)动作6。快速运动到初始点位置。果孔加工的动作无须变更,则程序中只需给出孔的中心点坐标,其他数据都可以不写,因此可以大大简化编程。6.2.5固定循环指令在数控铣床的数控系统中配备的固定循环功能,主要用于钻孔、镗孔、攻螺纹等。使用一个程序段就可以完成一个孔加工的全部动作。如6.2零件加工的数控编程固定循环的动作6.2零件加工的数控编程2.固定循环G代码的组成固定循环的G代码是由数据形式、返回点平面和加工方式三种G代码组合而成。固定循环的基本格式为:1)数据形式。固定循环指令中地址R与地址Z的数据与G90或G91的方式选择有关。如果使用G90指令,R和Z的数值均是绝对坐标值。如果使用G91指令,R
28、和Z的数值均是相对刀尖点的增量数值。2)返回点平面。G98指令是返回到初始平面,G99指令是返回到R点平面,如图6-43所示。6.2零件加工的数控编程3)加工方式。根据加工情况选择一种。每个指令都代表一种加工方法。4)坐标数据。即孔中心点坐标。5)加工数据。孔加工数据含义如下:6.2零件加工的数控编程6.2零件加工的数控编程上述孔加工数据,不一定全部都写,根据需要可省略若干地址和数据。固定循环指令以及Z、R、Q、P等指令均为模态的,直到用G80取消指令为止。下面简要介绍几种常用的固定循环指令。(1)G81钻孔循环指令格式:G81 X Y Z R F;G81钻孔循环动作如图6-44所示。(2)G
29、83深孔钻循环指令格式:G83 XYZRQF;指令中的Q表示每次进给的深度。如图6-45所示,第一次钻削切入q值,然后快速退回到R点平面,从第二次后切入时,先快速进给到距上次加工到达的底部位置的d值后,变为切削进给,切入q值后快速退回到R点平面,反复钻削,直到孔底。引入量d值由参数设定。6.2零件加工的数控编程G81钻孔循环动作G83深孔钻循环动作6.2零件加工的数控编程6.2.6辅助功能(M代码)辅助功能也叫M功能,它由地址符M和其后的两位数字组成,从M00M99共100种,已标准化。主要用于控制零件程序的走向,以及机床各种辅助功能的开关动作。M功能也因机床结构的差异和规格的不同而有所差别,
30、表6-4给出了一些通用的M代码功能。6.2零件加工的数控编程M功能有非模态M 功能和模态M 功能两种形式。非模态M 功能(当段有效代码)即只在书写了该代码的程序段中有效。模态M 功能(续效代码)即一组可相互注销的M 功能,这些功能在被同一组的另一个功能注销前一直有效。(1)程序停止指令M00M00指令实际是一个暂停指令。当执行由M00指令的程序段后,主轴停转、进给停止、切削液关闭而进入程序停止状态。按启动按钮后,可继续执行下面的程序。(2)程序结束指令M02执行M02指令,主轴停转、切削液关闭、进给停止,并将控制部分复位到初始状态。它编在最后一条程序段中,用以表示程序结束。(3)主轴正、反转及
31、停止指令M03、M04、M05M03表示主轴正转(顺时针方向旋转),M04表示主轴反转(逆时针方向旋转)。所谓主轴正转,是从主轴往-Z方向上看去,主轴处于顺时针方向旋转,而逆时针方向旋转则为反转。M05表示主轴停止转动。(4)程序结束指令M30M30表明程序结束,是在执行完程序段内所有指令后,使主轴停转、切削液关闭、进给停止,并使机床及控制系统复位到初始状态,自动返回到程序开始状态,为加工下一个工件做好准备。6.2零件加工的数控编程6.2.7子程序的应用数控加工程序分为主程序和子程序两种。主程序有时又称为工作程序,是数控加工中的主要程序。如果在一个加工程序中有几个一连串的程序段完全相同(即一个
32、零件中有几处形状相同,或刀具运动轨迹相同),为了简化程序的编制,缩短程序量,可把重复的程序段单独抽出,编成一个程序,存储在CNC系统内,反复调用。这段程序就称为“子程序”。子程序通常由主程序直接调用。子程序编程是计算机程序设计语言中的基本功能。现代CNC系统一般都提供调用子程序功能。但子程序调用不是数控系统的标准功能,不同的数控系统所用的指令和格式均不相同。以FANUC数控系统为例,主程序与子程序的运行关系如图6-47所示。6.2零件加工的数控编程主程序与子程序的运行关系6.2零件加工的数控编程调用子程序的程序格式为:M98 PXXXXLXX;其中,PXXXX是子程序的程序号;LXX是调用子程
33、序的次数。从子程序返回主程序的指令为:M99;在正常情况下,数控机床是按主程序的指令工作的。当主程序中有调用子程序的指令M98时,数控机床就停止主程序的顺序工作,而按指令调用子程序工作。当子程序执行完毕后,按返回主程序的指令M99回到主程序中,从调用子程序语句的下一条语句开始继续运行主程序。一个子程序又可调用另一个子程序,这称为子程序嵌套。6.2零件加工的数控编程调用子程序的程序格式为:M98 PXXXXLXX;其中,PXXXX是子程序的程序号;LXX是调用子程序的次数。从子程序返回主程序的指令为:M99;在正常情况下,数控机床是按主程序的指令工作的。当主程序中有调用子程序的指令M98时,数控
34、机床就停止主程序的顺序工作,而按指令调用子程序工作。当子程序执行完毕后,按返回主程序的指令M99回到主程序中,从调用子程序语句的下一条语句开始继续运行主程序。一个子程序又可调用另一个子程序,这称为子程序嵌套。第6章 数控系统与数控编程6.3 计算机辅助编程基础6.3计算机辅助编程基础6.3.1CAD/CAM的图形交互自动编程软件概述随着数控加工技术的迅速发展,数控加工设备种类的增多,需要数控加工的零件品种和数量增多,零件的几何形状也更加复杂,因而对编程技术的要求也相应地提高,不仅要求能解决形状复杂零件的编程问题,而且要求编程速度快,精度高,并便于直观地检查,这样,手工编程方法在某些方面就显现出
35、了一些缺陷和不足。手工编程要用人工方法对零件的几何信息进行必要的数学处理,用手工方法编写加工程序,制备数控介质,因而编程速度慢,精度低,对所编程序的检查也很困难,特别对某些形状复杂零件的编程问题,如曲面零件的三轴联动、五轴联动加工编程问题,用手工编程非常困难甚至无法解决。当今,由于计算机技术发展十分迅速,计算机的图形处理功能有了很大的增强,因而一种可以直接将零件的几何图形信息自动转化为数控加工程序的全新的计算机辅助编程技术“图形交互自动编程”便应运而生。6.3计算机辅助编程基础“图形交互自动编程”是一种计算机辅助编程技术。它是通过专用的计算机软件来实现的。这种软件通常以计算机辅助设计(CAD)
36、软件为基础,利用CAD软件的图形编辑功能将零件的几何图形绘制到计算机上,形成零件的图形文件,然后调用数控编程模块,采用人机交互的方式在计算机屏幕上指定被加工的部位,再输入相应的加工参数,计算机便可自动进行必要的数学处理并编制出数控加工程序,同时在计算机屏幕上动态地显示出刀具的加工轨迹。很显然这种编程方法与手工编程相比,具有速度快、精度高、直观性好、使用简便、便于检查等优点。因此“图形交互自动编程”已经成为目前国内外先进的CAD/CAM(计算机辅助设计/辅助制造)软件所普遍采用的数控编程方法。6.3计算机辅助编程基础从20世纪80年代以后,各种不同的CAD/CAM集成数控图形交互自动编程系统如雨
37、后春笋般地迅速发展起来,如法国的Euclid;美国的UG,MasterCAM,SurfCAM,Pro/Engineer;以色列的Cimatron;英国的Powermill;我国的CAXA-ME制造工程师、金银花(Lonicera)系统等。20世纪90年代中期以后,CAD/CAM集成数控图形自动编程向集成化、智能化、网络化、并行化和虚拟化方向迅速发展。6.3计算机辅助编程基础基于CAD/CAM的图形交互自动编程的基本步骤6.3计算机辅助编程基础1.零件图样及加工工艺分析零件图样及加工工艺分析是数控编程的基础。图形交互自动编程和手工编程一样,首先也要进行这项工作。因为图形交互自动编程需要将零件被加
38、工部位的图形准确地绘制在计算机上,并需要确定有关工件的装夹位置、工件坐标系、刀具尺寸、加工路线以及加工工艺参数等数据之后才能进行编程,所以作为编程前期工作的零件图样及加工工艺分析的主要任务为:1)核准零件的几何尺寸、公差和精度要求。2)确定零件相对机床坐标系的装夹位置以及被加工部位所处的坐标平面。3)选择刀具并准确测定刀具有关尺寸。4)确定工件坐标系、编程零点、找正基准面及对刀点。5)确定加工路线。6)选择合理的工艺参数。6.3计算机辅助编程基础3.刀位轨迹的计算、生成与编辑图形交互自动编程的刀位轨迹的生成是面向屏幕上的图形交互进行的。其基本过程是这样的:首先在刀位轨迹生成菜单中选择所需的菜单
39、项,然后根据屏幕提示,用光标选择相应的图形目标,指定相应的坐标点,输入所需的各种参数。软件将自动从图形文件中提取编程所需的信息,进行分析判断,计算出节点数据,并将其转换成刀位数据,存入指定的刀位文件中或直接进行后置处理生成数控加工程序,同时在屏幕上显示出刀位轨迹图形。刀位轨迹生成后,对于具备刀位轨迹显示及交互编辑功能的系统,还可以将刀位轨迹显示出来,如果有不太合适的地方,可以在人工交互方式下对刀位轨迹进行适当编辑与修改。刀位轨迹的生成大致可分为四种情况:点位加工刀位轨迹的生成;平面轮廓加工刀位轨迹的生成;槽腔零件加工刀位轨迹的生成;曲面加工刀位轨迹的生成。下面就分别介绍各种刀位轨迹的生成过程。
40、6.3计算机辅助编程基础(1)点位加工刀位轨迹的生成(2)平面轮廓加工刀位轨迹的生成(3)槽腔零件加工刀位轨迹的生成(4)曲面加工刀位轨迹的生成点位加工刀位轨迹刀位轨迹偏离零件轮廓槽腔零件加工刀位轨迹6.3计算机辅助编程基础曲面加工刀位轨迹6.3计算机辅助编程基础4.刀位轨迹的验证与仿真对于生成的刀位轨迹数据,可以利用系统的验证与仿真功能检查其正确性与合理性。所谓刀位轨迹验证是指利用计算机图形显示器把加工过程中的零件模型、刀位轨迹、刀具外形一起显示出来,以模拟零件的加工过程,检查刀位轨迹是否正确、加工过程是否发生过切,所选择的刀具、走刀路线、进退刀方式是否合理、刀具与约束面是否发生干涉与碰撞。
41、5.后置处理后置处理的目的是形成数控指令文件。由于各种机床使用的数控系统不同,所以所用的数控指令文件的代码及格式也有所不同。为了解决这个问题,软件通常设置一个后置处理文件。在进行后置处理前,编程人员需对该文件进行编辑,按文件规定的格式定义数控指令文件所使用的代码、程序格式、圆整化方式等内容。软件在执行后置处理命令时将自动按照设计文件定义的内容,输出所需要的数控指令文件。另外,由于某些软件采用固定的模块化结构,其功能模块和控制系统是一一对应的,后置处理过程已固化在模块中,所以在生成刀位轨迹的同时便自动进行后置处理生成数控指令文件,而无需再单独进行后置处理。6.3计算机辅助编程基础6.加工程序的输
42、出由于图形交互自动编程软件在编程过程中可在计算机内自动生成刀位轨迹图形文件和数控指令文件,所以程序的输出可通过计算机的各种外部设备进行。使用打印机可以打印出数控加工程序单供人工阅读。对于有标准通用接口的机床控制系统,可以和计算机直接联机,由计算机将加工程序直接传输给机床控制系统。6.3计算机辅助编程基础6.3.3数控程序的检验1.数控仿真技术概述无论是采用语言自动编程方法还是采用图形自动编程方法生成的数控加工程序,在加工过程中是否发生过切或欠切,所选择的刀具、走刀路线、进退刀方式是否合理,零件与刀具、刀具与夹具、刀具与工作台是否干涉和碰撞等,编程人员往往事先很难预料,结果可能导致工件形状不符合
43、要求,出现废品,有时还会损坏机床、刀具。随着NC编程的复杂化,NC代码的错误率也越来越高。因此,零件的数控加工程序在投入实际的加工之前,如何有效地检验和验证数控加工程序的正确性、确保投入实际应用的数控加工程序正确,是数控加工编程中的重要环节。NC程序的检验方法有多种。方法之一是在正式加工之前让机床空运行,空运行只能对机床运动是否正确及有无干涉碰撞做粗略的估计。方法之二是试切法。传统的试切是在塑模、蜡模或木模上进行的,通过塑模、蜡模或木模零件尺寸的正确性来判断数控加工程序是否正确。但试切过程不仅占用了加工设备的工作时间,还需要操作人员在整个加工周期内进行监控,而且加工中的各种危险同样难以避免。方
44、法之三是轨迹显示法,即以划针或笔代替刀具,以着色板或纸代替毛坯来仿真刀具运动轨迹的二维图形(也可以显示二维半的加工轨迹)。这种方法局限性更大。为此,人们一直在寻找能够快速、安全、有效地验证NC程序正确性的方法。6.3计算机辅助编程基础数控仿真技术主要分为几何仿真和物理仿真两个方面。(1)数控加工的几何仿真(2)数控加工的物理仿真目前物理仿真主要有以下几种形式。1)预测刀具切削性能的物理仿真。2)预测切屑的大小及形状。5)预测表面加工质量,优化加工参数。4)预测切削力。3)预测机床或工件热变形对工件加工精度的影响。6.3计算机辅助编程基础2.刀位轨迹仿真刀位轨迹仿真一般在后置处理之前进行。通过读
45、取刀位数据文件检查刀具位置计算是否正确,加工过程中是否发生过切,所选刀具、走刀路线、进退刀方式是否合理,刀位轨迹是否正确,刀具与约束面是否发生干涉与碰撞。这种仿真一般可以采用动画显示的方法,效果逼真。由于该方法是在后置处理之前进行的,所以可以脱离具体的数控系统环境进行。刀位轨迹仿真法是目前比较成熟有效的仿真方法,应用比较普遍。它主要有刀位轨迹显示验证、截面法验证等方式。(1)刀位轨迹显示验证(2)刀位轨迹截面法验证6.3计算机辅助编程基础刀位轨迹显示验证刀位轨迹横截面法验证刀位轨迹纵截面法验证6.3计算机辅助编程基础3.三维动态切削仿真法只显示刀具模型和零件模型的加工过程动态仿真同时动态显示刀
46、具模型、零件模型、夹具模型和机床模型的机床仿真系统6.3计算机辅助编程基础4.虚拟加工仿真法 虚拟加工仿真法是应用虚拟现实技术实现加工过程的仿真技术。虚拟加工仿真法主要要解决加工过程和实际加工环境中,工艺系统间的干涉碰撞问题和运动关系。由于加工过程是一个动态的过程,刀具与工件、夹具、机床之间的相对位置是变化的,工件从毛坯开始经过若干道工序的加工,在形状和尺寸上均在不断变化,因此虚拟加工仿真法是在各组成环节确定的工艺系统上进行动态仿真。虚拟加工仿真法与刀位轨迹仿真方法不同,虚拟加工仿真法能够利用多媒体技术实现虚拟加工,不只能解决刀具与工件之间的相对运动仿真,更重视对整个工艺系统的仿真。虚拟加工软
47、件一般直接读取数控程序,模仿数控系统逐段翻译,并模拟执行,利用三维真实感图形显示技术模拟整个工艺系统的状态,还可以在一定程度上模拟加工过程中的声音等,提供更加逼真的加工环境效果。6.3计算机辅助编程基础虚拟加工过程仿真的组成第6章 数控系统与数控编程6.4 计算机辅助自动编程实例6.4计算机辅助编程实例6.4.1UG NX4.0编程实例叶片零件的编程与加工(1)叶片的图样及截面数据列表叶片图样如图6-60a所示。该叶片主要型面为单截面形状,如图6-60b所示。对于叶片型面截面,叶盆和叶背截面样条线A和样条线B数据如图6-61所示。叶片简图6.4计算机辅助编程实例叶片截面作图数表6.4计算机辅助
48、编程实例三维叶片模型应用UG NX4.0的三维建模功能按照叶片图样和截面数表创建的三维叶片模型如图6-62所示。6.4计算机辅助编程实例(2)叶片的程序编制和加工1)工艺分析。为了保证叶片的加工质量、生产率、经济性和加工可行性,可按照基准先行、先粗后精、先主后次工序工艺原则进行加工。总体来说叶片的加工可分为三个阶段,即粗加工阶段,半精加工阶段和精加工阶段。叶片的毛坯是二级锻件,在粗加工时,主要是去除各个表面上的大余量,去除锻造淤块,加工出榫根及叶尖工艺台基准面。叶片加工的关键阶段是半精加工阶段和精加工阶段。这两个阶段主要保证叶片的尺寸精度、形状精度、位置精度和表面粗糙度。叶片在半精加工后基本成
49、形。精加工阶段主要是精铣和精磨。光整加工夹杂在精铣阶段的工序之间完成。因为加工技术受限,不能达到设计要求和定位精度要求时,需要钳工做一定的修整。6.4计算机辅助编程实例2)刀具选择。叶片加工中的刀具选择比较严格。选择刀具时应考虑毛坯材料、机床、允许的切削用量、刚性和耐用度、精度要求、加工阶段。叶片数控铣削过程中常用的刀具有球头刀和面铣刀。表6-5给出了这两种刀具的比较结果。6.4计算机辅助编程实例3)叶片的定位与装夹。不同的加工阶段需要使用不同的装夹方案,以保证加工的精度与效率。由于叶片通常比较薄,刚性差,易发生加工变形,采用通用夹具时生产质量和效率较低,故采用数控转台附带专用夹具。对于叶片型
50、面,在前面辅助工序完成后,借助夹具,采用一夹一顶的方式,在带有旋转轴的立式加工中心进行四轴粗、精加工。对于单个叶片型面,可以采用以上方法,在带有数控转盘的立式铣床上进行加工。考虑到叶片在数控铣床上的装夹,在工艺安排时,需要设计装夹的辅助夹具。在带有数控转盘的立式铣床上加工叶片时,采用圆盘夹紧、尾座顶住的方式装夹。粗加工时,刀具切深相对比较大。使用这种过定位的夹具,其优点是支撑面积大,刚性好,能减少叶片受力变形。缺点是增加了叶片的夹紧变形。对定位面和基准面的精度要求高,往往需要预先进行磨加工。6.4计算机辅助编程实例同时需要注意在设计夹具时考虑定位基准,防止角向位置产生窜动。带有夹具和顶尖孔的装