《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于SII接口的EtherCAT網絡配置方案設計
基于SII接口的EtherCAT網絡配置方案設計
2017年電子技術應用第12期
南 揚1,2,豐大軍2,趙德政2,王 皓2
1.西安電子科技大學 通信工程學院,陜西 西安710071;2.華北計算機系統工程研究所,北京100083
摘要: 介紹了EtherCAT工業以太網技術及常用EtherCAT網絡配置方案,分析了常用配置方案所存在的問題,針對EtherCAT配置方法開展研究,提出了一種基于從站信息接口(SII)的EtherCAT網絡配置方案。通過設計實驗對該配置方案進行測試,實驗結果表明該方案能有效提高EtherCAT網絡配置的效率。
中圖分類號: TP29
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.179021
中文引用格式: 南揚,豐大軍,趙德政,等. 基于SII接口的EtherCAT網絡配置方案設計[J].電子技術應用,2017,43(12):69-72.
英文引用格式: Nan Yang,Feng Dajun,Zhao Dezheng,et al. Design of EtherCAT network configuration based on SII interface[J].Application of Electronic Technique,2017,43(12):69-72.
Design of EtherCAT network configuration based on SII interface
Nan Yang1,2,Feng Dajun2,Zhao Dezheng2,Wang Hao2
1.School of Telecommunication Engineering,Xidian University,Xi′an 710071,China; 2.National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: This paper introduces the technology of EtherCAT industrial Ethernet. The common scheme of EtherCAT network configuration is analyzed. The way of EtherCAT configuration is studied. A method of EtherCAT configuration based on slave information interface(SII) is proposed to deal with the problem that exists in the common scheme. The experiments are designed for testing the feasibility of the scheme. The result proves that the scheme has excellent performance.
Key words : industrial Ethernet;EtherCAT;slave information interface;network configuration

0 引言

    EtherCAT是由BECKHOFF公司提出的一種高性能工業以太網技術[1],它采用標準以太網數據幀和符合以太網標準IEEE 802.3的物理層,具有數據傳輸速度高、實時性好、拓撲靈活和實施費用低的優點,逐步成為工業以太網技術研究的熱點[2]

    目前,EtherCAT技術已成為國際標準IEC61158的一部分,被廣泛的應用于同步控制、運動控制和材料加工控制等行業[3,4]。本文研究了常用的EtherCAT網絡配置方案,分析了其不足,提出了一種基于從站信息接口(Slave Information Interface,SII)的EtherCAT網絡配置方案,并對方案進行實現,最后通過實驗驗證了其可行性。

    目前常用的EtherCAT網絡配置方案大多基于可擴展標記語言(eXtensible Markup Language,XML)在這種方案中EtherCAT配置工具根據從站提供的EtherCAT從站信息(EtherCAT Slave Information,ESI)文件和網絡拓撲結構,生成一個XML格式的EtherCAT網絡信息(EtherCAT Network Information,ENI)文件。ENI文件描述了網絡的拓撲結構以及從站設備的初始化命令和配置命令。主站獲取ENI文件,并根據其網絡配置信息進行EtherCAT網絡配置。

    這種方案具有良好的通用性和擴展性,但也有著諸多不足。一方面,該配置方案需要額外的配置軟件進行協助,增加了研發的工作量。同時,ENI文件依據ESI文件生成,所以一個新的模塊出現就要向EtherCAT配置軟件的庫文件中添加一個新的ESI文件,使得整個配置操作較為復雜。文獻[5]中設計了一種簡單EtherCAT主站,可以簡化配置過程,但是仍然需要上位機進行協助。

    另一方面,XML格式的文件解析比較復雜。XML格式文本是W3C組織為Web數據儲存和交換制定的一種文本格式,其解析復雜度較高,尤其是在系統資源并不豐富的嵌入式主站系統中,XML的解析壓力將面臨更為嚴峻的挑戰。文獻[6]提出了一種快速XML解析方案,但是其對內存要求較大,并不能完全解決上述問題。

