前言:
问题描述
在机床加工中,往往需要对刀具的行程值进行提前的了解,以便于确认装卡和加工,而对于一些卧式机床来说,由于机床特性,可能机床刀具的行程位移有所限制,那么机床的刀具行程信息对编程同样很重要。
解决:
针对这个问题,可以在生成的刀轨文件中,利用后置处理程序对行程的XYZ值进行判定,得到刀具的极限行程
后处理编程过程:
虽然不同数控厂商的变量设置形式不同,当后处理程序段逻辑思路类似,以下我们以西门子840D系统为例,进行编程验证:
TCL程序:
#=============================================================
proc PB_CMD_wjc_travel_limits {
} {
#=============================================================
#先定义变量及得到极值
#完成后在重写文件中,输出相关参数值
global mom_motion_type mom_current_motion
global tmp_motion_type
global mom_pos mom_cycle_feed_to_pos
global tmp_pos
global wjc_X_min_list wjc_X_max_list
global wjc_Y_min_list wjc_Y_max_list
global wjc_Z_min_list wjc_Z_max_list
global wjc_X_min_ini
global wjc_X_max_ini
global wjc_Y_min_lni
global wjc_Y_max_lni
global wjc_Z_min_lni
global wjc_Z_max_lni
global Wjc_X_min_list Wjc_X_max_list
global Wjc_Y_min_list Wjc_Y_max_list
global Wjc_Z_min_list Wjc_Z_max_list
global wjc_tool_name_list
global mom_tool_name mom_tool_number
global custom_tool_number
global custom_tool_name_list
global current_tool_name
global wjc_X_max_ini
global wjc_X_min_ini
global wjc_Y_max_ini
global wjc_Y_min_ini
global wjc_Z_max_ini
global wjc_Z_min_ini
#放置于开始变量
# set wjc_X_max_ini "-9999.999"
# set wjc_X_min_ini "9999.999"
# set wjc_Y_max_ini "-9999.999"
# set wjc_Y_min_ini "9999.999"
# set wjc_Z_max_ini "-9999.999"
# set wjc_Z_min_ini "9999.999"
set current_tool_name ${mom_tool_name}_$mom_tool_number
#定义
VAR_set wjc_X_min_list($current_tool_name) wjc_X_min_ini
VAR_set wjc_X_max_list($current_tool_name) wjc_X_max_ini
VAR_set wjc_Y_min_list($current_tool_name) wjc_Y_min_ini
VAR_set wjc_Y_max_list($current_tool_name) wjc_Y_max_ini
VAR_set wjc_Z_min_list($current_tool_name) wjc_Z_min_ini
VAR_set wjc_Z_max_list