高效和可靠—魚和熊掌可以兼得!

圖片來源:Karl-Martin Skontorp
在我們的日常感覺中,通常具有超高性能的係統都是很敏感的,而強健的係統又不會很快。這一點也適用於計算機、相機和汽車:賽車相對脆弱,而強大的越野車卻比較慢。同樣,在工業通信領域,性能(通信效率)和可靠性(係統錯誤帶來的影響)有著緊密聯係。然而,取決於不同的技術,其關係是令人驚訝的:高效導致係統在發生錯誤時變得不穩定的觀點並不完全適用於所有場合。以下文章將證明使用EtherCAT所展示出的不同情況。
在工業通信中,不同通信方式中的錯誤情況將帶來不同的影響。一旦發生錯誤,何時、何地、發生什麼情況以及發生的原因是關鍵問題,並必須迅速找到答案(這並不容易)。另一方麵,在處理錯誤問題時,人們必須關注數據的一致性。
以太網已經盛行於很多應用中。采用100 Mbit/s(快速以太網)的de物wu理li數shu據ju傳chuan輸shu,其qi物wu理li數shu據ju傳chuan輸shu的de強qiang健jian性xing已yi經jing在zai工gong業ye領ling域yu得de到dao證zheng實shi。因yin此ci,我wo們men需xu要yao討tao論lun的de是shi物wu理li層ceng之zhi上shang協xie議yi層ceng的de效xiao率lv及ji相xiang關guan可ke靠kao性xing。
給每個I/O一個獨立的數據幀意味著巨大的帶寬開銷和高錯誤率
一yi種zhong評ping估gu效xiao率lv的de方fang法fa是shi針zhen對dui協xie議yi開kai銷xiao的de調tiao查zha。如ru果guo每mei個ge網wang絡luo參can與yu者zhe都dou使shi用yong一yi個ge單dan獨du的de以yi太tai網wang幀zhen將jiang導dao致zhi巨ju大da的de協xie議yi開kai銷xiao,因yin為wei即ji使shi發fa送song最zui小xiao幀zhen也ye有you84 byte (如圖1 ),而每個網絡參與者(節點)典型的有效負載是小於8 byte(比如CAN是1到8之間),這導致了超過90%的帶寬開銷。

圖1:7個例子中的有6個因為一個隨機的周期錯誤對獨立的數據幀造成影響。
jiqishebeitongchangshiyongxianxingtuopudetongxinxitong。ranerkuaisuyitaiwangjiagouyaoqiuyouyuanouhedejiekou。ouheyousuoweideqiaojiejuyuwangdeshebeihuojiaohuanjishixian,qizhongjiaohuanjijingchangbeijichengdaowangluojiedian(如I/O設備或者伺服驅動器)中。因為所有數據會在每個節點被處理一次,即每個節點都可以獲取一個共用幀上的完整的用戶數據信息——就如同EtherCAT的運行機製——幀在係統中傳輸的同時被處理,這種處理協議的方法可以被命名為共享幀解決方案(圖2)。其結果是即使連接的網絡節點數量很少的情況下,也會有小於50%的協議開銷。如果係統的總有效負載超過400個字節,這會使共享幀解決方案中數據幀開銷小於10%。

