admin 管理员组

文章数量: 1086019


2024年4月30日发(作者:织梦内容管理系统建app)

栏目主持:丁薄鹜 

投稿信箱:dinghao@idnovo.com.cn 

WFL车铣复合数控机床有着强大的加工功能,不仅能多轴车、多轴铣和加工深孔。更为重要的是其具有在线 

测量的功能。且在NX软件中能实现对测量循环的编程,并后置输出相应的代码,大大提高编程的效率,具有重大 

的意义。本文以WFL车铣复合机床的一个简单测量循环为例,叙述怎样编写后置处理器。以及输出需要的测量循 

环的机床代码。 

浅谈WFL车铣复合机床 

测量循环的后置处理 

口中航工业成都飞机工业有限责任公司 刘陨双 

WFL车铣复合机床除了有强大的多轴加工功能,还能自 

复杂。实际生产中,虽然手工编程也能实现这些功能,但是 

动找正零件和在线测量零件。有了这些功能,车铣复合机床 

不仅能够大大提高零件的加工精度,而且能够大大提高零件 

的加工效率。 

wFL车铣复合机床的功能比较强大、效率比较高,不仅 

有车、多轴铣和镗孔,还有多种测量循环,因此编程就比较 

手工编程也有一定局限性,因此实现车铣复合机床的电脑自 

动编程,是一件很有意义的事情。 

以下就以WFL机床的一个简单的测量循环“PROBE”为 

例,叙述如何使用Nx软件编程,以及后置处理输出WFL车铣 

复合机床测量循环的方法。 

l・墨越l ti_z.・●ltt・ ・ lt・I-・ I‘・●-I吐’ 

互=l翔豳豳嘲豳圈鼬强曩一圈嗣嘲

一…一■■㈣i …… 

翻 

ik 

0m● 

‘r■0cRFiB●■HE一●2l 

( ̄ATE-DO一’.卜竹一’._一一1■TIHE-H ̄:aN一1O:S●' 

wi●l21 

WIe2t薯17c’E490●R9● 

‘6. ̄ALL EIOHI LL TOOL一1 OI^.OFF.一1 LEH.一1 

州A4T1惭 

WINGOG9LY,SA.46Y一97.602A一39.95200m43 

11100 ̄;43H1777.766 

N11ligg¥.67Z27,A69 

14112GIX%3.991Z22.A ̄9F2OO ̄

1411 S.¥3Y一90.6I5 

. 

5A2A一¨.286F1155.● 

N116X57.EQ9 ̄一97.689Z一.901A一53.78m1 ̄11...5 

HllOX511.■95Y一96.133Z-6.097A-56.827F1001.6 

1412■XS’.95|Y一94.61Z一●.●6●^一S7.977F797

7 

离 瓣I 

kti”Ip ̄,st

由碰-sr 

t— 

! !竺 :!I 

五、结束语 

本文通过采用MasterCAM中的曲面多轴铣削功能,利用软 

件建模和CAM生成加工程序,方便地解决了叶轮叶片的铣削问 

题。同时,也为其他类似曲面的加工提供参考,充分发挥了多轴 

联动加工中心的应用价值。曲面多轴加工,也存在~些不足,刀 

r sm

Ⅱfile r ・ 

....r 

 .

£fil● - 

s铆Efil・ 

r l',-r it‘ 

^^ 

匦圈 

_I㈣ 

一 

具选择受零件形状影响比较大,叶片扭曲的角度和被加工叶片 

的高度限制了所选刀具的长度。在多轴加工条件下,一般是选 

r s_“・ - 

:: I 

择球头刀行切的方法加工,刀具与加工后形成的被加工表面属 

于点接触类型,加工时间较长。蟹 

[互] I I 

CAD/CAM与制造业信息化・2010年第9期 73 

机床测量循环的代码定义 

到测量起始点之间的距离为10,小于测头移动距离15,测量 

结果存储在机床内存HC_P[O]和存储单元MC

POINT[1]中, 

要写出能输出“PROBE”的正确的后置处理程序,首先必 

须要理解WFL车铣复合机床测量循环“PROBE”的含义——该 

测量循环的含义是在随机轴上测量轨迹点。该测量循环的格 

重复测量3次。 

PROBE(“五”,一1 5,2,3)的测量点是MP2,MP2的位 

置由该代码的前两句程序指定,该例中测量点MPz的位置为 

(93,0,0),测头沿机床 轴的负方向进行测量,定义的测 

头移动距离为1 5,测头的测量起始点为z1=一50的位置,测 

量轨迹点自Z1=一60的位置,测量轨迹点到测量起始点之间 

式为:PROBE(AX,DIS, P,NUM),各参数的含义如下。 

 ̄AX:测量轴。测头由A 定义的运动轴以很快的进给 

率(一般是以G。的速度)接近工件,然后进行测量,在WFL 

车铣复合机床上有三个测量轴, 、y 和 ,即机床的 、 

J,和z轴。 

的距离为l 0,小于测头移动距离l 5。测量结果存储在机床内 

存MC—P[0]和存储单元MC—POINT[2]中。 

此处需要注意的是:此处为堆栈存储的方式,在完成第 

ODI¥:测头移动的距离。测量轨迹点(即零件上要测量 

的点)到起始点(开始执行G 的点)之间的距离必须在DIS 

定义的距离之内,即二者距离必须小于该值。如果测量轨迹 

点与起始点之间的距离大于该值时,测头是测量不到测量轨 

二次测量后,MC—P[O]内存储的值自动移动到MC

P(1],最 

大能到MC_P[3],该点重复测量3次。 

迹点的。DIS值可以为正也可以为负,分别表示测量轨迹的 

运动方向是沿着测量轴的正方向还是负方向。 

 ̄NUM:在第一次测量轨迹点之后,测头会沿测量轴稍 

回撤,然后以正常的测量进给率重复测轨迹点,重复的次数 

由NUM指定,~般是测量3次。 

二、如何用后置处理器实现机床代码的正确 

输出 

在N×6.0中编写该测量循环的前置比较简单,这种测量 

循环在N×6.O中用操作“probe—point”就很容易写出正确的 

OMP:是指定测量结果的存储位置。测量结果输出到机 

床的内存单元MC_P[O]中,同时被存储到以 

内存中,变成测量点MC_POINT[MP]。 

我们只要在后置处理的程序中正确定义了这4个参数, 

并实现其输出,就可以输出该测量循环的正确机床代码。 

以下的一段机床代码就是PROBE应用的一个实际的例子, 

测量的零件和测量点如图1所示。 

为下标的机床 

前置,后置处理的任务就是把前置程序翻译成WFL车铣复合 

机床能识别的机床代码PROBE(AX,DIS,MP,NUM)。请注 

意:后面所提到程序的执行程序皆为后置处理时的执行顺序。 

以下所述就是定义并如何输出正确的机床代码的方法和步骤。 

1.输出测量轴A 

实现这一输出的后置处理程序如下(后置处理的程序皆 

为TCL语言编写)。 

global mom

probe

direction 

__

global axis 

——1一‘ I P2 

—]一- 

