黄伟淳 吴博
摘要:本文通过对深孔钻工艺的分析,并介绍了在UGNX/ POSTBUILDER中通过使用TCL语言来定制钻孔程序的方法,解决了在现有机床设备的钻孔程序编程难题,提高编程效率和程序的质量。
关键词:深孔钻;工艺分析;UGNX/POSTBUILDER;TCL语言;定制
引言
制造业中通常将孔深与孔径比大于5的孔称为深孔。在轮胎模具上面为了在硫化轮胎的时候达到更好的排气效果,遍布着密密麻麻的排气孔。一块花纹的排气孔大概是在300-500个孔,孔径一般都是小于3mm,最小的可达到1.2mm,深度在25-120mm不等,同一块花纹块的孔的深度也会由于背面的尺寸不同导致深度不一。本文通过对深孔加工的刀路进行分析,然后结合UG软件后置处理工具UGNX/POSTBUILDER的功能开发出专用的UG后处理,实现电脑编程,并在现有的数控机床上进行钻孔加工。
一、深孔加工工艺分析
数控系统提供的固定循环功能中,一般能满足绝大多数的孔加工循环,但是在进行深孔加工时,随着孔深的加深,排屑必然变得困难,在钻深固定的情况下,往往是在开始时适合,等到接近孔底时便会产生众多问题。
经过测试,下面的钻孔的走刀方式是相对比较合适的钻孔方式。
首先钻头已低转速快速移动到距离孔口0.5mm。以低转速和正常的进给的状态寻孔进入预先加工好的引导孔内。进入引导孔后转速迅速恢复到正常转速。接着进行钻深,钻到既定深度后,快速提刀到刀尖距离孔口2mm处,钻头不完全退出孔口,目的是在快速提刀的时候可以把断屑排出孔内,但是钻头前端还是保留在孔内,保证钻头的方向不会变化,下一阶段钻深不需要再次寻孔,减少对孔口质量的影响。接着不做暂停,直接快移到距离上次钻孔深度的0.5mm处,这时进给速度降到正常钻孔速度,继续钻孔,到底既定深度后再次快速提刀到距离孔口2mm处。重复该流程,直到钻到孔的要求深度后,直接快速退刀,退出孔口。
二、专用的后处理构建
2.1、TCL编程语言
TCL(Tool Command Language),是一种很通用的脚本语言,它几乎在所有的平台上都可以解释运行。它实际上包含了两个部分:一个语言和一个库。UG软件后置处理工具UGNX/POSTBUILDER中定制的不同的TCL指令会从数控加工文件中抽取信息,依据事先的定义分别加以处理,最后生成可以被数控机床不同控制系统接受的程序代码。
TCL编程语言可以进行计算和循环等功能,我们可以通过编制TCL的语句实现自动判断深度,进行计算加工的步距,实现我们需要的钻孔方式。
2.2、后处理的构建
本后处理利用的是FANUC G68.2倾斜面加工的原理进行增量编程,HEIDENHAIN 的PLANE功能和SIEMENS的CYCLE800功能也可以使用此方式,只是指令根据不同的数控系统不同进行指令修改即可。
此文构建的后处理是适合DOOSAN VC 630/5AX机床,控制系统为FANUC Series 31i-MODEL B5。
根据机床的加工手册及架构构建合适的后处理,过程此文不做详细介绍。构建好的后处理中在现有循环里的循环平面更改必须有FANUC G68.2倾斜面加工的指令
切换到定制命令中创建一个新的用户定义命令,名字为PB_CMD_drill_text。
UG软件后置处理工具UGNX/POSTBUILDER是在TCL语言的基础上建立起来的,所以用户定义命令的编程方式跟TCL语言的编程方式一致。
UGNX/POSTBUILDER扩展了TCL语言,下面的代码会涉及到一些扩展命令或变量,这些命令或变量都是以MOM或mom开头的,以适应一些UGNX/POSTBUILDER中的特殊用途。
MOM变量可以通过MOM变量浏览器中进行查找和了解相关细节。
首先我们需要对命令中会用到的变量进行声明,使用global语句来声明,后面才能使用这些变量值。
部分变量声明语句如下:
global mom_pos
global mom_cycle_feed_to_pos mom_cycle_rapid_to
global mom_cycle_retract_to_pos mom_cycle_retract_to
…………
接下来我们需要对變量进行赋值及计算,赋值是采用set语句。计算出孔的实际深度,然后才可以根据孔的深度判断需要加工的层数。
部分赋值和计算语句如下:
set mom_cycle_rapid_to_pos(2)[expr $mom_pos(2)+$mom_cycle_rapid_to]
set mom_cycle_retract_to_pos(2)[expr $mom_pos(2)+$mom_cycle_retract_to]
set mom_cycle_feed_to_pos(2)[expr $mom_pos(2)+$mom_cycle_feed_to]
…………
接着需要使用MOM_output_literal的方式,即输出命令的方式将我们要输出的指令进行强制输出。
首先输出钻孔前的相关准备指令,使用G91增量编程的方式,这样才能更好得控制实际刀路的走刀距离。主轴正转以低转速,快速移动到下刀点,开启冷却液,低速进入孔内,进入孔内后主轴正转调用操作中的转速,format%.0f代表取值的小数点后几位数,开始钻第一次,钻后快速提刀到距离孔口2mm,不完全退出孔外。
具体指令语句如下:
MOM_output_literal"G91"
MOM_output_literal"M03 S100"
MOM_output_literal"G00 Z[format%.3f"$mom_cycle_A1"]"
MOM_output_literal"M08"
MOM_output_literal"G01 Z-2.5 F100"
MOM_output_literal"M03 S[format%.0f"$mom_spindle_speed"]"
MOM_output_literal"G01 Z-2 F[format%.0f"$feed"]"
MOM_output_literal"G00 Z2"
接着需要使用TCL语言流程控制中的if-elseif-else多层决策结构判断语句,根据不同情况输出不同的指令,直到已经钻到孔的要求深度,最后快速提刀退出孔口,提刀到安全高度。
部分指令语句如下:
if{$mom_cycle_AA > 0}{
MOM_output_literal"G01 Z-3.5 F[format%.0f"$feed"]"
MOM_output_literal"G00 Z1"
if{$mom_cycle_AB > 0}{
MOM_output_literal"G01 Z-2 F[format%.0f"$feed"]"
MOM_output_literal"G00 Z2"
…………
}elseif{$mom_cycle_AA == 0}{
MOM_output_literal"G01 Z-1.5 F[format%.0f"$feed"]"
}else{
MOM_output_literal"G01 Z[format%.3f"$mom_cycle_ZAA"]F[format%.0f"$feed"]"
}
MOM_output_literal"G00 G90 Z[format%.3f"$mom_cycle_retract_to_pos(2)"]"
用户定义命令PB_CMD_drill_text的设置完成后,切换到程序里面的现有循环,找到里面的深钻,打开后将里面的所有内容都删除,插入前面已经设定好的用户定义命令PB_CMD_drill_text。如果无法删除,请在前面找到公共参数,打开进去,在深钻前面的定制打勾,这样就可以自定义深钻里面的内容。
同时该后处理需要配套UG编程里面的操作设置,循环类型里面的循环需要选择“标准钻,深孔钻”对应我们把用户定义命令PB_CMD_drill_text设置在深钻里面。然后不需要设置安全高度,但是最小安全距离必须高于所需横跨的高度。
结语
通过TCL与UGNX/POSTBUILDER结合的二次开发,在UGNX/POSTBUILDER中的Custom Command(用户自定義命令)插入自己编写的TCL子程序,以满足特殊需要的输出格式,解决了钻孔程序的编程问题,减少程序编制中的失误,提高编程效率。所以学习并掌握 TCL语言定制用户命令,对我们能更好地使用UGNX/POSTBUILDER是有很大帮助。
参考文献:
[1]罗颖.TCL语言简介及其在UGCAM后处理注释中的应用[J].机械设计,2007 (S1).
[2]王峻.现代深孔加工技术[M].哈尔滨:哈尔滨工业大学出版社,2005.
[3]周瑜哲.基于深孔加工技术的应用探讨[J].山东工业技术,2018.
[4]杨彦伟.宏程序在深孔加工中的应用研究[J].太原城市职业技术学院学报,2015.
[5]胡明江.UGNX_POSTBUILDER结合TCL扩展UG_CAM后处理[J].金属加工,2009.