基于宏程序的复杂椭圆凸台零件的数控编程加工
2021-11-07丁艳
丁艳
摘要:采用用户宏程序加工二维非圆曲线轮廓,并结合数控系统提供的坐标平移、子程序等编程指令可以减少繁琐的数值计算和简化编程,以复杂椭圆曲线轮廓的数控铣削加工为例,分析研究公式曲线的编程思路和自变量的确定,在FANUC系统中编写其加工程序,并利用斯沃数控仿真软件校验程序。
Abstract: It can reduce the tedious numerical calculation and simplify the programming by using the user macro program to process the two-dimensional non-circular curve outline and combining with the coordinate translation, subroutine and other programming instructions provided by the CNC system. Taking the NC milling of complex elliptic curve as an example, the programming idea of formula curve and the determination of independent variables are analyzed and studied. The machining program is written in FANUC system and verified by SSCNC simulation software.
关键词:宏程序;非圆曲线轮廓;FANUC系统;数控仿真
Key words: macro program;noncircular curve profile;FANUC system;numerical control simulation
中图分类号:TH16;TG659 文獻标识码:A 文章编号:1674-957X(2021)21-0119-02
0 引言
在数控编程中通常会遇到非圆公式曲线轮廓的编程加工,而FANUC数控系统并没有提供现成的指令来编写此类零件的加工程序,因此在手工编程中,需要利用系统提供的宏程序指令,采用拟合的思路来完成,即在公式曲线上选取若干个节点,再将这些节点用直线或者圆弧两两首尾相连,用若干段直线或圆弧去拟合逼近公式曲线轮廓。常用的拟合逼近方法有等间距直线法、等弦长直线法、等误差直线法和圆弧逼近法[1]。在手工编程中,一般采用等间距直线逼近法。
1 宏程序功能
宏程序为手工编写公式曲线轮廓的加工程序提供可能,并使程序更加简洁、通用性更强。作为数控编程指令的重要补充,宏程序具备计算机高级语言的特点,应用灵活、简练易懂,可以完成一般编程指令不能完成的功能,并实现参数化编程。同时,FANUC数控系统还提供了坐标系平移、旋转、子程序等简化编程的指令,在编制各种复杂的零件加工程序时,使用简化编程的指令可以减少复杂的数值计算[2]。
2 椭圆曲线轮廓的宏程序编制
图1为带椭圆轮廓的凸台零件,凸台高度为5mm,下面以该零件为例,说明宏程序在数控铣削公式曲线轮廓零件中的应用。
2.1 编程分析
选用?准16立铣刀铣削零件的外轮廓,以工件上表面的中心点即O点作为编程坐标系的原点,外轮廓高度为5mm,采用分层铣削,每层铣削1mm,铣削5次,可将单层外轮廓的铣削编成1个子程序,在主程序中调用该子程序即可。椭圆外轮廓加工采用等间距直线逼近法,利用宏程序编写其加工程序。椭圆有标准方程和参数方程两种数学公式,本例以标准方程来编写椭圆轮廓的加工程序。
2.2 编写椭圆轮廓加工程序
因编程坐标系的原点O与椭圆中心点O′不重合,需要将椭圆标准方程进行平移才能得到实际的椭圆方程。在编写椭圆轮廓程序时可以先使用坐标系平移指令,将编程坐标系原点平移至O′点,在坐标系X′O′Y′中,椭圆的方程则为=1。a、b、c、d四个节点的坐标可以利用CAD绘图软件查询得到,分别为(-28.345,15),(-14.965,23.22),
(-10.437,-29.856),(-17.014,-37)。通常选取单调的变量作为自变量,椭圆bc段在X′轴和Y′轴上的值均不单调,椭圆程序需要分段编写,分段越多,程序则越长。若以X′轴作为自变量,需要分成两段编写,即bj段和jc段。若以Y′轴作为自变量,则需要分成三段编写,即bi段、ik段和kc段。
以分段少为原则,下面以X′轴作为自变量,将椭圆方程变化为。其中以#1代表X′值,#2代表Y′值,宏程序中的方程应写为#2=35*SQRT[1-#1*#1/[20*20]]或#2=-35*SQRT[1-#1*#1/[20*20]],正负号应根据椭圆弧所在坐标系X′O′Y′中的象限选择,在第一、二象限取正号,在第三、四象限取负号。椭圆轮廓的宏程序编程步骤如下:① 给自变量X′赋初始值;② 代入椭圆公式计算Y′坐标变量;③直线插补至当前点(X′,Y′);④ 自变量X′递增或递减一个步长;⑤判断自变量X′是否出界,若没有出界,则返回步骤②执行,若出界,则椭圆轮廓加工完毕[3]。
编写椭圆轮廓的加工程序如下:
O1011;(主程序名)
T01M06;
G54G90G40G64G0Z100;
M3S1000;
M8;
X-85Y0;(下刀点)
Z5;
G1Z0F200;
M98P51100;(调用子程序O1100)
G0Z100;
M9;
M5;
M30;
O1100;(子程序名)
G91G1Z-1F300;(下刀2mm)
G90G41X-55F120D1;(建立刀具半径补偿)
Y28;
G2X-47Y40R12;
G1X-35;
G2X-23Y28R12;
G1Y15;
G3X-13Y5R10;
G52X40Y-10;(平移编程坐标系原点O至O′点)
G1X-28.345;(切削至a点)
G3X-14.965Y23.22R15;(切削至b点)
#1=-14.965;(切削椭圆bj段,给自变量X′赋初值)
N15 #2=35*SQRT[1-#1*#1/[20*20]];(代入公式计算Y′值)
G1 X#1 Y#2;(直线插补至当前点)
#1=#1+0.3;(自变量X′增加一个步長)
IF [#1 LE 20] GOTO 15;(若自变量X′没出界,计算下一个点的Y′坐标)
#1=20;(切削椭圆jc段)
N25 #2=-35*SQRT[1-#1*#1/[20*20]];
G1 X#1 Y#2;
#1=#1-0.3;
IF [#1 GE -10.437] GOTO 25;
G3X-17.014Y-27R9;(切削至d点)
G1X-55;(切削至e点)
G3X-61.207Y-29.483R9;(切削至f点)
G52X0Y0;(取消坐标系平移)
G2X-55Y-25R20;
G1Y0;
G40X-85;(返回下刀点,并取消刀具半径补偿)
M99;
只需要对主轴转速、进给速度和刀具半径补偿值作相应的设置就可以利用该程序进行零件的粗加工、半精加工及精加工。
3 仿真校验
采用斯沃数控仿真软件仿真校验该零件椭圆外轮廓的加工程序。①设置毛坯尺寸为148×118×24mm。②选择刀具。选择立铣刀,并设置刀具半径为16mm,完成对刀操作。③调用程序。将椭圆轮廓加工的主程序和子程序分别输入到两个记事本文件中并保存,再从仿真软件中调用两个文件即可。输入子程序名时应注意与主程序中“M98P51100”的名字保持一致。④设置刀具半径补偿值。在仿真软件刀补页面相对应的刀号上输入所使用刀具的半径补偿值为16。⑤自动加工。调出椭圆轮廓加工的主程序,将光标移至程序开始处,运行程序,并通过手轮或者增大刀具半径补偿值的方式去除余量。最终仿真结果如图2所示。凸台轮廓与零件图相符,说明编程轨迹没有问题。但在实际加工过程中,需要注意加工参数的调整。
4 结束语
编程中的曲线轮廓公式需要根据编程坐标系和零件的尺寸进行相应的变换,如平移、旋转、放大、缩小等,找到曲线的公式是编写宏程序的关键。另外,合理选择自变量能够简化编程,尽量选择单调变化的变量作为自变量,若自变量不单调,曲线轮廓则需要分段编程,曲线分段越多,程序则复杂。利用直线插补拟合的编程方法同样适用于其他二维非圆曲线轮廓的编程加工。
参考文献:
[1]韩鸿銮.FANUC数控铣床和加工中心工艺与编程[M].北京:化学工业出版社,2016:116-127.
[2]霍苏萍,张月楼.宏程序在数控加工的应用分析[J].煤矿机械,2007,28(9):121-123.
[3]吴新淼.基于直线逼近的曲线插补算法研究[J].机械工程师,2015(8):72-73.