原文地址: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數據子報文在網段內透明傳輸,以實現相應的通訊服務。 .net
二. 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 版權聲明:本文爲博主原創文章,轉載請附上博文連接!