周 洪 蔣 毅 化春鍵 翟源康
(江南大學機械工程學院,江蘇 無錫 214000)
電火花小孔機作為一種高頻脈沖電源提供加工能量,加工過程中無宏觀切削力的高精度、高效率機械加工設備,被廣泛使用在導電材料加工、航空航天、精密制造、醫(yī)療設備等領域[1]。數控系統作為電火花小孔機核心之一,對電火花小孔機加工精度和穩(wěn)定性有著十分重要的影響。最初的數控系統多采用硬件控制,隨著計算機技術的迅速發(fā)展,現代數控系統已經發(fā)展到了可以實現完全數字控制的程度[2],最大限度提高了制造效率,降低了制造成本。
數控技術起源于國外,在電火花加工領域得到了廣泛應用。日本、瑞士和美國等發(fā)達國家率先研發(fā)出以微處理器為核心的數控系統,提高了機床加工質量和效率,縮短了制造周期,降低了制造成本[3],三菱、沙迪克、瑞士Agie Charmilles等公司一直保持著在該領域的優(yōu)勢地位[4]。美國國家標準技術局為解決傳統數控系統無法定義和擴展的問題,構建了全軟件化的開放式數控系統[5],開放式數控系統極大地推動了電火花加工制造領域的發(fā)展,國內外學者也展開了相關改進研究。哥倫比亞大學Y. Altintas等人采用PC+DSP的結構開發(fā)了可編程的多軸數控系統[6],哈爾濱工業(yè)大學的劉英杰[7]基于Windows平臺進行了慢走絲線切割機床的研究和研發(fā),李志勇等人[8]對Linux平臺下的電火花數控系統做了大量研究。
目前,國內數控技術在電火花線切割機床上得到了廣泛應用,但整個電火花加工機床數控系統的研究應用卻相對較少[9]。本文基于Linux開發(fā)平臺,采用QT軟件設計編寫了電火花小孔機數控系統各功能模塊,搭建了功能集成化的開放式電火花小孔機數控系統。
數控系統由數據處理、通信和用戶界面三個部分構成。根據電火花小孔機加工的特點和任務需求,本文將數據處理部分細分成G代碼檢查、插補運算、Z軸加工伺服運算和加工狀態(tài)數據處理四個部分,與用戶界面GUI任務和通信任務共形成六個軟件任務,具體任務內容如表1所示。
表1 電火花小孔機數控系統軟件任務分析與分類
電火花小孔機數控系統的任務具有并行的特點,部分任務之間還需要進行高頻率的通信,保證數控系統安全、穩(wěn)定、高效運行。常見的多任務軟件架構為多線程或多進程,但為避免多線程架構下任務并發(fā)執(zhí)行導致資源競爭和死鎖的問題,結合Linux系統下提供的豐富的進程間通信方式,本文將數控系統任務模塊化,采用多進程的方式分塊編寫,對比進程間通信方式優(yōu)劣,結合各個任務的特點,設計了效率最高的任務間通信方式,如圖1所示。同時為了避免共享內存空間的爭搶,使用信號量方式實現進程之間的數據同步,使用信號方式處理突發(fā)的中斷事件。
啟動加工后,數控軟件任務并非全部同時運行,如圖2所示,率先運行的是GUI進程、通信進程和G代碼檢查進程,為加工人員提供人機交互GUI界面并獲取此時機床實時位置等狀態(tài)信息顯示于GUI,提供加工代碼的輸入檢查服務。加工人員在完成G代碼檢查后,編譯執(zhí)行G代碼,此時G代碼檢查進程便會保存退出,通信進程將啟動插補進程和加工狀態(tài)監(jiān)測進程,加工狀態(tài)監(jiān)測進程再啟動Z軸加工伺服進程。雖然進程之間存在著喚醒的先后,但保證了加工時是同時運行、相互配合的,最大程度上節(jié)約了系統資源開銷。
圖2 軟件任務啟動流程
通用數控程序指令不能滿足小孔機的加工需求,如表2所示,通過對通用數控程序指令進行修改,添加新的指令,形成了符合電火花小孔機加工需求的特色數控指令集。其中G62命令是根據圓形陣列半徑A和陣列個數C進行圓形陣列孔加工,G72命令是根據陣列X方向增量H和個數I與Y方向增量L和個數J進行矩形陣列孔加工。該指令集方便了加工人員對小孔加工路徑的快速設計,減少了編程的重復性,提高了程序編寫和加工的效率。
表2 小孔機修改和新增數控指令
在對數控程序進行加工信息提取之前,需要檢查所編寫的G代碼是否符合相關規(guī)范,如表3所示,采用正則表達式的方式對加工人員輸入的G代碼進行詞法、語法的分類檢查[10],分類給出錯誤類型和錯誤代碼,便于加工人員快速排除程序錯誤,提高效率。
表3 錯誤信息提示種類
電火花小孔機的加工過程主要是孔的加工,除傳統的直線插補、圓弧插補方式外,本文特別設計了加工孔時的螺旋插補,即采用螺旋路徑進行孔的加工,如圖3所示。螺旋加工可以使得電極磨損更加均勻,減小振動和噪聲,降低電極損耗和加工成本,同時也能夠加工與電極絲直徑不同的通孔和銑削不同直徑的定深孔。這將進一步拓寬小孔機的加工領域,提高小孔機的復雜加工能力。
圖3 螺旋線軌跡
但螺旋插補運算涉及圓周運動和勻變速直線運動的同時進行,為簡化計算,提高加工效率,如圖4所示,根據加工所需精度將螺旋線分割成多個直線段,采用多條直線段近似代替的方法進行點的插補,在完成螺旋插補后,繼續(xù)讓電極絲采用相同的方法以打孔半徑插補整圓,這樣既能快速銑削孔內部的材料,還在減少計算量的前提下進一步提高了孔的加工精度。
圖4 完整螺旋插補軌跡示意圖
通信進程與數控軟件的其他任務通過共享內存等進程間的通信方式實現信息交換,除此之外,通信進程還需要與下位機進行通信。具體的通信協議結構如圖5所示,通信信息的主要內容有G代碼加工信息,包含了G代碼解析的軸控制信息和開關量信息;GUI顯示和加工信息,包含了手動控制X/Y/Z軸信息、手動開關量信息、放電參數信息和接收的反饋信息。綜合考慮這些信息,將通信協議分成運動控制、手動控制、放電參數和反饋信號四類進行傳輸,分類傳輸保證了數據傳輸的完整性,減少了傳輸字節(jié)空間占用,避免了數據包不必要的過長。
圖5 通信協議結構
為了驗證數控系統的可行性,如圖6所示,在脫離加工狀態(tài)下進行了數控系統部分功能的仿真測試,如G代碼的檢查、加工軌跡顯示、機床狀態(tài)信息獲取等,并對其交互性進行了相關測試。
圖6 GUI功能仿真測試
如圖7所示,通過搭建電火花小孔加工平臺,在厚度為0.5 mm的不銹鋼板上,采用鎢絲作為電極絲,非浸沒加工直徑為0.5 mm的通孔,驗證電火花小孔機數控系統控制小孔機各模塊進行協同加工的能力。加工過程及小孔加工結果如圖8所示。
圖7 電火花小孔加工平臺
圖8 小孔加工過程及結果
本文從傳統電火花小孔機存在的問題入手,設計了一套電火花小孔機數控加工平臺控制系統。對設計的數控系統進行了相關仿真測試,結果表明其具有良好的人機交互性,并通過加工實驗驗證了其良好的小孔加工能力,為集成化電火花數控系統的研發(fā)提供了一定的參考。
在未來的研究中還可繼續(xù)豐富電火花小孔機的數控指令集,優(yōu)化插補算法和通信協議格式,進一步提高小孔機的加工精度和效率。