1 基于SII的配置方案

    為了解決傳統方案中存在的問題,本文提出并設計了一種基于SII的EtherCAT配置方案。SII是從站信息接口,它規定了從站信息在EEPROM中的存儲格式,主站可以根據SII中的信息完成對從站的配置。該配置方案如圖1所示,在配置開始時,主站掃描從站,獲取從站的拓撲,并順序讀取所有從站的設備信息,然后生成配置命令,從而完成對EtherCAT網絡及所有從站的配置操作。與傳統方案相比,本方案中由主站獲取從站的拓撲結構并生成配置信息,全程無需專門的配置工具軟件參與,降低了配置方案的開發成本;主站直接從SII中獲取從站的信息,不需要XML參與配置,省卻了解析XML的時間,極大地提高了配置效率。

ck6-t1.gif

    該配置方案包括3個操作步驟:(1)掃描從站,根據獲取的響應信息計算從站連接的拓撲結構;(2)根據從站的拓撲結構,依次讀取從站信息;(3)生成配置信息,并對從站進行配置。

1.1 計算從站拓撲結構

    在目前常用的EtherCAT網絡配置方案中,從站的拓撲結構是由配置工具軟件生成并下發到從站。而在基于SII的配置方案中,由于沒有配置工具軟件的參與,主站采用一種遞歸的算法計算從站的拓撲結構。

    為了讀者更好地理解從站拓撲結構的計算方法,先簡單介紹EtherCAT數據幀如何在從站中傳輸。EtherCAT從站結構如圖2所示,從站最多支持4個端口,從站會根據端口是否存在連接自動打開或關閉端口。若連接存在,則打開端口,否則關閉端口。若端口打開,流入該端口的數據幀被發送給其他從站,在其他從站處理完成后返回該端口;若端口閉合,數據幀會直接流向從站的下一個端口。0端口是從站數據的輸入端口,從站一旦接入網絡,端口0一定處于打開的狀態,其他3個端口都有可能關閉。因此數據幀在從站中傳輸順序是0端口、數據幀處理單元、3端口、1端口、2端口、0端口,最后由0端口離開從站。圖3介紹了數據幀在網絡中的傳輸過程。

ck6-t2.gif

ck6-t3.gif

    根據上面的描述,可以將EtherCAT從站抽象成三叉樹上的一個結點。如圖4(a)所示,Port0作為從站結點的輸入端口,而Port3、Port1和Port2作為輸出端口,且樹遍歷順序是Port3、Port1和Port2。圖3中的網絡拓撲結構可抽象圖4(b)所示的三叉樹。因此,計算EtherCAT網絡的拓撲結構可以抽象成對三叉樹的深度優先遍歷[7]。因為工控網絡中節點數量較少,可以采用遞歸算法實現,因此本文采用遞歸算法實現EtherCAT網絡拓撲結構的計算[8]

ck6-t4.gif

    在使用遞歸算法計算從站拓撲結構前,仍需要進行3個步驟獲取必要條件:

    (1)獲取網絡中從站的個數

    從站的數據幀處理單元在成功處理完數據幀之后,會把數據幀計數位的值加1,表示處理成功。利用此特性,主站發送廣播數據幀,所有從站都會把數據幀的計數位的值加1,因此數據幀計數位的值就代表了從站個數,主站讀取返回數據幀的計數位就可以獲取從站的個數。

    (2)獲取從站各個端口連接狀態

    從站使用專用的寄存器記錄從站端口的連接狀態,主站使用順序讀取命令,讀取各個從站記錄端口連接狀態的寄存器,獲取從站端口的連接狀態。

    (3)排列從站順序

    按照從站的順序尋址即數據幀在從站的處理順序給從站進行排序。圖3中的從站按照此方法排列后的順序是A、B、C、D。

    圖5所示為數據結構存儲從站信息,name表示從站的名字,port0、port1、port2和port3采用相同的結構表示從站端口的情況,linkstatus表示端口是否存在連接,之后的name代表與該端口連接的從站的名字。port0比較特殊,因為其作為從站輸入端口,即連接樹的父結點,所以一直處于連接狀態。

