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

圖片來源:Karl-Martin Skontorp
在我們的日常感覺中,通常具有超高性能的係統都是很敏感的,而強健的係統又不會很快。這一點也適用於計算機、相機和汽車:賽車相對脆弱,而強大的越野車卻比較慢。同樣,在工業通信領域,性能(通信效率)和可靠性(係統錯誤帶來的影響)有著緊密聯係。然而,取決於不同的技術,其關係是令人驚訝的:高效導致係統在發生錯誤時變得不穩定的觀點並不完全適用於所有場合。以下文章將證明使用EtherCAT所展示出的不同情況。
在工業通信中,不同通信方式中的錯誤情況將帶來不同的影響。一旦發生錯誤,何時、何地、發生什麼情況以及發生的原因是關鍵問題,並必須迅速找到答案(這並不容易)。另一方麵,在處理錯誤問題時,人們必須關注數據的一致性。
以太網已經盛行於很多應用中。采用100 Mbit/s(快速以太網)dewulishujuchuanshu,qiwulishujuchuanshudeqiangjianxingyijingzaigongyelingyudedaozhengshi。yinci,womenxuyaotaolundeshiwulicengzhishangxieyicengdexiaolvjixiangguankekaoxing。
給每個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了le1/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)“隻要沒有變化,保持數值不變”,有助於減少一般的錯誤影響,以及避免捆綁錯誤。
所提到的情況表明,一個周期中的錯誤數量和所得到的控製誤差沒有直接的依賴關係。單獨的錯誤甚至可能比捆綁錯誤還要危險。
獨立幀的方式不能阻止多種錯誤
meigejiedianduiyingyigedandudeshujuzhendechuanshufangshidelingyigewentishicuowugeli。yibanlaishuoyitaiwangkeyibimianchuanboganrao,yinweimeigelianjiediandoushiyouyigeteshudeshoufaqikongzhi。xianzaideyitaiwangwulicengbushizongxianxingde,ershiduidengjiekoudejihe,wulunruhecuowudoukenengchansheng,lirudianyuanganraokeyizaitongyigeshikeyingxiangduogejiedian。lingyigeyoukebixingdecuowuyuanshizaizhijiepingbidefangshizhongbaohudaotidejiechubuliang。suiranEtherCAT不(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。
此外,大多數交換機/橋在接收到正確數據幀後才會轉發(存儲和轉發),這會導致每個接口會接受不同的數據幀,這樣幹擾傳播會影響大量的數據幀。
反饋可以幫助加快錯誤處理
出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:慢速處理多個數據幀的影響
相反地,EtherCATcongzhankeyizhijiejinxingfankui。kuaisudezhuanfashideshurushujuzaishuchushujuchuanshuwanchenghouchuxianzaizhuzhandangzhong。ruguofankuishibai,zhuzhankeyilijikaiqiduiyingchuli,erqiedeyiyuchaoxiaodezhuanfabiandongshidejingquedechaoshichengweikeneng。
原則上,EtherCAT的形式像一個傳統現場總線,可以安排立即重發。因為後者在主站進行更加複雜的錯誤處理,實際過程數據的可用性上需要更多的帶寬(使用EtherCAT隻有15%),或者使用處理器的性能來修複舊的過程數據。EtherCAT更關注短的周期時間,這樣會減少錯誤的可能。
更高的效率可以獲得更短的周期時間和更好的故障排除
最後且同樣重要的是:相比獨立數據幀,EtherCATkeyidadaofeichangduandezhouqishijian,zhedailailegenggaodejingdubingzengjiashujuchulidelubangxing。zheyeshidechanpinjuyougenghaodezhiliangjigengkuaidecuowufanying。tongguojianshaodezhouqishijianlaitigaotigaochanpinzhiliangshifeichanghaodefangfa,shenzhishizaichuxiancuowudeqingkuangxia。ruguomeiyoucuowufashengzezhilianghainengjinyibutisheng。yinci,jishizaiyouganraodehuanjingzhong,EtherCAT也可以成功的運行。

圖4:EtherCAT直接反饋方式
總結
總之,EtherCATshikekaodewangluoshejidejichu,jiangdiledaikuanshiyongliang,congerjianshaolecuowupinlv,kuaisudeshujuzhenzhuanfabimianleganraodechuanbo。deyiyuyitaiwangdeduidenglianjie,fansheheqitaganraobeibimianle,shidecuowugailvjidi,cuowufashengdedifangyehenrongyijiance,congertongxingengkekao。
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


