分享

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

 一抹烟雨梦江南 2016-02-25

?

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后指定一个条件表达式, 当指定条件满足时, 执行从DOEND之间的程序。否则,转到 END后的程序段。

说明:

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

循环嵌套:

DOEND循环中的标号(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θ



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多