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