从零开始学数控编程与操作
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2 数控车削宏程序应用

宏程序允许用变量编程进行数学计算和逻辑运算,所以能够用于非圆曲线 (如椭圆、抛物线等)的加工编程,完成普通程序无法实现的特殊功能,例如,用于加工系列零件的宏程序、用于加工椭圆表面的宏程序、用于加工抛物线表面的宏程序等。

3.2.1 加工系列零件宏程序

系列零件指形状相同,加工过程也相同,只是部分尺寸不同的一类零件,例如系列孔系零件等,如果将系列零件中的不同尺寸用宏变量表示,利用宏程序可以编出加工某种系列零件的通用程序。

例3⁃3:某系列零件如图3⁃8所示,零件右端面半球球径R可在10~20mm范围内取系列数据,将球半径R用变量#1表示,编程原点设在工件右端面中心,毛坯直径ϕ45mm。从图中可以看出编程所需BC点均与球径R相关,零件表面各基点坐标如表3⁃4所示。

图3⁃8 系列零件示例

表3⁃4 图3⁃8零件尺寸mm

解:粗车本系列外圆宏程序中设半径R=10mm,R的取值在10mm<R<20mm范围的相同形状的系列零件,都可以用本程序粗车。

粗车削宏程序如下。        

O5200;  宏程序号

T0101 M03 S800;  换刀,启动主轴

G54 G98 G40;  设定工件坐标系

G00 X100.0 Z100.0;  定位于程序起点

G00 X42.0 Z5.0;  定位于切削起点

G71 U2.0 R1.0;  切外圆循环,完成粗车

G71 P10 Q20 U0.5 W0 F150.;

N10 G00 X0;  定位到精车起点(N10~N20是精车轨迹)

G01 X0 F0.1;  进刀切削到A

#1=10.;  变量#1赋值(即半径取值)