global dis 

global MP 

.f{¥mom_probe_direction==“×A×IS”) { 

‘ 

setaxisX1) 

......

L 

.f{¥mom_probe direction==“YAXIS”){ 

setaxisY1) 

L— 

.f{¥mom_probe_direction==“ZAXlS”){ 

setaxisZl} 

MOM

N035G54 

N040G0X1=48Y1=OC1=0Z1=10 

mom

_

output_literal“PROBE(¥axis,¥dis,¥MP,3)” 

direction为N×的系统变量,积 、dis和MP均 

这段后置处理程序用来定义输出的主程序。 

probe

N045 PROBE(“Z1-',一15,1,3) 

N050 G0 X1=93 

为用户自定义变量。mom—probe direction在系统里有三个取 

值,分别为“XAXIS”、“YAXIS”和“ZAXIS”。当N×操作里 

N055 G0 Z1=-50 

的测量方向为 轴时,其取值为“XAXIS”;当N×操作里的测 

量方向为l,轴时,其取值为“YAXIS”:当N×操作里的测量方 

N060 PROBE(“Zr,~15,2,3) 

向为z轴时,其取值为“ZAXIS”。这样,就可以利用这个系 

在这段机床代码中,PROBE(“zl”,-15,1,3)的测量 

点为MP1,鹏的位置由该代码的上一句程序指定。该例中 

测量点 Pl的位置为(48,0,0),测头沿机床z1轴的负方 

统变量作为条件,用if判断语句来进行判断,对应输出程序 

中的变量“axis”,也就是PROBE X,DIS, ,ⅣuM)中的 

“A 的值。程序的解释为:当m0m—probe—d1rect1on为 

“XAXIS”时,则将“X1”赋值给“ax/s”;当mom—probe—di- 

rection为“YAXIS”时,则将“Yl”赋值给“axis”;当 

向进行测量,定义的测头移动距离为15,测头的测量起始点 

为 =1O的位置,测量轨迹点自ZI=O的位置,测量轨迹点 

74 CAD/CAM与制造业信息化・www.idnovo corn.crl 

jI三日-t-倚:J砑茑 

投稿信箱:dinghoo@idnovo.com.cn 

mOiTl

probe

direction为“EAX/S”时,则将“z1”赋值给 

set dis【expr(¥Xl—when-¥Xl_bofore+l 0)】) 

if{¥YI—bofore一¥Y1一when>0}{ 

set dis【expr(¥Y1一when-¥Y1_bofore一10)】) 

