|
(二).车后处理制作步骤:
1.打开NX后处理构造器:
(1).设置语言为简体中文。
(2).备份选项设置为每次保存的。
2.新建后处理:
(1).输入后处理名称为syntec22tb_turret_main_lathe。
(2).选中"主后处理"。
(3).输出单位选中"毫米"。
(4).勾选"启用UDE编辑器"。
(5).机床选中"车"。
(6).控制器选中"库"。
(7).在列表框中选择"fanuc"。
3.设置"机床"选项卡:
(1).输出方法选中"刀尖"。
(2).转塔选中"单转塔"。
(3).轴乘数"2X"前面打上"√"。
(4).将"2I"前面的"√"去掉。
(5).其它参数保持默认值。
4.修改"G代码"选项卡:
(1).将"循环退到(自动)"改成"00"。
(2).将"循环退到(手动)"改成"00"。
(3).将"进给率模式MMPM"改成"98"。
(4).将"进给率模式MMPR"改成"99"。
5.添加pb_cmd_program_header行:
(1).在"定制命令"选项卡里面导入pb_cmd_program_header。
(2).将pb_cmd_program_header拖到"程序开始"事件%行下面。
6.删除MOM_set_seq_on行。
7.最下面一行改成G18 G40 G80 G90 G99 G97 G21 G53。
8.在程序头输出程序名Oxxxx:
(1).在UG程序导航器中找到程序名,如PROGRAM。
(2).右键在菜单中选择"属性",弹出"CAM任务属性"窗口。
(3).在"类别(可选)"右侧文本框中输入任意名字,比如Tittle。
(4).在"标题/别名"右侧文本框中输入PROGRAM_NUMBER。
(5).在"值"右侧文本框中输入"O9977"。
9.在程序头输出日期和时间:
(1).添加"定制命令"到pb_cmd_program_header下面。
(2).输入名称my_rcb_head_info。
(3).输入如下代码:
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 22TB)"
MOM_output_literal "(Date: $dpp_head_date)"
MOM_output_literal "(Time: $dpp_head_time)"
10.修改换刀输出格式(如Txxxx):
(1).找到"机床控制"选项的"换刀"事件。
(2)."刀具号->最大值"改成12。
(3)."时间(秒)->换刀"改成2.0。
(4)."配置"按钮,选中"刀具号和长度偏置号"。
11.删除T行上面的G50 X Z行。
12.删除T行里面的H元素和M6元素。
13.在"自动换刀"事件的T上面添加文本行G28 U0. V0. W0.。
14.在"手动换刀"事件的M0上面添加文本行G28 U0. V0. W0.。
15.在"自动换刀"事件的T下面添加刀具信息输出代码:
(1).T行下面添加"定制命令"。
(2).输入名称my_rcb_tool_info。
(3).编辑如下代码段:
global mom_tool_type
global mom_tool_name
global mom_tool_nose_radius
global mom_tool_diameter
global mom_tool_pitch
global mom_tool_cut_edge_length
global mom_tool_insert_width
global mom_tool_radius
# MOM_output_literal "(tool_type: $mom_tool_type)"
# MOM_output_literal "(tool_name: $mom_tool_name)"
switch $mom_tool_type {
"Turning Tool-Standard" {
set turning_tip_radius [format "%0.1f" $mom_tool_nose_radius]
set turning_cut_length [format "%0.1f" $mom_tool_cut_edge_length]
# MOM_output_literal "(turning tip_radius: $turning_tip_radius)"
# MOM_output_literal "(turning_cut_length: $turning_cut_length)"
MOM_output_literal "(tool_name: $mom_tool_name R=$turning_tip_radius L=$turning_cut_length)"
}
"Drilling Tool" {
set drill_diameter [format "%0.1f" $mom_tool_diameter]
set drill_cut_length [format "%0.1f" $mom_tool_cut_edge_length]
# MOM_output_literal "(drill_diameter: $drill_diameter)"
# MOM_output_literal "(drill_cut_length: $drill_cut_length)"
MOM_output_literal "(tool_name: $mom_tool_name D=$drill_diameter L=$drill_cut_length)"
}
"Tap" {
set tap_diameter [format "%0.1f" $mom_tool_diameter]
set tap_pitch [format "%0.1f" $mom_tool_pitch]
# MOM_output_literal "(tap_diameter: $tap_diameter)"
# MOM_output_literal "(tap_pitch: $tap_pitch)"
MOM_output_literal "(tool_name: $mom_tool_name D=$tap_diameter P=$tap_pitch)"
}
"Grooving Tool-Standard" {
set groove_radius [format "%0.1f" $mom_tool_radius]
set groove_width [format "%0.1f" $mom_tool_insert_width]
# MOM_output_literal "(groove_width: $groove_width)"
# MOM_output_literal "(groove_radius: $groove_radius")
MOM_output_literal "(tool_name: $mom_tool_name R=$groove_radius W=$groove_width)"
}
"Treading Tool-Standard" {
MOM_output_literal "(tool_name: $mom_tool_name)"
}
}
16.复制"工序开始序列->自动换刀"事件的PB_CMD_my_rcb_tool_info行到"手动换刀"事件的T行下面。
17.在"工序开始序列->自动换刀"事件的T行下面添加G90 G(G54~59)行。
18.在"初始移动"事件中添加主轴转速预设代码:
(1).在"初始移动"事件中添加"定制命令"。
(2).输入名称spindle_prestart_under_constant_surface_speed_control。
(3).编辑如下代码:
# If use constant surface speed control mode, preset the revolution speed and
# output revolution speed in rpm mode to turn on the spindle
global mom_spindle_mode
global dpp_spindle_is_out
catch { unset dpp_spindle_is_out }
if { ![string compare "SFM" $mom_spindle_mode] || ![string compare "SMM" $mom_spindle_mode] } {
MOM_force once G_spin M_spindle S
MOM_do_template spindle_rpm_preset
}
19.复制"初始移动"事件PB_CMD_spindle_prestart_under_constant_surface_speed_control中的行到在"第一次移动"事件中。
20.在"第一次线性移动"事件中添加主轴转速输出代码:
(1).在"第一次线性移动"事件中添加"定制命令"。
(2).输入名称my_rcb_output_spindle。
(3).编辑如下代码:
# This command is used to output spindle speed.
# If use constant surface speed control mode, need output maximum speed before.
global mom_spindle_mode
global dpp_spindle_is_out
global index
if { [info exists dpp_spindle_is_out] } {
return
} else {
set dpp_spindle_is_out "1"
}
if { ![string compare "RPM" $mom_spindle_mode] } {
if { $index == 1 } {
MOM_do_template spindle_max_rpm
}
MOM_force once M_spindle S G_spin
MOM_do_template spindle_rpm
} elseif { ![string compare "SFM" $mom_spindle_mode] || ![string compare "SMM" $mom_spindle_mode] } {
MOM_force once M_spindle S G G_spin
if { $index == 1 } {
MOM_do_template spindle_max_rpm
}
MOM_force Once S
MOM_do_template spindle_css
}
|
|