1、 简单定义 宏程序的编制方法简单地解释就是: 利用变量编程的方法。 用户利用数控系统提供的变量、数学运算功能、逻辑判断功能、程序循环功能等功能,来实现一些特殊的用法。一. 宏程序指令适合抛物线、椭圆、双曲线等没有插补宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程。较大地简化编程;扩展应用范围。系列零件的编程。较大地简化编程;扩展应用范围。二.宏变量及常量 (FANUC)#1195#1199为系
2、统内状态变量(可调用,不可改变) 三. 运算符与表达式1. 算术运算符 + - x /2. 条件运算符 EQ(=), NE(), GT() GE(), LT() , LE()3.逻辑运算符 AND,OR,NOT 4. 函数 SIN(正弦)、 COS(余弦) 、 TAN (正切)、 ATAN(反正切- 9090)、 ABS (绝对值)、INT(取整)、 EXP(指数)ATAN2 (反正切 -180180) 、 SIGN(取符号)、SQRT(开方)、POT (平方) 、 5.表达式 用运算符连接起来的常数,宏变量构 成表达式。 例如: (1). (175 / SQRT 2 * COS 55 * P
3、I / 180 ) (2). #3*6 GT 14 四. 赋 值 语 句格式: 宏变量 = 常数 或 表达式赋值: 把常数或表达式的值传给一个宏变量 例如 : #2 = 175/SQRT2 * COS55 * I/180 #3 = #3+1 #4=8在程序中,使用GOTO 语句和IF 语句可以改变控制的流向。有三种转移和循环操作可供使用: 五. 宏 程 序 语 句 (FANUC)1)无条件转移(GOTO语句)转移到标有顺序号N的程序段。当指定1到99999以外的顺序号时,出现P/S 报警No.128。可用表达式指定顺序号。2)条件转移(IF 语句)IF GOTO n如果指定的条件表达式满足时,
4、转移到标有顺序号n的程序段。如果指定的条件表达式不满足,执行下个程序段。运算符运算符运算符含义:EQ等于(=) NE不等于() GT大于()GE大于或等于() LT小于() LE小于等于() 3)循环(WHILE 语句)在WHILE 后指定一个条件表达式,当指定条件满足时,执行从DO 到END之间的程序。否则,转到END 后的程序段。六.应用举例1)铣椭圆椭圆程序方程椭圆的解析方程椭圆的参数方程:12222byax)sin()cos(tbytaxtabxy椭圆程序椭圆程序代码如下:N10 G54 G90 G0 S1500 M03N12 X0 Y0 Z20.N14 G0 Z1N16 G1 Z-5
5、. F150.N18 G41 D1N20 #1=0N22 #2=34N24 #3=24N26 #4=#2*COS#1N28 #5=#3*SIN#1N30 #10=#4*COS45-#5*SIN45N32 #11=#4*SIN45+#5*COS45N34 G1 X#10 Y#11 N36 #1=#1+1N38 IF #1 LT 370 GOTO26N40 G40 G1 X0 Y0 N42 G0 Z100N44 M302)铣半球加工思路 思路:从下往上进行加工,在当前角度时进行加工,铣一个整圆,之后改变上升的高度和加工当前角度的圆半径。铣半球程序G90G0X-10Y0Z54M3S4500G43Z5
6、0.H1M8#1=0.5WHILE#1LE50.DO1#2=50.-#1#3=SQRT2500.-#2*#2G1Z-#1F20X-#3F500G2I#3#1=#1+0.5END1G0Z50.M5M30方法2本例采用球刀从下往上进行加工。先在半球底部铣整圆,之后Z轴进行抬高并改变上升后整圆的半径。半球的加工主要控制的是每次Z轴的上升的尺寸,这里同过控制半球的角度来进行控制Z轴的变化,即每变化一个角度半径的变化量(主要控制#4就可以了)。由此可见,我们加工半球的宏程序只需要一层表达式,就是每次角度变化后的Z轴的高度,以及X方向的尺寸(半球的半径从下往上逐渐减小),X为7号变量,Z为8号变量,7号8
7、号变量都可以根据4号的变量值进行计算,因此只要控制4号变量就可以了,控制每次的递增量。球加工的宏程序采用一层循环,控制角度的变化,角度从0度增加到90度一个半球即加工好,每次增加2度。每层上升的距离采用圆弧加工,较直线进刀准确一些。程序2半球加工的宏程序O0001; 程序号#1= 球半径#2= 刀具半径#12=#1+#2 刀具中心的走刀轨迹#4=0 起始角度#17=2 角度每次的变化量#5=90 角度变化的终止值G90G54G40G49; 对加工进行设置,绝对 坐标编程,取消补偿G00X0Y0Z30; 主轴到达要求位置S500M03; 主轴正转,500r/minX#12; X向到达加工位置Z1
8、0; Z轴快速下刀G01Z-#1F80; Z轴下到Z向加工开始位置WHILE#4LE#5DO1; 判断角度如果没有达 到90度,执行循环一#6=#2*COS#4; 当前角度的X向尺寸, 即该角度时的圆半径G90G17G03I-#6F150; 用该角度时的半径进 行加工圆#7=#12*COS#4+#7-COS#4; 计算增加角 度后的X向增量#8=#12*SIN#4+#7-SIN#4; 计算增加角度 后的Z向增量G91G18G02X#7Y#8R#12; 用相对坐标移动刀 具至增加后的坐标值#4=#4+#17; 计算角度END1; 循环结束G00Z50; Z轴抬刀M30; 程序结束作业思考:一般的子程序中,z轴用宏程序代替的使用。20801603401806-124-10120120