王 濤 劉清建 王太勇 王立文
1.中國(guó)民航大學(xué),天津,300300 2.天津大學(xué)天津市先進(jìn)制造技術(shù)與裝備重點(diǎn)實(shí)驗(yàn)室,天津,300072
可重構(gòu)數(shù)控系統(tǒng)是當(dāng)前開放式數(shù)控技術(shù)的一個(gè)研究熱點(diǎn),與傳統(tǒng)數(shù)控系統(tǒng)相比,可重構(gòu)數(shù)控系統(tǒng)具有很多優(yōu)點(diǎn)[1]。當(dāng)前對(duì)數(shù)控可重構(gòu)技術(shù)的研究主要集中在以下幾個(gè)方面:①將現(xiàn)場(chǎng)可編程邏輯器件作為硬件系統(tǒng)的一個(gè)功能模塊,研究如何對(duì)其實(shí)時(shí)編程以實(shí)現(xiàn)對(duì)硬件系統(tǒng)的重構(gòu)設(shè)計(jì)[2-3];②利用組件技術(shù)設(shè)計(jì)數(shù)控系統(tǒng),使數(shù)控軟件系統(tǒng)具有一定的可重構(gòu)性[4],或研究 Windows系統(tǒng)的特點(diǎn),基于 Windows系統(tǒng)設(shè)計(jì)可重構(gòu)的軟件模型[5];③為了方便系統(tǒng)功能模塊的增減,研究總線技術(shù)在可重構(gòu)數(shù)控設(shè)計(jì)中的應(yīng)用,利用通用串行總線設(shè)計(jì)系統(tǒng)模塊間的通信[6]。上述研究的不足是:忽略了可重構(gòu)數(shù)控系統(tǒng)的實(shí)現(xiàn)需要硬件、軟件和模塊間通信的協(xié)同設(shè)計(jì)。因此,本文將數(shù)控系統(tǒng)的重構(gòu)分成相關(guān)聯(lián)的3個(gè)層次:硬件系統(tǒng)重構(gòu)、軟件系統(tǒng)重構(gòu)和模塊級(jí)重構(gòu),并通過(guò)一個(gè)實(shí)際數(shù)控系統(tǒng)的設(shè)計(jì),來(lái)闡述3個(gè)層次的應(yīng)用及其相互關(guān)系。
圖1所示為數(shù)控系統(tǒng)的可重構(gòu)硬件開發(fā)平臺(tái),以ARM、DSP和FPGA為硬件平臺(tái)核心,系統(tǒng)采用主從式雙CPU設(shè)計(jì)。ARM處理器作為主芯片,具有通信管理、網(wǎng)絡(luò)管理、人機(jī)交互、指令譯碼、故障診斷等功能。DSP具有軟件插補(bǔ)、位置控制、誤差控制等功能。FPGA用于硬件插補(bǔ)器和外圍接口電路的設(shè)計(jì)。由于FPGA能夠通過(guò)編程改變其內(nèi)部的硬件電路時(shí)序關(guān)系,所以數(shù)控系統(tǒng)的插補(bǔ)模塊和外圍接口電路能夠根據(jù)整個(gè)系統(tǒng)的重構(gòu)需要進(jìn)行重新配置,使該硬件平臺(tái)具有很強(qiáng)的重構(gòu)能力。存儲(chǔ)器主要用于整個(gè)系統(tǒng)運(yùn)行的程序和數(shù)據(jù)的存儲(chǔ)。各種硬件功能模塊包括顯示控制模塊、鍵盤控制模塊、數(shù)據(jù)采集模塊、PLC控制模塊等,主要用于實(shí)現(xiàn)各種具體應(yīng)用功能。
筆者設(shè)計(jì)的可重構(gòu)數(shù)控系統(tǒng)軟件平臺(tái)如圖2所示,由如下幾個(gè)部分組成。
(1)硬件服務(wù)模塊。該模塊的主要功能為:①系統(tǒng)開始運(yùn)行時(shí),對(duì)硬件模塊進(jìn)行初始化;②系統(tǒng)運(yùn)行過(guò)程中,其余軟件模塊只能通過(guò)硬件服務(wù)模塊對(duì)硬件進(jìn)行操作;③硬件模塊進(jìn)行重構(gòu)時(shí),用VHDL語(yǔ)言描述的文件通過(guò)該模塊裝載入FPGA模塊。
圖1 數(shù)控系統(tǒng)可重構(gòu)硬件開發(fā)平臺(tái)
(2)實(shí)時(shí)操作系統(tǒng)模塊。將自行開發(fā)的嵌入式實(shí)時(shí)操作系統(tǒng)TDNC-OS作為系統(tǒng)任務(wù)調(diào)度與開發(fā)平臺(tái),該模塊的主要功能是處理由內(nèi)外部事件引發(fā)的文件系統(tǒng)或功能任務(wù)的調(diào)度以及相應(yīng)設(shè)備驅(qū)動(dòng)的激活等。
(3)軟件重構(gòu)配置模塊。該模塊的功能為:①原有系統(tǒng)參數(shù)的重新配置重構(gòu);②新功能的加入或新系統(tǒng)的重構(gòu)生成。
(4)其余軟件功能模塊。包括文件系統(tǒng)模塊、各種插補(bǔ)功能模塊、各種交互模塊等,主要用于完成系統(tǒng)具體的工作功能[7]。
圖2 可重構(gòu)數(shù)控系統(tǒng)軟件平臺(tái)結(jié)構(gòu)
1.2.1 基于FPGA的硬件可重構(gòu)模塊設(shè)計(jì)
數(shù)控系統(tǒng)的可重構(gòu)性要求數(shù)控系統(tǒng)能適時(shí)地調(diào)整自身的硬件結(jié)構(gòu)以滿足重構(gòu)要求?,F(xiàn)場(chǎng)可編程邏輯器件具有硬件電路在線可編程的特性,即它的硬件結(jié)構(gòu)可以像軟件程序一樣被動(dòng)態(tài)調(diào)整或修改[8]。圖3為基于FPGA的可重構(gòu)系統(tǒng)的結(jié)構(gòu)框圖,該系統(tǒng)可實(shí)現(xiàn)對(duì)數(shù)控系統(tǒng)從兩軸聯(lián)動(dòng)到五軸聯(lián)動(dòng)的重構(gòu)設(shè)計(jì)。由圖3可知,可重構(gòu)模塊是ARM模塊、DSP模塊、交互模塊和總線接口模塊彼此間通信的橋梁。它不僅為信號(hào)傳遞提供可靠的通路,而且通過(guò)裝載不同的配置文件,可重構(gòu)出不同功能的數(shù)控系統(tǒng)。驅(qū)動(dòng)模塊和外部I/O接口模塊(主要用于數(shù)控機(jī)床電氣的控制)通過(guò)串行工業(yè)現(xiàn)場(chǎng)總線與數(shù)控系統(tǒng)相連,減小了模塊之間連線的復(fù)雜度,提高了通信的可靠性,使整個(gè)系統(tǒng)模塊的增減更加簡(jiǎn)便,極大縮短了數(shù)控系統(tǒng)模塊級(jí)的重構(gòu)時(shí)間。
圖3 基于FPGA的可重構(gòu)系統(tǒng)的結(jié)構(gòu)框圖
基于常規(guī)SRAM編程,本系統(tǒng)基于FPGA的動(dòng)態(tài)配置方案如圖4所示。配置參數(shù)模塊中的數(shù)據(jù)按照邏輯功能存放,用于配置FPGA內(nèi)部的各邏輯模塊。外部緩沖SRAM在ARM控制下,對(duì)系統(tǒng)重建時(shí)隙給予自適應(yīng)的邏輯補(bǔ)償,保證系統(tǒng)邏輯時(shí)序上的連續(xù)。系統(tǒng)整體功能采用FPGA硬件復(fù)用形式構(gòu)筑,但系統(tǒng)功能的整合(系統(tǒng)重構(gòu)、時(shí)隙補(bǔ)償)由ARM規(guī)劃和控制。
圖4 FPGA的動(dòng)態(tài)配置方案
1.2.2 數(shù)控系統(tǒng)引導(dǎo)型軟件重構(gòu)開發(fā)平臺(tái)的研究
數(shù)控系統(tǒng)的硬件重構(gòu)和軟件重構(gòu)必須同步進(jìn)行,才能實(shí)現(xiàn)整個(gè)系統(tǒng)的重構(gòu)。根據(jù)該數(shù)控系統(tǒng)的結(jié)構(gòu)特點(diǎn),筆者設(shè)計(jì)了一種具有引導(dǎo)功能的系統(tǒng)重構(gòu)開發(fā)平臺(tái),如圖5所示。開發(fā)平臺(tái)采用一種引導(dǎo)開發(fā)的模式,借助于預(yù)先定義的各種信息庫(kù),將使用特殊語(yǔ)言描述的用戶功能要求轉(zhuǎn)換成信息庫(kù)中特定策略的組合,然后通過(guò)與ARM和DSP相匹配的代碼編譯器,將策略描述翻譯后,再通過(guò)下載電纜傳送至數(shù)控系統(tǒng)。
軟件重構(gòu)開發(fā)包括語(yǔ)言描述和引導(dǎo)設(shè)置兩種開發(fā)方式。語(yǔ)言描述方式采用結(jié)構(gòu)化的功能機(jī)制,預(yù)先定義出系統(tǒng)重構(gòu)的算法結(jié)構(gòu),用戶只需根據(jù)算法的提示加入自己功能要求的描述。圖6所示為重構(gòu)描述語(yǔ)言的結(jié)構(gòu),圖中定義了一種新的插補(bǔ)算法來(lái)完成所需的復(fù)雜曲線擬合。開發(fā)平臺(tái)提供獨(dú)立的結(jié)構(gòu)化描述語(yǔ)言,采用面向?qū)ο蟮木幊趟枷耄怨δ軐?duì)象群組的方式來(lái)描述數(shù)控組件對(duì)象的特定工作狀態(tài)。語(yǔ)言描述方案可以通過(guò)靈活定義的算法規(guī)范深入系統(tǒng)內(nèi)部的軟件構(gòu)成細(xì)節(jié),適用于系統(tǒng)底層策略方案的自定義重構(gòu)配置。引導(dǎo)設(shè)置采用開發(fā)向?qū)У男问揭詧D形化詢問(wèn)界面來(lái)定制用戶的重構(gòu)需求,一般用于較為簡(jiǎn)單的重構(gòu)開發(fā)。圖7所示為運(yùn)動(dòng)擬合精度的重新設(shè)定,較為簡(jiǎn)單,只需修改一些參數(shù),因此,采用引導(dǎo)設(shè)置方式進(jìn)行開發(fā)。
圖5 重構(gòu)開發(fā)平臺(tái)的理論模型
圖6 重構(gòu)描述語(yǔ)言的結(jié)構(gòu)
圖7 軌跡擬合精度的重新設(shè)定
數(shù)控系統(tǒng)的模塊級(jí)重構(gòu)要求重構(gòu)過(guò)程簡(jiǎn)便快速,重構(gòu)后的系統(tǒng)運(yùn)行安全可靠,在物理空間上能夠靈活分布[9]。PROFIBUS-DP是經(jīng)過(guò)優(yōu)化的高速廉價(jià)的通信總線,專用于自動(dòng)化系統(tǒng)中分散的現(xiàn)場(chǎng)設(shè)備之間的通信。特別適合于分布式數(shù)字控制系統(tǒng)的高速數(shù)據(jù)傳輸。筆者基于前述的可重構(gòu)軟硬件數(shù)控平臺(tái),將12Mbit/s的PROFIBUSDP作為數(shù)控系統(tǒng)模塊間的通信總線,成功開發(fā)出了TDNCM4數(shù)控系統(tǒng),圖8為TDNCM4數(shù)控系統(tǒng)分布式模塊結(jié)構(gòu)圖。在此基礎(chǔ)上,下文將研究重構(gòu)出新的更高性能的五軸聯(lián)動(dòng)數(shù)控系統(tǒng)TDNCH8的策略方法。
圖8 TDNCM4數(shù)控系統(tǒng)結(jié)構(gòu)圖
圖9為將要設(shè)計(jì)的TDNCH8數(shù)控系統(tǒng)的分布式模塊結(jié)構(gòu)圖,與圖8相比最顯著的變化就是增加了1個(gè)I/O控制器從節(jié)點(diǎn)和4個(gè)進(jìn)給驅(qū)動(dòng)從節(jié)點(diǎn),變化的原因是TDNCH8數(shù)控系統(tǒng)需具有控制八軸五聯(lián)動(dòng)的能力。
圖9 TDNCH8數(shù)控系統(tǒng)結(jié)構(gòu)圖
表1列出了TDNCM4和TDNCH8數(shù)控系統(tǒng)在功能上的相同和不同之處,同時(shí)給出了從TDNCM4重構(gòu)出TDNCH8系統(tǒng)時(shí)各種功能所采用的重構(gòu)方式,“√”表示所在列的重構(gòu)方式被采用。表1中所列數(shù)控功能的重構(gòu)主要分為3類:
(1)不變。指TDNCM4和TDNCH8共有的功能。如平面直線插補(bǔ)、空間直線插補(bǔ)等功能,在數(shù)控系統(tǒng)重構(gòu)升級(jí)的過(guò)程中,這部分功能可直接用到新的數(shù)控系統(tǒng)中。
(2)增加。指TDNCM4系統(tǒng)有此功能,但由于控制軸數(shù)的增加而必須對(duì)其進(jìn)行擴(kuò)展。如最大進(jìn)給軸數(shù)、坐標(biāo)系統(tǒng)等功能,需要從四軸增加到八軸。最大進(jìn)給軸數(shù)的擴(kuò)展是這樣實(shí)現(xiàn)的:硬件重構(gòu)增加軸控制通道數(shù),軟件重構(gòu)解決新增軸的位置控制和配置問(wèn)題,模塊重構(gòu)使新增的進(jìn)給軸物理載體(一般是伺服電機(jī)驅(qū)動(dòng)器和伺服電機(jī))方便地連接到數(shù)控系統(tǒng)主控器上。顯而易見,為實(shí)現(xiàn)控制軸數(shù)的重構(gòu)升級(jí),3種重構(gòu)方式必須同時(shí)采用,缺一不可。坐標(biāo)系統(tǒng)只需利用軟件重構(gòu)的方式,在前面提到的引導(dǎo)型軟件重構(gòu)平臺(tái)上,在坐標(biāo)系統(tǒng)函數(shù)庫(kù)中增加新增四軸的坐標(biāo)處理函數(shù)即可實(shí)現(xiàn),硬件重構(gòu)和模塊重構(gòu)的方式未用到。
(3)新增。指TDNCM4沒(méi)有,而TDNCH8新增的功能。主要是一些更高級(jí)的插補(bǔ)功能,需要通過(guò)軟件重構(gòu)的方式來(lái)實(shí)現(xiàn)。
表1 TDNCM4系統(tǒng)和TDNCH8系統(tǒng)主要功能對(duì)比
從上述分析中可以看出,基于TDNCM4系統(tǒng)重構(gòu)出TDNCH8系統(tǒng)必須同時(shí)利用數(shù)控系統(tǒng)的硬件重構(gòu)、軟件重構(gòu)和模塊級(jí)重構(gòu)技術(shù),三者相輔相成,密不可分。換個(gè)角度分析,我們可以把數(shù)控系統(tǒng)的重構(gòu)分為3個(gè)層次:①核心功能重構(gòu)(一般指控制軸數(shù)和聯(lián)動(dòng)軸數(shù)的改變)需要同時(shí)采用3種重構(gòu)方式才能實(shí)現(xiàn);②工作功能(主要指插補(bǔ)功能)重構(gòu),只需通過(guò)軟件重構(gòu)就能實(shí)現(xiàn);③輔助功能(包括坐標(biāo)系統(tǒng)、程序管理系統(tǒng)、刀具管理系統(tǒng)等)重構(gòu),只需通過(guò)軟件重構(gòu)就能實(shí)現(xiàn)。只要判斷出一個(gè)數(shù)控系統(tǒng)的重構(gòu)升級(jí)屬于哪個(gè)層次,就能決定其應(yīng)該采用的重構(gòu)方式,例如,如果只是想把刀具管理系統(tǒng)管理的刀具數(shù)從1024增加到2048,只需進(jìn)行軟件重構(gòu)就可以。實(shí)際上,這種重構(gòu)并未改變TDNCM4系統(tǒng)的根本性能,而是擴(kuò)充或增強(qiáng)了其輔助功能。但如果把TDNCM4系統(tǒng)的控制軸數(shù)和聯(lián)動(dòng)軸數(shù)分別增加到8和5時(shí)的數(shù)控系統(tǒng)的重構(gòu)屬于核心功能的重構(gòu),需3種重構(gòu)方式同時(shí)使用才能實(shí)現(xiàn),而且重構(gòu)后的系統(tǒng)在根本性能上與TDNCM4系統(tǒng)相比已經(jīng)有了質(zhì)的飛躍,新的更高性能的數(shù)控系統(tǒng)已經(jīng)誕生。因此,如果一個(gè)可重構(gòu)的數(shù)控系統(tǒng)平臺(tái)具備上述3個(gè)層次的重構(gòu)能力,那么必將能開發(fā)出從低端到高端的系列化數(shù)控產(chǎn)品。
在實(shí)際應(yīng)用中,通過(guò)對(duì)TDNCM4數(shù)控系統(tǒng)的軟硬件和組成模塊的重構(gòu)設(shè)計(jì),成功開發(fā)出了五軸聯(lián)動(dòng)數(shù)控系統(tǒng)TDNCH8,并將其應(yīng)用在TDNCM80A五軸加工中心上。顯然TDNCM4和TDNCH8基于同一種設(shè)計(jì)結(jié)構(gòu),屬同一個(gè)產(chǎn)品系列,只是性能高低不同。同理,采用相同的重構(gòu)方法,也能方便地重構(gòu)出車床控制系統(tǒng)、磨床控制系統(tǒng)等,從而形成一個(gè)數(shù)控系統(tǒng)產(chǎn)品系列。
論文提出從數(shù)控系統(tǒng)設(shè)計(jì)的硬件、軟件和模塊3個(gè)層次來(lái)研究可重構(gòu)數(shù)控系統(tǒng)的設(shè)計(jì),并給出了各個(gè)層次重構(gòu)的實(shí)現(xiàn)方法。研究了3個(gè)層次在系統(tǒng)重構(gòu)中協(xié)同應(yīng)用的問(wèn)題,并以一個(gè)實(shí)際設(shè)計(jì)為例,給出了不同數(shù)控功能重構(gòu)的3種層次的選擇方法。課題后續(xù)的工作將著重于進(jìn)一步研究重構(gòu)過(guò)程中的軟硬件協(xié)同設(shè)計(jì)問(wèn)題以及數(shù)控系統(tǒng)重構(gòu)和機(jī)床重構(gòu)的關(guān)系問(wèn)題。
[1]齊繼陽(yáng),竺長(zhǎng)安,王歡.基于USB和組件技術(shù)的可重構(gòu)數(shù)控系統(tǒng)的研制[J].制造技術(shù)與機(jī)床,2007(12):17-20.
[2]Roque A O,Rene de J R,Gilberto H,et al.The Application of Reconfigurable Logic to High Speed CNC Milling Machines Controllers[J].Control Engineering Practices,2008,16(6):674-684.
[3]秦興,王文,李為建,等.基于FPGA的硬件可重構(gòu)數(shù)控系統(tǒng)的研制[J].儀器儀表學(xué)報(bào),2002,23(3):407-409.
[4]齊繼陽(yáng),竺長(zhǎng)安.基于通用串行總線的可重構(gòu)數(shù)控系統(tǒng)的研究[J].計(jì)算機(jī)集成制造系統(tǒng)—CIMS,2004,10(12):1567-1570.
[5]文立偉,王永章,路華,等.基于開放結(jié)構(gòu)控制器的可重構(gòu)數(shù)控系統(tǒng)[J].計(jì)算機(jī)集成制造系統(tǒng)—CIMS,2003,9(11):1018-1022.
[6]Wang Yuhan,Hu Jun,Li Ye.Study on a Reconfigurable Model of an Open CNC Kernel[J].Journal of Materials Processing Technology,2003,138(1/3):472-474.
[7]王太勇,王濤,楊潔,等.基于嵌入式技術(shù)的數(shù)控系統(tǒng)開發(fā)設(shè)計(jì)[J].天津大學(xué)學(xué)報(bào),2006,39(12):1509-1515.
[8]徐躍,王太勇,趙艷菊,等.基于ARM和DSP的可重構(gòu)數(shù)控系統(tǒng)[J].吉林大學(xué)學(xué)報(bào)(工學(xué)版),2008,38(4):848-851.
[9]王太勇,李波,萬(wàn)淑敏,等.基于現(xiàn)場(chǎng)總線的可重構(gòu)數(shù)控系統(tǒng)的研究[J].計(jì)算機(jī)集成制造系統(tǒng),2006,12(10):1662-1667.