史衛朝, 張猛
(1.西安理工大學,西安 710082;2;西安應用光學研究所,西安 710065)
隨著工業產品的不斷發展,數控車削中經常遇到雙曲線輪廓。在數控加工中,對于復雜輪廓的程序,一般采用自動編程實現,但由于編程軟件生成的雙曲線輪廓程序長、不易修改、難以控制加工精度,因此編程人員只能花費大量時間手工編寫雙曲線程序,編寫效率低。
我們根據雙曲線輪廓參數方程,采用華中系統為用戶配置的高級編程語言,結合數控插補原理,編寫了雙曲線輪廓的“插補指令”及源代碼程序[1],不僅減少了程序段數目,而且控制了加工精度。編程人員根據雙曲線輪廓的尺寸,設定“插補指令”參數,便可獲得雙曲線輪廓的數控加工程序。
所謂“插補”是指數控系統根據曲線起點和終點的坐標,運用特定的數學算法,自動地在起點與終點之間生成一系列的坐標數據,即數據點的密化處理。插補運算的任務就是要以最簡單的數學計算方法,用微小的直線段去逼近工件的成形輪廓[2]。數控系統中,一般都有直線和圓弧插補功能,而雙曲線等特殊輪廓的插補功能需要編程人員根據數控系統的語言構建。
下面將根據華中系統的編程原則及雙曲線輪廓的特點,實現雙曲線輪廓“插補”功能。
首先確定數控加工的雙曲線方程一般為:

其曲線圖如圖1所示。

圖1 雙曲線示意圖
以雙曲線焦點位置不同,分兩種情況討論雙曲線參數方程[3]:
1)當焦點在x軸時,以雙曲線方程中的Z為自變量,X為因變量,參數方程為:

其中:a為實半軸長;b為虛半軸長;x0和z0為雙曲線中心點坐標。
2)當焦點在z軸時,以雙曲線方程中的以X為自變量,Z為因變量,參數方程為:

方程中的參數含義同式(2)一致。
華中系統G代碼調用子程序時,系統會將當前程序段的內容拷貝到子程序執行時的局部變量#0~#25中,同時拷貝當前通道軸的絕對位置(機床絕對坐標)到子程序執行時的局部變量#30~#38。插補計算程序中的局部變量對應著插補指令的地址符,編程人員按字符含義為地址符賦值,插補計算程序中的局部變量也會得到相應數值。表1為雙曲線輪廓插補計算時需要設置的參數。
根據數控插補原理規定,插補運算之前應給定插補曲線起點和終點的坐標值、雙曲線實軸和虛軸長度、中心點坐標值、自變量增加值等。自變量增加值的大小決定工件表面質量及加工精度,雙曲線插補運算具體流程圖如圖2 所示。

表1 雙曲線插補變量參數定義及處理

圖2 雙曲線插補流程圖
1)當焦點在x軸時,雙曲線輪廓的插補計算程序如下:
%9999
IF[#12]EQ[#13]M99
ENDIF
IF[#12*#13]LT 0
M99
ENDIF
IF#12 GT#13 ;走刀方向判斷
#14=-#14
ENDIF
#3=#12 ;雙曲線起點Z坐標
#3=#3+#16 ;雙曲線Z方向中間點位置偏移
#4=(#0/#1)*SQRT[#1*#1+#3*#3];雙曲線 X 方向中間點計算
WHILE ABS[#12]NE ABS[#13] ;用步長#14段小直線逼近雙曲線
IF ABS[#13-#12]LE ABS[#14] ;終點判別
#12=#13
ELSE
#12=#12+#14 ;自變量增加
ENDIF
#5=#12
#5=#5+#16
#6=(#0/#1)*SQRT[#1*#1+#6*#6]
G91 G01 U[2*[#6-#4]]W[#5-#3] ;采用增量方式直線走刀
#12=#12 ;坐標點替換
ENDW
M99
2)當焦點在Z軸時,雙曲線輪廓的插補計算程序如下:
%9998
IF[#12]EQ[#13]M99
ENDIF
IF[#12*#13]LT 0
M99
ENDIF
IF#12 GT#13 ;走刀方向判斷
#14=-#14
ENDIF
#3=#12 ;雙曲線起點X坐標
#4=(#0/#1)*SQRT[#1*#1+#3*#3] ;雙曲線Z方向中間點計算
#4=#4+#16 ;雙曲線Z方向中間點位置偏移
WHILE ABS[#12]NE ABS[#13] ;用步長#14段小直線逼近雙曲線
IF ABS[#13-#12]LE ABS[#14] ;終點判別
#12=#13
ELSE
#12=#12+#14 ;自變量增加
ENDIF
#5=#12
#6=(#0/#1)*SQRT[#1*#1+#6*#6]
#6=#6+#16
G91 G01 U[2*[#5-#3]]W[#6-#4];采用增量方式直線走刀
#12=#12 坐標點替換
ENDW
M99
指令格式:
M98__P__M__N__O__Q__A__B__;
其中:M98為調用程序;P為雙曲線插補計算程序名稱;M為雙曲線起點X或Z坐標值;N為雙曲線終點X或Z坐標值;O為自變量增加值;Q為雙曲線中心點X或Z坐標值;A為實軸長度;B為虛軸長度。

圖3 加工零件圖
在華中數控車床上加工如圖3所示的零件[4],采用尺寸為φ32 mm×70 mm的鋁毛坯,工件坐標系原點設置在工件右端面與軸線交點處,雙曲線中心點的坐標為(X0,Z-29.5),起點坐標為(X30,Z-15),終點坐標為(X30,Z-44)。
加工程序:
T0101
M03 S700 ;主軸正轉,轉速700r/min G00 X35 Z5 ;刀具到達加工起點
G01 X30 ;刀具到達加工輪廓位置
Z-63 ;車削外輪廓
G00 X32 Z-15 ;刀具到達雙曲線起點
M98 P9999 M-15 N-44 O0.5
Q-29.5 A10 B13 ;加工雙曲線輪廓
G90 G00 X100 Z100 ;退刀
M02 ;程序結束。
工件加工后的效果見圖4所示,測量后發現,零件實際尺寸與要求尺寸一致,這表明構建的雙曲線輪廓“插補指令”是正確的。

圖4 工件加工后的效果圖
本文采用插補思想,使用華中系統高級編程語言編寫了雙曲線輪廓的“插補指令”,提高了編程效率。該指令具有以下特點:
1)簡潔易讀,編程者編寫雙曲線程序時,不必讀懂雙曲線插補代碼,僅需根據雙曲線的尺寸對“插補指令”中的參數賦值。
2)可控制加工精度,工件的加工精度與插補代碼中的自變量增加值大小有關,增加值越小,加工精度越高,但也會增加計算量。
3)適用性強,編程人員使用雙曲線“插補指令”時,根據雙曲線焦點的位置,調用對應的雙曲線插補計算程序,便可完成雙曲線加工程序的編寫。
[1] 呼剛義,劉振.基于華中數控車宏程序的橢圓輪廓“插補指令”構建與實現[J].制造業自動化,2012,34(9):35-36.
[1] 姬清華.數控原理與應用[M].北京:北京理工大學出版社,2007.
[1] 關穎.基于FANUC系統的雙曲線宏程序編制與加工解析[J].機床與液壓,2012,40(8):59-60.
[4] 關雄飛.數控加工工藝與編程[M].北京:機械工業出版社,2011.