Ethercat 學習總結一:協議總結


原文地址:https://blog.csdn.net/qq923433160/article/details/83781812

EtherCAT 總線的國家標准相關資料,比較詳細介紹了協議:

https://download.csdn.net/download/qq923433160/9739665

 

 

一. EtherCAT 協議概述
        EtherCAT(以太網控制自動化技術)是一個以以太網為基礎的開放架構的現場總線系統,EtherCAT名稱中的CAT為Control Automation Technology(控制自動化技術)首字母的縮寫。最初由德國倍福自動化有限公司(Beckhoff Automation GmbH) 研發。EtherCAT為系統的實時性能和拓撲的靈活性樹立了新的標准,同時,它還符合甚至降低了現場總線的使用成本。EtherCAT的特點還包括高精度設備同步,可選線纜冗余,和功能性安全協議(SIL3)。

        EtherCAT可以支持線形、樹形和星形設備連接拓撲結構,物理介質可以選100Base-TX標准以太網電纜或光纜。使用100Base-TX電纜時站間間距可以達到100m。整個網絡最多可以連接65535個設備。使用快速以太網全雙工通信技術構成主從式的環形結構。

        報文通過從站設備時,從站識別出相關的命令並作出相應的處理。完全由硬件完成信息的處理,延遲時間約為100~500ns(取決於物理層器件),其通信性能和從站設備控制微處理器的響應時間是相互獨立的。每個從站設備都具有可編址的內存,其容量最大可為64KB,能夠對其進行連續的或同步的讀寫操作。可以把多個EtherCAT命令數據嵌入到同一個以太網數據幀中,每個數據對應不同的設備或內存區。

        從站設備可以構成多種形式的分支結構,獨立的設備分支可以放置於控制櫃中或機器模塊中,再用主線連接這些分支結構。 EtherCAT大大提高了現場總線的性能,例如,控制1000個開關量輸入和輸出的刷新時間約為30μs。單個以太網數據幀最多可容納1486字節的數據,相當於12000位開關量數字輸入和輸出,刷新時間約為300μs。控制100個伺服電機的數據通信周期約為100μs。 

        EtherCAT使用一個專門的以太網數據幀類型定義,用以傳輸以太網數據幀的EtherCAT數據包,也可以使用UDP/IP協議格式傳輸EtherCAT數據包。一個 EtherCAT數據包可以由多個EtherCAT子報文組成。EtherCAT從站不處理非 EtherCAT數據幀,其他類型的以太網應用數據可以分段打包為EtherCAT數據子報文在網段內透明傳輸,以實現相應的通信服務。 


二. EtherCAT 系統組成
2.1 運行原理
        實時工業以太網EtherCAT充分利用了以太網技術的全雙工傳輸特性。使用主從模式進行訪問控制,主站把數據幀發送給各個從站,每個從站從數據幀中讀取自己的數據或把需要輸入的數據插入數據幀中。

        從以太網的角度來看,一個EtherCAT網段就是一個以太網設備,它接收和發送標准的ISO/IEC8802-3以太網數據幀。但是,這種以太網設備並不局限於一個以 太網控制器及響應的微處理器,它可以由多個EtherCAT從站組成。這些從站可以直接處理接收的報文,並從報文中提取或者插入相關的用戶數據,然后將該報文傳輸到下一個EtherCAT從站。最后一個EtherCAT從站發回經過完全處理的報文,並由第一個從站作為響應報文將其發送給控制單元。

         EtherCAT通信是由主站發起的,主站發出的數據幀傳輸到一個從站站點時,從站將解析數據幀,每個從站從對應報文中讀取輸出數據,並將輸入數據嵌入到子報文中,同時修改工作計數器WKC的值,以標識從站己處理該報文。網段末端的從站處理完報文后,將報文轉發回主站,主站捕獲返回的報文並對其進行處理,完成一次通訊過程。一個通訊周期過程中,報文傳輸延時大概為幾個納秒,克服了傳統以太網先對數據包進行解析,再復制成過程數據而造成通訊效率低的缺陷。EtherCAT系統運行原理如圖所示。

 

2.2 主站組成
        主站的實現可采用嵌入式和PC機兩種方式,均需配備標准以太網MAC控制器,傳輸介質可使用100BASE-TX規范的5類UTP線纜。 EtherCAT從站設備除了具備通信功能外,還需具備對從站設備的控制功能。常見的從站設備有I/O端子、伺服設備、微處理器等。

