pos機執(zhí)行指令異常,NX后處理常用指令代碼

 新聞資訊  |   2023-05-04 21:45  |  投稿人:pos機之家

網(wǎng)上有很多關(guān)于pos機執(zhí)行指令異常,NX后處理常用指令代碼的知識,也有很多人為大家解答關(guān)于pos機執(zhí)行指令異常的問題,今天pos機之家(www.afbey.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、pos機執(zhí)行指令異常

pos機執(zhí)行指令異常

總是輸出D01,考慮添加事件中的刀具補償號問題。

實現(xiàn)多坐標(biāo)系輸出。

添加開始事件,zero,設(shè)置每個坐標(biāo)系的偏置值。

程序頭添加定制日期命令

global mom_date

MOM_output_literal “($mom_date)”

或者

set x1_clock [clock format [clock seconds] -format %Y-%m-%d_>%T —gmt 0]

MOM_output_literal "($x1_clock)"

MOM_output_literal如果打開了序列號輸出執(zhí)行這一行代碼會輸出序列號N代碼,

而MOM_output_text無論你是否打開序列號輸出都不會輸出序列號。

MOM_set_seq_on

MOM_output_literal " "

MOM_set_seq_off

n單獨一行

MOM_output_literal如果打開了序列號輸出執(zhí)行這一行代碼會輸出序列號N代碼,MOM_output_text無論你是否打開序列號輸出都不會輸出序列號。

刀具信息函數(shù):

global mom_tool_name

global mom_tool_diameter

global mom_tool_corner1_radius

MOM_output_literal "(ToolName=$mom_tool_name D.=[format "%.2f" $mom_tool_diameter] R.=[format "%.2f" $mom_tool_corner1_radius])"

顯示刀具名稱信息方法

global mom_tool_name

global mom_tool_diameter

global mom_tool_corner1_radius

MOM_output_literal "(TOOL=$mom_tool_name,D[format "%.2f" $mom_tool_diameter],R[format "%.2f" $mom_tool_corner1_radius])"

UG后處理加工程序、加工時間、刀具參數(shù)分開保存的解決方案

該問題有網(wǎng)友在清華ug網(wǎng)提到過.但無人能回答這個是我在網(wǎng)上不小心找到的。

現(xiàn)將源代碼放出.有需要的自己去發(fā)掘吧!

聲明并定義時間參數(shù)

帶#的參數(shù)在時間和刀具清單里面用不上,用于其他功能的參數(shù),如需要簡介的,刪除即可

#global pre_b pn m_sys1 m_sys2 t_ifo tt

global tool_time_prevset tool_time_prev 0

#set pre_b 0

#set pn 1#lappend m_sys1 0

'#lappend m_sys2 0#lappend t_ifo "0"

#lappend tt "0"

解決刀具補償后面只有一個D的情況。

找到“刀具補償打開”選項,新建,命令,在Cutcom On里面增加一個Custom Command.,.填入

"MOM_force Once D",這個方法可以解決D號的模態(tài)省略的問題 。

不給刀號報警

global mom_sys_home_pos

global mom_tool_number

global mom_tool_name;

global mom_tool_number;

global mom_tool_adjust_register

global mom_tool_diameter

global mom_tool_corner1_radius

global mom_tool_type

global mom_operation_name

global mom_tool_point_angle

#=================

#=====刀號防錯=====

#=================

if {$mom_tool_number == "0" || $mom_tool_number > "99"} {

MOM_output_to_listing_device "提示您"

MOM_output_to_listing_device "刀具名稱:$mom_tool_name"

MOM_output_to_listing_device "!刀具號都忘記給了,別說認(rèn)識我.丟人"

MOM_output_to_listing_device "請給刀具號.正確應(yīng)該是大于0小于99"

MOM_abort "\\Tool:$mom_tool_name,T=error\\"

}

安全函數(shù)不給轉(zhuǎn)速報警函數(shù)

global feed

global mom_spindle_speed

global mom_group_name

global mom_operation_name

if {$mom_spindle_speed == 0 && [info exists mom_group_name]} {

MOM_output_to_listing_device "提示您"

MOM_output_to_listing_device "程序組:$mom_group_name,程序名稱:$mom_operation_name,沒給轉(zhuǎn)速"

MOM_output_to_listing_device "!轉(zhuǎn)速都不給,你做什么編程?"

MOM_output_to_listing_device "正確值為大于0"

MOM_abort "\\ Operation:$mom_operation_name, S=0\\"

} elseif {$mom_spindle_speed == 0 && [info exists mom_operation_name]} {

MOM_output_to_listing_device "程序名:$mom_operation_name,轉(zhuǎn)速為0"

MOM_output_to_listing_device "提示您"

MOM_output_to_listing_device "程序名稱:$mom_operation_name,"

MOM_output_to_listing_device "轉(zhuǎn)速都不給,你做什么編程?"

MOM_output_to_listing_device "正確值為大于0"

MOM_abort "\\ Operation:$mom_operation_name,S=0\\"

}

#輸出加工時間到程序頭

global ptp_file_name

set tmp_file_name "${ptp_file_name}_"

if {[file exists $tmp_file_name]} {

MOM_remove_file $tmp_file_name

}

MOM_close_output_file $ptp_file_name

file rename $ptp_file_name $tmp_file_name

set ifile [open $tmp_file_name r]

set ofile [open $ptp_file_name w]

global mom_machine_time

set cutting_time "(CUTTING TIME: [ format "%.2f" $mom_machine_time])"

puts "%"

puts $cutting_time

set buf ""

while { [gets $ifile buf] > 0 } {

puts $ofile $buf

}

close $ifile

close $ofile

MOM_remove_file $tmp_file_name

MOM_open_output_file $ptp_file_name

時間函數(shù):TIME

global mom_lognam

global mom_output_file_basename

MOM_output_literal "(Date=[clock format [clock seconds] -format "%Y-%m-%d"])"

MOM_output_literal "(NAME: $mom_output_file_basename)"

多坐標(biāo)系如何實現(xiàn)遞加

在坐標(biāo)系G代碼中輸入變量。

G,右鍵,用戶定義表達(dá)式,

輸入“$mom_fixture_offset_value +54”

輸入時間,文件名,刀具信息等。

#

# This custom command is for start_of_program commentary

global mom_date

global mom_part_name

global mom_logname

global mom_sys_control_in

global mom_sys_control_out

MOM_output_literal "$mom_sys_control_out Date : $mom_date $mom_sys_control_in"

MOM_output_literal "$mom_sys_control_out Programmer : $mom_logname $mom_sys_control_in"

MOM_output_literal "$mom_sys_control_out Part File Name: $mom_part_name $mom_sys_control_in"

最近在學(xué)習(xí)制作三軸UG后處理,整理了一些常用的后處理語句,和大家分享一下??;

有不對的地方還望大家多多指點。

FANUC程序預(yù)讀 添加引導(dǎo)號里的代碼

MOM_output_literal "G05.1 Q1"

程序名稱

$mom_operation_type

后處理文件位置圖檔名稱,生成文件時間

global mom_date

global mom_part_name

MOM_output_literal "(Part_name: $mom_part_name)"

MOM_output_literal "(Date: $mom_date)"

刀具名稱,刀具規(guī)格尺寸

global mom_tool_name

global mom_tool_diameter

global mom_tool_corner1_radius

MOM_output_literal "(ToolName=$mom_tool_name D=[format "%.2f" $mom_tool_diameter] R=[format "%.2f" $mom_tool_corner1_radius])"

加工余量(側(cè)面,底面)

global mom_stock_part

global mom_stock_floor

MOM_output_literal "(stock_part: [format "%.2f" $mom_stock_part])"

if {[info exist mom_stock_floor]} {MOM_output_literal "(stock_floor: [format "%.2f" $mom_stock_floor])"} else {MOM_output_literal "(stock_floor: [format "%.2f" 0])"}

安全高度和加工深度

加工時間等

在用戶命令里新建一個 proc_CMD_before_motion (必須是這個名字)

global mom_pos

global max_z min_z max_x min_x max_y min_y

if {![info exists min_z]} {

set min_z $mom_pos(2)

} elseif { $mom_pos(2) < $min_z} {

set min_z $mom_pos(2)

}

if {![info exists max_z]} {

set max_z $mom_pos(2)

} elseif { $mom_pos(2) > $max_z} {

set max_z $mom_pos(2)

}

if {![info exists min_x]} {

set min_x $mom_pos(0)

} elseif { $mom_pos(0) < $min_x} {

set min_x $mom_pos(0)

}

if {![info exists max_x]} {

set max_x $mom_pos(0)

} elseif { $mom_pos(0) > $max_x} {

set max_x $mom_pos(0)

}

if {![info exists min_y]} {

set min_y $mom_pos(1)

} elseif { $mom_pos(1) < $min_y} {

set min_y $mom_pos(1)

}

if {![info exists max_y]} {

set max_y $mom_pos(1)

} elseif { $mom_pos(1) > $max_y} {

set max_y $mom_pos(1)

}

然后在程序里 定制命令

global max_z min_z

set zmax [string trimright [format %.4f $max_z] 0]

set zmin [string trimright [format %.4f $min_z] 0]

MOM_output_literal "{MAXZ = $zmax , MINZ = $zmin}"

global mom_machine_time

MOM_output_literal "(Total Operation Machine Time : [format "%.2f" $mom_machine_time] min )"

MOM_output_literal "(姓名 + 聯(lián)系方式等)"

再新建一個proc PB_CMD_command 添加

global max_z min_z max_x min_x max_y min_y

set zmax [string trimright [format %.4f $max_z] 0]

set zmin [string trimright [format %.4f $min_z] 0]

set xmax [string trimright [format %.4f $max_x] 0]

set xmin [string trimright [format %.4f $min_x] 0]

set ymax [string trimright [format %.4f $max_y] 0]

set ymin [string trimright [format %.4f $min_y] 0]

MOM_output_literal "{MAXZ = $zmax , MINZ = $zmin}"

MOM_output_literal "{MAXZ = $xmax , MINZ = $xmin}"

MOM_output_literal "{MAXZ = $ymax , MINZ = $ymin}"

然后在程序尾巴 添加command OK

X,Y,Z,A,B/C的對應(yīng)變量,僅供參考

x==??mom_pos(0)

Y==??mom_pos(1)

Z==??mom_pos(2)

A==??mom_out_angle_pos(0)

B/C==??mom_out_angle_pos(1)

在S=0 F=250 時報警

添加 定制命令 PB_CMD_custom_command_baojing

有來自網(wǎng)絡(luò)“UG后處理制作全過程及重要參數(shù)”及“UG NX6后處理技術(shù)培訓(xùn)教程”PDF電子書兩本,需要可以私信留言。

以上就是關(guān)于pos機執(zhí)行指令異常,NX后處理常用指令代碼的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機執(zhí)行指令異常的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.afbey.com/news/37161.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。