呼剛義,關(guān)雄飛
(西安理工大學(xué)高等技術(shù)學(xué)院,西安 710048)
數(shù)控機(jī)床是一種程序控制的自動(dòng)加工機(jī)床,其加工表面形成運(yùn)動(dòng)和輔助動(dòng)作不需要人的直接參與而是完全按編寫(xiě)的程序指令進(jìn)行的。根據(jù)零件形狀和工藝需要,編寫(xiě)適合其加工路徑的數(shù)控程序,是進(jìn)行數(shù)控加工的關(guān)鍵。
常見(jiàn)的數(shù)控機(jī)床所能實(shí)現(xiàn)的加工軌跡曲線是直線和圓弧兩種,即機(jī)床具有直線插補(bǔ)和圓弧插補(bǔ)功能。隨著科技的不斷進(jìn)步和工業(yè)產(chǎn)品日益多樣化,加工零件中越來(lái)越多出現(xiàn)如橢圓、拋物線、雙曲線和漸開(kāi)線等特殊輪廓。直接利用直線插補(bǔ)和圓弧插補(bǔ)指令來(lái)編寫(xiě)特殊輪廓加工程序,需要提前計(jì)算出所走軌跡的大量中間點(diǎn),再通過(guò)這些中間點(diǎn)形成接近特殊輪廓的逼近線,費(fèi)時(shí)、費(fèi)力、程序過(guò)長(zhǎng)、精度沒(méi)法保證,甚至難以完成。而針對(duì)特殊輪廓曲面構(gòu)建實(shí)現(xiàn)插補(bǔ)算法的數(shù)學(xué)模型,并利用宏程序來(lái)編程,不但容易而且零件的加工質(zhì)量容易保證。
宏程序編程最大的特點(diǎn)就是在編程中引入變量和算術(shù)、邏輯運(yùn)算,以及循環(huán)和條件轉(zhuǎn)移等功能,使得特殊輪廓加工編程更容易、更方便。不同的數(shù)控系統(tǒng)其宏程序語(yǔ)言有所不同,例如西門(mén)子SINUMERIK系統(tǒng)采用的是R參數(shù)編程,而FANUC系統(tǒng)提供了A類和B類兩類宏程序,其中A類宏程序可讀性差,編寫(xiě)起來(lái)比較費(fèi)時(shí)費(fèi)力,B類宏程序類似于C語(yǔ)言的編程,編寫(xiě)起來(lái)很方便。不論是何種數(shù)控系統(tǒng)的宏程序,它們運(yùn)行的效果都是一樣的。本文以華中數(shù)控世紀(jì)星系統(tǒng)其為用戶配備了強(qiáng)有力的類似于高級(jí)語(yǔ)言的宏程序橢圓面加工為例,來(lái)說(shuō)明宏程序在特殊輪廓零件數(shù)控編程中的應(yīng)用。
數(shù)控編程中數(shù)值,既可直接指定,也可利用用戶宏程序中的變量指定。當(dāng)用變量時(shí),變量值可用程序或通過(guò)MDI面板上的操作進(jìn)行賦值。
變量表達(dá)格式是用變量符號(hào)(#)和后面的變量號(hào)指定,例如:#1。華中系統(tǒng)提供給編程人員所用的變量范圍為:#0~#599,而#599以上的變量?jī)H供系統(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層局部變量。需要說(shuō)明的是華中世紀(jì)星子程序嵌套調(diào)用的深度最多可以有八層,每一層子程序都有自己獨(dú)立的局部變量(變量個(gè)數(shù)為50)。比如當(dāng)前層局部變量為#0~#49,緊跟層局部變量為#200~#249,依此類推。
1.2.1 變量的運(yùn)算
在數(shù)控宏程序中,變量既可以用來(lái)進(jìn)行算術(shù)運(yùn)算,也可作邏輯運(yùn)算。例如:#2 =175/SQRT[2]*COS[55 * PI/180 ],其中SQRT[2]即求2平方根、 PI為圓周率符號(hào)。
1.2.2 條件循環(huán)控制語(yǔ)句
1)條件判別語(yǔ)句
格式 (i) IF (條件表達(dá)式)
語(yǔ)句1;//只有當(dāng)條件表達(dá)式為真命題時(shí),語(yǔ)句1才會(huì)被執(zhí)行。
ELSE
語(yǔ)句2;//只有當(dāng)條件表達(dá)式為假命題時(shí),語(yǔ)句2才會(huì)被執(zhí)行。
ENDIF
格式(ii) IF 條件表達(dá)式
語(yǔ)句;//只有當(dāng)條件表達(dá)式為真命題時(shí),語(yǔ)句才會(huì)被執(zhí)行。
ENDIF
2) 循環(huán)語(yǔ)句
格式 WIIILE (條件表達(dá)式)
語(yǔ)句;//只有當(dāng)條件表達(dá)式為真命題時(shí),
語(yǔ)句會(huì)重復(fù)的被執(zhí)行。
ENDW
圖1 實(shí)際加工軌跡逼近理論輪廓
圖2 特殊輪廓“插補(bǔ)”流程圖
數(shù)控機(jī)床在切削加工運(yùn)動(dòng)中,系統(tǒng)隨時(shí)通過(guò)當(dāng)前所處的點(diǎn)位置和要求所走軌跡的指令類型如直線或圓弧指令,按照系統(tǒng)內(nèi)部算法,通過(guò)當(dāng)前機(jī)床所處的節(jié)點(diǎn)位置插補(bǔ)計(jì)算及運(yùn)動(dòng)控制走到下一個(gè)要到達(dá)的節(jié)點(diǎn)位置,不斷的重復(fù)計(jì)算和運(yùn)動(dòng),直至運(yùn)動(dòng)到終點(diǎn)位置結(jié)束。可見(jiàn)實(shí)際的加工軌跡是和理論輪廓線相似的、誤差在允許范圍內(nèi)的逼近線,如圖1所示。在理想輪廓線上的已知點(diǎn)之間,進(jìn)行數(shù)據(jù)點(diǎn)密化,確定一些中間點(diǎn)的方法,這就是插補(bǔ)。作為常見(jiàn)的數(shù)控系統(tǒng)只具備直線插補(bǔ)和圓弧插補(bǔ)算法,因而對(duì)于直線和圓弧兩種軌跡外的特殊輪廓的加工編程,必須在編程前根據(jù)容差要求采用擬合法用直線或圓弧對(duì)特殊輪廓進(jìn)行分段逼近并給出相應(yīng)節(jié)點(diǎn)坐標(biāo)或編寫(xiě)的程序中具有特殊輪廓“插補(bǔ)”算法。后者可以避免擬合法所帶來(lái)的復(fù)雜計(jì)算問(wèn)題,并便于控制形狀與尺寸誤差,而且通過(guò)宏程序就能很方便地實(shí)現(xiàn)。具體做法是:首先,研究特殊輪廓方程,找出一個(gè)與曲線有內(nèi)在聯(lián)系的自變量,其在曲線軌跡的起點(diǎn)和終點(diǎn)有兩個(gè)一一對(duì)應(yīng)的數(shù)值比如m和n,構(gòu)建一個(gè)數(shù)學(xué)模型即特殊輪廓“插補(bǔ)”算法。讓自變量在m和n之間按一定的步長(zhǎng)遞增或遞減,并將其代入數(shù)學(xué)模型可求得特殊輪廓軌跡從起點(diǎn)到終點(diǎn)之間的若干個(gè)不超過(guò)一定間距的特殊輪廓上的順序點(diǎn)位置,即節(jié)點(diǎn)。這種數(shù)據(jù)點(diǎn)密化過(guò)程,就是特殊輪廓“插補(bǔ)”,流程如圖2所示;其次,通過(guò)靈活多變的宏程序語(yǔ)言編寫(xiě)成機(jī)床能認(rèn)識(shí)的程序。
零件如圖3所示。毛坯為35mm×60mm×80mm長(zhǎng)方體板料,材料為45#鋼,需要在其上加工出長(zhǎng)半軸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ù)宏程序編程思想和橢圓的特點(diǎn),如圖4所示選夾角θ為自變量,作為循環(huán)求取軌跡中間點(diǎn)的變量。曲線上任一點(diǎn)坐標(biāo)(x,y)的計(jì)算公式為:
其中夾角θ變化范圍為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-----建立刀具左補(bǔ)償
#1=30-------------------------橢圓長(zhǎng)半軸變量
#2=20-------------------------橢圓長(zhǎng)半軸變量
#3=0--------------------------與X軸夾角的自變量
WHILE #3 GE [-360]----循環(huán)開(kāi)始及條件判別
#4= #1*COS[#3*PI/180]
#5= #2*SIN[#3*PI/180]
G01 X[#4] Y[#5]
#3= #3-0.1-------------------夾角θ變量的步距長(zhǎng)0.1mm
ENDW------------------------循環(huán)結(jié)束
G40 G00 X30 Y60 Z200----取消刀補(bǔ)并退刀
M05
M30
從上面編制的零件程序可以看出,軌跡加工時(shí)每一個(gè)中間節(jié)點(diǎn)位置的計(jì)算是由數(shù)控系統(tǒng)來(lái)完成,相鄰節(jié)點(diǎn)的間距是由自變量#3的值控制并且是可重新修改的;采用宏程序編寫(xiě)的特殊輪廓加工程序簡(jiǎn)潔、簡(jiǎn)短且不易出錯(cuò),易于保證零件加工精度。采用數(shù)控加工仿真軟件仿真表明該零件加工程序正確無(wú)誤。
數(shù)控系統(tǒng)所提供的圓弧插補(bǔ)和直線插補(bǔ)指令只適用于專門(mén)曲線,對(duì)于諸如拋物線、漸開(kāi)線、
橢圓等曲線構(gòu)成的特殊零件輪廓,直接利用直線插補(bǔ)和圓弧插補(bǔ)指令編寫(xiě)程序時(shí)計(jì)算量大、程序長(zhǎng)且加工精度難以保證。宏程序具有靈活性、通用性和智能性等特點(diǎn),采用宏程序編寫(xiě)特殊輪廓加工程序可以有效克服上述諸多不足,所編寫(xiě)的加工程序簡(jiǎn)潔易讀、邏輯嚴(yán)密、通用性強(qiáng)、加工精度易于控制,并且對(duì)于相似特殊輪廓該程序還具有移植性。因此靈活的應(yīng)用宏程序?qū)τ谔嵘龜?shù)控編程效率具有重要現(xiàn)實(shí)意義。
[1] 關(guān)雄飛.數(shù)控加工工藝與編程[M].機(jī)械工業(yè)出版社,2011.
[2] 華中數(shù)控系統(tǒng)編程說(shuō)明書(shū),機(jī)床編程說(shuō)明書(shū)[Z].