李偉,梁睿君,王志強
(南京航空航天大學 機電學院,江蘇 南京 210016)
隨著航空航天、國防工業及醫療器械等高端制造業的迅猛發展,為了滿足行業對加工精度和效率的需求,數控機床不斷朝著高速、高精度方向發展。研究資料表明,在高速、高精度加工條件下,熱變形誤差對機床精度影響最大,約占機床綜合誤差的40%~70%;其次為幾何誤差,約占總誤差的20%[1]。因此對幾何誤差及熱變形誤差進行補償是提高數控機床加工精度的重要途徑。
研究人員針對幾何誤差提出了一種修改數控代碼的離線式補償方法[2-3]。然而這方法不能補償機床運行過程中產生的動態誤差。為了對機床綜合誤差進行實時補償,逐漸發展出以下兩種補償方法:反饋中斷法和原點偏移法。反饋中斷法是將誤差補償信號添加到機床伺服系統反饋環實現補償,不修改機床控制軟件,但是需要額外的電子裝置反饋信號[4-5]。原點偏移法利用數控系統外部坐標系原點偏移功能實現誤差補償,該方法只需要修改數控系統PLC程序,而不需要增加硬件裝置,因此應用更為廣泛[6-8]。肖慧孝[9]基于外部坐標原點偏移的誤差實時補償法分別在SIMENS系統和FANUC系統上實現了機床實時誤差補償。LI T M[10]等人將熱誤差模型嵌入到西門子840D數控系統和S7-300可編程邏輯控制器中,建立了熱誤差補償系統,最后通過加工菱形工件驗證了補償系統的有效性。結果顯示,平均熱誤差從101 μm減小到13.5 μm。連成哲[11]對西門子數控系統內置補償功能進行分析后提出了一種基于內置溫度補償功能的誤差補償方法。
本文以QLM27100-5X五軸機床為研究對象,其三維結構圖如圖1所示,基于西門子840D數控系統內置的溫度誤差補償功能相關參數,設計并開發了一套機床實時綜合誤差補償系統,最后通過補償實驗驗證了系統補償功能。

圖1 QLM27100-5X型五軸機床三維結構圖
西門子840D數控系統由數控及驅動單元、人機交互裝置及可編程控制器模塊3部分組成。該數控系統提供了內置的溫度誤差補償功能,能夠基于定位誤差與溫度的對應關系對熱誤差進行補償。
以x軸為例對數控系統溫度補償功能進行說明。如圖2所示,溫度T條件下測得一條誤差曲線,可以將其擬合為一條直線。擬合直線公式可以寫為:
△kx=k0(T)+tanβ(T)×(Px-P0)
式中:Px表示補償點位置坐標;P0為參考點位置;k0(T)表示P0點在溫度T下誤差值;tanβ(T)表示溫度T下曲線斜率,即補償系數。

圖2 溫度誤差曲線
840D數控系統提供了3個參數用于誤差補償:
1)位置無關的溫度補償值參數SD43900(TEMP_COMP_ABS_VALUE),即k0(T);
2)位置相關的溫度補償系數參數SD43910(TEMP_COMP_SLOP),即tanβ(T);
3)位置相關溫度補償參考位置參數SD43920(TEMP_COMP_REF_POSITION),即P0。
840D數控系統通過對內置PLC參數MD32750進行設置,可以選擇3種不同的溫度補償方式:
① MD32750=0時,溫度補償失效;
② MD32750=1時,位置無關溫度補償參數SD43900生效;
③ MD32750=2時,位置相關溫度補償參數SD43900、SD43910、SD43920生效。
通過對數控系統溫度誤差補償功能分析后,本文基于機床系統溫度補償功能設計了一種綜合誤差補償方法。通過將PLC參數MD32750置1,讓數控系統進行位置無關溫度補償,將由綜合誤差模型計算出的補償值寫入位置無關的溫度補償值變量SD43900,其補償過程如圖3所示。這種方法實現的原理與原點平移補償方法相同,由于使用了840D數控系統現有參數接口,實現起來更加簡便,操作起來更加安全。

圖3 誤差實時補償實現過程
由圖4可知,數控機床綜合誤差實時補償的技術路線分為機床信號采集、誤差模型建立以及誤差補償執行3個階段。通過溫度傳感器和PLC系統分別采集溫度數據和位置信號,輸入預先建立好的誤差模型中獲得誤差值,計算出在工件坐標系下各運動軸補償量。最后將獲得的補償量由PLC寫入數控系統執行補償動作。

圖4 機床綜合誤差實時補償技術路線
根據誤差實時補償實施方案可知,補償系統的硬件構成可以分為控制器模塊、溫度采集模塊以及I/O通信模塊。
控制器模塊是誤差補償系統的核心,需要承擔3項任務:1)溫度數據采集;2)與機床PLC進行通信;3)誤差補償值的計算。綜合以上要求,選擇OK335xD工業級開發板,如圖5所示。該開發板采用性能較強的Cortex-A8系列芯片,能夠快速地處理復雜的數據計算;該開發板還擁有豐富的通信接口,如USB接口、RJ45網線接口、RS485串口等,可以滿足誤差補償系統對多信號采集和補償實時性的要求。

