HNC-21M 数(shù)控系统为用户配(pèi)备了强(qiáng)有力的(de)类似于高级语言(yán)的宏程(chéng)序功能, 用户可以使用(yòng)变(biàn)量进行算术(shù)运(yùn)算、逻(luó)辑(jí)运算和(hé)函(hán)数的混(hún)合运算,此外宏程序(xù)还提 供了循环语句、分支语句(jù)和子程序(xù)调用语句,利于(yú)编制各种复(fù)杂(zá)的零件加工程(chéng)序, 减少(shǎo)乃至免(miǎn)除手(shǒu)工编程时进行繁(fán)琐的数(shù)值计算,以及精简程序量。
#0~#49 当前局部变量
#50~#199 全局变(biàn)量
#200~#249 0 层局部变量
#250~#299 1 层局部变量
#300~#349 2 层局部变量
#350~#399 3 层局(jú)部(bù)变量
#400~#449 4 层局部变(biàn)量
#450~#499 5 层(céng)局部(bù)变量
#500~#549 6 层局部变(biàn)量
#550~#599 7 层局(jú)部变量
#600~#699 刀具长度寄存器H0~H99
#700~#799 刀(dāo)具半径(jìng)寄存器D0~D99
#800~#899 刀(dāo)具(jù)寿命寄存器
PI:圆(yuán)周率π
TRUE:条件成(chéng)立(真)
FALSE:条(tiáo)件(jiàn)不(bú)成立(假(jiǎ))
(1) 算术运(yùn)算符:+,-,*,/
(2) 条件运(yùn)算符
EQ(=),NE(≠),GT(>),
GE(≥),LT(<),LE(≤)
(3) 逻辑运算符
AND,OR,NOT
(4) 函数
SIN,COS,TAN,ATAN,ATAN2,
ABS,INT,SIGN,SQRT,EXP
(5) 表达式
用运算符(fú)连接起来的常数,宏变量(liàng)构成表达式。
例如:175/SQRT[2] * COS[55 * PI/180 ];
#3*6 GT 14;
格式:宏变(biàn)量=常数或表达式
把常数或表达(dá)式(shì)的值送给一个宏变量称为赋值。
例如: #2 = 175/SQRT[2] * COS[55 * PI/180 ];
#3 = 124.0;
条件判别语句IF, ELSE,ENDIF
格式 (i): IF 条件表达式(shì)
…
ELSE
…
ENDIF
格式(ii) : IF 条(tiáo)件表达式
…
ENDIF
格式(shì): WIIILE 条件表达式
…
ENDW
条件判别语(yǔ)句的使(shǐ)用(yòng)参见(jiàn)宏程序编程举(jǔ)例。
循(xún)环(huán)语句的使用参见宏程序编程(chéng)举例(lì)。
%0010
#10=10.0
#11=10.0
#12=124.0
#13=124.0
#101=8.0
#102=6.5
#103=6.0
N01 G92 X0.0 Y0.0 Z10.0
#0=0
N06 G00 X[-#12] Y[-#13]
N07 G01 Z[-#10] M03 S600 F200
WHILE #0 LT 3
N[08+#0*6] G01 G42 X[-#12/2] Y[-90/2] F280.0 D[#0+50]
N[09+#0*6] X[0] Y[-90/2]
N[10+#0*6] G03 J[90/2]
N[11+#0*6] G01 X[#12/2] Y[-90/2]
N[12+#0*6] G40 X[#12] Y[-#13]
N[13+#0*6] G00 X[-#12] Y[-#13]
#0=#0+1
ENDW
N100 Z[-#10-#11]
#2=90/SQRT[2]*COS[55*PI/180]
#3=90/SQRT[2]*SIN[55*PI/180]
#4=90*COS[10*PI/180]
#5=90*SIN[10*PI/180]
#0=0
WHILE #0 LT 3
N[101+#0*8]G01 G42 X[-#12/2] Y[-90/2] F280.0 D[#0+50]
N[102+#0*8]X[-#2] Y[-#3]
N[103+#0*8]G91 X[+#4] Y[+#5]
N[104+#0*8]X[-#5] Y[+#4]
N[105+#0*8]X[-#4] Y[-#5]
N[106+#0*8]X[+#5] Y[-#4]
N[107+#0*8] G90 X[#12/2] Y[-90/2]
N[108+#0*8]G00 G40 X[-#12] Y[-#13]
#0=#0+1
ENDW
G00 X0 Y0 M05 M30