嵌入式數(shù)控系統(tǒng)軟件總體設(shè)計研究
(作者未知) 2011/6/22
摘要:隨著計算機和微電子技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)作為計算機應(yīng)用的一個重要領(lǐng)域,己深入到社會的方方面面。本文在ARM9硬件平臺的基礎(chǔ)上,加強操作系統(tǒng)的實時性,設(shè)計滿足數(shù)控磨床加工需求的軟件系統(tǒng)。
關(guān)鍵詞:嵌入式芯片;軟件設(shè)計
一、嵌入式軟件開發(fā)方式
絕大多數(shù)的Linux或軟件開發(fā)都是以native方式進(jìn)行的,即本機開發(fā)、調(diào)試,本機的方式。這種方式通常不適合于嵌入式系統(tǒng)的軟件開發(fā),因為對于嵌入式系統(tǒng)的開發(fā),沒有足資源在本機(即板子上系統(tǒng))運行開發(fā)工具和調(diào)試工具。通常的嵌入式系統(tǒng)的軟件開發(fā)采用交叉編譯調(diào)試的方式。簡單的說,交叉編譯就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼,如在x86的PC機上生成ARM平臺的可執(zhí)行代碼。
交叉編譯調(diào)試環(huán)境建立在宿主機(即一臺PC機)上,對應(yīng)的開發(fā)板叫做目標(biāo)板。開發(fā)時使用宿主機上的交叉編譯、匯編及連接工具形成可執(zhí)行的二進(jìn)制代碼,(這種可執(zhí)行并不能在宿主機上執(zhí)行,而只能在目標(biāo)板上執(zhí)行。)然后把可執(zhí)行文件下載到目標(biāo)機上運行。交叉開發(fā)技術(shù)己成為嵌入式軟件開發(fā)的主要方式。其開發(fā)步驟如下:在宿主機平臺上面編寫程序代碼;)使宿主機與目標(biāo)機連接,如使用交叉網(wǎng)線;使用交叉編譯器等工具編譯、連接應(yīng)用程序,生成可執(zhí)行代碼;目標(biāo)機掛載(mount)宿主機的方式(或?qū)⒖蓤?zhí)行代碼下載到目標(biāo)機):開發(fā)人員使用交叉調(diào)試器進(jìn)行調(diào)試;如果程序調(diào)試沒有發(fā)現(xiàn)異常,則轉(zhuǎn)至第(10)步;調(diào)試程序時發(fā)現(xiàn)錯誤,則利用交叉調(diào)試器定位錯誤;修改錯誤代碼;重復(fù)(3)—(9)步;將目標(biāo)機程序固化至目標(biāo)機上。
二、數(shù)控系統(tǒng)軟件任務(wù)研究
控軟件的功能大致可分為兩種,一種是控制功能,另一種是管理功能。其中,管理功能包括信息的輸入功能、輸出輸入輸出的處理功能、顯示功能和診斷功能,控制功能包括譯碼功能、刀具補償功能、速度控制功能、和位置控制功能。
從任務(wù)的特征來看,與通用實時系統(tǒng)相比,數(shù)控系統(tǒng)有以下特點:
數(shù)控系統(tǒng)是一個混合任務(wù)系統(tǒng),其任務(wù)按是否具有實時性要求和周期性要求可分為:實時周期性任務(wù)、實時突發(fā)性任務(wù)和非實時任務(wù)。實時周期性任務(wù)是指嚴(yán)格以定長時間間隔定時觸發(fā),并且在規(guī)定的時間內(nèi)必須完成處理的任務(wù)。在數(shù)控系統(tǒng)中主要指加工過程中的插補控制、位置控制、數(shù)據(jù)采樣等需快速響應(yīng)的機床邏輯狀態(tài);實時突發(fā)性任務(wù)的發(fā)生是時間的隨機函數(shù),要求有很高的實時性,它包括機床緊急停止、系統(tǒng)故障中斷等;非實時性任務(wù)是指實時性要求很低的任務(wù),如:人機界面監(jiān)控,這類任務(wù)對于機床運行和加工質(zhì)量的影響較小,其主要作用是讓操作者了解機床運行狀況,增強機床的易操作性。
任務(wù)之間具有相關(guān)性。數(shù)控系統(tǒng)的實時任務(wù)除了自身的時限要求以外,任務(wù)之間通常也不是完全獨立的,一般存在時序約束、資源約束等約束關(guān)系。
系統(tǒng)在某一確定時刻的并發(fā)任務(wù)數(shù)量不多,與通用實時操作系統(tǒng)不同,數(shù)控系統(tǒng)的功能單一,因此調(diào)度程序幾乎不需要處理較大數(shù)量的并發(fā)任務(wù)。
三、需求分析
數(shù)控控制系統(tǒng)通過良好的人機交互界面,完成顯示工作狀態(tài)、操作人員進(jìn)行參數(shù)設(shè)定等任務(wù),主要有以下幾個方面的綜合要求:
系統(tǒng)界面要求:圖形用戶界面可以實時顯示加工狀態(tài)、當(dāng)前時間、開機時間、加工時間、各個軸的坐標(biāo)位置,正在運行的關(guān)鍵G代碼程序段等信息;
系統(tǒng)功能要求:操作人員可以在符合國際標(biāo)準(zhǔn)的條件下,無需了解嵌入式數(shù)控系統(tǒng)的專用編程代碼,直接使用符合國際標(biāo)準(zhǔn)的G代碼和M代碼,即可編制數(shù)控程序;
系統(tǒng)的運行要求:操作人員可以根據(jù)需要點擊觸摸屏和鍵盤或機床面板按鈕,隨時監(jiān)控數(shù)控系統(tǒng)的工作狀態(tài);還可以通過參數(shù)設(shè)置實現(xiàn)對電機的控制,如電機的啟停,正反轉(zhuǎn)等等;
異常處理要求:在正常生產(chǎn)條件下,每天運行16小時,數(shù)控系統(tǒng)的無故障率P(t)≥99%,這要求其MTBF值(數(shù)控系統(tǒng)的平均無故障時間,是衡量可靠性的重要指標(biāo))大于3萬時;在硬件不受損壞的情況下,系統(tǒng)軟件要有較強的容錯能力。
未來可能提出的擴(kuò)展要求:如能實現(xiàn)遠(yuǎn)程的聯(lián)網(wǎng)控制、故障自診斷等、加工仿真、重要數(shù)據(jù)的備份、中英文界面切換等。
把上述提出的直觀需求轉(zhuǎn)化為具體的軟件功能需求,即為:
完成電機的啟動,制動和換向控制,實現(xiàn)加工過程中的主軸、近給速度實時調(diào)整。實現(xiàn)六軸的高精度聯(lián)動,并通過插補,完成工件的加工、磨削;在能夠滿足一定精度的前提下,實現(xiàn)自由曲線的粗插補和精插補;
圖形用戶界面要求:實現(xiàn)參數(shù)的圖形菜單輸入,加工過程的仿真,并實時顯示加工圖形和各軸坐標(biāo)值,用戶可以通過觸摸屏和鍵盤進(jìn)行參數(shù)設(shè)置,實現(xiàn)對電機的控制;實現(xiàn)伺服信號、開關(guān)量信號、和輔(未完,下一頁)
|