EtherCAT 網站鏈接

http://www.ethercat.org.cn/cn.htm

? ? ?? EtherCAT技術介紹

?????? EtherCAT系統組成和工作原理

?????? EtherCAT采用主從式結構,主站PC機采用標準的100Base-TX以太網卡,從站采用專用芯片。系統控制周期由主站發起,主站發出下行電報,電報的最大有效數據長度為1498字節。數據幀遍歷所有從站設備,每個設備在數據幀經過時分析尋址到本機的報文,根據報文頭中的命令讀入數據或寫入數據到報文中指定位置,并且從站硬件把該報文的工作計數器(WKC)加1,表示該數據被處理。整個過程會產生大約10ns的時間延遲[1]。數據幀在訪問位于整個系統邏輯位置的最后一個從站后,該從站把經過處理的數據幀做為上行電報直接發送給主站。主站收到此上行電報后,處理返回數據,一次通信結束。系統結構原理圖如圖1所示:

?????? EtherCAT支持幾乎所有的拓撲類型,包括線型、樹型、星型等,其在物理層可使用100BASE-TX雙絞線、100BASE-FX光纖或者 LVDS(Low Voltage Differential Signaling, 即低壓差分信號傳輸),還可以通過交換機或介質轉換器實現不同以太網布線的結合。快速以太網的物理層(100Base-TX)允許兩個設備之間的最大電纜長度為100米,而LVDS的物理層只能保障10米的傳輸間距,適合于近距離站點的連接。整個網絡最多可以連接65535個設備。









?????? 借助于從站中的EtherCAT專用芯片和主站中讀取網卡數據的DMA技術,整個協議處理過程都在硬件中進行。EtherCAT系統可以在30μs內刷新1000個I/O點,它可以在300μs內交換一幀多達1486個字節的協議數據,這幾乎相當于12000個數字量輸入或輸出。控制100個輸入輸出數據均為8字節的伺服軸只需要100μs[2]。EtherCAT的高性能使它還可以處理分布式驅動器的電流(轉矩)控制。

????? EtherCAT數據幀結構

????? EtherCAT以標準以太網技術為基礎,在MAC(媒體訪問層)增加了一個確定性調度的軟件層,該軟件層實現了通信周期內的數據幀的傳輸。EtherCAT采用標準的IEEE802.3以太網幀,幀結構如圖2,各部分含義見表1:


?????? EtherCAT沒有重新定義新的以太網幀結構,而是在標準以太網幀結構中使用了一個特殊的以太網幀類型0x88A4,采用這種方式可以使控制數據 直接寫入以太網幀內,并且可以與遵守其它協議的以太網幀在同一網絡中并行。一個EtherCAT幀中可以包含若干個EtherCAT子報文,報文結構如圖3,各部分含義見表2,每個報文都服務于一塊邏輯過程映像區的特定內存區域,由FMMU(Fieldbus Memory Management Unit,負責邏輯地址與物理地址的映射)寄存器和SM(Sync Manager,負責對ESC和微處理器內存的讀寫)寄存器定義,該區域最大可達4GB字節。EtherCAT報文由一個16位的WKC(Working Count)結束,其數據區最大長度可達1486個字節。在報文頭中由8位命令區數據決定主站對從站的尋址方式,由于數據鏈獨立于物理順序,因此可以對EtherCAT從站進行任意的編址。


EtherCAT組成及運行原理

? ? EtherCAT使用全雙工通信技術構成主從結構,主站使用標準的以太網控制器,傳輸介質通常使用100BASE-TX規范的5類UTP雙絞線纜;從站由專用控制芯片或者FPGA? IP核構成,TI公司已推出帶有EtherCAT功能的微控制器M335X。



? ? EtherCAT的運行原理如圖1所示,圖中j為從站個數,j=1,2,…,i,…,n。主站發出下行電報,數據幀遍訪所有從站,在數據幀到達每個從站時,從站解析出本機報文,并對報文數據進行處理,然后將該數據幀傳輸到下一個從站,從站再進行類似的處理,直至傳輸完整個回路。最后一個從站發回經過完全處理的數據幀,并由緊挨著主站的從站作為響應,將數據幀發送給主站,完成一個周期的數據處理。


