2024年6月7日 星期五

EtherCAT介紹5

 基于乙太網的通訊協議

乙太網無處不在,並且具有成本效益,它採用公共物理鏈路且速度更快。

正因如此,多種工業通信協議正轉移到基于乙太網的解決方案上。

支持 TCP/IP 的乙太網通信通常具有不確定性,反應時間通常約為 100ms。

工業乙太網協議使用經過修改的介質訪問控制 (MAC) 層來實現非常低的延遲和確定性響應。

乙太網還使系統具備靈活的網絡拓撲和靈活的節點數量。我們來詳細瞭解一些流行的工業乙太網通信協議。



主要有以下幾種:




EtherCAT


Powerlink


Ethernet/Internet Protocol (IP)


Modbus/Transmission Control Protocol (TCP)


ProfiNet


圖片關於這幾種匯流排通訊協議,近期會詳細的一一介紹,這裡暫時不做展開,歡迎大家持續關注Hello工控。




乙太網不同類型對比


乙太網在工廠的不同層級都有使用,例如(自動化現場層、控制層、辦公應用層),如下圖所示:



那麼,在選擇和使用乙太網通訊的時候,我們需要注意通訊的速率、介質,還有實際的通訊距離,我們這裡整理總結如下圖供各位參考:





EtherCAT性能

借助于從站硬件整合和網絡控制器主站的直接內存存取,整個協議的處理過程都在硬件中得以實現,因此,完全獨立於協議堆棧的實時運行系統、CPU 性能或軟件實現方式。1000個I/O的更新時間只需30 µs,其中還包括I/O週期時間(參見下圖)。


100個伺服軸的通訊也非常快速:可在每100µs中更新帶有命令值和控制數據的所有軸的實際位置及狀態,分佈時鐘技術使軸的同步偏差小於1微秒。而即使是在保證這種性能的情況下,頻寬仍足以實現非同步通訊,如TCP/IP、下載參數或上載診斷數據。


超高性能的EtherCAT技術可以實現傳統的現場匯流排系統無法迄及的控制理念。EtherCAT使通訊技術和現代工業PC所具有的超強計算能力相適應,匯流排系統不再是控制理念的瓶頸,分散式I/O可能比大多數本地I/O介面運行速度更快。EtherCAT技術原理具有可塑性,並不束縛于100Mbps的通訊速率,甚至有可能擴展為1000Mbps的乙太網。


得益於EtherCAT的On-the-fly運行機制和獨特的EtherCAT通訊幀結構,他的性能相比較而言,目前是最優的:



2024年6月5日 星期三

EtherCAT介紹4

 重要性

在工業自動化設備中,之所以選擇匯流排,主要考慮的是通訊速度、頻寬還有就是穩定性和同步性。特別是在運控領域,微秒級別的同步,高速運動過程中的位置鎖存(飛拍、追剪等應用),那同步性是相當重要。






分散式時鐘(DC)原理


在EtherCAT匯流排網絡中,術語“分散式時鐘”是指分散式時鐘的邏輯網絡。通過使用分散式時鐘,EtherCAT實時乙太網協議能夠在非常窄的容差範圍內同步所有本地匯流排設備中的時間。如果EtherCAT從站支持分散式時鐘功能,則它包含自己的時鐘,該時鐘在打開後最初在本地運行,基于EtherCAT從站內部的獨立時鐘生成器(石英、振盪器等)。



在EtherCAT鏈中,有一個選定的EtherCAT從站,代表參考時鐘(M,見圖EtherCAT系統中的分散式時鐘),其他設備和控制器的從機時鐘(S)與之同步。因此,參考時鐘即是系統時間。如果EtherCAT主機支持分散式時鐘功能,例如Beckhoff TwinCAT EtherCAT主站,則其可自動連續處理調整和同步。為此,EtherCAT主機以短時間間隔發送一個特殊EtherCAT數據報文(具有足夠的頻率以確保從站時鐘在指定的限制內保持同步),其中EtherCAT從站與參考時鐘進入其當前時間。然後,所有其他具有從時鐘的EtherCAT從站從同一數據報中讀取該信息。



由於EtherCAT的環形結構,如果參考時鐘在拓撲上位於所有其他從站時鐘之前,這是可能的。因此,EtherCAT主設備選擇第一個具有分散式時鐘功能的EtherCAT從站作為參考時鐘。


