GSK980TD数车上用A类宏程序加工椭圆形工件摘要:椭圆加工是数车加工中的经典非圆曲线,本文以椭圆为例,介绍在GSK980TD数车上用A类宏程序通过手工编程来实现椭圆形工件的粗加工和精加工。
GSK980TD 数车椭圆宏程序
前言:目前数控系统还未提供完善的非圆曲线的插补功能,因此实际操作中非圆曲线的编程多采用宏程序来完成。作为培养高技能人才的学校,特别是数控教学及数控大赛中根据不同情况,掌握非圆曲线的编程是非常必要的。椭圆是数车加工中的难点而且又是比较典型的非圆曲线,下面将把在GSK980TD数车上用A类宏程序加工椭圆的编程方法作介绍。
一、宏指令概述
当前较先进的数控加工系统都为用户配备了较强大的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数混合运算。通过它所提供的循环语句、分支语句和子程序调用语句可大大减少乃至免除了手工编程时繁琐的数值计算,是提高机床性能的一种特殊功能,在类似工件的加工中巧用宏程序将起到事半功倍的效果。宏程序可适用于椭圆、双曲线和抛物线等现今没有插补指令的非圆曲线系列零件的编程。
用户宏程序有A、B两类,A类宏程序是以G65 Hm P#i Q#j R#k的格式输入的,而B类宏程序则是以直接的公式和语言输入的,类似于C语言。GSK980TD 数控车床中使用的是A类宏程序,它的一般格式为:
G65 Hm P#i Q#j R#k
m:01~99表示运算命令或转移命令功能;
#i:存入运算结果的变量名;
#j:进行运算的变量名1,也可以是常数。常数直接表示,不带#,单位为微米,编程时需乘以1000,转变为毫米;
#k:进行运算的变量名2,也可以是常数。常数直接表示,不带#,单位为微米,编程时需乘以1000,转变为毫米;
指令意义:#i=#jA#k(注:A为运算符号,由Hm决定),具体定义看附录宏指令表。
![96503a1d6b5c604dc5d74464fbd5b204.png](https://i-blog.csdnimg.cn/blog_migrate/09ff752d7eadd03d49e2f630091ea4cc.jpeg)
三、车削原理
根据椭圆的参数方程,将其中的一个参数自变量(如)在它的定义域内从一个值域以一定的插补步进距离(如=1°)逐步向另一个值域变化,从而求出椭圆上任意一点的坐标值,然后用直线插补G01进行拟合加工。
要使车出的曲线为椭圆,即刀尖的运动轨迹必须沿椭圆曲线,根据切削的椭圆轮廓曲线段从起点运动到终点。如图2所示,从起点(X0、Z40)加工到终点(X48、Z0)时,角度变化是从0°变化到90°。这样就可设角度为变量进行加工。
四、编程实例
以图2为例,在数控车床(GSK980TD系统)上,用A类宏程序进行编程加工椭圆。椭圆Z向长半轴为40,X向短半轴为24。工件材料为45#钢,毛坯直径为φ50mm,长100mm,棒料。
1、右半椭圆精加工程序(工件编程原点设在椭圆的中心处):
O0001;
G00 X100 Z100;
M03 S1300;
T0101;
G00 X0 Z3;
G01 Z0 F100;
G65 H01 P#200 Q0000; // 赋值#200=0,椭圆起始角度为0°
N70 G65 H31 P#204 Q48000 R#200;// #204=48*sin(#200),X向坐标值,车床X向为直径量
G65 H32 P#205 Q40000 R#200; // #205=40*cos(#200),Z向坐标值G01 X#204 Z#205 F100;//直线插补拟合
G65 H02 P#200 Q#200 R1000 ; // #200= #200+1,角度每次增加1°G65 H86 P70 Q#200 R90000;//判断变量#200是否小于或等于90°,是则跳转至顺序段N70,否则顺序执行
G00 X100;
Z100 T0100;
M30;
2、采用分层切削加工右半椭圆(粗加工+精加工,工件编程原点设在椭圆的最右端处)
O0002;
G00 X100 Z100;//粗加工
M03 S650;
T0202;
G00 X50 Z3;
G01 Z1 F120;
G65 H01 P#201 Q48500;//赋值#201=48.5
N70 G65 H01 P#200 Q0000;// 赋值#200=0,椭圆起始角度为0°N80 G65 H31 P#204 Q48000 R#200; // #204=48*sin(#200),车床X向为直径量
G65 H02 P#204 Q#204 R#201;//#204=#204+#201,把开始切削点向直径外偏移出来
G65 H32 P#205 Q40000 R#200; // #205=40*cos(#200)
G65 H03 P#205 Q#205 R39900 ;// 把Z向的开始切削点移到Z=0.1处(Z 向留0.1的加工余量)
G01 X#204 Z#205 ;//直线插补拟合
G65 H02 P#200 Q#200 R5000; // #200=#200+5,增加5°
G65 H86 P80 Q#200 R85000 ; //判断角度是否小于或等于85°,是则跳转至顺序段N80,否则顺序执行(不加工到90°是让X向留有精加工余量)G00 X50 Z1;//新一层加工定位点
G00 X#201; //避免加工到后面时,进刀太慢
G65 H03 P#201 Q#201 R1500;//X向进刀,准备下一层加工
G65 H85 P70 Q#201 R0000; //判断X向的值是否大于或等于0,是则跳转至顺序段N70,否则顺序执行
G00 X100 Z100;
M05;
M00; //停车看粗加工的情况。
M03 S1600;//精加工
T0101;
G00 X0 Z3;
G01 Z0 F100;
G65 H01 P#200 Q0000; // 赋值#200=0,椭圆起始角度0°
N90 G65 H31 P#204 Q48000 R#200;// #204=48*sin(#200),车床X向为直径量
G65 H32 P#205 Q40000 R#200; // #205=40*cos(#200)
G65 H03 P#205 Q#205 R40000 ; //在Z=0处开始加工,即工件原点在椭圆的最右端处
G01 X#204 Z#205;
G65 H02 P#200 Q#200 R1000;// #200= #200+1,角度每次增加1°
G65 H86 P90 Q#200 R90000;//判断变量#200是否小于或等于90°,是则跳转至顺序段N90,否则顺序执行
G00 X100;
Z100 T0100;
M30;
上述编程中,把离心角设为变量#200,其起始角度为0°,终止角为90°。粗加工时,变量#200每次增加5°,精加工时变量#200每次增加1°。在采用分层切削时,把开始切削点向直径外偏移出来,偏移量设为另一个变量#201,偏移量为X向的最大切削余量50mm(毛坯直径为φ50mm),加工时每次的吃刀量为1.5mm(直径值),所以变量#201的初始值设为48.5mm。在同一层切削时,通过控制角度变量#200(由0°到85°)来完成,而完成同一层切削后,把偏移量变量#201减少1.5mm准备新一层切削,直到偏移量变量#201=0,从而实现椭圆的分层切削。
另外,当椭圆相对于X轴或Z轴有偏心距e时,在计算X或Z的坐标值时就需在X或Z向加上一个偏心距值,其余不变。如上例中,工件坐标系的原点设在椭圆的最右端时,椭圆的中心在Z向相对于工件坐标系就有一偏心距40mm,所以应在“G65 H32 P#205 Q40000 R#200”句后加上“G65 H03 P#205 Q#205
R40000”这句(椭圆中心在工件坐标系的左边,所以应为负,即用H03相减)。如果X向有偏心距e(直径值),则在“G65 H31 P#204 Q48000 R#200”句后加上“G65 H02 P#205 Q#205 Re”。
结束语:
宏程序的应用可以在数控车削中进行非圆曲线的插补,弥补了数控车削系统中没有非圆曲线插补功能这一不足。编制程序时,可参照其数学公式、微分方程等有关知识,使编程计算大大简化,程序的可读性强,易于检查,提高了编程效率,从而充分发挥数控机床的内在潜力,提高加工效率和质量。实践证明,上述方法能高效、准确地加工出椭圆的轮廓。最后,本人想提一提的是,在实际加工中,我们会遇到椭圆的形状为凸弧和凹弧这两种情况。在计算椭圆起始角和终止角时,只需分析工件图纸的上半部分椭圆弧,并且当为凸弧(如上述例子)时,
x=2bsin+e(0°≤≤180°),z=acos+e(0°≤≤180°);当为凹弧时,x=2bsin+e(180°≤≤270°),z=acos+e(180°≤≤270°)。