搜档网
当前位置:搜档网 › PowerMILL opt 后处理修改方法

PowerMILL opt 后处理修改方法

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

define word TN ---------------------------- 定义字段;
address letter = "TOOL TYPE :- " ----- 定义字段的返回值
address width = 13 定义字符宽度
field width = 25 定义返回字的宽度
end define 结束定义

define format ( / G6 S T M1 M2 L P D E H O ) 第二段是定义字符的格式

address width = 1------------ 定义字符宽度
address width = 1------------ 定义字符宽度
field width = 2 ------------- 定义返回字的宽度
exponent width = 0 ---------- 指数的宽度
scale factor = 1 ------------- 比例因子: 值乘以 1
scale divisor = 1 ------------ 比例因子:值被 1 除
tape position = 1----------- 字前留一个空格
print position = 1 -----------打印位置
sign = none----- 用于不需要 G代码和进给率
sign = if negative 仅标识负坐标
sign = always 如果需要 + / - 号
not permanent -------- 不需要行号
not modal ------------ 仅当改变时需要重复的字为 modal 。 (模态) 。
通常 G 代码和 X, Y 和 Z 为 坐标为 modal,
但圆心通常使用的 I, J, K 代码通常不是,因此它们为 not modal .
metric formats --------------- 公制
leading zeros = false --------- 前导 0
trailing zeros = true ----------后导 0
decimal point = false ------ 不需要小数点
decimal places = 2 -------- 小数点后 2
imperial formats ------------- 英制

word order=====================语序
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--------------X矢量不使用
y vector not used--------------Y矢量不使用
z vector not used--------------Z矢量不使用
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 revoluti 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 re

tract = 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---------------- 变速范围1不使用
gear range 2 not used---------------- 变速范围2不使用
gear range 3 not used---------------- 变速范围3不使用
constant contour speed not used----- 持续的轮廓速度不使用
constant contour speed 2 not used----持续的轮廓速度2不使用
word drill not used------------------钻孔指令不使用
word break chip not used------------不使用断屑
word deep not used------------------孔深不使用
word tap not used------------------冷却水不使用
word bore 1 not used---------------孔1不使用
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 Post processor"==== 定义打印标题
machine name = "Fanuc6m version 1.2" === 机器名
point ================================== 小数点
zero = "0" ============================= 零
tape headers = 1 ======================= 纸带标题
integer 6 = 2====================== === 定义冷却液开(M07 、M08 )的输出方式,
此变量共有三个选项——
0 : 在后处理时遇到相关指令时输出;
1 : 在下一段中单独输出;
2 :在下一段中和坐标移动一起输出。

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

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

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

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

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

integer 13 = 0 NO link with spindle M code to coolant
主轴冷却液没有链接代码
= 1 Output coolant with spindle M code
主轴M码输出的冷却液











tool reset coordinates = 2 ============ 定义刀具复位后(M06 后)的坐标处理方式,有 1 、2 、3 、4

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

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:不输出

ta

pe 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
spindle x motion = false===========rapid style===========定义主轴运动方向,true :X 方向;false :NOX
spindle y motion = false=====================knot =定义主轴运动方向,true :y 方向;false :NOy
spindle z motion = false======================定义主轴运动方向,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=============retract角的限制
unwind at tool change = false================解除换刀
suppress xy arc = false------- ==============禁用 XY 圆弧
suppress xz arc = false======================
suppress yz arc = false======================
transform workplane origin = false===========变换工作平面的原点
previous multax rapid style = false===========以前的multax快速样式
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==============最大进给速度g01
minimum feedrate = 1.0000=================最低进给速度
rapid feedrate = 9999.0000================快速进给g00
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 99999999999 999999 ) ============== 定义线性轴范围
rotary axis limits = ( -99999 999999 -99999999999 999 1 ) ===================== 定义旋转轴范围
前两个零为定义方位轴的旋转范围;
中间两个零为定义仰角轴的旋转范围;
第五个零定义公差;
第六个零定义分辨率。

move safe angles = ( 0 0 0 0 )==================== 定义起始角度


11 : 快速运动、 直线运动、 圆弧运动的代码 :
define block move circle-------------------------快速运动
N ; G1 ; G2 ; G3 ; X ; Y ; Z ; I ; J ; K ; F ; D
end define
define block move linear------------------------直线运动
N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; ; T ; S ;M1 ; M2
end define
define block move rapid-------------------------圆弧运动的代码
N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; T ; S ;M1 ; M2
end define


