數(shù)控技術(shù)是各種先進(jìn)制造技術(shù)的奠基石,是一個(gè)國(guó)家先進(jìn)制造技術(shù)發(fā)展的重要基礎(chǔ),也是制造業(yè)信息化的重要保證。在科學(xué)技術(shù)發(fā)展的帶動(dòng)下,數(shù)控技術(shù)已經(jīng)隨著制造業(yè)的發(fā)展,成為衡量一個(gè)國(guó)家工業(yè)現(xiàn)代化的重要標(biāo)志。本文結(jié)合數(shù)控技術(shù)的發(fā)展以及嵌入式數(shù)控系統(tǒng)的研究,對(duì)嵌入式數(shù)控機(jī)床的進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn)。
隨著經(jīng)濟(jì)的發(fā)展,制造業(yè)逐漸成為影響國(guó)民經(jīng)濟(jì)的主要行業(yè),而制造技術(shù)的先進(jìn)性則成為衡量一個(gè)國(guó)家 現(xiàn)代化水平的重要標(biāo)志。作為各種先進(jìn)制造技術(shù)的基礎(chǔ),數(shù)控技術(shù)的發(fā)展對(duì)于社會(huì)的發(fā)展和穩(wěn)定起著越來越重要的作用。但是,就目前來看,我國(guó)傳統(tǒng)的數(shù)控機(jī)床還存在諸多的問題,與發(fā)達(dá)國(guó)家相比存在著較大的差距,需要對(duì)相應(yīng)的技術(shù)進(jìn)行更新,切實(shí)提高數(shù)控機(jī)床的技術(shù)水平。
數(shù)控機(jī)床的發(fā)展
數(shù)控機(jī)床,是對(duì)數(shù)值控制機(jī)床的簡(jiǎn)稱,指一種裝有程序控制系統(tǒng)的自動(dòng)化機(jī)床。其中,數(shù)控裝置、檢測(cè)裝置以及機(jī)床主體是構(gòu)成數(shù)控機(jī)床的三個(gè)主要部分。
數(shù)控機(jī)床發(fā)展歷程與計(jì)算機(jī)和微電子技術(shù)的發(fā)展是密不可分的,主要包括以下4個(gè)發(fā)展階段:硬件數(shù)控、計(jì)算機(jī)數(shù)控、高精度CNC以及開放式CNC。在當(dāng)前的發(fā)展形勢(shì)下,嵌入式系統(tǒng)的應(yīng)用使得數(shù)控機(jī)床有了新的發(fā)展。
嵌入式數(shù)控系統(tǒng)概述
2.1.嵌入式系統(tǒng)
嵌入式系統(tǒng),主要是指以計(jì)算機(jī)技術(shù)為基礎(chǔ),以功能應(yīng)用為中心,可以對(duì)軟件和硬件進(jìn)行裁剪的專用計(jì)算機(jī)系統(tǒng)優(yōu)化,具有功能齊全、能耗小、體積小、成本低、可靠性高等特點(diǎn),在多個(gè)領(lǐng)域都得到了廣泛應(yīng)用。
2.2.嵌入式系統(tǒng)開發(fā)數(shù)控系統(tǒng)的優(yōu)勢(shì)
以當(dāng)前嵌入式Linux系統(tǒng)為基礎(chǔ),對(duì)數(shù)控系統(tǒng)進(jìn)行開發(fā),其主要優(yōu)點(diǎn)如下:
①嵌入式Linux操作系統(tǒng)的源代碼具有開放性的特點(diǎn),適合開放式數(shù)控系統(tǒng)的開發(fā),同時(shí)便于更好地對(duì)數(shù)控系統(tǒng)進(jìn)行配置和修改,設(shè)計(jì)出真正意義上“開放”的數(shù)控系統(tǒng);
②系統(tǒng)適用范圍廣,對(duì)于硬件資源的依賴性較??;
③Linux自身功能模塊化的特點(diǎn),使得數(shù)控系統(tǒng)可以隨時(shí)添加新的功能模塊,便于功能的擴(kuò)展;
④自配網(wǎng)絡(luò)支持,可以為數(shù)控系統(tǒng)的網(wǎng)絡(luò)擴(kuò)展提供便利;
⑤嵌入式Linux操作系統(tǒng)自身的功能十分強(qiáng)大,且性能穩(wěn)定,可以切實(shí)保證數(shù)控系統(tǒng)開發(fā)的順利進(jìn)行。
嵌入式數(shù)控機(jī)床的設(shè)計(jì)與實(shí)現(xiàn)
以某數(shù)控機(jī)床的嵌入式數(shù)控系統(tǒng)的設(shè)計(jì)為例,對(duì)其進(jìn)行分析和闡述。作為一個(gè)多任務(wù)和實(shí)時(shí)性并存的系統(tǒng),數(shù)控機(jī)床對(duì)于數(shù)控系統(tǒng)的要求較高,單純依靠Linux雖然可以滿足系統(tǒng)的多任務(wù)操作,但是卻不能滿足其對(duì)于實(shí)時(shí)性的要求,因此,要在系統(tǒng)中添加DSP處理器,同時(shí),為了實(shí)現(xiàn)對(duì)伺服驅(qū)動(dòng)器的閉環(huán)控制,需要實(shí)現(xiàn)脈沖量和數(shù)字量之間的相互轉(zhuǎn)換,通常情況下,采用的FPGA實(shí)現(xiàn)這一目標(biāo)。
3.1.硬件構(gòu)架的設(shè)計(jì)
該數(shù)控機(jī)床的嵌入式系統(tǒng)框架可以分為三個(gè)基本模塊,即控制模塊、DSP模塊以及FPGA模塊。為了切實(shí)保證系統(tǒng)功能的發(fā)揮,使用ARM處理器XScalePXA270作為系統(tǒng)控制模塊的核心,TMS320c6713作為DSP模塊的核心,并通過相應(yīng)的數(shù)據(jù)、地址總線等,實(shí)現(xiàn)與FPGA的連接,利用FPGA實(shí)現(xiàn)對(duì)伺服驅(qū)動(dòng)器的閉環(huán)控制。
3.2.系統(tǒng)實(shí)時(shí)性分析
為了切實(shí)滿足數(shù)控系統(tǒng)的實(shí)時(shí)性,為操作人員提供舒適方便、人性化的操作界面,需要在設(shè)計(jì)時(shí)充分考慮系統(tǒng)實(shí)時(shí)性的分析和劃分問題。在數(shù)控機(jī)床的系統(tǒng)結(jié)構(gòu)下,軟件的運(yùn)行環(huán)境包括以下三種:
3.2.1.基于ARM的Linux環(huán)境
ARM憑借自身豐富的外圍接口和強(qiáng)大的控制功能,實(shí)現(xiàn)對(duì)數(shù)控系統(tǒng)的控制,而Linux系統(tǒng)雖然可以滿足多任務(wù)操作,但是實(shí)時(shí)性較差,因此在該環(huán)境下,適合運(yùn)行控制軟件,而不是運(yùn)算量較大的程序。
3.2.2.DSP環(huán)境
DSP具備處理速度快、數(shù)據(jù)運(yùn)算效率高的特點(diǎn),芯片上具有專用的硬件乘法器,在一個(gè)指令周期內(nèi),就可以完成一次乘法和一次加法。其處理器內(nèi)部不存在操作系統(tǒng),因此屬于單任務(wù)運(yùn)行,不存在對(duì)于進(jìn)程的調(diào)度問題,可以運(yùn)行對(duì)于實(shí)時(shí)性要求較高,或者運(yùn)算量大的軟件。
3.2.3.FPGA環(huán)境
FPGA的優(yōu)點(diǎn)在于具備超高速、豐富的邏輯資源,以及較為靈活的邏輯功能,可以通過合理配置,應(yīng)對(duì)多樣性的邏輯接口功能,適用于靈活多變的場(chǎng)合。FPGA具有極強(qiáng)的可編程能力,支持重復(fù)編程和邏輯編程,可以執(zhí)行一些實(shí)時(shí)性高、邏輯固定以及延遲低的任務(wù)和進(jìn)程。由于FPGA的運(yùn)行主要由硬件時(shí)序邏輯之間的配合完成,因此運(yùn)行速度高,實(shí)時(shí)性強(qiáng),但是控制功能較差,浮點(diǎn)運(yùn)算能力也相對(duì)較差。
在該數(shù)控系統(tǒng)中,內(nèi)部軟件主要包括:控制I/O的軟PLC部分、手輪控制、G代碼譯碼、粗插補(bǔ)和細(xì)插補(bǔ)、驅(qū)動(dòng)器脈沖伺服以及反饋、圖形用戶界面部分、以及信息通訊部分。其中,控制I/O的軟PLC部分、G代碼譯碼以及圖形用戶界面部分相對(duì)簡(jiǎn)單,而且對(duì)于實(shí)時(shí)性要求較低,因此可以將其放在一起進(jìn)行設(shè)計(jì),在Linux系統(tǒng)環(huán)境下運(yùn)行。與外界信息的交流組件,如U盤、SD卡等,由于其信息的存儲(chǔ)和讀取都需要通過Linux文件實(shí)現(xiàn),因此同樣放置在Linux內(nèi)核中,且不需要設(shè)置輔助程序。而粗插補(bǔ)和細(xì)插補(bǔ)、手輪控制對(duì)于軟件的實(shí)時(shí)性要求較高,其代碼在DSP中運(yùn)行。
數(shù)據(jù)在轉(zhuǎn)換過程中,為了防止脈沖丟失所引發(fā)的失步現(xiàn)象,避免其對(duì)于系統(tǒng)正常運(yùn)行的影響,將驅(qū)動(dòng)器脈沖伺服與反饋放在FPGA環(huán)境中運(yùn)行。
3.3.通訊功能的實(shí)現(xiàn)
為了確保不同模塊之間的相互協(xié)調(diào)和合作,保證系統(tǒng)功能的充分發(fā)揮,需要在模塊間建立相應(yīng)的通訊功能。這里模塊之間的通訊如下:
對(duì)于用戶而言,可以利用相應(yīng)的網(wǎng)絡(luò)或存儲(chǔ)設(shè)備,復(fù)制G代碼程度到Linux系統(tǒng)中,通過PXA270處理器,實(shí)現(xiàn)對(duì)于G代碼的后臺(tái)譯碼,從而將其轉(zhuǎn)換為坐標(biāo)值和功能號(hào)代碼,并進(jìn)行存儲(chǔ)。ARM在將數(shù)據(jù)寫給DSP之后,DSP可以利用粗插補(bǔ)和細(xì)插補(bǔ)程序,得到脈沖數(shù)和相應(yīng)的脈沖周期,并將之放入DSP緩沖隊(duì)列中。當(dāng)FPGA的時(shí)鐘信號(hào)觸發(fā)DSP中斷時(shí),DSP中的相關(guān)程序會(huì)將脈沖數(shù)和相應(yīng)的脈沖周期從緩沖隊(duì)列中提取,發(fā)送給FPGA,而DSP則根據(jù)數(shù)據(jù)發(fā)送的脈沖數(shù),對(duì)機(jī)床加工刀具位置坐標(biāo)進(jìn)行計(jì)算。將計(jì)算出的坐標(biāo)傳輸給PXA270,在圖形用戶界面顯示出來,并反饋給FPGA,對(duì)伺服驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),進(jìn)而確保數(shù)控機(jī)床的數(shù)控功能可以得到充分發(fā)揮。如果用戶選擇手輪驅(qū)動(dòng)伺服電機(jī),則FPGA會(huì)將手輪信息傳輸給DSP,經(jīng)過快速處理后,將數(shù)據(jù)轉(zhuǎn)化而成的脈沖數(shù)發(fā)回FPGA,進(jìn)而驅(qū)動(dòng)伺服電機(jī)。
總之,隨著數(shù)控化技術(shù)在機(jī)床中的應(yīng)用越來越廣泛,對(duì)于數(shù)控系統(tǒng)的功能也提出了更高的要求。目前,我國(guó)對(duì)于嵌入式數(shù)控機(jī)床的研究尚處于起步階段,與發(fā)達(dá)國(guó)家存在較大的差距,而數(shù)控系統(tǒng)的性能對(duì)于實(shí)現(xiàn)制造業(yè)的自動(dòng)化、智能化和集成化有著至關(guān)重要的作用。因此,加強(qiáng)對(duì)于嵌入式數(shù)控機(jī)床的自主研究和開發(fā),提高數(shù)控系統(tǒng)的性能,不僅可以提升我國(guó)數(shù)控產(chǎn)業(yè)的整體水平,還可以提高社會(huì)經(jīng)濟(jì)的發(fā)展水平,推動(dòng)社會(huì)持續(xù)穩(wěn)定發(fā)展。