1 宏程序简介 CN7k?JO<
42fprt
在编程工作中,我们经常把能完成某一功能的一系列指令像子程序那样存人存储器,用一个总指令来代表它们,使用时只需给出这个总指令就能执行其功能所存人的这一系列指令称作用户宏程序本体,简称宏程序。这个总指令称作用户宏程序调用指令。在编程时,编程员只要记住宏指令而不必记住宏程序。 aH%ZetLNJ
I> {!U$
用户宏程序与普通程序的区别在于:在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转;而普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。 0$tjNye
d CE\^q[{
宏程序本体既可以由机床生产厂提供,也可以由机床用户自己编制。使用时,先将用户宏主体像子程序一样存人到内存里,然后用子程序调用指令调用。 Oe/6.h?
I*Vt,JYx
2 用户宏程序本体的编写格式 8;TAb.r
SD?BM-&~
用户宏程序本体的编写格式与子程序的格式相同。 [-\({<t3x
&K>cW$h=a
在用户宏程序本体中,可以使用普通的NC指令,采用变量的NC指令、运算指令和控制指令。格式如下: Yx5J$!Ld
f'&GFL=c
O x x xx; C\ vC?(n
# 26= # 4+ # 18 x Cos[# 1〕; :
(gZgMT
G90 GOOX #26; ! .AhzU1%Y
…… GuT6K}~|D
…… LfEvc2
v=g
IF[#22 GE # 9〕GOTO 9; czI{qi5N
…… )!e3.C|V1W
N 9 M 99 Q!yb16J
dIk'pA^d
变量可以用于宏程序本体,可以指定运算和控制指令。用宏程序调用命令赋予变量实际值。 AYcgi
id^|\hDR
3 应用实例 F?z<xL@
.d~\Ysve
3.1 圆弧均布孔位计算宏程序的编程 8lwFAiC8
2{-!E ^g
工程上经常使用圆弧均布的联接孔,而这些孔在图样上往往是不给出每点的坐标,在编程时需要逐点计算,因而增加了编程员的工作量。圆弧孔可用极坐标来描述,若圆心不在坐标原点上,编程不太方便。现在有的系统提供了圆弧均布孔位计算宏指令,可供直接使用。这里给出扇形面上的圆弧孔的宏程序的编制方法。 -0$:|p?@^
^ Hg/P8q
(1)宏 程 序调用指令 }f#_4ACaD
T7{<arL$
G6 5 P9010 I-J-R-A-B-H-; f ba&`
&|b4\uj9
式中:I,J-圆弧中心坐标,不赋值为坐标原点; I5qM.@%zB
R- 圆弧半径; bhD ~4Rz
A- 第1孔的角度值,省略时为0; ;WD,x:>blO
B- 孔间角,当B>0。时为逆时针方向加工,B<0。时为顺时针方向加工。当B省略时为整圆周均布孔,此时的加工方向为逆时针; ?6f7ld5
H - 孔数,包括第1孔;
:Hk_8J
DzC Df@TB"
如图1所示 C/G]v*MBQ
:&qhJtGo
o)&"Rf
llq*T"7
可在参数NO.2 20中设置70(自定),即G 70=G65 P 9010, @4drjT
H<`\bej,
(2) 宏 程 序本体 fG&=Ogy
TQf L%JT
O 9010(圆弧均布孔) ^gOww6$ <
IF[#11 EQ#0〕GOTO 9;孔数不赋值报警 (WRMaI72(
IF[#18 EQ#0]GOTO 9;圆弧半径不赋值报警 ZjD)?4
IF〔#2 NE#0」GOTO 2; q$gz_nVq,b
#2二360.。/#11; 圆弧均布孔间角 {~N3D4n^
N2#33= #4003; 保存03组G代码 d
yh<pX/$
#3之。; 孔加工计数初值 B>z?ClH$R
WHILE[#3 LT#1〕加1; ]78!!G[`
G90X[#4+# 18*COs[#1+# 3*#2丑〕; /[K_
&