12 :圆弧的输出格式:
大致有三大类:
a 、I 、J 输出为圆心的绝对坐标值
b 、I 、J 输出为相对坐标值,具体值为:圆心坐标值-圆弧始点坐标(常用)
c 、I 、J 输出为相对坐标值,具体值为:圆弧始点坐标-圆心坐标值
所以这个就要看你机床格式来具体设置了,修改以下值为你所需:
incremental centre 增量中心 = true (相对,反之 false 绝对)
相对有两种,所以:
scale factor 尺度因子 = 1 或 -1

另外有些机床不能输出 360 度的圆弧,这时需要将其分为几段输出:
full circle 全圆 = false

13: 换刀的格式:
define block tool change first
N ; OP ; change tool ; T ToolNum
N ; "G48"
N ; G1 0 ; Z FromZ
end define
里面可自己添加你的机床换刀时所需的代码,如打开刀具长度补偿。

10 :钻孔
钻孔结束后回到安全平面还是参考平面(示例炜 Fanuc 系统)
cycle retract = G6 98 安全平面
cycle retract =

G6 99 参考点
对于有自动换刀系统的机床, 在程序的头部, 换刀之前最好加上 G90
如 对于钻孔循环,没必要在每个钻孔循环指令例如 G81 之后加上G98/G99
ycle retract not used
对于这两个模态指令只需要在程序的头部加上即可。
去掉钻孔循环结束时后面的M9 和M59 ,只须将下面的定义
define block cycle end
if ( cycledwell = 0 )
N ; G4 80 ; M2 9 ; M3 59
end if
if ( cycledwell > 0 )
N ; G4 05 =C ; " P0"
end if
end define
改为
define block cycle end
if ( cycledwell = 0 )
N ; G4 80
end if
if ( cycledwell > 0 )
N ; G4 05 =C ; " P0"
end if
end define
有的机床当程序结束时执行 G49 或者 H00 时(前提是不再有 Z 座
标),机床不运动(补偿刀长),而有的机床会运动补偿刀长到上一
个 Z 座标处,这和机床参数的设定有关;因此建议,在程序的结尾不
要执行 G49 或者 H00

9 :十进制输出
加入 integer 51 = n 到 到 opt 文件
integer 51 = ( n ) 小数输出格式
=1 小于 1 的数字被输出为 .xxxx ( 例如: .871 )
大于 1 的数字被输出为 xxxx. ( 例如: 34. )
=2 小于 1 的数字被输出为 0.xxxx ( 例如: 0.871 )
大于 1 的数字被输出为 xxxx. ( 例如: 34. )
=3 小于 1 的数字被输出为 .xxxx ( 例如: .871 )
大于 1 的数字被输出为 xxxx.0 ( 例如: 34.0 )
=4 小于 1 的数字被输出为 0.xxxx ( 例如: 0.871 )
大于 1 的数字被输出为 xxxx.0 ( 例如: 34.0 )
=5 与 与 3 相同
=6 小于 1 的数字被输出为 .xxxx ( 例如: .871 )
大于 1 的数字被输出为 xxxx ( 例如: 34 )
注意:此设置会影响所有十进制输出格式

8 :行程极限
轴向移动行程限制由下面的命令行控制(缺省值) :
linear axis limits =( -99999. 99999. -99999. 99999. -99999. 99999. )
第一对数据控制 X 的正负极限行程,第二对控制 Y ,第三对控制Z。
如果这些行程限制被超越,警告信息将被打印出来,后置过程中将出现。
如果这些行程限制被超越,警告信息将被打印出来,后置过
程中将出现“X 太小(太大)超越了负极限行程(正极限行程)
在某某区” ,然后继续输出真实值。

轴向转动行程限制由下面的命令行控制(缺省值) :
rotary axis limits =( -99999 999999 -99999 999999 999 1 )
第一对数据控制方位角的正负极限行程,第二对数据控制俯仰角
的正负极限行程,最后一对数据反应了执行角度变化允许移动的
次数和角度公差。以 4 轴加工为例
rotary axis limits = ( 0.0 0.0 -360.0 360.0 0.1 4 )
如果旋转极限被超越,刀具将缩回到预先远离工作曲面的高度,
然后转轴复位,增量执行旋转角度,直

到在限定次数内完成所需
的角度旋转。如果是 5 轴的案例
rotary axis limits = ( -20.0 110.0 -3600.0 3600.0 0.1 4 )
在某些环境中行程限制被超越是可能的,但只是从方位角和俯仰
角中选一个进行调配却是不可能的,警告信息提示后后置过程将
被终止。

7 :信息输出
信息输出设置是个二进位选项,默认值是有信息输出,如果不需
要,直接添加
message output 信息输出= false





相关主题