FANUC数控系统宏程序的应用研究
2013-06-17徐州重型机械有限公司江苏221004
徐州重型机械有限公司 (江苏 221004) 李 云
近年来,随着配置FANUC数控系统的机床在各行业的应用,用宏程序编程加工工件,已经逐渐成为金属切削加工行业的主潮流,运用宏程序编程不但能够简化程序,对于用户扩展系统功能和掌握机床性能也有很大的帮助。
1.FANUC系统宏程序的基础理论
(1)变量的类型 具体如表1所示。
表 1
(2)转移和循环 无条件循环(G O T O语句):转移到标有顺序号n的程序段。GOTO n;n:顺序号(1~99999)。条件转移(IF语句):IF(条件表达式)GOTOn,如果指定条件表达式满足,转移到标有顺序号n的程序段;如果指定的条件表达式不满足,执行下个程序段。 IF[条件表达式]THEN。 如果条件表达式满足,执行预先定义的宏程序语句,而且只执行一个宏程序语句。循环(WHILE),在WHILE后指定一个条件表达式,当指定条件满足时,执行从DO到END之间的程序。否则,转移到END后的程序段。
(3)程序的调用 宏程序的调用有以下这几种方法:①非模态调用G65。②模态调用(G66 G67)。③用G代码调用宏程序。④用M代码调用宏程序。⑤用M代码调用子程序。⑥用T代码调用子程序。本文中主要用到非模态调用G65和用M代码调用宏程序两种调用方法。当用G65调用时其格式如下:
G65 P〈p〉L〈I〉 〈自变量赋值〉
〈p〉: 要调用的程序号
〈I〉:重复次数(默认为1)
〈自变量赋值〉: 传递到宏程序的数据
使用G65调用时可以对变量赋值,其值被赋值给宏程序中相应的局部变量使用M98调用时,不能在调用中赋值,只能在程序中赋值。
2.FANUC数控系统宏程序在卧式加工中心上的应用
笔者公司使用卧式双面镗铣加工中心来进行汽车起重机伸臂的机械加工。由于公司起重机产品型号较多,需要针对不同的工件编程(见图1)。计算程序里的Z坐标时,需要考虑镗杆(W轴)的伸出长度以及刀具的长度,这样编程会比较繁琐,而且容易出错。调用下面的这条程序会使编程更加方便,直接按图中的尺寸输入程序里的Z轴坐标即可,不需要考虑镗杆的长度,这样就节省了编程的时间。
(1)设备 卧式双面镗铣加工中心 (带有500mm长的镗杆)。系统:FANUC 16i Mate B 数控系统。相关参数:Z轴行程350mm,W轴行程500mm。厂家/型号: 日本三菱重工/ M-HT13F。
宏程序主体:
O9010(Z/W WORK-OFFSET CHANGE)
IF [#23 GT 0]GOTO 99
IF [#23 LT -500]GOTO 99
IF [#23 EQ #0 ]THEN #3=#4014
IF [#3 LT 54 ]GOTO 99
IF [#3 GT 59 ]GOTO 99
#33=#3
#32=#33-54
#31=#32*20
#30=#4001
#29=#4003
#28=#[5223+#31]+#[5224+#31]
#27=#28-#23
#[5223+#31]=#27
#[5224+#31]=#23
G04 X0.1
G90 G00 G#3 W0
G#30 G#29
GOTO 100
N99 #3000=199(DATA INPUT MISS)
N100
M99
操作工只需在程序中调用 G65 P9010 C_ W_ 就可以较方便地完成编程。
(2)应用实例 加工图1所示的某汽车起重机伸臂,加工部位材质为27SiMn,刀具为sandvik coromant R290mm面铣刀φ63mm,刀具长度储存在地址H1里面,程序原点的位置如图2所示,寄存在G54工件坐标系中。考虑该工件加工时的工况,以及Z轴滑枕的行程(避免超行程报警),镗杆需要悬伸210mm。
图1
工件加工程序:
O0100
T1 M06 (φ63mm面铣刀换刀)
G0 G54 X0 Y0 Z0 W0
G65 P9010 C54 W-210
G0 G54 W0
N10 G43 Z305.75 H1
M03 S600
M07
G01 X38.5 F200
G02 I-38.5 J0 (铣面)
GO G49 Z700
M05
M09
T2 M06 (φ97.6mm粗镗刀换刀)
G0 G54 X0 Y0 Z0 W0
G65 P9010 C54 W-210
G0 G54 W0
N10 G43 Z505.75 H1
M03 S600
M07
G98 G85 X0 Y0 Z202.75 R5 F100 (镗孔)
G80 G49 Z700
M05
M09
M00
3.FANUC数控系统宏程序在立式动梁龙门加工中心上的应用
(1)设备 立式动梁龙门加工中心。系统:FANUC 16i Mate B 数控系统。
下面这段宏程序可以补偿机床四个附件铣头的水平、垂直方向的长度,操作工每次切换完附件铣头之后,只需要调用一下O9020程序,就能实现工件的精密加工。经机床厂商精确测量之后,加长立铣头相对标准立铣头多出来的长度(即图2所示尺寸A),被寄存在公共变量#705中,并设置加长立铣头代码为M33,标准立铣头代码为M31,直角铣头代码为M32,窄直角铣头代码为M34。这段程序将各附件铣头的长度差值寄存在EXT偏置坐标系中, 因此程序里调用完M100指令后,编程要注意W轴(横梁)回零点。
图2
宏程序主体:
O9020(M100 H**)
#126=#618
#130=10000
#131=11000
#132=#[#130+#11]+#[#131+#11]
IF[#610EQ34]GOTO99 (#610指附件铣头的代码)
IF[#610EQ31]GOTO31
IF[#610EQ33]GOTO33
#135=#132+#702
#136=#135*COS[#129]
#137=#135*SIN[#129]
G90 G10 L2 P0 X#136 y#137 Z0 W#703
GOTO 99
N31 G90 G10 L2 P0 X0 Y0 Z0 W#701
GOTO 99
N33 G90 G10 L2 P0 X0 Y0 Z0 W#705 (可编程参数输入指令)
GOTO99
N99 M99
(2) M100的制定 按下[O F S/S E]—设定[SETTING]数据可输入改为1
[SYSTEM]—[参数]—No:3202 NE9=0 使O9000后程序可读写,将O9020存入机床。
恢复NE9=1程序读写保护。
查找No:6080输入100保存,利用宏程序M代码调用宏程序。
4.结语
FANUC数控系统提供给用户的宏程序,为编程提供了便利,机床的一些基本功能例如换刀、切换附件头也是用宏程序编程完成的。了解这些参数以及可编程参数输入的方法,能起到简化编程的作用。尤其对于扩展系统功能,有十分重要的作用。对用户深入掌握FANUC数控系统,也有很大的帮助。