圖2:共享數據幀機製下,7個例子中隻有1個會因為一個隨機周期錯誤對數據幀造成影響。
盡jin管guan以yi太tai網wang物wu理li層ceng通tong常chang是shi強qiang健jian的de,但dan強qiang的de電dian磁ci幹gan擾rao信xin號hao還hai是shi可ke以yi導dao致zhi通tong信xin錯cuo誤wu。相xiang比bi傳chuan統tong的de獨du立li幀zhen傳chuan輸shu方fang式shi對dui幹gan擾rao帶dai來lai的de影ying響xiang,共gong享xiang幀zhen的de方fang式shi在zai一yi個ge網wang絡luo周zhou期qi內nei錯cuo誤wu概gai率lv要yao小xiao得de多duo。
正(zheng)常(chang)情(qing)況(kuang)下(xia),大(da)多(duo)數(shu)的(de)網(wang)絡(luo)應(ying)用(yong)程(cheng)序(xu)可(ke)以(yi)克(ke)服(fu)單(dan)一(yi)的(de)錯(cuo)誤(wu)而(er)不(bu)造(zao)成(cheng)任(ren)何(he)損(sun)失(shi)。但(dan)是(shi)如(ru)果(guo)緊(jin)挨(ai)著(zhe)有(you)兩(liang)個(ge)錯(cuo)誤(wu),則(ze)是(shi)很(hen)嚴(yan)重(zhong)的(de)情(qing)況(kuang)。因(yin)此(ci),每(mei)個(ge)周(zhou)期(qi)的(de)通(tong)信(xin)錯(cuo)誤(wu)之(zhi)間(jian)的(de)關(guan)聯(lian)都(dou)會(hui)造(zao)成(cheng)嚴(yan)重(zhong)情(qing)況(kuang)。在(zai)本(ben)文(wen)開(kai)頭(tou)介(jie)紹(shao)的(de)比(bi)較(jiao)現(xian)實(shi)的(de)例(li)子(zi)中(zhong),獨(du)立(li)幀(zhen)方(fang)式(shi)比(bi)共(gong)享(xiang)幀(zhen)方(fang)式(shi)會(hui)造(zao)成(cheng)更(geng)多(duo)的(de)損(sun)壞(huai)幀(zhen),因(yin)為(wei)共(gong)享(xiang)幀(zhen)隻(zhi)使(shi)用(yong)了(le)1/6的傳輸時間,因此共享幀受到的影響隻是7(?)種例子中的一種。
位錯誤的數量不會對處理質量產生影響
zaiyundongkongzhiyingyongzhong,chuxiandangetongxuncuowushi,xuyaoshiyongkunnandesuanfalaicharumubiaozhiheshijizhi。dulishujuzhendetongxunfangshihuidailaijihubukeyujiandejieguo,youqidangjigezhououheshi。yincizhezhongyougenggaocuowuzhouqilvdejilianhuichanshengweixian。ciwai,gaijiejuefangandizhi10%的效率甚至增加了錯誤周期率,使得實現可靠的應用控製更為困難。
suduheweizhidekongzhiwentiyeguanxidaoyundongkongzhibenshen。weizhizhikongzhibijinyouxiaobianhuadesuduzhigengweizhongyao。zaoqidefangshishizaixianghuzuoyongxiacuowukeyihubu。erqiebianchengdeyuanze“隻要沒有變化,保持數值不變”,有助於減少一般的錯誤影響,以及避免捆綁錯誤。
所提到的情況表明,一個周期中的錯誤數量和所得到的控製誤差沒有直接的依賴關係。單獨的錯誤甚至可能比捆綁錯誤還要危險。
獨立幀的方式不能阻止多種錯誤
每(mei)個(ge)節(jie)點(dian)對(dui)應(ying)一(yi)個(ge)單(dan)獨(du)的(de)數(shu)據(ju)幀(zhen)的(de)傳(chuan)輸(shu)方(fang)式(shi)的(de)另(ling)一(yi)個(ge)問(wen)題(ti)是(shi)錯(cuo)誤(wu)隔(ge)離(li)。一(yi)般(ban)來(lai)說(shuo)以(yi)太(tai)網(wang)可(ke)以(yi)避(bi)免(mian)傳(chuan)播(bo)幹(gan)擾(rao),因(yin)為(wei)每(mei)個(ge)連(lian)接(jie)點(dian)都(dou)是(shi)由(you)一(yi)個(ge)特(te)殊(shu)的(de)收(shou)發(fa)器(qi)控(kong)製(zhi)。現(xian)在(zai)的(de)以(yi)太(tai)網(wang)物(wu)理(li)層(ceng)不(bu)是(shi)總(zong)線(xian)型(xing)的(de),而(er)是(shi)對(dui)等(deng)接(jie)口(kou)的(de)集(ji)合(he),無(wu)論(lun)如(ru)何(he)錯(cuo)誤(wu)都(dou)可(ke)能(neng)產(chan)生(sheng),例(li)如(ru)電(dian)源(yuan)幹(gan)擾(rao)可(ke)以(yi)在(zai)同(tong)一(yi)個(ge)時(shi)刻(ke)影(ying)響(xiang)多(duo)個(ge)節(jie)點(dian)。另(ling)一(yi)個(ge)有(you)可(ke)比(bi)性(xing)的(de)錯(cuo)誤(wu)源(yuan)是(shi)在(zai)直(zhi)接(jie)屏(ping)蔽(bi)的(de)方(fang)式(shi)中(zhong)保(bao)護(hu)導(dao)體(ti)的(de)接(jie)觸(chu)不(bu)良(liang)。雖(sui)然(ran)EtherCAT不(bu)推(tui)薦(jian)這(zhe)樣(yang)使(shi)用(yong),但(dan)尤(you)其(qi)對(dui)於(yu)支(zhi)持(chi)多(duo)協(xie)議(yi)的(de)設(she)備(bei),必(bi)須(xu)要(yao)遵(zun)循(xun)這(zhe)個(ge)方(fang)法(fa),且(qie)不(bu)可(ke)以(yi)使(shi)用(yong)替(ti)代(dai)的(de)方(fang)法(fa)。由(you)於(yu)機(ji)櫃(gui)接(jie)地(di)有(you)時(shi)會(hui)比(bi)預(yu)期(qi)差(cha),對(dui)屏(ping)蔽(bi)的(de)幹(gan)擾(rao)可(ke)能(neng)會(hui)出(chu)現(xian)在(zai)電(dian)纜(lan)連(lian)接(jie)的(de)不(bu)同(tong)部(bu)分(fen)。在(zai)這(zhe)種(zhong)情(qing)況(kuang)下(xia),診(zhen)斷(duan)是(shi)非(fei)常(chang)困(kun)難(nan)的(de),因(yin)此(ci),應(ying)盡(jin)可(ke)能(neng)避(bi)免(mian)這(zhe)種(zhong)幹(gan)擾(rao)的(de)傳(chuan)播(bo)。
如果你使用類似EtherCAT這樣的普通數據幀,那麼這種幹擾傳輸隻會影響同一幀幾次
短的獨立幀使用IEEE標準定義的典型交換機轉發,這種方式至少要比EtherCAT慢10bei,yinweitayaotongshijiangbutongdezhenfasonggeibutongdewangluocanyuzhe。zhegeguochenghuichanshenghendadeshijianyanchi,bingdaozhiganraochuanshudeqingkuangxiayingxiangduogebutongdedeshujuzhen。yinci,butongzhouqihuotongxinleixingdeshujuhuibeiyingxiang。chuyuzhegeyuanyin,ganraochuanboshiyigefeichangguanjiandeyinsu,tamouzhongxingshishangzongshiyiweizheduominuoxiaoying。
EtherCAT技術則相反,轉發時間非常短,以至於即使幹擾發生在數據幀頭的位置,也不會影響旁邊站點上的前一個幀的末尾數據。
當(dang)幾(ji)個(ge)獨(du)立(li)幀(zhen)被(bei)影(ying)響(xiang),產(chan)生(sheng)的(de)錯(cuo)誤(wu)類(lei)型(xing)很(hen)難(nan)定(ding)義(yi)。一(yi)些(xie)輸(shu)入(ru)數(shu)據(ju)是(shi)新(xin)的(de),其(qi)他(ta)是(shi)舊(jiu)的(de),從(cong)而(er)判(pan)斷(duan)隻(zhi)有(you)單(dan)獨(du)錯(cuo)誤(wu)的(de)方(fang)法(fa)是(shi)不(bu)正(zheng)確(que)的(de),它(ta)需(xu)要(yao)特(te)別(bie)複(fu)雜(za)的(de)錯(cuo)誤(wu)處(chu)理(li)策(ce)略(lve)。
此外,大多數交換機/橋在接收到正確數據幀後才會轉發(存儲和轉發),這會導致每個接口會接受不同的數據幀,這樣幹擾傳播會影響大量的數據幀。
反饋可以幫助加快錯誤處理
出(chu)於(yu)效(xiao)率(lv)的(de)原(yuan)因(yin),獨(du)立(li)幀(zhen)方(fang)式(shi)一(yi)般(ban)不(bu)提(ti)供(gong)及(ji)時(shi)的(de)反(fan)饋(kui)。需(xu)要(yao)有(you)主(zhu)站(zhan)將(jiang)更(geng)新(xin)的(de)輸(shu)出(chu)數(shu)據(ju)請(qing)求(qiu)發(fa)給(gei)從(cong)站(zhan),然(ran)後(hou)由(you)從(cong)站(zhan)返(fan)回(hui)直(zhi)接(jie)反(fan)饋(kui)。這(zhe)種(zhong)重(zhong)複(fu)的(de)轉(zhuan)發(fa)時(shi)間(jian)是(shi)對(dui)周(zhou)期(qi)時(shi)間(jian)的(de)一(yi)個(ge)限(xian)製(zhi)。而(er)且(qie)對(dui)於(yu)丟(diu)失(shi)單(dan)個(ge)輸(shu)出(chu)數(shu)據(ju)幀(zhen)的(de)反(fan)應(ying)也(ye)限(xian)製(zhi)在(zai)單(dan)個(ge)站(zhan)點(dian)上(shang)——而er不bu能neng直zhi接jie通tong知zhi控kong製zhi單dan元yuan。在zai這zhe種zhong情qing況kuang下xia,主zhu站zhan不bu能neng采cai取qu任ren何he措cuo施shi。這zhe種zhong錯cuo誤wu最zui早zao會hui在zai一yi個ge周zhou期qi後hou獲huo得de,直zhi到dao錯cuo誤wu超chao時shi觸chu發fa係xi統tong,通tong常chang需xu要yao三san個ge周zhou期qi。

