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

圖片來源: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)有(you)84 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個會因為一個隨機周期錯誤對數據幀造成影響。
jinguanyitaiwangwulicengtongchangshiqiangjiande,danqiangdedianciganraoxinhaohaishikeyidaozhitongxincuowu。xiangbichuantongdedulizhenchuanshufangshiduiganraodailaideyingxiang,gongxiangzhendefangshizaiyigewangluozhouqineicuowugailvyaoxiaodeduo。
zhengchangqingkuangxia,daduoshudewangluoyingyongchengxukeyikefudanyidecuowuerbuzaochengrenhesunshi。danshiruguojinaizheyoulianggecuowu,zeshihenyanzhongdeqingkuang。yinci,meigezhouqidetongxincuowuzhijiandeguanliandouhuizaochengyanzhongqingkuang。zaibenwenkaitoujieshaodebijiaoxianshidelizizhong,dulizhenfangshibigongxiangzhenfangshihuizaochenggengduodesunhuaizhen,yinweigongxiangzhenzhishiyongle1/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慢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技術則相反,轉發時間非常短,以至於即使幹擾發生在數據幀頭的位置,也不會影響旁邊站點上的前一個幀的末尾數據。
當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。
此外,大多數交換機/橋在接收到正確數據幀後才會轉發(存儲和轉發),這會導致每個接口會接受不同的數據幀,這樣幹擾傳播會影響大量的數據幀。
反饋可以幫助加快錯誤處理
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更關注短的周期時間,這樣會減少錯誤的可能。
更高的效率可以獲得更短的周期時間和更好的故障排除
最後且同樣重要的是:相比獨立數據幀,EtherCATkeyidadaofeichangduandezhouqishijian,zhedailailegenggaodejingdubingzengjiashujuchulidelubangxing。zheyeshidechanpinjuyougenghaodezhiliangjigengkuaidecuowufanying。tongguojianshaodezhouqishijianlaitigaotigaochanpinzhiliangshifeichanghaodefangfa,shenzhishizaichuxiancuowudeqingkuangxia。ruguomeiyoucuowufashengzezhilianghainengjinyibutisheng。yinci,jishizaiyouganraodehuanjingzhong,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