EtherCAT主站運行需具備以下幾個基本功能:

    (1)讀取從站設備描述XML文件並對其進行解析,獲取其中配置參數

    (2)捕獲和發送EtherCAT數據幀,完成EtherCAT子報文解析、打包等

    (3)管理從站設備狀態,運行狀態機,完成主從站狀態機設置和維護

    (4)可進行非周期性數據通信,完成系統參數配置,處理通訊過程中突發事件

    (5)實現周期性過程數據通信,實現數據實時交換,實時監控從站狀態,從站反饋 信號實時處理等功能。 

 

2.3從站組成
        在EtherCAT系統的通信過程中,從站采用專用的從站協議控制器(EtherCAT Slave Controller , ESC)來高速動態地(on-the-fly)處理網絡通信數據。系統通信的整個過程中,網絡數據的處理都在從站協議控制器內部有硬件完成,真是因為整個通信過程有硬件實現,所以通信網絡的性能並不取決於從站使用的是什么微處理器及其性能,因為所有的通訊過程都是在從站控制器的硬件中完成的;過程數據接口為從站應用層提供了一個雙端口隨機存儲器( Dual-Port-RAM, DPRAM)來實現數據交換。EtherCAT從站提供網絡數據通信和控制任務功能,從站結構如圖所示。

 

        在由EtherCAT工業以太網現場總線組成的工業控制系統中,系統的通信是由主站發起的並通過過程數據通信控制從站設備的工作狀態,繼而完成系統任務。這些在工業現場的EtherCAT從站設備可以直接接受來自工業以太網中的網絡數據報文。而且還能從網絡數據報文中提取出主站設備發送給各個從站設備的控制信息和命令,並且插進與自己相關的本地工業現場設備的用戶信息及采集的數據,然后在本地從站設備對以太網數據幀處理完成之后再將這個以太網數據報文傳輸到下EtherCAT從站設備當中重復在上一個從站設備中的操作,當這個以太網數據報文傳送到最后一個工業現場設備的EtherCAT從站並且完成相應的操作的時候,在將這個以太網數據報文按原來的路線發送回去,最后由工業現場里第一個EtherCAT從站設備將這個被所有從站設備操作過的網絡數據報文作為響應報文發送給自動化控制系統的主站(即控制 單元)。整個通信過程中充分利用了以太網全雙工處理網絡數據的通訊特點。

EtherCAT Slave Controller(ESC)

ESC傳輸過程:

 

每個ESC都有四個數據收發端口,並且均可以接收發送以太網幀。

        如果ESC的四個端口都有外部鏈接,數據幀的內部傳輸順序固定為端口0 —>端口3 —>端口1 —>端口2 —>端口0,如果某個端口沒有外部鏈接,則此端口關閉,數據幀會自動跳過此端口傳輸到下一個未關閉的端口。正是由於ESC 這種四端口的收發機制,使得其可以 構成多種物理拓撲結構,如樹型、線型和星型結構等。
三. 數據幀結構

3.1 EtherCAT協議
        EtherCAT數據使用類型為0x88A4 的以太網數據幀進行傳輸。EtherCAT 數據由數據頭(2個字節)和的數據區(44~1498 字節)組成。

EtherCAT 的處理主要是ESC 內部的硬件來完成,因此,其硬件處理能力決定了數據的處理速度。

數據幀結構說明:

 

1. 目標地址:接收方MAC地址

2. 源地址:發送方MAC地址

3. 幀類型:0x88A4,EtherCAT數據使用類型為0x88A4的以太網數據幀進行傳輸。

4. EtherCAT幀頭:

EtherCAT幀頭為11bit數據長度;1bit 保留;4bit 類型,等於1時表示EtherCAT數據處於ESC通信中,其余保留。

EtherCAT幀頭

位數

11bits

1bit

4bits

意義

EtherCAT數據長度

保留

類型

說明

即所有子報文長度總和

0x01:EtherCAT DLPDU

0x04:network veriable

0x05:mailbox

5. EtherCAT數據:數據區包含一個或多個EtherCAT 子報文,每一個子報文對應一個獨立的從站設備。

1)EtherCAT子報文:

EtherCAT 數據區由不定數目的子報文組成,所有子報文對應操作單獨的從站站點。

子報文數據段可根據需求嵌入 CoE、SoE等協議數據格式。

EtherCAT 子報文由子報文頭、數據域和工作計數器組成。

2)子報文數據幀格式:

子報文

子報

文頭

位數

8bits

8bits

32bits

11bits

4bits

1bit

16bits

意義

命令

索引

地址區

長度

R

M

狀態位

說明