圖3:慢速處理多個數據幀的影響
相反地,EtherCAT從(cong)站(zhan)可(ke)以(yi)直(zhi)接(jie)進(jin)行(xing)反(fan)饋(kui)。快(kuai)速(su)的(de)轉(zhuan)發(fa)使(shi)得(de)輸(shu)入(ru)數(shu)據(ju)在(zai)輸(shu)出(chu)數(shu)據(ju)傳(chuan)輸(shu)完(wan)成(cheng)後(hou)出(chu)現(xian)在(zai)主(zhu)站(zhan)當(dang)中(zhong)。如(ru)果(guo)反(fan)饋(kui)失(shi)敗(bai),主(zhu)站(zhan)可(ke)以(yi)立(li)即(ji)開(kai)啟(qi)對(dui)應(ying)處(chu)理(li),而(er)且(qie)得(de)益(yi)於(yu)超(chao)小(xiao)的(de)轉(zhuan)發(fa)變(bian)動(dong)使(shi)得(de)精(jing)確(que)的(de)超(chao)時(shi)成(cheng)為(wei)可(ke)能(neng)。
原則上,EtherCAT的形式像一個傳統現場總線,可以安排立即重發。因為後者在主站進行更加複雜的錯誤處理,實際過程數據的可用性上需要更多的帶寬(使用EtherCAT隻有15%),或者使用處理器的性能來修複舊的過程數據。EtherCAT更關注短的周期時間,這樣會減少錯誤的可能。
更高的效率可以獲得更短的周期時間和更好的故障排除
最後且同樣重要的是:相比獨立數據幀,EtherCAT可ke以yi達da到dao非fei常chang短duan的de周zhou期qi時shi間jian,這zhe帶dai來lai了le更geng高gao的de精jing度du並bing增zeng加jia數shu據ju處chu理li的de魯lu棒bang性xing。這zhe也ye使shi得de產chan品pin具ju有you更geng好hao的de質zhi量liang及ji更geng快kuai的de錯cuo誤wu反fan應ying。通tong過guo減jian少shao的de周zhou期qi時shi間jian來lai提ti高gao提ti高gao產chan品pin質zhi量liang是shi非fei常chang好hao的de方fang法fa,甚shen至zhi是shi在zai出chu現xian錯cuo誤wu的de情qing況kuang下xia。如ru果guo沒mei有you錯cuo誤wu發fa生sheng則ze質zhi量liang還hai能neng進jin一yi步bu提ti升sheng。因yin此ci,即ji使shi在zai有you幹gan擾rao的de環huan境jing中zhong,EtherCAT也可以成功的運行。

