西门子27648的由来840D探头测出的数值怎么带入UG后处理做出的程序里?

前言:问题描述:在机床加工过程中,通过UG CAM生成的数控程序段中可能存在多个进给速度,比如切削进给速度,逼近速度,进刀速度,第一刀切削速度,步进速度,退刀速度等等,如果利用常用的数值模式输出,在实际加工过程中容易出现两个问题:① 在数控程序较大时候,如果需要对其中一个速度进行修改,可能出现搜索困难等问题② 在数控程序中,同一个速度类型可能在多个代码段中使用,如果用数值模式输出,往往需要一一进行修改,造成工作量增大等问题解决:针对这个问题,不同的数控系统厂商都提供了自家关于进给速度变量控制方式,需要用户自行通过后置处理程序进行配置,那么以变量控制的好处是什么呢?首先,如果以变量形式控制进给速度,可以在程序头统一体现,便于统一观察、管理及调用变量值,其次,在修改进给参数时候,可以通过修改变量对应的数值来修改整个类型的进给速度,也可以通过对过程中的具体某个数值进行修改,操作方式更为灵活。后处理编程过程:虽然不同数控厂商的变量设置形式不同,当后处理程序段逻辑思路类似,以下我们以西门子840D系统为例,进行编程验证:TCL程序段#=============================================================
proc PB_CMD_wjc_value_msg_ini { } {
#=============================================================
uplevel #0 {
#
# 常规进给速度输出格式:
#
# "0" 或其它非 "1" "2"字符, 输出数字
#
# "1", 输出 R 参数格式进给速度, R 值为进给速度值
set wjc_feed_output_format
"1"
#
#
# 当常规进给速度只有一个或一种速度时输出格式:
#
# "0" 或其它非 "1" 字符, 输出数字
#
# "1", 只有一个或一种速度时跟随输出 R 参数格式进给速度
set wjc_feed_single_output_format
"0"
};#enduplevel
}
#=============================================================
proc PB_CMD_wjc_value_set_ini { } {
#=============================================================
#初始用户变量设定,在系统初始变量中设定
uplevel #0 {
set mom_feed_rapid_value
"0"
set mom_feed_approach_value
"0"
set mom_feed_engage_value
"0"
set mom_feed_first_cut_value
"0"
set mom_feed_stepover_value
"0"
set mom_feed_cut_value
"0"
set mom_feed_traversal_value
"0"
set mom_feed_retract_value
"0"
set mom_feed_return_value
"0"
set mom_feed_departure_value
"0"
set custom_feed_rapid_text
""
set custom_feed_approach_text
""
set custom_feed_engage_text
""
set custom_feed_first_cut_text
""
set custom_feed_stepover_text
""
set custom_feed_cut_text
""
set custom_feed_traversal_text
""
set custom_feed_retract_text
""
set custom_feed_return_text
""
set custom_feed_departure_text
""
set custom_feed_rate_text
""
set custom_feed_base_value_text
""
set custom_sys_leader_F
"F"
set custom_sys_trailer_F
 
""
}; # end_uplevel
}
#=============================================================
proc PB_CMD_wjc_feed_check { } {
#=============================================================
#检测当前Feed设置形式,用于mom_before_motion中PB_CMD_wjc_feed_R_mode_replace前判定
#用于判定UG进给速度设置形式,是否是同一速度或不同速度等
global
mom_feed_rapid_value   #参数变量需要自行在mom变量中确认
global
mom_feed_approach_value
global
mom_feed_engage_value
global
mom_feed_first_cut_value
global
mom_feed_stepover_value
global
mom_feed_cut_value
global
mom_feed_traversal_value
global
mom_feed_retract_value
global
mom_feed_return_value
global
mom_feed_departure_value
global
custom_flag_feed_type_count
if {[EQ_is_zero $mom_feed_rapid_value]
&&
[EQ_is_zero $mom_feed_approach_value]
&& \
[EQ_is_zero $mom_feed_engage_value]
&& [EQ_is_zero $mom_feed_first_cut_value]
&& \
[EQ_is_zero $mom_feed_stepover_value]
&& [EQ_is_zero $mom_feed_traversal_value]
&& \
[EQ_is_zero $mom_feed_retract_value]
&&  [EQ_is_zero $mom_feed_departure_value] }  {
set custom_flag_feed_type_count 1
} elseif {
([EQ_is_zero $mom_feed_rapid_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_rapid_value])
&& \
([EQ_is_zero $mom_feed_approach_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_approach_value])
&& \
([EQ_is_zero $mom_feed_engage_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_engage_value])
&& \
([EQ_is_zero $mom_feed_first_cut_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_first_cut_value])
&& \
([EQ_is_zero $mom_feed_stepover_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_stepover_value])
&& \
([EQ_is_zero $mom_feed_traversal_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_traversal_value])
&& \
([EQ_is_zero $mom_feed_retract_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_retract_value])
&& \
([EQ_is_zero $mom_feed_departure_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_departure_value])
}  {
set custom_flag_feed_type_count 2
} else {
set custom_flag_feed_type_count 0
}
}
#=============================================================
proc PB_CMD_wjc_feed_R_mode_output { } {
#=============================================================
#输出R模式格式,该程序段用于生成R模式的参数值及程序段头显示
#custom_flag_feed_type_count 均为0设置为1
均为0或者与切削速度相同为2
其他情况为0
global
feed
global
custom_feed
global
mom_template_type
global
custom_sys_leader_F
global
custom_sys_trailer_F
global
custom_sys_leader_F_output
global
custom_sys_trailer_F_output
global
mom_feed_rapid_value
global
mom_feed_approach_value
global
mom_feed_engage_value
global
mom_feed_first_cut_value
global
mom_feed_stepover_value
global
mom_feed_cut_value
global
mom_feed_traversal_value
global
mom_feed_retract_value
global
mom_feed_return_value
global
mom_feed_departure_value
global
custom_feed_rapid_value
global
custom_feed_approach_value
global
custom_feed_engage_value
global
custom_feed_first_cut_value
global
custom_feed_stepover_value
global
custom_feed_cut_value
global
custom_feed_traversal_value
global
custom_feed_retract_value
global
custom_feed_return_value
global
custom_feed_departure_value
global
custom_feed_rapid_text
global
custom_feed_approach_text
global
custom_feed_engage_text
global
custom_feed_first_cut_text
global
custom_feed_stepover_text
global
custom_feed_cut_text
global
custom_feed_traversal_text
global
custom_feed_retract_text
global
custom_feed_return_text
global
custom_feed_departure_text
global
custom_feed_rate_text
global
custom_feed_base_value_text
global
custom_flag_feed_type_count
global
mom_seqnum
global
custom_seqnum_length_old
global
custom_seqnum_length_new
global
custom_R_number
global
custom_blanks_length_max
global
custom_blanks_length_min
global
custom_blanks_temp
global
custom_blanks
global
custom_blanks_1
global
custom_blanks_2
# for NX8
global
mom_feed_rapid_unit
global
mom_feed_approach_unit
global
mom_feed_engage_unit
global
mom_feed_first_cut_unit
global
mom_feed_stepover_unit
global
mom_feed_cut_unit
global
mom_feed_traversal_unit
global
mom_feed_retract_unit
global
mom_feed_return_unit
global
mom_feed_departure_unit
global
mom_feed_rapid_nominal_unit
global
mom_feed_approach_nominal_unit
global
mom_feed_engage_nominal_unit
global
mom_feed_first_cut_nominal_unit
global
mom_feed_stepover_nominal_unit
global
mom_feed_cut_nominal_unit
global
mom_feed_traversal_nominal_unit
global
mom_feed_retract_nominal_unit
global
mom_feed_return_nominal_unit
global
mom_feed_departure_nominal_unit
global
mom_feed_rapid_nominal_value
global
mom_feed_approach_nominal_value
global
mom_feed_engage_nominal_value
global
mom_feed_first_cut_nominal_value
global
mom_feed_stepover_nominal_value
global
mom_feed_cut_nominal_value
global
mom_feed_traversal_nominal_value
global
mom_feed_retract_nominal_value
global
mom_feed_return_nominal_value
global
mom_feed_departure_nominal_value
global
mom_ug_version
#MOM_output_literal "mom_ug_version = $mom_ug_version "
#MOM_output_literal "mom_feed_first_cut_nominal_value = $mom_feed_first_cut_nominal_value "    
if
{$mom_ug_version >= "8.0"} {
# -01-
if {[info exists mom_feed_cut_nominal_unit]} {
switch $mom_feed_cut_nominal_unit {
"None"
{ }
"mmpm"
{ }
"mmpr"
{ }
default
{ }
}
}
# -02-
if {[info exists mom_feed_rapid_nominal_unit]} {
switch $mom_feed_rapid_nominal_unit {
"None"
{
}
"mmpm"
{ }
"mmpr"
{ }
"Rapid"
{ }
 
"%Cut"
{ set mom_feed_rapid_value
[expr $mom_feed_rapid_nominal_value / 100.0 * $mom_feed_cut_value] }
default
{ }
}
}
# -03-
if {[info exists mom_feed_approach_nominal_unit]} {
switch $mom_feed_approach_nominal_unit {
"None"
{
}
"mmpm"
{ }
"mmpr"
{ }
"Rapid"
{ }
"%Cut" { set mom_feed_approach_value
[expr $mom_feed_approach_nominal_value / 100.0 * $mom_feed_cut_value] }
default
{ }
}
}
# -04-
if {[info exists mom_feed_engage_nominal_unit]} {
switch $mom_feed_engage_nominal_unit {
"None"
{
}
"mmpm"
{ }
"mmpr"
{ }
"Rapid"
{ }
 "%Cut"   { set mom_feed_engage_value
[expr $mom_feed_engage_nominal_value / 100.0 * $mom_feed_cut_value] }
default
{ }
}
}
# -05-
if {[info exists mom_feed_first_cut_nominal_unit]} {
switch $mom_feed_first_cut_nominal_unit {
"None"
{
}
"mmpm"
{ }
"mmpr"
{ }
"Rapid"
{ }
  "%Cut"
{ set mom_feed_first_cut_value
[expr $mom_feed_first_cut_nominal_value / 100.0 * $mom_feed_cut_value] }
default
{ }
}
}
# -06-
if {[info exists mom_feed_stepover_nominal_unit]} {
switch $mom_feed_stepover_nominal_unit {
"None"
{
}
"mmpm"
{ }
"mmpr"
{ }
"Rapid"
{ }
"%Cut"
{ set mom_feed_stepover_value
[expr $mom_feed_stepover_nominal_value / 100.0 * $mom_feed_cut_value] }
default
{ }
}
}
# -07-
if {[info exists mom_feed_traversal_nominal_unit]} {
switch $mom_feed_traversal_nominal_unit {
"None"
{
}
"mmpm"
{ }
"mmpr"
{ }
"Rapid"
{ }
  "%Cut"
{ set mom_feed_traversal_value
[expr $mom_feed_traversal_nominal_value / 100.0 * $mom_feed_cut_value] }
default
{ }
}
}
# -08-
if {[info exists mom_feed_retract_nominal_unit]} {
switch $mom_feed_retract_nominal_unit {
"None"
{
}
"mmpm"
{ }
"mmpr"
{ }
"Rapid"
{ }
"%Cut"
{ set mom_feed_retract_value
[expr $mom_feed_retract_nominal_value / 100.0 * $mom_feed_cut_value] }
default
{ }
}
}
# -09-
if {[info exists mom_feed_return_nominal_unit]} {
switch $mom_feed_return_nominal_unit {
"None"
{
}
"mmpm"
{ }
"mmpr"
{ }
"Rapid"
{ }
  "%Cut"
{ set mom_feed_return_value
[expr $mom_feed_return_nominal_value / 100.0 * $mom_feed_cut_value] }
  
default
{ }
  
}
   }
# -10-
if {[info exists mom_feed_departure_nominal_unit]} {
switch $mom_feed_departure_nominal_unit {
"None"
{
}
"mmpm"
{ }
"mmpr"
{ }
"Rapid"
{ }
"%Cut" { set mom_feed_departure_value[expr $mom_feed_departure_nominal_value / 100.0 * $mom_feed_cut_value] }
default
{ }
}
}
}
#MOM_output_literal "mom_feed_first_cut_value = $mom_feed_first_cut_value"
#-----------------------
#设置F输出格式flag,如无pui文件,则在def中修改格式
set custom_sys_leader_F_output
 
$custom_sys_leader_F
set custom_sys_trailer_F_output
  $custom_sys_trailer_F
set custom_template_type
[string toupper $mom_template_type]
if {[EQ_is_zero $mom_feed_rapid_value]  &&
[EQ_is_zero $mom_feed_approach_value]
&& \
[EQ_is_zero $mom_feed_engage_value]
&&  [EQ_is_zero $mom_feed_first_cut_value]
&& \
 [EQ_is_zero $mom_feed_stepover_value]  && [EQ_is_zero $mom_feed_traversal_value]
&& \
[EQ_is_zero $mom_feed_retract_value]
&&  [EQ_is_zero $mom_feed_departure_value]
} {
set custom_flag_feed_type_count 1
} elseif {
([EQ_is_zero $mom_feed_rapid_value]  
[EQ_is_equal $mom_feed_cut_value $mom_feed_rapid_value])
&& \ ([EQ_is_zero $mom_feed_approach_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_approach_value])
&& \
([EQ_is_zero $mom_feed_engage_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_engage_value])
&& \ ([EQ_is_zero $mom_feed_first_cut_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_first_cut_value])
&& \
([EQ_is_zero $mom_feed_stepover_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_stepover_value])
&& \
([EQ_is_zero $mom_feed_traversal_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_traversal_value])
&& \
([EQ_is_zero $mom_feed_retract_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_retract_value])
&& \
([EQ_is_zero $mom_feed_departure_value]
[EQ_is_equal $mom_feed_cut_value $mom_feed_departure_value])
} {
set custom_flag_feed_type_count 2
} else {
set custom_flag_feed_type_count 0
}
#测试用
global
wjc_feed_output_format
wjc_feed_single_output_format
if {$wjc_feed_output_format != 1 } {return}
   if {$wjc_feed_single_output_format != 1} {
   if {$custom_flag_feed_type_count == 1
$custom_flag_feed_type_count == 2} {
return
  
}
 
}
set custom_R_number
0
set custom_blanks
""
set custom_blanks_1
"
"
set custom_blanks_2
"; "
#-----------------------------------
set custom_feed_rapid_value
[string trimright [string trimright [format %.3f $mom_feed_rapid_value] 0] .]
set custom_feed_approach_value
[string trimright [string trimright [format %.3f $mom_feed_approach_value] 0] .]
set custom_feed_engage_value
[string trimright [string trimright [format %.3f $mom_feed_engage_value] 0] .]
set custom_feed_first_cut_value
[string trimright [string trimright [format %.3f $mom_feed_first_cut_value] 0] .]
set custom_feed_stepover_value
[string trimright [string trimright [format %.3f $mom_feed_stepover_value] 0] .]
set custom_feed_cut_value
[string trimright [string trimright [format %.3f $mom_feed_cut_value] 0] .]
set custom_feed_traversal_value
[string trimright [string trimright [format %.3f $mom_feed_traversal_value] 0] .]
set custom_feed_retract_value
[string trimright [string trimright [format %.3f $mom_feed_retract_value] 0] .]
set custom_feed_return_value
[string trimright [string trimright [format %.3f $mom_feed_return_value] 0] .]
set custom_feed_departure_value
[string trimright [string trimright [format %.3f $mom_feed_departure_value] 0] .]
#-----------------------------------
set custom_blanks_length_max
[string length $custom_feed_rapid_value]
set custom_seqnum_length_old
   [expr [string length $mom_seqnum]-18]
set custom_blanks_length_max
[expr $custom_seqnum_length_old+6+$custom_blanks_length_max]
#测试用
#
MOM_output_literal "mom_seqnum:$mom_seqnum"
#
MOM_output_literal "custom_seqnum_length_old:$custom_seqnum_length_old"
#
MOM_output_literal "custom_blanks_length_max:$custom_blanks_length_max"
#-----------------------------------
#输出R模式程序头
#1
if {![EQ_is_zero $mom_feed_rapid_value] && ($mom_feed_cut_value != $mom_feed_rapid_value)} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_rapid_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_rapid_value}${custom_blanks}${custom_blanks_2}FEED_RAPID"
set custom_feed_rapid_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_rapid_text
""
}
#2
if {![EQ_is_zero $mom_feed_approach_value] && ($mom_feed_cut_value != $mom_feed_approach_value)} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_approach_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_approach_value}${custom_blanks}${custom_blanks_2}FEED_APPROACH"
set custom_feed_approach_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_approach_text
""
}
#3
if {![EQ_is_zero $mom_feed_engage_value] && ($mom_feed_cut_value != $mom_feed_engage_value)} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_engage_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_engage_value}${custom_blanks}${custom_blanks_2}FEED_ENGAGE"
set custom_feed_engage_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_engage_text
""
}
#4
if {![EQ_is_zero $mom_feed_first_cut_value] && ($mom_feed_cut_value != $mom_feed_first_cut_value)} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_first_cut_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_first_cut_value}${custom_blanks}${custom_blanks_2}FEED_FIRST_CUT"
set custom_feed_first_cut_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_first_cut_text
""
}
#5
if {![EQ_is_zero $mom_feed_stepover_value] && ($mom_feed_cut_value != $mom_feed_stepover_value)} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_stepover_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_stepover_value}${custom_blanks}${custom_blanks_2}FEED_STEPOVER"
set custom_feed_stepover_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_stepover_text
""
}
#6
if {![EQ_is_zero $mom_feed_cut_value]} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_cut_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_cut_value}${custom_blanks}${custom_blanks_2}FEED_CUT"
set custom_feed_cut_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_cut_text
"250."
}
#7
if {![EQ_is_zero $mom_feed_traversal_value] && ($mom_feed_cut_value != $mom_feed_traversal_value)} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_traversal_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_traversal_value}${custom_blanks}${custom_blanks_2}FEED_TRAVERSAL"
set custom_feed_traversal_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_traversal_text
""
}
#8
if {![EQ_is_zero $mom_feed_retract_value] && ($mom_feed_cut_value != $mom_feed_retract_value)} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_retract_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_retract_value}${custom_blanks}${custom_blanks_2}FEED_RETRACT"
set custom_feed_retract_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_retract_text
""
}
#9
if {![EQ_is_zero $mom_feed_return_value] && ($mom_feed_cut_value != $mom_feed_return_value)} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_return_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_return_value}${custom_blanks}${custom_blanks_2}FEED_RETURN"
set custom_feed_return_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_return_text
""
}
#10
if {![EQ_is_zero $mom_feed_departure_value] && ($mom_feed_cut_value != $mom_feed_departure_value)} {
incr custom_R_number
set custom_blanks_length_min
[string length $custom_feed_departure_value]
#PB_CMD_wjc_blank_comment $custom_blanks_length_max
$custom_blanks_length_min
MOM_output_literal "R\[$custom_R_number\]=${custom_feed_departure_value}${custom_blanks}${custom_blanks_2}FEED_DEPARTURE"
set custom_feed_departure_text
"=R\[$custom_R_number\]"
} else {
set custom_feed_departure_text
""
}
#-----------------------------------
 #进行string文本内容更新
