周晨鐘+李劍偉+皮佑國(guó)
摘 要: 在以德州儀器(TI)公司的DSP為主控芯片,F(xiàn)PGA為輔助控制的運(yùn)動(dòng)控制器硬件平臺(tái)上,采用TI公司的BIOS實(shí)時(shí)內(nèi)核,提出一種運(yùn)動(dòng)控制器軟件架構(gòu)方案。該方案可以針對(duì)不同用戶需求進(jìn)行功能組件二次開發(fā)和移植,軟件源代碼采用模塊化設(shè)計(jì),具有標(biāo)準(zhǔn)化函數(shù)接口,可維護(hù)性良好。經(jīng)過實(shí)驗(yàn)測(cè)試,能滿足開放性、實(shí)時(shí)性、可移植性的要求。
關(guān)鍵詞: 數(shù)控系統(tǒng); 軟件架構(gòu); 數(shù)字信號(hào)處理器; BIOS
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)20?0065?05
Software system architecture of motion controller based on DSP and BIOS kernel
ZHOU Chen?zhong, LI Jian?wei, PI You?guo
(DOE Key Lab of Autonomous System and Network Control, South China University of Technology, Guangzhou 510640, China)
Abstract: Texas Instruments (TI) companys BIOS real?time kernel was used on the controller hardware platform, which takes TIs DSP as the main control chip and FPGA as the auxiliary control device. A software architecture solution for a motion controller is proposed, in which the secondary development and transplantation of functional components can be achieved according to the needs of different users. The modular design is adopted for software source code, which has standardized function interface and good maintainability. The experimental test indicates it can meet the requirements of openness, real time and portability.
Keywords: CNC system; software architecture; DSP; BIOS
0 引 言
作為數(shù)控系統(tǒng)核心控制部件的運(yùn)動(dòng)控制器,市場(chǎng)上有基于單片機(jī)、基于ARM為主控處理+FPGA/CPLD作為輔控處理、基于DSP為主控處理+FPGA/CPLD作為輔控處理等多種硬件平臺(tái)的解決方案。在不同的硬件平臺(tái)上,軟件系統(tǒng)調(diào)度方案可以采用μC/OS?Ⅱ,BIOS,RT?Linux,VxWorks等多種實(shí)時(shí)操作系統(tǒng)內(nèi)核,因而衍生出各種軟件系統(tǒng)的架構(gòu)方案[1]。采用TI公司TMS320C6713系列DSP芯片為主控芯片+FPGA作為輔控芯片的硬件平臺(tái)的解決方案,其數(shù)據(jù)吞吐量和高速浮點(diǎn)運(yùn)算上具有一般單片機(jī)不可比擬的優(yōu)勢(shì)。而采用TI公司的DSP芯片和CCS的開發(fā)平臺(tái),可以使用配套的非開放源代碼的BIOS實(shí)時(shí)內(nèi)核,在中小型數(shù)控系統(tǒng)應(yīng)用開發(fā)上,其更加專業(yè),相比采用ARM硬件平臺(tái)而使用的開放性源代碼的實(shí)時(shí)操作系統(tǒng)內(nèi)核,采用DSP硬件平臺(tái)與BIOS內(nèi)核的運(yùn)動(dòng)控制器穩(wěn)定性更好,能夠節(jié)約實(shí)時(shí)操作系統(tǒng)移植和測(cè)試時(shí)間,縮短開發(fā)周期,因而其是一種合理有效的解決方案[2]。
為了能夠在該平臺(tái)上進(jìn)行有效的模塊化數(shù)控功能組件的開發(fā)、維護(hù)和移植,本文提出了一種標(biāo)準(zhǔn)化的軟件分層與接口架構(gòu)方案。該方案可作為一種設(shè)計(jì)模式,滿足不同用戶的基本功能與二次開發(fā)需求。
1 系統(tǒng)整體方案
1.1 運(yùn)動(dòng)控制器硬件實(shí)現(xiàn)平臺(tái)
本文采用的運(yùn)動(dòng)控制器的硬件系統(tǒng)[3]框圖如圖1所示。其中,TMS320C6713系列DSP具有浮點(diǎn)運(yùn)算器,能快速高效地完成工件加工軌跡插補(bǔ)計(jì)算。其集成外部擴(kuò)展擴(kuò)的EDMA和EMIF總線具有數(shù)據(jù)吞吐量大的特點(diǎn)。該DSP主頻為225 MHz,對(duì)應(yīng)的指令周期為4.4 ns,相應(yīng)的運(yùn)算速度可達(dá)1 800 MIPS/1 350 MFLOPS,適用于中小型數(shù)控系統(tǒng)主控制器的需求[4]。
ACTEL公司的A3P400系類FPGA是一種高密度,等效40萬(wàn)門器件,其可配置的I/O可以兼容多種類型的數(shù)字電平。另外ACTEL公司提供的Libero集成開發(fā)工具,能提供數(shù)字PLL、高速FIFO等多種通用型軟核模塊,能夠節(jié)約開開發(fā)時(shí)間與成本,是作為運(yùn)動(dòng)控制器外部通信總線接口的一種可靠高效的硬件方案。
圖1 運(yùn)動(dòng)控制器硬件結(jié)構(gòu)圖
1.2 系統(tǒng)軟件層次劃分
本文軟件系統(tǒng)采用三層結(jié)構(gòu)劃分[1],其層次結(jié)構(gòu)如圖2所示。
圖2 軟件架構(gòu)層次圖
(1) 用戶應(yīng)用接口層??筛鶕?jù)具體的用戶需求開發(fā)各種功能的數(shù)控應(yīng)用模塊,并將各功能模塊作為組件通過接口嵌入到系統(tǒng)軟件中來(lái)。本文所開發(fā)的基礎(chǔ)用戶組件塊及其功能將在下一節(jié)詳細(xì)描述。
(2) BIOS內(nèi)核層。采用TI公司的CCS3.3提供的BIOS內(nèi)核以及其各種內(nèi)核組件,可有效縮短內(nèi)核移植和測(cè)試時(shí)間。CCS3.3提供圖形化界面接口,如圖3所示。其可對(duì)內(nèi)核各個(gè)組件進(jìn)行配置和應(yīng)用。它的內(nèi)核通過編譯后將在文件鏈接時(shí)植入程序,生成最后可執(zhí)行文件。
(3) 硬件驅(qū)動(dòng)層。用于管理運(yùn)動(dòng)控制器板卡上與DSP相連的各個(gè)硬件設(shè)備的驅(qū)動(dòng),并為內(nèi)核與用戶應(yīng)用層提供硬件訪問接口。板卡硬件包括:FIFO通信緩沖器、CNC脈沖發(fā)生器、UART總線控制器、SERCOS總線控制器等。外部模擬數(shù)字硬件設(shè)備采用FPGA或?qū)S肐C實(shí)現(xiàn)。
圖3 BIOS內(nèi)核圖形化配置界面
2 用戶應(yīng)用軟件任務(wù)劃分
用戶應(yīng)用軟件組件模塊可分為基礎(chǔ)組件和擴(kuò)展組件[5]。基礎(chǔ)組件提供數(shù)控系統(tǒng)基本的加工、維護(hù)、調(diào)試、監(jiān)控等各種接口控制功能。擴(kuò)展組件根據(jù)特定的用戶需求可選擇性裁剪安裝,一般擴(kuò)展組件包括軟PLC編程接口,SERCOS總線、脈沖、TCP/IP、UART等各種通信協(xié)議數(shù)據(jù)包解析與格式轉(zhuǎn)換等功能。BIOS內(nèi)核是一款多任務(wù)實(shí)時(shí)內(nèi)核,可以在系統(tǒng)多個(gè)用戶基礎(chǔ)任務(wù)之間進(jìn)行調(diào)度。本文所描述系統(tǒng)基本用戶組件任務(wù)劃分見圖4。
圖4 運(yùn)動(dòng)控制器硬件結(jié)構(gòu)圖
2.1 HMI任務(wù)
HMI通信數(shù)據(jù)包幀格式如表1所示。HIM任務(wù)處理流程如圖5所示。
(1) 通信數(shù)據(jù)包格式。通信數(shù)據(jù)包格式固定,但功能信息結(jié)構(gòu)格式不固定[6]。不同的信息,如調(diào)試信息、G代碼腳本信息的內(nèi)容等采用不同的信息格式,這樣用戶在增加新的功能組件時(shí),只要自己編寫新的信息格式和編碼與解析方式,就能利用原有的通信協(xié)議進(jìn)行開發(fā),使得系統(tǒng)代碼能夠移植和重新利用。
表1 HMI數(shù)據(jù)包幀格式
圖5 HIM任務(wù)處理流程圖
(2) 數(shù)據(jù)包生成器。從已處理完的HMI信息隊(duì)列中按照不同約定信息格式讀取信息,并按照數(shù)據(jù)包的格式為其添加幀頭、物理地址、校驗(yàn)碼等,生成一組數(shù)據(jù)幀,并將該數(shù)據(jù)幀通過EMIF總線寫入FPGA中的UART發(fā)送FIFO,待其轉(zhuǎn)換為對(duì)應(yīng)數(shù)字電平發(fā)送給上位機(jī)。
(3) 數(shù)據(jù)包解析器。通過EMIF總線從在FPGA中實(shí)現(xiàn)的UART總線接收FIFO中讀取一個(gè)數(shù)據(jù)幀,并按照約定的用戶應(yīng)用的解析方式解析成對(duì)應(yīng)的信息,并將信息加載到HMI接收信息隊(duì)列,等待數(shù)據(jù)處理與交換任務(wù)啟動(dòng)進(jìn)行處理。
2.2 用戶數(shù)據(jù)處理與交換任務(wù)
用戶數(shù)據(jù)處理與交換任務(wù)流程如圖6所示。
本系統(tǒng)提供G代碼腳本解釋器、調(diào)試維護(hù)命令殼、系統(tǒng)錯(cuò)誤診斷器三個(gè)基礎(chǔ)組件。用戶可根據(jù)特定需求植入新的組件,并編寫對(duì)應(yīng)組件接口信息編碼與解析方式。
(1) G代碼腳本解釋器[7]
數(shù)控G代碼解釋的方案很多。部分廠商采用在上位機(jī)解析成配置信息碼,并發(fā)送給運(yùn)動(dòng)控制器的方案。但此方案會(huì)增加數(shù)據(jù)通信量,使得通信時(shí)延增加。本系統(tǒng)采用的方案是:上位機(jī)以字符串格式將數(shù)控G代碼腳本信息打包發(fā)送給運(yùn)動(dòng)控制器,運(yùn)動(dòng)控制器對(duì)字符串進(jìn)行重新組合,并通過識(shí)別組合碼配置數(shù)控參數(shù)控制塊。該方案可以減少通信負(fù)擔(dān),減小通信延時(shí),但是將增大DSP的運(yùn)算處理量。因?yàn)镈SP運(yùn)算速度明顯要塊于通信傳輸速率,所以該方案是一種合理的折中方案。
圖6 用戶數(shù)據(jù)處理與交換任務(wù)流程圖
(2) 調(diào)試維護(hù)命令殼
該功能用于系統(tǒng)開發(fā)階段和系統(tǒng)維護(hù)階段。系統(tǒng)集成該功能夠之后,根據(jù)開發(fā)人員提供的維護(hù)指令手冊(cè),在上位機(jī)輸入維護(hù)指令,返回運(yùn)動(dòng)控制器相應(yīng)的關(guān)鍵系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的運(yùn)行狀態(tài)碼,能幫助維護(hù)人員快速地判斷系統(tǒng)運(yùn)行中的故障,并為數(shù)控機(jī)床每個(gè)加工軸提供電機(jī)測(cè)試接口。
(3) 系統(tǒng)錯(cuò)誤診斷器
負(fù)責(zé)管理和存儲(chǔ)數(shù)控系統(tǒng)需要監(jiān)控運(yùn)行的重要模塊信息,一旦重要模塊運(yùn)行發(fā)生故障,則把錯(cuò)誤編碼保存在系統(tǒng)錯(cuò)誤診斷器中,并在任務(wù)運(yùn)行時(shí)將錯(cuò)誤碼發(fā)送給上位機(jī)。
2.3 運(yùn)動(dòng)控制任務(wù)
運(yùn)動(dòng)控制任務(wù)是運(yùn)動(dòng)控制器最核心的部分,也是BIOS內(nèi)核所管理的任務(wù)中優(yōu)先級(jí)最高的一個(gè)任務(wù)。不同廠商的控制器有不同的實(shí)現(xiàn)方案。為了能夠清晰理解與移植本文所述系統(tǒng)的運(yùn)動(dòng)控制程序,圖7給出了運(yùn)動(dòng)控制的行為與數(shù)據(jù)流框圖。
根據(jù)圖7所描述的運(yùn)動(dòng)控制行為,編寫的運(yùn)動(dòng)控制任務(wù)程序的流程圖如圖8所示。
圖7 運(yùn)動(dòng)控制的行為與數(shù)據(jù)流圖
圖8 運(yùn)動(dòng)控制任務(wù)流程圖
(1) 加工軌跡計(jì)算。加工軌跡計(jì)算控制器,綜合數(shù)控配置參數(shù)與實(shí)時(shí)的反饋數(shù)據(jù),通過各種數(shù)值計(jì)算方法,進(jìn)行各種數(shù)控插補(bǔ)計(jì)算,得到最終的加工數(shù)據(jù),可以通過脈沖編碼格式或者SERCOS通信總線,發(fā)送給控制CNC的每個(gè)軸的伺服電機(jī)驅(qū)動(dòng)器,控制電機(jī)的旋轉(zhuǎn)與進(jìn)給。
(2) 電機(jī)驅(qū)動(dòng)管理。實(shí)時(shí)地管理監(jiān)控CNC每個(gè)軸的電機(jī)驅(qū)動(dòng)器。讀取驅(qū)動(dòng)器的工作狀態(tài),將需要上位機(jī)進(jìn)行實(shí)時(shí)監(jiān)控的數(shù)控實(shí)時(shí)運(yùn)行數(shù)據(jù)寫入CNC接收信息隊(duì)列,并通過數(shù)據(jù)交換控制任務(wù),發(fā)送到上位機(jī)用于監(jiān)控。當(dāng)有電機(jī)驅(qū)動(dòng)器運(yùn)行出現(xiàn)異常時(shí),可以及時(shí)進(jìn)行保護(hù)停止,并發(fā)送運(yùn)行故障編碼。
3 軟件方案的驗(yàn)證性測(cè)試
在本實(shí)驗(yàn)室研發(fā)的嵌入式數(shù)控系統(tǒng)測(cè)試平臺(tái)如圖9所示。其中,HMI板通過JTAG接口與調(diào)試主機(jī)1相連,運(yùn)動(dòng)控制板通過JTAG接口與調(diào)試主機(jī)2相連。HMI板與運(yùn)動(dòng)控制板通過RS 422總線連接,并在采用UART協(xié)議進(jìn)行通信[6,8]。
由于電機(jī)運(yùn)行軌跡與效果無(wú)法很好通過圖片展示,并且本實(shí)驗(yàn)?zāi)康闹饕球?yàn)證整個(gè)軟件系統(tǒng)架構(gòu)的可行性,并修補(bǔ)程序BUG。因而建議采用硬件模擬運(yùn)行加Matlab仿真的驗(yàn)證方法。
圖9 運(yùn)動(dòng)控制測(cè)試平臺(tái)
采用圓弧插補(bǔ)測(cè)試的方法,在上位機(jī)通過G代碼腳本格式導(dǎo)入測(cè)試指令腳本,運(yùn)動(dòng)控制器讀取數(shù)據(jù)包,解析出測(cè)試腳本信息后,進(jìn)行處理和運(yùn)算,得出的運(yùn)算數(shù)據(jù)保存后,導(dǎo)入Matlab仿真軟件,生成運(yùn)行軌跡圖,以便模擬仿真電機(jī)的實(shí)際運(yùn)行軌跡。表2為CNC測(cè)試腳本的加工軌跡數(shù)據(jù)。
表2 測(cè)試加工軌跡數(shù)據(jù)
圖10為經(jīng)過系統(tǒng)運(yùn)行得到的加工軌跡與原始測(cè)試數(shù)據(jù)的軌跡對(duì)照。
圖中點(diǎn)線:測(cè)試腳本數(shù)據(jù)擬合曲線;實(shí)線:DSP計(jì)算的加工數(shù)據(jù)擬合曲線。從方案驗(yàn)證性測(cè)試實(shí)驗(yàn)得到的模擬數(shù)據(jù)擬合圖像和原始腳本測(cè)試數(shù)據(jù)對(duì)比,可以驗(yàn)證該軟件架構(gòu)方案和基礎(chǔ)用戶組件能在實(shí)驗(yàn)室的CNC系統(tǒng)平臺(tái)上穩(wěn)定可靠地運(yùn)行,因而驗(yàn)證了該軟件架構(gòu)方案的可行性。
圖10 加工軌跡測(cè)試與模擬軌跡
4 結(jié) 語(yǔ)
本文基于TI公司的C6713系列DSP+FPGA作為硬件實(shí)現(xiàn)方案的運(yùn)動(dòng)控制器平臺(tái),提出一種可移植性軟件架構(gòu)方案。通過三層軟件結(jié)構(gòu)模型的描述和基礎(chǔ)性用戶組件與接口的任務(wù)劃分,為用戶的功能的二次開發(fā)與軟件代碼的維護(hù)提供的一個(gè)基礎(chǔ)性平臺(tái)。并通過加工腳本測(cè)試驗(yàn)證了方案的可行性與穩(wěn)定性。
參考文獻(xiàn)
[1] 王濤,王太勇,許愛芬,等.嵌入式實(shí)時(shí)操作系統(tǒng)在數(shù)控系統(tǒng)設(shè)計(jì)中的應(yīng)用[J].計(jì)算機(jī)工程,2008,34(4):250?268.
[2] 孫禾鳳.基于DSP/BIOS的運(yùn)動(dòng)控制器軟件開發(fā)[D].南京:南京航空航天大學(xué),2008.
[3] 吳紅軍,皮佑國(guó).基于DSP和FPGA的運(yùn)動(dòng)控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2011(2):75?82.
[4] Texas Instruments Incorporated. TMS320C6713B floating?point digital signal processor SPRS294B [R]. USA: Texas Instruments Incorporated, 2006.
[5] 毛軍紅,李黎川,吳序堂.機(jī)床數(shù)控軟件化結(jié)構(gòu)體系[J].機(jī)械工程學(xué)報(bào),2006,36(7):48?51.
[6] 蔣明柯,皮佑國(guó).數(shù)控系統(tǒng)中RS 485串行通信協(xié)議的設(shè)計(jì)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2013(5):23?26.
[7] [美]凱賽達(dá).計(jì)算機(jī)數(shù)控技術(shù)應(yīng)用:加工中心和切削中心[M].北京:清華大學(xué)出版社,2006.
[8] 范德和,皮佑國(guó).基于DSP和FPGA的運(yùn)動(dòng)控制器高速串行通信設(shè)計(jì)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2011(9):58?62.
[9] 任偉,張彥軍,李京蔓,等.基于FPGA的數(shù)字量變換器測(cè)試系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(1):71?77.
[10] 李善鋒,劉敬猛,徐東,等.基于ARM+DSP的嵌入式Linux數(shù)控系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2012,40(13):94?97.
由于電機(jī)運(yùn)行軌跡與效果無(wú)法很好通過圖片展示,并且本實(shí)驗(yàn)?zāi)康闹饕球?yàn)證整個(gè)軟件系統(tǒng)架構(gòu)的可行性,并修補(bǔ)程序BUG。因而建議采用硬件模擬運(yùn)行加Matlab仿真的驗(yàn)證方法。
圖9 運(yùn)動(dòng)控制測(cè)試平臺(tái)
采用圓弧插補(bǔ)測(cè)試的方法,在上位機(jī)通過G代碼腳本格式導(dǎo)入測(cè)試指令腳本,運(yùn)動(dòng)控制器讀取數(shù)據(jù)包,解析出測(cè)試腳本信息后,進(jìn)行處理和運(yùn)算,得出的運(yùn)算數(shù)據(jù)保存后,導(dǎo)入Matlab仿真軟件,生成運(yùn)行軌跡圖,以便模擬仿真電機(jī)的實(shí)際運(yùn)行軌跡。表2為CNC測(cè)試腳本的加工軌跡數(shù)據(jù)。
表2 測(cè)試加工軌跡數(shù)據(jù)
圖10為經(jīng)過系統(tǒng)運(yùn)行得到的加工軌跡與原始測(cè)試數(shù)據(jù)的軌跡對(duì)照。
圖中點(diǎn)線:測(cè)試腳本數(shù)據(jù)擬合曲線;實(shí)線:DSP計(jì)算的加工數(shù)據(jù)擬合曲線。從方案驗(yàn)證性測(cè)試實(shí)驗(yàn)得到的模擬數(shù)據(jù)擬合圖像和原始腳本測(cè)試數(shù)據(jù)對(duì)比,可以驗(yàn)證該軟件架構(gòu)方案和基礎(chǔ)用戶組件能在實(shí)驗(yàn)室的CNC系統(tǒng)平臺(tái)上穩(wěn)定可靠地運(yùn)行,因而驗(yàn)證了該軟件架構(gòu)方案的可行性。
圖10 加工軌跡測(cè)試與模擬軌跡
4 結(jié) 語(yǔ)
本文基于TI公司的C6713系列DSP+FPGA作為硬件實(shí)現(xiàn)方案的運(yùn)動(dòng)控制器平臺(tái),提出一種可移植性軟件架構(gòu)方案。通過三層軟件結(jié)構(gòu)模型的描述和基礎(chǔ)性用戶組件與接口的任務(wù)劃分,為用戶的功能的二次開發(fā)與軟件代碼的維護(hù)提供的一個(gè)基礎(chǔ)性平臺(tái)。并通過加工腳本測(cè)試驗(yàn)證了方案的可行性與穩(wěn)定性。
參考文獻(xiàn)
[1] 王濤,王太勇,許愛芬,等.嵌入式實(shí)時(shí)操作系統(tǒng)在數(shù)控系統(tǒng)設(shè)計(jì)中的應(yīng)用[J].計(jì)算機(jī)工程,2008,34(4):250?268.
[2] 孫禾鳳.基于DSP/BIOS的運(yùn)動(dòng)控制器軟件開發(fā)[D].南京:南京航空航天大學(xué),2008.
[3] 吳紅軍,皮佑國(guó).基于DSP和FPGA的運(yùn)動(dòng)控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2011(2):75?82.
[4] Texas Instruments Incorporated. TMS320C6713B floating?point digital signal processor SPRS294B [R]. USA: Texas Instruments Incorporated, 2006.
[5] 毛軍紅,李黎川,吳序堂.機(jī)床數(shù)控軟件化結(jié)構(gòu)體系[J].機(jī)械工程學(xué)報(bào),2006,36(7):48?51.
[6] 蔣明柯,皮佑國(guó).數(shù)控系統(tǒng)中RS 485串行通信協(xié)議的設(shè)計(jì)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2013(5):23?26.
[7] [美]凱賽達(dá).計(jì)算機(jī)數(shù)控技術(shù)應(yīng)用:加工中心和切削中心[M].北京:清華大學(xué)出版社,2006.
[8] 范德和,皮佑國(guó).基于DSP和FPGA的運(yùn)動(dòng)控制器高速串行通信設(shè)計(jì)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2011(9):58?62.
[9] 任偉,張彥軍,李京蔓,等.基于FPGA的數(shù)字量變換器測(cè)試系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(1):71?77.
[10] 李善鋒,劉敬猛,徐東,等.基于ARM+DSP的嵌入式Linux數(shù)控系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2012,40(13):94?97.
由于電機(jī)運(yùn)行軌跡與效果無(wú)法很好通過圖片展示,并且本實(shí)驗(yàn)?zāi)康闹饕球?yàn)證整個(gè)軟件系統(tǒng)架構(gòu)的可行性,并修補(bǔ)程序BUG。因而建議采用硬件模擬運(yùn)行加Matlab仿真的驗(yàn)證方法。
圖9 運(yùn)動(dòng)控制測(cè)試平臺(tái)
采用圓弧插補(bǔ)測(cè)試的方法,在上位機(jī)通過G代碼腳本格式導(dǎo)入測(cè)試指令腳本,運(yùn)動(dòng)控制器讀取數(shù)據(jù)包,解析出測(cè)試腳本信息后,進(jìn)行處理和運(yùn)算,得出的運(yùn)算數(shù)據(jù)保存后,導(dǎo)入Matlab仿真軟件,生成運(yùn)行軌跡圖,以便模擬仿真電機(jī)的實(shí)際運(yùn)行軌跡。表2為CNC測(cè)試腳本的加工軌跡數(shù)據(jù)。
表2 測(cè)試加工軌跡數(shù)據(jù)
圖10為經(jīng)過系統(tǒng)運(yùn)行得到的加工軌跡與原始測(cè)試數(shù)據(jù)的軌跡對(duì)照。
圖中點(diǎn)線:測(cè)試腳本數(shù)據(jù)擬合曲線;實(shí)線:DSP計(jì)算的加工數(shù)據(jù)擬合曲線。從方案驗(yàn)證性測(cè)試實(shí)驗(yàn)得到的模擬數(shù)據(jù)擬合圖像和原始腳本測(cè)試數(shù)據(jù)對(duì)比,可以驗(yàn)證該軟件架構(gòu)方案和基礎(chǔ)用戶組件能在實(shí)驗(yàn)室的CNC系統(tǒng)平臺(tái)上穩(wěn)定可靠地運(yùn)行,因而驗(yàn)證了該軟件架構(gòu)方案的可行性。
圖10 加工軌跡測(cè)試與模擬軌跡
4 結(jié) 語(yǔ)
本文基于TI公司的C6713系列DSP+FPGA作為硬件實(shí)現(xiàn)方案的運(yùn)動(dòng)控制器平臺(tái),提出一種可移植性軟件架構(gòu)方案。通過三層軟件結(jié)構(gòu)模型的描述和基礎(chǔ)性用戶組件與接口的任務(wù)劃分,為用戶的功能的二次開發(fā)與軟件代碼的維護(hù)提供的一個(gè)基礎(chǔ)性平臺(tái)。并通過加工腳本測(cè)試驗(yàn)證了方案的可行性與穩(wěn)定性。
參考文獻(xiàn)
[1] 王濤,王太勇,許愛芬,等.嵌入式實(shí)時(shí)操作系統(tǒng)在數(shù)控系統(tǒng)設(shè)計(jì)中的應(yīng)用[J].計(jì)算機(jī)工程,2008,34(4):250?268.
[2] 孫禾鳳.基于DSP/BIOS的運(yùn)動(dòng)控制器軟件開發(fā)[D].南京:南京航空航天大學(xué),2008.
[3] 吳紅軍,皮佑國(guó).基于DSP和FPGA的運(yùn)動(dòng)控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2011(2):75?82.
[4] Texas Instruments Incorporated. TMS320C6713B floating?point digital signal processor SPRS294B [R]. USA: Texas Instruments Incorporated, 2006.
[5] 毛軍紅,李黎川,吳序堂.機(jī)床數(shù)控軟件化結(jié)構(gòu)體系[J].機(jī)械工程學(xué)報(bào),2006,36(7):48?51.
[6] 蔣明柯,皮佑國(guó).數(shù)控系統(tǒng)中RS 485串行通信協(xié)議的設(shè)計(jì)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2013(5):23?26.
[7] [美]凱賽達(dá).計(jì)算機(jī)數(shù)控技術(shù)應(yīng)用:加工中心和切削中心[M].北京:清華大學(xué)出版社,2006.
[8] 范德和,皮佑國(guó).基于DSP和FPGA的運(yùn)動(dòng)控制器高速串行通信設(shè)計(jì)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2011(9):58?62.
[9] 任偉,張彥軍,李京蔓,等.基于FPGA的數(shù)字量變換器測(cè)試系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(1):71?77.
[10] 李善鋒,劉敬猛,徐東,等.基于ARM+DSP的嵌入式Linux數(shù)控系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2012,40(13):94?97.