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的時間,極大地提高了配置效率。
該配置方案包括3個操作步驟:(1)掃描從站,根據獲取的響應信息計算從站連接的拓撲結構;(2)根據從站的拓撲結構,依次讀取從站信息;(3)生成配置信息,并對從站進行配置。
1.1 計算從站拓撲結構
在目前常用的EtherCAT網絡配置方案中,從站的拓撲結構是由配置工具軟件生成并下發到從站。而在基于SII的配置方案中,由于沒有配置工具軟件的參與,主站采用一種遞歸的算法計算從站的拓撲結構。
為了讀者更好地理解從站拓撲結構的計算方法,先簡單介紹EtherCAT數據幀如何在從站中傳輸。EtherCAT從站結構如圖2所示,從站最多支持4個端口,從站會根據端口是否存在連接自動打開或關閉端口。若連接存在,則打開端口,否則關閉端口。若端口打開,流入該端口的數據幀被發送給其他從站,在其他從站處理完成后返回該端口;若端口閉合,數據幀會直接流向從站的下一個端口。0端口是從站數據的輸入端口,從站一旦接入網絡,端口0一定處于打開的狀態,其他3個端口都有可能關閉。因此數據幀在從站中傳輸順序是0端口、數據幀處理單元、3端口、1端口、2端口、0端口,最后由0端口離開從站。圖3介紹了數據幀在網絡中的傳輸過程。
根據上面的描述,可以將EtherCAT從站抽象成三叉樹上的一個結點。如圖4(a)所示,Port0作為從站結點的輸入端口,而Port3、Port1和Port2作為輸出端口,且樹遍歷順序是Port3、Port1和Port2。圖3中的網絡拓撲結構可抽象圖4(b)所示的三叉樹。因此,計算EtherCAT網絡的拓撲結構可以抽象成對三叉樹的深度優先遍歷[7]。因為工控網絡中節點數量較少,可以采用遞歸算法實現,因此本文采用遞歸算法實現EtherCAT網絡拓撲結構的計算[8]。
在使用遞歸算法計算從站拓撲結構前,仍需要進行3個步驟獲取必要條件:
(1)獲取網絡中從站的個數
從站的數據幀處理單元在成功處理完數據幀之后,會把數據幀計數位的值加1,表示處理成功。利用此特性,主站發送廣播數據幀,所有從站都會把數據幀的計數位的值加1,因此數據幀計數位的值就代表了從站個數,主站讀取返回數據幀的計數位就可以獲取從站的個數。
(2)獲取從站各個端口連接狀態
從站使用專用的寄存器記錄從站端口的連接狀態,主站使用順序讀取命令,讀取各個從站記錄端口連接狀態的寄存器,獲取從站端口的連接狀態。
(3)排列從站順序
按照從站的順序尋址即數據幀在從站的處理順序給從站進行排序。圖3中的從站按照此方法排列后的順序是A、B、C、D。
圖5所示為數據結構存儲從站信息,name表示從站的名字,port0、port1、port2和port3采用相同的結構表示從站端口的情況,linkstatus表示端口是否存在連接,之后的name代表與該端口連接的從站的名字。port0比較特殊,因為其作為從站輸入端口,即連接樹的父結點,所以一直處于連接狀態。
在計算從站拓撲結構時,按照順序將各個從站的連接信息存在結構體數組中,然后從數組中第一個從站開始進行計算。對每一個從站首先在port0中記錄其上層從站的名字,然后按照port3、port1和port2的順序掃描從站的各個端口的連接情況,若某端口處于連接狀態,且未記錄其子結點,則數組中其后port0為空的從站是其子結點,此時進入下一層,遞歸計算子結點的連接情況。當計算完成時,所有從站的連接情況都已經明確,也就完成了從站拓撲結構的計算。
1.2 讀取從站信息
要完成EtherCAT網絡的配置,除了需要獲取從站的拓撲結構外,還需要各個從站的設備信息。在傳統方案中,從站信息是由ESI文件提供的,而在本方案中主站通過訪問從站的EEPROM獲取配置信息。本節將介紹基于SII的配置方案主站如何讀取從站的設備信息。
EEPROM中的信息結構如圖6所示,0~64地址存儲的是從站結構信息,從地址64處開始存儲的是分類信息[9]。所有分類信息使用相同的數據結構,但長度不定。分類信息的數據結構如圖7所示,包括2個字節的信息類型、2個字節的數據長度和指定長度的數據內容。
在基于SII的配置方案中,主站按照圖8中所示的流程讀取從站信息。主站讀取從站分類信息時,從第一條分類信息開始,根據類型名查找要讀的信息,直到找到要讀取的信息,并將信息存儲到對應結構體。
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所示。
在測試系統中包含有6個BECKHOOF公司生產的EtherCAT從站,分別是EK1100、EL1008、EL2008、EL3054、EL4024和EK1110。其中EL1008和EL3054分別是數字輸入和模擬輸入,EL2008和EL4024分別是數字輸出和模擬輸出。
在測試中,通過檢查所有從站的狀態和周期數據交換功能來判斷EtherCAT網絡配置是否成功。為了方便分析從站狀態,使用Wireshark抓取EtherCAT數據幀分析從站狀態,抓取到數據幀如圖10所示。圖10框中的數據是獲取到從站的狀態,它顯示所有從站都處于OP狀態,說明從站狀態轉換成功,本方案成功配置了EtherCAT網絡。
3 結論
目前常見的EtherCAT網絡配置方案使用XML文件作為配置信息,存在研發復雜和效率較低的問題。為了解決上述不足,本文研究了EtherCAT網絡的配置過程,提出了一種基于SII接口的EtherCAT網絡配置方案。該方案使用從站SII接口中提供的信息,計算生成EtherCAT網絡配置方案。通過與其他常見方案的比較發現,基于SII接口的EtherCAT網絡配置方案實現簡便,能夠提高配置效率且實現較容易,因此具有較高的應用價值。
-
SII
+關注
關注
0文章
5瀏覽量
14367
發布評論請先 登錄
相關推薦
評論