尋址方式及讀寫方式

幀編碼

從站地址

報文數據區長度

保留

后續報文標志

中斷到來標志

數據

長度小於2486bytes

WKC

工作計數器,WKC 用來記錄從站操作子報文的次數,主站給每個子報文預設了 WKC。設置發送子報文的工作計數器初值為 0,從站正確處理子報文后,工作計數器的值將增加一個增量,主站把返回的子報文中的 WKC 和預設的 WKC 作比較后判斷子報文是否被從站正確處理。ESC 在處理數據幀的同時處理 WKC,由通信服務的不同決定 WKC 的增加方式。

3)命令碼說明:

尋址方式

讀寫模式

命令名稱

描述

順序尋址

讀數據

APRD

0x01

主站使用順序尋址從從站讀取一定長度數據

寫數據

APWR

0x02

主站使用順序尋址向從站寫入一定長度數據

讀/寫

APRW

0x03

主站使用順序尋址與從站交換數據

設置尋址

讀數據

FPRD

0x04

主站使用設置尋址從從站讀取一定長度數據

寫數據

FPWR

0x05

主站使用設置尋址向從站寫入一定長度數據

讀/寫

FPRW

0x06

主站使用設置尋址與從站交換數據

廣播尋址

讀數據

BRD

0x07

主站從所有從站的物理地址讀取數據

寫數據

BWR

0x08

主站廣播寫入所有從站

讀/寫

BRW

0x09

主站與所有從站交換數據,對讀取的數據

邏輯尋址

讀數據

LRD

0x0A

主站使用邏輯地址讀取一定長度數據

寫數據

LWR

0x0B

主站使用邏輯地址寫入一定長度數據

讀/寫

LRW

0x0C

主站使用邏輯尋址與從站交換數據

6. FCS:幀校驗

3.2 EtherCAT UDP 協議
EtherCAT 無 IP協議,但可將其封裝在IP/UDP協議中。EtherCAT UDP 協議適用於實時性能要求不是很嚴格的場合。

 


四. EtherCAT 尋址方式和通訊服務
4.1 網段尋址
EtherCAT 主站與網段之間存在着不同的尋址方式,利用太網數據幀頭西南科技大學碩士研究生論文 第13 頁部的 MAC 地址來尋址就是EtherCAT 網段尋址。

具體的方式有以下兩種。

開發模式:主站設備通過以太網交換機與EtherCAT 網段進行連接,網段即可使用EtherCAT數據幀當中的目的地址來作為MAC 地址。

 

直連模式:主站設備通過與EtherCAT網段的直接端口連接來對對MAC地址進行廣播。

 

4.2 設備尋址
在這個尋址方式中,16bit的設備位置(站點地址)和16bit的芯片內物理地址構成了一個32位地址的從站報文。該報文可以支持高達65535個從站和每個從站64K的地址映射。設備尋址有位置尋址(自動增減尋址)、設置站點尋址和廣播尋址。其中,設置站點尋址又可以分為工作時由主站設置、存儲在EEPEOM當中等兩種方式。在每次系統上電或者復位時,能夠通過EEPEOM讀出站點地址。

在進行設備尋址過程中,各個報文只能夠尋址唯一的從站設備,尋址設備的機制有以下兩種:

順序尋址:在順序尋址過程中,可以通過網段內的連接位置來確定從站的地址,其連接位置是由網段內接線順序來決定,並使用一個負數來表示這個位置。在依次經過各個從站設備時,每經過一個從站設備,順序尋址的子報文會在其順序地址上增加1;順序地址為0的報文會在從站接收時被認定為尋址本文本身。每次報文在經過能夠自動更新地址,因此順序尋址有可以叫做自動增量尋址。

實際使用時,主站會在啟動階段使用順序尋址方式將地址分配給各個從站。使用順序尋址可以讓一些跟位置沒有關系的地址自動變成從站的地址。

設置尋址:在設置尋址過程中,從站地址在網段內的連接順序也可以與其自身沒有對應關系。該地址可以通過兩種方式獲取,一是在數據鏈路啟動階段由主站配置給從站,二是在上電初始化的時候由從站在自身的配置數據存儲區里裝載,在后續的運行使用中,便可以在鏈路啟動階段由主站應用順序尋址的方式來讀取各個從站的設置地址。

4.3 邏輯尋址
在邏輯尋址方式下,從站地址使用的是固定的邏輯地址空間。從站通過將報文內的32 位空間當作整體的地址來實現的。這樣可以把單個數據幀內任意數據的多個地址分散分布在EtherCAT從站上,從而使得EtherCAT協議變得更加靈活。

