APP下载

宏程序在板类零件中的典型应用

2014-03-24冯俊丽

中国教育技术装备 2014年20期
关键词:宏程序凹槽数控系统

◆冯俊丽

作者:冯俊丽,广州工程技术职业学院讲师,研究方向为模具CAD/CAM/CAE(510925)。

在手工数控编程中,把完成某一功能的一系列指令像数控子程序一样存入存储器。使用时,也只需像调用数控子程序一样,用某一指令调用该程序,并赋予自变量合适的数值,就可以执行相应功能。所存入的这一系列指令,称为用户宏程序。宏程序是编程的高级形式,它涉及数学模型的建立、数学关系的表达、加工刀具的选择及走刀方式的取舍。对于某些中等难度的零件,使用宏程序编程加工要比自动编程加工快得多。另外,有时自动编程的程序长度要比宏程序长几十倍,甚至上百倍。最后,对于一些典型常用结构的零件,只需要修改变量值,就可加工不同尺寸的零件,而不需重新编程。

1 宏程序

以FANUC 0i-MC数控系统为例,介绍用户宏程序的应用。用户宏程序允许使用变量、算数和逻辑运算及条件转移,使得编制同样的加工程序更加简单。使用宏程序时,只需要像调用子程序一样,使用一条指令调用即可。

变量 普通加工程序直接用特定代码(如G代码)和具体数值来表示具体程序的执行,如G01和X200.0。而使用用户宏程序时,数值可以直接指定或用变量指定,如G01 X#11。当用变量指定时,变量值可用程序或用MDI面板操作改变。

1)变量的表示。宏程序用变量符号“#”和后面的变量号指定,如#11。另外,表达式也可以用于指定变量号,这时表达式必须括在括号中,例如:# [#1 + #2 -5]。

2)变量的类型。变量从功能上分为系统变量和用户变量。系统变量用于系统内部运算时各种数据的存储。用户变量是编制宏程序时可以单独使用的变量,分为局部变量和公共变量。

3)变量的引用。在地址后指定变量号即可引用变量值。当用表达式指定变量时,要把表达式放在括号中,例如:G01 X [#3 + #4] F#5。

4)变量的算数和逻辑运算。变量之间除了可以进行加、减、乘、除的简单运算,还可以进行三角函数等的运算以及一些求平方根、绝对值、取整等,同时也可以进行与、或等逻辑运算。

宏程序语句 宏程序可使用转移和循环语句,以改变控制的流向。

1)无条件转移(GOTO语句)。指令格式:

GOTO n;

n为顺序号。该语句表示转移到标有序号n的程序段,继续往下执行程序。

2)条件转移(IF语句)。指令格式:

IF (fflt;条件表达式ffgt;)GOTO n;

该语句表示条件表达式满足时,转移到标有顺序号n的程序段,继续往下执行。

3)循环语句(WHILE语句)。

指令格式:

该语句表示当满足条件时,执行WHILE语句和END语句之间的程序;执行完该段程序后,循环判断条件是否满足,满足条件的话继续执行WHILE语句和END语句之间的程序;一直到条件不满足,开始执行END语句后的程序。

用户宏程序的编写格式及调用 用户宏程序的编写格式与子程序的格式相同。

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

宏程序的调用,格式如下:

G65 Pfflt;pffgt; Lfflt;lffgt; fflt;自变量赋值ffgt;;

P表示要调用的程序号;l表示重复次数;fflt;自变量赋值ffgt;表示传递到宏程序的数据。

2 应用实例

以图1为例,介绍常见板类零件的宏程序编制。

图1

结构分析 板类零件一般是长、宽尺寸比较大,高度尺寸相对比较小的零件。板高度方向上四周倒圆角,板上表面一般有四个孔或者沉孔,有时有非圆曲面凹槽,下底面一般长方向有凹槽。

数控加工 该类零件如果用数控铣床加工,主要要加工的区域包括:

1)零件上表面的矩形开放区域平面加工;

2)四个圆孔内腔加工;

3)四角圆角过渡矩形外轮廓加工;

4)底面凹槽加工;

5)零件上表面凹槽的加工。

零件上表面及外轮廓的加工编程比较简单,此处略过,重点介绍孔系加工及非圆曲面凹槽加工的宏程序编制。

孔系加工的宏程序编制 在传统的孔系加工中,往往需要不同直径、数量众多的钻头对孔进行粗加工,扩孔需要数量众多的镗刀。而铣刀铣孔在一定程度上能缓解以上矛盾。

在孔系加工中,宏程序编程的优势在于:

一是可实现螺旋下刀加工,对于刀具的保护及零件的表面质量有较好的作用;

二是对于不同尺寸的沉孔,只需修改自变量赋值,而不需要重新编程,效率较高。

