1 宏程序简介 [l*;+N+
v@1f,d
在编程工作中,我们经常把能完成某一功能的一系列指令像子程序那样存人存储器,用一个总指令来代表它们,使用时只需给出这个总指令就能执行其功能所存人的这一系列指令称作用户宏程序本体,简称宏程序。这个总指令称作用户宏程序调用指令。在编程时,编程员只要记住宏指令而不必记住宏程序。 e% #?B
*
~93#L_V_O
用户宏程序与普通程序的区别在于:在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转;而普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。 Ol)M0u
CTf39R|7_
宏程序本体既可以由机床生产厂提供,也可以由机床用户自己编制。使用时,先将用户宏主体像子程序一样存人到内存里,然后用子程序调用指令调用。 @^t1SPp
T( CTU/a-,
2 用户宏程序本体的编写格式 >f:OU,"
2&0#'Tb
用户宏程序本体的编写格式与子程序的格式相同。 C[[:/X(c
(L,>P`CR6
在用户宏程序本体中,可以使用普通的NC指令,采用变量的NC指令、运算指令和控制指令。格式如下: ]owcx=5q%'
^TqR0a-*
O x x xx; %&M*G@j
# 26= # 4+ # 18 x Cos[# 1〕; M!O &\2Q
G90 GOOX #26; PcEE@W9
…… Og :aflS
…… . sv
uXB
IF[#22 GE # 9〕GOTO 9; (BZd%!
…… XSktbk
N 9 M 99 |D~#9
p sAr>:\3
变量可以用于宏程序本体,可以指定运算和控制指令。用宏程序调用命令赋予变量实际值。 '&F
PkT:5
?1]h5Uh[b
3 应用实例 tWI%P&b
n=%D}W
3.1 圆弧均布孔位计算宏程序的编程 g]PC6xr38
6G;t:[H G
工程上经常使用圆弧均布的联接孔,而这些孔在图样上往往是不给出每点的坐标,在编程时需要逐点计算,因而增加了编程员的工作量。圆弧孔可用极坐标来描述,若圆心不在坐标原点上,编程不太方便。现在有的系统提供了圆弧均布孔位计算宏指令,可供直接使用。这里给出扇形面上的圆弧孔的宏程序的编制方法。 :Y[?@/m4
<*+Y]=
(1)宏 程 序调用指令 VcORRUp
%!V =noo
G6 5 P9010 I-J-R-A-B-H-; ?dQ#%06mn
PHg(O:3WG
式中:I,J-圆弧中心坐标,不赋值为坐标原点; gacE?bW'
R- 圆弧半径; !UX7R\qu|
A- 第1孔的角度值,省略时为0; +5ue)`
B- 孔间角,当B>0。时为逆时针方向加工,B<0。时为顺时针方向加工。当B省略时为整圆周均布孔,此时的加工方向为逆时针; PaBqv]
H - 孔数,包括第1孔; F=V_ACU
m8z414o
如图1所示 FfibR\dhY
4FcY NJq
1*]@1DJt
? W2Wy\
可在参数NO.2 20中设置70(自定),即G 70=G65 P 9010, >5bd!b,
)B5(V5-!|
(2) 宏 程 序本体 ; d :i
fR,7l9<%Zp
O 9010(圆弧均布孔) l~$Od jf
IF[#11 EQ#0〕GOTO 9;孔数不赋值报警 -"w&g0Z
IF[#18 EQ#0]GOTO 9;圆弧半径不赋值报警 0r ilg
IF〔#2 NE#0」GOTO 2; (d}z>?L
#2二360.。/#11; 圆弧均布孔间角 'Q4V(.
N2#33= #4003; 保存03组G代码 jrm
L>0NZ
#3之。; 孔加工计数初值 @^K_>s9B
WHILE[#3 LT#1〕加1; RLUH[[
G90X[#4+# 18*COs[#1+# 3*#2丑〕; =d1R9O
X孔 位 坐 标 i`vgD<}
Y [# 5+# 18二SIN[#1+# 3二#2〕]; AGgL`sP
Y孔 位 坐 标 S0mF%"
# 3二# 3+ 1; )!C|DSw
ENDI ; tzSg`7H!
GOTO 10; O<`\9
N9# 3000= 1; |p
@,]cz
N10 G#30 M99; .>|]Lo(=l
?G$X
4KY6`
(3)编程举例(零件如图2所示) m|cT)-
Czt>?8x`
... ... h&6t.2<e
G81... .[hbiv#
... ... l@nG?l #
# 100 = 32.0/7; 孔间角 O{44GB3
G 70 A 41.2 B 96.0 H 2 4 108.0; 2Xφ8孔位
O^I%Xk
... ... * 57y.](w
G 70 A 78.0 B- # 100 H 8 R 108.0; 左侧8Xφ4孔位 cT,5xp"a
G 70 A 102.0 B # 100 H 8 R 108.0; 右侧8Xφ4孔位 o _DZ
xN]88L}Tn
x $=-lB
2.2 椭圆形加工宏程序的编程 SBqx_4}
%.n 7+
实 际 应 用中,还经常会遇到各种各样的椭圆形加工特征。在现今的数控系统中,无论硬件数控系统,还是软件数控系统,其插补的基本原理是相同的,只是实现插补运算的方法有所区别。常见的是直线插补和圆弧擂补,没有椭圆插补,手工常规编程无法编制出椭圆加工程序,常需要用电脑逐一编程,但这有时受设备和条件的限制。这时可以采用拟合计算,用宏程序方式,手工编程即可实现,简捷高效,并且不受条件的限制。加 工 如 图3所示的椭圆形的半球曲面,刀具为R8的球铣刀。利用椭圆的参数方程和圆的参数方程来编写宏程序。 sXm,y$\m
zMmVYx
椭圆的参数方程为 X=A*COS& Q]2v]PJ6"
Z=B*SIN& WMXk-?v4
c!}f\ ]D
其中,A 为椭圆的长轴,B为椭圆的短轴。 K#oF=4_/|
UXN!iU)
mtu`m6Xix
编制参考宏程序如下: K/+w6d
*O@uF4+!1
%0012 =#ls<Zo:
#1=0 4'ymPPY
#2=20 iPoDesp
#3=30 [MVG\6Up(
#4=1 I%fz^:[#<
#5=90 ;~5w`F)
l~9P4
,
WHILE #5 GE #1 DO1 7Yrp#u1!
3gzcpFNqX
#6=#3*COS[#5*PI/180]+4 d)X6x-(
#7=#2*SIN[#5*PI/180] p 6FPdt)
G01X[#6]F800 }I;5yk,o
Z[#7] }v?_.MtS
#8=360 Sx%vJYH0
#9=0 r]+N(&q
GMO|A.bzzN
WHILE #9 LE #8 DO2 :~1p
X#!oG)or
#10=#6*COS[#9*PI/180] xX]92Q
#11=#6*SIN[#9*PI/180]*2/3 s=xJcLA
G01X[#10]Y[#11]F800 eTp}*'$p
#9=#9+1 (计数器) (o5+9'y"9
U~e^
END 1 ~J:"sUR
Ie%twc
#5=#5-#4 (计数器) Lp?JSMe
"|:I]ZB
END2 xRx8E;Q@h?
M99 H _%yh,L
Ltt+BUJc
在上例中可看出,角度每次增加的大小和最后工件的加工表面质量有较大关系,即记数器的每次变化量与加工的表面质量和效率有直接关系。希望读者在实际应用中注意。 /6%<