powermill后处理修改精华帖

更新时间:2024-07-09 23:49:01 阅读量: 综合文库 文档下载

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

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

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

address letter = \:- \定义字段的返回值 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 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---------------- 变速范围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 =\定义打印标题 machine name = \ 机器名 point ================================== 小数点 zero = \零

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

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

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 ; \

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 ; \end if

end define 改为

define block cycle end if ( cycledwell = 0 ) N ; G4 80 end if

if ( cycledwell > 0 ) N ; G4 05 =C ; \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

第一对数据控制方位角的正负极限行程,第二对数据控制俯仰角 的正负极限行程,最后一对数据反应了执行角度变化允许移动的 次数和角度公差。以 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

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

Top