CAM (Computer Aided Manufacturing--计算机辅助制造)是CAD/CAM及CIMS的重要组成部分。从广义上讲包括:计算机辅助生产计划、计算机辅助工艺过程设计、计算机数控编程、计算机控制加工过程设计、计算机数控编程、计算机控制加工过程等内容。本章阐述有关数控编程的内容。
使用数控机床加工时,必须编制零件的加工程序。理想的加工程序不仅应保证加工出符合设计要求的合格零件,同时应能使数控机床功能得到合理的应用和充分的发挥,且能安全可靠和高效地工作。
编制程序前,程序编制者需了解所用数控机床的规格、性能,CNC系统所具备的功能及编程指令格式等。编制程序时,需先对零件图纸规定的技术特性、零件的几何开头尺寸及工艺要求进行分析,确定加工方法、加工路线和工艺参数,再进行数值计算获得刀位数据。然后钭工件的尺寸、刀具运动中心轨道、位移量、切削能数(主轴转速、刀具进给量、切削深度等)以及辅助功能(主轴正、反转,冷却液开、关等),按数控机床采用的指令代码及程序格式,编制出工件的数控加工程序。程序编制好之后,大都需要控制介质,常见的控制介质为穿孔纸带,还有磁盘,磁泡存储器等。通过控制介质将零件加工程序送入控制系统,或由面板通过人机对话将零件加工程序送入CNC控制系统,不仅免去了制备控制介质的繁琐工作,而且提高了程序信息传递的速度及可靠性。
6.1.2数控编程的内容与步骤
数控编程的主要内容包括:分析零件图纸,进行工艺处理,确定工艺过程;数学处理,计算刀具中心运动轨迹,获得刀位数据;编制零件加工程序;制备控制介质;校核程序及首件试切。数控编程一般分为以下几个步骤(见图6-1):
1. 分析零件图样,进行工艺处理地 编程人员首先需对零件的图纸及技术要求详细的分析,明确加工的内容及要求。然后,需确定加工方案、加工工艺过程、加工路线、设计工夹具、选择刀具以主合理的切削用量等。工艺处理涉及的问题很多,数控编程人员要注意以下几点:
(1)确定加工方案 根据零件的几何形状特点及技术要求,选择加工设备。此时应考虑数控机床使用的合理性及经济性,并充分发挥数控机床的功能。
(2)正确地确定零件的装夹方法及选择夹具 在数控加工中,应特别注意减少辅助时间,使用夹具要加快零件的定位和夹紧过程,夹具的结构大多比较简单。使用组合夹具有很大的优越性,生产准备周期短,标 准件可以反复 使用,经济效果好。另外,夹具本身应该便于在机床上安装,便于协调零件和机床坐标系的尺寸关系。
(3)合理地选择走刀路线 应根据下面的要求选择走刀路线:1)保证零件的加工精度及表面粗糙度;2)取最佳路线,即尽量缩短走刀路线,养活空行程,提高生产率,并保证安全可靠;3)有利于数值计算,减少程序段和编程 工作量。下面举例加以说明。
在精镗孔时,孔的位置精度要求较高,安排走刀路线时,必须避免将坐标轴的反向间隙误差带入,直接影响孔的位置精度。
切削轮廓零件时,刀具应沿工件的切向切入切出,避免径向切入切出,如果刀具径向切入,当切入后转向轮廓加工时要改变运动方向,此时切削力的大小和方向也将改变并且在工件表面有停留时间,工艺系统将产生弹性变形,在工作表面产生刀痕。如图6-2a,而切向切入和切出将得到良好的表面粗糙讳莫如深,如图6-2b。切削内、外圆时也应按照切向方向切入切出的原则安排走刀路线。
加工空间曲面时,走刀路线如果选择正确,可极大地提高生产率。例如:加工半椭圆柱面,如沿母线切削,见图6-3a,即每次走直线,刀位点计算简单,程序段少。而没 直于轴线方向,见6-3b ,切削为一组椭圆,数控机床一般只具有直线和圆弧插补功能,因此椭圆需用小直线段逼近,刀位点计算复杂,且程序段多。
(4)正确的选择对刀点 数控编程时,正确地选择对刀点是很重要的。"对刀点"就是在数控加工时,刀具相对工件运动的起点,其选择也是从这一点开始执行,对刀点 称为"程序原点"。编程时,应首先选择对刀点,其选择原则如下:1)选择对刀的位置(即程序的起点)应使骗程简单;2)对刀点在机床上容易找正,方便加工;3)加工过程便于检查;4)引起的加工误差小。
对刀点可以设在加工零件上或夹具上或机床上,但必须与零件的定位基准有确定的关系。为了提高零件的加工精度,对刀点应尽量选在零件的设计基准或工艺基准上。对于以孔定位的零件。可以取孔的中心作为对刀点。对鼠点不仅仅是程序的起点,而且往往又是程序的终点。因此在生产中,要考虑对刀的重复精度。对鼠时,应使对鼠点与鼠位点重合。所谓鼠位点,是指刀具的定位基准点。对立铣刀来说是球头刀的球心;对于车鼠是刀尖;对于钻头是钻尖;为了提高对刀精度可采用千分表或对鼠仪进行找正对刀。
在工艺处理中心须正确确定切削深度和宽度、主轴转速、进给速度等。切削参数具体数值应根据数控机床使用说明书、切削原理中规定的方法并结合实践经验加以确定。
(5) 合理选择刀具 数控编程时还需合理正确选择刀具。根据工件的材料性能、机床的加工能力、数控加工工序的类型、切削参数以及其它与加工有关的因素来选择刀具。对刀具的总要求是:安装调整方便、刚性好、精度高、耐用度好等。
2. 数学处理 根据零件的几何形状,确定走刀路线及数控系统的功能,计算出刀具运动的轨迹,得到刀位数据。数控系统一般都具有直线与圆弧插补功能。对于由直线、圆弧组成的较简单的平面零件,只需计算出零件轮廓的相领几何元素的交点或切点的坐标值,得出各几何元素的起点、终点、圆弧的圆心坐标值。如果数控系统无刀补功能,还庆计算鼠具运动的中心轨迹。对于复杂的零件计算复杂,例如,对非圆曲线(如渐开线、阿基米德螺旋线等),需要用直线段或圆弧段逼近在满足中工精度的情况下,计算出曲线各节点的坐标值,对于自由曲线、自由曲面,组合曲面的计算更为复杂,其算法参见本书腾章节,一般需用计算杨计算,否则难以完成。
数控编程中误差处理亦是一重要问题,数控编程误差由三部分组面成:
(1)逼近误差似的方法逼近零件轮廓时产生的误差,又称呈次逼近误差,它出现在用直线段或圆弧段直接逼近轮廓的情况及由样条函数拟合曲线耐 ,此时亦称拟合误差。因所拟合误差往往难以确定。
(2)插补误差用样条函数拟合零件轮廓后, 进行加工时,必须用直线或圆弧段作二次逼近,此时产生的误差亦称插补误差。其误差根据零件的加工精度要求确定。
(3)圆整误差编程中数据处理、脉冲当量转换、小数圆整时产生的误差对空虚误差的处理要注意否则会产生较大的累积意误差,从而导致编程误差增大,应采用合理的圆整化方法。
3. 编写零件加工程序在完成上述工艺处理及数值计算后即可编写零件加工程序,按照规定的程序格式的编程指令,逐段写出零件加呀程序。
4. 制备控制介质及输入程序过去大多数控机床程序的输入是通过穿孔纸带控制介质实现的。现在也可通控制面板可直接通迅的方法将程序输送到数控系统中。
5.程序检验及首件试切 准备好的程序和纸带必须校验和试切削,才能正式加工。一般说来,纸带首先通过穿孔机的穿复校功能,检查穿孔是否有误。然后,将穿孔纸带上的信息输入到数控系统中进行空走刀检验。有数控机床上,过去试验的方法以笔代替刀具,坐标纸代替工件进行空运转画图,检查机床运动轨迹与动作的正确性。现在在具有图形显示屏幕的数控机床上,用显示走刀轨迹或模拟刀具和工件的切削过程的方法进行检查更为便。对于复杂的空间零件,则需使用石蜡、木件进行试切。首件试切不仅可查出程序是否有错误,还可知道加工精度是否符合要求。当发现错误时,或修改程序单或采取尺寸补偿等措施。近代,随着计算机科学的不断发展发展,可采用先进的数控加工仿真系统,对数控序进行检验。
6.1.3数控编程的标准与代码
为了数控机床的设计、制造、维护、使用以及推广的方便,经过多年的不断实践与发展,在数控编程中所使的输入代码、坐标位移指令、坐标系统命名、加工指令、辅助指令、主运动和进给速度指令、刀具指令及程序格式等都已制定了一系列的标准。但是,各生产厂家使用的代码、指令等不完全相同,编程时必须遵照使用的具体的机床编程手册中的规定。下面对数控加工中使用的有关标准及代码加以介绍。
1.穿孔纸带及代码 穿孔纸带是数控机床上应用较广的输入介质。在纸带上利用穿孔的方式记录着零件加工程序的指令。国际上及我国广泛使用8单位的穿孔纸带。穿孔纸带的编码国际上采用ISO或EIA标准,两种代码的纸带规格按照EIA RS-227标准制定。我国JB3050-82与其等效,标准穿孔带规格见图6-4,ISO及EIA代码见表6-1。
由代码表及纸带规格可知,纸带的每行(排)共有九列孔,其中一列小孔称为中导孔或同步孔,用来产生读带的同步控制信息。其余八列大孔组合来表示数字、字母或符号。有孔表示二进制的"1"无孔表示为"0"。在ISO标准中,代码由七位二进制数和一位偶校验位组成。每个代码其也的个数之和必须为偶数,即为偶校验,当某个代码的孔数为奇数时,就在该代码行的第八列上穿一孔,使其总数为偶数。EIA标准中,所有的代码的孔数必须为奇数,第五列孔用来补奇。数控机床的输入系统中有专门的奇偶校验电路。当输入的代码一旦违反ISO或EIA标准规定的奇、偶数时,控制系统即会发出错信息,并命令停机。
ISO标准代码为七位编码,而EIA为六位编码(不包括奇偶校验位),因而ISO代码数比EIA我一倍。ISO代码规律性强,数字代码第五、六列有孔,字 第七列的均有孔,符号第七列或第六列均有孔。这些规律对读带及数控系统的设计都带来方便。
2.数控机床坐标系命名 为了保证数控机床的正确运动,避免工作不一致性,简化编程和便于培训编程人员,统一规定了数控顶床坐标轴的代码及其运动的正、负方向。根据ISO标准及我国JB3051-82标准,数控机床的坐标轴命名规定如下:机床的直线运动采用为笛卡尔直角坐标系,其坐标命名为X、Y、Z、,使用右手定律判定方向,如图6-5所示。右手的大拇指、食指和中指互相垂直时,则拇指的方向为X坐标轴的正方向,食指为Y示轴的正言向,中指为Z坐标轴的正方向。以X、Y、Z坐标轴线或以与X、Y、Z会标轴平行的坐标轴线为中中旋转的运动,分别称为A、B、C。A、B、C的正方向按右手螺旋定律确定。见图6-7,即当右手握紧螺丝时,拇指指向+X、+T、+Z轴正向时,则其余四指方向分别为+A、+B、+C轴的旋转方向。
Z坐标的运动 传递切削力的主轴规定为Z坐标轴。对于铣床、镗床和攻丝机床来说,转动刀具的轴称为主轴。而车床、靡床等则以转动工件的称为主轴。如果,机床上有几个主轴百,则选其中一个与工件装夹基面垂直的轴为主轴。当朵床没有主轴时,则选垂直于工件装卡系。
X坐标的运动 X坐标是水平的,它平行于工件的装卡面。在工件旋转的机床(如车床、磨床等),取平行于横向滑座的方向(工件的径向)为X坐标。因此安装在横刀架(横进给台上的刀具离开工件旋转轴方向为X正方向上。对于刀具旋转的机麻烦(例如铣床、镗床)当Z轴为水平时,沿刀具主轴向工件的方向看,向右方向为X轴正方向。
Y坐标轴运动 Y坐标轴垂直于X及Z坐标。按右手直角笛卡尔坐标系统判定其正方向。以上都是取增大工件和刀具远离工件的方向为正方向。例如钻、镗加工,切入工件的方向为Z坐标的负方向。
为了编程的方便,不论数控机床的具体结构是工件固定不动刀具移动,还是刀具固定不动工件移动,确定坐标系时,一律按照刀具相对于工件运动的情况。当实际 刀具固定不动工件称动时,工件(相对于刀具)运动的直角坐标相应为X、Y、Z。但由珠二者是相对运动,尽管实际上是工件运动,仍以刀具相对运动X、Y、Z进行编程,结果是一样的。
除了X、Y、Z主要方向的直线运动外,还有其它的与之平行的上线运动,可分别命名为U、V、W坐标轴,称为第二坐标系。如果再有,可用P、Q、R表示。如果在旋转运动A、B、C之外,还有其它旋转运动,则可用D、E、F表示。
3.绝对坐标与增量坐标 运动轨迹的坐标点以固定的坐标原点计量,称作绝对坐标。例如图6-8所示,A、B点的坐标皆以固定点。坐标原点计量,其坐标值为:XA=30,YA=40,XB=90,YB=95。运动轨迹的终点坐标值,以其起点计量的坐标称作增量坐标系(或相对坐相系)。常用代码表中的第二坐标系U、V、W分别与X、Y、Z平行且同向。图6-8B中B点是以起点A为原点建立的U、V坐标来计量的,终点B的增量坐标为:UB=60,VB=55。
6.1.4 数控编程的指令代码
在数控编程中,使用G指令代码,M指令代码及F、S、T指令指令描述加工工艺过程和数控系统的运动特征。数控机床的启停、冷却液开关等辅助功能以及给出进给速度、主轴转速等。国际上广泛采用ISO-1056-1975E标准,国家机械工业部制要了与标准等效的JB3208-83标准用于数控编程中。其代码见表6-2及表6-3。
准备功能指令亦叫"G" 指令。它是由勃母"G" 和其后2位数字组成,从G00到G99(见表6-2)。该指令主要是命令数控机床进行何种运动,为控制系统的插补运算作好准备。所以一般它们都位于程序段中坐标数字指令的前面。常用的G指令有:
(1)G01-直线插补指令 使机床进行两坐标(或三坐标)联动的运动,在各个平面内切削出任意余率的直线。
(2)G02、G03-圆弧插补指令 G02为顺时针圆弧插补指令,G03为逆时针圆站指令。圆弧的顺、逆方向可按图6-9中给出的方向进行判断。即沿圆弧所在平面(YZ平面)的另一坐标的负方向(即-Y)看去,顺时针方向为G02,逆进针方向为G02,逆时针方向为G03。使用圆弧插补指令之前必须应用平面选择指令,指定圆弧插补的平面。
(3)G00--快速点定位指令 它命令刀具以点位控制方式从刀具所在点快速移动到下一个目标位置。它只是快速定位,而无运动轨迹要求。
(4)G17、G18、G19-坐标平面选择指令 G17指定零件进行XY平面上的加工,G18、G19分别为YZ、ZX平面上的加工。这些指令在进行圆弧插补,刀具补偿时必须使用。
表6-3 辅助功能M代码
(5)G40、G41、G42-刀具半径补偿指令 数控装置大都具有刀具半径补偿功能,为编程提供了方便。当铣削零件轮廓时,不需计算刀具中心运动轨迹。而只需按零件轮廓编程,使用刀具半径补偿指令,并在控制面板上使用刀具拨码盘或键盘人工输入刀具半径,数控装置便以自动地计算出刀具中心轨迹,并按刀具中心轨迹运动。当刀具磨损或刀具重磨后,刀具半径变小,只需手工输入改变后的刀具半径,而不修改已编好的序或纸带。在用同一把刀具进行粗、精加工时,设精加工余量为 ,则粗加工的补偿量为 ,而精加工的补偿量改为r即可。
G41和G42分别辊为左(右)偏刀具裣指令,即沿刀具前进方向看(假设工件不动),刀具位于零件的左(右)侧时刀具半径补偿。
F40为刀具半径补偿撤消指令。使用该指令后使G41、G42指令无效。
(6)G90、G91--绝对坐标尺雨及增量坐标尺寸编程指令 G90表示程序输入的坐标值按绝对坐标值取;G91表示程序段的坐标值按增量坐标值取。
辅助功能指令亦称"M"它是由字母"M"和其后的两位灵敏字组成,从M00到M99共100种,见表6-3。这些指令与数控系统的插补运算无关,主要是为了数控加工、机床操作而设定的工艺性指令及辅助功能,是数控编程必不可少的,常用的辅助功能指令如下:
(1) M00--程序集止 完成该程序段的其它功能后,主轴、进给、冷却液送进都停止。此时可执行某一手动操作,如工件调头、手动变速等,如果再重新按下控制而板上的循环启动按钮,继续执行下一程序段。
(2) M01--任选停止 该指令与M00相类似。所不同的是,必须在操作面板上予先揿下"任选停止"按钮,才能使程序停止,否则M01将不起作用。当零件加工时间较长,或在加工过程中需要停机检查、测量关键部位以及交换班等情况时,使用该指令很方便。
(3) M02--程序结束 当全部程序结束时使用该指令,它使主轴、进给、冷却液送进停止,并使机床复位。
(4) M03、M04、M05--主轴顺时针旋转(正转)、主轴逆时针旋转(反转)及主轴停指令。
(5)M06--换刀指令 用于具有刀库的工中心数控机庆换刀功能。
(6)M08--冷却液开。
(7)M09--冷却液关。
(8)M30--程序结束并倒带 除了具有M02的功能外,该指令还使纸带倒回至起始位置。
(9)M98--子程序调用指令。
(10)M99--子程序返回到主程序指令。
6.1.5数控加工程序的结构与格式
1.程序的结构 数控加工程序是由程序号、程序段及相应符号组成。图6-10所示零件的加工程序如下:
0600
NI G92 XO YO NI ;
N2 S300 M03;
N3 G90 G00 X-5.5 Y-6;
N4 Z-1.2 M08;
N5 G41 G01 X-5.5 Y-5. D03F2.4;
N6 Y0;
N7 G02 X -2.Y3.5 R3.5;
N8 G01 X 2. Y3.5;
N9 G02 X 2. Y-3.5 R3.5;
N10 G01 X -2. Y-3.5;
N11 G02 X -5.5 Y0R3.5;
N12 G01 X -5.5 Y5.;
N13 G40 G00 X -5.5 Y6. M09;
N14 Z1.M05;
N15 X0 Y0;
N16 M30;
由该例可看出,程序的开头写有程序号:0600(程序名)以便于与其它程序加以区别。它由程序号地址码(0)及程序的编号(600)组成。不同的数控系统,程序号地址码是有差别的。FANUC 6M为0;SMK 8M系统则用%等。该程序由十六个程序段组成。程序结束定M30,是程序终了指令。
2.程序段格式 程序段格式主要有字地址可变程序段格式、分隔符固定顺序程序段格式等。
(1)字地址可变程序段格式 目前国内外广泛采用字地址可变程序段格式。所谓可变程序段即程序段的长度是可变是,推荐使用JB3832--85数控机床轮廓和点位加工可变程序段格式标准。
字地址的每个程序段由若干个字组成。每个字由英文字母开头,其后紧跟数字(有的数字前面有符号)构成的,它代表数控系统中的一个具体指令。字母代表字的地址,例如,N为程序段地址码,用于指令程序段号;G为指令动作方式的准备机能地址;X、Y、Z为坐标轴地址,其后面的数字表示该坐标移动的距离;分号";"为程序段落结束符号。字地址可变程序段一般格式为:程序段落序号字字…字程序段结束符号。例:N3 G90 G00 X-5.5Y-6.0该例中,程序段是由五个字组成的。字N3为程序段的顺序号,程序段的顺序号,G90表示绝对坐标编程,G00表示快速移动点定位,X-5.5及Y-6.表示X及Y 坐标移动的方向及距离,程序段结束必须写有程序段结束符号。该程序格式每段程序所包含的字的个数可不同,根据需要而定,使用方便;信息的顺序稍有出入,数控装置亦能读取;程序段内包含的信息一目了然,程序便于修改及校验。
(2)分隔符固定顺序格式 该程序格式是用分隔将字分开,每个字的顺序及代表的功能是固定不变的。例如我国线切割数控系统广泛采用"3B"(或4B)指令,一般表示为:BXBY-BJGZ
B为分隔符,每个字代表的功能是固定的,其意义如下:
B X B Y B J G Z
分隔符号 X坐标值 分隔符号 Y坐标值 分隔符号 计数长度 计数方向 加工指令
加工直线时,X、Y为的设计、创造带来方便。它不需地址判别电路数控装置比较简单,价格较为直线面终点的增量坐标值;加工圆弧时,为圆弧段起点的增量坐标值。
分隔符固定顺序格式为数控装置电路便宜。但程序段中所包含的信息不易立即羊断,指令顺序绝对不允许改变等缺点,现较少便用。
6.1.6数控编程的方法及其发展
数控程序编制的主法有两种,手工编程有自动编程。
1. 手工编程方法 从分析零件图纸、制订工艺规程、地算刀具运动轨迹、编写零件加工程序单、制备控制介质直到程序校核,整个的过程都是由人完成的这种编程方法称作手工编程。
对于几何形状不太复杂的较简单的零件,计算较简单,加工程序不多,穿孔纸带不很长,采用手工谐和较容易实现。但是,对于形状复杂的零件,具有非圆曲线、列表曲线轮廓的,特别是对于具有列表曲面、组合曲面的零件或者虽然零件几何元素并不复杂,但程序量很大的零件,例如一个零件上有数千个孔,以及当轮廓铣削减时,数控装置不具备刀具半径自动偏移功能,而只能按刀具中心的运动轨帝进行编程等情况,数据控装置不具备刀具半径自动偏移功能,而只能按刀具中心的运动轨迹进行编程等情况,计算相当繁琐,程序量非常大,手工编程难以胜任,甚至无法编出程序来。而且人工穿孔更是一个繁琐的工作,据国外统计以及我国的生产这践说明,用手工编程时,一个零件的编程时间与机床加工时间之比平均约为我国的生产实践说明,用手工编程时,一个零件的编程时间与机床上加工时间之比平均约为30:1。而且数据控机应酬往往由于零件加工程序编不出来而没有发挥其功能。
2. 自动编程方法 由计算机进行工艺处理、数值计算、编写零件加工程序、自动地输出零件加工程序单,并将程序自动地记录到穿孔纸带或其它的控制介质上。亦可由通讯接口将程序直接送到数控系统,控制机床进行国工。数据控机应酬的程序编制工作的大部发或一部由地算机完成的方法称为自动编程的方法。