收藏 分销(赏)

浅谈WFL车铣复合机床测量循环的后置处理.docx

上传人:仙人****88 文档编号:9200238 上传时间:2025-03-16 格式:DOCX 页数:6 大小:19.29KB
下载 相关 举报
浅谈WFL车铣复合机床测量循环的后置处理.docx_第1页
第1页 / 共6页
浅谈WFL车铣复合机床测量循环的后置处理.docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述
浅谈WFL车铣复合机床测量循环的后置处理 WFL车铣复合机床除了有强大的多轴加工功能,还能自动找正零件和在线测量零件。有了这些功能,车铣复合机床不仅能够大大提高零件的加工精度,而且能够大大提高零件的加工效率。 WFL车铣复合机床的功能比较强大、效率比较高,不仅有车、多轴铣和镗孔,还有多种测量循环,因此编程就比较复杂。实际生产中,虽然手工编程也能实现这些功能,但是手工编程也有一定局限性,因此实现车铣复合机床的电脑自动编程,是一件很有意义的事情。 以下就以WFL机床的一个简单的测量循环“PROBE”为例,叙述如何使用NX软件编程,以及后置处理输出WFL车铣复合机床测量循环的方法。 一、机床测量循环的代码定义 要写出能输出“PROBE”的正确的后置处理程序,首先必须要理解WFL车铣复合机床测量循环“PROBE”的含义―该测量循环的含义是在随机轴上测量轨迹点。该测量循环的格式为:PROBE(AX,DIS,MP,NUM),各参数的含义如下。 ◎AX:测量轴。测头由AX定义的运动轴以很快的进给率(一般是以G0的速度)接近工件,然后进行测量,在WFL车铣复合机床上有三个测 量轴,X1、Y1和Z1,即机床的X、Y和Z轴。 ◎DIS:测头移动的距离。测量轨迹点(即零件上要测量的点)到起始点(开始执行G1的点)之间的距离必须在DIS定义的距离之内,即二者距离必须小于该值。如果测量轨迹点与起始点之间的距离大于该值时,测头是测量不到测量轨迹点的。DIS值可以为正也可以为负,分别表示测量轨迹的运动方向是沿着测量轴的正方向还是负方向。 ◎NUM:在第一次测量轨迹点之后,测头会沿测量轴稍回撤,然后以正常的测量进给率重复测轨迹点,重复的次数由NUM指定,一般是测量3次。 ◎MP:是指定测量结果的存储位置。测量结果输出到机床的内存单元MC_P〔0中,同时被存储到以MP为下标的机床内存中,变成测量点MC_POINT〔MP〕。 我们只要在后置处理的程序中正确定义了这4个参数,并实现其输出,就可以输出该测量循环的正确机床代码。 以下的一段机床代码就是PROBE 应用的一个实际的例子,测量的零件和测量点如图1所示。 … N035 G54 N040 G0 X1=48 Y1=0 C1=0 Z1=10 N045 PROBE (“Z1”,-15,1,3) N050 G0 X1=93 N055 G0 Z1=-50 N060 PROBE (“Z1”,-15,2,3) … 在这段机床代码中,PROBE (“Z1”,-15,1,3) 的测量点为MP1,MP1的位置由该代码的上一句程序指定。该例中测量点MP1的位置为 (48,0,0),测头沿机床Z1轴的负方 向进行测量,定义的测头移动距离为15,测头的测量起始点为Z1=10 的位置,测量轨迹点自Z1=0 的位置,测量轨迹点到测量起始点之间的距离为10,小于测头移动距离15,测量结果存储在机床内存MC_P〔0〕和存储单元MC_POINT〔1〕中,重复测量 3 次。 PROBE (“Z1”,-15,2,3) 的测量点是,的位置由该代码的前两句程序指定MP2,MP2该例中测量点MP2的位置为(93,0,0),测头沿机床Z1轴的负方向进行测量,定义的测头移动距离为15,测头的测量起始点为Z1=-50的位置,测量轨迹点自Z1=-60的位置,测量轨迹点到测量起 始点之间的距离为10,小于测头移动距离15。测量结果存储在机床内存MC_P〔0〕和存储单元MC_POINT〔2〕中。 此处需要注意的是:此处为堆栈存储的方式,在完成第二次测量后,MC_P〔0〕内存储的值自动移动到MC_P〔1〕,最大能到MC_P〔3〕,该点重复测量3 次。 二、如何用后置处理器实现机床代码的正确输出 在NX 6.0中编写该测量循环的前置比较简单,这种测量循环在NX6.0中用操作“probe_point”就很容易写出正确的前置,后置处理的任务就是把前置程序翻译成WFL车铣复合机床能识别的机床代码PROBE(AX,DIS,MP,NUM)。 请注意:后面所提到程序的执行程序皆为后置处理时的执行顺序。以下所述就是定义并如何输出正确的机床代码的方法和步骤。 1.输出测量轴 AX 实现这一输出的后置处理程序如下 (后置处理的程序皆为TCL语言编写)。 global mom_probe_direction global axis global dis global MP if{$ mom_probe_direction = =“XAXIS”} { set axis X1} if{$ mom_probe_direction = =“YAXIS”} { set axis Y1} if{$ mom_probe_direction = =“ZAXIS”} { set axis Z1} MOM_output_literal“PROBE($axis,$dis,$MP,3)” 这段后置处理程序用来定义输出的主程序。mom_probe_direction为NX 的系统变量,axis、dis和MP均为用户自定义变量。mom_probe_direction 在系统里有三个取值,分别为“XAXIS”、“YAXIS”和“ZAXIS”。当NX操作里的测量方向为X轴时,其取值为“XAXIS”;当NX操作里的测量方向为Y轴时,其取值为“YAXIS”;当NX操作里的测量方向为Z轴时,其取值为“ZAXIS”。这样,就可以利用这个系统变量作为条件,用if 判断语句来进行判断,对应输出程序中的变量“axis”,也就是PROBE(AX,DIS,MP,NUM)中的“AX”的值。程序的解释为:当mom_probe_direction为“XAXIS”时,则将“X1”赋值给“axis”;当mom_probe_direction 为“YAXIS” 时,则将“Y1” 赋值给“axis”;当mom_probe_direction 为“ZA XIS”时,则将“Z1”赋值给“axis”,最后输出。 程序当中的部分参数含义为:globe表示全局变量; if表示判断条件;$为取值符;set表示赋值给其后面的参数(具体的介绍请参考TCL语言的教材)。 2.输出 DIS “DIS”的输出要分为以下三个步骤: (1)计算测量起始点的值。在进行每次测量循环操作前,运行下列程序,可以计算出起始点的X、Y和Z坐标值(其值用参数为X1_bofore、Y1_bofore 和Z1_bofore 定义,皆为用户自定义变量)。在下面的TCL程序中,mom_mcs_goto 为NX 的系统变量,其存储方式是一个数组,其中mom_mcs_go- to (0)自动存储当前加工坐标系X的值,mom_mcs_goto(1)自动存储当前加工坐标系Y的值,mom_mcs_goto (2)自动存储当前加工坐标系Z的值,这些变量与CLSF文件中的坐标值采用的坐标值一致。 global mom_mcs_goto global X1_bofore global Y1_bofore global Z1_bofore set X1_bofore$ mom_mcs_goto (0) set Y1_bofore$ mom_mcs_goto (1) set Z1_bofore$ mom_mcs_goto (2) (2)计算测量轨迹点。在进行每次测量循环操作后,执行下列程序,可以计算出测量轨迹点的X、Y和Z坐标值,其值分别用参数X1_when、Y1_ when 和Z1_ when定义(三者皆为用户自定义变量)。 global mom_mcs_goto global X1_ when global Y1_ when global Z1_ when set X1_ when $ mom_mcs_goto (0) set Y1_ when $ mom_mcs_goto (1) set Z1_ when $ mom_mcs_goto (2) (3)计算DIS。在进行测量循环操作最后,下列程序可以计算出“DIS”。“DIS”在后置处理的程序中是用用户自定义 的变量“dis”来表示。如果测量起始点减去测量轨迹点的值大于零,则说明测量轨迹是沿着测量轴负向运动,此时,用测量轨迹点的坐标值减去测量起始点的坐标值,再减去一个常量得到DIS,则可以保证测头的移动距离大于测量轨迹点到起始点之间的距离。如果测量起始点减去测量轨迹点的值小于零,则说明测量轨迹是沿着测量轴的正向运动,此时,用测量轨迹点的坐标值减去测量起始点的坐标值,再加上一个常量,即可得到DIS,则可以保证测头的移动距离大于测量轨迹点到起始点之间的距离。NX后置处理程序如下。 if {$ X1_bofore-$ X1_ when>0} { set dis [expr($ X1_ when-$ X1_bofore-10)]} if {$ X1_bofore-$ X1_ when0} { set dis [expr($ Y1_ when-$ Y1_bofore-10)]} if {$ Y1_bofore-$ Y1_ when0} { set dis [expr($ Z1_ when-$ Z1_bofore-10)]} if {$ Z1_bofore-$ Z1_ when<0} { set dis [expr($ Z1_ when-$ Z1_bofore+10)]} 3.输出 MP 在一个测量程序中,可能会测量很多个点,这就需要很多次PROBE测量循环,每一个测量循环的结果都要占一个存储内存,所以每一个“MP”都应该有不同的值,因此可以用下面的程序分两个步骤来输出“MP”。 (1)初始化MP为0。在第一次测量程序开始执行之前执行下列后置处理程序: global MP Set MP0 该程序将 MP 初始化为0。 (2)每进行一次测量循环操作,执行一次下列程序,则可以实现参数“MP”的增加,因此可以保证每一个“MP”的值都不同,并且从“1”开始。每进行一次测量操作,就递增一次。 global mom_probe_cycle_type global MP if{ $ mom_probe_cycle_type!=0 }{ set MP[expr($MP+1)]} 其中,mom_probe_cycle_type 为系统变量,在执行数控程序的过程中,当有测量循环操作时,其赋值不等于0,当没有进行测量操作时,其赋值就是0。从NX的第一个操作开始就进行扫描,每当mom_probe_cycle_type不为零时,MP就自加一次。因此我们就可以利用这个变量作为条件,来完成“MP”的赋值和输出。 4.输出NUM 因为一般情况下,重复测轨迹的次数为3次,所以在输出的主程序中,已经直接定义了“NUM”为“3”,因此可以直接输出,不再需要对该参数进行定义。 三、结束语 经验证,用该方法写出的后置处理程序,可以输出正确无误的机床代码PROBE(AX,DIS,MP,NUM),如果按照此方法将后置处理程序加以完善,就可以输出完整、正确的WFL车铣复合机床其他测量循环的机床代码,实现该机床的测量循环的电脑编程,就可以充分发挥该机床的优点,大大提高加工效率和可靠性。(end) 文章内容仅供参考 () ()(2011-1-16) 本文由奶茶店加盟www.lomo- 碳晶地暖 联合整理发布
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 环境建筑 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服