數控機床加工時,若突然發生斷電,常常要求數控系統能準確地保存一些重要參數,如加工速度、斷電位置、主軸速度、加工行數等,以便在來電時能在斷點位置以相同的參數繼續加工。這不僅可縮短加工時間,更重要的是能保證產品質量。Windows CE是Microsoft為多種嵌入式系統而設計的一種緊湊、高效的模塊化操作系統,支持多進程、多線程、搶先式多任務操作,能滿足實時控制的要求。數控系統掉電保護是強實時性的任務,可以通過觸發中斷的方式來獲得Windows CE操作系統的服務。
本文介紹的方法是用ARM9系統芯片S3C2410在Windows CE構建的嵌入式平臺上實現的。整個掉電保護實現的基本思路是:產生掉電信號、捕捉掉電信號、處理掉電信號以及掉電信息恢復和文件處理。
1 系統的硬件平臺
本系統采用三星公司的基于ARM9體系結構的S3C2410微處理器。SDRAM是一種易失性存儲器作為程序的運行空間,類似于PC機的內存;Flash作為程序存儲空間是非易失性的。程序運行過程中的數據往往緩存在SDRAM中,在系統掉電時必須將文件寫到Hash中。
本系統采用3.3 V和5 V的直流穩壓電源,其中S3C2410及部分外圍器件需3.3 V電源,另外部分器件需5 V電源供電。掉電保護電路采用MAX708S芯片,MAX708S具備掉電監控功能,電源電壓低至4.5 V時,產生掉電信號,通知系統做好掉電保護工作。
正常工作時,Pn的電壓Va=5×1.8/(4.7+1.8)=1.385 V。通過MAX708S模塊輸入電壓PFI與1.25 V比較,這樣MAX708S模塊輸出電壓PFO為高電平。突然掉電時,5 V信號掉到4.5 V以下時,PFI的電壓為4.5×1.8/(4.7+1.8)=1.246V<1.25 V。這樣MAX708S模塊輸出電壓為低電平,產生掉電中斷預警信號,通過外部中斷引腳EIN0產生中斷,接下來可以進行一些重要數據保護。
2 掉電保護的軟件實現
2.1 Windows CE中斷驅動設計
數控系統掉電保護是強實時性的任務,可以通過觸發中斷的方式來獲得Windows CE操作系統的服務。本驅動引入的中斷主要是為了讓CPU知道機床運動過程出現突然掉電的問題,應當及時保存一些重要數據。
在Windows CE系統中,所有用戶空間進程通過系統調用來請求內核服務,所有設備通過外部中斷來請求內核服務,中斷處理是流接口驅動程序中直接和硬件打交道的部分。中斷處理過程如圖3所示。中斷發生后,信號發往異常處理器,并且中斷支持處理器調用OAL函數OEMInterruptDisable,關閉來自該硬件的中斷。中斷服務例程ISR被內核調用并返回結果,且通過內核設置Event事件來觸發中斷服務線程IST。IST被喚醒后調用各種I/O函數完成中斷處理并返回In.terruptDone通知內核。內核調用OEMInterruptDone重新開啟中斷。
2.2 掉電保存實現
Windows CE是一個搶占式多任務的操作系統,調度程序使用基于優先級的時間片算法對線程進行調度。本系統實現掉點及時保存功能主要采用兩個線程:驅動的外部中斷0線程和應用程序的掉電中斷監控線程。應用程序的掉電中斷監控線程是為了更好利用應用程序資源(如一些運動控制接口函數),并設置為高優先級,以便掉電中斷時操作系統會立刻切換至監控掉電中斷線程執行。兩個線程是通過事件IntterruptEvent同步。
如圖4所示,系統上電后,外部中斷0線程和掉電中斷監控線程都是掛起狀態。當掉電監控電路檢測到電壓下降(即突然掉電),則通過外部中斷引腳EIN0產生中斷,喚醒外部中斷0的處理線程EINT0_In-trThread,設置同步事件為通知狀態。掉電中斷監控線程等到同步事件后,機床馬上急停,獲取當前機床位置、進給速度、加工行數及主軸參數,并及時將參數寫入掉電保存文件DropInt.txt中。
2.3 掉電信息恢復及文件處理
機床恢復電源后,系統自動檢測NandFlash里面是否存在掉電保存文件DropInt.txt。如果存在的話,進入加工界面時,系統打開掉電保存文件,讀取各種參數重新賦值,并會提醒“存在掉電保存文件,是否恢復斷點”。若需要從掉電瞬間的斷點位置以相同的參數繼續加工,則點擊恢復斷點,加工頭將勻速移動到斷點位置。
由于中斷響應及線程切換存在時延,機床高速加工急停存在慣性。我們需要對掉電保存文件信息進行處理:機床坐標為工件原點的絕對坐標,作為重新定位點;根據不同的機械特性,經過實際測試回退10—20行加工代碼;獲取文件中進給速度和主軸速度,重新加工時,設置為進給速度和主軸速度20%左右,并在3 s內均勻提升到掉電保存文件中的進給速度值和主軸速度值。
3 結語
本課題的掉電保護設計方法是基于ARM和Windows CE構建的系統平臺,在32位嵌入式數控系統開發中具有典型代表意義。基于該方案設計的嵌入式數控雕刻機、數控切割機在實際加工過程中,掉電保護功能完備,實現恢復電源后無痕加工。因此在嵌入式數控系統設計中具有很大推廣價值及應用空間。
(審核編輯: 智匯胡妮)
分享