Tualar 发表于 2025-5-22 17:39:21

手把手教你制作新代220M-5 Plus五轴机床U380后处理(二

(二).后处理制作步骤:
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 -format "%y-%m_%d"]
      set dpp_head_time -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 {} {
         # MOM_output_literal "G69"
      }
      if { ! } {
         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=\
               R=\
               L=)"
(4).添加"定制命令"行到PB_CMD_my_rcb_tool_info行下面,输入名称end_of_alignment_character,编辑代码如下:
   global mom_sys_leader saved_seq_num
   if { } {
      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)
      if { } {
         for { set i 0 } { $i<3 } { incr i } {
            if { } {
               set dpp_ge(coord_offset,$i) $offset($i)
            }
            if { } {
               set dpp_ge(coord_rot_angle,$i) $angle($i)
               set dpp_ge(prev_coord_rot_angle,$i) $angle($i)
            }
            if { } {
               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)
             for { set i 0 } { $i<3 } { incr i } {
                if { } {
                   set dpp_ge(coord_offset,$i) $offset($i)
                }
                if { } {
                   set dpp_ge(coord_rot_angle,$i) $angle($i)
                   set dpp_ge(prev_coord_rot_angle,$i) $angle($i)
                }
                if { } {
                   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 { ! } {
      return 1
   } elseif { ! } {
          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 { ! && $dpp_ge(toolpath_axis_num) == "5" } {
         return 1
      }
      return 0

wish2086 发表于 2025-5-22 20:39:43

谢谢大佬!!

謎謎謎 发表于 2025-5-22 21:58:57

谢谢大佬!!

wagsng 发表于 2025-5-23 00:23:06

这个可以是复制来的吗哈哈哈

NX2312-LAOJIN 发表于 2025-5-23 08:06:29

膜拜大佬,虽然用不上!

3079872616 发表于 2025-5-23 08:10:19

大神,大义,能分享到这种地步,替大家谢谢您了。如果人人都像您一样无私奉献,就不会是现在这种谈起五轴后处理都不会的地步

a547775071 发表于 2025-5-23 09:17:33

感谢分享

18556973518 发表于 2025-5-23 10:16:10

谢谢大佬!!

tongtongjiezi 发表于 2025-5-26 13:48:00

厉害了,大佬

sdhoukesd 发表于 2025-5-27 13:15:34

佩服,多谢大佬的无私分享



页: [1] 2
查看完整版本: 手把手教你制作新代220M-5 Plus五轴机床U380后处理(二