陈德存
(温州职业技术学院机械工程系,浙江温州 325035)
UG后处理操作是UGCAM数控加工工作中一个重要环节,主要任务是把在UG加工环境下生成的加工刀位文件转换成机床可接受的数控代码文件。UG本身提供了强大的Post Builder后处理构建器,但是从实践使用来看,普遍存在后处理过程缓慢,后处理不能够智能,调整不灵活等弊端。这主要是因为,对应不同的加工方式,所要求的刀位文件格式不一样,这就要求编程者,针对每一个操作根据不同的加工方式,选择不同的后处理模板,操作非常繁琐,容易出错。很多使用UG软件做数控编程的企业,或多或少的都存在这样的问题。另外,在构建后处理工具时,后处理构建者大多只考虑后处理的刀位文件格式能否被机床认可,而很少有人考虑融入业务逻辑的智能处理和智能检查功能,后处理工序的智能化还没有受到普遍的重视。
在UG加工环境下编制好的加工程序,可以整组输出为CLS文件。充分分析CLS文件,我们可以利用这个文件的特点来开发附带业务规则的后处理工具。为了更好地进行介绍,首先准备好一个CLS文件,并分析其特点:选中一组编制好的加工操作,这组加工程序包含两个加工操作,P50-A和P30-B。它们的刀轨分别如图1和图2。
CLS文件已经准备妥当,现在开始详细介绍。
下面是UG后置出来的一段CLS文件:
第1行RAPID代表快速进给,它将影响下一行的走刀方式。第2行GOTO语句,后面跟的是点的坐标,前三位为X,Y,Z坐标,后三位为刀轴的方向矢量,由于上一行有RAPID指令,所以这一句处理成NC代码就应该为G00 X-13.0000 Y5.7446 Z3.0000,如果是五轴设备,则应该处理成G00 X-13.0000 Y5.7446 Z3.0000 A0.000 B0.000或G00 X-13.0000 Y5.7446 Z3.0000 A0.000 C0.000等。第3行是着色语句,只对UG自身起作用,不用也不能转化为NC。第4行为FEDRAT/MMPM,250.000,这一行是给定进给速度。第6行CIRCLE开头,表明即将走一段圆弧,前三位-17.0000,0.0000,0.0000 是圆心坐标,接下来三位0.0000000,0.0000000,-1.0000000 表明圆弧的矢量方向,可以决定圆弧所在的平面和圆弧走刀的方向,后面的几位数字是刀具信息和精度等相关信息,我们在这里可以忽略。
利用操作名称可以帮助定义后处理的过程。以图1、图2两个操作的操作名称分别以“A”和“B”作为后缀。我们可以在CLS文件中提出每一个操作名称的后缀,然后根据后缀的不同,安排不同的后处理格式。比如,我们约定“A”代表着直头仿形铣操作,后处理格式要求如下:X300.000 Y180.000 Z250.000;而“B”代表平面轮廓操作,后处理格式要求如下:X300.000 Y180.000。下面我们就可以根据操作名称后缀的不同,来让后处理自动判断输出为对应的格式。
首先打开CLS文件,然后通过循环读取CLS文件的每一行。通过关键字筛选获得操作名的字符串,并根据操作名后缀来决定后处理格式。
基本代码如下:
代码调试环境:在WinXP操作系统上,使用VC++调试工具完成,也可用C语言环境完成。调试运行这个程序前,请首先保证在目录C:Lizi下面已经存放了UG刚刚导出的Lizi.CLS文件。并在C:目录下创建名为“NC”的文件夹。调试运行程序结果如图3。
后处理的NC文件存放在C:Lizi下,其格式如图4所示。
上面的介绍,只是利用操作名的一个简单的方法,利用操作名我们还可以加入更多的业务规则。如果深入一步,还可以增加输出数控加工程序单等功能。
一般在定义刀具名称的时候我们都会附加一定的含义。比如比较复杂的刀具命名“T15_D6_CR2_0.1_S8000”表示直径6 mm,刀具圆角半径2 mm,留量0.1 mm,主轴转速8 000 mm;简单的刀具命名有“BALL_50”表示直径为50 mm的球刀,“MILL_20”表示直径20 mm的端铣刀等。但是在创建刀具时,往往会出现编程人员疏忽导致的刀具名称和刀具参数不对应的情况发生。这是很危险的。因为这会造成编程员主观选择了认为正确的刀具,而实际却使用错误参数的刀具进行编程,这种错误一般不易察觉,可能会造成被加工工件报废的情况发生,后果比较严重。现在应用UG做数控编程普遍采用编程模板,模板里包含了参数正确的刀库,可以有效避免这样的情况发生。还没有使用模板的编程者,应当考虑在后处理中增加自动检查环节。将刀具名称与刀具参数进行对比。如果不一致,中断后处理,并提示错误信息。这样可以彻底屏蔽刀具名称和刀具参数不一致的情况发生,明显提升数控加工程序的可靠性。具体方法是:在CLS文件里分别抽取刀具名称和刀具参数。进行对比。如不一致中断后处理工作,并报错。报错界面如图5。
基本代码如下:
在上面的例子中,我们只检查了一个刀具参数。如果刀具命名十分讲究的话,还可检查其他参数。甚至结合操作名,检查操作是否使用了合适的刀具等等。
对于一个复杂的待加工工件。可能需要编制30°头、90°头、五轴加工程序。一般在UGCAM环境下编制一个非直头程序,需要指定刀轴矢量,如果不小心指定错误(例如30°指定成了35°)往往不易被发现。那么我们可以在后处理时,利用主轴轴向参数检查刀轴矢量(主轴轴向)是否正确,从而保证加工程序刀轴矢量的正确性。具体方法是:在CLS文件里抽取主轴轴向参数。如轴向参数不正确,中断后处理工作并报错。以3 0°头为例,主轴轴向参数的K值一定等于0.866 025 4,如图 6。
如果在处理30°头程序的时候,其轴向参数如果不等于0.866 025 4,那么就报错(图7)。
在上面的例子中,我们只检查了30°头的刀轴矢量。稍作变化我们就可以检查直头、90°头的刀轴矢量。结合操作名,我们可以进行对应检查。例如我们约定以数字“3”为后缀的操作名表示30°头操作,那么可以在后处理操作名后缀为“3”的操作时进行刀轴矢量检查,如果K值不等于0.866 025 4就报错。(直头K=1.000 000 0;90°头K=0.000 000 0)。如果深入利用主轴轴向参数,我们还可通过I、J、K值来得到五轴加工操作的A、C值或B、C值等,并将它们输出到NC文件和加工程序单中,这里由于篇幅关系就不详述了。
充分利用UG CLS文件中的信息,多重组和这些信息,再结合实际的业务要求,我们可以实现加工操作打包,自动换刀,智能判断后处理格式,加工余量(留量)检查,组合对应检查,计算加工时间,多功能程序单,G00代码设置等等功能。智能后处理工具,不但明显简化了后处理工作的复杂性,提升了后处理的效率,还对加工操作又增加了一道智能检查环节,全面提升了加工程序的可靠性,使绝大部分的编程错误在后处理过程中都予以避免,可以为企业减少非常可观加工损失。
[1]安杰,邹昱章.UG后处理技术[M].北京:清华大学出版社,2003.
[2]谭浩强.C 程序设计[M].北京:清华大学出版社,1991.