找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 335|回复: 1

[原创] 手把手教你制作四轴XYZC新代22TB刀塔车铣复合后处理(三)

[复制链接]

19

主题

125

回帖

1380

积分

六级士官

积分
1380
发表于 2025-5-13 19:18:44 | 显示全部楼层 |阅读模式
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


1

主题

1659

回帖

3万

积分

上将

积分
36336
发表于 2025-5-20 18:39:03 | 显示全部楼层
谢谢分享好好学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-7-2 01:36

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表