林樹海,寧秀月,王永明,吳海艦
( 沈機集團昆明機床股份有限公司,云南昆明650203)
某公司在用數控導軌磨床磨削工作臺大面及床身、立柱、拖板的導軌面時,工藝及設計對這些零件均有一定的中凹或中凸要求,以便機床裝配或使用時滿足各項性能的要求。對于一些厚度相對較小的零件,可以采用傳統的預變形方式磨削,即在加工時,預先把零件中部頂起或壓下去,產生一定的預變形,然后磨削,磨削完工后,工件表面為一平面,當拆除外加的力時,工件即變形為所需的凹凸形狀。這種方式能夠解決一小部分零件的加工要求,而對于那些厚度較大、剛性好的零件,不易采用這種辦法,而且采用預變形的方式嚴重依賴操作者的個人能力及經驗,極難準確掌握和控制加工精度,所以零件質量不可控[1]。
由于數控磨床 (如數控平磨和數控導軌磨床(見圖1))與一般鏜銑類機床三軸以上的聯動方式不一樣,工作臺前后運動是獨立控制的,不能與砂輪聯合控制,砂輪(磨頭)只能兩軸聯動,即橫向z 軸和高度方向y 軸聯動(一般砂輪橫向移動為z 軸,砂輪高度方向移動為y 軸,工作臺前后移動為x 軸[2]),而曲面磨削砂輪必須要與工作臺聯動,因此不能采用通常的數控編程軟件實現曲面磨削。作者編制一個專用軟件,利用軟件自動生成數控程序,使磨頭與工作臺運動近似實現聯動控制,從而解決此問題。

圖1 導軌磨床運動坐標示意圖
輸入(獲取)機床的工藝數據:工作臺移動速度或單行程時間,工作臺移動范圍(長),砂輪橫向移動范圍 (寬),砂輪進給速度,零件大小 (長,寬),中凹(中凸)要求,并加入圖形修正參數。中凹(中凸)采用正弦曲線(根據需要,也可為其他曲線),根據機床工作臺的運動速度計算出某一時間點砂輪在零件表面的位置,并通過軟件自動計算出磨削過程中每一點的坐標數據及相應點的進給速度,輸出為一個程序文件,操作者再根據各機床數控系統的特點人工輸入程序的開始和結尾及一些工藝參數完善一下數控程序即可,也可以把它作為一個子程序來調用(例如在西門子數控系統中,作為主程序用時采用“M30”結尾,作為子程序用時采用“M17”結尾)[3]。
采用的編程環境為Visual FoxPro 9.0,編譯后的軟件可以在WIN9X、XP、WIN7 等各類32 位系統環境下運行。作者對直線度和平面度的可控中凹/凸磨削做了分析和軟件的編制,并集成在一個軟件里,分成不同的模塊,軟件內有使用說明(“Help”菜單)。下面重點介紹直線度的可控中凹(中凸)磨削軟件的編程原理及思路。
機床數控系統坐標系采用笛卡爾直角坐標系,采用公制即毫米(mm)為編程單位,輸入的長度及行程參數單位采用毫米 (mm),時間單位為分鐘(min),機床及砂輪進給率由用戶選擇,可為毫米/分鐘(mm/min),也可為時間的倒數(1/min)。
LL 為零件長,H 為零件中凹/凸值,L 為機床工作臺行程,v1為機床工作臺運動速度,T1為機床工作臺單行程時間,XZH 為中凹/凸修正值,XZXS 為中凹/凸修正系數,Y0為砂輪初始高度坐標,軸名為砂輪高度軸名(為“XYZ”之一),QYCD 為坐標數據采樣長度(注:數據不宜過密,因為相鄰兩點坐標小于0.001 mm,則數控系統無法識別,所以軟件內要給出檢測和提醒以及自動修正)。
DL 為砂輪相對工作臺的即時位置;
HH 為在加工范圍內換算的中凹/凸值(因加工范圍大于零件尺寸);
DY 為砂輪瞬時相對基準平面的高度;
軸1 (Y)為砂輪瞬時高度坐標;
DT 為機床通過一個取樣長度是需要的時間;
DF 為砂輪在每一個取樣長度內的即時進給量。
零件的凸/凹軌跡曲線決定采用正弦函數曲線:以零件長度中間點為軌跡曲線最低/高點,以零件長度兩端頭為基準。而實際加工(磨削)時,因零件和機床的工藝系統存在受力變形的問題,因此實際的凸/凹值還要加上一個修正值(XZH)。
另外機床實際磨削行程要大于零件的長度(有反向沖程),因此在機床運動行程內的實際凸/凹值還要和零件長度有一個比例關系;根據實際需要,零件凸/凹軌跡曲線的曲率還要可適當調整,因此,還要為曲率增加一個修正系數(XZXS);砂輪在零件表面各點的高度坐標,應該為各點的凸/凹值加上零件基準表面的初始坐標;砂輪所處在零件表面的位置由機床工作臺的運動速度和經過的時間來算出;砂輪在每一個取樣長度內的即時進給量為一個取樣長度內的高度差與機床通過一個取樣長度時需要的時間的比值,如果程序內進給率要采用時間的倒數,則砂輪的即時進給率就為1/DT。根據以上原則,確定的程序數學模型如下:
換算為在加工范圍內的中凹/凸值

