PowerMILL后处理修改教程

更新时间:2024-06-26 02:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本教程是偶在实际使用中的PowerMILL后处理文件修改知识的积累,其中有部分修改案例来源于帮助文件,在此仅以文字和图片的形式把他记录下来与初学者共同分享。

By mymould(风影爱人)

一、完整的后处理文件介绍

一个完整的后处理文件通常有:定义字符段、定义字符格式段、定义键值段、定义指令值段、变量定义、程序格式段等部分组成。

下面我们先来看一个比较完整的后处理文件,并把它分为数段,把需要修改的地方做个必要的解释:

machine fanucom —————— 后处理文件头

=========================== 第一部分是定义字符段 ============================== define word TN

address letter = \:- \ address width = 13 field width = 25 end define

具体解释:

define word TN —————————————— 定义字段;

address letter = \:- \————— 定义字段的返回值,比如在后处理文件里有“MS =C ; TN ToolType ; EM =C”,而在写程式的时候选用的是端铣刀,那么在CNC程式里就会有(TOOL TYPE:- ENDMILL); address width = 13 ——————————— 定义字符宽度,如上\:- \,从T开始算起一共13位,包括空格;

field width = 25 ——————————— 定义返回字的宽度,如上\,如果field width = 2,那\:- \就返回EN;如果field width = 25,那\:- \就返回ENDMILL。 end define

========================== 第二段是定义字符的格式 =============================

define format ( / G6 S T M1 M2 L P D E H O ) address width = 1 field width = 2 exponent width = 0 scale factor = 1 scale divisor = 1 tape position = 0 print position = 1 sign = none

not permanent not modal metric formats

leading zeros = false trailing zeros = true

decimal point = false 控制公制尺寸的前导零、后导零,小数点

decimal places = 0 imperial formats

leading zeros = false trailing zeros = true

decimal point = false 控制英制尺寸的前导零、后导零,小数点

decimal places = 0 end define

word order = ( OP N G1 G2 G3 G4 G5 ) word order = ( + G6 G7 X Y Z B C ) word order = ( + I J K R D S T )

word order = ( + H M1 M2 MS msg EM Q ) 注册字符

word order = ( + Q1 Z2 R2 ID F )

word order = ( + TN TD TR DY MT YR PM )

========================== 第三段是定义键值 =================================== define keys

blocknumber = N —————— 定义程序段号 preparatory function = G1 ——————— 定义准备功能指令

aux function = M1 —————— 定义辅助功能指令

x feedrate not used ————— 定义X进给率指令

y feedrate not used ————— 定义Y进给率指令

z feedrate not used ————— 定义Z进给率指令

circle angle not used ————— 圆周角度 x coordinate = X —————— 定义X坐标轴 y coordinate = Y —————— 定义Y坐标轴 z coordinate = Z —————— 定义Z坐标轴 key i = I —————— 定义X轴矢量I键

key j = J —————— 定义Y轴矢量J键

key k = K —————— 定义Z轴矢量K键

feedrate = F —————— 定义进给率指令

feedrate per revolution = F ——————— 定义每转进给率指令

spindle = S —————— 定义主轴指令 tool number = T —————— 定义刀具指令 cycle dwell not used

dwell = X ————— 定义暂停时间键值

tool length = H —————— 定义刀具长度补偿指令

tool radius = D —————— 定义刀具半径补偿指令

drill peck depth = Q1 —————— 钻孔的啄钻深度

drill hole depth = Z2 —————— 定义钻孔深度 clearplane = R2 ————— 定义安全平面高度

message start = MS ————— 定义注释的开始符

message end = EM ———— 定义注释的结束符 opskip = OP ———— 定义跳段符号 radius = R ————— 定义半径R键 program id = ID ————— 定义程序号 azimuth axis = B ————— 在多轴加工中,定义方位轴

elevation axis = C ————— 在多轴加工中,定义仰角轴

3rd rotation axis = null ————— 在多轴加工中,定义第三旋转轴

leader not used x vector not used y vector not used z vector not used error not used end define