因此,EtherCAT配置的特點是EtherCAT主機操作和管理與連接的EtherCAT從站的匯流排。其中一個EtherCAT從站包含參考時鐘(M),所有其他EtherCAT設備(即包括EtherCAT主站)代表從站時鐘(S)。


EtherCAT從站控制器(ESC)處理EtherCAT通信,尤其是EtherCAT從站中的分散式時鐘功能。這是諸如ASIC或可重編程FPGA或類似物的電子部件(晶片)。每個EtherCAT從設備都有這樣一個ESC,以確保通過EtherCAT現場匯流排在主設備和從設備之間交換循環和非循環過程數據。該ESC可以直接處理數字輸入和輸出等簡單功能,也可以通過串列/並行介面連接到EtherCAT從機中的另一個處理器,以處理更複雜的任務,如驅動控制。特別是,如果EtherCAT從站需要支持此功能,ESC會管理本地分散式時鐘功能和相關任務。


EtherCAT從站的示意圖如圖所示。ESC功能和嵌入典型EtherCAT從屬機的示例。此外,在後者中嵌入ESC及其基本功能的選擇。






信號通過轉變器從RJ45插座傳輸到PHY(物理介面)。它從編碼的乙太網信號中提取用戶數據,並將其傳輸到ESC進行處理。然後,EtherCAT電報以最小延遲(由於動態處理)通過PHY和套接字中繼到下一個EtherCAT從機。當從設備啟動時,ESC自動通過EEPROM中的配置數據對自身進行參數化。如果從設備中存在另一個CPU,則從站可以通過介面與其通信。


ESC的分散式時鐘單元在完整配置中提供以下功能(取決於設備實現):

EtherCAT從設備和主設備之間的時鐘同步

同步生成輸出信號(同步信號)

同步讀取輸入信號

輸入信號(鎖存信號)的精確時間戳

同步中斷的生成




同步性能


與立即受到通信誤差影響的完全同步通信相比,分散式同步時鐘對通信系統中的抖動具有高度的容忍度。因此,用於同步節點的EtherCAT解決方案是基于這種分散式時鐘(DC)的。




節點中時鐘的校準完全基于硬件。從第一個DC從設備開始的時間被循環地分配給系統中的所有其他設備。通過這種機制,從設備時鐘可以精確地調整到該參考時鐘。系統中產生的抖動明顯小於1μs。

由於從參考時鐘發送到從設備的時間略有延遲,因此必須測量並補償每個從設備的傳播延遲,以確保同步性和同時性。這種延遲是在網絡啟動期間測量的,如果需要,甚至是在操作期間連續測量的,以確保時鐘在彼此小於1μs的範圍內同步。




圖 : 同步性與一致性:相距電纜長度為有120米的兩個分佈系統,帶有300個節點的示波器比較

此外,高分辨率的分佈時鍾不僅可以用於同步,還可以提供數據採集的本地時間精確信息。當採樣時間非常短暫時,即使是出現一個很小的位置測量瞬時同步偏差,也會導致速度計算出現較大的階躍變化,例如,運動控制器通過順序檢測的位置計算速度便是如此。而在EtherCAT中,引入時間戳數據類型作為一個邏輯擴展,乙太網所提供的巨大頻寬使得高分辨率的系統時間得以與測量值進行連結。這樣,速度的精確計算就不再受到通訊系統的同步誤差值影響,其精度要高於基于自由同步誤差的通訊測量技術。



EtherCAT分散式時鐘優勢



EtherCAT的分散式時鐘提供了幾個優勢,使其成為工業自動化的首選。



首先,分散式時鐘實現的緊密同步提高了控制精度、準確性和整體系統性能。由於所有設備的時間都是相同的,運動控制系統可以以最小的誤差執行協調的運動。


此外,EtherCAT的分散式時鐘提供了一種經濟高效的解決方案。與其他需要額外硬件進行時間同步的協議不同,EtherCAT使用低成本的EtherCAT ESC晶片實現時間同步。這些晶片整合了分散式時鐘所需的多種功能,無需專門的卡或複雜的軟件堆棧。



EtherCAT從站同步模式


Ether CAT從站主要有以下同步模式:

(Free Run):自由運行

EtherCAT從站與EtherCAT不同步。從設備根據自己的週期自主運行,不與EtherCAT週期同步。

(Synchronous with SM event ):與SM事件同步