沉孔的尺寸如图2所示,孔φ12为通孔,孔深20。在零件上表面建立坐标系,原点位于零件的中心。

主程序及宏程序如下。

主程序:

O0001; 主程序名称

G54 G90 G00 X0 Y0 Z30; 程序开始,定位于原点安全高度

G52 X-80 Y-60; 建立第一孔局部坐标系

G65 P0002 A20 B5 C8 I0 Q1 F300;

对φ20的孔精加工

G65 P0002 A12 B20 C8 I5 Q1 F300;

对φ12的孔精加工

G52 X0 Y0; 取消局部坐标系

G52 X80 Y-60; 建立第二孔局部坐标系

G65 P0002 A20 B5 C8 I0 Q1 F300;

对φ20的孔精加工

G65 P0002 A12 B20 C8 I5 Q1 F300;

对φ12的孔精加工

G52 X0 Y0; 取消局部坐标系

G52 X80 Y60; 建立第三孔局部坐标系

G65 P0002 A20 B5 C8 I0 Q1 F300;

对φ20的孔精加工

G65 P0002 A12 B20 C8 I5 Q1 F300;

对φ12的孔精加工

G52 X0 Y0; 取消局部坐标系

G52 X-80 Y60; 建立第四孔局部坐标系

G65 P0002 A20 B5 C8 I0 Q1 F300;

对φ20的孔精加工

G65 P0002 A12 B20 C8 I5 Q1 F300;

对φ12的孔精加工

G52 X0 Y0; 取消局部坐标系

M30; 程序结束

宏程序:

O0002

#5=[#1-#3]/2; 螺旋加工时刀具中心的回转半径

G00 X#5; 快速移动到起始点上方

