佛新岗
(西安航空职业技术学院,陕西 西安 710089)
随着制造业的快速发展,越来越多的企业开始大量购进数控机床,逐步取代传统普通机械加工机床,以提高产品加工质量,降低生产成本。经过分析研究发现,其中数控车床的应用非常广泛,然而数控车床的编程格式因数控系统的不同而不同,而且多数CAM软件没有提供数控车床的专用后置处理文件,生成的NC程序代码需要按照特定数控系统的编程标准,经过人工修改之后,才能用于实体加工,这在很大程度上限制了数控车床的使用效率。为了提高产品的编程效率和准确性,部分学者对数控车床的后置处理进行了研究:文献[1]、文献[2]研究了华中系统数控车床的基本编程结构后置处理;文献[3]、文献[4]研究了FANUC系统数控车床的后处理开发基本流程;文献[5]研究了DTM系统数控车床的基本结构后置处理;文献[6]研究了西门子802D系统数控车床后处理相关设置等,但对于数控车床编程中循环指令格式,特别是针对螺纹加工指令研究甚少。本文针对FANUC0i系统数控车床的特定编程格式,应用UG/Post Builder开发专用后置处理程序文件,以简化编程过程。
图1所示为加工零件示意图,在UG软件中采用外径粗车、外径开槽、外径螺纹铣工序生成的刀路如图2所示,若直接采用软件自带的数控车床通用后置处理,则生成的NC程序如下。
图1 加工零件示意图
外径加工程序:
%
N0010 G94 G90 G20
N0020 G50 X0.0 Z0.0
:0030 T01 H00 M06
N0040 G94 G00 X20. Z5.
N0050 X15.5 Z2.2
N0060 G97 S800 M03
N0070 G01 Z2. F200.
N0080 Z-55.
N0090 Z-55.2
N0100 G00 X16.5
N0110 Z2.2
N0120 X15.
N0130 G01 Z2.
N0140 Z-38.7975
N0150 G02 X15.1 Z-38.8 I.1 K1.9975
……
N2300 Z.2
N2310 X.5
N2320 X.6414 Z.3414
N2330 M02
%
螺纹加工程序:
%
N0010 G94 G90 G20
N0020 G50 X0.0 Z0.0
:0030 T03 H00 M06
N0040 G94 G00 X13. Z.5
N0050 G97 S800 M03
N0060 G95 G01 X9.7075 F.5
N0070 G33 Z-22. I0.0 K1.
N0080 G01 X13. F1.5
N0090 G94 G00 Z.5
......
N0430 G33 Z-22. I0.0 K1.
N0440 G01 X13. F1.5
N0450 M02
%
由此可以看出,软件自带通用后处理生成的NC程序格式不符合数控系统编程规范,不能直接进行加工,需要编程人员二次修改,且程序冗长,不利于阅读和编辑。
主要存在问题如下:①X轴编程尺寸默认为半径值,应为直径值;②无程序名;③刀具调用(TXX HXX M06)不符合规定;④加工单位(G20)设置不正确;⑤无复合循环指令(G71/G72/G70),导致程序冗长;⑥螺纹加工指令(G33)错误,应修改为G32或G92指令。
首先创建FANUC数控车床后处理文件,名称为SKCC,单位为mm,如图3所示。
图3 创建后处理
(1)X轴设置。在“机床”选项下将X轴设置为直接编程,如图4所示。
图4 X轴设置
(2)程序名设置。FANUC数控系统程序名是以字母O加1~4位数字构成,在“程序和刀轨”选项下选择“程序”标签,选中“程序起始序列”,单击%所在块,在弹出的对话框中,右击%选择编辑,输入“O$mom_tool_number”,如图5所示。
图5 程序名设置
(3)刀具调用设置。数控车床加工一般选择T指令试切对刀,G54或G92格式应用较少,所以后处理中用T指令建立加工坐标系,具体格式为T0101,其中T指令后面前两位数字为刀号,后两位为刀具补偿号。在“程序和刀轨”选项下选择“程序”标签,选中“工序起始序列”,将“T H01 M06”块中只保留T指令,并将其内容由“$ mom_tool_number”修改为“$mom_tool_number*100+$mom_tool_number”,如图6所示。
图6 刀具设置
FANUC0i数控系统车床编程指令中粗车复合循环指令主要指的是G71/G72/G73[7],UG软件自带数控车床通用后处理其实包含了复合循环功能,前面后处理NC程序中没有出现,原因在于UG生成刀路过程中“机床控制”模块里的“运动输出”设置有误,应该把“圆形”修改为“机床加工周期”[8],如图7所示。
图7 车削循环设置
对于FANUC0i数控系统车床来说,精车复合循环指令格式为“G70 P Q”,所以在UG软件中可以省去精加工编程,直接在后处理中进行处理。将“N/C数据定义”选项中的精车复合循环块“turn_cycle_finishing”添加到“程序和刀轨”选项下“杂项”里粗车复合循环的轮廓终点“turn_cycle_contour_end”定制命令的结尾处,输入“PB_CMD_turn_cycle_finishing”[9],如图8所示。
图8 精车循环设置
FANUC0i数控系统车床螺纹加工指令常用G32或G92。其中G32指令属于单步运动,修改也较简单,在“程序和刀轨”选项中“运动”模块里将通用后处理中的车螺纹指令G33修改为G32就可以了,如图9所示;而G92指令属于单一循环运动,可以简化程序,所以后处理中将螺纹加工指令设置为G92,具体操作如下:
图9 G32螺纹加工指令设置
(1)新建G92螺纹加工循环指令。在“N/C数据定义”选项中新建块“thread_move_92”,指令格式为“G92 X Z F”。
(2)屏蔽线性与快速移动[10]。在G00与G01的输出块里面添加输出条件,如图10所示,在条件命令块里输入以下内容,意思为:当操作类型为车螺纹时,块不输出,否则输出。
图10 GOO、GO1指令屏蔽设置
# This custom command should return
# 1 :Output
# 0 :No output
global mom_operation_type
if{$mom_operation_type == "Turn Threading" }{
return 0
}else{
return 1
}
(3)添加定位指令。在车螺纹操作下面,G00、G01都屏蔽了,但是车螺纹之前必须有个定位指令,所以在“N/C数据定义”选项中新建一个快速定位块“lathe_goto_star”,指令格式为“G00 X Z ”,并在快速移动里面输出一次。要实现输出一次,那么在“程序和刀轨”选项下的“运动”中的“快速移动”块里添加定制命令,输入以下内容:
global mom_operation_type
global num
set num 1
if{$mom_operation_type =="Turn Threading" && $num ==1 }{
MOM_do_template lathe_goto_star
incr num
}
(4)添加车螺纹定制命令。在“程序和刀轨”选项下的“运动”中的“车螺纹”块里删除原来默认的“G33X Z F”螺纹加工格式指令,然后新建定制命令,输入以下内容:
global mom_operation_type
#MOM_output_literal "$mom_operation_type"
if{$mom_operation_type == "Turn Threading" }{
MOM_do_template thread_move_92
}
将图1中加工零件的刀路重新通过定制的专用后处理文件进行后处理,生成的NC程序如下。对比通用后处理生成的NC程序,简洁明了,完全符合FANUC数控系统车削编程规则。将NC程序导入到宇龙数控仿真软件中进行仿真验证,结果如图11所示。
图11 仿真加工
外径加工程序
O1
N10 T0101
N20 G97 S800 M03
N30 M08
N40 G00 X40. Z5.
N50 G71 U.5 R1.
N60 G71 P70 Q80 U.2 W.2 F200.
N70 (CONTOUR DATA START)
G01 X0.0 Z1.
Z0.0
X17.
X20. Z-1.5
Z-24.
X26. Z-34.
Z-37.
G02 X30. Z-39. R2.
G01 Z-55.
X32.
N80 (CONTOUR DATA END)
N90 G70 P70. Q80.
N100 G00 X150. Z200.
N110 M05
N120 M09
N130 M30
螺纹加工程序
O3
N10 T0303
N20 G97 S800 M03
N30 M08
N40 G00 X26. Z.5
N50 G92 X19.415 Z-22. F1.5
N60 X19.006
N70 X18.719
N80 X18.518
N90 X18.378
N100 X18.279
N110 X18.211
N120 X18.151
N130 X18.1
N140 X18.05
N150 G00 X150. Z200.
N160 M05
N170 M09
N180 M30
本文基于UG软件通用后处理模块中的FANUC数控车床后处理模板,结合TCL语言研究了FANUC0i数控车床编程后处理定制方法,重点讨论了复合循环加工指令、螺纹加工指令等关键技术的后处理研究。结果表明:该后处理生成的NC程序经过验证,完全符合数控车床的编程格式,无需编程人员修改,提高了编程效率和质量,具有很强的实践性。