江西南昌洪都集团数控机加厂 廖翔 来源:e-works
一、引言 i"fCpkAP
我们知道,数控机床的控制系统不同,机床结构形式和运动方式也存在差异,所使用的NC程序格式也是不一样,因此,数控操作中的刀具轨迹必需经过处理转换成特定机床控制器能够接受的特定格式的NC程序,这样的处理过程就是后置处理。正是由于机床运动方式的不同,特别是五坐标摆角结构的不同,保证刀位文件通过后置处理生成NC程序与编程人员在CAD/CAM软件数控操作设计的符合性,便成为后置处理的关键内容。 /sH0x,V
二、现状 ,#Ln/;
目前,常用的后置处理方法主要有以下两种: |P~q/Wff
利用CAD/CAM软件的通用后置处理模块,定义数控机床的运动方式,通过选取CAD/CAM软件提供的机床标准控制系统,定义某一类型或某台数控机床的后置处理,如CATIA的PPBUILD模块,UG的UGPOST模块; kpWzMd &RK
利用C/C++等计算机语言,按数控机床的运动方式和控制系统的编程规范,归纳出计算空间点坐标的数学公式,通过编制专用的后置处理程序并生成可执行文件,定义数控机床的后置处理。 +yIL[D
第①种方法,其特点是操作简单,对后置处理模块定义人员的数控专业技能要求不高,缺点是灵活性较低,满足对程序格式有特殊要求的能力低。 L,%Z9
第②种方法,其特点是,能够满足机床对程序格式的各种特殊要求,针对性强,能够完全保证数控操作设计与NC程序的符合性,缺点是需编写后置处理的计算机程序,第一次开发工作量大,需软件开发人员和数控编程人员共同完成。 'W+i[Ep5Q
三、解决方案 lG
<yJ~{
由于加工航空结构件使用的数控机床结构多,控制系统多,前置类型多。开发通用后置平台是解决这种情况的最好办法。通用后置平台需要满足以下几点要求: }_vM&.GFlL
可以识别多种CAD/CAM软件产生的前置程序(如UG,CATIA)。 6.UKB<sV
对于不同结构的机床和控制系统,能够输出该机床能够识别的NC代码。
BUV/twU)
对一些特殊机床,可以满足其对程序运算、程序格式、辅助信息的要求。 (6o:4|xl0
可扩展性,用户可以根据自己的需求,定义实现新机床的处理输出。 }2mI*"%)\u
可升级性,可根据实际需求,不断扩展完善核心处理模块, [^Q&suy
现在国内后置处理程序(尤其是多轴机床)的开发还仅仅处于初始阶段,国内后置处理程序开发方面还很落后。主要依靠国外有关公司进行开发,价格昂贵,且只对单一机床或系统进行后置,通用性不强。开发通用后置处理软件,可以有效的保证NC程序正确性,提高程编人员的后置处理效率,还可以把加工信息(如图号、工序号、刀具规格、程序加工时间等参数)嵌入NC程序中,增加程序的可读性,减少操作人员的人为加工误差。 $&Ac5Zo%}
四、后置处理技术 Bj+wayMi
UG的CLS文件是标准的APT语言生成的刀位文件(APT是一种自动编程工具(Automatically Programmed Tool)的简称,是对工件、刀具的几何形状及刀具相对于工件的运动等进行定义时所用的一种接近于英语的符号语言)。 79a9L{gso
采用APT语言自动编程时,计算机(或编程机)代替程序编制人员完成了繁琐的数值计算工作,并省去了编写程序单的工作量,因而可将编程效率提高数倍到数十倍,同时解决了手工编程中无法解决的许多复杂零件的编程难题。 g X8**g'
下文着重分析论述了利用计算机语言,针对UG软件CLS刀位文件,开发专用后置处理软件的技术要点和解决方法。 p&m
^IWD
4.1 CLS刀位文件 ~Q_F~ 0y
CLS刀位文件是UG生成的前置程序,通过对CLS文件不同后置处理,可以生成各种机床系统的NC加工程序。 oB3q AP
以下是UG的一个标准CLS刀位文件,现对部分程序段进行解释: \E~Q1eAJT
TOOL PATH/PLANAR_MILL, TOOL, FLAT20R2 uh1S
7!^
注:为刀轨说明,每个CLS头均有这一语句 e-jw^
TOOL PATH/PLANAR MILL——刀轨名称,名称为“PLANAR MILL” rF'<r~Lw
TOOL,FLAT20R2?——使用刀具,刀具名称为FLAT20R2 cL
ae=N
TLDATA/MILL,20.0000,2.0000,75.0000,1.0000,1.0000 @,GjeF]!
注:为刀具说明 =_uol8v
MILL——表示刀具为立铣刀,其它参数还有 TCUTTER:T型刀; DRILL:钻头等等。 Slo9#26
为刀具参数,各参数对应下图(D=20,R1=2,L=75,B=1,A=1) u5/t2}^T
iW":DOdi_
E"ZEo9y@^
MSYS/0.0000,0.0000,0.0000,1.0000000,0.0000000,0.0000000,0.0000000,1.0000000,0.0000000 #*\Ry/9Q
注:加工坐标系的说明,不参与后置处理 {dDq*sLf
PAINT/…… /jvOXS\M
注:在UG中显示刀轨用,不参与后置处理 i5Eeg`NMl
RAPID i{P%{hVb
注:进行快速定位,随后会跟一段GOTO语句,后置的NC代码为“G00”。 cu:-MpE
GOTO/70.2739,56.1953,-8.8824,0.5773503,-0.5773503,0.5773503 #*+;B93)
注:定位语句,格式为GOTO/X,Y,Z,I,J,K。
eC.w?(RB
参数说明:空间刀轨坐标点(X,Y,Z)值,以及单位刀轴矢量在X轴的投影I、在Y轴的投影J、在Z轴的投影K。 @{'o#EJY
注:当I,J,K值为0,0,1时,机床为三轴加工。当I,J,K为其它值时,机床为四轴或五轴加工。 ZHb7+
FEDRAT/MMPM, 250, 0000 '}@e5^oL
注:走刀速度 :82?'aR
CIRCLE/66.1128,52.2324,-13.8804,-0.5773503,0.5773503,-0.5773503,7.0000,0.0600,0.5000,20.0000,2.0000 hl*MUD,
GOTO/63.2551,55.0901,-8.1650 *1i?6$[
"
注:圆弧定位语句,是由两段组成,第一段指定圆弧起点和圆弧半径等参数。第二段指定圆弧终点。 "Jf4N
参数说明:格式为CIRCLE/X,Y,Z,I,J,K,R,公差1,公差2,刀具直径,刀具底角 k"0%' Y
(X,Y,Z)=轨迹的起点坐标 9x4wk*z
(I,J,K)=圆弧在空间的矢量坐标 JXlTN[O
(R)=圆弧的半径值 )Kxs@F
(公差1,公差2)=圆弧拟合为线段所使用的公差 RFhU#
(刀具直径,刀具底角)=加工圆弧时所使用的刀具参数 ;B*L1'FF%t
END-OF-PATH \f6lT3"VN
注:走刀结束 <\+Po<)3j
UG还有很多其它语句,如开关冷却液、锁定主轴、延时等等,需在UG中手动输入,平时使用上较少,这里不一一累述。
4.2 轴加工中摆角的算法 3e#x)H/dr
在UG的前置文件中,出现的最多的语句是“GOTO/X,Y,Z,I,J,K”,后置的主要工作也就是把这段语句转化为机床能够识别NC语句。 zI1(F67d`
这里我在算法上说明了怎样将I,J,K语句后置为五轴机床的转角A,B,C。 /7.wQeL9
机床主轴头AB摆角的五坐标后置处理 sYl&Q.\q
主轴头AB摆角的五坐标数控铣床主要有三种:

第1种:B为主摆角,A为副摆角,刀具轴在Z轴上,见图1; 3&O% &
第2种:A为主摆角,B为副摆角,刀具轴在Z轴上,见图2; m2jwqx{G
第3种:A、B摆角,刀具轴在X轴上,见图3。 3D{82*&
第1、2种摆角类型在龙门结构和单柱结构的数控机床上均广泛采用;第3种类型机床主要是卧式结构的机床;
根据GOTO语句中的数据信息,通过数学推导,可以利用单位刀轴矢量在X、Y、Z轴的投影值I、J、K计算出A和B的坐标值。如B为主摆角,A为副摆角的,利用IJK推导AB的运算过程如下,见图4。 /DK*yS
\a\^(`3a[
Hf;RIl2F
同理,推导A为主摆角和刀轴在X轴上的刀轴矢量与坐标角度的计算公式见表1。 " vv$%^
M4R%Gr,La
表1 三种机床结构的A和B坐标计算公式 qxRT1B]{Wx
MoZU(j
w2.qT+;v
8[vl3C
AC或BC摆角的五坐标后置处理 @>d&5}F_>{
带C坐标的机床主要有三种,前两种都是机床主轴头摆动的结构形式,AB或BC,分别见图6和图7。还有一种是主轴头摆动A坐标或B坐标,工作台绕Z轴转动构成C坐标,这种机床后置处理计算复杂,且很少使用。在本文主要分析前两种的后置处理计算。 }]uB?
+c
根据GOTO语句中的数据信息,通过数学推导,可以利用I,J,K值计算出AC或BC的坐标值,推导的公式见表3。 @ARAX\F
表3 第④、第⑤种机床结构的坐标点计算公式
l_UXrnm/N
J,CJPUf&
FRb&@(;
由于AC或BC摆角的机床同一摆动位置具有坐标值的不唯一性,会造成C坐标插补过大(大于180°)导致铣伤工件,所以必须按一定原则,对AC或BC坐标值进行优化计算。结合实际情况,选择C坐标插补绝对值最小的优化计算原则。 r!"CH5dT
假定前一段空间点的坐标值为X1、Y1、Z1、A1、C1,按表3公式计算的坐标角度为A2、C2,则当前段坐标角度值A3、C3按如下逻辑运算。 L%TxP6z4A
第一步:C3= Min(ABS((n×(±180°))+C2- C1)),确定n和180°的正负号; \Mobq
第二步:A3=(-1)n×A2 L&