EtherCAT:工業(yè)自動化領(lǐng)域的高效通信協(xié)議
EtherCAT,即以太網(wǎng)控制自動化技術(shù),是一項由德國Beckhoff公司首創(chuàng)并隨后被國際電工委員會(IEC)標(biāo)準(zhǔn)化為IEC 61158標(biāo)準(zhǔn)的高性能實時以太網(wǎng)通信協(xié)議。其設(shè)計初衷旨在滿足工業(yè)自動化領(lǐng)域?qū)崟r控制和通信的嚴(yán)苛需求。
EtherCAT協(xié)議的核心架構(gòu)基于一種高效的主從結(jié)構(gòu),其中主站(Master)擔(dān)當(dāng)著整個網(wǎng)絡(luò)的協(xié)調(diào)者角色,而從站(Slave)則負(fù)責(zé)提供關(guān)鍵的輸入輸出功能。整個EtherCAT系統(tǒng)架構(gòu)涵蓋了物理層、數(shù)據(jù)鏈路層和應(yīng)用層,支持多樣化的設(shè)備連接拓?fù)浣Y(jié)構(gòu),確保了系統(tǒng)的靈活性和可擴展性。
隨著現(xiàn)代工廠自動化水平的不斷提高,設(shè)備間的協(xié)同效率和同步性成為了決定生產(chǎn)效率與產(chǎn)品質(zhì)量的關(guān)鍵因素。面對日益增長的設(shè)備數(shù)量、日益復(fù)雜的組網(wǎng)方式、龐大的數(shù)據(jù)傳輸需求以及嚴(yán)格的實時性要求,傳統(tǒng)的通信接口如RS485、CAN接口及IO接口已逐漸顯露出其局限性。正是在這樣的背景下,EtherCAT應(yīng)運而生,它以其卓越的性能和靈活的拓?fù)浣Y(jié)構(gòu),為工業(yè)自動化領(lǐng)域樹立了新的標(biāo)桿。
EtherCAT協(xié)議的應(yīng)用,不僅極大地提升了設(shè)備間的協(xié)同效率和同步性,還使得數(shù)據(jù)傳輸更加高效、實時,從而極大地推動了工業(yè)自動化水平的提升。
首先,我們了解一下EtherCAT的組網(wǎng)方式。EtherCAT的物理層建立在百兆以太網(wǎng)的基礎(chǔ)上,每個EtherCAT從站都至少裝備有兩個百兆網(wǎng)接口。其中一個接口用于與EtherCAT主站或上一級的從站相連;而另一個接口則用于連接下一級的從站。
在下圖中,我們可以看到一個最基礎(chǔ)的線型拓?fù)浣Y(jié)構(gòu)示例。其中,IPC扮演著EtherCAT主站的角色,而黃色的線段則代表著網(wǎng)線。從這個拓?fù)鋱D中,我們可以清晰地看到,兩個相鄰的設(shè)備之間僅通過一根網(wǎng)線相連,這種簡潔的連接方式大大簡化了網(wǎng)絡(luò)布局。更令人矚目的是,這樣的網(wǎng)絡(luò)結(jié)構(gòu)最多可以容納65535個從站,充分展現(xiàn)了EtherCAT的強大擴展能力。同時,每根網(wǎng)線的長度可達100米,為設(shè)備的靈活布局提供了極大的便利。
當(dāng)選擇線型拓?fù)浣Y(jié)構(gòu)時,數(shù)據(jù)流向的設(shè)計異常清晰且高效。如下圖所示,百兆網(wǎng)線以其全雙工的特性,確保數(shù)據(jù)能夠雙向、無阻塞地傳輸。首先,數(shù)據(jù)包由主站IPC起始,按照紅色箭頭的路徑,逐一發(fā)送給每個從站。第一個從站接收到數(shù)據(jù)后,進行處理,并立即將處理后的數(shù)據(jù)繼續(xù)發(fā)送給緊隨其后的第二個從站,這一過程持續(xù)進行,直至數(shù)據(jù)包抵達最后一個從站。
除此之外,每個從站都具備智能檢測功能,能夠自動判斷是否有下一個從站連接。一旦檢測到?jīng)]有下一個從站,最后一個從站會立即將數(shù)據(jù)按照綠色箭頭的方向回傳,這一數(shù)據(jù)包隨后會沿著綠色箭頭的路徑,依次通過每一個從站,直至最終返回至主站IPC。整個數(shù)據(jù)流程確保了數(shù)據(jù)的完整性和實時性,為工業(yè)自動化提供了強有力的支持。
當(dāng)EtherCAT從站的網(wǎng)絡(luò)接口超過兩個時,數(shù)據(jù)包的流向?qū)⒄宫F(xiàn)出其獨特的靈活性。如圖中數(shù)字所示,擁有多個網(wǎng)口的從站會智能地將數(shù)據(jù)包依次轉(zhuǎn)發(fā)至每一個網(wǎng)口,整個數(shù)據(jù)轉(zhuǎn)發(fā)過程無需主站的額外介入,實現(xiàn)了高效且自動化的數(shù)據(jù)傳輸。
我們可以想象,不論從站之間如何連接,數(shù)據(jù)包都能夠遍歷整個網(wǎng)絡(luò)的從設(shè)備,確保信息的全面覆蓋和高效利用。更令人贊嘆的是,每個設(shè)備在初次使用時都無需手動配置地址,主站在掃描設(shè)備時會自動為從站分配地址,極大地簡化了網(wǎng)絡(luò)配置的過程。
此外,當(dāng)有新設(shè)備需要加入原系統(tǒng)時,操作同樣簡便。只需在系統(tǒng)斷電的情況下,將新設(shè)備接入任意一個空閑的網(wǎng)口,然后重新啟動系統(tǒng),主站會重新掃描設(shè)備并自動進行地址分配。這種便捷的組網(wǎng)方式不僅體現(xiàn)了EtherCAT系統(tǒng)的高效性,還為其在工業(yè)自動化領(lǐng)域的廣泛應(yīng)用提供了強有力的支持。因此,EtherCAT的組網(wǎng)方式確實展現(xiàn)出了其簡單而靈活的特點。
?
EtherCAT的物理層設(shè)計采用了標(biāo)準(zhǔn)的以太網(wǎng)接口,確保EtherCAT數(shù)據(jù)包能無縫兼容IEEE 802.3標(biāo)準(zhǔn)的以太網(wǎng)幀。這一特性使得在搭配特定交換機時,整個系統(tǒng)能夠輕松融入現(xiàn)有的以太網(wǎng)環(huán)境,極大地簡化了網(wǎng)絡(luò)集成過程。這種無縫融合不僅為生產(chǎn)過程的管理與監(jiān)控提供了極大的便利,更為自動化生產(chǎn)和定制化生產(chǎn)預(yù)留了充足的擴展空間。EtherCAT數(shù)據(jù)包與IEEE 802.3以太網(wǎng)幀的完美結(jié)合,不僅保證了數(shù)據(jù)傳輸?shù)母咝院头€(wěn)定性,還促進了生產(chǎn)過程的自動化和定制化,為企業(yè)帶來了前所未有的靈活性和生產(chǎn)效率。
EtherCAT數(shù)據(jù)包在通信網(wǎng)絡(luò)中猶如一列高速列車,它裝載著命令包從主站出發(fā),穿梭于各個從站之間。每當(dāng)列車經(jīng)過一個從站時,該從站會迅速檢查列車內(nèi)的數(shù)據(jù)包,識別并處理屬于自己的信息。若發(fā)現(xiàn)有針對自身的數(shù)據(jù),從站會迅速將這些數(shù)據(jù)卸下,并同時把主站需要讀取的自身數(shù)據(jù)裝載到列車上。
為了確保數(shù)據(jù)傳輸?shù)膶崟r性,列車在途經(jīng)從站時,所有從站處理數(shù)據(jù)包的延遲都是固定并一致的。因此,從站需要提前將數(shù)據(jù)準(zhǔn)備好,以便在列車經(jīng)過時能夠迅速進行數(shù)據(jù)的交換。如果數(shù)據(jù)尚未準(zhǔn)備好,列車將繼續(xù)前行,僅帶走之前的舊數(shù)據(jù)。
完成所有從站的遍歷后,列車會沿著原路返回,再次經(jīng)過每一個從站,并最終回到主站。關(guān)于列車的發(fā)車頻率以及每次裝載的數(shù)據(jù)包數(shù)量,均由主站進行靈活控制和管理。
EtherCAT以其獨特的組網(wǎng)和通信方式確保了高效的實時數(shù)據(jù)傳輸。然而,在實際應(yīng)用中,我們還需關(guān)注一個關(guān)鍵問題——同步性。由于EtherCAT的通信機制,主站發(fā)出的數(shù)據(jù)包并不能同時抵達每個從站。那么,如何確保所有從站能夠同步執(zhí)行我們預(yù)設(shè)的動作呢?
EtherCAT從站巧妙地引入了sync0和sync1兩個信號。通過精心設(shè)置,我們可以使從站每隔固定時間就輸出一個sync0或sync1信號。如果我們設(shè)定從站的動作執(zhí)行不是從接收到主站數(shù)據(jù)包開始,而是統(tǒng)一在sync0信號產(chǎn)生時觸發(fā),那么,只要所有從站的sync0信號能夠同時產(chǎn)生,我們就能實現(xiàn)整個網(wǎng)絡(luò)的精確同步。
這可以形象地理解為:當(dāng)通信的“列車”遍歷完所有從站后,所有從站會在一個預(yù)設(shè)的固定時間點——sync0信號產(chǎn)生時,同時開始執(zhí)行預(yù)設(shè)動作。這樣,每個從站的同步性就得到了有效保障。
至于如何確保所有從站的sync0、sync1信號能夠同時產(chǎn)生,我們將在后續(xù)的文章中詳細(xì)探討和介紹。
接下來,我們看一個典型的EtherCAT從站的構(gòu)成。如下圖所示這一從站主要由三個層次組成:物理層、數(shù)據(jù)鏈路層以及應(yīng)用層。
在物理層,核心是兩個百兆PHY芯片以及配套的兩個帶變壓器的百兆網(wǎng)口,其中一個用于數(shù)據(jù)輸入,另一個則用于數(shù)據(jù)輸出。
數(shù)據(jù)鏈路層則是EtherCAT從站的核心——EtherCAT從站控制器(EtherCAT Slave Controller)。早期的從站控制器如ET1100,以及倍福公司自家的從站控制器,都在這一層發(fā)揮著關(guān)鍵作用。它們負(fù)責(zé)處理數(shù)據(jù)的接收、轉(zhuǎn)發(fā)以及EtherCAT特有的通信協(xié)議。
而為了實現(xiàn)從站的本地功能,還需要一個應(yīng)用層,也就是圖中的μC(微控制器)。這個μC的實現(xiàn)方式多種多樣,用戶可以根據(jù)實際需求靈活選擇。選定μC后,用戶需要將其與從站控制器的相應(yīng)數(shù)據(jù)接口(如并口或SPI等)以及同步信號接口(如sync或latch)進行連接,并運行一個從站協(xié)議棧。這一步驟確保了從站能夠按照EtherCAT的規(guī)范進行通信,并為主站提供必要的數(shù)據(jù)。
在完成了這些配置后,用戶便可以在從站協(xié)議棧的基礎(chǔ)上運行自己的應(yīng)用程序,實現(xiàn)各種復(fù)雜的功能和邏輯。這種靈活性和可擴展性使得EtherCAT從站成為工業(yè)自動化領(lǐng)域中的強大工具。
?
經(jīng)過上述介紹,我們可以清晰地認(rèn)識到EtherCAT系統(tǒng)的基礎(chǔ)架構(gòu)包括一個主站以及與之相連的一個或多個從站,每個從站通常需配備專門的從站處理器。然而,恩智浦公司推出的i.MX RT1180打破了這一傳統(tǒng)設(shè)計,它將EtherCAT處理器巧妙地集成到了芯片內(nèi)部。
在i.MX RT1180中,從站控制器實際上就是芯片內(nèi)部集成的EtherCAT模塊,而應(yīng)用層控制器則可以選擇使用M33核或M7核。無論是M33還是M7作為應(yīng)用層控制器,它們都會運行EtherCAT從站的協(xié)議棧,并通過寄存器訪問的方式直接與EtherCAT模塊進行通信。
這種集成化的設(shè)計不僅簡化了硬件電路中的設(shè)計復(fù)雜性,省去了傳統(tǒng)設(shè)計中μC和從站控制器之間的接口設(shè)計,從而降低了EtherCAT從站的開發(fā)難度,并顯著縮小了設(shè)計面積。同時,由于減少了中間環(huán)節(jié),通信效率也得到了顯著提升。因此,i.MX RT1180非常適合用于EtherCAT從站的應(yīng)用場景,為工業(yè)自動化領(lǐng)域的開發(fā)者帶來了更為便捷和高效的解決方案。
后面的文章將參照我們基于i.MX RT118X開發(fā)的EtherCAT控制4電機套件。該套件能夠?qū)崿F(xiàn)對四個電機的同步控制,通過EtherCAT網(wǎng)絡(luò)實現(xiàn)高效的通信管理。
?