1.2 EtherCAT協議

? ? EtherCAT的數據幀結構如圖2所示。從圖中可以看出,它采用的是標準的以太網幀結構,幀類型為0x88A4。數據包由EtherCAT頭和Ether CAT數據組成,而若干個子報文又組成了數據區。子報文又由子報文頭、數據域及工作計數器組成。子報文頭決定該子報文應傳輸到對應的從站,以及該從站對子報文進行讀或者寫操作。在主從站通信的過程中,16位的工作計數器(WKC)的值顯得尤為重要。主站發起周期控制的時候,預先給定WKC一個值,當數據幀遍歷完整個設備的時候,通過對比返回的WKC值,可以驗證數據報文是否被EtherCAT從站節點正確處理。




本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255051.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255051.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255051.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IEC 6-1131/3的5種標準編程語言

用于開發控制系統和商業管理系統的TRACE MODE6編程工具面向不同領域的軟件工程師. TRACE MODE6包含的五種編程語言為:Techno SFC、Techno LD、Techno FBD、Techno ST和Techno IL. 這些語言是下列IEC 6-1131/3標準語言的擴展: SFC(順序功能圖…

ngRx 官方示例分析 - 4.pages

Page 中通過構造函數注入 Store,基于 Store 進行數據操作。 注意 Component 使用了 changeDetection: ChangeDetectionStrategy.OnPush. OnPush means that the change detectors mode will be set to CheckOnce during hydration. /app/containers/collection-page…

用ffmpeg把yuv格式轉化為mpeg格式

http://blog.sina.com.cn/s/blog_5f5ad6a90100cs5k.html

方法:查詢MongoDB數據庫中最新一條數據(JAVA)

使用JAVA語言查詢MongoDB中某個數據庫某個集合的最新一條數據&#xff1a; MongoCollection<Document> cpu MongoClient.getDatabase("sysmgr").getCollection("cpu"); //獲取所需集合 Document dbo cpu.find().sort(descending("time"…

NoPause/NoEmgAbort的任務 與后臺任務的區別

NoPause/NoEmgAbort的任務示例 下面的例子顯示了一個程序&#xff0c;可以監視控制器的錯誤并根據錯誤編號在發生錯誤時切換I/O On/Off。 Function main Xqt ErrorMonitor, NoEmgAbort : FendFunction ErrorMonitor Wait ErrorOnIf 4000 < SysErr And Syserr < 5999 T…

30分鐘搞定后臺登錄界面(103個后臺PSD源文件、素材網站)(轉)

出處&#xff1a;http://www.cnblogs.com/best/p/6582294.html 目錄 一、界面預覽二、PSD源文件預覽三、工具分享四、資源說明五、素材下載網站六、下載去年八月時要做一個OA系統為了后臺界面而煩惱&#xff0c;后來寫了一篇博客&#xff08;《后臺管理UI的選擇》&#xff09;介…

Linux 查看服務器開放的端口號

在討論這個問題前&#xff0c;我們先來了解一下物理端口、邏輯端口、端口號等計算機概念。 端口相關的概念&#xff1a; 在網絡技術中&#xff0c;端口&#xff08;Port&#xff09;包括邏輯端口和物理端口兩種類型。物理端口指的是物理存在的端口&#xff0c;如ADSL Modem、集…

VC的文件路徑為什么要用雙斜杠

在編程時&#xff0c;打開文件的路徑在用單斜杠時&#xff0c;會出現問題&#xff0c;例如&#xff1a; image cvLoadImage("C:\Users\lyb\Documents\Visual Studio 2013\Projects\smooth\Debug\pic.png", 0);這樣的寫法在編譯時&#xff0c;不會出現編譯錯誤&#…

FFMpeg中apiexample.c例子分析——解碼分析

FFMpeg中apiexample.c例子分析——解碼分析 收藏 我們直接從 video_decode_example() 函數開始講&#xff0c;該函數實現了如何去解碼一個視頻文件&#xff0c;以 .mpeg 文 件為例。 &#xff08; 1 &#xff09;將緩存的末尾清 0 &#xff0c;從而確保讀操作不會越界導致破…

[轉]整理一些好的開源項目

首先說明&#xff0c;要想找開源項目&#xff0c;當然是Github&#xff01; 另外oschina上面也可能有你要的&#xff0c;這個是分類的鏈接&#xff1a;http://www.oschina.net/project/tags&#xff0c;比如這個是一個Python的相關開源資源&#xff1a;http://www.oschina.net/…

android是32-bit系統還是64-bit系統

轉自&#xff1a;http://www.cnblogs.com/pengwang/archive/2013/03/11/2954496.html 電腦CPU分32位和64位&#xff0c;這個我們都知道。用了這么長時間的android手機&#xff0c;突然有個疑問&#xff1a;android OS運行在多少位的CPU上呢&#xff1f; android應用程序是基于D…

海爾系列報道之一:海爾“小微”怎么玩

海爾去年裁了1.6萬人&#xff0c;今年上半年裁了5000人&#xff0c;這2.1萬人去了哪&#xff1f;除了被淘汰的部分&#xff0c;他們中的大多數去了169家小微公司. 從今年年初開始&#xff0c;海爾集團品牌總監范建斌就帶著海爾品牌部的兩個姑娘開始籌劃做一個文化小微公司&…

FFMpeg中apiexample.c例子分析——編碼分析

FFMpeg中apiexample.c例子分析——編碼分析apiexample.c例子教我們如何去利用ffmpeg庫中的api函數來自己編寫編解碼程序。 &#xff08;1&#xff09;首先&#xff0c;main函數中一開始會去調用avcodec_init()函數&#xff0c;該函數的作用是初始化libavcodec&#xff0c;而我們…

.net 常見異常及其翻譯

System.Exception//所有異常的基類型System.ApplicationException//發生非致命應用程序錯誤時引發的異常System.SystemException//為System命名空間中的預定義異常定義基類System.SystemException//異常根類System.AccessViolationException//在試圖讀寫受保護內存時引發的異常…

Access2010打開系統表MSysObjects的控制權限

一、顯示系統表 第一步&#xff1a;單擊左上角【文件】頁簽&#xff0c;點擊【選項】打開選項對話框&#xff0c;如圖所示 第二步&#xff1a;在【Access選項】對話框中&#xff0c;選擇【當前數據庫】&#xff0c;在【導航】欄下&#xff0c;點擊【導航選項】打開【導航選項】…

抓屏的各種方法(http://www.codeproject.com/KB/dialog/screencap.aspx)

文章翻譯自 P.GopalaKrishna 的 Various methods for capturing the screen 一文&#xff0c;原版地址見下面。本文章版權歸原作者所有。 如果轉載該譯文 , 請保證文章的完整性&#xff0c;并注明來自 www.farproc.com 袁曉輝 2005/6/12 原版地址&…

與 OpenCV 1 同時使用

與 OpenCV 1 同時使用 目的 對于OpenCV的開發團隊來說&#xff0c;持續穩定地提高代碼庫非常重要。我們一直在思考如何在使其易用的同時保持靈活性。新的C接口即為此而來。盡管如此&#xff0c;向下兼容仍然十分重要。我們并不想打斷你基于早期OpenCV庫的開發。因此&am…

第五周 Leetcode 99. Recover Binary Search Tree (HARD)

Leetcode99 給定一個 二叉搜索樹&#xff0c;其中兩個節點被交換&#xff0c;寫一個程序恢復這顆BST. 只想到了時間復雜度O&#xff08;n&#xff09;空間復雜度O&#xff08;h&#xff09; h為樹高的解法&#xff0c;還沒想到空間O(1&#xff09;的解法。 交換的情況只有兩種&…

Fedora15安裝NVIDIA顯卡驅動全過程

Fedora安裝N卡驅動全過程 Fedora安裝NVIDIA顯卡全過程&#xff0c;經過自己親自安裝 折騰了一個上午&#xff0c;搞定了N卡驅動安裝&#xff0c;現將安裝步驟整理如下&#xff1a; 1、首先訪問Nvidia官網下載最新的Linux驅動&#xff1a;http://www.nvidia.cn/Download/index…