簡介
EtherCAT(以太網(wǎng)控制自動化技術(shù))是一種用于確定性以太網(wǎng)的高性能工業(yè)通信協(xié)議,它擴展了IEEE 802.3以太網(wǎng)標準,使得數(shù)據(jù)傳輸中具有可預(yù)測性定時及高精度同步等特點。這個開放性標準作為IEC 61158的組成部分,常用于機械設(shè)計及運動控制等應(yīng)用中。
EtherCAT在標準的以太網(wǎng)電纜上應(yīng)用主/從式的構(gòu)架。美國國家儀器公司的EtherCAT主設(shè)備由帶有兩個以太網(wǎng)端口的實時控制器構(gòu)成,如NI CompactRIO及PXI。每個NI從設(shè)備同樣包含兩個端口,允許以菊花鏈模式與主控制器連接。
圖1. 采用NI硬件的EtherCAT主/從構(gòu)架
EtherCAT協(xié)議基礎(chǔ)
EtherCAT協(xié)議直接以標準以太網(wǎng)的幀格式傳輸數(shù)據(jù),并不修改其基本結(jié)構(gòu)。當(dāng)主控制器和從設(shè)備處于同一子網(wǎng)時,EtherCAT協(xié)議僅替換以太網(wǎng)幀中的Internet 協(xié)議(IP)。
圖2. EtherCAT中的以太網(wǎng)幀結(jié)構(gòu)
數(shù)據(jù)以過程數(shù)據(jù)對象(PDOs)形式在主從設(shè)備之間傳輸。每個PDO都包含單個或多個從設(shè)備的地址,這種數(shù)據(jù)加地址的結(jié)構(gòu)(附帶用于校驗的傳輸計數(shù)位)組成了EtherCAT的報文。每個Ethernet幀可能包含數(shù)個報文,而一個控制周期中可能需要多幀來傳送所需的所有報文。
數(shù)據(jù)傳輸
對于某些實時協(xié)議,主控制器發(fā)送數(shù)據(jù)包后必須等待每個從節(jié)點完成對數(shù)據(jù)的解析和復(fù)制。然而這種確定性方法很難維持,因為主控制器必須添加并管理一定量的處理時間及每個從設(shè)備的抖動。
EtherCAT技術(shù)能夠在工作中處理每個以太網(wǎng)幀,從而克服了上述系統(tǒng)限制。舉例來說,設(shè)想以太網(wǎng)的幀就像行駛中的火車,EtherCAT報文是每節(jié)火車車廂,PDO數(shù)據(jù)的比特就是車廂內(nèi)的乘客,這些數(shù)據(jù)可以被提取并插入到合適的從設(shè)備中。整輛火車不停止地穿越所有從設(shè)備,在末端從設(shè)備處又掉頭,重新反向穿越所有從設(shè)備。
圖3. EtherCAT數(shù)據(jù)傳輸
同樣道理,當(dāng)設(shè)備1收到主設(shè)備發(fā)出的以太網(wǎng)數(shù)據(jù)包后,將自動開始將數(shù)據(jù)包發(fā)送到設(shè)備2,其間對數(shù)據(jù)包的讀寫延遲僅為數(shù)納秒。由于數(shù)據(jù)包不斷地在從設(shè)備之間傳遞,數(shù)據(jù)就能同時存在于數(shù)個設(shè)備上。
上述方法有什么實際意義呢?我們假設(shè)有50臺從設(shè)備,需要向每個從設(shè)備發(fā)送不同數(shù)據(jù)。對于非EtherCAT的網(wǎng)絡(luò),需要發(fā)送50個不同的數(shù)據(jù)包;而對于EtherCAT,只需發(fā)送一個包含所有從設(shè)備數(shù)據(jù)的長數(shù)據(jù)包就行了,該數(shù)據(jù)包將遍歷所有從設(shè)備。如果所有從設(shè)備需要接受相同的數(shù)據(jù),那么只需要發(fā)送一個短數(shù)據(jù)包,所有從設(shè)備接收數(shù)據(jù)包的同一部分便可獲得該數(shù)據(jù),從而優(yōu)化了數(shù)據(jù)傳輸速度及帶寬。
高速性能
EtherCAT專為例如控制之類的單點應(yīng)用()實現(xiàn)高性能、高通道數(shù)而設(shè)計。由于使從設(shè)備的讀寫可在同一幀中完成,因此EtherCAT報文結(jié)構(gòu)針對于分散的I/O是一種優(yōu)化結(jié)構(gòu)。此外,由于整個協(xié)議處理由硬件完成,從而獨立于協(xié)議棧運行時間、CPU性能或軟件執(zhí)行。例如,通過直接存儲器存取(DMA),數(shù)據(jù)在網(wǎng)卡與主處理器或從設(shè)備I/O間傳輸時,能夠?qū)崿F(xiàn)最低的CPU使用率。同時,每個NI從設(shè)備均使用若干專用于PDO傳輸及地址解析的現(xiàn)場總線存儲管理單元(FMMUs)。從設(shè)備(而非主設(shè)備)獨立進行相應(yīng)報文的映射,從而降低了主設(shè)備的復(fù)雜性,釋放更多資源。
定時及同步
實現(xiàn)確定性網(wǎng)絡(luò)的另一個因素是主控制器通過分布式時鐘同步從設(shè)備的能力。從設(shè)備中必須有一臺輸出主時鐘用于與其它從設(shè)備時鐘進行同步。在NI的設(shè)計實現(xiàn)中,第一臺從設(shè)備包含了主時鐘,主控制器發(fā)送的特殊同步報文在每個掃描周期中讀取主時鐘。該報文更新并調(diào)整所有其它從設(shè)備時鐘,以消除時鐘偏移。
精確同步非常重要,尤其是在大范圍分布式處理應(yīng)用中要求同步執(zhí)行時,如運動軸間的協(xié)調(diào)運動。NI采用時間戳來衡量發(fā)送與返回幀之間的時差。利用這種方式,可以計算節(jié)點間的傳輸延時,通過準確調(diào)節(jié)分布式時鐘便可實現(xiàn)精確同步(小于1 µs)。
使用NI的EtherCAT硬件
美國國家儀器公司提供多種在EtherCAT上兼容確定性分布式I/O的平臺。對于主控制器,用戶可選用帶兩端口的CompactRIO控制器或插有NI PXI-8231/8232以太網(wǎng)接口卡的PXI系統(tǒng),配合適用NI-Industrial Communications for EtherCAT軟件驅(qū)動。用戶可通過菊花鏈方式在控制器上連接多臺NI 9144從設(shè)備機箱完成時間確定性應(yīng)用,以最小的處理器資源,維持硬件的高確定性。
NI 9144是堅固的8槽機箱,可支持30多種模擬、數(shù)字C系列模塊。這些I/O模塊能提供直接連接各類傳感器性,并能重用于其它NI硬件平臺。最重要的是,創(chuàng)新性的技術(shù)使得NI9144的配置過程最簡化,在LabVIEW 8.6 Real-Time軟件中能夠自動識別所有連接的從設(shè)備及其模塊。使用LabVIEW,您可以通過 I/O 變量拖曳、實時測試面板、I/O 強制等功能輕松實現(xiàn)與物理通道連接,實現(xiàn)調(diào)試功能。