if{¥Y1一bofore一¥Y1一when<0j{ 

set dis[expr(¥Y1一when-¥Y1一bofore+10)]) 

if{¥Z1一bofore一¥Z1一when>0}{ 

set dis【expr(¥Zl—when-¥Zl—bofore一1 0)】) 

axis”,最后输出。 

程序当中的部分参数含义为:globe表示全局变量;if 

表示判断条件;¥为取值符:set表示赋值给其后面的参数 

(具体的介绍请参考TCL语言的教材)。 

2,输出DIS 

“DIS”的输出要分为以下三个步骤: 

(1)计算测量起始点的值。在进行每次测量循环操作前, 

运行下列程序,可以计算出起始点的 、',和z坐标值(其 

值用参数为X1一bofore、Yl—bofore和z1一bofore定义,皆为 

用户自定义变量)。在下面的TCL程序中,mom_mcs_goto为 

if{¥Z1一bofore一¥Z1一when<0l{ 

set dis[expr(¥Z1一when一¥Z1一bofore+l O)Jj 

3.输出MP 

在一个测量程序中,可能会测量很多个点,这就需要很 

多次PROBE测量循环,每一个测量循环的结果都要占一个存 

储内存,所以每一个“ ”都应该有不同的值,因此可以用 

下面的程序分两个步骤来输出“肘P',。 

(1)初始化 为0。在第一次测量程序开始执行之前执 

行下列后置处理程序: 

global MP 

SetMP 0 

NX的系统变量,其存储方式是一个数组,其中morn mcs_go— 

to(O)自动存储当前加工坐标系 的值,mom_mcs_goto 

(1)自动存储当前加工坐标系y的值,mom—mcs_goto(2) 

自动存储当前加工坐标系z的值,这些变量与CLSF文件中的 

坐标值采用的坐标值一致。 

global mOm—mcs~goto 

global Xl

bofore 

——

global Y1bofore 

_

该程序将MP初始化为O。 

(2)每进行一次测量循环操作,执行一次下列程序,则可 

global Z1

bofore 

——

set Xl

bofore¥mom—mcs_goto(0) 

以实现参数“MP”的增加,因此可以保证每一个“jl ”的值 

都不同,并且从“I”开始。每进行一次测量操作,就递增 

set Y1

bofore¥mom_mcs_goto f 1 J 

set Z1

bofore¥mom_mcs_goto(2) 

次。 

global mOm

probe

cycle

type 

(2)计算测量轨迹点。在进行每次测量循环操作后,执行 

下列程序,可以计算出测量轨迹点的 、y和z坐标值,其 

值分别用参数X1_when、Y1一when和Z1一when定义(三者皆 

为用户自定义变量)。 

global mOm

—_

global MP 

.f{¥m0m—probe cycle_type!=0){ 

set MP【expr(¥MP+1)】} 

goto 

mcs

__

其中,mom—probe—cycle_type为系统变量,在执行数控 

global Xl

when 

global Y1

when 

——

程序的过程中,当有测量循环操作时,其赋值不等于0,当 

没有进行测量操作时,其赋值就是0。从N×的第一个操作开 

始就进行扫描,每当mom—probe_cycle_type不为零时, 

global Z1

when 

——

set X1

when¥mom_mcs_goto(0) 

when¥mom_mcs_goto(1) 

when¥mom_mcs goto(2) 

就自加一次。因此我们就可以利用这个变量作为条件,来完 

成“ ”的赋值和输出。 

4.输出NUM 

set Y1

set Z1

(3)计算DIS。在进行测量循环操作最后,下列程序可以 

因为一般情况下,重复测轨迹的次数为3次,所以在输 

出的主程序中,已经直接定义了“NUM”为“3“,因此可以 

直接输出,不再需要对该参数进行定义。 

计算出“DIS”。“DIS”在后置处理的程序中是用用户自定义 

的变量“如”来表示。如果测量起始点减去测量轨迹点的值 

大于零,则说明测量轨迹是沿着测量轴负向运动,此时,用 

测量轨迹点的坐标值减去测量起始点的坐标值,再减去~个 

常量得到DIS,则可以保证测头的移动距离大于测量轨迹点 

到起始点之间的距离。如果测量起始点减去测量轨迹点的值 

小于零,则说明测量轨迹是沿着测量轴的正向运动,此时, 

用测量轨迹点的坐标值减去测量起始点的坐标值,再加上一 

三、结束语 

经验证,用该方法写出的后置处理程序,可以输出正确 

无误的机床代码PROBE X,DIS,MP,NUM),如果按照此方 

法将后置处理程序加以完善,就可以输出完整、正确的WFL 

车铣复合机床其他测量循环的机床代码,实现该机床的测量 

循环的电脑编程,就可以充分发挥该机床的优点,大大提高 

个常量,即可得到DIS,则可以保证测头的移动距离大于测 

量轨迹点到起始点之间的距离。NX后置处理程序如下。 

jf{¥Xl—bofore-¥Xl—when>0}f 

set dis[expr(¥X1一when-¥Xl—bofore一1 0)】) 

加工效率和可靠性。圈 

jf{¥Xl—bofore一¥X1一when<0}f 

CAD/CAM与制造业信息化・2010年第9期 75 


本文标签: 测量 加工 机床 循环