劉恒麗,王太勇,王 冬,盧志理
(1. 天津大學 機構理論與裝備設計教育部重點實驗室,天津 300072;2. 天津商業(yè)大學,天津 300134)
數(shù)控機床自身的坐標為機床坐標,而在實際加工中,為了編程方便,一般是基于工件本身編寫NC代碼,即工件坐標,這樣就會導致在加工時,機床坐標原點與工件坐標原點出現(xiàn)偏差,不能實現(xiàn)正常加工的現(xiàn)象,因此加工時,首先要建立工件坐標系,程序中的坐標值均以此坐標系為依據(jù)[1],使得刀具能夠根據(jù)工件坐標系的設定值到達指定位置,進行正常加工,從而保證工件加工質(zhì)量。
目前,關于建立工件坐標系的研究頗多,原理和方法也類似,但是基于PMAC運動控制卡的工件坐標系建立方法的研究較少,本文針對此問題展開研究,基于自主研發(fā)的TDNC-H8數(shù)控系統(tǒng),結合PMAC運動控制卡的功能,開發(fā)以G54為代表的工件坐標系設定功能模塊,實現(xiàn)自動對刀,對于提高加工效率和加工質(zhì)量具有重要的意義。
近年來,隨著計算機技術的飛速發(fā)展,開放式數(shù)控系統(tǒng)應運而生。“PC + 運動控制卡”模式的開放式數(shù)控系統(tǒng),是目前比較流行的一種數(shù)控系統(tǒng)開發(fā)方式。這種開放系統(tǒng)中,NC 代碼需要通過PC 并行總線傳送給運動控制卡,然后由運動控制卡向驅動器發(fā)出運動指令,從而完成數(shù)控加工過程[2]。數(shù)控加工用NC代碼一般是通過專用軟件生成或由人工編寫,都是以工件本身為加工原點進行編寫。實際加工時,調(diào)用系統(tǒng)中儲存的加工程序或者根據(jù)需要也可以進行人工即時編寫,以滿足加工需求。
在“PC + 運動控制器”型開放式數(shù)控系統(tǒng)中,NC 代碼需要被翻譯成可供PMAC 卡直接執(zhí)行的目標程序格式[3]。即完成數(shù)控代碼功能的識別,并將提取的關鍵字轉換為運動控制器中對應的運動函數(shù)中的參數(shù),也就是將所有的命令轉化為PMAC能識別的語言,也稱譯碼,見表1,再去控制相應運動部件執(zhí)行動作。
表1 NC代碼與PMAC語言之間的轉換
機床坐標系、工件坐標系是數(shù)控加工中的重要概念。機床坐標系為機床上固有的坐標系, 并有其固有的坐標原點, 即機床原點(又稱為機械原點)。它是由機床生產(chǎn)廠家根據(jù)機床各軸的行程設定的。工件坐標系是編程時使用的坐標系,又稱為編程坐標,編程時首先根據(jù)被加工零件的幾何形狀和尺寸, 在零件圖上設定工件坐標系,使零件圖上的所有幾何元素在坐標系中都有確定的位置,為編程提供軌跡坐標和運動方向。不同工件的工件坐標系原點可能不同,它與機床坐標系間存在一定的偏差,如圖1所示,Xa和Yb分別為橫坐標和縱坐標偏差值。
實際加工中,為了避免更換工件時重新對刀,可以記錄第一次對刀的數(shù)值即工件坐標系下的刀具原點與機床坐標系下的刀具原點的差值并建立工件坐標系,更換工件后,勿需人工對刀,節(jié)省時間,提高加工效率和加工質(zhì)量。因此工件坐標系與機床坐標系之間存在著一定的關聯(lián),數(shù)值關系隨著加工工件的不同會發(fā)生變化,但從邏輯上來說是保持不變的,同時也是工件坐標系建立的方法依據(jù)。
數(shù)控加工時, 數(shù)控系統(tǒng)是在機床坐標系下控制刀具運動的, 而加工程序及程序中刀具的運動軌跡完全是在工件坐標系中規(guī)劃的, 一般情況下都是要求將加工程序輸入給數(shù)控系統(tǒng)后, 數(shù)控系統(tǒng)能由刀位點在工件坐標系中的坐標換算出它在機床坐標系中的坐標[4]。但對于PMAC運動控制卡而言,其對應的PSET指令功能是重新定義當前軸的位置,因此就需要數(shù)控系統(tǒng)能把刀位點在機床坐標系中的坐標換算為在工件坐標系中的坐標。
如圖2所示,假設當前刀位點坐標為(200,200,300),定義當前點為工件加工原點,即工件坐標系原點,其實現(xiàn)過程為:用M1、M2和M3分別代表PMAC運動控制卡固有的存儲當前刀位點坐標值變量,通過程序讀取變量值,此時M1=200,M2=200,M3=300,即機床坐標系與工件坐標系的差值;將其存儲到設定的變量M11、M22和M33中待用。根據(jù)PSET指令的功能,設定工件坐標系原點的方法即是將當前軸的坐標設定為0,因此G54指令功能的譯碼部分即是兩個變量之差,也即將當前刀位點在機床坐標系下的坐標轉化為工件坐標系下的坐標。
若更換相同工件時,如果刀位點坐標值發(fā)生了改變,如位置Ⅱ,此時M1=300,M2=300,M3=400,通過調(diào)用G54及譯碼功能,計算出當前刀位點在工件坐標系中的坐標為(100,100,100),然后加工程序的首行編寫G00 X0 Y0 Z0,系統(tǒng)使得刀具回到工件坐標系的原點待加工,勿需重新對刀,提高加工效率。實質(zhì)上是直接用偏移值確定了工件坐標系原點與機床參考點的距離。工件坐標系一經(jīng)建立,它們在機床坐標系中的位置就固定下來了[5]。
圖1 機床坐標系與工件坐標系的區(qū)別與聯(lián)系
圖2 工件坐標系的建立方法示意圖
結合Visual C++可視化功能,構建單獨的G54功能模塊,便于人機交互和功能拓展,如圖3所示;且嵌入到開放式數(shù)控系統(tǒng)中運行。該模塊包括五個坐標值的編輯和錄入,還有底部的人機交互功能、右側及底部功能鍵。通過右側按鍵,五個坐標值編輯欄可以實現(xiàn)自動捕捉當前刀具位置坐標并進行顯示,將其設定為工件坐標系;此外運用底部的編輯界面,可以人工設定當前工件坐標系的各個坐標值,也可以對自動獲得的坐標進行一定程度的修正;運用底部按鍵可以實現(xiàn)與其他功能模式之間的切換;并且也能實現(xiàn)窗口間的切換,方便使用和查看。
首先,啟動機床后,經(jīng)人工手動對刀至工件坐標系原點。然后從系統(tǒng)中選擇到G54功能模塊,按下“F17測量”按鍵,此時刀具在機床坐標系下的坐標值便自動被捕獲并相應地顯示出來,同時也作為工件坐標系原點坐標被保存。在加工過程中,也可以實時地切換到G54功能模塊進行瀏覽和查看。當加工結束,更換相同工件時,勿需再對刀,數(shù)控程序NC代碼中只要正常編寫G54指令,直接運行程序,刀具即能從最初設定的工件坐標系原點開始加工,節(jié)省對刀時間,提高加工效率。此外,在加工過程中,如果出現(xiàn)換刀,在G54功能模塊中重新捕捉當前刀具坐標值或者人工輸入坐標值來設定工件坐標系原點,實現(xiàn)重新對刀。
圖3 G54功能模塊
本文通過研究工件坐標系與機床坐標系間的關系,結合PMAC運動控制卡的功能,分析建立工件坐標系的方法,并基于Visual C++開發(fā)G54功能模塊,具有良好的通用性和較高的開放性;并且嵌入到數(shù)控系統(tǒng)中,在六軸聯(lián)動數(shù)控加工中心中實現(xiàn)自動對刀功能,提高加工效率和質(zhì)量。本功能模塊已在相關項目中得到應用,實踐證明該模塊具有很強的可操作性和較高的實用價值。
[1] 李英平,侯萬明,宋玉梅,鄭萬江.基于FUNUC 0iT數(shù)控系統(tǒng)工件坐標系的建立與刀具補償[J].工藝與裝備.2008.2:80-82.
[2] 鄭華林,馬建祿,潘盛湖,郭高壘.基于PC 運動控制卡的數(shù)控系統(tǒng)NC代碼編譯技術研究[J].機床與液壓.2011.10:94-96.
[3] 賈旭,盧曉紅,王鑫鑫,賈振元.基于PMAC 的微銑床數(shù)控系統(tǒng)中G 代碼編譯研究[J].組合機床與自動化加工技術.2012.3:104-107.
[4] 牛祿峰,高秀蘭,王寶.數(shù)控機床編程技術及對刀操作中的幾個問題[J]. 機床與液壓.2006.1:49-51.
[5] 陳志群.采用G50 建立工件坐標系的原理及應用分析[J].機床與液壓. 2011.8:124-126.