CNC车床高斯曲线加工
随着新产品研制的发展,许多新产品的形状采用了特殊曲线,如椭圆、双曲线和高斯曲线等,而如何加工这些特殊曲线就成了机加人员的新课题。
从多年的实践来看,采用宏程序编程,然后在数控车床上车削是较为简单、经济和方便的一种方法。
但是这种方法对于编程者要求较高,这是因为宏程序的编制要求程序员不仅具有丰富的数学知识,还要熟悉数控车床的编程指令,对于宏程序更应是了如指掌。
宏程序分为A类和B类两种:A类宏程序通常采用H代码编制,B类宏程序通常用赋值语句和数学公式进行编制,易为大家接受,FANUC0i型数控系统的宏程序就是B类。
▽长按爱心,添加小编,技术交流▽
一、FANUC0i型数控系统宏程序
在FANUC0i型数控系统中变量分为4种类型,即空变量、局部变量、公共变量和系统变量。空变量的变量号为#0,该变量总为空,没有值能赋给该变量;局部变量的变量号为#1~#33,该类变量只能用于在宏程序中存储数据,当断电时局部变量初始化为空,调用宏程序时,给局部变量赋值。公共变量的变量号为#100~#199、#500~#999,公共变量在不同的宏程序中的意义相同。当断电时,变量#100~#199初始化为空,变量#500~#999中的数据保存,即使断电也不丢失。系统变量的变量号为#1000~,系统变量用于读和写CNC的各种数据,例如刀具的当前位置和刀具补偿值等。我们在编写宏程序时可以引用局部变量和公共变量,在引用变量,特别是公共变量时,为消除变量内原有数据的影响,一定要给变量重新赋值后再引用。
宏程序是用户实现机床功能扩展的一种方法。在宏程序中可以使用变量,给变量赋值,变量间可进行运算和程序跳转。此外,宏程序还提供了循环语句、分支语句和子程序调用语句,一层宏循环里还可以嵌套多层循环。所以可以应用宏程序指令编制出简洁合理的小容量加工程序,扩展数控机床功能,提高加工效率,充分发挥数控机床的作用。
二、高斯曲线的方程
高斯曲线在直角坐标系下的方程是
,其中x是自变量,y是因变量。但此方程我们还不能直接应用于数控车床,因为在数控车床上,坐标系是这样规
定的:Z轴与主轴轴线平行,正方向是远离工件方向,X轴与主轴轴线垂直,正方向是远离主轴轴线方向。因此我们需要把直角坐标系的方程转换为数控车床坐标系下的方程,同时数控车床不能识别指数函数和平方等数学符号,这就需要用宏程序中的算术和逻辑运算符号替换其中的数学符号,变成数控车床可识别的公式。
经变换后高斯曲线在数控坐标下的方程如下。
X=140.6/EXP(((z-620)/1339)*((z-620)/1339))+9.358/
EXP(((z+251.5)/351.8)*((z+251.5)/351.8))+24.58/EXP(((z+740.4)/464.1)*((z+740.4)/464.1))
三、数控车床加工特殊曲线的方法
数控车床可通过G01、G02等G代码直接加工直线、圆弧,但并没有专门的G代码来加工椭圆、双曲线和高斯曲线等特殊曲线。在加工此类曲线时一般采用直线逼近法,即在Z方向上依次递减或递增,以0.05mm~0.5mm为一个步距,每递减或递增一个步距得到一个Z值。然后,通过曲线方程计算求出对应的X值,再将刀具直线插补至计算得出的(X,Z)值所确定的点,依次插补便可完成特殊曲线的加工。
四、编制加工高斯曲线的宏程序
现以一个简单的零件为例,说明高斯曲线的宏程序编制过程。如图1所示,在Φ260mm的毛坯棒料上加工一段长100mm的高斯曲线外轮廓。图1是直角坐标系下的零件图样,图2是数控坐标下的零件图样。
1490873504692141.png1490873504561622.png
在高斯曲线数控坐标方程中,我们用#101表示自变量z,用#102表示(z-620)/1339,用#103表示(z+251.5)/351.8,用#104表示(z+740.4)/464.1,用#105表示因变量x,则高斯曲线的方程可表示为:
#105=14.6/EXP(#102*#102)+9.358/EXP(#103*#103)+24.58/EXP(#104+#104)
编制精加工程序如下:
O0001
N10#101=0;(自变量初值)N20#102=(#101-620)/1339;
N30#103=(#101+251.5)/351.8;N40#104=(#101+740.4)/464.1;
N50#105=14.6/EXP(#102*#102)+9.358/EXP(#103*#103)+24.58/EXP(#104*#104);
N60G01X[2*#105]Z[-#101]F0.2;(直线逼近法加工高斯曲线)
N70#101=#101+0.1;(z值递增一个步距)
N80IF[#101LE100.0]GOTO20;N90G01X265.0;
N90G00X100.0Z100.0;N100M30;
以上程序为最后一刀的精加工程序,在实际加工中要考虑到毛坯的余量,这就需要先粗车,再精车。粗车同样也是沿轮廓车削,可采用G71或者G73指令粗车,然后用G70指令精车,编制完整的程序如下。
O0002
N10G40G21G97G99;N20M03S800;
N30T0101;
N40G00X262.0Z2.0;N50G73U9.0R9.0;
N60G73P70Q150U0.3W0.0F0.2;N70#101=0;(自变量初值)
N80#102=(#101-620)/1339;N90#103=(#101+251.5)/351.8;
N100#104=(#101+740.4)/464.1;
N110#105=14.6/EXP(#102*#102)+9.358/EXP(#103*#103)+24.58/EXP(#104*#104);
N120G01X[2*#105]Z[-#101]F0.1S1000;(直线逼近法加工高斯曲线)
N130#101=#101+0.1;(z值递增一个步距)N140IF[#101LE100.0]GOTO80;
N150G01X265.0;N160G70P70Q150;
N170G00X100.0Z100.0;N180M30;
虽然随着CAD/CAM软件的应用,手工编程、宏程序应用空间日趋缩小,但是在某些情况下PC机也无能为力,这就要求我们深挖手工编程,发挥数控机床潜力。