数控自动编程的过程
数控自动编程的过程
(源自:http://www.ourjx.com/simple/index.php?t1238.html)
零件源程序编好后,输入给计算机。为了使计算机能够识别和处理零件源程序,事先必须针对一定的加工对象,将编好的一套编译程序存放在计算机内,这个程序通 常称为“数控程序系统”或“数控软件”。“数控软件”分两步对零件源程序进行处理。第一步是计算刀具中心相对于零件运动的轨迹,这部分处理不涉及具体NC 机床的指令格式和辅助功能,具有通用性;第二步是后置处理,针对具体NC机床的功能产生控制指令,后置处理程序是不通用的。由此可见,经过数控程序系统处 理后输出的程序才是控制NC机床的零件加工程序。整个NC自动编程的过程如图所示。可见,为实现自动编程,数控自动编程语言和数控程序系统是两个重要的组 成部分。
第1讲 APT语言编程(一)
一、APT语言的基本组成
与通用计算机语言相似,用APT语言编制的加工程序是由一系列语句所构成,每个语句由一些关键词汇和基本符号组成,也就是说APT语言由基本符号、词汇和语句组成。
• • 基本符号
数控语言中的基本符号是语言中不能再分的基本成分。语言中的其它成分均由基本符号组成。APT自动编程语言中常用到的标点符号和算术符号如下:
(1)逗号“,” 用于分隔语句内的词汇、标识符和数据。例如:C1=CIRCLE/0,0,25;
(2)斜杠“/” 用来将语句分隔为主部和辅部,或者在计算语句中作除法运算符号。例如:
GOFWD/C1;A=B/D;
(3)星号“*” 这是乘法运算符号。例如:A=B*C
(4)双星号“**”或“↑” 这是指数运算符号。例如:A=B**2或A=B↑2
(5)正号“+” 用来表示算术加法或规定一个数的符号。
(6)负号“-” 用来表示算术减法或规定一个数的符号。例如:P2=POINT/+2,-15,-26
(7)单美元符号“$” 为续行符,表示语句未结束,延续到下一行。如:
L1=LINE/RIGHT,$
TANTO,C2,RIGHT,TANTO,C1;
(8)冒号“:” 用于分隔语句及其标号。
(9)方括号“[]” 用于给出子曲线的起点和终点,或用于复合语句及下标变量中。如:
Q1=TABCY/P1,P2,P3…Pn;
[GOFWD/C2,PAST,Q1[10,12]];
(10)等号“=” 用于给定一个名字或者给标识符号赋值用。例如:P1=POINT/X,Y,Z;
(11)分号“;” 作为语句结束符号。
(12)圆括号“()” 用于括上算术自变量及几何图形语言中的嵌套定义部分。例如:
A=ABS(B);GOFWD/(CIRCLE/2,12,2);
(13)小数点“.” 用于分隔数的整数部分和小数部分。
• • 词汇
词汇是APT语言所规定的具有特定意义的单词的集合。每一个单词由6个以下字母组成,编程人员不得把它们当作其他符号使用。APT语言中,大约有300多个词汇,按其作用大致可分为下列几种:
(1)几何元素词汇
如POINT(点),LINE(线),PLANE(平面)等。
(2)几何位置关系状况词汇
如PARLEL(平行),PERPTO(垂直),TANTO(相切)等。
(3)函数类词汇
如SINF(正弦),COSF(余弦),EXPF(指数),SQRTF(平方根)等。
(4)加工工艺词汇
如OVSJSE(加工余量),FEED(进给量),TOLER(容差)等。
(5)刀具名称词汇
如TURNTL(车刀),MILTL(铣刀),DRITL(钻头)等。
(6)与刀具运动有关的词汇
如GOFWD(向前),GODLTA(走增量),TLLFT(刀具在左)等。
• • 语句
语句是数控编程语言中具有独立意义的基本单位。它由词汇、数值、标识符号等按语法规则组成。按语句在程序中的作用大致可分为几何定义语句、刀具运动语句、工艺数据语句等几类。
二、几何定义语句
几何定义语句用于描述零件的几何图形。零件在图纸上是以各种几何元素来表示的,在零件加工时,刀具是沿着这些几何元素来运动, 因此要描述刀具运动轨迹,首先必须描述构成零件形状的各几何元素。一个几何元素往往可以用多种方式来定义,所以在编写零件源程序时应根据图纸情况,选择最 方便的定义方式来描述。APT语言可以定义17种几何元素,其中主要有点、直线、平面、圆、椭圆、双曲线、圆柱、圆锥、球、二次曲面、自由曲面等。
几何定义语句的一般形式为 标识符=APT几何元素/定义方式。
标识符就是所定义的几何元素的名称,由编程人员自己确定,由1-6个字母和数字组成,规定用字母开头,不允许使用APT词汇作标识符,例如圆的定义语 句:C1=CIRCLE/10,60,12.5;其中C1为标识符,CIRCLE为几何元素类型,10,60,12.5分别为圆的圆心坐标和半径。
• • 点的定义
1.由给定坐标值定义点
其格式为:标识符=POINT/x,y,z;
如已知坐标值,可以写成如下的形式:P=POINT/10,20,15;
2.由两直线的交点定义点
其格式为:标识符=POINT/INTOF,line1,line2;
其中INTOF表示相交,line1,line2为事先已定义过的两条直线。左下图所示的交点,可以写成如下形式:P=POINT/INTOF,L1,L2;
3.由直线和圆的交点定义点(如右上图)
P1=POINT/XSMALL,INTOF,L1,C1;
P2=POINT/YSMALL,INTOF,L1,C1;
或P1=POINT/YLARGE,INTOF,L1,C1;
P2=POINT/XLARGE,INTOF,L1,C1;
其中取交点中X与Y坐标值中的大值还是小值,由编程人员根据图形任选其中一项。
• • 直线的定义
1.通过两点的直线
L=LINE/P1,P2;
或L=LINE/x1,y1,x2,y2;
2.过一点P与圆相切的直线(如左下图)
L1=LINE/P1,LEFT,TANTO,C;
L2=LINE/P2,RIGHT,TANTO,C;
其中LEFT,RIGHT表示左、右,以点P与圆心联线方向为基准,TANTO表示相切。
3.与两圆相切的直线(如右上图)
L1=LINE/RIGHT,TANTO,C1,RIGHT,TANTO,C2;
L2=LINE/RIGHT,TANTO,C1,LEFT,TANTO,C2;
左右相切是以第一个圆的圆心向第二个圆的圆心作连线的方向为基准。
• • 圆的定义
1.用半径和圆心定义的圆
C1=CIRCLE/x,y,r;
其中,x,y为圆心坐标,r为圆的半径。
2.用已知三点定义圆
C1=CIRCLE/P1,P2,P3;
3.用圆心和切线定义圆(如左下图)
C1=CIRCLE/PC,TANTO,L;
其中PC为已知圆心,L为已定义之直线。
4.与两圆相切的圆(如右上图)
C3=CIRCLE/YLARGE,TANTO,OUT,C1,OUT,C2;
如:CIRCLE/33.4078,-52.2295,100.0000,0.0000000,0.0000000,-1.0000000,7.0000,0.0600,0.5000,10.0000,0.0000
XC,YC,ZC:
Coordinate of arc center
I,J,K:
Vector perpendicular to the arc, using right-hand coordinate system. This parameter is used to determine the arc direction, for example:
Arc in XY-plane in the clockwise direction I,J,K à 0,0,-1
Arc in XY-plane in the counter clockwise direction I,J,K à 0,0,1
XE,YE,ZE:
End point on the required arc
"X.Z","Y.Z","Z.X":
Three pairs of axes that define I,J,K vector that is normal to the plane defined by each pair axis in the current machine position
"MOVE":
Optional parameter; specifies to move the machine to the required coordinate
"REGISTER":
Optional parameter; specifies to update the related registers with the new values
第2讲 APT语言编程(二)
三、刀具运动语句
刀具运动语句是用来规定加工过程中刀具运动的轨迹。为了定义刀具在空间的位置和运动,引入如左下图所示三个控制面的概念,即零件面(PS)、导向面 (DS)和检查面(CS)。零件面是刀具在加工运动过程中,刀具端点运动形成的表面。它是控制切削深度的表现。导向面是在加工运动中,刀具与零件接触的第 二个表面,是引导刀具运动的面,由此可以确定刀具与零件表面之间的位置关系。检查面是刀具运动终止位置的限定面,刀具在到达检查面之前,一直保持与零件面 和导向面所给定的关系,在到达检查面后,可以重新给出新的运动语句。
通过上述三个控制面就可联合确定刀具的运动。例如描述刀具与零件面关系的词汇如右上图所示,有TLONPS和TLOFPS分别表示刀具中心正好位于零件面上和不位于零件面上。
描述刀具与导向面关系的词汇如下图所示,有TLIFT(刀具在导向面左边),TLRGT(刀具在导向面右边),TLON(刀具在导向面上)之分。 所谓左右是沿运动方向向前看,刀具在导向面的左边还是右边。
描述刀具与检查面关系的词汇如下图所示,有TO(走向检查面),ON(走到检查面上),PAST(走过检查面)等。
描述运动方向的语句如下图,是指当前运动方向相对于上一个已终止的运动方向而言的。例如,GOLFT(向左),GORGT(向右),GOFWD(向前),GOBACK(向后)等。
四、工艺数据语句、初始语句和终止语句
工艺数据及一些控制功能也是自动编程中必须给定的,例如:
SPINDL/n,CLW
表示了机床主轴转数及旋转方向。
CUTTER/d,r
给出了铣刀直径和刀尖圆角半径。
OUTTOL/τ INTOL/τ
给出轮廓加工的外容差和内容差。外容差和内容差的定义如下图所示。
MATERL/FE
给出材料名称及代号等等。
初始语句也称程序名称语句,由“PARTNO”和名称组成。终止语句表示零件加工程序的结束,用FINI表示。
第3讲 APT语言编程步骤
应用APT语言编制零件源程序应遵循如下步骤:
1.分析零件图 在编制零件源程序之前,详细分析零件图,明确构成零件加工轮廓的几何元素,确定出图纸给出的几何元素的主参数及各个几何元素之间的几何关系。
2.选择坐标系 确定坐标系原点位置及坐标轴方向的原则是使编程简便、几何元素的参数换算简单,确保所有的几何元素都能够较简便地在所选定的坐标系中定义。
3.确定几何元素标识符 确定几何元素标识符,实际上是建立起抽象的零件加工轮廓描述模型,为在后续编程中定义几何表面和编写刀具运动语句提供便利。
4.进行工艺分析 这一过程与手工编程相似,要依据加工轮廓、工件材料、加工精度、切削余量等条件,选择加工起刀点、加工路线,并选择工装夹具等。
5.确定对刀方法和对刀点 对刀点是程序的起点,要根据刀具类型和加工路线等因素合理选择。而对刀方法是关系到重复加工精度的重要环节,批量加工时可以在夹具上设置专门的对刀装置。 走刀路线的确定原则是保证加工要求、路线简捷、合理,并便于编程,依据机床、工件及刀具的类型及特点,并要与对刀点和起刀点一起综合考虑。
6.选择容差、刀具等工艺参数 容差和刀具要依据工件的加工要求和机床的加工能力来选择。定义语句如下:
INTOL/0.01 (内容差为0.01)
OUTTOL/0.01(外容差为0.01)
CUTTER/12(铣刀直径为Ф12)
其他工艺参数和特有指令要根据特定的数控机床而定,具体语句示例如下:
FEDRAT/50(进给速度为50mm/min)
SPINDL/900,CLW(主轴转速为900rpm,顺时针转)
COOLNT/FLOOD(冷却液开)
COOLNT/OFF(冷却液关)
7.编写几何定义语句 根据加工轮廓几何元素之间的几何关系,依次编写几何定义语句。
8.编写刀具运动定义语句 根据走刀路线,编写刀具运动定义语句。
9.插入其它语句 这类语句主要包括后置处理指令及程序结束指令。
10.检验零件源程序 常见错误包括功能错误和语法错误。功能错误主要有定义错误。所有错误尽可能在上机前改正,以提高上机效率。
11.填写源程序清单
第4讲 APT自动编程系统信息处理
APT语言自动编程系统的处理过程如图,分成APT语言编写的零件源程序、通用计算机以及编译程序(系统软件)三个组成部分。零件源程序不同于我们在手工编程时用NC指令代码写出的加工程序,它不能直接控制数控机床,只是加工程序计算机预处理的计算机输入程序。
编译程序的作用是使计算机具有处理零件源程序和自动输出具体机床加工程序的能力。主要完成零件源程序翻译、数值计算生成刀位文件、后置处理形成加工程序等任务。
1.源程序翻译
翻译阶段即语言处理阶段。它按源程序的顺序,一个符号一个符号地依次阅读,将APT的词汇及相关的数据转换为计算机处理的代码,如下图说明了二维加工编程 时的处理过程。首先分析语句的类型,当遇到几何定义语句时,则转入几何定义处理程序。根据几何特征关键字,判断是哪种类型的几何定义方式,然后再处理成标 准的形式,并按其数值信息求出标准参数。例如点的标准参数为x,y,z三个坐标值;对于直线Ax+By=C,标准参数为A,B,C;对于圆(X- X0)2+(Y+Y0)2=R2,标准参数为X0、Y0、R。
根据几何单元名字将其几何类型和标准参数存入信息单元表,供计算阶段使用。对于其它语句也要处理成信息表的形式。在翻译阶段,还要完成二——十进制转换和语法检查等工作。
;
2.数值计算阶段
如左下图所示,该阶段的工作类似于手工编程时的基点和节点坐标数据的计算。其主要的任务是处理连续运动语句。根据导向面和检查面等信息(如方向指示词、交 点区分词等)计算基点坐标和节点坐标,从而求出刀具位置数据(Cutter Location Data--CLDATA),并以刀具位置文件的形式加以存储。对于其他的语句也要以规定的形式处理并存储。
3.后置处理阶段
后置处理的信息流程如右上图所示。按照计算阶段的信息,通过后置处理即可生成符合具体数控机床要求的零件加工程序。