砂輪瞬時相對基準平面的高度(函數周期為π)

砂輪瞬時高度坐標

根據確定的程序數學模型,可以編程計算出砂輪在零件表面上行程內各點的高度坐標及與機床相匹配的砂輪進給量,轉換成數控程序代碼后保存到臨時變量里,供顯示和編輯窗口調用。各相鄰兩點間的距離采用取樣長度,其中砂輪進給量為相鄰兩點間的高度差與機床移動過取樣長度的時間的比值。關鍵計算部分[4-5]如下:
DY1 =0//用于計算時存儲上一點的高度坐標
For DL=1 To L Step QYCD//以取樣長度為間隔,計算每一段的砂輪瞬時坐標及速度
DY= -HH* (Sin (Pi ()* (DL/L)))** (XZXS+1)//砂輪瞬時相對高度坐標
軸1 =DY+Y0//砂輪瞬時高度坐標
IF 進給= “mm/min”
DF=ABS (DY -DY1)/DT//砂輪進給速度,DY-DY0 =相鄰兩點的高度差
DY1 =DY//存儲上一點的高度坐標
ELSE//進給= “1/min”
DF= 1/DT
ENDIF
數據=軸名+Alltrim (Str (Int (軸1* 1 000)/1 000,10,3)) +" F" + Alltrim (Str (Int (DF*1 000)/1 000,10,3))//將要保存的數據轉換成數控程序代碼段
臨時保存變量= 臨時保存變量+ 數據+ Chr(13) +Chr (10)//將數控程序代碼段合并成數控程序文件并保存到臨時變量里,chr (13) + chr
(10)為DOS 下的換行符
ENDFOR
鼠標點擊保存按鈕后,軟件會彈出文件保存窗口,經用戶選擇或輸入文件名后,把保存到臨時變量里的數控程序保存到文件中,供用戶調用和修改、編輯。數據保存功能的部分關鍵程序如下:
FILENAME = Putfile (" 選擇保存路徑及文件名!",Dtoc (Date ()) + " _ " + Alltrim (Str(Int (Seconds ())))," txt;nc")//選擇或輸入要保存的文件名
gnFile = Fcreate (FILENAME)//打開文件,如果不存在,就自動創建它
=Fwrite (gnFile ,臨時保存變量)//將轉換的數控程序寫入文件
=Fclose (gnFile )//關閉文件[4-5]
其他功能(繪圖功能,幫助說明功能)(略)。
生成的程序還要由操作者再根據各機床的數控系統特點人工輸入程序的開始和結尾及一些工藝參數才成為一個完整的數控程序,也可以把它作為一個子程序來調用(例如在西門子數控系統中,作為主程序用時采用“M30”結尾,作為子程序用時采用“M17”結尾);因砂輪與機床工作臺不能聯動,要控制機床運行到端頭時才能啟動程序。通過輸入(變換)不同的坐標軸,可以準確控制磨削頂面(如圖1 中面A)、側面(如圖1 中面B、C),底面的直線度(如圖2 中面D、E)。

圖2 某龍門銑橫梁示意圖
例如某4 000 mm 長的床身零件,某導軌面中凸要求為0.05 mm,軟件輸入界面及生成的坐標數據文件如圖3 所示。

圖3 程序界面及實例
生成的數控程序略。
還可以根據一些典型零件規格及凹凸要求,生成一些典型程序,再輔以機床數控系統的坐標比例縮放功能,讓生成的典型程序適用于更多零件的磨削加工。這樣既滿足加工要求,又減少程序數量,從而減少程序編制時間,提高加工效率。
提供了一種實現可控外形數控磨削的方法和思路,間接地實現了非聯動軸的聯動控制,解決了厚度和尺寸較大零件加工時需要預變形的難題。此外,對于磨床橫梁變形,精度喪失,導致加工精度難以保證的情況可以通過該編程軟件進行反向修正,從而保證加工精度;而且,在零件平面呈大彎曲的時候,也可以通過該編程軟件修正。總之,該軟件用途廣泛,使用方便,具有良好的實用價值和借鑒意義,同時歡迎廣大讀者朋友不吝指正。
【1】李新生.機械加工技術基礎[M]. 北京:機械工業出版社,2007.
【2】吳祖育,秦鵬.數控機床[M].2 版.上海:上海科學技術出版社,1998.
【3】西門子840D 編程說明書(高級部分)[M]. 西門子公司,2004.
【4】張微微,周峰.Visual FoxPro 9.0 數據庫開發基礎與實踐教程[M].北京:電子工業出版社,2009.
【5】李子豐. Visual Foxpro 程序設計[M]. 北京:科學出版社,2010.
【6】黃天銘.機械制造工藝學[M].重慶:重慶大學出版社,1988.
【7】全國技術切削機床標準化技術委員會.GB/T 5288-2007龍門導軌磨床精度檢驗[S]. 北京:中國標準出版社,2007.