FANUC系统数控车床b类宏程序编程应用

子例程对准备相同加工操作的程序很有用,但用户宏程序允许变量、算术和逻辑运算以及条件转移,从而使准备相同加工操作的程序更加容易和容易。

可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。使用时, 加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。

一、变量

普通加工程序直接用数值指定 G代码和移动距离;例如, G100和 X100.0。 使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用 MDI 面板上的操作改变。

如:#2=30;

#1=#2+100;

G01 X#1 F0.3

1、变量的表示

变量用变量符号(#)和后面的变量号指定。

例如:#1

表达式可以用于指定变量号。此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]

2、变量的类型

变量根据变量号可以分成四种类型。

3、变量值的范围

局部变量和公共变量可以有 0 值或下面范围中的值:

-1047到-10-29

0

10-29到 1047

如果计算结果超出有效范围,则发出 P/S报警No.111.

4、小数点的省略

当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是 123.000。

5、变量的引用

为在程序中使用变量值, 指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;

被引用变量的值根据地址的最小设定单位自动地舍入。

例如:

当 G00X#1;以 1/1000mm 的单位执行时,CNC把 12.3456 赋值给 变量#1,实际指令值为 G00X12.346;。

改变引用的变量值的符号,要把负号(一)放在#的前面。

例如:G00X—#1;

当引用未定义的变量时,变量及地址字都被忽略。

例如:

当变量#1的值是 0,并且变量#2的值是空时,G00X#1 Z#2 的执行结果为 G00X0;。

6、未定义的变量

当变量值未定义时,这样的变量成为“空”变量。变量#0 总是空变量。它不能写,只能读。

(a) 引用

当引用一个未定义的变量时,地址本身也被忽略。

二、算术和逻辑运算

下表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和/或由函数或运算符组成的变量。表达式中的变量#j 和#k 可以用常数赋值。左边的变量也可以用表达式赋值。

三、转移和循环

在程序中,使用 GOTO 语句和 IF 语句可以改变控制的流向。有三种转移和循环操作可供使用:

1、无条件转移 (GOTO 语句)

格式:GOTOn;n:顺序号(1~99999)

转移到标有顺序号 n 的程序段。当指定 1 到99999 以外的顺序号时,出现P/S 报警 No.128。可用表达式指定顺序号。

例:

GOTO1;

GOTO#10;

2、条件转移 (IF 语句)

IF[<条件表达式>] GOTO n

IF之后指定条件表达式。

如果指定的条件表达式满足时,转移到标有顺序号 n 的程序段。如果指定的条件表达式不满足,执行下个程序段。

说明:

a、条件表达式 条件表达式必须包括算符。算符插在两个变量中间或变量和常数中间,并且用括号 ([ ])封闭。表达式可以替代变量。

b、运算符 运算符由 2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值。注意,不能使用不等符号。

C、示例程序

下面的程序计算数值 1~10 的总和

3、循环 (WHILE 语句)

在WHILE后指定一个条件表达式, 当指定条件满足时, 执行从DO到END之间的程序。否则,转到 END后的程序段。

说明:

当指定的条件满足时,执行 WHILE 从 DO 到 END 之间的程序。否则,转而执行 END 之后的程序段。这种指令格式适用于 IF 语句。DO 后的号和 END 后的号是指定程序执行范围的标号,标号值为 1,2,3。若用1,2,3 以外的值会产生 P/S 报警 No.126。

循环嵌套:

在 DO—END循环中的标号(1 到 3)可根据需要多次使用。但是,当程序有交叉重复循环(DO范围的重叠)时,出现 P/S报警 No.124。

四,宏程序实例

曲线公式为X=(36/Z)+3

加工顺序:粗车→半精车→精车

(1)精车程序:

设置变量

变量

表示内容

表达式

取值范围

#1

Z坐标

自变量

2–72

#2

X坐标

#2=[[36/#1]+3]

7–42

G00 X7 Z74;

#1=72;

WHILE[#1GE2] DO2;

#2=[[36/#1]+3];

G42 G01 X[#2] Z[#1] F0.1;

#1=#1-0.1;

END2;

(2)粗车程序:

G90来粗车

设置变量

变量

表示内容

表达式

取值范围

变化幅度

#1

Z坐标

#1=[36/[#1-3]]

2–72

#2

X坐标

自变量

7–42

4

#2=38;

WHILE[#1GE7] DO3;

#1=[36/[#1-3]];

G00 X[#2+5] Z74;

G90 X[#2+0.5] Z[#1] F0.2;

#2=#2-4;

END3;

(3)半精车程序:

设置变量

变量

表示内容

表达式

取值范围

#1

Z坐标

自变量

2–72

#2

X坐标

#2=[[36/#1]+3.5]

7–42

G00 X7 Z74;

#1=72;

WHILE[#1GE2] DO4;

#2=[[36/#1]+3.5];

G01 X[#2] Z[#1] F0.1;

#1=#1-0.1;

END4;

P170

公式曲线方程有两种:直角坐标方程和参数方程

椭圆方程: x2/a2+y2/b2=1

或 x=acosθ,y=bsinθ

-END-

相关推荐