7.1.2 B类宏程序应用
B类宏程序的应用,是提高数控系统使用性能的有效途径。B类宏程序与A类宏程序有许多相似之处,因而,下面就在A类宏程序的基础上,介绍B类宏程序的应用。
宏程序的定义:由用户编写的专用程序,它类似于子程序,可用规定的指令作为代号,以便调用。宏程序的代号称为宏指令。
宏程序的特点:宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。
1.基本指令
(1)宏程序的简单调用格式
宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。
调用指令格式:G65 P(宏程序号)L(重复次数)(变量分配)
其中:G65:宏程序调用指令
P(宏程序号):被调用的宏程序代号;
L(重复次数):宏程序重复运行的次数,重复次数为1时,可省略不写;
(变量分配):为宏程序中使用的变量赋值。
宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多可调用4重。
(2)宏程序的编写格式
宏程序的编写格式与子程序相同。其格式为:
上述宏程序内容中,除通常使用的编程指令外,还可使用变量、算术运算指令及其他控制指令。变量值在宏程序调用指令中赋给。
(3)变量
1)变量的分配类型I
这类变量中的文字变量与数字序号变量之间有如表7-5所示的关系。
表7-5 文字变量与数字序号变量之间的关系
上表中,文字变量为除G、L、N、O、P以外的英文字母,一般可不按字母顺序排列,但I、J、K例外;#1~#26为数字序号变量。
例:G65 P1000 A1.0 B2.0 I3.0
则上述程序段为宏程序的简单调用格式,其含义为:调用宏程序号为1000的宏程序运行一次,并为宏程序中的变量赋值,其中:#1为1.0,#2为2.0,#4为3.0。
2)变量的级别
①本级变量#1~#33
作用于宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相同,若在另一级程序(如子程序)中使用,则意义不同。本级变量主要用于变量间的相互传递,初始状态下未赋值的本级变量即为空白变量。
②通用变量#100~#144,#500~#531
可在各级宏程序中被共同使用的变量称为通用变量,即这一变量在不同程序级中调用时含义相同。因此,一个宏程序中经计算得到的一个通用变量的数值,可以被另一个宏程序应用。
(4)算术运算指令
变量之间进行运算的通常表达形式是:#i=(表达式)
1)变量的定义和替换
#i=#j
2)加减运算
3)乘除运算
4)函数运算
5)运算的组合
以上算术运算和函数运算可以结合在一起使用,运算的先后顺序是:函数运算、乘除运算、加减运算。
6)括号的应用
表达式中括号的运算将优先进行。连同函数中使用的括号在内,括号在表达式中最多可用5层。
(5)控制指令
1)条件转移
编程格式:IF [条件表达式] GOTO n
以上程序段含义为:
① 如果条件表达式的条件得以满足,则转而执行程序中程序号为n的相应操作,程序段号n可以由变量或表达式替代;
② 如果表达式中条件未满足,则顺序执行下一段程序;
③ 如果程序作无条件转移,则条件部分可以被省略。
④ 表达式可按如下书写:
2)重复执行
编程格式:WHILE [条件表达式] DO m(m=1,2,3)
……
END m
上述“WHILE…END m”程序含意为:
①条件表达式满足时,程序段DO m至 END m即重复执行;
②条件表达式不满足时,程序转到END m后处执行;
③如果WHILE [条件表达式]部分被省略,则程序段DO m至 END m之间的部分将一直重复执行。
【注意】
① WHILE DO m和 END m必须成对使用;
②DO语句允许有3层嵌套,即:
DO 1
DO 2
DO 3
END 3
END 2
END 1
③DO语句范围不允许交叉,即如下语句是错误的:
DO 1
DO 2
END 1
END 2
以上仅介绍了B类宏程序应用的基本问题,有关应用详细说明,请查阅FANUC-0i系统说明书
2.应用举例
【例7-4】如图7-5所示的圆环点阵孔群中各孔的加工,我们曾经用A类宏程序解决过这类问题,这里再试用B类宏程序方法来解决问题:
图7-5 圆环点阵孔群的加工
宏程序中将用到下列变量:
#1:第一个孔的起始角度A,在主程序中用对应的文字变量A赋值;
#3:孔加工固定循环中R平面值C,在主程序中用对应的文字变量C赋值;
#9:孔加工的进给量值F,在主程序中用对应的文字变量F赋值;
#11:要加工孔的孔数H,在主程序中用对应的文字变量H赋值;
#18:加工孔所处的圆环半径值R,在主程序中用对应的文字变量R赋值;
#26:孔深坐标值Z,在主程序中用对应的文字变量Z赋值;
#30:基准点,即圆环形中心的X坐标值XO;
#31:基准点,即圆环形中心的Y坐标值YO;
#32:当前加工孔的序号i;
#33:当前加工第i孔的角度;
#100:已加工孔的数量;
#101:当前加工孔的X坐标值,初值设置为圆环形中心的X坐标值XO;
#102:当前加工孔的Y坐标值,初值设置为圆环形中心的Y坐标值YO。
用户宏程序编写如下:
在主程序中调用上述宏程序的调用格式为:
G65 P8000 A~ C~ F~ H~ R~ Z~
上述程序段中各文字变量后的值均应按零件图样中给定值来赋值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。