浅谈宏程序在数控加工中的应用

(整期优先)网络出版时间:2021-07-02
/ 2

浅谈宏程序在数控加工中的应用

张海波

荆门技师学院, 湖北 荆门 448000

摘要:目前各类技工院校在数控加工铣削的学习过程中,仅对学生培养普通简单零件精加工程序的编制是不够的,会导致学生的涉及面窄小。在实际加工中,宏程序通过变量的变化可以方便的实现一些手工编程中不易编制的曲面零间的加工。

关键词:数控加工、铣削、宏程序、变量、曲面零件

由于种种因素的影响,目前在技工院校的数控加工专业教学中,过分依赖CAD/CAM软件,手工编程只要求学生掌握一些简单零件的精加工程序。由于宏程序涉及较强的计算能力,因此学生学习较少,这就造成了学生的编程能力得不到应有的训练和提高,而真正的CAD/CAM软件也不过掌握了一些皮毛,仅够应付考试而已,这在实际加工是远远不够的。笔者认为自动编程是手动编程的基础,要想真正掌握自动编程,必须先掌握手工编程,而宏程序是手工编程的精髓,应用简洁合理的小容量数控宏程序,不但能发挥数控机床的加工效率,还能弥补CAM软件自动编程的不足。本文以方变圆台的编程举例来说明宏程序在数控铣削中方便的实际应用能力。

1.宏程序简介

在编程工作中,我们经常把能完成某一功能的一系列指令像子程序那样存人存储器,用一个总指令来代表它们,使用时只需给出这个总指令就能执行其功能所存人的这一系列指令称作用户宏程序本体,简称宏程序。这个总指令称作用户宏程序调用指令。在编程时,编程员只要记住宏指令而不必记住宏程序。

用户宏程序与普通程序的区别在于:在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转;而普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。

宏程序本体既可以由机床生产厂提供,也可以由机床用户自己编制。使用时,先将用户宏主体像子程序一样存人到内存里,然后用子程序调用指令调用。

2.用户宏程序本体的编写格式

用户宏程序本体的编写格式与子程序的格式相同。

在用户宏程序本体中,可以使用普通的NC指令,采用变量的NC指令、运算指令和控制指令。格式如下:

O x x xx;

# 26= # 4+ # 18 x Cos[# 1〕;

G90 GOOX #26;

……

……

IF[#22 GE # 9〕GOTO 9;

……

N 9 M 9 9

变量可以用于宏程序本体,可以指定运算和控制指令。用宏程序调用命令赋予变量实际值。

3.应用实例

60deb85f3b605_html_dcd54fcef80c8dcc.gif


(1)如上图所示方变圆台,若采用普通手工编程很难实现加工,若采用宏程序则显得方便快捷。

(2)编程思路:四方台变圆的加工,实质是把两者的轨迹结合,在不同的层面,刀具所走的轨迹为圆弧直线交替进行,在Z 坐标最高与最低位置走刀轨迹为接近四方台与整圆的曲线。如要加工到绝对的Z 坐标,须在最高与最低位置单独编写四方台与整圆的加工程序。

(3)具体使用以下变量进行运算:

#1:高度的变化量。

#2:四方台边长

#3:不同高度边长的增量。

#4:半径变量。

#5:不同高度圆弧起点或终点的坐标。

#6:不同高度圆弧起点或终点的坐标。

(4)程序如下:

O4000; (主程序号)

G54 G98; (调用工件坐标系)

M03 S1000; (主轴正转,给定转速)

G00 G43 H1 Z50.0; (加入刀具长度补偿,Z向快速定位)

X40.0 Y40.0; (刀具定位)

Z5.0; (快速定位至工件上表面)

#1 = 0.2; (设定高度变量)

#2 = 20.0; (设定四方台初始边长)

N10 #3 = 10.0 / 50.0 × #1; (计算不同高度边长的增量)

#4 = 30.0 / 50.0 × #1; (计算半径变量)

#5 = #2 + #3; (计算不同高度圆弧起点或终点的坐标)

#6 = #2 + #3 - #4; (计算不同高度圆弧起点或终点的坐标)

G01 Z-#1 F50; (高度进给)

G41 D01 G01 X#5 Y30.0; (建立刀具半径补偿,切削加工)

G01 X#5 Y-#6; (切削加工方台棱边)

G02 X#6 Y-#5 R#4; (切削加工圆台棱边)

G01 X-#6; (切削加工方台棱边)

G02 X-#5 Y-#6 R#4; (切削加工圆台棱边)

G01 Y#6; (切削加工方台棱边)

G02 X-#6 Y#5 R#4; (切削加工圆台棱边)

G01 X#6; (切削加工方台棱边)

G02 X#5 Y#6 R#4; (切削加工圆台棱边)

G01 Y-#6; (切削加工方台棱边)

G00 G40 X50.0 Y50.0; (取消刀具半径补偿,刀具离开工件)

#1 = #1 + 0.2; (计算高度)

IF [ #1 LE 49.9 ] GOTO 10; (指定循环条件)

G00 Z50.0; (刀具到达安全位置)

X50.0 Y50.0; (刀具远离工件)

M30; (程序结束)

4 结束语

在编制宏程序时,要牢记变量的种类及特性,不可乱用。因为局部变量、系统变量、公共变量的用途和性质各不相同,局部变量#1-#33是在宏程序中局部使用的变量,公共变量#100- # 149, # 500- # 531是通过主程序及其调出的子程序通用的变量。公共变量的用途,在系统中没有规定,用户可以自由使用。