if {$custom_feed_engage_text == "" } {
set custom_feed_engage_text
$custom_feed_cut_text
}
if {$custom_feed_first_cut_text == ""} {
set custom_feed_first_cut_text
$custom_feed_cut_text
}
if {$custom_feed_stepover_text == ""} {
set custom_feed_stepover_text
$custom_feed_cut_text
}
#-----------------------------------
# for NX8
if {$mom_feed_cut_value == $mom_feed_rapid_value} {
set custom_feed_rapid_text
$custom_feed_cut_text
}
if {$mom_feed_cut_value == $mom_feed_approach_value} {
set custom_feed_approach_text
$custom_feed_cut_text
}
if {$mom_feed_cut_value == $mom_feed_engage_value} {
set custom_feed_engage_text
$custom_feed_cut_text
}
if {$mom_feed_cut_value == $mom_feed_first_cut_value} {
set custom_feed_first_cut_text
$custom_feed_cut_text
}
if {$mom_feed_cut_value == $mom_feed_stepover_value} {
set custom_feed_stepover_text
$custom_feed_cut_text
}
if {$mom_feed_cut_value == $mom_feed_traversal_value} {
set custom_feed_traversal_text
$custom_feed_cut_text
}
if {$mom_feed_cut_value == $mom_feed_retract_value} {
set custom_feed_retract_text
$custom_feed_cut_text
}
if {$mom_feed_cut_value == $mom_feed_return_value} {
set custom_feed_return_text
$custom_feed_cut_text
}
if {$mom_feed_cut_value == $mom_feed_departure_value} {
set custom_feed_departure_text
$custom_feed_cut_text
}
}
#=============================================================
proc PB_CMD_wjc_feed_R_mode_replace { } {
#=============================================================
#F输出R模式
#替换数字输出格式,需要在初始移动和第一刀位移放置,并置于R_mode_output后,同时需要在before_motion中放置
global
wjc_feed_output_format
global
wjc_feed_single_output_format
global
feed
global
custom_feed
global
mom_template_type
global
mom_feed_rapid_value
global
mom_feed_approach_value
global
mom_feed_engage_value
global
mom_feed_first_cut_value
global
mom_feed_stepover_value
global
mom_feed_cut_value
global
mom_feed_traversal_value
global
mom_feed_retract_value
global
mom_feed_return_value
global
mom_feed_departure_value
global
custom_flag_feed_type_count
global
feed
global
custom_feed
global
mom_template_type
global
mom_feed_rapid_value
global
mom_feed_approach_value
global
mom_feed_engage_value
global
mom_feed_first_cut_value
global
mom_feed_stepover_value
global
mom_feed_cut_value
global
mom_feed_traversal_value
global
mom_feed_retract_value
global
mom_feed_return_value
global
mom_feed_departure_value
global
custom_flag_feed_type_count
#以下内容为判别是否需要R模式输出
if {$wjc_feed_output_format != 1} {
return
} else {
if {$custom_flag_feed_type_count == 1
$custom_flag_feed_type_count == 2} {
MOM_set_address_format F Feed
set custom_feed $feed
return
}
}
if {$wjc_feed_single_output_format = 0} {
if {$custom_flag_feed_type_count == 1
$custom_flag_feed_type_count == 2} {
MOM_set_address_format F Feed
set custom_feed $feed
return
}
}
#替换变量过程
global
mom_motion_type
global
custom_feed_rapid_text
global
custom_feed_approach_text
global
custom_feed_engage_text
global
custom_feed_first_cut_text
global
custom_feed_stepover_text
global
custom_feed_cut_text
global
custom_feed_traversal_text
global
custom_feed_retract_text
global
custom_feed_return_text
global
custom_feed_departure_text
MOM_set_address_format F String
switch $mom_motion_type {
RAPID
{
set custom_feed
$custom_feed_rapid_text
}
APPROACH
{
set custom_feed
$custom_feed_approach_text
}
ENGAGE
{
set custom_feed
$custom_feed_engage_text
}
FIRSTCUT
{
set custom_feed
$custom_feed_first_cut_text
}
STEPOVER
{
set custom_feed
$custom_feed_stepover_text
}
CUT
{
set custom_feed
$custom_feed_cut_text
}
TRAVERSAL
{
set custom_feed
$custom_feed_traversal_text
}
RETRACT
{
set custom_feed
$custom_feed_retract_text
}
RETURN
{
set custom_feed
$custom_feed_return_text
if {$custom_feed_return_text == "" && $custom_feed_departure_text != ""} {
set custom_feed
$custom_feed_departure_text
}
}
DEPARTURE
{
set custom_feed
$custom_feed_departure_text
if {$custom_feed_return_text != "" && $custom_feed_departure_text == ""} {
set custom_feed
$custom_feed_return_text
}
}
default
{
set custom_feed
$custom_feed_cut_text
}
}
}
#=============================================================
proc PB_CMD_wjc_feed_value_get { } {
#=============================================================
#测试用,该段程序无实际意义,仅在编程过程中验证参数变量用
global
mom_feed_rapid_value
global
mom_feed_approach_value
global
mom_feed_engage_value
global
mom_feed_first_cut_value
global
mom_feed_stepover_value
global
mom_feed_cut_value
global
mom_feed_traversal_value
global
mom_feed_retract_value
global
mom_feed_return_value
global
mom_feed_departure_value
global
custom_feed_rapid_value
global
custom_feed_approach_value
global
custom_feed_engage_value
global
custom_feed_first_cut_value
global
custom_feed_stepover_value
global
custom_feed_cut_value
global
custom_feed_traversal_value
global
custom_feed_retract_value
global
custom_feed_return_value
global
custom_feed_departure_value
MOM_output_literal "; BASE FEEDS REFERENCE"
if {[info exists mom_feed_rapid_value]} {
set custom_feed_rapid_value
[string trimright [string trimright [format %.3f $mom_feed_rapid_value] 0] .]
if {$mom_feed_rapid_value != 0} {
MOM_output_literal "; FEED_RAPID: $custom_feed_rapid_value"
}
}
if {[info exists mom_feed_approach_value]} {
set custom_feed_approach_value
[string trimright [string trimright [format %.3f $mom_feed_approach_value] 0] .]
if {$mom_feed_approach_value != 0} {
MOM_output_literal "; FEED_APPROACH: $custom_feed_approach_value"
}
}
if {[info exists mom_feed_engage_value]} {
set custom_feed_engage_value
[string trimright [string trimright [format %.3f $mom_feed_engage_value] 0] .]
if {$mom_feed_engage_value != 0} {
MOM_output_literal "; FEED_ENGAGE: $custom_feed_engage_value"
}
}
if {[info exists mom_feed_first_cut_value]} {
set custom_feed_first_cut_value
[string trimright [string trimright [format %.3f $mom_feed_first_cut_value] 0] .]
if {$mom_feed_first_cut_value != 0} {
MOM_output_literal "; FEED_FIRST_CUT: $custom_feed_first_cut_value"
}
}
if {[info exists mom_feed_stepover_value]} {
set custom_feed_stepover_value
[string trimright [string trimright [format %.3f $mom_feed_stepover_value] 0] .]
if {$mom_feed_stepover_value != 0} {
MOM_output_literal "; FEED_ENGAGE: $custom_feed_stepover_value"
}
}
if {[info exists mom_feed_cut_value]} {
set custom_feed_cut_value
[string trimright [string trimright [format %.3f $mom_feed_cut_value] 0] .]
if {$mom_feed_cut_value != 0} {
MOM_output_literal "; FEED_CUT: $custom_feed_cut_value"
}
}
if {[info exists mom_feed_traversal_value]} {
set custom_feed_traversal_value
[string trimright [string trimright [format %.3f $mom_feed_traversal_value] 0] .]
if {$mom_feed_traversal_value != 0} {
MOM_output_literal "; FEED_TRAVERSAL: $custom_feed_traversal_value"
}
}
if {[info exists mom_feed_retract_value]} {
set custom_feed_retract_value
[string trimright [string trimright [format %.3f $mom_feed_retract_value] 0] .]
if {$mom_feed_retract_value != 0} {
MOM_output_literal "; FEED_RETRACT: $custom_feed_retract_value"
}
}
if{[info exists mom_feed_return_value]} {
set custom_feed_return_value
[string trimright [string trimright [format %.3f $mom_feed_return_value] 0] .]
if {$mom_feed_return_value != 0} {
MOM_output_literal "; FEED_RETURN: $custom_feed_return_value"
}
}
if{[info exists mom_feed_departure_value]} {
set custom_feed_departure_value
[string trimright [string trimright [format %.3f $mom_feed_departure_value] 0] .]
if {$mom_feed_departure_value != 0} {
MOM_output_literal "; FEED_DEPARTURE: $custom_feed_departure_value"
}
}
}
编程验证结果通过设置不同的进给率参数,分别用F-数值输出&F-R输出模式,验证程序效果,其次在多端程序中进行验证,均可执行.UG加工视图:设置不同的进给参数后置处理程序:①R-数值输出模式,未设置F-R变量模式② 设置F-R变量模式③ 后置处理程序:多段程序同时输出}

我要回帖

更多关于 西门子27648的由来 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信