ck6-t5.gif

    在計算從站拓撲結構時,按照順序將各個從站的連接信息存在結構體數組中,然后從數組中第一個從站開始進行計算。對每一個從站首先在port0中記錄其上層從站的名字,然后按照port3、port1和port2的順序掃描從站的各個端口的連接情況,若某端口處于連接狀態,且未記錄其子結點,則數組中其后port0為空的從站是其子結點,此時進入下一層,遞歸計算子結點的連接情況。當計算完成時,所有從站的連接情況都已經明確,也就完成了從站拓撲結構的計算。

1.2 讀取從站信息

    要完成EtherCAT網絡的配置,除了需要獲取從站的拓撲結構外,還需要各個從站的設備信息。在傳統方案中,從站信息是由ESI文件提供的,而在本方案中主站通過訪問從站的EEPROM獲取配置信息。本節將介紹基于SII的配置方案主站如何讀取從站的設備信息。

    EEPROM中的信息結構如圖6所示,0~64地址存儲的是從站結構信息,從地址64處開始存儲的是分類信息[9]。所有分類信息使用相同的數據結構,但長度不定。分類信息的數據結構如圖7所示,包括2個字節的信息類型、2個字節的數據長度和指定長度的數據內容。

ck6-t6.gif

ck6-t7.gif

    在基于SII的配置方案中,主站按照圖8中所示的流程讀取從站信息。主站讀取從站分類信息時,從第一條分類信息開始,根據類型名查找要讀的信息,直到找到要讀取的信息,并將信息存儲到對應結構體。

ck6-t8.gif

1.3 生成網絡信息

    EtherCAT直接使用標準以太網數據幀,以太網幀的數據區由一個或多個EtherCAT子報文組成,每個子報文中包含從站的地址和數據。EtherCAT網絡中主站與從站通過數據幀進行數據交互,EtherCAT數據幀采取串行轉發方式,每個EtherCAT數據幀經過所有的從站。數據幀到達某個從站時,從站根據EtherCAT數據幀中的地址和命令,將數據從EtherCAT數據幀中取出或將數據寫入EtherCAT數據幀中。由上文可知,EtherCAT網絡中主站訪問從站就必須知道從站的地址,主站與從站進行數據交互就要設置從站的數據區映射。

    EtherCAT從站地址的分配主要是配置設備地址和邏輯地址。設備地址是一個兩字節的地址,主站用它來識別各個從站。在本方案中設備地址是從0X1000開始,按照連接順序依次遞增進行,給每個從站分配設備地址。邏輯地址并不是單獨定義的,而是使用從站數據在主站數據區中的地址。使用邏輯地址時,從站中現場總線內存管理單元(Fieldbus Memory Management Unit,FMMU)將從站本地物理存儲映射到主站的邏輯地址。在本方案配置過程中,主站根據從站EEPROM中過程數據對象(Process Data Object,PDO)分類信息計算出從站的數據長度和從站物理地址,然后按照順序在數據區中為每個從站分配對應的長度的存儲區,最后根據計算結果配置FMMU寄存器。

    EtherCAT從站數據區的配置內容主要為配置存儲同步管理器(SyncManager,SM)。SM通過硬件對數據區的所有訪問進行控制,使得數據區不會被雙方同時訪問,保證了主站與從站應用數據交換的一致性和安全性。在本方案配置過程中,主站讀取從站EEPROM中的SM類型信息,計算出SM控制數據區的地址、大小和控制模式,并配置相應寄存器。

2 方案測試

    為驗證方案的可行性,在Ubuntu平臺上實現了一個采用SII配置方案的精簡EtherCAT主站。該精簡EtherCAT主站能夠完成從站配置,以及主從站之間的數據交換。測試系統結構如圖9所示。

