登录【网站注册】点击左边“微信账号登陆”图标,微信扫描即自动注册并登陆
搜索
查看: 6576|回复: 1

[分享资料] powermill后处理文件制作参数

[复制链接]
发表于 2017-4-12 17:55:39 | 显示全部楼层 |阅读模式
powermill后处理文件制作参数

一、完整的后处理文件介绍
一个完整的后处理文件通常有:定义字符段、定义字符格式段、定义键值段、定义指令值段、变量定义、程序格式段等部分组成。
下面我们先来看一个比较完整的后处理文件,并把它分为数段,把需要修改的地方做个必要的解释:
machine fanucom —————— 后处理文件头
=========================== 第一部分是定义字符段 ==============================
define word TN
address letter = "TOOL TYPE:- "
address width = 13
field width = 25
end define
具体解释:
define word TN —————————————— 定义字段;
address letter = "TOOL TYPE:- " ————— 定义字段的返回值,比如在后处理文件里有“MS =C ; TN ToolType ; EM =C”,而在写程式的时候选用的是端铣刀,那么在CNC程式里就会有(TOOL TYPE:- ENDMILL);
address width = 13 ——————————— 定义字符宽度,如上"TOOL TYPE:- ",从T开始算起一共13位,包括空格;
field width = 25 ——————————— 定义返回字的宽度,如上"ENDMILL",如果field width = 2,那"TOOL TYPE:- "就返回EN;如果field width = 25,那"TOOL TYPE:- "就返回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 = "Delcam Postprocessor" ================== 定义打印标题
machine name = "Fanuc6m version 1.2" ========= 机器名
point = "." ================================ 小数点
zero = "0" =============================== 零
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
【温馨提示】技术问题请优先发到问答专栏,优胜教师团队将及时回复,谢谢!
发表于 2017-10-16 14:23:07 | 显示全部楼层
5RYW45TYQ45TQ4T
优胜专注教学 技术实力最强 www.ysug.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


快速回复 返回顶部 返回列表