1.宏程序简介
在编程工作中,我们经常把能完成某一功能的一系列指令像子程序那样存人存储器,用一个总指令来代表它们,使用时只需给出这个总指令就能执行其功能所存人的这一系列指令称作用户宏程序本体,简称宏程序。这个总指令称作用户宏程序调用指令。在编程时,编程员只要记住宏指令而不必记住宏程序。
用户宏程序与普通程序的区别在于:在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转;而普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。
宏程序本体既可以由机床生产厂提供,也可以由机床用户自己编制。使用时,先将用户宏主体像子程序一样存人到内存里,然后用子程序调用指令调用。
2.用户宏程序本体的编写格式
用户宏程序本体的编写格式与子程序的格式相同。
在用户宏程序本体中,可以使用普通的NC指令,采用变量的NC指令、运算指令和控制指令。格式如下:
O x x xx;
# 26= # 4+ # 18 x Cos[# 1〕;
G90 GOOX #26;
……
……
IF[#22 GE # 9〕GOTO 9;
……
N 9 M 99
变量可以用于宏程序本体,可以指定运算和控制指令。用宏程序调用命令赋予变量实际值。
3.应用实例
3.1 圆弧均布孔位计算宏程序的编程
工程上经常使用圆弧均布的联接孔,而这些孔在图样上往往是不给出每点的坐标,在编程时需要逐点计算,因而增加了编程员的工作量。圆弧孔可用极坐标来描述,若圆心不在坐标原点上,编程不太方便。现在有的系统提供了圆弧均布孔位计算宏指令,可供直接使用。这里给出扇形面上的圆弧孔的宏程序的编制方法。
(1)宏 程 序调用指令
G6 5 P9010 I-J-R-A-B-H-;
式中:I,J-圆弧中心坐标,不赋值为坐标原点;
R- 圆弧半径;
A- 第1孔的角度值,省略时为0;
B- 孔间角;当B为正时,孔为逆时针方向加工,B为负时,孔为顺时针方向加工(这个和我们绘图时,旋转角度指令是一样的)。当B省略时为整圆周均布孔,此时的加工方向为逆时针;
H - 孔数,包括第1孔;
如图1所示
可在参数NO.2 20中设置70(自定),即G 70=G65 P 9010,
(2) 宏 程 序本体
O 9010(圆弧均布孔)
IF[#11 EQ#0〕GOTO 9;孔数不赋值报警
IF[#18 EQ#0]GOTO 9;圆弧半径不赋值报警
IF〔#2 NE#0」GOTO 2;
#2二360.。/#11; 圆弧均布孔间角
N2#33= #4003; 保存03组G代码
#3之。; 孔加工计数初值
WHILE[#3 LT#1〕加1;
G90X[#4+# 18*COs[#1+# 3*#2丑〕;
X孔 位 坐 标
Y [# 5+# 18二SIN[#1+# 3二#2〕];
Y孔 位 坐 标
# 3二# 3+ 1;
ENDI ;
GOTO 10;
N9# 3000= 1;
N10 G#30 M99;
在编制宏程序时,要牢记变量的种类及特性,不可乱用。因为局部变量、系统变量、公共变量的用途和性质各不相同,局部变量#1-#33是在宏程序中局部使用的变量,公共变量#100- # 149, # 500- # 531是通过主程序及其调出的子程序通用的变量。公共变量的用途,在系统中没有规定,用户可以自由使用。系统变量是在系统中用途固定的变量,如#200。一#2932为刀具补偿量,# 3001, # 3002为时钟等。
关注我,定期为您带来数控宏程序小知识,有福利哦!
留言与评论(共有 0 条评论) |