邏輯尋址方式是通過FMMU(現場總線內存管理單元)來實現,FMMU的功能存在於各個ESC內部,把從站的本地物理存儲地址通過映射與網段內邏輯地址匹配。主站設備會在數據鏈路啟動過程中將配置好的FMMU單元傳送至從站設備。各個FMMU單元的配置信息包括:數據邏輯位起始地址、表示映射方向(輸入或輸出)、位長度、從站物理內存起始地址的類型位,從站設備內的數據與主站的邏輯地址都存在按位的映射關系。

從站設備會檢查通過數據邏輯尋址方式收到的EtherCAT子報文是否能夠與FMMU單元地址匹配。如果能夠匹配,EtherCAT子報文數據區的對應位置將會插入輸入類型數據和抽取輸出類型數據。由於采用邏輯地址方式能夠靈活地組織控制系統,並且優化系統結構,所以該尋址方式適合於傳輸或交換周期性過程的數據。

4.4 通信服務和WKC
EtherCAT 子報文都是使用主站的操作來描述所有的服務。從站內部物理存儲和讀寫和交換(讀取並馬上寫入)數據的服務則是由數據鏈路層來確定的。子報文頭中的命令字節表示了由讀寫操作和尋址方式共同命令的通信服務形式。

每一個從站的EtherCAT 數據報都具有一個16 位的工作計數器(WKC)。該工作計數器用以記錄EtherCAT 數據報成功訪問(正確尋址到從站並成功訪問到數據存儲區)的從站個數。EtherCAT 從站控制器將工作計數器硬件遞增。各個從站數據報中計數器預期值的計算應當由主站程序中的模塊來完成。在接收到返回數據幀后,主站會與WKC 比較,如果不一樣,說明該報文有問題。子報文中工作計數器的值是與通信服務、尋址地址相關聯。報文每讀或寫一次數據,WKC 的值就加1,同時讀寫時,讀成功后WKC 得值加1,寫成功后WKC 的值加2,讀寫全部完成后WKC 的值加3。所以,WKC 的值就會所有從站處理發生的累加的結果。ARMW 和FRWM 是多讀多寫的命令,可以當作單個讀或寫命令來理解。WCK 的值會根據命令不同不斷變化。 

五.應用層
應用層AL(Application Layer)為用戶與網絡之間提供接口,應用層在EtherCAT 通信協議層次結構中是與用戶聯系最緊密最直接的一層,它可以直接與用戶進行交互,實現面對具體的應用程序和控制任務等功能,EtherCAT應用層為各種服務協議與應用程序之間定義了接口,使其能夠滿足應用層所要求的各種協議共同工作的需求。EtherCAT 作為網絡通信技術, 支持CANopen 協議中的CiA402,以及SERCOS 協議的應用層(即CoE 和SoE)等多種符合行規的設備和協議,如下圖所示。

 

5.1 CoE (CANopen over EtherCAT)
CANopen 協議是在CAN 協議基礎上開發的應用層協議,EtherCAT 支持采用CANopen 作為應用層協議,此外,還在EtherCAT 協議中關於具體應用的方面做了相應的補充和擴展,它的主要功能包括:初始化通信網絡並利用郵箱通信來訪問CoE 對象字典及其對象;使用CoE 來配置周期性的數據傳輸過程及控制指令;管理通信網絡並處理突發事件和錯誤信息。

5.2 SoE(SERCOS over EtherCAT)
SERCOS(串行實時通信協議)是一種高性能的數字伺服實時通信接口協議,包括了通信技術和多種設備行規。SoE 是基於EtherCAT 的SERCOS 協議,盡管EtherCAT 設備上不能進行SERCOS 協議的數據,但EtherCAT 能夠對執行SERCOS 規范設備的伺服控制和數據通信提供支持。

5.3 EoE (EtherNet over EtherCAT)
EtherCAT技術不僅完全兼容以太網,而且在設計之初就具備良好的開放性——該協議可以在相同的物理層網絡中包容其他基於以太網的服務及協議。可將任何類型的以太網設備通過交換機端口連入EtherCAT網段。

5.4 FoE (EtherCAT實現文件傳輸)
該協議與TFTP類似,允許讀寫設備中的任何數據結構。因此,無論設備是否支持TCP/IP,都可以將標准化固件上傳到設備上。
---------------------
作者:樂樂家樣樣
來源:CSDN
原文:https://blog.csdn.net/qq923433160/article/details/83781812
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM