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