1 EtherCAT工作原理
EtherCAT是一種實(shí)時工業(yè)以太網(wǎng)技術(shù) ,已成為國際標(biāo)準(zhǔn)IEC 61158212, IEC 6178422 以及ISO1574524的一部分 .
圖1為 EtherCAT的基本工作原理.介質(zhì)訪問控制 (MAC,Media Access Control)使用主從模式.
主站發(fā)送以太網(wǎng)幀給各從站 ,從站從數(shù)據(jù)幀中抽取數(shù)據(jù)或?qū)?shù)據(jù)插入數(shù)據(jù)幀 ,然后將該數(shù)據(jù)幀傳輸?shù)较乱粋€EtherCAT從站. 最后一個 EtherCAT從站發(fā)回經(jīng)過完全處理的報文 ,并由第1個從站作為響應(yīng)報文發(fā)送給主站. 主站使用標(biāo)準(zhǔn)的以太網(wǎng)接口卡或具有以太網(wǎng)接口的嵌入式工業(yè)控制計算機(jī), EtherCAT從站使用專用的從站控制芯片ESC.
ESC采取接收轉(zhuǎn)發(fā)機(jī)制 ,以太網(wǎng)幀可以雙向通行 ,但只有以太網(wǎng)幀由下行電報方向進(jìn)入時 ,相應(yīng)的報文才能得到處理. 如果指定轉(zhuǎn)發(fā)的網(wǎng)口未連接, ESC自動將以太網(wǎng)幀沿原入口徑返回.
EtherCAT數(shù)據(jù)幀使用以太網(wǎng)V2 格式的MAC幀 ,以太類型為 0x88A4.圖2為EtherCAT數(shù)據(jù)鏈路層幀結(jié)構(gòu).一個EtherCAT以太網(wǎng)數(shù)據(jù)幀包含一個或多個EtherCAT子報文 ,每個子報文尋址獨(dú)立的設(shè)備或存儲區(qū)域.
每個EtherCAT子報文包括子報文頭绽媒、數(shù)據(jù)域和相應(yīng)的工作計數(shù)器 (WKC,Working Counter) ,子報文尋址到從站節(jié)點(diǎn)并交換數(shù)據(jù)后 ,工作計數(shù)器將被增加 ,用以記錄該子報文的處理狀態(tài).子報文頭中 ,8bit命令字節(jié) ,指定了子報文類型 (讀寫類型 ,尋址類型 ); 8 bit索引號給出子報文編碼; 32bit的子報文地址指定了對從站的操作地址 ,尋址類型定義了尋址方式; 8bit長度用以指示報文數(shù)據(jù)區(qū)的字節(jié)數(shù);R為4 bit的保留位; 4 bitM表示本報文是否為最后一個報文; 16bit中斷目前保留.
2EtherCAT冗余和熱插拔技術(shù)要求
2. 1拓?fù)浣Y(jié)構(gòu)
冗余以太網(wǎng)的拓?fù)浣Y(jié)構(gòu)包括網(wǎng)絡(luò)型拓?fù)涿钫帷h(huán)型拓?fù)湟约盎旌闲屯負(fù)?. 對于一般的工業(yè)以太網(wǎng)系統(tǒng) ,網(wǎng)絡(luò)型和混合型拓?fù)溥^于復(fù)雜 ,環(huán)型拓?fù)浞浅S行Ф覍?shí)用. 本文研究環(huán)型拓?fù)涞娜哂嗉夹g(shù) ,消除單點(diǎn)故障對系統(tǒng)產(chǎn)生的影響.
環(huán)型結(jié)構(gòu)的信息流在網(wǎng)中是沿固定方向流動的.由于環(huán)型結(jié)構(gòu)中出現(xiàn)一個節(jié)點(diǎn)故障將會影響全網(wǎng) ,要提高可靠性 ,需采用雙向環(huán)結(jié)構(gòu) ,使環(huán)具有自愈功能 ,即在斷點(diǎn)處自動環(huán)回, ESC從站控制器具有這種自動環(huán)回功能.
EtherCAT冗余技術(shù)采用環(huán)型冗余結(jié)構(gòu) ,也就是將最后一個ESC節(jié)點(diǎn)連接到主站.要實(shí)現(xiàn)這個功能 ,需要主站具有2個以太網(wǎng)接口 ,見圖 3.
2. 2單點(diǎn)故障
環(huán)形冗余鏈路僅具備雙重冗余 ,因此只能應(yīng)對單點(diǎn)故障.單點(diǎn)故障主要有以下幾種可能情況:
1) 網(wǎng)口故障 ,包括主站網(wǎng)卡本身故障和連接在網(wǎng)卡上的鏈路故障;
2) 鏈路故障 ,指從站節(jié)點(diǎn)之間的鏈路存在斷線;
3) 節(jié)點(diǎn)故障 ,指環(huán)路中某節(jié)點(diǎn)出現(xiàn)故障 ,導(dǎo)致幀轉(zhuǎn)發(fā)功能失效.在此情況下 ,發(fā)生故障的節(jié)點(diǎn)的失效不認(rèn)為是整個系統(tǒng)的失效. 這種情況也可能發(fā)生在需要不斷電情況下更換一個從站節(jié)點(diǎn)的場合 ,通常也稱為“熱插拔 ”.
2. 3EtherCAT鏈路冗余主站
EtherCAT主站結(jié)構(gòu)如圖 4所示 ,其中 Ether-CAT主站驅(qū)動實(shí)現(xiàn)了網(wǎng)卡驅(qū)動與上層控制任務(wù)的交互.冗余機(jī)制不應(yīng)影響應(yīng)用層控制任務(wù)的性能和功能. 在本文系統(tǒng)設(shè)計中,將常規(guī) EtherCAT主站驅(qū)動程序做了修改 ,加入鏈路冗余機(jī)制 ,對上層應(yīng)用屏蔽了冗余信息和操作.
在EtherCAT主站驅(qū)動程序中 ,向上層應(yīng)用的接口主要為 1個發(fā)送隊列 (用于存放控制任務(wù)要發(fā)送的 EtherCAT幀)和1個接收隊列(用于存放處理過后返回的EtherCAT幀).本文設(shè)計的冗余機(jī)制旨在實(shí)現(xiàn)當(dāng)系統(tǒng)處于任何正尘阆洌或容錯運(yùn)行狀態(tài)下這2個幀隊列都與網(wǎng)口和網(wǎng)絡(luò)狀態(tài)無關(guān).
[DividePage:NextPage]
3冗余系統(tǒng)設(shè)計
3. 1冗余幀傳播機(jī)制
冗余主站設(shè)計如圖4所示 ,主站具有A和B2個網(wǎng)口,每個網(wǎng)口均具備發(fā)送和接收以太網(wǎng)幀的功能.
根據(jù)故障情況 ,圖5中列出了冗余系統(tǒng)正常工作和出現(xiàn)各種單點(diǎn)故障時的幀傳播策略:
1) 正常情況時,發(fā)送幀交由A網(wǎng)口發(fā)送,經(jīng)過從站節(jié)點(diǎn)的遍歷,經(jīng)B網(wǎng)口接收,進(jìn)接收隊列;
2) A網(wǎng)口故障時,發(fā)送幀交由B 網(wǎng)口發(fā)送,反向到達(dá)第1個從站節(jié)點(diǎn),以原鏈路環(huán)回,經(jīng)B網(wǎng)口接收后,進(jìn)接收隊列;
3) B 網(wǎng)口故障時,發(fā)送幀交由A網(wǎng)口發(fā)送,到達(dá)最后一個從站節(jié)點(diǎn),以原鏈路環(huán)回,經(jīng)A網(wǎng)口接收后,進(jìn)接收隊列;
4) 出現(xiàn)鏈路故障 (或熱插拔 )時,發(fā)送幀交由A網(wǎng)口發(fā)送,遍歷至故障點(diǎn)處環(huán)回,經(jīng)A網(wǎng)口接收,交由B 網(wǎng)口發(fā)送,從另一個方向遍歷至故障點(diǎn)處環(huán)回,經(jīng) B網(wǎng)口接收后,進(jìn)接收隊列;
5) 出現(xiàn)節(jié)點(diǎn)故障時,發(fā)送幀交由A 網(wǎng)口發(fā)送,遍歷至故障點(diǎn)處環(huán)回,經(jīng)A網(wǎng)口接收,交由B網(wǎng)口發(fā)送,從另一個方向遍歷至故障點(diǎn)處環(huán)回,經(jīng)B網(wǎng)口接收后,進(jìn)接收隊列.
3. 2故障點(diǎn)診斷
發(fā)生網(wǎng)口故障時,能夠確定故障點(diǎn)在主站接口上;而在發(fā)生鏈路故障和節(jié)點(diǎn)故障時,則需偵聽A網(wǎng)口和B 網(wǎng)口的接收幀,結(jié)合數(shù)據(jù)幀中子報文的工作計數(shù)器實(shí)現(xiàn).
每個子報文最后具有一個WKC,在通過從站節(jié)點(diǎn)時,如果為該從站的子報文,WKC將加1(也有一些類型的報文增加值大于1).故障點(diǎn)診斷規(guī)則如下:
首先 ,根據(jù)讀取網(wǎng)口狀態(tài)判斷是否出現(xiàn)故障及故障類型.如果 A網(wǎng)口或B 網(wǎng)口狀態(tài)為未連接或連接出錯,則表明出現(xiàn)了網(wǎng)口故障;如果A網(wǎng)口接收到了環(huán)回的幀,則表明為鏈路故障或節(jié)點(diǎn)故障;否則,表明系統(tǒng)正常.
然后,對A網(wǎng)口和B 網(wǎng)口的接收幀進(jìn)行偵聽和WKC分析.根據(jù)子報文的報文指令類型 ,以及子報文的WKC值,可以判斷出該子報文是否得以執(zhí)行.從而,檢測出A網(wǎng)口和故障點(diǎn)之間離故障點(diǎn)最近的有效節(jié)點(diǎn)及B 網(wǎng)口和故障點(diǎn)之間離故障點(diǎn)最近的有效節(jié)點(diǎn).
最后 ,可以判斷出 ,故障點(diǎn)出現(xiàn)在2個有效節(jié)點(diǎn)之間的鏈路或節(jié)點(diǎn)上.
4冗余主站的實(shí)現(xiàn)
冗余EtherCAT主站驅(qū)動程序采用WinPcap軟件開發(fā)包 ,實(shí)現(xiàn)EtherCAT幀的收發(fā). WinPcap是Windows平臺下一個免費(fèi)、公共的網(wǎng)絡(luò)訪問系統(tǒng) ,為Win32應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能力.
在程序底層定義了一個設(shè)備類 ,用于與硬件接*互.在該設(shè)備類中定義了一個網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)體指針鏈表 ,用以指向系統(tǒng)中所用到的網(wǎng)卡設(shè)備.在該類中定義了一個先入先出的隊列 ,用以存儲接收環(huán)回的EtherCAT幀 ,并提供了一個發(fā)送原始幀的接口函數(shù) (發(fā)送隊列在上層定義 ).
程序啟動時 ,該設(shè)備類根據(jù)主站描述文件中提供的冗余網(wǎng)卡的MAC地址信息初始化網(wǎng)絡(luò)設(shè)備結(jié)構(gòu)體指針鏈表.并啟動一個接收線程 ,以捕獲接收到以太網(wǎng)幀 ,并對接收到的幀進(jìn)行相應(yīng)處理.
發(fā)送EtherCAT幀時 ,首先讀取并記錄各網(wǎng)口的連接狀態(tài) ,根據(jù)網(wǎng)絡(luò)狀態(tài)選擇相應(yīng)網(wǎng)口發(fā)送該幀.接收線程接收到以太網(wǎng)數(shù)據(jù)幀后 ,判斷是否為Ether2CAT幀 (0x88A4幀 ).若是則按圖5規(guī)則選擇相應(yīng)網(wǎng)口進(jìn)行轉(zhuǎn)發(fā)或進(jìn)接收隊列;若否則丟棄
該幀.這樣可以省去在轉(zhuǎn)發(fā)時判斷網(wǎng)口狀態(tài) ,縮短轉(zhuǎn)發(fā)時間 ,減少傳播延時.
5 實(shí)驗(yàn)驗(yàn)證系統(tǒng)
圖6為冗余系統(tǒng)的實(shí)驗(yàn)驗(yàn)證系統(tǒng) ,由1個主站 (PC)灭必、2個EtherCAT2IO從站和1個測試從站(PC)組成.主站向從站發(fā)送周期讀寫數(shù)據(jù). 分別在 PC主站程序和測試從站程序的應(yīng)用層中設(shè)置發(fā)送計數(shù)器SendCounter和接收計數(shù)器Recv2 Counter,記錄發(fā)送和接收的周期幀數(shù)量. 在一段時間內(nèi),接收計數(shù)器和發(fā)送計數(shù)器的差值即為該時間段內(nèi)的總丟幀數(shù).
實(shí)驗(yàn)過程如下: ①設(shè)置通訊周期為30ms,發(fā)送和接收計數(shù)器清零; ②啟動主站的周期發(fā)送,在一定的時間內(nèi) (1min左右) ,對系統(tǒng)進(jìn)行拔線狞谱、節(jié)點(diǎn)斷電以及移除和插入節(jié)點(diǎn)等操作 ,模擬單點(diǎn)故障和熱插拔的發(fā)生; ③關(guān)閉主站的周期發(fā)送 ,獲取和比較發(fā)送計數(shù)器和接收計數(shù)器的數(shù)值 確認(rèn)未,發(fā)生丟幀 ,能夠在1個通訊周期內(nèi)恢復(fù)正常控制 ,表示系統(tǒng)運(yùn)行正確 ,滿足冗余和熱插拔任務(wù)要求.
6結(jié)束語
EtherCAT提供了一種雙向數(shù)據(jù)傳輸機(jī)制.論文研究和實(shí)驗(yàn)結(jié)果表明,采用具有雙Ethernet網(wǎng)口的PC計算機(jī)作為控制主站控制EtherCAT從站芯片,可以非常方便地實(shí)現(xiàn)高性能工業(yè)控制系統(tǒng)線路故障冗余和熱插拔任務(wù)要求,性能優(yōu)越,運(yùn)行可靠,無需復(fù)雜的主站控制程序.
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)禁漓,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享跟衅,并不代表本站贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé),也不構(gòu)成任何其他建議泳寥。本站部分作品是由網(wǎng)友自主投稿和發(fā)布载呢、編輯整理上傳,對此類作品本站僅提供交流平臺疹神,不為其版權(quán)負(fù)責(zé)取蓝。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻、圖片掀尊、文字如涉及作品版權(quán)問題芥斋,請第一時間告知,我們將根據(jù)您提供的證明材料確認(rèn)版權(quán)并按國家標(biāo)準(zhǔn)支付稿酬或立即刪除內(nèi)容玩猿,以保證您的權(quán)益趋沧!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暫無反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力贮缕,智啟未來新篇章
- 定義制造業(yè)未來的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進(jìn)制造技術(shù)應(yīng)用專題
- 解碼消費(fèi)電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機(jī)床,助力制造升級技術(shù)專題
- 汽車輕量化驅(qū)動下的零部件加工應(yīng)用專題
- 高性能銑刀實(shí)現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動機(jī)解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題