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