G03 X[2 *#1] Z⁃#1 R#1;  车球面AB

G01 Z⁃[60⁃2 *(40⁃2 *#1)];  车圆柱面(母线BC)

G01 X40. Z⁃60.;  车圆锥(母线CD)

N20 G01 Z⁃90.;  车圆柱面DE(精车轨迹结束段)

G00 X100.;  快速退刀

Z100.;  回到程序起点

M05;  主轴停

M30;  程序结束

3.2.2 加工椭圆表面宏程序

编制非圆曲面类的宏程序有两个要点,即建立数学模型和循环体。数学模型由零件轮廓的曲面方程转化而来,用于计算出曲面上每一点的坐标,从而生成刀具轨迹节点。循环体由循环指令和对应的加法器组成,作用是将一组节点顺序连接成刀具轨迹,依次加工成曲面。下面以椭圆曲线为例说明。

(1)椭圆曲线数学知识

椭圆如图3⁃9所示,数控坐标轴是椭圆的对称轴,原点是对称中心。对称中心叫做椭圆中心。图中,ab分别为椭圆的长半轴和短半轴的长,椭圆和X轴、Z轴的四个交点叫椭圆顶点。

图3⁃9 ZX坐标轴上的椭圆

图3⁃9所示坐标系中椭圆标准方程:

+=1 (a为长半轴的长,b为短半轴的长,a>b>0)

可导出:X×(3⁃1)

Z×(3⁃2)

设椭圆上某点P(z,x),在宏程序中设变量#1为椭圆上P点的Z坐标值,变量#2为P点的X坐标值,根据公式(3⁃1),X坐标值的宏程序表达式为:

#2=b/a×SQRT[[a×a]-[#1×#1]] (只用正值)(3⁃3)

(2)用直线拟合非圆曲线

数控加工椭圆曲线的方法是把椭圆曲线分成若干小段,用直线插补加工曲线上一小段,这些诸多直线段拟合成椭圆曲线。具体作法如图3⁃10所示,在椭圆曲线上按Z轴每间距小距离(如0.1mm)取一个点。间距越小,拟合精度越高,通常间距可取0.1~0.5mm。 

① 先确定曲线上点的Z坐标值。Z轴上每间距0.1mm取一个点,相邻点的Z坐标递减0.1mm,由前一个点Pn(xn,zn),计算Pn+1(xn+1,zn+1)点的Z坐标关系式:Zn+1􀲓Zn-0.1。用变量#1表示Z坐标的宏程序表达式为:#1=#1-0.1。

② 算出曲线上该点的X坐标值。以Z轴坐标(#1)为自变量,X轴坐标(#2)为变量,根据表达式(3⁃3)计算出曲线上该点的X坐标值。

③ 运行程序:“G01 X[2*#2] Z[#1];”,完成切割小段直线。

循环体:循环运行上述①~③程序过程,用诸多直线段拟合成规定的椭圆曲线段,如图3⁃10所示。

图3⁃10 用直线拟合椭圆曲线

例3⁃4:车削图3⁃11所示工件,编写宏程序。

图3⁃11 具有椭圆表面的零件

解:#1为椭圆曲线公式中的Z值,初始值为19,终值为0。#2为椭圆曲线公式中的X值,初始值为0。图3⁃11所示坐标系与标准方程坐标系(图3⁃9)比较,原点沿Z轴负向平移a距离,所以图3⁃11工件坐标系中某点Z坐标值为:(#1-a)。宏程序变量分配如表3⁃5所示。

表3⁃5 宏程序变量分配

图3⁃11右半个椭圆面宏程序组成框图如图3⁃12所示。

宏程序如下。             

O0600

G54 X100.0 Z100.0;  设定工件原点在右端面,定位到换刀点

T0101 S500 M03;  换刀,换刀T01,设定位置补偿,刀补号01

G99 G97 G21;

G50 S1000;

G96 S120;

G00 X53.0 Z5.0 M08;  定位到循环始点

G73 U21 W1.0 R19.0;  粗车循环

G73 P10 Q20 U0.5 W0.1 F0.2;  N10~N20为精车轨迹程序段

N10 G00 X0 S1000;

G42 G01 Z0 F0.08;  Z向切入,建立刀具半径有补偿

#1=19.0;  设Z变量初值为19mm

#2=0;  X变量初值为0

WHILE [#1 GE 0] DO1;  Z≥0运行DO~END间程序,Z<0转到END后

#2=13/19 *SQRT[[19 *19]⁃[#1 *#1]]  计算X坐标(半径值)

G01 X[2 *#2] Z[#1⁃19.0] F0.1;  直径编程,用直线拟合椭圆曲线

#1=#1⁃0.1;  Z变量每次按0.1递减

END1;  循环体结束

X36.0 Z⁃29.0;  车锥面

Z⁃46.0;  车直径ϕ46mm

X44.0;  车台阶面

X46.0 Z⁃47.0;  倒角“C1”

Z⁃55.0;  车圆柱ϕ46mm

N20 G40 X52.0;  X向切出,取消刀具半径补偿

G70 P10 Q20;  精车循环(取出精车余量)

G00 X100.0 Z100.0;  返回换刀点

T0100 M05;  取消刀具位置补偿

M30;  程序结束

图3⁃12 车椭圆宏程序组成框图

例3⁃5:车削图3⁃13所示工件,编写宏程序。

图3⁃13 工件

解:#1为椭圆曲线公式中的Z值,初始值为12.5,终值为-12.5。#2为椭圆曲线公式中的X值,初始值设为0,由于是车凹椭圆面,#2计算后取负值。图3⁃13所示坐标系与图3⁃9的标准方程坐标系比较,坐标原点沿X轴正向平移20mm距离,沿Z轴负向平移21mm距离,所以图3⁃13工件坐标系中椭圆上某点坐标X:(2×#2+40),Z:(#1-21)。宏程序变量分配如表3⁃6所示。

表3⁃6 宏程序变量分配

程序如下。

O0600;

G54 X100.0 Z100.0;  设定工件原点在右端面,定位到换刀点

T0101 S500 M03;  换刀,换刀T01,设定位置补偿,刀补号01

G99 G97 G21;

G50 S1000;

G96 S120;

G00 X53.0 Z5.0 M08;  定位到循环始点

G73 U21 W1.0 R19.0;  粗车循环

G73 P10 Q20 U0.5 W0.1 F0.2;  N10~N20为精车轨迹程序段

N10 G00 X0 S1000;  定位

G42 G01 Z0 F0.08;  Z向切入,建立刀具半径有补偿

X30.0;  车端面

Z⁃8.5;  车直径ϕ30mm

#1=12.5;  设Z变量初值为12.5mm

#2=0;  X变量初值为0

WHILE [#1 GE [-12.5]] DO1;  Z≥-12.5运行循环体程序,Z<-12.5转到END后

#2=8/16 *SQRT[[16 *16]-[#1 *#1]]  计算X坐标(半径值)

#2=⁃[#2]  车凹椭圆面,取负值

G01 X[2 *#2+40.0] Z[#1⁃21.0] F0.1;  直径编程,用直线拟合椭圆曲线

#1=#1⁃0.5;  Z变量每次按“0.5”递减

END1;  循环体结束

Z⁃42.0;  车直径ϕ44mm

X40.0;  车台阶面

Z⁃65.0;  车圆柱ϕ44mm

N20 G40 X50.0;  X向切出,取消刀具半径补偿

G70 P10 Q20;  精车循环(取出精车余量)

G00 X100.0 Z100.0;  返回换刀点

M05;  主轴停

M30;  程序结束

3.2.3 加工抛物线表面宏程序

例3⁃6:车削图3⁃14所示工件的抛物线表面,编写宏程序。

图3⁃14 具有抛物线表面零件

解:

(1)数学模型

如图3⁃15所示,标准抛物线方程:

X2=±2PZ,即Z(3⁃4)

(2)用直线拟合非圆曲线

数控加工抛物线的方法是把抛物线分成若干小段,用直线插补加工曲线上一小段,这些直线段拟合成抛物线,如图3⁃15所示,在抛物线上按X轴每间距小距离(如1mm)取一个点。间距越小,拟合精度越高。

图3⁃15 抛物线方程

① 先确定曲线上点的X坐标值。X轴上每间距1mm取一个点,相邻点的X坐标递增1mm,由曲线上前一个点Pn(xn,zn),计算下一点Pn+1(xn+1,zn+1)的X坐标关系式:Xn+1Xn+1。用变量#24表示X坐标的宏程序表达式为:#24=#24+1。

② 算出曲线上该点的Z坐标值。以X轴坐标(#24)为自变量,Z轴坐标(#26)为变量,根据Z=-[式(3⁃4)取负值],宏程序表达式为:#26=[#24×#24]/#17,计算出曲线上该点的Z坐标值。

③ 执行程序:“G01 X[2×#24] Z#26 F[#9];”,切割小段直线。通过循环完成整体抛物线加工。

(3)宏程序变量分配

#26为抛物线公式中的Z值,初始值为0。#24为抛物线公式中的X值,初始值为0,终点值为21(#22/2)。宏程序变量分配如表3⁃7所示。

表3⁃7 宏程序变量分配

(4)编写宏程序

车抛物线宏程序组成框图如图3⁃16所示。宏程序中N30~N60为循环体。

图3⁃16 车抛物线宏程序组成框图

宏程序如下。

O0523

M03 S800;

G98;

G00 X90.Z100.;

N10 #24=0;  抛物线顶点处X值

#26=0;  抛物线顶点处Z值

#17=⁃10.;  常量

#22=42.;  抛物线开口处直径

#6=1.;  每次步进量

#9=100.;  进给率

G00 X#24 Z[#26+5.];  定位于加工起点

G01 Z#26 F[2 *#9];  切入工件

N30 #24=#24+#6;  X向递增

#26=[#24 *#24]/#17;  计算Z坐标

G01 X[2 *#24] Z#26 F#9;  切削小段表面

N60 IF [#24 LT #22/2] GOTO30;  如果X值小于开口处直径一半跳转到“30”

G01 X#22 Z#26 F[3 *#9];  退刀

M05;

M30;