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