數(shù)控機床加工的零件輪廓一般由直線、圓弧組成,也有一些非圓曲線輪廓如橢圓、雙曲線、拋物線等,對于這些二次曲線,我們可以使用用戶宏程序進行編程。
用戶宏程序就是以變量的組合,通過各種算術(shù)和邏輯運算、轉(zhuǎn)移和循環(huán)等命令而編制的一種可以靈活運用的程序,只要改變變量的值,即可完成不同的加工或操作。用戶宏程序與普通程序的區(qū)別如下:(1)用戶宏程序可以使用變量進行編程,并對變量進行賦值、運算等處理,執(zhí)行一些有規(guī)律變化(如非圓二次曲線輪廓)的動作;(2)普通程序只能指定常量,常量之間不能運算,程序只能順序執(zhí)行,不能跳轉(zhuǎn),因此功能是固定的,不能變化,缺乏靈活性和運用性。
1編程的基本思路一般加工非圓曲線,可采用兩種方式:一種是采用直線段逼近非圓曲線;另一種是采用圓弧段逼近非圓曲線。
采用用直線段逼近非圓曲線,目前常用的節(jié)點計算方法有等間距法、等程序段法和等誤差法等。下面介紹等間距法直線段逼近的節(jié)點計算?;驹恚旱乳g距法就是將某一坐標(biāo)軸劃分成相等的間距。沿X軸方向取△X為等間距長,根據(jù)已知曲線的方程y=f(x),可由x i求得y i,x i+1=x i+△X,y i+1=f(x i+△X),如此求得一系列節(jié)點。
由于要求曲線y=f(x)與相鄰兩節(jié)點連線間的法向距離小于允許的程序編制誤差δ允,△X值不能任意設(shè)定。一般先取△X=0.1進行試算。實際處理時,并非任意相鄰兩點間的誤差都要驗算,對于曲線曲率半徑變化較小處,只需驗算兩節(jié)點間距離*長處的誤差;而對曲線曲率半徑變化較大處,應(yīng)驗算曲率半徑較小處的誤差,通常由輪廓圖形直接觀察確定校驗的位置。
2用戶宏程序功能2.1變量在常規(guī)的主程序和子程序內(nèi),總是將一個具體的數(shù)值賦給一個地址,為了使用程序更加具有通用性、靈活性,在宏程序中設(shè)置了變量。例如:#100,#500,#5等。
2.1.1變量的表示一個變量由符號#和變量序號組成,如#I(I=1,2,3,。。。)。
2.1.2變量的引用將跟隨在地址符后的數(shù)值用變量來代替的過程,稱為引用變量。
如:G01X#100Y-#101F#102;當(dāng)#100=100.0;#101=50.0;#102=80時,上式即表示為G01X100.0Y-50.0F80;2.1.3變量的種類變量分為局部變量、公共變量和系統(tǒng)變量3種:(1)局部變量。局部變量(#1~#3)是在宏程序中局部使用的變量。
?。?)公共變量。公共變量(#100~#149;#500~#549)貫穿于整個程序過程。
?。?)系統(tǒng)變量。系統(tǒng)變量是指有固定用途的變量,它的值決定系統(tǒng)的狀態(tài)。系統(tǒng)變量包括刀具偏置值變量、接口輸入與接口輸出信號變量及位置信號變量等。
2.2程序中控制指令在用戶宏程序中,控制指令實現(xiàn)控制執(zhí)行程序的語句有兩種:分支語句和重復(fù)語句。
2.2.1分支語句(1)無條件轉(zhuǎn)移。指令格式:GOTOn無條件地跳轉(zhuǎn)到順序為n的程序段。
?。?)條件轉(zhuǎn)移。指令格式:IF[<條件式>]GOTOn<條件式>成立時,從順序號為n的程序段以下執(zhí)行;<條件式>不成立時,執(zhí)行下一段程序。
2.2.2重復(fù)語句指令格式:WHILE[<條件式>]DOm(m=1、2、……)……ENDm<條件式>成立時,從DOm的程序到ENDm的程序段重復(fù)執(zhí)行;<條件式>如果不成立,則從ENDm的下一個程序段執(zhí)行。
3應(yīng)用實例分析3.1實例描述為使用宏程序編寫所示燈罩模具()內(nèi)曲面拋物線的精加工程序。
3.2課題分析宏程序指令一般用于精加工。其加工余量不能太大,通常在精加工之前要進行去余量粗加工,粗加工該曲面可用圓弧擬合(加工程序略)。
精加工時,采用直線進行擬合。該曲面橫截面為拋物線,方程為Z=X 2/40-50,這里以Z坐標(biāo)作為自變量,X坐標(biāo)作為應(yīng)變量。那么方程式變?yōu)閤=40×(z+50)姨,注意它是半徑量,因此x坐標(biāo)值為2×40×(z+50)。使用以下變量進行運算:#100Z坐標(biāo)值變量;#101X函數(shù)值變量;#102X坐標(biāo)值變量。
3.3精加工宏程序精加工宏程序如下:O0508;G98G40G21;T0101;(內(nèi)孔車刀)M03S600F100;G00X85.0Z2.0;#100=0.0;N100#110=#100+50.0;#101=SQTR[#110*40.0];#102=#101*2;(直徑量)G01X#102Z#100;#100=#100-0.10;(Z向每次遞減0.1mm)IF[#100GE-48.0]GOTO100;G00Z2.0;G00X100.0Z100.0;M05;M30;4結(jié)束語運用用戶宏程序進行數(shù)控中的二次曲線擬合加工,關(guān)鍵在于:**,二次曲線方程式的建立,曲線在某區(qū)間的曲率大小,又決定通過選取表達式或三角函數(shù)等來建立方程式;第二,方程式變量在加工區(qū)間上的遞變規(guī)律的確定。有了這兩點,在運用宏程序?qū)Χ吻€的程序編寫方面的困難,應(yīng)該能更容易解決。