李 欣,張彩虹,梁 藝(深圳職業(yè)技術(shù)學(xué)院 電子與通信工程學(xué)院,廣東 深圳 518055)
?
一種基于EtherCAT網(wǎng)絡(luò)的開放式CNC實(shí)現(xiàn)
李欣,張彩虹,梁藝
(深圳職業(yè)技術(shù)學(xué)院 電子與通信工程學(xué)院,廣東 深圳 518055)
摘 要:文章分析了EtherCAT工業(yè)以太網(wǎng)的特點(diǎn)、性能及主從站通信原理.在開放式CNC主站內(nèi)核中嵌入幀處理函數(shù),從而將EtherCAT與CNC聯(lián)系起來,實(shí)現(xiàn)一種基于EtherCAT協(xié)議的開放式網(wǎng)絡(luò)化CNC系統(tǒng),為進(jìn)一步提高CNC系統(tǒng)的開放性和可靠性,降低系統(tǒng)對(duì)硬件的依賴性和整機(jī)成本開辟了新的思路.
關(guān)鍵詞:EtherCAT網(wǎng)絡(luò);開放式;CNC
CNC系統(tǒng)向高速、高精和多軸聯(lián)動(dòng)方向發(fā)展,信號(hào)傳輸?shù)臄?shù)字化和網(wǎng)絡(luò)化成為必然趨勢(shì).現(xiàn)場(chǎng)總線和工業(yè)以太網(wǎng)以其優(yōu)異的性能被公認(rèn)為是CNC系統(tǒng)信號(hào)傳輸新的最佳方案,已得到充分的應(yīng)用研究和市場(chǎng)驗(yàn)證.將開放式的CNC系統(tǒng)和開放式的總線網(wǎng)絡(luò)結(jié)合起來,不僅能解決傳統(tǒng)的集中式模擬量或脈沖量信號(hào)傳輸方式的易受干擾、效率低、布線復(fù)雜等問題,還能將CNC系統(tǒng)的開放性延伸至伺服驅(qū)動(dòng)系統(tǒng),使二者之間不再是專一對(duì)應(yīng)關(guān)系.但是,由于在數(shù)據(jù)鏈路層普遍采用CSMA/CD、令牌訪問、時(shí)分復(fù)用等介質(zhì)訪問控制策略,易導(dǎo)致數(shù)據(jù)傳輸延遲和丟失,實(shí)時(shí)性和可靠性成為現(xiàn)場(chǎng)總線和工業(yè)以太網(wǎng)在CNC系統(tǒng)中廣泛應(yīng)用的最大障礙,高速高精的控制運(yùn)算及狀態(tài)反饋指令在傳輸通道上遇到了瓶頸.以EtherCAT和SERCOSⅢ為代表的新一代高性能工業(yè)以太網(wǎng)的出現(xiàn),為打破這一瓶頸提供了堅(jiān)實(shí)的技術(shù)基礎(chǔ)[1-2].本研究在開放式CNC主站內(nèi)核中嵌入幀處理函數(shù),將EtherCAT與CNC聯(lián)系起來,實(shí)現(xiàn)一種基于EtherCAT協(xié)議的開放式網(wǎng)絡(luò)化CNC系統(tǒng).
EtherCAT是德國倍福自動(dòng)化公司于2003年推出的基于標(biāo)準(zhǔn)以太網(wǎng)技術(shù)的開放式全雙工實(shí)時(shí)工業(yè)以太網(wǎng),具有高速、高可靠性、拓?fù)浣Y(jié)構(gòu)靈活、兼容性強(qiáng)和成本低廉等特點(diǎn),是目前實(shí)時(shí)性能和同步性能最好,且可用于現(xiàn)場(chǎng)級(jí)I/O的超高速網(wǎng)絡(luò)[3-4].EtherCAT采用簡(jiǎn)化的三層網(wǎng)絡(luò)結(jié)構(gòu),底層為標(biāo)準(zhǔn)的以太網(wǎng)物理層;數(shù)據(jù)鏈路層增加實(shí)時(shí)調(diào)度軟件核并提供過程數(shù)據(jù)傳輸獨(dú)立通道,以提高實(shí)時(shí)性;應(yīng)用層為控制程序訪問網(wǎng)絡(luò)環(huán)境提供手段,同時(shí)為控制程序提供服務(wù)[5].處于數(shù)據(jù)鏈路層與應(yīng)用層之間的是EtherCAT狀態(tài)機(jī),用于主從站之間的狀態(tài)管理與協(xié)調(diào).EtherCAT使網(wǎng)絡(luò)性能達(dá)到一個(gè)新的境界,借助于從站硬件集成和網(wǎng)絡(luò)控制器主站的直接內(nèi)存存取,1000個(gè)I/O更新只需30 μs,100個(gè)伺服軸刷新只需100 μs[6].100 Mbps全雙工特性和小于1ms的實(shí)時(shí)性能使其特別適用于伺服技術(shù)中底層的閉環(huán)控制.
1.1EtherCAT工作原理
EtherCAT采用主從模式介質(zhì)訪問控制方式,通信過程采納了Interbus總線的“集總幀”技術(shù)思想,即將不同設(shè)備的過程數(shù)據(jù)集合在一個(gè)以太網(wǎng)數(shù)據(jù)包中,在報(bào)文經(jīng)過從站設(shè)備時(shí),從站可直接從報(bào)文中提取或插入相關(guān)數(shù)據(jù),然后將該報(bào)文傳輸?shù)较乱粋€(gè)從站,此過程僅有幾納秒的延遲,最后一個(gè)從站返回經(jīng)過完全處理的報(bào)文給控制單元.EtherCAT在軟件上采用TwinSAFE技術(shù),實(shí)現(xiàn)在同一網(wǎng)絡(luò)上進(jìn)行安全相關(guān)通信和控制通信,也可采用環(huán)形拓?fù)浣Y(jié)構(gòu)實(shí)現(xiàn)硬件冗余,使其可靠性達(dá)到安全集成級(jí)別SIL3以上[7].
在CNC系統(tǒng)中,各伺服軸之間的精確同步對(duì)于插補(bǔ)軌跡生成質(zhì)量至關(guān)重要.研究表明,最有效的同步方法是精確排列分布時(shí)鐘.EtherCAT主站時(shí)鐘可以簡(jiǎn)單精確地確定各從站時(shí)鐘傳播的延遲偏移,分布時(shí)鐘均基于該值進(jìn)行調(diào)整,這意味著可以在網(wǎng)段內(nèi)使用非常精確的、小于1μs的確定性的同步誤差時(shí)鐘基.
1.2EtherCAT幀結(jié)構(gòu)
EtherCAT幀結(jié)構(gòu)如圖1所示,CRC為循環(huán)冗余校驗(yàn)和,WKC為工作計(jì)數(shù)器,幀類型采用0x88A4以區(qū)別其他幀.一個(gè)EtherCAT幀中可以包含若干個(gè)子報(bào)文,每個(gè)子報(bào)文都服務(wù)于一塊邏輯過程映像區(qū)的特定內(nèi)存區(qū)域,由FMMU (Fieldbus Memory Management Unit,負(fù)責(zé)邏輯地址與物理地址的映射)寄存器和SM(Sync Manager,負(fù)責(zé)對(duì)通信數(shù)據(jù)內(nèi)存的讀寫)寄存器定義.FMMU允許一個(gè)數(shù)據(jù)報(bào)文在幾個(gè)從站中同時(shí)尋址,這樣可以把不同從站的一段內(nèi)存地址映射到同一個(gè)子報(bào)文中去.同時(shí)還支持位映射功能,這就意味著可以把所有從站的I/O數(shù)據(jù)映射到一個(gè)子報(bào)文中,這對(duì)于量少但交換頻繁的I/O量的傳輸方式有了質(zhì)的飛躍,大大提高了帶寬的利用率[8].
1.3EtherCAT主從站
EtherCAT主站為從站提供通信服務(wù),在每個(gè)網(wǎng)絡(luò)周期中為各個(gè)節(jié)點(diǎn)處理、發(fā)送和接收數(shù)據(jù)幀.主站由軟件實(shí)現(xiàn),其主要功能包括[9]:
圖1 EtherCAT幀結(jié)構(gòu)
1)讀取XML配置文件,構(gòu)建主站和從站組態(tài);
2)管理從站,初始化從站,為通信做好準(zhǔn)備;
3)通過郵箱方式實(shí)現(xiàn)對(duì)從站的組態(tài)配置;
4)進(jìn)入正常工作階段,實(shí)現(xiàn)過程數(shù)據(jù)的實(shí)時(shí)通信.
EtherCAT從站包括從站控制器ESC(EtherCAT Slave Controller)和應(yīng)用微處理器, ESC由倍福提供,接口標(biāo)準(zhǔn)且程序完全固化,無需使用者做任何修改.常用的ESC為ET1100芯片,通過設(shè)置其內(nèi)部的各配置寄存器來確定其工作狀態(tài). ET1100芯片本身也可用作I/O從站.主從站的通信模式包括周期性過程數(shù)據(jù)通信和非周期性郵箱通信,前者用于時(shí)間關(guān)鍵的數(shù)據(jù)傳輸,如數(shù)控插補(bǔ)和反饋指令,采用緩存區(qū)交換方式通信;后者用于非時(shí)間關(guān)鍵的數(shù)據(jù)傳輸,如伺服的狀態(tài)參數(shù)設(shè)置指令,采用帶握手機(jī)制的郵箱數(shù)據(jù)通信.
基于EtherCAT通信協(xié)議的純軟件開放式CNC系統(tǒng)整體構(gòu)架如圖2所示.通過在CNC內(nèi)核底層嵌入EtherCAT主站驅(qū)動(dòng)模塊,實(shí)現(xiàn)基于CNC控制任務(wù)的EtherCAT主站系統(tǒng).
2.1系統(tǒng)組成構(gòu)架
基于構(gòu)建方便和性價(jià)比等因素,選擇美國SoftServoSystems公司的ServoWorks系列純軟件開放式CNC系統(tǒng)作為主站任務(wù)控制器,該系統(tǒng)基于模塊化的架構(gòu)體系,能運(yùn)行在經(jīng)實(shí)時(shí)擴(kuò)展的Windows/Linux環(huán)境下的通用PC上,并帶有簡(jiǎn)潔實(shí)用的開發(fā)工具供用戶做二次開發(fā).如圖2所示,核心模塊是運(yùn)行在實(shí)時(shí)子系統(tǒng)上的CNC內(nèi)核和EtherCAT主站.CNC內(nèi)核包括運(yùn)動(dòng)引擎、PLC引擎和G代碼解析器3個(gè)實(shí)時(shí)功能模塊,它們是執(zhí)行運(yùn)動(dòng)控制的關(guān)鍵. EtherCAT主站包括主站驅(qū)動(dòng)和XML解析器,其中主站驅(qū)動(dòng)又包括配置工具接口、狀態(tài)機(jī)、應(yīng)用程序(CNC)接口、網(wǎng)卡接口等.
基于XML的設(shè)備描述技術(shù)促進(jìn)設(shè)備描述規(guī)范化和標(biāo)準(zhǔn)化,這意味著基于不同協(xié)議的設(shè)備能在同一個(gè)控制系統(tǒng)中實(shí)現(xiàn)無縫連接和互操作.EtherCAT在主站驅(qū)動(dòng)程序中包含此功能模塊,結(jié)合在應(yīng)用層的眾多應(yīng)用接口協(xié)議,如連接CANopen設(shè)備的CoE協(xié)議和連接SERCOS設(shè)備的SoE協(xié)議等,使得基于EtherCAT的CNC主站能方便迅速的連接帶其他協(xié)議的伺服驅(qū)動(dòng)器.
2.2系統(tǒng)的軟件實(shí)現(xiàn)
軟件實(shí)現(xiàn)主要由3個(gè)功能模塊來實(shí)現(xiàn),即網(wǎng)卡相關(guān)操作類模塊、從站對(duì)象配置類模塊、以及過程數(shù)據(jù)傳輸模塊[10].程序結(jié)構(gòu)如圖3所示.
圖2 基于EtherCAT的開放式CNC整體構(gòu)架
圖3 程序結(jié)構(gòu)
網(wǎng)卡操作包括網(wǎng)卡的信息獲取與狀態(tài)管理,以及EtherCAT幀的過濾和傳輸?shù)?通過對(duì)一個(gè)開源的專業(yè)網(wǎng)絡(luò)驅(qū)動(dòng)開發(fā)包Wincap進(jìn)行二次開發(fā),在核心層嵌入EtherCAT數(shù)據(jù)幀捕捉和過濾函數(shù)Ecatfilter.sys,在協(xié)議層嵌入Ecatnpf.sys函數(shù)接收和發(fā)送經(jīng)過濾的EtherCAT幀,在用戶層嵌入Ecatpacket.dll動(dòng)態(tài)鏈接庫實(shí)現(xiàn)與CNC數(shù)據(jù)交互[11]. 使用IntervalZero的實(shí)時(shí)擴(kuò)展軟件RTX的配置系統(tǒng),可將整個(gè)網(wǎng)卡驅(qū)動(dòng)程序納入到CNC系統(tǒng)所在的實(shí)時(shí)系統(tǒng)環(huán)境下,以保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性.
從站對(duì)象配置包括FMMU、SM、從站類型和數(shù)目、數(shù)據(jù)長度和存儲(chǔ)偏移地址等.在系統(tǒng)初始化階段,主站讀取設(shè)備的XML信息后經(jīng)郵箱數(shù)據(jù)傳輸完成對(duì)從站RAM中各寄存器的配置,SM通道配置程序流程如圖4所示,F(xiàn)MMU的配置與此類似.
完成網(wǎng)卡操作,以及SM、FMMU等寄存器的配置,且當(dāng)狀態(tài)機(jī)處于操作狀態(tài)時(shí),就可以進(jìn)行周期性數(shù)據(jù)傳輸.幀的組裝在EtherCAT主站中完成,主站使用邏輯寫命令將CNC控制指令周期性的填入報(bào)文數(shù)據(jù)區(qū)實(shí)現(xiàn)數(shù)據(jù)輸出,使用邏輯讀命令將各從站的狀態(tài)指令周期性的從報(bào)文中提取實(shí)現(xiàn)數(shù)據(jù)輸入,由此實(shí)現(xiàn)高速高精的數(shù)據(jù)通信.另外,主站定時(shí)使用廣播讀命令監(jiān)聽各從站狀態(tài),有故障則立即產(chǎn)生中斷,提交主站處理.
圖4 從站SM通道配置流程圖
2.3 實(shí)驗(yàn)驗(yàn)證
為驗(yàn)證系統(tǒng)的可行性,選用德國LUST的帶標(biāo)準(zhǔn)EtherCAT從站接口的ServoOne系列伺服作為從站,其遵循CANopen協(xié)議的DS-402伺服驅(qū)動(dòng)設(shè)備規(guī)范.
CANopen的核心概念是對(duì)象字典(OD). 對(duì)象字典是通過網(wǎng)絡(luò)可以讀取的一組預(yù)先定義好形式的對(duì)象,本質(zhì)上相當(dāng)于一個(gè)參數(shù)列表,字典里的每一個(gè)對(duì)象可以用一個(gè)16位索引和8位子索引來定位,每個(gè)設(shè)備的對(duì)象字典都存儲(chǔ)在ESC的存儲(chǔ)器中和XML設(shè)備描述文件中.CANopen其他重要的概念還包括用于過程參數(shù)通信的過程數(shù)據(jù)對(duì)象(PDO),用于參數(shù)配置通信的服務(wù)數(shù)據(jù)對(duì)象(SDO),以及用于指定每個(gè)狀態(tài)的內(nèi)部和外部設(shè)備特性的有限狀態(tài)自動(dòng)機(jī)(FSA)等.
利用CoE協(xié)議,EtherCAT可以在網(wǎng)段內(nèi)輕松實(shí)現(xiàn)CANopen協(xié)議.CNC與伺服驅(qū)動(dòng)器之間通過PDO映射實(shí)現(xiàn)周期性同步位置控制,其映射機(jī)制如圖5所示.CNC生成并通過EtherCAT主站驅(qū)動(dòng)向伺服驅(qū)動(dòng)設(shè)備發(fā)送周期性同步位置指令值,驅(qū)動(dòng)設(shè)備執(zhí)行相應(yīng)的動(dòng)作并將狀態(tài)值實(shí)時(shí)反饋給主站系統(tǒng),多個(gè)伺服軸嚴(yán)格的同步協(xié)調(diào)運(yùn)動(dòng)以實(shí)現(xiàn)精密的輪廓控制.另外,CNC主站可以提供附加的速度和扭矩值,實(shí)現(xiàn)速度和扭矩的前饋控制.
實(shí)物平臺(tái)如圖6所示,整個(gè)網(wǎng)段由1個(gè)主站和4個(gè)從站構(gòu)成,可用于帶伺服主軸的三軸CNC加工中心.通信周期設(shè)置為0.5ms. 經(jīng)過初步的測(cè)試,系統(tǒng)運(yùn)行平穩(wěn),指令相應(yīng)迅速,無明顯振動(dòng)和異響.系統(tǒng)的高速高精、以及I/O從站的連接及PLC調(diào)試也將逐步展開.
通過驗(yàn)證,開發(fā)基于EtherCAT工業(yè)以太網(wǎng)的開放式CNC系統(tǒng)方案是可行的,低于1ms的同步性能已遠(yuǎn)超出傳統(tǒng)的基于總線的CNC通信能力(4~8 ms),使高速高精的輪廓控制技術(shù)不再受制于通信平臺(tái)的實(shí)時(shí)能力.同時(shí),系統(tǒng)硬件數(shù)量的減少,可選的伺服驅(qū)動(dòng)器品牌范圍得以擴(kuò)展.隨著EtherCAT技術(shù)的不斷推廣,有望真正實(shí)現(xiàn)基于零硬件的通用化高性能和低成本的CNC產(chǎn)品.
圖5 周期性數(shù)據(jù)傳輸映射示例圖
圖6 基于EtherCAT的開放式CNC平臺(tái)
參考文獻(xiàn):
[1] Sauter T. The three generations of field-level networks -evolution and compatibility issues[J].IEEE Transactions on Industrial Electronics, 2010,57(11):3585-3595.
[2] 張向利.基于以太網(wǎng)的數(shù)控系統(tǒng)現(xiàn)場(chǎng)總線技術(shù)研究[D].武漢:華中科技大學(xué),2008.
[3] Sheng J, Chung S, Hansel L, et al. JAUS to EtherCAT Bridge: Toward Real-Time and Deterministic Joint Architecture for Unmanned Systems[J]. Journal of Control Science and Engineering, 27 April 2014:1-20.
[4] 劉喆,郇極,劉艷強(qiáng).基于XML的EtherCAT工業(yè)以太網(wǎng)協(xié)議解析技術(shù)[J].北京航空航天大學(xué)學(xué)報(bào),2011,37(9):1086-1090.
[5] 王國河,李偉光.EtherCAT冗余技術(shù)在多軸網(wǎng)絡(luò)運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2012(1):58-61.
[6] 劉輝,林威,王培盛,等.EtherCAT時(shí)鐘同步技術(shù)研究[J].計(jì)算機(jī)測(cè)量與控制,2014,22(11):3774-3776.
[7] Rostan M, Stubbs J E, Dmitry Dzilno D. EtherCAT enabled advanced control architecture[C]//2010 IEEE/SEMI, Advanced Semiconductor Manufacturing Conference. San Francisco, USA: IEEE, 2010:39-44.
[8] 徐健,宋寶,唐小琦.EtherCAT與Modbus協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的設(shè)計(jì)及實(shí)現(xiàn)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2015,4:71-73.
[9] EtherCAT Master, cross platform stack[OL/DB]//2011,http://www.esd-electronics-usa.com/Shared/Handbooks/E therCATMasterDevelopersManual. pdf.
[10] 郇極,劉艷強(qiáng).工業(yè)以太網(wǎng)現(xiàn)場(chǎng)總線EtherCAT驅(qū)動(dòng)程序設(shè)計(jì)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2010.
[11] Zhang Mingzhong, Chen Yongming, Li Yin. Research of communication mechanism in CNC system based on EtherCAT[C]//The 2nd International Conference on Multimedia Technology, Hangzhou, 2011:3614-3618.
An Implementation of Open CNC Based on EtherCAT Network
LI Xin, ZHANG Caihong, LIANG Yi
(School of Electronic and Communication Engineering, Shenzhen Polytechnic, Shenzhen, Guangdong 518055, China)
Abstract:The features, functions and working principles of Ether CAT Network are analyzed. By inserting frame-processing function into the open CNC, EtherCAT is connected with CNC, an open network CNC system based on EtherCAT protocol was implemented. This work opened a new way for further enhancing the openness and reliability of the CNC system, reducing the reliance on hardware and saving the cost of CNC system.
Key words:EtherCAT network; open; CNC
作者簡(jiǎn)介:李欣(1984-),女,湖北黃岡人,講師,碩士,主要研究方向?yàn)橛?jì)算數(shù)學(xué)和網(wǎng)絡(luò)編程.
收稿日期:2016-02-20
DOI:10.13899/j.cnki.szptxb.2016.03.002
中圖分類號(hào):TN919
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1672-0318(2016)03-0010-06