圖4:EtherCAT直接反饋方式
總結
總之,EtherCAT是shi可ke靠kao的de網wang絡luo設she計ji的de基ji礎chu,降jiang低di了le帶dai寬kuan使shi用yong量liang,從cong而er減jian少shao了le錯cuo誤wu頻pin率lv,快kuai速su的de數shu據ju幀zhen轉zhuan發fa避bi免mian了le幹gan擾rao的de傳chuan播bo。得de益yi於yu以yi太tai網wang的de對dui等deng連lian接jie,反fan射she和he其qi它ta幹gan擾rao被bei避bi免mian了le,使shi得de錯cuo誤wu概gai率lv極ji低di,錯cuo誤wu發fa生sheng的de地di方fang也ye很hen容rong易yi檢jian測ce,從cong而er通tong信xin更geng可ke靠kao。
ciwai,yigexitongdekekaoxinghuizaihendachengdushangshoujiaodidexieyifuzaxinghejiangditongxunjiekoushangzhenliuliangdeyingxiang。jianmingdeshejishihaodekongzhixitongdejichu,yeshitadenaiyongxingdebiyaotiaojian。
EtherCAT印證了自動化技術的基本原則:效率和可靠性可以兼得!
Appendix
AUTHOR:
Dr. Karl Weber

Senior Technology Expert
EtherCAT Technology Group
Nuremberg, Germany
PICTURES:
Lead: Karl-Martin Skontorp
All others: EtherCAT Technology Group


