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