- 從零開始學數控編程與操作
- 徐衡編著
- 2409字
- 2021-12-23 10:02:05
3.2 數控車削宏程序應用
宏程序允許用變量編程進行數學計算和邏輯運算,所以能夠用于非圓曲線?(如橢圓、拋物線等)的加工編程,完成普通程序無法實現的特殊功能,例如,用于加工系列零件的宏程序、用于加工橢圓表面的宏程序、用于加工拋物線表面的宏程序等。
3.2.1 加工系列零件宏程序
系列零件指形狀相同,加工過程也相同,只是部分尺寸不同的一類零件,例如系列孔系零件等,如果將系列零件中的不同尺寸用宏變量表示,利用宏程序可以編出加工某種系列零件的通用程序。
例3?3:某系列零件如圖3?8所示,零件右端面半球球徑R可在10~20mm范圍內取系列數據,將球半徑R用變量#1表示,編程原點設在工件右端面中心,毛坯直徑?45mm。從圖中可以看出編程所需B、C點均與球徑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所示,數控坐標軸是橢圓的對稱軸,原點是對稱中心。對稱中心叫做橢圓中心。圖中,a、b分別為橢圓的長半軸和短半軸的長,橢圓和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+1←Xn+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;