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

圖片來源:Karl-Martin Skontorp
在我們的日常感覺中,通常具有超高性能的係統都是很敏感的,而強健的係統又不會很快。這一點也適用於計算機、相機和汽車:賽車相對脆弱,而強大的越野車卻比較慢。同樣,在工業通信領域,性能(通信效率)和可靠性(係統錯誤帶來的影響)有著緊密聯係。然而,取決於不同的技術,其關係是令人驚訝的:高效導致係統在發生錯誤時變得不穩定的觀點並不完全適用於所有場合。以下文章將證明使用EtherCAT所展示出的不同情況。
在工業通信中,不同通信方式中的錯誤情況將帶來不同的影響。一旦發生錯誤,何時、何地、發生什麼情況以及發生的原因是關鍵問題,並必須迅速找到答案(這並不容易)。另一方麵,在處理錯誤問題時,人們必須關注數據的一致性。
以太網已經盛行於很多應用中。采用100 Mbit/s(快速以太網)dewulishujuchuanshu,qiwulishujuchuanshudeqiangjianxingyijingzaigongyelingyudedaozhengshi。yinci,womenxuyaotaolundeshiwulicengzhishangxieyicengdexiaolvjixiangguankekaoxing。
給每個I/O一個獨立的數據幀意味著巨大的帶寬開銷和高錯誤率
yizhongpingguxiaolvdefangfashizhenduixieyikaixiaodetiaozha。ruguomeigewangluocanyuzhedoushiyongyigedandudeyitaiwangzhenjiangdaozhijudadexieyikaixiao,yinweijishifasongzuixiaozhenyeyou84 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。
zhengchangqingkuangxia,daduoshudewangluoyingyongchengxukeyikefudanyidecuowuerbuzaochengrenhesunshi。danshiruguojinaizheyoulianggecuowu,zeshihenyanzhongdeqingkuang。yinci,meigezhouqidetongxincuowuzhijiandeguanliandouhuizaochengyanzhongqingkuang。zaibenwenkaitoujieshaodebijiaoxianshidelizizhong,dulizhenfangshibigongxiangzhenfangshihuizaochenggengduodesunhuaizhen,yinweigongxiangzhenzhishiyongle1/6的傳輸時間,因此共享幀受到的影響隻是7(?)種例子中的一種。
位錯誤的數量不會對處理質量產生影響
在zai運yun動dong控kong製zhi應ying用yong中zhong,出chu現xian單dan個ge通tong訊xun錯cuo誤wu時shi,需xu要yao使shi用yong困kun難nan的de算suan法fa來lai插cha入ru目mu標biao值zhi和he實shi際ji值zhi。獨du立li數shu據ju幀zhen的de通tong訊xun方fang式shi會hui帶dai來lai幾ji乎hu不bu可ke預yu見jian的de結jie果guo,尤you其qi當dang幾ji個ge軸zhou耦ou合he時shi。因yin此ci這zhe種zhong有you更geng高gao錯cuo誤wu周zhou期qi率lv的de級ji聯lian會hui產chan生sheng危wei險xian。此ci外wai,該gai解jie決jue方fang案an底di至zhi10%的效率甚至增加了錯誤周期率,使得實現可靠的應用控製更為困難。
速su度du和he位wei置zhi的de控kong製zhi問wen題ti也ye關guan係xi到dao運yun動dong控kong製zhi本ben身shen。位wei置zhi值zhi控kong製zhi比bi僅jin有you小xiao變bian化hua的de速su度du值zhi更geng為wei重zhong要yao。早zao期qi的de方fang式shi是shi在zai相xiang互hu作zuo用yong下xia錯cuo誤wu可ke以yi互hu補bu。而er且qie編bian程cheng的de原yuan則ze“隻要沒有變化,保持數值不變”,有助於減少一般的錯誤影響,以及避免捆綁錯誤。
所提到的情況表明,一個周期中的錯誤數量和所得到的控製誤差沒有直接的依賴關係。單獨的錯誤甚至可能比捆綁錯誤還要危險。
獨立幀的方式不能阻止多種錯誤
每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然ranEtherCAT不(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慢10倍bei,因yin為wei它ta要yao同tong時shi將jiang不bu同tong的de幀zhen發fa送song給gei不bu同tong的de網wang絡luo參can與yu者zhe。這zhe個ge過guo程cheng會hui產chan生sheng很hen大da的de時shi間jian延yan遲chi,並bing導dao致zhi幹gan擾rao傳chuan輸shu的de情qing況kuang下xia影ying響xiang多duo個ge不bu同tong的de的de數shu據ju幀zhen。因yin此ci,不bu同tong周zhou期qi或huo通tong信xin類lei型xing的de數shu據ju會hui被bei影ying響xiang。出chu於yu這zhe個ge原yuan因yin,幹gan擾rao傳chuan播bo是shi一yi個ge非fei常chang關guan鍵jian的de因yin素su,它ta某mou種zhong形xing式shi上shang總zong是shi意yi味wei著zhe多duo米mi諾nuo效xiao應ying。
EtherCAT技術則相反,轉發時間非常短,以至於即使幹擾發生在數據幀頭的位置,也不會影響旁邊站點上的前一個幀的末尾數據。
dangjigedulizhenbeiyingxiang,chanshengdecuowuleixinghennandingyi。yixieshurushujushixinde,qitashijiude,congerpanduanzhiyoudanducuowudefangfashibuzhengquede,taxuyaotebiefuzadecuowuchulicelve。
此外,大多數交換機/橋在接收到正確數據幀後才會轉發(存儲和轉發),這會導致每個接口會接受不同的數據幀,這樣幹擾傳播會影響大量的數據幀。
反饋可以幫助加快錯誤處理
chuyuxiaolvdeyuanyin,dulizhenfangshiyibanbutigongjishidefankui。xuyaoyouzhuzhanjianggengxindeshuchushujuqingqiufageicongzhan,ranhouyoucongzhanfanhuizhijiefankui。zhezhongzhongfudezhuanfashijianshiduizhouqishijiandeyigexianzhi。erqieduiyudiushidangeshuchushujuzhendefanyingyexianzhizaidangezhandianshang——而(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)。
此(ci)外(wai),一(yi)個(ge)係(xi)統(tong)的(de)可(ke)靠(kao)性(xing)會(hui)在(zai)很(hen)大(da)程(cheng)度(du)上(shang)受(shou)較(jiao)低(di)的(de)協(xie)議(yi)複(fu)雜(za)性(xing)和(he)降(jiang)低(di)通(tong)訊(xun)接(jie)口(kou)上(shang)幀(zhen)流(liu)量(liang)的(de)影(ying)響(xiang)。簡(jian)明(ming)的(de)設(she)計(ji)是(shi)好(hao)的(de)控(kong)製(zhi)係(xi)統(tong)的(de)基(ji)礎(chu),也(ye)是(shi)他(ta)的(de)耐(nai)用(yong)性(xing)的(de)必(bi)要(yao)條(tiao)件(jian)。
EtherCAT印證了自動化技術的基本原則:效率和可靠性可以兼得!
Appendix
AUTHOR:
Dr. Karl Weber

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


