基于FANUC宏程序的矩形型腔加工指令开发

圆形、矩形等规则型腔的加工在实际生产加工中应用广泛。并经常遇到在整体工件材料上去除加工余量分层加工。针对FANUC系统,若采用传统的手工编程方法,程序较长,且容易出错;宏指令编程,具有很好的灵活性、通用性,其在使用过程中,占用机床内存小,可以大大简化程序的编写,降低编程人员的劳动强度,提高工作效率。

其中矩形型腔的加工方式有很多,可以以Z字形走刀,也可以由内而外环形走刀。其中环形走刀方式由于加工余量均匀,而被广泛应用。矩形型腔铣削指令的调用方法如下:

G70 X__ Y__ Z__ I__ J__ K__ R__ H__ Q__ D__ F__;

指令中

X__ Y__  ——矩形中心坐标,如省略则为当前位置;

Z__      ——型腔底面深度(绝对坐标);

I__      ——型腔长度;

J__      ——型腔宽度;

K__      ——轴向快速接近的平面高度(绝对坐标);

R__      ——型腔圆角半径,如省略则为刀具半径;

H__      ——径向间距,如省略则为0.8倍刀具直径;

Q__      ——轴向每次切削深度,如省略则为0.7倍刀具直径;

D__      ——刀具半径,如不赋值则为当前刀具半径补偿值;

F__      ——径向进给速度。

 

首先用户可先在机床参数NO.220中设置70(自定义),即,G70等同于G65 P9010。然后建立9010号程序,程序内容如下:

O9010;

