|
(二).后处理制作步骤:
1.打开NX后处理构造器:
(1).设置语言为简体中文。
(2).备份选项设置为每次保存的。
2.新建后处理:
(1).输入后处理名称为syntec220m_5x_ac。
(2).选中"主后处理"。
(3).输出单位选中"毫米"。
(4).勾选"启用UDE编辑器"。
(5).机床选中"铣"。
(6).在下面下拉列表中选择"5轴带双转台"。
(8).控制器选中"库"。
(9).在列表框中选择"FANUC"->"Fanuc_30i_advanced"。
3.设置"机床->第四轴"选项卡:
(1).点击"配置"按钮,弹出旋转轴配置对话框。
(2).将"第4轴转台"下的"旋转平面"改成YZ,将"文字引导符"改成A。
(3).将"第5轴转台"下的"旋转平面"改成XY,将"文字引导符"改成C。
(4).其它参数保持默认值,点击确定。
(5).设置"旋转运动精度(度)"为0.001。
(6).设置"旋转轴"为"法向"。
(7).设置"轴限制(度)"最大值120,最小值为-30。
(8).取消"旋转轴可以递增的"前面的√,不打√。
(9).其它参数保持默认值。
4.设置"机床->第五轴"选项卡:
(1).设置"旋转运动精度(度)"为0.001。
(2).设置"旋转轴"为"法向"。
(3).设置"轴限制(度)"最大值360,最小值为0。
(4).取消"旋转轴可以递增的"前面的√,不打√。
(5).其它参数保持默认值。
5.修改"程序开始序列->程序开始"事件":
(1).删除MOM_set_seq_on行。
(2).找到"G代码"选项卡,将"英制模式"改成70,将"公制模式"改成71。
(3).修改G40 G17 G90 G49 G71行内容为G17 G40 G80 G49 G69 G90 G94。
(4).修改PB_CMD_customize_output_mode行的代码内容如下:
global dpp_ge
global dpp_opt_type
set dpp_opt_type "NONE"
set dpp_ge(sys_coord_rotation_output_type) "SWIVELING"
set dpp_ge(sys_tcp_tool_axis_output_mode) "AXIS"
set dpp_ge(sys_output_coord_mode) "TCP_FIX_TABLE"
(5).在PB_CMD_program_header行下面添加"定制命令",输入名称my_rcb_head_info,编辑代码如下:
set dpp_head_date [clock format [clock seconds] -format "%y-%m_%d"]
set dpp_head_time [clock format [clock seconds] -format "%H:%M:%S"]
MOM_output_literal "(CNC: Syntec 220M-5 Plus)"
MOM_output_literal "(Mach: A(-30~+120) C(0~360))"
MOM_output_literal "(Date: 20$dpp_head_date)"
MOM_output_literal "(Time: $dpp_head_time)"
6.修改"工序结束序列->刀轨结束"事件":
(1).删除G91 G28 Z0.行。
(2).删除G91 G28 X0. Y0.行。
(3).删除G90 G53 G00 A0. C0.行。
(4).删除M09行。
(5).删除M05行。
(6).修改PB_CMD_reset_output_mode行代码内容 如下:
global dpp_ge
global mom_sys_adjust_code
global dpp_opt_type
MOM_output_literal "G49"
if {[string compare "NONE" $dpp_ge(coord_rot)]} {
# MOM_output_literal "G69"
}
if { ![string compare "3+2X" $dpp_opt_type] } {
MOM_output_literal "G69"
}
set mom_sys_adjust_code 43
DPP_GE_RESTORE_KINEMATICS
set dpp_opt_type "NONE"
MOM_output_literal "G91 G28 Z0."
MOM_output_literal "M1"
7.修改"程序结束序列->程序结束"事件":
(1).删除IF(PB_CMD_check_block_running_post_oper_path)行。
(2).删除MOM_abort_event行。
(3).删除END行。
(4).删除IF(PB_CMD_check_block_subprogram_output_on)行。
(5).删除PB_CMD__subprogram_output_dump行。
(6).删除END行。
(7).删除MOM_set_seq_off行。
(8).在M30行上面添加"定制命令",输入名称my_end_of_programm,编辑代码如下:
MOM_output_literal "M5"
MOM_output_literal "M9"
MOM_output_literal "M82 (Unlock A Axis)"
MOM_output_literal "M84 (Unlock C Axis)"
MOM_output_literal "G91 G28 Z0."
MOM_output_literal "G28 A0. C0."
MOM_output_literal "G28 X0. Y0."
8.修改"工序开始序列->刀轨开始"事件":
(1).添加"操作员消息"行,输入文本Opt_name: $mom_operation_name。
(2).修改PB_CMD_reset_auto_detected_parameter行的代码内容如下:
global dpp_opt_type
set dpp_opt_type "NONE"
RESET_DPP_VALUE
(3).添加"定制命令"行,输入名称start_of_operation_addresses,编辑代码如下:
MOM_force once M_spindle M_coolant S X Y Z F R fourth_axis fifth_axis
9.删除"工序开始序列->第一个刀具"事件中的所有行。
10.删除"工序开始序列->自动换刀"事件中的所有行。
11.删除"工序开始序列->手动换刀"事件中的所有行。
12.修改"工序开始序列->第一个刀具"事件:
(1).添加"定制命令"行,输入名称change_first_tool,编辑代码如下:
global mom_sys_leader saved_seq_num
set saved_seq_num $mom_sys_leader(N)
set mom_sys_leader(N) "N"
MOM_output_literal "M82 (Unlock A Axis)"
MOM_output_literal "M84 (Unlock C Axis)"
MOM_output_literal "M5"
MOM_output_literal "M9"
MOM_output_literal "G91 G28 Z0."
MOM_output_literal "G28 A0. C0."
MOM_output_literal "G28 X0. Y0."
(2).添加T M6行到PB_CMD_change_first_tool行下面。
(3).添加"定制命令"行到T M6行下面,输入名称my_rcb_tool_info,编辑代码如下:
global mom_tool_diameter mom_tool_name mom_tool_number
global mom_tool_corner1_radius
global mom_tool_flute_length
global mom_tool_length
global mom_event_handler_file_name
global mom_operation_name
global mom_stock_part mom_stock_floor
global mom_sys_control_out mom_sys_control_in
MOM_output_literal "(tool_name: $mom_tool_name\
D=[format "%.2f" $mom_tool_diameter]\
R=[format "%.2f" $mom_tool_corner1_radius]\
L=[format "%.2f" $mom_tool_length])"
(4).添加"定制命令"行到PB_CMD_my_rcb_tool_info行下面,输入名称end_of_alignment_character,编辑代码如下:
global mom_sys_leader saved_seq_num
if { [info exists saved_seq_num] } {
set mom_sys_leader(N) $saved_seq_num
}
(5).添加T (Next Tool Ready)行到PB_CMD_end_of_alignment_character行下面,也就是备刀。
13.复制"工序开始序列->第一个刀具"事件中的所有行到"工序开始序列->自动换刀"事件中。
14.复制"工序开始序列->第一个刀具"事件中的所有行到"工序开始序列->手动换刀"事件中。
15.添加M0行到"工序开始序列->手动换刀"事件中的T M6行上面。
16.修改"工序开始序列->初始移动"事件:
(1).删除IF(PB_CMD_subprogram_output_on)行。
(2).删除PB_CMD__subprogram_output_start行
(3).删除END行。
(4).删除G17 G97 G90 G行。
(5).在PB_CMD_detect_tool_path_type行下面添加"定制命令"行,输入名称my_rcb_output_unlock_axis,编辑代码如下:
MOM_output_literal "M82 (Unlock A Axis)"
MOM_output_literal "M84 (Unlock C Axis)"
(6).在PB_CMD_my_rcb_output_unlock_axis行下面添加mill_work_plane块,内容如下:
G17 G0 G90 G(MCS Fixture Offset(54~59)) A C S M3
(7).编辑G68.2 X Y Z I J K行输出条件PB_CMD_check_block_swiveling_coord_rot,编辑代码如下:
global dpp_ge
global mom_pos
global dpp_opt_type
if { $dpp_ge(toolpath_axis_num) == "3" && $dpp_ge(sys_coord_rotation_output_type) == "SWIVELING" } {
set dpp_ge(coord_rot) [DPP_GE_COOR_ROT "ZXZ" angle offset pos]
if { [string compare "NONE" $dpp_ge(coord_rot)] } {
for { set i 0 } { $i<3 } { incr i } {
if { [info exists offset] } {
set dpp_ge(coord_offset,$i) $offset($i)
}
if { [info exists angle] } {
set dpp_ge(coord_rot_angle,$i) $angle($i)
set dpp_ge(prev_coord_rot_angle,$i) $angle($i)
}
if { [info exists pos] } {
set mom_pos($i) $pos($i)
}
}
MOM_reload_variable -a mom_pos
MOM_do_template three_plus_two_suppress CREATE
MOM_output_literal "(Opt_type: 3+2 Fixed Axis)"
set dpp_opt_type "3+2X"
return 1
} else {
MOM_output_literal "(Opt_type: 3 Axis)"
set dpp_opt_type "3X"
return 0
}
} else { # 5 axis toolpath output G68.2.
if { $dpp_ge(toolpath_axis_num) == "5" } {
set dpp_ge(coord_rot) [DPP_GE_COOR_ROT "ZXZ" angle offset pos]
for { set i 0 } { $i<3 } { incr i } {
if { [info exists offset] } {
set dpp_ge(coord_offset,$i) $offset($i)
}
if { [info exists angle] } {
set dpp_ge(coord_rot_angle,$i) $angle($i)
set dpp_ge(prev_coord_rot_angle,$i) $angle($i)
}
if { [info exists pos] } {
set mom_pos($i) $pos($i)
}
}
}
MOM_reload_variable -a mom_pos
MOM_do_template three_plus_two_suppress CREATE
MOM_output_literal "(Opt_type: 5 Axis RTCP)"
set dpp_opt_type "5X"
return 1
}
return 0
(8).编辑G53.1行输出条件PB_CMD_check_block_auto_align_rotary_axis,编辑代码如下:
global dpp_opt_type
if { ![string compare "3+2X" $dpp_opt_type] } {
return 1
} elseif { ![string compare "5X" $dpp_opt_type] } {
return 1
}
return 0
(9).修改G00 A C行的内容为G0 G90 X Y。
(10).为G0 G90 X Y行添加输出条件PB_CMD__check_block_initial_move_8,编辑代码如下:
global dpp_ge
global dpp_opt_type
if { ![string compare "5X" $dpp_opt_type] && $dpp_ge(toolpath_axis_num) == "5" } {
return 1
}
return 0
|
评分
-
查看全部评分
|