Z[-#4+1]; 快速下刀到Z[-#4]面上1 mm处

G01 Z-#4 F[#9*0.2]; 在Z向上G01下刀至Z-#4处

WHILE[#4LT#2] DO 1; 若加工深度#4fflt;圆孔深度#2,循环1

图2

#4=#4+#17; Z依次递增#17,即每层切削深度

G03 I-#5 Z-#4 F#9; G03逆时针螺旋加工至下一层

END 1; 循环1结束

G03 I-#5; 到达圆孔深度时,逆时针走一整圆

G01 X[#5+1]; 沿X 向中心回退1 mm

G00 Z30; Z向快速提刀至安全高度

M99; 宏程序结束返回

自变量赋值说明:

#1=(A) 圆孔直径

#2=(B) 圆孔深度

#3=(C) 平底铣刀刀具直径

#4=(I) Z坐标(绝对值),设为自变量

#9=(F) 进给速度

#17=(Q) Z向每次递增量,即切削深度

椭圆形凹槽的加工 在本例中,非圆凹槽为椭圆曲线凹槽,椭圆长轴100 mm,短轴50 mm,椭圆圆心距离零件下底面40 mm。

椭圆曲面或椭圆轮廓是宏程序在非圆曲线加工的经典应用。在椭圆宏程序的编写中,很多人存在误区,以为只要刀具中心运动轨迹是椭圆,加工出来的轮廓就是椭圆。其实,如果刀具中心运动是椭圆轨迹,加工出来的轮廓比不是真正的椭圆,而是刀具中心的椭圆的等距偏移曲线。如果被加工出来的希望是一个真正的椭圆,刀具中心运动轨迹就必须是想要的椭圆轮廓的等距偏移曲线。

在编程之前,建立如图3所示的坐标系,设置椭圆圆心为编程原点。刀具沿Y轴方向加工,然后沿椭圆轮廓线进给,依次进行加工。刀具采用球刀编程。

工艺分析:如图3所示,凹圆柱面的轴线平行于Y轴,椭圆截面位于ZX平面内。程序在ZX平面内需要使用刀具半径补偿G41或G42。

本例中可行的走刀方向有两种:一是沿Y轴方向进行前后直线往复的双向走刀加工;二是在ZX平面内沿着椭圆轮廓往复双向走刀。这两种走刀方式在实际加工工艺方面还是有较大的差别的。

如果选择第二种走刀方式,一方面要多次使用G41及G42换向,切换过程中要频繁使用G40功能,G41-G40-G42-G40-G41…,不断循环。同时,为了在两端有效取消刀补,并兼顾安全因素,需要抬刀到一定高度,造成空行程较多,加工效率较低。另一方面,刀具沿着椭圆轨迹运动时,数控系统必须要根据角度变量不停计算每一个刀位点的坐标值,受限于数控系统的计算速度,实际进给速度将受到严重影响。如果选择沿Y轴方向进行前后往返双向加工,则上述问题就不复存在,数控系统仅在Y轴两端横向移动时才需要根据椭圆轨迹进行坐标点的计算,而主切削方向仅仅是简单的直线运动。

所以选择第二种走刀方式,程序如下:

O0003

#1=50; 椭圆长半轴

#2=25; 椭圆短半轴

#3=10; 零件上表面距离椭圆凹槽底部的距离,取绝对值

#4=5; 球头铣刀半径

#11=120; 在Y方向上的走刀距离

#5=#2-#3; 初始点对应的Z坐标,取绝对值

#6=ASIN[#5/#2] 根据椭圆参数方程计算初始点对应的角度

#7=#1*COS[#6] 根据椭圆参数方程计算出初始点X坐标

#18=1; 椭圆角度递增量

S1000 M03; 主轴转速和正转开

G54 G90 G00 G17 G40 X0 Y0 Z40;

程序开始,定位于G54原点上方安全高度

图3

T01; 调用刀具

Y[#11/2]; 移动到加工的前端面

G18; 指定ZX平面

X#7,Z[#4+1]; G00快速移动到下刀点

#8=#6; 椭圆角度设为自变量,赋初始值#6

WHILE[#8LE[180-#6]] DO 1;

若#8≤180-#6,循环1继续

#9=#1*COS[#8]; ZX平面内椭圆当前点的X坐标

#10=#2*SIN[#8]; ZX平面内椭圆当前点Z坐标

G41 D01 G01 X#9 Z-#10 F400;以直线G01逼近走椭圆轨迹

Y#11 F1000; 沿Y方向加工移动距离#11

#8=#8+#18; #8每次按照增加#18角度递增

#9=#1*COS[#8]; Y[-#11/2]处ZX平面内下一点的X坐标值

#10=#2*SIN[#8]; Y[-#11/2]处ZX平面内下一点的Z坐标值

X#9 Z-#10 F400; Y[-#11/2]处移动到椭圆下一点

Y[#11/2] F1000; 回到 Y[#11/2]

#8=#8+#18; #8每次按照增加#18角度递增

END 1; 循环1结束

G01 G40 X-#7 Z[#4+1]; 取消刀补,回到退刀点

G17 G00 Y0 Z40; 回复XY平面,退刀至安全高度

M30; 程序结束

在加工中,宏程序的自变量修改是比较方便的,对于类似的零件加工,不必重复编程。另外,宏程序对于其他曲线类(如双曲线)的槽或者凸起的编程也是比较方便的,只需要掌握这些曲线的数学参数方程,就可以灵活运用宏程序进行编程和加工。

3 结束语

宏程序是程序编制的高级形式,宏程序的运用与数控系统、数控加工工艺等多方面的知识和经验息息相关。宏程序不仅是一种数控编程的手段,更重要的一点是使用宏程序进行数控编程,本身也是一个熟悉数控系统功能、确定及优化加工工艺的过程。因此,掌握和运用宏程序的过程本身也是不断加深对数控加工真谛理解的过程。

它的优点主要体现在以下几方面。

1)宏程序功能是对数控系统进行的一定功能的扩展,即可视为用户利用数控系统提供的工具,在数控系统平台上进行一定程度的二次开发,解决一些普通程序无法解决的问题。

2)宏程序的最大特点是将有规律的形状或尺寸用最短的程序表示出来,具有极好的易读性和易修改性,程序简洁、逻辑严密,通用性较强。

3)从模块化加工角度而言,宏程序最具有模块化思想。编程人员在应用时,只需要根据零件几何信息和不同数学模型即可完成相应的模块化加工程序设计;调用宏程序时,只需要把零件的尺寸信息、加工参数输入到调用语句之中,即可加工。这样就能把编程人员从繁琐的、大量的重复性的编程工作中解脱出来。

4)对于传统的普通数控机床,存在内存容量小,无法实现高速切削加工等缺陷;宏程序使加工程序变得简洁,对现实加工来说,有很重要的实际意义。

当然,宏程序和CAD/CAM软件比较起来,在包含了大量不规则复杂曲面的零件中,CAD/CAM软件编程优势就比较明显,如对各种注塑模、压铸模等的型腔和型芯及汽车覆盖件的凸模和凹模的编程和加工;但对于常用和常见典型的各种零件,宏程序依然是完全可以胜任的。

[1]陈海舟.数控铣削加工宏程序及应用实例[M].2版.北京:机械工业出版社,2012:245-246.

[2]冯志刚.数控宏程序编程方法、技巧与实例[M].2版.北京:机械工业出版社,2013:28-30.

[3]杨海琴.FANUC数控铣床编程及实训精讲[M].西安:西安交通大学出版社,2010:3-4.

猜你喜欢

宏程序凹槽数控系统
椭球槽宏程序编制及其Vericut仿真
一种智能立式压滤机专用的塑料滤板
双面圆弧凹槽细颈的高速铣削加工
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
环形凹槽类铸件铸造工艺
基于Vericut的四轴数控加工宏程序仿真研究
G代码B类宏程序在数控切割参数化图形库中的应用