呼剛義,關(guān)雄飛
(西安理工大學(xué)高等技術(shù)學(xué)院,西安 710048)
數(shù)控機(jī)床是一種程序控制的自動加工機(jī)床,其加工表面形成運動和輔助動作不需要人的直接參與而是完全按編寫的程序指令進(jìn)行的。根據(jù)零件形狀和工藝需要,編寫適合其加工路徑的數(shù)控程序,是進(jìn)行數(shù)控加工的關(guān)鍵。
常見的數(shù)控機(jī)床所能實現(xiàn)的加工軌跡曲線是直線和圓弧兩種,即機(jī)床具有直線插補和圓弧插補功能。隨著科技的不斷進(jìn)步和工業(yè)產(chǎn)品日益多樣化,加工零件中越來越多出現(xiàn)如橢圓、拋物線、雙曲線和漸開線等特殊輪廓。直接利用直線插補和圓弧插補指令來編寫特殊輪廓加工程序,需要提前計算出所走軌跡的大量中間點,再通過這些中間點形成接近特殊輪廓的逼近線,費時、費力、程序過長、精度沒法保證,甚至難以完成。而針對特殊輪廓曲面構(gòu)建實現(xiàn)插補算法的數(shù)學(xué)模型,并利用宏程序來編程,不但容易而且零件的加工質(zhì)量容易保證。
宏程序編程最大的特點就是在編程中引入變量和算術(shù)、邏輯運算,以及循環(huán)和條件轉(zhuǎn)移等功能,使得特殊輪廓加工編程更容易、更方便。不同的數(shù)控系統(tǒng)其宏程序語言有所不同,例如西門子SINUMERIK系統(tǒng)采用的是R參數(shù)編程,而FANUC系統(tǒng)提供了A類和B類兩類宏程序,其中A類宏程序可讀性差,編寫起來比較費時費力,B類宏程序類似于C語言的編程,編寫起來很方便。不論是何種數(shù)控系統(tǒng)的宏程序,它們運行的效果都是一樣的。本文以華中數(shù)控世紀(jì)星系統(tǒng)其為用戶配備了強有力的類似于高級語言的宏程序橢圓面加工為例,來說明宏程序在特殊輪廓零件數(shù)控編程中的應(yīng)用。
數(shù)控編程中數(shù)值,既可直接指定,也可利用用戶宏程序中的變量指定。當(dāng)用變量時,變量值可用程序或通過MDI面板上的操作進(jìn)行賦值。
變量表達(dá)格式是用變量符號(#)和后面的變量號指定,例如:#1。華中系統(tǒng)提供給編程人員所用的變量范圍為:#0~#599,而#599以上的變量僅供系統(tǒng)程序編輯人員使用。其中#0~#49為當(dāng)前局部變量;#50~#199為全局變量;#200~#249為0層局部變量;#250~#299為1層局部變量;#300~#349為2層局部變量;#350~#399為3層局部變量;#400~#449為4層局部變量;#450~#499為5層局部變量;#500~#549為6層局部變量;#550~#599為7層局部變量。需要說明的是華中世紀(jì)星子程序嵌套調(diào)用的深度最多可以有八層,每一層子程序都有自己獨立的局部變量(變量個數(shù)為50)。比如當(dāng)前層局部變量為#0~#49,緊跟層局部變量為#200~#249,依此類推。
1.2.1 變量的運算
在數(shù)控宏程序中,變量既可以用來進(jìn)行算術(shù)運算,也可作邏輯運算。例如:#2 =175/SQRT[2]*COS[55 * PI/180 ],其中SQRT[2]即求2平方根、 PI為圓周率符號。
1.2.2 條件循環(huán)控制語句
1)條件判別語句
格式 (i) IF (條件表達(dá)式)
語句1;//只有當(dāng)條件表達(dá)式為真命題時,語句1才會被執(zhí)行。
ELSE
語句2;//只有當(dāng)條件表達(dá)式為假命題時,語句2才會被執(zhí)行。
ENDIF
格式(ii) IF 條件表達(dá)式
語句;//只有當(dāng)條件表達(dá)式為真命題時,語句才會被執(zhí)行。
ENDIF
2) 循環(huán)語句
格式 WIIILE (條件表達(dá)式)
語句;//只有當(dāng)條件表達(dá)式為真命題時,
語句會重復(fù)的被執(zhí)行。
ENDW

圖1 實際加工軌跡逼近理論輪廓

