現(xiàn)場(chǎng)總線通訊將逐漸替代傳統(tǒng)運(yùn)動(dòng)控制器中的脈沖控制,追求更高效率的數(shù)據(jù)傳輸。當(dāng)前國(guó)內(nèi)流行的驅(qū)動(dòng)器通訊有CANOPEN、RS232、RS485、EtherCAT等,本文與您一起了解EtherCAT總線。
??什么是EtherCAT
EtherCAT(以太網(wǎng)控制自動(dòng)化技術(shù))是一個(gè)以以太網(wǎng)為基礎(chǔ)的開放架構(gòu)的現(xiàn)場(chǎng)總線系統(tǒng),最初由德國(guó)倍福研發(fā)。EtherCAT為系統(tǒng)的實(shí)時(shí)性能和拓?fù)涞撵`活性樹立了新的標(biāo)準(zhǔn),是一種開放性的協(xié)議,開放標(biāo)準(zhǔn)由現(xiàn)在的EtherCAT技術(shù)組(ETG)管理。
??為什么選擇EtherCAT
1. 精簡(jiǎn)的通信結(jié)構(gòu)
OSI模型各層間關(guān)系和通訊時(shí)的數(shù)據(jù)流向如圖1所示。
圖1?OSI模型示意圖
RS232、RS485都屬于ISO七層結(jié)構(gòu)中的物理層,實(shí)現(xiàn)完整的通訊,需要加入數(shù)據(jù)鏈路層和應(yīng)用層。RS232、RS485一般需要使用串口作為鏈路層對(duì)物理層進(jìn)行指揮。RS485應(yīng)用層協(xié)議通常使用MODBUS,CANOPEN也是應(yīng)用層協(xié)議。CANOPEN和EtherCAT通常分別結(jié)合can、ethernet實(shí)現(xiàn)鏈路層和物理層,EtherCAT在ISO模型設(shè)計(jì)上也僅使用應(yīng)用層、數(shù)據(jù)鏈路層、物理層。
在軟件設(shè)計(jì)層次中,物理層向上走,將上一層幀再封裝成特定幀后傳輸,通信過程將存在組包拆包的過程,越往頂層走幀格式越復(fù)雜,相比較其它的以太網(wǎng)協(xié)議,可見EtherCAT設(shè)計(jì)實(shí)現(xiàn)的精簡(jiǎn)之處,體現(xiàn)出了更優(yōu)越的實(shí)時(shí)性。
2. 優(yōu)越的綜合性能
2.1 傳輸高效
EtherCAT的物理層層中使用光信號(hào)進(jìn)行傳輸,傳輸速率達(dá)100Mbit/s(100 base-Tx),且為全雙工傳輸,相比于上述總線均為電氣傳輸。RS232抗干擾能力差,RS485半雙工,can一幀只能傳輸8個(gè)字節(jié),而以太網(wǎng)傳輸一幀可以高達(dá)1514字節(jié)。以太網(wǎng)使用光纖為傳輸媒介,線束簡(jiǎn)潔,同時(shí)抗干擾能力更強(qiáng),傳輸距離更遠(yuǎn)。
2.2 拓?fù)潇`活
圖2?EtherCAT?拓?fù)浣Y(jié)構(gòu)圖
EtherCAT符合以太網(wǎng)標(biāo)準(zhǔn),支持多種拓?fù)浣Y(jié)構(gòu):線型、星型、樹型,以一種“邏輯閉環(huán)“的方式傳播,靈活性更強(qiáng)。主站實(shí)現(xiàn)只需要一張普通網(wǎng)卡,不需要交換機(jī)與路由器的參與,解決傳統(tǒng)以太網(wǎng)的交換機(jī)延時(shí)、堆棧延時(shí)、帶寬利用率等問題。
2.3 時(shí)鐘同步
圖3?DC分布式時(shí)鐘圖
在多軸運(yùn)動(dòng)控制中,時(shí)鐘同步的精準(zhǔn)性能對(duì)數(shù)據(jù)傳輸產(chǎn)生直接影響,可能會(huì)導(dǎo)致丟幀,運(yùn)動(dòng)不協(xié)調(diào),從而無法控制對(duì)各軸設(shè)備的同步執(zhí)行。EtherCAT支持DC分布式時(shí)鐘,且基于硬件的產(chǎn)生的時(shí)鐘進(jìn)行校準(zhǔn)和補(bǔ)償,大大減小了系統(tǒng)的抖動(dòng)時(shí)間。
EtherCAT 實(shí)現(xiàn)了數(shù)據(jù)傳輸中速率更快、實(shí)時(shí)性更高、更可靠、傳輸數(shù)據(jù)量更大、抗干擾能力更強(qiáng)的等特點(diǎn),這恰是市場(chǎng)日益要求的性能指標(biāo),您心動(dòng)了嗎?
? EtherCAT幀結(jié)構(gòu)
圖4 以太網(wǎng)幀格式圖
表1?以太網(wǎng)幀含義表
名稱 | 含義 |
目的地址 | 接收方MAC地址。 |
源地址 | 發(fā)送方MAC地址。 |
幀類型 | 0x88A4 |
EtherCAT頭部 | 長(zhǎng)度:報(bào)文總長(zhǎng)度 ?類型:1 表示與從站通信。 |
EtherCAT數(shù)據(jù)段 | 該段存放著應(yīng)用層發(fā)送的數(shù)據(jù)。 |
幀類型 | 幀校驗(yàn) |
EtherCAT幀組成結(jié)構(gòu)如上圖所示,以太網(wǎng)幀頭中使用的幀類型是EtherCAT專有的0x88a4類型,后面接著就是EtherCAT的數(shù)據(jù)內(nèi)容了,我們的應(yīng)用層傳輸?shù)膬?nèi)容就存放在子報(bào)文結(jié)構(gòu)中的數(shù)據(jù)段,容納了更大的數(shù)據(jù)傳輸量。數(shù)據(jù)段可以包含一個(gè)或多EtherCAT子報(bào)文構(gòu)成。當(dāng)然,EtherCAT也是支持嵌入UDP/IP格式的數(shù)據(jù)幀格式,數(shù)據(jù)段中會(huì)讓出28個(gè)字節(jié)長(zhǎng)度以供UDP/IP使用。
? EtherCAT應(yīng)用層
1. ESM狀態(tài)機(jī)
圖5?狀態(tài)機(jī)轉(zhuǎn)換關(guān)系圖
表2?Ethercat狀態(tài)機(jī)含義表
狀態(tài) | 說明 |
Init | 主站和從站之間沒有應(yīng)用層上的通訊,主站可以訪問從站DL相關(guān)狀態(tài)寄存器信息。 |
Pre-Operration | 如果從站支持郵箱通信,主站和從站可以使用郵箱和相關(guān)協(xié)議進(jìn)行應(yīng)用層次的初始化和參數(shù)配置,此狀態(tài)下不能進(jìn)行過程數(shù) 據(jù)通信。 |
Safe-Operration | 可以進(jìn)行過程數(shù)據(jù)通信,從站可以進(jìn)行數(shù)據(jù)的輸入,但是不允許數(shù)據(jù)輸出,數(shù)據(jù)輸出處于“安全”狀態(tài)。 |
Operration | 從站可以進(jìn)行數(shù)據(jù)的輸入輸出操作。 |
EtherCAT狀態(tài)機(jī)定義了每一個(gè)EtherCAT從站設(shè)備的分布設(shè)置,并指示了可用的功能。ESM狀態(tài)的改變是由主站請(qǐng)求發(fā)起的,從站需要一級(jí)一級(jí)的向下進(jìn)行轉(zhuǎn)換狀態(tài)。而上行可以降級(jí)切換,如狀態(tài)op切換到Init狀態(tài),如上圖5箭頭方向所示。
2. 尋址方式
廣播尋址:將數(shù)據(jù)廣播到各個(gè)從站設(shè)備。
自增尋址:根據(jù)設(shè)備連接的順序進(jìn)行編號(hào),從0開始,每經(jīng)過一個(gè)從站數(shù)值-1,以此遞推。
設(shè)置尋址:相當(dāng)于給每一個(gè)從站分配地址,主站通過從站地址找到對(duì)應(yīng)的從站進(jìn)行通信。
邏輯尋址:主站配備4G的數(shù)據(jù)邏輯地址空間,F(xiàn)MMU將數(shù)據(jù)邏輯地址和從站中的物理地址進(jìn)行映射,主站在幀中只需攜帶某個(gè)邏輯地址,即可尋址到任意從站中的任意數(shù)據(jù),是一種更加靈活的尋址方式。
3. 數(shù)據(jù)傳輸?
3.1 同步管理器SM
同步管理器(Syncmangers)用來協(xié)調(diào)應(yīng)用層和主機(jī)的數(shù)據(jù)交互,實(shí)現(xiàn)數(shù)據(jù)同步而不是時(shí)間同步,確保數(shù)據(jù)正確讀取和寫入,并且同步管理可以以中斷的形式通知主機(jī)和應(yīng)用程序更新事件,然后進(jìn)入中斷服務(wù)函數(shù)中處理即可。SM通道一共用到4個(gè),SM0和SM1用于郵箱數(shù)據(jù)輸和輸入,SM2和SM3用于過程數(shù)據(jù)的輸出和輸入。3.2 應(yīng)用層協(xié)議EtherCAT應(yīng)用層協(xié)議支持COE、VOE、FOE、EOE等協(xié)議,而在電機(jī)控制領(lǐng)域我們常用到的是COE協(xié)議,COE全稱為CanOpen Over EtherCAT,相當(dāng)于CanOpen協(xié)議通過EtherCAT方式來實(shí)現(xiàn),都是基于cia402協(xié)議進(jìn)行編寫。主站可以通過郵箱(SDO)或PDO對(duì)從站的對(duì)象字典進(jìn)行讀寫操作,實(shí)現(xiàn)數(shù)據(jù)通訊。郵箱常用對(duì)從站的配置和讀寫,采用應(yīng)答方式,而PDO為過程數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)通信的實(shí)時(shí)和快速傳輸。
4. 設(shè)備配置
4.1 描述文件
信息描述文件主要有emi、esi、eni文件。emi為主站信息描述文件;esi則是從站描述文件,包含廠商信息、設(shè)備信息描述、SM描述、對(duì)象字典、配置數(shù)據(jù)等內(nèi)容組成;eni是EtherCAT網(wǎng)絡(luò)信息配置文件,描述從站數(shù)量,SM與DC配置信息等,結(jié)合esi描述文件,借助配置軟件進(jìn)行配置生成,完成EtherCAT網(wǎng)絡(luò)運(yùn)行時(shí)對(duì)主站和從站設(shè)備進(jìn)行初始化操作。
4.2 配置軟件
本文使用的配置軟件是ZLG致遠(yuǎn)電子團(tuán)隊(duì)開發(fā)的EtherCAT網(wǎng)絡(luò)配置工具,開發(fā)者導(dǎo)入esi從站描述文件后進(jìn)行相關(guān)需求配置,生成相應(yīng)的eni文件,EtherCAT網(wǎng)絡(luò)運(yùn)行時(shí)將對(duì)所有設(shè)備進(jìn)行初始化。EtherCAT配置軟件支持以下功能供幫助開發(fā)者快速使用與開發(fā)。
瀏覽設(shè)備信息:顯示主站和從站的設(shè)備信息,如制造商信息,網(wǎng)絡(luò)配置信息等內(nèi)容。
瀏覽拓?fù)浣Y(jié)構(gòu):配置軟件顯示主站和從站的連接拓?fù)鋱D。
FMUU/SM與DC配置:FMMU、SM、PDO相關(guān)的信息與配置,DC分布時(shí)鐘的操作模式選擇。
瀏覽輸入與輸出變量:顯示PDO數(shù)據(jù)的輸入與輸出數(shù)據(jù)信息,如通道、名稱、類型、位長(zhǎng)等信息。
郵箱功能:支持選擇配置郵箱輪詢與讀取對(duì)象字典的方式,顯示相關(guān)的COE對(duì)象字典列表。
內(nèi)存信息:瀏覽內(nèi)存偏移信息與eeprom的參數(shù)信息等內(nèi)容。
集成幫助文檔:瀏覽幫助文檔,查閱更多的功能介紹與demo示例,幫助使用與開發(fā)。
EtherCAT配置軟件主界面如下圖6所示。
圖6?EtherCAT?配置軟件主界面圖
? 產(chǎn)品案例
圖7?ZMC600E?EtherCAT主站控制器
1. 產(chǎn)品介紹
ZMC600E?(點(diǎn)擊了解詳情)?是ZLG致遠(yuǎn)電子開發(fā)的最新一代智能總線型運(yùn)動(dòng)控制器,是面向工廠智能化時(shí)代的機(jī)器控制器。其采用工業(yè)領(lǐng)域內(nèi)先進(jìn)的嵌入式 ARM 方案,集實(shí)時(shí)操作系統(tǒng)、智能算法于一身,配套工業(yè)圖形化編程軟件開發(fā)環(huán)境。
ZMC600E采用TI的雙核64位Arm-Corte-A53,四核Cortex-R5F的AM6442應(yīng)用處理器為核心,主頻1GHz,內(nèi)置1GB DDR4、4GB eMMC以及32KB FRAM,預(yù)留有多路以太網(wǎng)、CAN、IO、USB等硬件接口。同時(shí)ZMC600E支持點(diǎn)位運(yùn)動(dòng)、連續(xù)軌跡、直線圓弧插補(bǔ)、連續(xù)插補(bǔ)、螺旋線等運(yùn)動(dòng)功能,可以自由設(shè)定運(yùn)行速度、停止速度、加、減速時(shí)間可以獨(dú)立設(shè)置,S型曲線平滑等參數(shù),支持在線改變速度和在線改變位置,用戶可以輕松構(gòu)智能化控制系統(tǒng),快速實(shí)現(xiàn)和部署現(xiàn)場(chǎng)各種工藝的應(yīng)用。
2. EtherCAT性能優(yōu)勢(shì)
ZMC600E集成了商業(yè)授權(quán)的EtherCAT主站解決方案;
Cortex-R5F協(xié)處理器獨(dú)立處理EtherCAT數(shù)據(jù)收發(fā),實(shí)時(shí)性更強(qiáng);
精準(zhǔn)分布式式時(shí)鐘,振動(dòng)<1μs;
最多支持128個(gè)從站節(jié)點(diǎn),節(jié)點(diǎn)間距最大100m;
支持CoE對(duì)象讀取寫,SoE IDN讀寫;
循環(huán)周期最小達(dá)125μs,支持線形、樹形、星型拓?fù)浣Y(jié)構(gòu)。