140 likes | 336 Views
课题 2 宏程序编程介绍. 1 、宏变量 2 、常量 3 、运算符与表达式 4 、赋值语句 5 、条件判别语句 IF , ELSE , ENDIF 6 、循环语句 WHILE , ENDW 7 、宏程序编程举例. 宏程序作用和用途. 用途: 宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程; 适合图形一样,只是尺寸不同的系列零件的编程; 适合工艺路径一样,只是位置参数不同的系列零件的编程。. 作用: 用户可以使用变量进行算术运算、逻辑运算和函数的混合运算。 此外宏程序还提供了循环语句、分支语句和子程序调用语句。
E N D
课题2 宏程序编程介绍 • 1、宏变量 • 2、常量 • 3、运算符与表达式 • 4、赋值语句 • 5、条件判别语句IF,ELSE,ENDIF • 6、循环语句WHILE, ENDW • 7、宏程序编程举例
宏程序作用和用途 • 用途: • 宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程; • 适合图形一样,只是尺寸不同的系列零件的编程; • 适合工艺路径一样,只是位置参数不同的系列零件的编程。 • 作用: • 用户可以使用变量进行算术运算、逻辑运算和函数的混合运算。 • 此外宏程序还提供了循环语句、分支语句和子程序调用语句。 • 利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。
1、宏变量 • #0~#49 当前局部变量 • #50~#99 全局变量 • #200~#249 0层局部变量 • #250~#299 1层局部变量 • #300~#349 2层局部变量 • #350~#399 3层局部变量 • #400~#449 4层局部变量
#450~#499 5层局部变量 • #550~#599 7层局部变量 • #600~#699 刀具长度寄存器(H0~H99) • #700~#799 刀具半径寄存器(D0~D99) • #800~#899 刀具寿命寄存器 • #500~#549 6层局部变量
2、 常量 • PI:圆周率 • TRUE:条件成立(真) • FALSE:条件不成立(假)
3、 运算符与表达式 • (1) 算术运算符 +, - ,* ,/ • (2) 条件运算符 EQ(=),NE(≠),GT(>) GE(≥),LT(<),LE(≤) • (3) 逻辑运算符 AND,OR,NOT
(4) 函数 SIN,COS,TAN,ATAN,ATAN2 ABS,INT,SIGN,SQRT,EXP • (5) 表达式 用运算符连接起来的常数宏变量构成表达式。 例如175/SQRT[2] * COS[55 * PI/180 #3*6 GT 14
4、 赋值语句 • 格式宏变量=常数或表达式 • 把常数或表达式的值送给一个宏变量称为赋值 • 例如: #2 = 175/SQRT[2] * COS[55 * PI/180 ] #3 = 124.0
5 、条件判别语句IF,ELSE,ENDIF 格式(i): IF 条件表达式 ┅ ELSE ┅ ENDIF 格式(ii): IF 条件表达式 ┅ ENDIF
6、 循环语句WHILE, ENDW • 格式: WIIILE 条件表达式 • ┅ • ENDW
表1-2 华中数控(HNC-21M)系统#0~#25局部变量所对应的系统变量
7、宏程序编程举例 • 例1:椭圆宏程序 编制,如图2-1。 • 椭圆函数关系 如下: X=a×COSα Y=b×SINα
参考程序 • %0001 • #0=5 (定义刀具半径R值) • #1=20 (定义a值) • #2=10 (定义b值) • #3=0 (定义步距角α的初值,单位:度) • G90G54 G00 Z100 • X0 Y0 • X[#1+#0] Y0 • WHILE #3 GE [-360] • G01X[[#1+#0]*COS[#3*PI/180]] Y[[#2+#0]*SIN[#3*PI/180]] • #3=#3-5 • ENDW • G01 G91 Y[-#0] • G00 Z10 • M30