ck6-t9.gif

    在測試系統中包含有6個BECKHOOF公司生產的EtherCAT從站,分別是EK1100、EL1008、EL2008、EL3054、EL4024和EK1110。其中EL1008和EL3054分別是數字輸入和模擬輸入,EL2008和EL4024分別是數字輸出和模擬輸出。

    在測試中,通過檢查所有從站的狀態和周期數據交換功能來判斷EtherCAT網絡配置是否成功。為了方便分析從站狀態,使用Wireshark抓取EtherCAT數據幀分析從站狀態,抓取到數據幀如圖10所示。圖10框中的數據是獲取到從站的狀態,它顯示所有從站都處于OP狀態,說明從站狀態轉換成功,本方案成功配置了EtherCAT網絡。

ck6-t10.gif

3 結論

    目前常見的EtherCAT網絡配置方案使用XML文件作為配置信息,存在研發復雜和效率較低的問題。為了解決上述不足,本文研究了EtherCAT網絡的配置過程,提出了一種基于SII接口的EtherCAT網絡配置方案。該方案使用從站SII接口中提供的信息,計算生成EtherCAT網絡配置方案。通過與其他常見方案的比較發現,基于SII接口的EtherCAT網絡配置方案實現簡便,能夠提高配置效率且實現較容易,因此具有較高的應用價值。

參考文獻

[1] 藺輝,田新鋒,馬彩文,等.基于Beckhoff嵌入式PC控制器的步進電機群控系統設計[J].電子技術應用,2009,35(9):129-131.

[2] 劉喆,郇極,劉艷強.基于XML的EtherCAT工業以太網協議解析技術[J].北京航空航天大學學報,2011,37(9):1086-1090.

[3] 吳麗菲.EtherCAT在實時系統下的實現[D].廣州:華南理工大學,2014.

[4] 朱永東,李彬.淺析提高工業以太網的可靠性和穩定性[J].電子技術與軟件工程,2013(18):37.

[5] Zhou Tong,Hu Jingtao.Design and realization of EtherCAT master[C].Electronic and Mechanical Engineering and Information Technology(EMEIT),2011.

[6] 張運嵩.一種快速的非提取式XML解析器的設計與實現[D].蘇州:蘇州大學,2010.

[7] 唐青松.深度優先算法在創建樹形結構中的應用研究[J].計算機技術與發展,2014(9):226-229.

[8] 魏斌,馬繼輝,牛虎.基于遞歸算法的樹型結構圖的設計與實現[J].計算機應用與軟件,2011(1):96-98.

[9] 郇極,劉艷強.工業以太網現場總線EtherCAT驅動程序設計及應用[M].北京:北京航空航天大學出版社,2010.



作者信息:

南  揚1,2,豐大軍2,趙德政2,王  皓2

(1.西安電子科技大學 通信工程學院,陜西 西安710071;2.華北計算機系統工程研究所,北京100083)

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美日本在线播放 | 免看一级一片一在线看 | 黑人黄色一级片 | 成人公开视频 | 亚洲欧美日韩中另类在线 | 天天射天天搞 | 老子影院午夜伦不卡亚洲 | 国产在线精品观看 | 狠狠操天天射 | 美国一级毛片a | 国产已拍视频 | 国产盗摄一区二区欧美精品 | 操欧美美女 | 国产精品视频偷伦精品视频 | 成年人在线网站 | 在线视频免费观看a毛片 | 国产综合色在线视频区色吧图片 | 精品 日韩 国产 欧美在线观看 | 久久丝袜精品中文字幕 | 在线视频免费观看a毛片 | 五月天婷婷在线观看高清 | 亚洲日韩欧美综合 | 欧美亚洲国产人成aaa | 色老二导航 | 欧美日本高清视频在线观看 | 日韩dv| 人成网站在线观看 | 日韩 国产 在线 | 久久久高清日本道免费观看 | 亚洲国产亚洲综合在线尤物 | 国产日韩欧美第一页 | 日韩欧美亚洲综合一区二区 | 成人激情文学 | 亚洲欧美人妖另类激情综合区 | 免费福利在线看黄网站 | 一级毛片区| 精品国产第一页 | 日本高清中文字幕一区二区三区 | 欧洲一区二区 | 成人午夜小视频 | 中文字幕15页 |