圖5 OK335xD開發板
溫度采集模塊由開發板和溫度傳感器組成。OK335xD開發板帶有模擬量輸入接口,能夠實現對溫度數據的采集。溫度傳感器選擇貼片式熱電阻Pt100溫度傳感器,量程為0℃~100℃,精度為0.15℃,其常用于工業溫度參數的測量,能夠滿足溫度采集精度和量程的要求。
QLM27100-5X機床只提供RS485串口,不具備以太網接口。為了實現控制器與機床PLC之間的通信,采用凌頂科技的SCANET通信模塊。該模塊為西門子S7-300型PLC,提供以太網通訊解決方案,能夠即插即用。在機床床身上拓展出RJ45網線接口和RS485串口,選擇Modbus TCP協議實現控制器與機床PLC之間的數據傳輸。
實時補償的前提是能夠實現通過PLC實時讀取并寫入機床狀態參數。
西門子840D系統集成了S7-300型PLC,PLC程序的結構由組織塊(organization block,OB)、功能塊(function block,FB)、功能(function,FC)及數據塊(shared data block,DB)等組成。常用的標準塊有:組織塊OB1:用于循環加工;功能塊FB2和FB3:分別用于讀取(GET)和寫入(PUT)NC變量。
通過PLC對NC變量進行讀取時,首先使用NC_Var Selector(變量選擇器)軟件選擇讀或寫的參數變量,然后編譯生成源文件,再通過STEP7軟件將源文件反編譯為數據塊,最后利用功能塊FB2/FB3實現對數據塊的讀寫操作。具體流程為:
1)打開NC_Var Selector軟件用來讀取NC變量的庫文件ncv_NcData.mdb。根據西門子840D官方提供的參數手冊找到與機床運動相關的狀態數據,例如變量名C1_SMA_actToolBasePos1_2代表x軸坐標位置。然后在庫文件中選擇相應的系統變量和類型保存到變量表,系統變量選擇結果如圖6所示。

圖6 系統變量選擇結果
2)將選擇的變量編譯(Generate)生成.AWL文件。
3)將STEP7軟件中得到的.AWL文件導入到機床PLC項目中,編譯生成對應的數據塊(默認為DB120)。
4)使用功能塊FB2實現PLC對NC變量的讀取。在組織塊OB1中調用FB2的語句為:CALL FB2, DB121,其中DB121為自動生成的背景數據塊。
由STEP7軟件讀取到機床各運動軸坐標變量,如圖7所示,實現了PLC對NC參數的讀取。

圖7 機床坐標變量讀取結果
使用OB1塊調用功能塊FB3將補償值寫入參數SD43900,NC_Var Selector軟件使用方法及PLC編寫過程同功能塊FB2調用過程一致,簡化后的流程如圖8所示。

圖8 機床PLC修改流程圖
誤差實時補償系統通過綜合誤差模型計算出各個軸在某一空間位置下的補償量進行補償。誤差模型包括幾何誤差和熱誤差數據模型,用于將測得的誤差值進行擬合和預測;綜合誤差變換模型,用于將各個位置的誤差元素值轉換成刀尖點的位姿矢量,從而計算出機床各軸補償量。
本文通過激光干涉儀和球桿儀辨識出QLM27100-5X機床運動軸各項誤差值,對其進行擬合預測建立數據模型;通過多體系統理論建立了機床的綜合誤差變換模型。

使用激光干涉儀定位誤差測量鏡組沿x軸X向測量一組x軸定位誤差數據;打開誤差補償系統,對x軸定位誤差進行補償并測量,獲得一組補償后的定位誤差數據。
實驗中設定機床x軸進給速率為500 mm/min,x軸在行程范圍內從起始點開始等間距選擇11個測點進行誤差檢測。為了減少干擾,沿正、反向分別測量3次,再取測量值的平均值用于分析。移動軸幾何誤差測量實驗現場,如圖9所示。

圖9 移動軸幾何誤差測量現場照片
補償前后x軸定位誤差數據如圖10所示。從圖中可知,補償前x軸定位誤差最大值為50.011 μm,補償后x軸定位誤差最大值為11.405 μm;補償后,x軸定位誤差平均值由補償前的25.015 μm減小至5.186 μm,x軸定位誤差精度提高了79.3%。實驗結果證明了基于數控系統溫度補償功能誤差實時補償系統能夠有效地提高機床的加工精度。

圖10 x軸定位誤差實驗數據
1)通過對西門子840D數控系統內置溫度誤差補償功能相關參數進行分析,結合相關參數提出了一種基于系統溫度補償功能的誤差實時補償方法。
2)從系統功能、硬件平臺搭建及數據采集與通信等方面設計并開發了綜合誤差補償系統,結合綜合誤差模型,實現了機床誤差實時補償。
3)對QLM27100-5X機床x軸定位誤差進行實時誤差補償系實驗,實驗結果顯示機床x軸定位精度提升了79.3%,證明了綜合誤差實時補償系統具有提高機床精度的能力。