黃佳琪,胡曉軍,徐云杰,盧辰杰
(湖州師范學(xué)院 工學(xué)院,浙江 湖州 313000)
隨著現(xiàn)代化產(chǎn)品對制孔直徑、制孔質(zhì)量和制孔效率要求的不斷提高,傳統(tǒng)孔加工方法由于受刀具尺寸或加工原理的限制,已無法完全滿足制孔要求.螺旋銑孔刀具的運動軌跡為螺旋線,其加工孔徑不受刀具尺寸的限制,且按維度可以分為二維螺旋銑孔和三維螺旋銑孔.二維螺旋銑孔常用于大直徑的深孔分層銑削粗加工,運用該加工方式,刀具受力均勻、工件毛刺較少、加工效率較高;三維螺旋銑孔是刀具做切鉆復(fù)合運動的切削過程(自轉(zhuǎn)、公轉(zhuǎn)、軸向進給復(fù)合運動)[1],具有刀具切削力小、磨損小、加工表面光滑等優(yōu)點,常用于孔的粗加工和半精加工[2].相對鉆孔加工,采用螺旋銑孔進行加工,其刀具所受的切削力和刀具磨損度更小,加工質(zhì)量和加工效率更高.
目前,國內(nèi)主流的數(shù)控操作系統(tǒng)有西門子、法蘭克、三菱等,但其并未提供螺旋銑孔人機操作界面及循環(huán)指令.國內(nèi)外學(xué)者主要借助專用的CAM軟件(該類軟件需花費大量的時間學(xué)習(xí),且對編程人員的技能水平要求較高)生成螺旋刀具路徑,然后對刀具路徑下游處理生成G代碼,最后傳輸至機床進行螺旋銑孔加工.其研究重點為螺旋銑孔的切削力分析、表面質(zhì)量優(yōu)化等[2-3],對數(shù)控系統(tǒng)的螺旋銑孔二次開發(fā)研究較少.
SinuTrain是由西門子公司開發(fā)的數(shù)控機床模擬軟件,具有與真實數(shù)控機床一致的操作界面和系統(tǒng)內(nèi)核,并能提供靈活的二次開發(fā)方法和工具[4-6].本文以SinuTrain為軟件平臺,對螺旋銑孔HMI和螺旋銑孔循環(huán)指令進行二次開發(fā),并利用該循環(huán)指令編制程序進行仿真實驗.該編程方法的編程效率和程序加工精度較高,對編程人員的技術(shù)水平要求較低,不易出現(xiàn)人為失誤.
西門子公司為用戶提供擴展用戶接口編程、HMI 編程包編程和WinCC Flexible 編程3種人機界面開發(fā)方法[6],每種方法的特點如表1所示.為兼顧編程效率和二次開發(fā)的經(jīng)濟性,本研究采用擴展用戶接口方式完成二次開發(fā)任務(wù).
表1 3種界面開發(fā)方法的特點比較
SinuTrain相關(guān)界面系統(tǒng)配置文件主要存儲在軟件安裝目錄user、oem、siemens 3個文件夾下,且三者的優(yōu)先級依次降低.螺旋銑孔HMI開發(fā)主要通過命令、變量、函數(shù)運算等,實現(xiàn)人機交互、參數(shù)輸入、圖形顯示、代碼編譯等功能[7].
定義程序界面水平第5個軟鍵為“Helical milling”按鈕,點擊該按鈕觸發(fā)螺旋銑孔界面加載,加載程序代碼為:LM("LXXK").在界面加載時,需定義界面名稱和界面實例圖片,代碼為://M{LXXK, hd = "螺旋銑孔", hlp="pmlx.png"}.
螺旋銑孔編程需向系統(tǒng)提供參考高度、安全高度、刀具進給速度、加工類型、銑削方式、制孔中心坐標(biāo)、制孔起始高度、制孔直徑、制孔深度、刀具XY向步距、刀具Z向步距、粗加工側(cè)壁余量、粗加工底部余量、刀具直徑、螺距等參數(shù).以上參數(shù)需使用“DEF”語句定義,部分代碼為:DEF VARA2={TYP="r3",wr=2,st="SC",TXT_x=370,TXT_w=30,x=400,w=90}.此外,定義輸入框下拉菜單、鼠標(biāo)停放提示、數(shù)據(jù)單位等,還需對“TGL”“TT”“LINK_TGL”等參數(shù)進行相應(yīng)設(shè)置.
編程時,在完成螺旋銑孔參數(shù)設(shè)置后,為將對應(yīng)界面的軟鍵控制參數(shù)輸入數(shù)控系統(tǒng)并返回主界面,還需定義“確定”和“退出”兩個軟鍵,部分代碼為:VS7=(SOFTKEY_OK,ac7,se1).
螺旋銑孔依據(jù)其走刀路徑的不同,可分為二維螺旋銑孔和三維螺旋銑孔.不同的加工方式需輸入的參數(shù)和示例圖片存在差異.為減輕編程工作量,避免出現(xiàn)人為失誤,當(dāng)采用二維螺旋銑孔時,界面需自動隱藏與其無關(guān)的變量,當(dāng)采用三維螺旋銑孔時亦是如此.為實現(xiàn)上述功能,當(dāng)改變銑削類型時,需使用“change”指令改變對應(yīng)變量的“WR”屬性,以實現(xiàn)變量的隱藏和顯示,部分代碼為:
change(VARA24)
IF VARA24.VAL==1
VARA10.WR=4
....
ELSE
VARA10.WR=2
....
ENDIF
end_change
在完成參數(shù)設(shè)置后,需用“OUTPUT”指令完成NC程序變量的輸出,并通過“確認(rèn)”軟鍵觸發(fā)NC代碼自動編譯,并加載至銑削主程序,代碼為:GC("CODE1").
通過上述流程,完成螺旋銑孔HMI的二次開發(fā),結(jié)果見圖1.
圖1 螺旋銑孔HMI
螺旋銑孔固定循環(huán)指令的二次開發(fā)需在“系統(tǒng)數(shù)據(jù)”的“用戶循環(huán)”界面進行.根據(jù)加工工藝要求,編制參數(shù)化子程序.螺旋銑孔固定循環(huán)指令程序框架代碼為:
PROC CYCLE996(REAL YL_RP,...)SAVE SBLOF DISPLOF ;指令聲明
DEF REAL DDXY,...;變量定義
G90 G17
G0 Z100
IF YL_XL==0
.... ;二維螺旋銑孔代碼
ELSE
.... ;三維螺旋銑孔代碼
ENDIF
M17 ;子程序結(jié)束返回主程序
二維螺旋銑孔是指刀具按用戶需求在XY平面進行平面螺旋運動.為降低編程復(fù)雜度,提高運算效率,平面螺旋刀具路徑需由多個相切的半圓組成.刀具路徑規(guī)劃如圖2所示.外側(cè)圓環(huán)為孔的輪廓特征,圓環(huán)中心與工件坐標(biāo)系在XY平面的原點重合;內(nèi)部螺旋線為平面螺旋銑削刀具路徑.
圖2 二維螺旋銑孔刀具路徑規(guī)劃
在進行平面螺旋粗加工時,直徑方向所需去除的毛坯量為:
D1=D-2Uxy-?0,
(1)
其中,D1為粗加工直徑方向毛坯去除總量,D為待加工孔標(biāo)注直徑,Uxy為側(cè)壁精加工余量,?0為刀具直徑.
粗加工螺旋線所需半圓數(shù)量為:
(2)
其中,N為粗加工螺旋線所需半圓數(shù)量,Dxy為用戶設(shè)置XY方向加工步距;Roundup代表上取整運算.
實際加工步距為:
(3)
由圖2可知,螺旋線第一段圓弧起點和終點均與Y軸重合,該圓弧Y方向起點坐標(biāo)YS1、終點坐標(biāo)YZ1和圓弧半徑R1分別為:
(4)
(5)
(6)
通過以上公式類推,可得第N段圓弧Y方向的起點坐標(biāo)YSn、終點坐標(biāo)和YZn圓弧半徑Rn分別為:
(7)
(8)
(9)
通過上述計算,可確定螺旋線各關(guān)鍵點坐標(biāo)和各圓弧半徑.通過“FOR”循環(huán)語句配合G02/G03插補指令,即可完成二維螺旋銑孔參數(shù)化程序開發(fā).部分程序代碼為:
FOR YK_NXY= 0 TO IINXY1-2
XHJS1=-XHJS1
G2
Y=YL_Y0+XHJS1*(YK_YX1+2*YK_YX1*(YK_NXY+1))I=AC(YL_X0)J=AC(XHJS1*YK_YX1+YL_Y0) F=YL_F
ENDFOR
如圖2所示,當(dāng)?shù)毒哐芈菪€加工至終點時,孔壁精加工余量不均勻.為解決上述問題,刀具需要以平面螺旋線的終點為起始點,以工件坐標(biāo)系為圓心,沿刀具運動方向走一個整圓軌跡.
三維螺旋銑孔不僅要求刀具沿著XY平面銑圓,還要沿著Z方向做進給運動,刀具中心的運動軌跡呈空間螺旋線分布[8].首先沿Z方向?qū)⒙菪€拆分成多個單螺距螺旋線,然后將單螺距螺旋線在XY方向拆分成360段短直線,最后通過三角函數(shù)計算各線段的空間坐標(biāo)值,并通過直線插補方式完成切削.其具體開發(fā)流程與二維螺旋銑孔開發(fā)過程類似,部分開發(fā)代碼為:
FOR NLXDZ=0 TO NLXDZ1-1
FOR LXJD= 0 TO 360
G1 X=YL_X0+LXRR*COS(LXJD) Y=YL_Y0-LXRR*SIN(LXJD)
Z=YL_Z0-(NLXDZ+LXJD/360)*YL_25
ENDFOR
ENDFOR
利用二維螺旋銑削固定循環(huán),在長為100 mm、寬為100 mm、高為100 mm的方塊中心,銑削直徑為60 mm、深度為5 mm的孔.在程序編輯界面,點擊“Helical milling”進入?yún)?shù)編輯界面,設(shè)置的銑削方式為“平面式”,圓心坐標(biāo)為(0,0,0),XY方向步距為刀具直徑的40%,每刀切削深度為1 mm,側(cè)壁精加工余量為0.2 mm,Z向精加工余量為0,刀具直徑為10 mm.在程序編寫完畢后,點擊“模擬”按鈕進行仿真驗證,結(jié)果如圖3所示.刀具按照平面螺旋方式分5層完成孔的切削.在粗加工完成后,刀具Y坐標(biāo)顯示為 24.80 mm(模擬時,在設(shè)置輪廓加工結(jié)束后,XY方向停留在加工結(jié)束位置,Z方向直接抬刀).因刀具直徑為10 mm,此時在Y軸正方向,刀具輪廓距孔中心最遠處的坐標(biāo)值應(yīng)為29.80 mm,與設(shè)置的側(cè)壁精加工余量一致.
圖3 二維螺旋銑孔仿真
利用三維螺旋銑孔固定循環(huán),在長為40 mm、寬為40 mm、高為30 mm的方塊中心,銑削直徑為 16 mm、深度為4 mm的孔.設(shè)置圓心坐標(biāo)為(0,0,0),側(cè)壁精加工余量為0.2 mm,Z向精加工余量為0,刀具直徑為10 mm,并進行仿真驗證,結(jié)果如圖4所示.刀具中心按照空間螺旋線方式完成孔的切削,且在粗加工完成后刀具X坐標(biāo)值為2.80 mm.在X軸方向,刀具輪廓距孔中心最遠處坐標(biāo)值應(yīng)為7.80 mm,與設(shè)置的側(cè)壁精加工余量一致.
圖4 三維螺旋銑孔仿真
本文以SinuTrain軟件為平臺,在建立的數(shù)控銑床虛擬樣機中分別完成螺旋銑孔HMI的設(shè)計和螺旋銑孔固定循環(huán)指令的二次開發(fā),并運用螺旋銑孔固定循環(huán)指令編程進行孔加工仿真實驗.在螺旋銑孔界面輸入的實驗參數(shù)可正確傳遞至螺旋銑孔參數(shù)化程序中,數(shù)控系統(tǒng)可穩(wěn)定運行螺旋銑孔參數(shù)化程序,完成孔的粗、精加工,并達到預(yù)期的精度要求.通過對螺旋銑孔的二次開發(fā),無須借助專用的CAM軟件,即可完成螺旋銑孔復(fù)雜路徑的手工編程[9],從而減少加工過程中的誤操作,降低編程人員的勞動強度.