第5章 用户宏程序简介
5.1 宏程序的概念
反复进行同一切削动作时,使用子程序效果较好,但若使用宏程序,可以使用运算指令、条件循环等功能,便于编制更简单、通用性更强的程序,并与子程序一样,在加工程序中用简单的命令就可以调用用户宏程序。
在FANUC系统中,包含变量、转向、比较判别等功能的指令称为宏指令,包含有宏指令的子程序称为宏程序。下面举例说明宏程序的概念。
现有一批零件需要加工。毛坯的尺寸为80mm×60mm×30mm,要求切出一个长、宽分别为5mm,深5mm的台阶,如图5-1所示,编写加工程序。
图5-1 零件外形及尺寸
经分析,可以写出如下的加工程序(取毛坯上表面的左下角点为工件原点):
O0051;
G90 G54;(设定加工初始状态)
M3 S540;
M08;
G0 X-15.0 Y-15.0 Z100.0;(X-15.0 Y-15.0为初始点坐标)
G1 Z2.0 F500;
Z-5.0;(到达切削层深度)
G41 X5.0 D01 F120;(加入刀具的半径补偿)
Y55.0;
X75.0;
Y5.0;
X0;
G40 X-15.0 Y-15.0;(取消刀具半径补偿)
G0 Z180.;
M30;(程序结束)
若水平方向去除的材料长度为a,竖直方向去除的材料宽度为b,则上面的程序将会变为如下形式:
O0051;
G90 G54;(设定加工初始状态)
M3 S540;
M08;
G0 X-15.0 Y-15.0 Z100.0;
G1 Z2.0 F500;
Z-5.0;(到达切削层深度)
G41 Xa D01 F120;(加入刀具的半径补偿)
Y(60.0-b);
X(80.0-a);
Yb;
X-15.0;
G40 Y-15.0;(取消刀具半径补偿)
G0 Z180.;
M30;(程序结束)
此时可以将其中的变量a、b用宏程序中的变量# i对应为#1、#2,则程序即可写成如下形式:
O5;(主程序)
G90 G54 M3 S540;
M08;
G65 P52 A5.0 B5.0;
M05;
M30;
O52;(宏程序)
G0 X-15.0 Y-15.0 Z100.0;
G1 Z2.0 F500;
Z-5.0;
G41 X#1 D01 F120;
Y[60.0-#2];
X[80.0-#1];
Y#2;
X-15.0;
G40 Y-15.0;
G0 Z180.;
M99;
宏程序是由用户编写的专用程序,它类似于子程序,可用规定的指令作为代号,以便调用。宏程序可使用变量,可用变量执行相应操作,实际变量值可由宏程序指令赋给变量。