EtherCAT從設備與SyncManager 2(SM2)事件(如果傳輸週期性輸出)或SM3事件(如果僅傳輸週期性輸入)同步。處理經過的幀時,SyncManager會觸發SM2/SM3事件。

(Synchronous with SYNC event (distributed clocks)) :與SYNC事件(分散式時鐘)同步

EtherCAT從機與分散式時鐘系統的SYNC0或SYNC1事件同步。具體可查看文末的文獻連結。


同步模式相關的所有參數都列為EtherCAT從站設備的CoE列表中的對象。它們可以由從設備在綫讀取,也可以通過描述從設備的XML檔案離線確定。



例如,在CODESYS平台控制器中,設定伺服的同步模式,有些伺服預設是不會選擇DC模式,這個時候需要自己在圖示處選擇:




實際測試發現,部分設備伺服運行有些異常抖動,不管如何設定其他參數都無效,反而將DC項目設置成上述這個模式DC Sync0即可解決。

關於分散式時鐘,主要整理於倍福官網和其他網站(具體見下方文章連結),對於描述不恰當的地方請各位朋友留言區補充,另外,這塊理解起來比較難,如果需要詳細的瞭解和研究,請到下述連結仔細查閲:



https://www.ethercat.org/en/technology.html#1.5

https://infosys.beckhoff.com/english.php?content=../content/1033/ethercatsystem/2469062027.html&id=

https://www.toolify.ai/gpts/optimize-ethercat-systems-with-distributed-clocks-306598

https://ww2.mathworks.cn/help/slrealtime/io_ref/ethercat-distributed-clock-algorithm.html

2024年6月3日 星期一

EtherCAT篇3

EtherCAT 幀

與標準乙太網通信一樣,EtherCAT利用乙太網幀在整個網絡中傳輸數據。EtherCAT幀基于IEEE 802.3乙太網標準;然而,它們是以一種特殊的方式構建的,可以針對增加的頻寬和短週期的過程數據對它們進行優化。


EtherCAT幀還消除了更大的協議棧,如UDP/IP或TCP/IP,這意味著EtherCAT不是一個基于IP的協議,更類似於第2層或數據鏈路層協議。


EtherCAT幀或電報由乙太網標頭組成,後跟EtherCAT數據,並以幀檢查序列(FCS)結束。EtherCAT協議通過使用乙太網頭中EtherType欄位中的0x88A4標識符進行識別。


EtherCAT數據包含一個EtherCAT特定的頭,後面跟著EtherCAT Datagram。EtherCAT標頭指定後續EtherCAT數據報文的總長度和類型。EtherCAT頭之後是EtherCAT數據報文,它包含將在網絡中讀取或寫入的實際數據。這些數據包括地址規範、主機想要執行的命令類型(即讀取、寫入或讀寫)以及循環過程數據(PDO)。


單個EtherCAT幀最多可包含1498個位元組。如果需要超過1498個位元組,則主設備將發送多個數據幀,並且每個幀將包含標識符,該標識符用信號通知網絡上的設備是否應該期望在當前幀之後的另一幀。


EtherCAT主機負責組裝EtherCAT幀並通過網絡發送。主機發送的每一幀都會通過網絡中的每個節點(邏輯環)。此外,由於靈活的拓撲選擇,不需要網絡交換機或路由器,進一步降低了定時延遲和硬件成本。


On the fly




從字面上意思來看,意味著EtherCAT處理數據是“飛一般的快速”。



EtherCAT利用“On-the-fly”處理機制,只允許向所有節點發送一幀。EtherCAT主控制器組裝幀並將其發送出去。在每個週期中,幀在網絡中傳播,在返回到主節點之前經過每個節點。幀包含從屬節點的信息,包括定址、EtherCAT命令類型(讀、寫或讀寫)和實際過程數據。當每個幀在網絡中傳輸時,每個設備都會查找並提取定址到它的數據,並在幀下行時將新數據插入幀中。當幀到達網絡中的最後一個節點時,使用乙太網的全雙工功能將幀發送回主設備。 





優勢

EtherCAT的動態處理機制(On-the-fly)提供了許多性能和成本節約優勢。例如,儘管在非常大的網絡的情況下可以使用多個幀,但是單個幀通常足以向所有節點發送數據和從所有節點接收數據。此外,EtherCAT主設備是唯一允許發送新幀的設備。網絡上的所有其他設備只需接收幀、處理幀並轉發即可。這消除了意外的延遲,使EtherCAT適合實時應用。