IF[#26 EQ #0] GOTO900;深度不赋值报警

IF[#6 EQ #0] GOTO900;未定义下刀平面报警

IF[#4 EQ #0] GOTO900;未定义型腔长度报警

IF[#5 EQ #0] GOTO900;未定义型腔宽度报警

IF[#7 EQ #0] GOTO1;

#7=#[2000+#4107]; 若不赋值用当前刀补值          

N1 IF[#7 LE 0] GOTO900;刀具半径若小于或等于零,报警

IF[#11 NE #0] GOTO2;        

#11=1.6*#7; 径向间距若省略则为0.8倍刀具直径                 

N2 IF[#17 NE #0] GOTO3;

#17=1.4*#7;每次切削深度若省略则为0.7倍刀具直径

N3 IF[#9 NE #0] GOTO4;

#9=#4109;

N4 #33=#4003;保存03组G代码

#32=#5003;保存初始平面

#31=#5/2-#7;

#30=#4/2-#7;

#8=#4/2-#18;

IF[#8 LT 0] GOTO900;若圆角大于边长报警

#10=#5/2-#18;圆角圆心至型腔中心的距离

IF[#10 LT 0] GOTO900;圆角不得大于边长

IF[#4 EQ #5] GOT07;正方形型腔

#12=[ABS[#4-#5]]/2;

IF[#4 GT #5] GOTO6;

#1=0;刀心X坐标初值

#2=#12;刀心Y坐标初值

GOTO8;

N6 #1=#12;宽度大于高度

#2=0;

GOTO8;

N7 #1=0;正方形

#2=0;

N8 G00 X#24 Y#25;快速定位到型腔中心

Z#6; 定位到下刀平面                      

IF[#33 EQ 90] GOTO10;

#27=-#26;

GOTO 11;

N10 #27=#6-#26;

N11 #16=#17;                  

#27=#27-#16;切削深度

WHILE[#27 GE 0] DO1;分层切削循环

G91 G01 Z-#16 F]#9/2];Z向进刀

#3=#11;刀间距

IF[#18 EQ #0] GOTO100;

IF[#4 GT [#18*2]] GOTO 15;

IF[#5 GT [#18*2]] GOTO200;

GOTO300;

N100 G01 X#1 Y#2;

X-[2*#1] Y-[2*#2];中心铣一刀

#1=#1+#3;

#2=#2+#3;

IF[#1 LT #30] GOTO10;

#3=#3+[#30-#1];变更间距

#1=#30;

#2=#31;

N10 WHILE[#1 LE #30] DO2;径向切削循环

IF[#4 LE #5] GOTO120;

G01 X-#3;

Y-#2;

X[2*#1];

Y[2*#2];

X-[2*#1];

Y-#2;

GOTO130;

N120 G01 Y-#3;

X#1;

Y[2*#2];

X-[2*#1];

Y-[2*#2];

X#1

N130 IF[#1 EQ #30] GOTO150;跳出循环

#1=#1+#3;

#2=#2+#3;

IF[#1 LT #30] GOTO140;

#3=#3+[#30-#1];

#1=#30;

#2=#31;

N140 END2;

N150 IF[#4 LT #5] GOTO160;

G01 X#30 F[2*#9];回到型腔中心

GOTO500;

N160 G01 Y#31 F[2*#9];

GOTO500;

N200 G01 X#1 Y#2;带圆角方腔nextpage

X-[2*#1] Y-[2*#2];

#1=#1+#3;

#2=#2+#3;

WHILE[#1 LT #8] DO2;

IF[#4 LT #5] GOTO210;

G01 X-#3;

Y-#2;

X[2*#1];

Y[2*#2];

X-[2*#1];

Y-#2;

GOTO220;

N210 G01 Y-#3;

X#1;

Y[2*#2];

X-[2*#1];

Y-[2*#2];

X#1;

N220 #1=#1+#3;

#2=#2+#3;

END2;

IF[#1 LT #30] GOTO230;

#3=#3+[#30-#1];

#1=#30;

N230 WHILE[#1 LE #30] DO2;

#13=#1-#8;圆角半径

IF[#4 LT #5] GOTO240;

G01 X-#3;

Y-#10;

G03 X#13 Y-#13 I#13;

G01 X[2*#8];

G03 X#13 Y#13 J#13;

G01 Y[2*#10];

G03 X-#13 Y#13 I-#13;

G01 X-[2*#8];

G03 X-#13 Y-#13 J-#13;

G01 Y-#10;

GOTO250;

N240 G01 Y-#3;

X#8;

G03 X#13 Y#13 J#13;

G01 X-#13 Y#13;

G03 X-#13 Y#13 I#13;

G01 X-[2*#8];

G03 X-#13 Y-#13 J-#13;

G01 Y-[2*#10];

G03 X#13 Y-#13 I#13;

G01 X#8;

N250 IF [#1 EQ #30] GOTO270;

#1=#1+#3;

IF [#1LT #30] GOTO260;

#3=#3+[#30-#1];

#1=#30;

N260 END2;

N270 IF[#4 LT #5] GOTO280;

G01 X#30 F[#9*2]; 回到型腔中心

GOTO500;

N280 G01 Y#31 F[#9*2]; 回到型腔中心

GOTO500;

N300 #1=#1+#3;

IF [#1 LT #30] GOTO310;

#1=#30;

N310 WHILE[#1 LE #30] DO2;

#13=#1-#8;

G01 X-#3;

G03 X#13 Y-#13 I#13;

G01 X[2*#8];

G03 Y[2*#13] J#13;

G01 X-[2*#8];

G03 X-#13 Y-#13 J-#13;

IF [#1 EQ #30] GOTO330;

#1=#1+#3;

IF[#1 LT #30] GOTO320;

#3=#3+[#30-#1];

#1=#30;

N320 END2;

N330 G01 X#30 F[2*#9]; 回到型腔中心

GOTO500;

N400 #2=#2+#3;

IF[#2 LT #3] GOTO410;

#2=#31;

WHILE[#2 LT #31] DO2;

#13=#2-#10;

G01 Y-#3;

G03X#13 Y#13 J#13;

G01 Y[2*#10];

G03 X-[2*#13] I-#13;

G01 Y-[2*#10];

G03 X#13 Y-#13 I#13;

IF[#2 EQ #31] GOTO420;

#2=#2+#3;

IF[#2 LE #31] GOTO410;

#3=#3+[#31-#2];

#2=#31;

N410 END2;

N420 G01 Y#31 F[2*#9]; 回到型腔中心

N500 IF[#27 EQ 0] GOTO520;跳出循环

#27=#27-#16;

IF[#27 GT 0] GOTO510;

#16=#16+#27;

#27=0;

N510 END1;

N520 G90 G00 Z#32;返回到初始平面

GOTO910;

N900 #3000=1;未赋值或赋值不正确,报警

N910 M99;

运用上面的指令可以方便快捷的编制矩形型腔的数控加工程序,在一定程度上提高程序编制的准确性及生产效率。

, ? mso-bidi-font-size: 宋体; FONT-FAMILY: black; ?COLOR:>N510 END1;

N520 G90 G00 Z#32;返回到初始平面

GOTO910;

N900 #3000=1;未赋值或赋值不正确,报警

N910 M99;

运用上面的指令可以方便快捷的编制矩形型腔的数控加工程序,在一定程度上提高程序编制的准确性及生产效率。

作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2022/05/7490.html