圖2 特殊輪廓“插補”流程圖
數(shù)控機(jī)床在切削加工運動中,系統(tǒng)隨時通過當(dāng)前所處的點位置和要求所走軌跡的指令類型如直線或圓弧指令,按照系統(tǒng)內(nèi)部算法,通過當(dāng)前機(jī)床所處的節(jié)點位置插補計算及運動控制走到下一個要到達(dá)的節(jié)點位置,不斷的重復(fù)計算和運動,直至運動到終點位置結(jié)束。可見實際的加工軌跡是和理論輪廓線相似的、誤差在允許范圍內(nèi)的逼近線,如圖1所示。在理想輪廓線上的已知點之間,進(jìn)行數(shù)據(jù)點密化,確定一些中間點的方法,這就是插補。作為常見的數(shù)控系統(tǒng)只具備直線插補和圓弧插補算法,因而對于直線和圓弧兩種軌跡外的特殊輪廓的加工編程,必須在編程前根據(jù)容差要求采用擬合法用直線或圓弧對特殊輪廓進(jìn)行分段逼近并給出相應(yīng)節(jié)點坐標(biāo)或編寫的程序中具有特殊輪廓“插補”算法。后者可以避免擬合法所帶來的復(fù)雜計算問題,并便于控制形狀與尺寸誤差,而且通過宏程序就能很方便地實現(xiàn)。具體做法是:首先,研究特殊輪廓方程,找出一個與曲線有內(nèi)在聯(lián)系的自變量,其在曲線軌跡的起點和終點有兩個一一對應(yīng)的數(shù)值比如m和n,構(gòu)建一個數(shù)學(xué)模型即特殊輪廓“插補”算法。讓自變量在m和n之間按一定的步長遞增或遞減,并將其代入數(shù)學(xué)模型可求得特殊輪廓軌跡從起點到終點之間的若干個不超過一定間距的特殊輪廓上的順序點位置,即節(jié)點。這種數(shù)據(jù)點密化過程,就是特殊輪廓“插補”,流程如圖2所示;其次,通過靈活多變的宏程序語言編寫成機(jī)床能認(rèn)識的程序。
零件如圖3所示。毛坯為35mm×60mm×80mm長方體板料,材料為45#鋼,需要在其上加工出長半軸30mm × 短半軸20mm、高為5mm的橢圓柱面。

圖3 示例零件
根據(jù)零件粗糙度要求和XY面上最大加工余量,選用Φ30硬質(zhì)合金立銑刀進(jìn)行兩次加工,如圖3建立工件坐標(biāo)系。第一次調(diào)用加工程序,刀具刀偏半徑D1設(shè)置為15.5mm,Z向切深為5mm,切削完成單邊留0.5mm余量;第二次再調(diào)用加工程序,刀具刀偏半徑D1設(shè)置為15mm,切削至尺寸。
根據(jù)宏程序編程思想和橢圓的特點,如圖4所示選夾角θ為自變量,作為循環(huán)求取軌跡中間點的變量。曲線上任一點坐標(biāo)(x,y)的計算公式為:

其中夾角θ變化范圍為0~360°變化。

圖4 橢圓的坐標(biāo)系
O0001-------------------------程序名
G54 G90 G94 G40----------建立工件坐標(biāo)系
M03 S2500
G00 X30 Y60 Z100
Z5
G01 Z-5 F200
G41 G01 X30 Y0 D01-----建立刀具左補償
#1=30-------------------------橢圓長半軸變量
#2=20-------------------------橢圓長半軸變量
#3=0--------------------------與X軸夾角的自變量
WHILE #3 GE [-360]----循環(huán)開始及條件判別
#4= #1*COS[#3*PI/180]
#5= #2*SIN[#3*PI/180]
G01 X[#4] Y[#5]
#3= #3-0.1-------------------夾角θ變量的步距長0.1mm
ENDW------------------------循環(huán)結(jié)束
G40 G00 X30 Y60 Z200----取消刀補并退刀
M05
M30
從上面編制的零件程序可以看出,軌跡加工時每一個中間節(jié)點位置的計算是由數(shù)控系統(tǒng)來完成,相鄰節(jié)點的間距是由自變量#3的值控制并且是可重新修改的;采用宏程序編寫的特殊輪廓加工程序簡潔、簡短且不易出錯,易于保證零件加工精度。采用數(shù)控加工仿真軟件仿真表明該零件加工程序正確無誤。
數(shù)控系統(tǒng)所提供的圓弧插補和直線插補指令只適用于專門曲線,對于諸如拋物線、漸開線、
橢圓等曲線構(gòu)成的特殊零件輪廓,直接利用直線插補和圓弧插補指令編寫程序時計算量大、程序長且加工精度難以保證。宏程序具有靈活性、通用性和智能性等特點,采用宏程序編寫特殊輪廓加工程序可以有效克服上述諸多不足,所編寫的加工程序簡潔易讀、邏輯嚴(yán)密、通用性強、加工精度易于控制,并且對于相似特殊輪廓該程序還具有移植性。因此靈活的應(yīng)用宏程序?qū)τ谔嵘龜?shù)控編程效率具有重要現(xiàn)實意義。
[1] 關(guān)雄飛.數(shù)控加工工藝與編程[M].機(jī)械工業(yè)出版社,2011.
[2] 華中數(shù)控系統(tǒng)編程說明書,機(jī)床編程說明書[Z].