|
21.在"第一次线性移动"事件中添加主轴最高转速检查代码:
(1).在"第一次线性移动"事件中的PB_CMD_my_rcb_output_spindle行上面添加"定制命令"。
(2).输入名称my_rcb_maximum_spindle_speed_check。
(3).编辑如下代码:
global mom_spindle_maximum_rpm
global index
incr index
if {$index == 1 } {
if { $mom_spindle_maximum_rpm == 100000 } {
set mom_spindle_maximum_rpm 2500
}
}
22.将主轴最高转速限制代码改成G50 S:
(1).在"机床控制"选项中找到"主轴CSS"事件。
(2).将"最大RPM代码"改成50。
(3).将"CSS中的最大RPM"改成9999。
23.在"程序起始序列"中添加自定义变量index初始化代码:
(1).在pb_cmd_program_header行下面添加"定制命令"。
(2).输入名称my_rcb_init_dpp_index。
(3).编辑代码如下:
global mom_spindle_maximum_rpm
global index
set index 0
set mom_spindle_maximum_rpm 100000
24.添加工序中未设置主轴转速和进给率的报警代码:
(1).在"第一次线性移动"事件中的PB_CMD_my_rcb_output_spindle行上面添加"定制命令"。
(2).输入名称my_rcb_spindle_speed_feed_check。
(3).编辑如下代码:
global mom_feed_cut_value
global mom_surface_speed
global mom_spindle_speed
if { [expr $mom_feed_cut_value == 0] || [expr $mom_surface_speed + $mom_spindle_speed == 0] } {
MOM_abort "ERROR: please check speed or feed setup!"
}
25.配置主轴转动方向M3/M4:
(1).找到"M代码"选项卡页面。
(2).将"主轴开/CLW"改成4,就是M4,主轴顺时针旋转(向后转动)。
(2).将"主轴开/CCLW"改成3,就是M3,主轴逆时针旋转(向前转动)。
26.删除G00指令前的G98:
(1).在"运动"选项中找到"快速移动"事件。
(2).将里面的G98元素删除。
27.删除刀具长度补偿H01:
(1).在"机床控制"选项中找到"长度补偿"事件。
(2).将里面的唯一元素H01删除。
28.配置G02/G03指令为R输出:
(1).在"运动"选项中找到"圆周移动"事件。
(2).将里面的I元素和K元素删除。
(3).在Z元素后面添加R元素,设置R元素为强制输出。
(4).将"最小圆弧长度"设置为0.2(圆弧长度小于0.2的圆弧强制G01输出)。
(5).将"循环记录"设置为整圆。
(6).将"IK定义"设置为Vector-ARC Start to Center(圆弧起点到圆心的向量)。
29.解决G02/G03指令R输出时,大于180°圆弧输出问题:
(1).在"运动"选项中找到"圆周移动"事件。
(2).添加"定制命令"到G98 G02 G90 X Z R F行上面。
(3).输入名称my_rcb_arc_output_check。
(4).编辑代码如下:
global mom_arc_angle
global mom_arc_radius
if { $mom_arc_angle > 180 } {
set mom_arc_radius [expr -1*$mom_arc_radius]
}
30.添加固定循环处理代码:
(1).在"现成循环"选项中找到"公共参数"事件。
(2).在G X Z R F行的G元素前面添加G17元素。
(3).在"现成循环"选项中找到"循环关闭"事件。
(4).在G80行的G80元素前面添加G18元素。
(5).在"现成循环"选项中找到"钻"事件。
(6).将PB_CMD_my_rcb_output_spindle添加到PB_CMD_set_lathe_cycle_param行下面。
(7).添加"定制命令"到PB_CMD_output_spindle行下面。
(8).输入名称my_rcb_g8x_cycle_dwell_calc。
(9).编辑代码如下:
global mom_cycle_delay
global mom_cycle_delay_revs
global mom_cycle_delay_mode
global mom_spindle_speed
if { $mom_cycle_delay_mode == "REVOLUTIONS" } {
set mom_cycle_delay [expr $mom_cycle_delay_revs / $mom_spindle_speed * 60]
}
(10).在"现成循环"选项中找到"钻驻留"事件。
(11).将PB_CMD_my_rcb_output_spindle添加到PB_CMD_set_lathe_cycle_param行下面。
(12).将PB_CMD_my_rcb_g8x_cycle_dwell_calc添加到PB_CMD_output_spindle行下面。
(13).在"现成循环"选项中找到"深钻"事件。
(14).将PB_CMD_my_rcb_output_spindle添加到PB_CMD_set_lathe_cycle_param行下面。
(15).将PB_CMD_my_rcb_g8x_cycle_dwell_calc添加到PB_CMD_output_spindle行下面。
(16).在"现成循环"选项中找到"钻断屑"事件。
(17).将PB_CMD_my_rcb_output_spindle添加到PB_CMD_set_lathe_cycle_param行下面。
(18).将PB_CMD_my_rcb_g8x_cycle_dwell_calc添加到PB_CMD_output_spindle行下面。
(19).在"现成循环"选项中找到"攻丝"事件。
(20).将PB_CMD_my_rcb_output_spindle添加到PB_CMD_set_lathe_cycle_param行下面。
(21).将PB_CMD_my_rcb_g8x_cycle_dwell_calc添加到PB_CMD_output_spindle行下面。
(22).在"现成循环"选项中找到"镗"事件。
(23).将PB_CMD_my_rcb_output_spindle添加到PB_CMD_set_lathe_cycle_param行下面。
(24).将PB_CMD_my_rcb_g8x_cycle_dwell_calc添加到PB_CMD_output_spindle行下面。
31.添加攻丝主轴方向检查代码:
(1).在"第一次线性移动"事件中的PB_CMD_my_rcb_output_spindle行上面添加"定制命令"。
(2).输入名称my_rcb_tapping_direction_check。
(3).编辑如下代码:
global mom_spindle_direction
global mom_tool_direction
if { $mom_tool_direction == 1 } {
set mom_spindle_direction "CCLW"
} elseif { $mom_tool_direction == 2 } {
set mom_spindle_direction "CLW"
}
# MOM_output_literal "(spindle_direction=$mom_spindle_direction)"
32.添加防止主轴飞车处理代码:
(1).在"初始移动"事件中找到PB_CMD_spindle_prestart_under_constant_surface_speed_control行。
(2).在"第一次移动"事件中找到PB_CMD_spindle_prestart_under_constant_surface_speed_control行。
(2).修改后的代码如下:
# If use constant surface speed control mode, preset the revolution speed and
# output revolution speed in rpm mode to turn on the spindle
#
# 05-30-2013 levi - Initial version
global mom_spindle_mode
global dpp_spindle_is_out
global mom_spindle_rpm
global mom_spindle_maximum_rpm
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
if { $mom_spindle_rpm > $mom_spindle_maximum_rpm } {
set mom_spindle_rpm $mom_spindle_maximum_rpm
}
MOM_do_template spindle_rpm_preset
}
33.修改车螺纹指令G33的输出格式:
(1).在"运动"选项中找到"车螺纹"事件。
(2).删除G33 X Z I K行中的I元素和K元素。
(3).添加"F-用户表达式"元素到G33 X Z行末尾。
(4).编辑F元素,在表达式文本框中输入$mom_lathe_thread_lead_k。
34.添加主轴控制代码,确保加工安全:
(1).在"工序起始序列"选项中找到"初始移动"事件。
(2).在G0 G90 Y0. M8行下面添加"定制命令"。
(3).输入名称output_spindle_g97_rpm。
(4).编辑如下代码:
global mom_spindle_mode
global mom_spindle_speed
global mom_spindle_rpm
global mom_spindle_direction
global mom_pos
global rpm
if { ![string compare "SFM" $mom_spindle_mode] || ![string compare "SMM" $mom_spindle_mode] } {
set rpm [expr int($mom_spindle_speed/($mom_pos(0)*6.28)*1000.0)]
} elseif { ![string compare "RPM" $mom_spindle_mode] } {
set rpm [expr int($mom_spindle_rpm)]
}
if { ![string compare "CLW" $mom_spindle_direction] } {
MOM_output_literal "G97 S$rpm M4"
} elseif { ![string compare "CCLW" $mom_spindle_direction] } {
MOM_output_literal "G97 S$rpm M3"
}
(5).复制PB_CMD_output_spindle_g97_rpm行到"第一次移动"事件的G0 G90 Y0. M8行下面。
35.在"工序结束序列->刀轨结束"事件中添加M9行,在M9行下面添加M5行,在M5行下面添加M1行。
36.用VERICUT软件验证,车后处理制作完成。
37.导出定制命令tcl脚本:
my_rcb_arc_output_check.tcl
my_rcb_g8x_cycle_dwell_calc.tcl
my_rcb_head_info.tcl
my_rcb_init_index.tcl
my_rcb_maximum_spindle_speed_check.tcl
my_rcb_output_spindle.tcl
my_rcb_output_spindle_g97_rpm.tcl
my_rcb_program_end.tcl
my_rcb_tapping_direction_check.tcl
my_rcb_tool_info.tcl
|
|