========================== 定义指令

值 ======================================== define codes

rapid = G1 0 ========== 快速点定位

linear = G1 1 =========== 直线插补 circle cw = G1 2 =========== 顺圆插补 circle ccw = G1 3 ========== 逆圆插补 dwell = G6 4 ========= 暂停、准确停止

xy plane = G3 17 ========= XY平面 zy plane = G3 19 ========= YZ平面 xz plane = G3 18 ========= ZX compensation off = G2 40 ========== 半径补偿

compensation on left = G2 41 =========== 左补偿

compensation on right = G2 42 =========== 径右补偿

imperial data = G4 20 ============ 入

metric data = G4 21 ============ 入

absolute data = G5 90 ============ 对坐标编程

incremental data = G5 91 ============ 量坐标编程

from = G3 54 ========== 坐标系

feedrate per minute not used ================ 钟进给

feedrate per revolution not used ================= 进给

spindle rpm not used constant surface speed not used

drill = G4 81 =========== 锪镗循环

break chip = G4 82 =========== 或反镗循环

deep drill = G4 83 ============ 循环

tap = G4 84 ========== bore 1 = G4 85 ========== bore 2 = G4 86 ========== bore 3 = G4 87 ========== bore 4 = G4 88 ========== bore 5 = G4 89 ========== 平面 取消刀具刀具半径刀具半英寸输毫米输指定绝指定增制定工作每分每转钻孔循环钻孔循环深孔钻攻丝循环 镗孔循环 镗孔循环 背镗循环 镗孔循环 镗孔循环

end of drill = G4 80 ============= 固定循环取消

macro start not used ============ 宏程序模态调用

macro end not used =========== 宏程序模态调用取消

macro call not used ============ 宏程序调用 cycle retract = G6 99 ========== 固定循环返回到R点

tool length offset = G3 43 =========== 长度补偿

spline not used ======== spline方式

stop = M1 0 ==== opt stop = M1 1 ===== spindle on cw = M1 3 ===== spindle on ccw = M1 4 ===== spindle off = M1 5 ===== spin coolant on cw = M1 13 spin coolant on ccw = M1 14

spin coolant off = M1 5 ====== change tool = M1 6 ====== coolant on mist = M1 7 ===== coolant on = M1 8 ==== coolant on flood = M1 8 ===== 出)

coolant off = M1 9 ===== clamp on not used clamp off not used

end of tape = M1 2 ===== end of prog = M1 30 ===== gear range 1 not used gear range 2 not used gear range 3 not used constant contour speed not used constant contour speed 2 not used word drill not used word break chip not used word deep not used word tap not used word bore 1 not used word bore 2 not used word bore 3 not used word bore 4 not used

