時(shí)間:2018-09-14 15:02:36來(lái)源:網(wǎng)絡(luò)
EtherCAT是由BECKHOFF公司提出的一種高性能工業(yè)以太網(wǎng)技術(shù)[1],它采用標(biāo)準(zhǔn)以太網(wǎng)數(shù)據(jù)幀和符合以太網(wǎng)標(biāo)準(zhǔn)IEEE802.3的物理層,具有數(shù)據(jù)傳輸速度高、實(shí)時(shí)性好、拓?fù)潇`活和實(shí)施費(fèi)用低的優(yōu)點(diǎn),逐步成為工業(yè)以太網(wǎng)技術(shù)研究的熱點(diǎn)。
EtherCAT技術(shù)已成為國(guó)際標(biāo)準(zhǔn)IEC61158的一部分,被廣泛的應(yīng)用于同步控制、運(yùn)動(dòng)控制和材料加工控制等行業(yè)[3,4]。本文研究了常用的EtherCAT網(wǎng)絡(luò)配置方案,分析了其不足,提出了一種基于從站信息接口(SlaveInformationInterface,SII)的EtherCAT網(wǎng)絡(luò)配置方案,并對(duì)方案進(jìn)行實(shí)現(xiàn),最后通過(guò)實(shí)驗(yàn)驗(yàn)證了其可行性。
目前常用的EtherCAT網(wǎng)絡(luò)配置方案大多基于可擴(kuò)展標(biāo)記語(yǔ)言(eXtensibleMarkupLanguage,XML)在這種方案中EtherCAT配置工具根據(jù)從站提供的EtherCAT從站信息(EtherCATSlaveInformation,ESI)文件和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),生成一個(gè)XML格式的EtherCAT網(wǎng)絡(luò)信息(EtherCATNetworkInformation,ENI)文件。ENI文件描述了網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以及從站設(shè)備的初始化命令和配置命令。主站獲取ENI文件,并根據(jù)其網(wǎng)絡(luò)配置信息進(jìn)行EtherCAT網(wǎng)絡(luò)配置。
這種方案具有良好的通用性和擴(kuò)展性,但也有著諸多不足。一方面,該配置方案需要額外的配置軟件進(jìn)行協(xié)助,增加了研發(fā)的工作量。同時(shí),ENI文件依據(jù)ESI文件生成,所以一個(gè)新的模塊出現(xiàn)就要向EtherCAT配置軟件的庫(kù)文件中添加一個(gè)新的ESI文件,使得整個(gè)配置操作較為復(fù)雜。文獻(xiàn)[5]中設(shè)計(jì)了一種簡(jiǎn)單EtherCAT主站,可以簡(jiǎn)化配置過(guò)程,但是仍然需要上位機(jī)進(jìn)行協(xié)助。
另一方面,XML格式的文件解析比較復(fù)雜。XML格式文本是W3C組織為Web數(shù)據(jù)儲(chǔ)存和交換制定的一種文本格式,其解析復(fù)雜度較高,尤其是在系統(tǒng)資源并不豐富的嵌入式主站系統(tǒng)中,XML的解析壓力將面臨更為嚴(yán)峻的挑戰(zhàn)。文獻(xiàn)[6]提出了一種快速XML解析方案,但是其對(duì)內(nèi)存要求較大,并不能完全解決上述問(wèn)題。
1、基于SII的配置方案
為了解決傳統(tǒng)方案中存在的問(wèn)題,本文提出并設(shè)計(jì)了一種基于SII的EtherCAT配置方案。SII是從站信息接口,它規(guī)定了從站信息在EEPROM中的存儲(chǔ)格式,主站可以根據(jù)SII中的信息完成對(duì)從站的配置。該配置方案如圖1所示,在配置開(kāi)始時(shí),主站掃描從站,獲取從站的拓?fù)?,并順序讀取所有從站的設(shè)備信息,然后生成配置命令,從而完成對(duì)EtherCAT網(wǎng)絡(luò)及所有從站的配置操作。與傳統(tǒng)方案相比,本方案中由主站獲取從站的拓?fù)浣Y(jié)構(gòu)并生成配置信息,全程無(wú)需專門(mén)的配置工具軟件參與,降低了配置方案的開(kāi)發(fā)成本;主站直接從SII中獲取從站的信息,不需要XML參與配置,省卻了解析XML的時(shí)間,極大地提高了配置效率。
該配置方案包括3個(gè)操作步驟:(1)掃描從站,根據(jù)獲取的響應(yīng)信息計(jì)算從站連接的拓?fù)浣Y(jié)構(gòu);(2)根據(jù)從站的拓?fù)浣Y(jié)構(gòu),依次讀取從站信息;(3)生成配置信息,并對(duì)從站進(jìn)行配置。
1.1計(jì)算從站拓?fù)浣Y(jié)構(gòu)
在目前常用的EtherCAT網(wǎng)絡(luò)配置方案中,從站的拓?fù)浣Y(jié)構(gòu)是由配置工具軟件生成并下發(fā)到從站。而在基于SII的配置方案中,由于沒(méi)有配置工具軟件的參與,主站采用一種遞歸的算法計(jì)算從站的拓?fù)浣Y(jié)構(gòu)。
為了讀者更好地理解從站拓?fù)浣Y(jié)構(gòu)的計(jì)算方法,先簡(jiǎn)單介紹EtherCAT數(shù)據(jù)幀如何在從站中傳輸。EtherCAT從站結(jié)構(gòu)如圖2所示,從站最多支持4個(gè)端口,從站會(huì)根據(jù)端口是否存在連接自動(dòng)打開(kāi)或關(guān)閉端口。若連接存在,則打開(kāi)端口,否則關(guān)閉端口。若端口打開(kāi),流入該端口的數(shù)據(jù)幀被發(fā)送給其他從站,在其他從站處理完成后返回該端口;若端口閉合,數(shù)據(jù)幀會(huì)直接流向從站的下一個(gè)端口。0端口是從站數(shù)據(jù)的輸入端口,從站一旦接入網(wǎng)絡(luò),端口0一定處于打開(kāi)的狀態(tài),其他3個(gè)端口都有可能關(guān)閉。因此數(shù)據(jù)幀在從站中傳輸順序是0端口、數(shù)據(jù)幀處理單元、3端口、1端口、2端口、0端口,最后由0端口離開(kāi)從站。圖3介紹了數(shù)據(jù)幀在網(wǎng)絡(luò)中的傳輸過(guò)程。
根據(jù)上面的描述,可以將EtherCAT從站抽象成三叉樹(shù)上的一個(gè)結(jié)點(diǎn)。如圖4(a)所示,Port0作為從站結(jié)點(diǎn)的輸入端口,而Port3、Port1和Port2作為輸出端口,且樹(shù)遍歷順序是Port3、Port1和Port2。圖3中的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可抽象圖4(b)所示的三叉樹(shù)。因此,計(jì)算EtherCAT網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)可以抽象成對(duì)三叉樹(shù)的深度優(yōu)先遍歷[7]。因?yàn)楣た鼐W(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量較少,可以采用遞歸算法實(shí)現(xiàn),因此本文采用遞歸算法實(shí)現(xiàn)EtherCAT網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的計(jì)算[8]。
在使用遞歸算法計(jì)算從站拓?fù)浣Y(jié)構(gòu)前,仍需要進(jìn)行3個(gè)步驟獲取必要條件:
(1)獲取網(wǎng)絡(luò)中從站的個(gè)數(shù)
從站的數(shù)據(jù)幀處理單元在成功處理完數(shù)據(jù)幀之后,會(huì)把數(shù)據(jù)幀計(jì)數(shù)位的值加1,表示處理成功。利用此特性,主站發(fā)送廣播數(shù)據(jù)幀,所有從站都會(huì)把數(shù)據(jù)幀的計(jì)數(shù)位的值加1,因此數(shù)據(jù)幀計(jì)數(shù)位的值就代表了從站個(gè)數(shù),主站讀取返回?cái)?shù)據(jù)幀的計(jì)數(shù)位就可以獲取從站的個(gè)數(shù)。
(2)獲取從站各個(gè)端口連接狀態(tài)
從站使用專用的寄存器記錄從站端口的連接狀態(tài),主站使用順序讀取命令,讀取各個(gè)從站記錄端口連接狀態(tài)的寄存器,獲取從站端口的連接狀態(tài)。
(3)排列從站順序
按照從站的順序?qū)ぶ芳磾?shù)據(jù)幀在從站的處理順序給從站進(jìn)行排序。圖3中的從站按照此方法排列后的順序是A、B、C、D。
圖5所示為數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)從站信息,name表示從站的名字,port0、port1、port2和port3采用相同的結(jié)構(gòu)表示從站端口的情況,linkstatus表示端口是否存在連接,之后的name代表與該端口連接的從站的名字。port0比較特殊,因?yàn)槠渥鳛閺恼据斎攵丝?,即連接樹(shù)的父結(jié)點(diǎn),所以一直處于連接狀態(tài)。
在計(jì)算從站拓?fù)浣Y(jié)構(gòu)時(shí),按照順序?qū)⒏鱾€(gè)從站的連接信息存在結(jié)構(gòu)體數(shù)組中,然后從數(shù)組中第一個(gè)從站開(kāi)始進(jìn)行計(jì)算。對(duì)每一個(gè)從站首先在port0中記錄其上層從站的名字,然后按照port3、port1和port2的順序掃描從站的各個(gè)端口的連接情況,若某端口處于連接狀態(tài),且未記錄其子結(jié)點(diǎn),則數(shù)組中其后port0為空的從站是其子結(jié)點(diǎn),此時(shí)進(jìn)入下一層,遞歸計(jì)算子結(jié)點(diǎn)的連接情況。當(dāng)計(jì)算完成時(shí),所有從站的連接情況都已經(jīng)明確,也就完成了從站拓?fù)浣Y(jié)構(gòu)的計(jì)算。
1.2讀取從站信息
要完成EtherCAT網(wǎng)絡(luò)的配置,除了需要獲取從站的拓?fù)浣Y(jié)構(gòu)外,還需要各個(gè)從站的設(shè)備信息。在傳統(tǒng)方案中,從站信息是由ESI文件提供的,而在本方案中主站通過(guò)訪問(wèn)從站的EEPROM獲取配置信息。本節(jié)將介紹基于SII的配置方案主站如何讀取從站的設(shè)備信息。
EEPROM中的信息結(jié)構(gòu)如圖6所示,0~64地址存儲(chǔ)的是從站結(jié)構(gòu)信息,從地址64處開(kāi)始存儲(chǔ)的是分類信息[9]。所有分類信息使用相同的數(shù)據(jù)結(jié)構(gòu),但長(zhǎng)度不定。分類信息的數(shù)據(jù)結(jié)構(gòu)如圖7所示,包括2個(gè)字節(jié)的信息類型、2個(gè)字節(jié)的數(shù)據(jù)長(zhǎng)度和指定長(zhǎng)度的數(shù)據(jù)內(nèi)容。
在基于SII的配置方案中,主站按照?qǐng)D8中所示的流程讀取從站信息。主站讀取從站分類信息時(shí),從第一條分類信息開(kāi)始,根據(jù)類型名查找要讀的信息,直到找到要讀取的信息,并將信息存儲(chǔ)到對(duì)應(yīng)結(jié)構(gòu)體。
1.3生成網(wǎng)絡(luò)信息
EtherCAT直接使用標(biāo)準(zhǔn)以太網(wǎng)數(shù)據(jù)幀,以太網(wǎng)幀的數(shù)據(jù)區(qū)由一個(gè)或多個(gè)EtherCAT子報(bào)文組成,每個(gè)子報(bào)文中包含從站的地址和數(shù)據(jù)。EtherCAT網(wǎng)絡(luò)中主站與從站通過(guò)數(shù)據(jù)幀進(jìn)行數(shù)據(jù)交互,EtherCAT數(shù)據(jù)幀采取串行轉(zhuǎn)發(fā)方式,每個(gè)EtherCAT數(shù)據(jù)幀經(jīng)過(guò)所有的從站。數(shù)據(jù)幀到達(dá)某個(gè)從站時(shí),從站根據(jù)EtherCAT數(shù)據(jù)幀中的地址和命令,將數(shù)據(jù)從EtherCAT數(shù)據(jù)幀中取出或?qū)?shù)據(jù)寫(xiě)入EtherCAT數(shù)據(jù)幀中。由上文可知,EtherCAT網(wǎng)絡(luò)中主站訪問(wèn)從站就必須知道從站的地址,主站與從站進(jìn)行數(shù)據(jù)交互就要設(shè)置從站的數(shù)據(jù)區(qū)映射。
EtherCAT從站地址的分配主要是配置設(shè)備地址和邏輯地址。設(shè)備地址是一個(gè)兩字節(jié)的地址,主站用它來(lái)識(shí)別各個(gè)從站。在本方案中設(shè)備地址是從0X1000開(kāi)始,按照連接順序依次遞增進(jìn)行,給每個(gè)從站分配設(shè)備地址。邏輯地址并不是單獨(dú)定義的,而是使用從站數(shù)據(jù)在主站數(shù)據(jù)區(qū)中的地址。使用邏輯地址時(shí),從站中現(xiàn)場(chǎng)總線內(nèi)存管理單元(FieldbusMemoryManagementUnit,F(xiàn)MMU)將從站本地物理存儲(chǔ)映射到主站的邏輯地址。在本方案配置過(guò)程中,主站根據(jù)從站EEPROM中過(guò)程數(shù)據(jù)對(duì)象(ProcessDataObject,PDO)分類信息計(jì)算出從站的數(shù)據(jù)長(zhǎng)度和從站物理地址,然后按照順序在數(shù)據(jù)區(qū)中為每個(gè)從站分配對(duì)應(yīng)的長(zhǎng)度的存儲(chǔ)區(qū),最后根據(jù)計(jì)算結(jié)果配置FMMU寄存器。
EtherCAT從站數(shù)據(jù)區(qū)的配置內(nèi)容主要為配置存儲(chǔ)同步管理器(SyncManager,SM)。SM通過(guò)硬件對(duì)數(shù)據(jù)區(qū)的所有訪問(wèn)進(jìn)行控制,使得數(shù)據(jù)區(qū)不會(huì)被雙方同時(shí)訪問(wèn),保證了主站與從站應(yīng)用數(shù)據(jù)交換的一致性和安全性。在本方案配置過(guò)程中,主站讀取從站EEPROM中的SM類型信息,計(jì)算出SM控制數(shù)據(jù)區(qū)的地址、大小和控制模式,并配置相應(yīng)寄存器。
2、方案測(cè)試
為驗(yàn)證方案的可行性,在Ubuntu平臺(tái)上實(shí)現(xiàn)了一個(gè)采用SII配置方案的精簡(jiǎn)EtherCAT主站。該精簡(jiǎn)EtherCAT主站能夠完成從站配置,以及主從站之間的數(shù)據(jù)交換。測(cè)試系統(tǒng)結(jié)構(gòu)如圖9所示。
在測(cè)試系統(tǒng)中包含有6個(gè)BECKHOOF公司生產(chǎn)的EtherCAT從站,分別是EK1100、EL1008、EL2008、EL3054、EL4024和EK1110。其中EL1008和EL3054分別是數(shù)字輸入和模擬輸入,EL2008和EL4024分別是數(shù)字輸出和模擬輸出。
在測(cè)試中,通過(guò)檢查所有從站的狀態(tài)和周期數(shù)據(jù)交換功能來(lái)判斷EtherCAT網(wǎng)絡(luò)配置是否成功。為了方便分析從站狀態(tài),使用Wireshark抓取EtherCAT數(shù)據(jù)幀分析從站狀態(tài),抓取到數(shù)據(jù)幀如圖10所示。圖10框中的數(shù)據(jù)是獲取到從站的狀態(tài),它顯示所有從站都處于OP狀態(tài),說(shuō)明從站狀態(tài)轉(zhuǎn)換成功,本方案成功配置了EtherCAT網(wǎng)絡(luò)。
3、結(jié)論
目前常見(jiàn)的EtherCAT網(wǎng)絡(luò)配置方案使用XML文件作為配置信息,存在研發(fā)復(fù)雜和效率較低的問(wèn)題。為了解決上述不足,本文研究了EtherCAT網(wǎng)絡(luò)的配置過(guò)程,提出了一種基于SII接口的EtherCAT網(wǎng)絡(luò)配置方案。該方案使用從站SII接口中提供的信息,計(jì)算生成EtherCAT網(wǎng)絡(luò)配置方案。通過(guò)與其他常見(jiàn)方案的比較發(fā)現(xiàn),基于SII接口的EtherCAT網(wǎng)絡(luò)配置方案實(shí)現(xiàn)簡(jiǎn)便,能夠提高配置效率且實(shí)現(xiàn)較容易,因此具有較高的應(yīng)用價(jià)值。
標(biāo)簽:
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>新品發(fā)布:CD300系列總線型伺服驅(qū)動(dòng)器
2024-10-31
2024-10-31
2024-10-31
新勢(shì)能 新期待|維智B1L直線伺服驅(qū)動(dòng)器
2024-10-31
纖薄之間,化繁為簡(jiǎn)|合信全新simple系...
2024-10-29
2024-10-18
推薦專題
更多>