正向刀具插补程序停止 选择停止 主轴正转 主轴逆转 主轴停止 冷却液关 自动换刀 雾状冷却液 冷却液开 冷却液开(喷冷却液关 程序结束 程序结束

word bore 5 not used coolant on tap not used

rigid tap not used ====== 刚性攻丝 helical drill not used helical retract drill not used end define

================================ 定义变量 ======================================

print header = \=== 定义打印标题

machine name = \== 机器名

point = \小数点

zero = \零

tape headers = 1 ============================== 纸带标题

(integer 6 、integer 7):定义coolant output(冷却液输出)

integer 6 = 2 ============== 定义冷却液开(M07、M08)的输出方式,

此变量共有三个选项——0:在后处理时遇到相关指令时输出;1:在下一段中单独输出;2、在下一段中和坐标移动一起输出。

integer 7 = 1 ============== 定义冷却液关(M09)的输出方式,此变量共有三个选项——0:在后处理时遇到相关指令时输出;1:在下一段中单独输出;2、在下一段中和坐标移动一起输出。

(integer 10、integer 11、integer 12、integer 13):定义spindle output(主轴输出)

integer 10 = 2 ============== 定义主轴开(M03、M04)的输出方式,

此变量共有三个选项——0:在后处理时遇到主轴开指令时输出;1:在下一段中单独输出;2、在下一段中和坐标移动一起输出。

integer 11 = 1 ============= 定义主轴关(M05)的输出方式,此变量共有二个选项——0:在遇到主轴关指令时不输出S;1:在遇到主轴关指令时输出S0。

integer 12 = 1 ============= 定义M代码的输出方式,此变量共有二个选项——0:在遇到主轴相关指令时不输出M;1:在遇到主轴相关指令时输出M。

tool reset coordinates = 2 =============== 定义刀具复位后(M06后)的坐标处理方式,有1、2、3、4四个选项,请注意这四个选项的刀

具补偿的区别:

1、 2、

3、 4、

cycle output = 1 ================ 定义循环指令

(G80~G89)的输出方式,此变量共有两个选项——0:不输出循环移动指令;1、输出循环指令(默认值为G81)。

(integer 20、integer 26、full circle):定义circle output(圆弧输出) integer 20 = 1 ============= 定义圆弧(M02、M03)的输出坐标,此变量共有两个选项——0:不输出圆弧的X、Y坐标;1:输出圆弧的X、Y坐标。

block start = 1 =============== 定义程序段的开始段号

block increment = 1 =============== 定义程序段号的增量

split move = 0

integer 26 = 1 ============== 定义圆弧(M02、M03)的输出,此变量共有两个选项——0:不输出圆弧指令;1、输出圆弧指令,如果选择0,那么在后处理时遇到有圆弧的地方,系统将这个圆弧打断成若干条直线段输出。

program id start = 100 =============== 定义程序起始号 integer 34 = 3 integer 35 = 1 integer 36 = 1 integer 37 = 2

rapid feed code = 0 =============== 共有两个选项

——0:在快速移动时不输出进给率;1:在快速移动时输出进给率(需要在快速移动中定义F)。

maximum block number = 0 maximum tape blocks = 0 minimum tape blocks = 0 segment type = 0 counter start = 0 counter increment = 0 tape split retract distance = -999

multiaxis coordinate transform = true ====== 定义机床是否支持多轴联动,true:支持;false:不支持

message output = false block order = true

tlo output = true ======== 是否正常输出刀具长度(半径)补偿,true:输出;false:不输出。 tape split on tool change = false

full circle = true ========= true:整圆输出;false:不做整圆输出。

incremental centre = true go home output = false

use partid = true ======== 是否使用自定义partid,true:使用;false:不使用

use progid = true ======== 是否使用自定义progid,true:使用;false:不使用

spindle x motion = false ======== 定义主轴运动方向,true:X方向;false:NOX方向。

spindle y motion = false ======== 定义主轴运动方向,true:Y方向;false:NOY方向。

spindle z motion = true ======== 定义主轴运动方向,true:Z方向;false:NOZ方向。

spindle w motion = false ======== 定义主轴运动方向,true:W方向;false:NOW方向。

spindle azimuth rotation = false ========== 定义方位轴方式,true:为主轴头式;false:为工作台式。

spindle elevation rotation = false ========== 定义仰角轴方式,true:为主轴头式;false:为工作台式。

linearise multiaxis moves = true ========== 定义机床是否支持线性多轴联动,true:支持;false:不支持。 use hole top in cycles = false retract at angular limit = false unwind at tool change = false suppress xy arc = false suppress xz arc = false

suppress yz arc = false transform workplane origin = false previous multax rapid style = false knot vector type = none

units = input ======= 定义单位,input=ouput;metric;imperial

coordinates = absolute ====== 定义坐标单位,absolute ;incremental

azimuth axis units = degrees ======= 定义方位轴单位 azimuth axis direction = positive ======= 定义方位轴用法,相对还是绝对

elevation axis units = degrees ======== 定义仰角轴单位

elevation axis direction = positive ======== 定义仰角轴用法,相对还是绝对

spline type = none workplane angles = none option file units = none

maximum feedrate = 9999.0000 minimum feedrate = 1.0000 rapid feedrate = 9999.0000 maximum tape length = 0.0000 plunge threshold angle = 0.0000 maximum segment = 0.0000 diameter = 1.0000 withdrawal amount = 50.0000 arc radius limit = 10000.0000 retraction threshhold angle = 360.0000 arc minimum radius = 0.0000

azimuth axis parameters = ( 0 0 0 0 0 0 ) ========= 定义方位轴参数,前三个零为分别定义每个轴的旋转中心;后三个零为定义方位轴的坐标,依次为X、Y、Z。

azimuth centre = ( 0 0 0 ) ========================== 定义方位轴圆心参数

elevation axis parameters = ( 0 0 0 0 0 0 ) ========== 定义仰角轴参数,前三个零为分别定义每个轴的旋转中心;后三个零为定义仰角轴的坐标,依次为X、Y、Z。

elevation centre = ( 0 0 0 ) =========================== 定义仰角轴圆心参数

pcs origin = ( 0 0 0 0 0 0 ) ======== 定义旋转轴圆心

linear axis limits = ( -99999 999999 -99999 999999 -99999 999999 ) ============== 定义线性轴范围

rotary axis limits = ( -99999 999999 -99999 999999 999

1 ) ============ 定义旋转轴范围,前两个零为定义方位轴的旋转范围;中间两个零为定义仰角轴的旋转范围;第五个零定义公差;第六个零定义分辨率。 move safe angles = ( 0 0 0 0 ) ==================== 定义起始角度

define block tape start \

#ID ProgID

N ; G2 91 ; G6 28 ; Z 0 ; Z =C N ; MS =C ; PM JobName ; EM =C

N ; MS =C ; MT Month ; DY Day ; YR Year ; EM =C N ; MS =C ; TN ToolType ; EM =C

N ; MS =C ; TD ToolRadius[ToolNum] ; EM =C N ; MS =C ; TR ToolRadius[ToolNum] ; EM =C

N ; compensation off ; G6 49 ; xy plane ; G4 80 ; G3 54

#N ; G2 91 ; G6 28 ; X 0 ; Y 0 ; X =C ; Y =C

end define

define block tape end

N ; G5 91 ; G6 28 ; Z Zcoord ; Z =C N ; H 0 ; G6 49

#N ; G6 28 ; X 0 ; Y 0 ; X =C ; Y =C N ; M1 30 end define

define block go home preamble end define

define block tool change first

#N ; OP ; change tool ; T ToolNum

G3 54 ; G5 90 ; G3 =C ; G5 =C ; #T NextTool ; end define

define block tool change

N ; G5 91 ; G6 28 ; Z 0 ; Z =C N ; H 0 ; G6 49

N ; G6 28 ; X 0 ; Y 0 ; X =C ; Y =C N ; T ToolNumber ; change tool

G5 90 ; G3 54 ; G5 =C ; G3 =C ; #T NextTool ; end define

define block tool change clear end define

define block go home z move end define

define block go home xy move end define

define block move from end define

define block move circle

N ; G1 ; G2 ; G3 ; X ; Y ; Z ; I ; J ; K ; F ; D

end define

define block move linear end define

define block move rapid

N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; T ; H ; S ;

M1 ; M2 end define

define block move cycle

N ; G4 ; G6 ; X ; Y ; Z2 ; R2 ; Q ; Q1 ; F ; M2 end define

define block move tap

N ; G6 ; G4 ; X ; Y ; Z2 ; R2 ; F ; M1 ; M2 end define

define block tape segment end define

define block tape split start \

ID ProgID end define

define block tape split end

N ; G1 28 ; G6 91 ; Z 0 ; Z =C N ; H 0 ; G6 49

#N ; G6 28 ; X 0 ; Y 0 ; X =C ; Y =C

N ; M1 30 end define

define block cycle start N ; S ; M1

N ; G3 ; G5 ; M2

F =C ; G4 =C ; Z2 ; R2 ; Q ; Q1 ; G6 ; end define

define block cycle end N ; G4 80 end define

define block tape split move end define

define block move spline end define End

本文来源:https://www.bwwdw.com/article/7iw3.html

Top