亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

EtherCAT消息傳輸過程中對瞬時(shí)故障進(jìn)行容錯(cuò)的方法與流程

文檔序號:12739363閱讀:698來源:國知局
EtherCAT消息傳輸過程中對瞬時(shí)故障進(jìn)行容錯(cuò)的方法與流程

本發(fā)明涉及EtherCAT系統(tǒng)中消息調(diào)度技術(shù),尤其涉及一種在滿足系統(tǒng)截止時(shí)限錯(cuò)失率的前提下,通過對EtherCAT系統(tǒng)消息傳輸過程中的瞬時(shí)故障進(jìn)行容錯(cuò)方法,提高系統(tǒng)可靠性的容錯(cuò)算法。



背景技術(shù):

隨著工業(yè)自動(dòng)化技術(shù)和以太網(wǎng)技術(shù)的發(fā)展,已經(jīng)開始將以太網(wǎng)的高速和實(shí)現(xiàn)簡單等特點(diǎn)引入工業(yè)自動(dòng)化控制領(lǐng)域,并制定了相關(guān)的國際標(biāo)準(zhǔn)。這種工業(yè)以太網(wǎng)之所以存在是想要彌補(bǔ)傳統(tǒng)以太網(wǎng)傳輸實(shí)時(shí)性問題,其中EtherCAT作為工業(yè)以太網(wǎng)中較出色的一種,憑借其技術(shù)的開放性、通信的實(shí)時(shí)性和較強(qiáng)的抗干擾性等特點(diǎn)已經(jīng)被企業(yè)和科研機(jī)構(gòu)廣泛關(guān)注。因此,對EtherCAT的研究已經(jīng)成為一個(gè)非常重要的課題。

基于EtherCAT技術(shù)的I/O、控制器、伺服驅(qū)動(dòng)等各種產(chǎn)品正如雨后春筍般涌現(xiàn)。目前EtherCAT已經(jīng)開始應(yīng)用到不同的領(lǐng)域中,例如:無人駕駛汽車、伺服控制器、智能機(jī)器人等。著名的美國綠岸望遠(yuǎn)鏡和德國Kuka公司機(jī)器人控制器均使用了EtherCAT技術(shù)。目前國內(nèi)外對EtherCAT的研究大多集中于EtherCAT網(wǎng)絡(luò)在實(shí)時(shí)控制系統(tǒng)中的實(shí)現(xiàn)及EtherCAT主站或從站的設(shè)計(jì),只有很少的文獻(xiàn)對EtherCAT中消息的調(diào)度進(jìn)行了研究,但它們都沒有研究消息調(diào)度中的容錯(cuò)方法。因此對EtherCAT的容錯(cuò)方法的研究尚處空白。

在實(shí)際的工程應(yīng)用中,因?yàn)橄到y(tǒng)規(guī)模不斷擴(kuò)大,實(shí)時(shí)性要求不斷提高,通信網(wǎng)絡(luò)的可靠性和實(shí)時(shí)性都需迫切提高,因?yàn)樵谧詣?dòng)化通信領(lǐng)域一旦出現(xiàn)故障,帶來的損失將無法估量。因此對工業(yè)實(shí)時(shí)以太網(wǎng)的容錯(cuò)方法的研究是十分必要的。在國內(nèi)外對EtherCAT網(wǎng)絡(luò)消息傳輸過程中的容錯(cuò)方法的研究還處于空白狀態(tài),并且隨著EtherCAT網(wǎng)絡(luò)的應(yīng)用越來越廣泛,對其實(shí)時(shí)性和可靠性的要求將越來越高。因此研究如何提高其實(shí)時(shí)性和可靠性具有現(xiàn)實(shí)意義。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是根據(jù)EtherCAT主從式結(jié)構(gòu)和消息集束幀的方式進(jìn)行飛速傳輸?shù)奶匦裕峁┝艘环NEtherCAT系統(tǒng)中消息調(diào)度時(shí)容忍瞬時(shí)故障的容錯(cuò)方法,以提高周期性消息在EtherCAT系統(tǒng)傳輸時(shí)的實(shí)時(shí)性和可靠性。

實(shí)現(xiàn)本發(fā)明目的的具體技術(shù)方案是:

本發(fā)明提出了一種EtherCAT系統(tǒng)中基于反饋控制的容錯(cuò)機(jī)方法,包括以下步驟:

步驟1:根據(jù)泊松分布計(jì)算消息集Γ中的消息發(fā)生故障的概率,計(jì)算滿足單個(gè)消息可靠性目標(biāo)RGi時(shí)需要的備份數(shù)目ni;

步驟2:將任務(wù)集中的消息按照ni進(jìn)行備份,并在同一數(shù)據(jù)幀中傳輸;

步驟3:消息準(zhǔn)備進(jìn)入PID控制器;

步驟4:準(zhǔn)入控制器AC控制消息是否可以進(jìn)入,并且調(diào)用容錯(cuò)等級控制器調(diào)節(jié)消息的容錯(cuò)等級;

步驟5:統(tǒng)計(jì)消息的截止時(shí)限錯(cuò)失率MissRatio(t),并計(jì)算消息的截止時(shí)限錯(cuò)失率與目標(biāo)值之差ΔMissRatio(t);

步驟6:;當(dāng)ΔMissRatio(t)<ε時(shí)不斷調(diào)整消息調(diào)度,根據(jù)相關(guān)參考文獻(xiàn),令ε取值為0.05;所述步驟1具體包括:

步驟A1:確定消息在鏈路上的失效率λL,λL(t)=λL=const;確定消息在結(jié)點(diǎn)上的平均故障到達(dá)概率λN,λN=γ*e-αf,其中γ和α都是常數(shù),f是處理器發(fā)送消息的頻率,e為自然對數(shù)的底;

步驟A2:根據(jù)平均故障到達(dá)概率λN和失效率λL以及消息的長度Li對單個(gè)消息在結(jié)點(diǎn)成功發(fā)送的概率和鏈路傳輸成功的概率進(jìn)行計(jì)算;

步驟A3:計(jì)算消息滿足其可靠性目標(biāo)RGi時(shí),需要進(jìn)行備份的數(shù)目ni;

步驟A4:計(jì)算消息在ni個(gè)備份數(shù)目下的連通可靠性和網(wǎng)絡(luò)利用率。

所述步驟6具體包括:

步驟B1:消息進(jìn)入PID控制器,將消息的截止時(shí)限錯(cuò)失率與目標(biāo)值之差ΔMissRatio(t)轉(zhuǎn)化為網(wǎng)絡(luò)利用率改變量ΔCPU(t);

步驟B2:如果ΔCPU(t)<0,調(diào)節(jié)容錯(cuò)等級控制器適應(yīng)網(wǎng)絡(luò)利用率,并計(jì)算減少的最大值ΔCPU(t)i;如果ΔCPU(t)>0,調(diào)節(jié)容錯(cuò)等級控制器適應(yīng)網(wǎng)絡(luò)利用率,并計(jì)算增加的最大值ΔCPU(t)i,如果容錯(cuò)等級控制器改變的網(wǎng)絡(luò)利用率量不足以適應(yīng)全部的改變量,還需要調(diào)用準(zhǔn)入控制器;

其中,調(diào)節(jié)容錯(cuò)等級控制器適應(yīng)網(wǎng)絡(luò)利用率的過程為:

步驟C1:首先判斷網(wǎng)絡(luò)利用率改變量是否為正,即ΔCPU(t)≥0是否成立,得出需要提高或降低消息的容錯(cuò)等級;

步驟C2:計(jì)算消息mi在最高容錯(cuò)等級Fi,max時(shí)的網(wǎng)絡(luò)利用率Ui,max和消息的網(wǎng)絡(luò)利用率可改變量△Ui,得到所有消息占用的網(wǎng)絡(luò)利用率改變量的總和為Σ△Ui;

步驟C3:根據(jù)Σ△Ui與ΔCPU(t)的大小來判斷提高或降低當(dāng)前隊(duì)列中的消息的容錯(cuò)等級Fi,k是否滿足消息的網(wǎng)絡(luò)利用率的改變量;

步驟C4:使用博弈論方法分配網(wǎng)絡(luò)利用率,計(jì)算出提高或降低哪些消息的容錯(cuò)等級和將容錯(cuò)等級提高或降低至多少滿足系統(tǒng)要求;

步驟C5:然后返回容錯(cuò)等級控制器調(diào)節(jié)的網(wǎng)絡(luò)利用率改變量;

其中,調(diào)用準(zhǔn)入控制器的過程為:

步驟D1:當(dāng)容錯(cuò)等級控制器不足以適應(yīng)網(wǎng)絡(luò)利用率改變量ΔCPU(t)時(shí),準(zhǔn)入控制器會(huì)發(fā)揮其調(diào)節(jié)網(wǎng)絡(luò)利用率的功能,且準(zhǔn)入控制器調(diào)節(jié)的網(wǎng)絡(luò)利用率的大小為ΔCPU(t)0=ΔCPU(t)-ΔCPU(t)i;

步驟D2:使用EDF算法對消息發(fā)送和傳輸順序進(jìn)行排序,根據(jù)消息距離截止時(shí)限的長度確定消息的優(yōu)先級,消息距離截止時(shí)限的長度越小,消息的優(yōu)先級相對較高;

步驟D3:如果消息mi滿足CPU(t)+Ui,0<1,則計(jì)算消息在各容錯(cuò)等級下的利用率Ui,k;

步驟D4:將消息mi送入就緒隊(duì)列,并選擇最高的容錯(cuò)版本。

所述步驟C4具體包括:

步驟E1:將網(wǎng)絡(luò)利用率的分配抽象為一個(gè)帶約束的優(yōu)化問題;

步驟E2:使用拉格朗日乘子法解決E1中的優(yōu)化問題,并使用該方法計(jì)算出消息的備份個(gè)數(shù)的改變量△ni;

本發(fā)明既考慮了系統(tǒng)整體的可靠性要求,又滿足了單個(gè)消息的可靠性目標(biāo)。通過向EtherCAT系統(tǒng)中引入控制反饋系統(tǒng),可以在消息滿足其截止時(shí)限錯(cuò)失率的情況下,使系統(tǒng)整體可靠性最高。

附圖說明

圖1為實(shí)施本發(fā)明的反饋控制系統(tǒng)(FC-EDF-PB)結(jié)構(gòu)圖;

圖2為本發(fā)明流程圖;

圖3為本發(fā)明與無容錯(cuò)方法和被動(dòng)備份容錯(cuò)方法在系統(tǒng)可靠性方面的對比圖。

具體實(shí)施方式

結(jié)合以下具體實(shí)施例和附圖,對本發(fā)明作進(jìn)一步的詳細(xì)說明。實(shí)施本發(fā)明的過程、條件、實(shí)驗(yàn)方法等,除以下專門提及的內(nèi)容之外,均為本領(lǐng)域的普遍知識和公知常識,本發(fā)明沒有特別限制內(nèi)容。

本發(fā)明適用于實(shí)時(shí)以太網(wǎng)EtherCAT系統(tǒng),該系統(tǒng)是由主站和從站設(shè)備通過標(biāo)準(zhǔn)以太網(wǎng)線纜連接而成,其介質(zhì)訪問控制方式采用了主從模式,主站負(fù)責(zé)發(fā)送和控制消息,而從站只負(fù)責(zé)接收消息,消息經(jīng)過所有從站后會(huì)回到主站。EtherCAT系統(tǒng)消息傳輸?shù)膬蓚€(gè)特點(diǎn)分別是集束幀和飛速傳輸,主站將同周期內(nèi)需要傳輸?shù)膱?bào)文添加到同一個(gè)幀中發(fā)送,發(fā)送過程采用飛速傳輸(“on the fly”)的方式將報(bào)文傳遞到從站,從而實(shí)現(xiàn)數(shù)據(jù)的傳輸。

本發(fā)明所使用的消息集Γ由N個(gè)獨(dú)立的實(shí)時(shí)消息{τ12,…,τN}所構(gòu)成。即所有消息都是實(shí)時(shí)的、非搶占的、其請求都是周期性的、并且消息的執(zhí)行順序相互獨(dú)立。消息τi可以用一個(gè)元組{I,T,L,D,F,U,RG}表示。每個(gè)消息τi有至少一個(gè)邏輯版本Ii=(τi,0i,1,……,τi,k),每個(gè)邏輯版本的區(qū)別在于每個(gè)消息擁有的備份個(gè)數(shù)不同。備份(back-up)即消息的副本,它擁有和主消息相同的內(nèi)容,且會(huì)在主消息之后發(fā)送。所以不同的邏輯版本代表了不同的容錯(cuò)等級Fi=(Fi,0,Fi,1,……,Fi,k),消息τi在容錯(cuò)等級Fi=Fi,0時(shí),沒有備份;隨著消息τi的容錯(cuò)等級越高,每個(gè)消息擁有的備份越多,即容錯(cuò)等級Fi=Fi,k時(shí),消息擁有K個(gè)副本。

因此需要計(jì)算消息在不同容錯(cuò)等級下的網(wǎng)絡(luò)利用率。Ui則表示每個(gè)消息在不同容錯(cuò)等級下占用的網(wǎng)絡(luò)利用率Ui=(Ui,1,Ui,2,……,Ui,k),消息最初的容錯(cuò)等級由消息的可靠性目標(biāo)RGi確定,Ti表示消息τi的周期,Li表示消息τi的長度,Di表示消息τi的截止時(shí)間,RGi表示消息τi的可靠性目標(biāo)。本發(fā)明適用的故障類型為瞬時(shí)故障。

工業(yè)以太網(wǎng)的基本可靠性表現(xiàn)為連通可靠性,連通可靠性分為結(jié)點(diǎn)的可靠性和鏈路的可靠性。這里以環(huán)形拓?fù)浣Y(jié)構(gòu)為例分析EtherCAT系統(tǒng)的整體可靠性。因?yàn)镋therCAT系統(tǒng)中的消息在節(jié)點(diǎn)和鏈路中均可能發(fā)生瞬時(shí)故障,所以將對故障在這兩部分發(fā)生的概率分別進(jìn)行預(yù)測。

本發(fā)明考慮到消息傳輸?shù)膶?shí)時(shí)性和EtherCAT網(wǎng)絡(luò)的特性,采取主動(dòng)備份的方法,即根據(jù)消息的連通可靠性和可靠性目標(biāo)計(jì)算出消息可靠性達(dá)到目標(biāo)值的情況下需要的備份個(gè)數(shù)。消息在結(jié)點(diǎn)處理的過程相當(dāng)于處理器的執(zhí)行任務(wù)的過程,因此故障發(fā)生的概率使用泊松分布來模擬。λN表示消息的平均故障到達(dá)概率:

λN=γ*e-αf

式中γ和α都是常數(shù),f是處理器發(fā)送消息的頻率,e為自然對數(shù)的底。處理器發(fā)送單個(gè)消息的時(shí)間用WNi表示,因?yàn)橄⒌拈L度為Li,因此消息的執(zhí)行時(shí)間可以通過計(jì)算得出:WNi=Li*f。

在已經(jīng)知道消息的平均故障到達(dá)概率和消息執(zhí)行時(shí)間的情況下,可以計(jì)算消息在結(jié)點(diǎn)發(fā)生故障的概率。每條消息發(fā)生k個(gè)故障的概率為:

P(k)=(λN*WNi)^k*e^(-λN*WNi)/k! (1)

其中,e為自然對數(shù)的底,每個(gè)消息τi發(fā)送成功的概率為:

P(k=0)=e^(-λN*WNi) (2)

因?yàn)樵贓therCAT系統(tǒng)的主從結(jié)構(gòu)中,每條消息會(huì)經(jīng)過整個(gè)網(wǎng)絡(luò)的所有結(jié)點(diǎn)(主站和從站),假設(shè)整條網(wǎng)絡(luò)的結(jié)點(diǎn)個(gè)數(shù)為h,那么單個(gè)消息τi在h個(gè)結(jié)點(diǎn)中均成功發(fā)送的概率為:

Ph=e^(-h*λN*WNi) (3)

假設(shè)每個(gè)消息τi備份的個(gè)數(shù)為ni,那么擁有ni個(gè)備份的消息的可靠性為:

因?yàn)橄⒓V杏蠳個(gè)消息,每個(gè)消息有ni個(gè)備份,所有消息在所有結(jié)點(diǎn)組成的系統(tǒng)中的可靠性為:

其中,影響鏈路中消息可靠性的主要因素是數(shù)據(jù)傳輸錯(cuò)誤,本發(fā)明將采用通過失效率的方法計(jì)算鏈路中消息的可靠性。失效率λL(t)通過對時(shí)間t求導(dǎo)為:

λL(t)=(d(1-R(t))/dt)/2R(t)=-dInR(t)/dt (6)

失效率λL(t)函數(shù)有三種類型:隨著時(shí)間的增長而增長、隨著時(shí)間的增長而下降和隨著時(shí)間的增長沒有變化。此處分析時(shí)取后面一種,即

λL(t)=λL=const (7)

因此單個(gè)消息的鏈路可靠性Pl為:

Pl=e^(-m*λL*WLi) (8)

其中m為網(wǎng)絡(luò)中的鏈路個(gè)數(shù),在主從式環(huán)形EtherCAT系統(tǒng)中,鏈路個(gè)數(shù)m與結(jié)點(diǎn)個(gè)數(shù)h一般相同,即m=h,WLi為消息在鏈路中的傳輸時(shí)間。

每個(gè)消息的連通可靠性P為:

有ni個(gè)備份的消息τi在鏈路和結(jié)點(diǎn)上的整體可靠性R為:

因此整個(gè)系統(tǒng)的連通可靠性RS為:

每個(gè)消息τi都有其對應(yīng)的可靠性要求RGi,當(dāng)R>=RGi時(shí),可以求出消息τi滿足其可靠性要求需要傳遞的最小的副本個(gè)數(shù)Ci_min,當(dāng)R=1時(shí)Ci_max表示消息τi能傳遞的備份個(gè)數(shù)的上限。因此將擁有最小的備份個(gè)數(shù)Ci_min的消息的容錯(cuò)等級定為Fi,Ci_min,將擁有Ci_min+1個(gè)備份的消息的容錯(cuò)等級為Fi,Ci_min+1,以此類推,直到備份個(gè)數(shù)為ci_max時(shí)容錯(cuò)等級為Fi,Ci_max。消息的容錯(cuò)等級越高,消息的備份個(gè)數(shù)越多,EtherCAT系統(tǒng)可靠性也越高。

參閱圖1,該圖為實(shí)施本發(fā)明的有容錯(cuò)功能的反饋控制系統(tǒng)(FC-EDF-PB系統(tǒng)),它包括PID控制器、EDF調(diào)度器、容錯(cuò)等級控制器(FLC)和準(zhǔn)入控制器(AC)。

其中,PID控制器將截止時(shí)限錯(cuò)失率與截止時(shí)限錯(cuò)失率目標(biāo)值之差轉(zhuǎn)化為需要改變的網(wǎng)絡(luò)利用率ΔCPU(t),從而通過調(diào)節(jié)網(wǎng)絡(luò)利用率使截止時(shí)限錯(cuò)失率維持在一定范圍。PID控制器接收到的誤差量為ΔMissRatio(t),該值是周期釆樣的,采樣周期為消息周期的最小公倍數(shù),即超周期,ΔCPU(t)如下式計(jì)算:

式中,Cp,CI,CD為可調(diào)節(jié)的參數(shù),IW為計(jì)算誤差的時(shí)間窗口,DW為誤差的微分時(shí)間窗口。PID控制器輸出的ΔCPU(t)表示當(dāng)前的網(wǎng)絡(luò)利用率需要改變的量,它將該值傳遞給容錯(cuò)等級控制器,容錯(cuò)等級控制器再根據(jù)ΔCPU(t)調(diào)節(jié)網(wǎng)絡(luò)的利用率。

本發(fā)明采用了博弈論的方法分配網(wǎng)絡(luò)利用率,從而使系統(tǒng)總的可靠性最高。在分配網(wǎng)絡(luò)利用率時(shí)要同時(shí)考慮系統(tǒng)整體的可靠性,單個(gè)消息的可靠性,以及就緒隊(duì)列中消息占有的網(wǎng)絡(luò)利用率的公平性。這種從整體出發(fā)又兼顧個(gè)體的模型可以用合作博弈來描述,在合作博弈中,整體利益和個(gè)體的利益會(huì)達(dá)到一種平衡。就緒隊(duì)列中有N個(gè)消息,N個(gè)消息對有限的可用網(wǎng)絡(luò)利用率ΔCPU(t)進(jìn)行競爭??梢詫⒚總€(gè)消息的可靠性作為效用函數(shù)f(R):

因?yàn)楸景l(fā)明考慮的是混合關(guān)鍵性消息,因此每個(gè)消息都有一個(gè)最低的可靠性目標(biāo)RGi,每個(gè)消息要滿足最低容錯(cuò)等級,即每個(gè)消息擁有至少Ci_min個(gè)副本。因此假設(shè)ΔCPU(t)>0,即可以分配的網(wǎng)絡(luò)利用率為正,所以N個(gè)消息最終的可靠性都會(huì)嚴(yán)格優(yōu)于初始可靠性。公式表示,消息的備份個(gè)數(shù)越多,其對應(yīng)的可靠性就越高,所以消息希望自己得到更多的備份。由于可以改變的網(wǎng)絡(luò)利用率是有限的,所以消息不僅要考慮其自身也需要為整個(gè)系統(tǒng)考慮。消息與消息之間需要競爭也需要合作,因?yàn)榧认脒_(dá)到單個(gè)消息的可靠性目標(biāo)又想使系統(tǒng)整體可靠性較高,也就是既要整體的效用值比較高(系統(tǒng)的可靠性),又兼顧每個(gè)消息自身的可靠性(每個(gè)消息的可靠性也相對較高)。

所以,基于合作博弈的網(wǎng)絡(luò)利用率分配問題可描述為:一段時(shí)間需要調(diào)整的網(wǎng)絡(luò)利用率為ΔCPU(t),每個(gè)消息的可靠性目標(biāo)為RGi,N個(gè)消息既合作又競爭,最終會(huì)得到一個(gè)兼顧效率與公平的網(wǎng)絡(luò)利用率分配方案(即納什討價(jià)還價(jià)解),以上過程可以被抽象為一個(gè)帶約束的優(yōu)化問題(稱為原問題):

等價(jià)于:

問題可以轉(zhuǎn)化為:

構(gòu)造函數(shù)L1為

對于上述優(yōu)化問題,可以使用拉格朗日乘子法解決,對應(yīng)的拉格朗日函數(shù)L為:

其中α為拉格朗日乘子。

上式對Δni進(jìn)行求導(dǎo),求導(dǎo)后公式為:

因此使用上述方法分配網(wǎng)絡(luò)利用率改變量后,此時(shí)每個(gè)消息τi的備份個(gè)數(shù)應(yīng)該為ni+Δni

其中:

因?yàn)樽兞縍Gi,WNi,WLi,Ti,ni等參數(shù)均為已知,只有α一個(gè)未知變量,α為拉格朗日乘子,其取值范圍為[0,1],因此可以求出Δni的解。通過公式(18)即可求得最優(yōu)的網(wǎng)絡(luò)利用率分配方案,從而提高系統(tǒng)的可靠性。

實(shí)施例

本實(shí)驗(yàn)中任務(wù)集定為Γ={τ123,…,τ10},在統(tǒng)計(jì)系統(tǒng)截止時(shí)限錯(cuò)失率時(shí)將隨機(jī)產(chǎn)生100個(gè)任務(wù)集的樣本。每個(gè)任務(wù)集中消息τi可以用一個(gè)元組{I,T,L,D,F,U,RG}表示。任務(wù)的可靠性目標(biāo)RG=0.9999,假設(shè)該任務(wù)集含有10個(gè)周期性消息,該任務(wù)集中消息的長度分別為L={52,25,58,50,69,100,68,34,124,102}byte。消息的傳輸或執(zhí)行速率為C=100*1024*1024byte/s,因此消息的傳輸或執(zhí)行時(shí)間為WN=WL={3.97,1.91,4.43,3.82,5.27,7.63,5.19,2.6,9.47,7.79}μs,該任務(wù)集中消息的傳輸周期為T=100μs,根據(jù)故障到達(dá)概率符和泊松分布,故障到達(dá)速率λ=0.01。本實(shí)驗(yàn)選取的拓?fù)浣Y(jié)構(gòu)為環(huán)形,其網(wǎng)絡(luò)規(guī)模有兩種,第一種包含10個(gè)從站,即網(wǎng)絡(luò)拓?fù)?;第二種含有20個(gè)從站,即網(wǎng)絡(luò)拓?fù)?;因?yàn)閮煞N網(wǎng)絡(luò)拓?fù)渲蠩therCAT系統(tǒng)中的從站數(shù)目不同,所以消息在兩種網(wǎng)絡(luò)拓?fù)渲袀鬏數(shù)臅r(shí)間不同,即m=h=10或20。這些參數(shù)作為調(diào)度方法的輸入。

表1列出了需要定義和設(shè)置的具體參數(shù),表2展示了表1中參數(shù)對應(yīng)的取值或取值范圍。

表1仿真過程中需要用到的參數(shù)

本發(fā)明采用了根據(jù)預(yù)測的可靠性以主動(dòng)備份的方式進(jìn)行容錯(cuò),并使用PID控制器通過截止時(shí)限錯(cuò)失率動(dòng)態(tài)調(diào)節(jié)利用率。參考實(shí)驗(yàn)選取經(jīng)典的被動(dòng)備份容錯(cuò)方法,即對消息的備份不是發(fā)生在消息主版本發(fā)送階段,而是先發(fā)送消息的主版本,然后檢測消息是否發(fā)生故障,如果消息傳輸失敗,則再發(fā)送消息的副本,且副本只發(fā)送一次。

表2仿真過程中的參數(shù)取值

步驟1:根據(jù)泊松分布計(jì)算消息集Γ中的消息發(fā)生故障的概率,計(jì)算滿足單個(gè)消息可靠性目標(biāo)RGi時(shí)需要的備份數(shù)目ni;

根據(jù)試驗(yàn)中給出的任務(wù)集及傳輸參數(shù),計(jì)算任務(wù)集中消息滿足其可靠性需要進(jìn)行備份的個(gè)數(shù),因此ni={0,0,0,0,1,1,1,0,1,1}。

步驟2:將任務(wù)集中的消息按照ni進(jìn)行備份,并在同一數(shù)據(jù)幀中傳輸;

步驟3:消息準(zhǔn)備進(jìn)入PID控制器;

步驟4:準(zhǔn)入控制器AC控制消息是否可以進(jìn)入,并且調(diào)用容錯(cuò)等級控制器調(diào)節(jié)消息的容錯(cuò)等級;

步驟5:統(tǒng)計(jì)消息的截止時(shí)限錯(cuò)失率MissRatio(t),并計(jì)算消息的截止時(shí)限錯(cuò)失率與目標(biāo)值之差ΔMissRatio(t);

在該仿真模型中沒有考慮電纜的傳輸延遲,因?yàn)殡娎|傳輸延遲在各種數(shù)據(jù)幀傳輸?shù)娜蒎e(cuò)方法中都是相同的,它只跟各節(jié)點(diǎn)之間的電纜的長度有關(guān)。該仿真模型判定的標(biāo)準(zhǔn)是比較仿真網(wǎng)絡(luò)的傳輸時(shí)間,該傳輸時(shí)間的計(jì)算使用公式如下:

Teth是傳輸EtherCAT頭部和幀檢查序列(Frame Check Sequence)的時(shí)間;Tetc是EtherCAT頭部的傳輸時(shí)間;L是報(bào)文的數(shù)量;Tto是報(bào)文頭部和工作計(jì)數(shù)的傳輸時(shí)間;Tct(i)是傳輸?shù)趇個(gè)報(bào)文必須的時(shí)間;M是從站的數(shù)量;Tsv是從站處理EtherCAT幀的時(shí)間;Tif表示幀間距。因此有備份的消息的傳輸時(shí)間為Tc*(1+Δni),然后統(tǒng)計(jì)所有樣本中該值大于消息的周期T的個(gè)數(shù),從而得到消息的截止時(shí)限錯(cuò)失率。

將消息的截止時(shí)限錯(cuò)失率目標(biāo)值MissRatio(t)0設(shè)定為2%,計(jì)算消息的截止時(shí)限錯(cuò)失率與目標(biāo)值之差ΔMissRatio(t)=MissRatio(t)-MissRatio(t)0。

步驟6:;當(dāng)ΔMissRatio(t)<ε時(shí)不斷調(diào)整消息調(diào)度,根據(jù)相關(guān)參考文獻(xiàn),令ε取值為0.05;

將步驟5得到的誤差值ΔMissRatio(t)輸入PID控制器,控制器根據(jù)公式(13)計(jì)算出網(wǎng)絡(luò)利用率改變量,PID控制器具體參數(shù)表2已給出。計(jì)算得到的網(wǎng)絡(luò)利用率改變量利用博弈論的思想來分配,具體分配方法請參考基于合作博弈的網(wǎng)絡(luò)利用率分配問題講解。

下面通過實(shí)驗(yàn)來驗(yàn)證本發(fā)明提高系統(tǒng)可靠性的效果。為了使實(shí)驗(yàn)數(shù)據(jù)更加充分,增加了對比試驗(yàn)。對比試驗(yàn)有兩種,一種是無備份的情況,另一種是被動(dòng)備份的情況。被動(dòng)備份是指在消息執(zhí)行完成時(shí),檢查消息是否正確執(zhí)行,否則繼續(xù)執(zhí)行消息的備份。下面來分別驗(yàn)證。

本發(fā)明中的故障預(yù)測算法實(shí)驗(yàn)分別在上文介紹的兩種不同的網(wǎng)絡(luò)拓?fù)渲羞M(jìn)行,并且在不同的網(wǎng)絡(luò)拓?fù)渲惺褂昧巳N不同的任務(wù)集,即任務(wù)集中任務(wù)的數(shù)量為N={5,10,20}。首先計(jì)算消息在節(jié)點(diǎn)執(zhí)行失敗的概率和可靠性,然后計(jì)算消息在鏈路傳輸失敗的概率和可靠性,根據(jù)設(shè)定的單個(gè)消息的可靠性目標(biāo),對消息備份的個(gè)數(shù)進(jìn)行計(jì)算。然后根據(jù)計(jì)算的備份進(jìn)行消息傳輸,并得出消息的截止時(shí)限錯(cuò)失率Missrate(t)、網(wǎng)絡(luò)利用率CPU(t)和系統(tǒng)的可靠性Rs,并且跟消息在無備份的情況做對比;其中Missrate(t)、CPU(t)和Rs分別代表無備份方法的消息截止時(shí)限錯(cuò)失率、網(wǎng)絡(luò)利用率和系統(tǒng)可靠性;Missrate(t)*、CPU(t)*和Rs*分別代表本發(fā)明的故障預(yù)測方法的消息截止時(shí)限錯(cuò)失率、網(wǎng)絡(luò)利用率和系統(tǒng)可靠性;對比結(jié)果如下所示:

表3故障預(yù)測算法實(shí)驗(yàn)_本發(fā)明的故障預(yù)測備份方法與無備份方法的實(shí)驗(yàn)數(shù)據(jù)對比

僅采用本發(fā)明的故障預(yù)測備份方法,系統(tǒng)的可靠性和網(wǎng)絡(luò)利用率有了大幅度的提高,但是系統(tǒng)的截止時(shí)限錯(cuò)失率有所增加,因此本發(fā)明采用了控制反饋方法對截止時(shí)限錯(cuò)失率進(jìn)行檢測,并設(shè)計(jì)了一個(gè)閉環(huán)系統(tǒng),可以對截止時(shí)限錯(cuò)失率進(jìn)行控制。并且能夠在保證截止時(shí)限錯(cuò)失率在合理范圍內(nèi)時(shí),使系統(tǒng)的可靠性和網(wǎng)絡(luò)利用率都處在較高水平。

本發(fā)明中的反饋控制算法實(shí)驗(yàn)分別在上文介紹的兩種不同的網(wǎng)絡(luò)拓?fù)渲羞M(jìn)行,并且在不同的網(wǎng)絡(luò)拓?fù)渲惺褂昧巳N不同的任務(wù)集,即任務(wù)集中任務(wù)的數(shù)量為N={5,10,20}。本實(shí)施例將基于控制反饋的容錯(cuò)方法與無備份方法和被動(dòng)備份方法做對比。其中Missrate(t)、CPU(t)和Rs分別表示無備份情況下的截止時(shí)限錯(cuò)失率、網(wǎng)絡(luò)利用率和系統(tǒng)可靠性;Missrate(t)’、CPU(t)'和Rs'分別表示被動(dòng)備份情況下的截止時(shí)限錯(cuò)失率、網(wǎng)絡(luò)利用率和系統(tǒng)可靠性;FC-Missrate(t)、FC-CPU(t)和FC-Rs分別表示采用了控制反饋方法時(shí)的截止時(shí)限錯(cuò)失率、網(wǎng)絡(luò)利用率和系統(tǒng)可靠性。

表4反饋控制算法實(shí)驗(yàn)_本發(fā)明的反饋控制算法、無備份方法和被動(dòng)備份方法的實(shí)驗(yàn)數(shù)據(jù)對比

在兩種網(wǎng)絡(luò)拓?fù)湎?,本發(fā)明具有較好的性能。無備份情況下,雖然系統(tǒng)截止時(shí)限錯(cuò)失率較低,但是可靠性和網(wǎng)絡(luò)利用率較低,而被動(dòng)備份情況下,雖然可靠性和網(wǎng)絡(luò)利用率有一定的提高,但是無法控制系統(tǒng)的截止時(shí)限錯(cuò)失率,因此不適合系統(tǒng)負(fù)載發(fā)生變化的情況。而本發(fā)明可以在損失較少的網(wǎng)絡(luò)利用率和可靠性的情況下將截止時(shí)限錯(cuò)失率維持在一個(gè)合理的范圍,實(shí)現(xiàn)在保證截止時(shí)限錯(cuò)失率的情況下,整個(gè)系統(tǒng)擁有較高的可靠性,能夠適應(yīng)系統(tǒng)負(fù)載發(fā)生變化的情況,因此整個(gè)系統(tǒng)具有較高的可靠性和穩(wěn)定性。

本發(fā)明中的博弈論分配利用率算法實(shí)驗(yàn)會(huì)根據(jù)截止時(shí)限錯(cuò)失率情況動(dòng)態(tài)調(diào)節(jié)網(wǎng)絡(luò)利用率,而調(diào)節(jié)網(wǎng)絡(luò)利用率的具體做法是使用基于博弈論的分配方法。為了使單個(gè)消息滿足可靠性要求的同時(shí),系統(tǒng)整體的可靠性還可以處在較高水平,該部分實(shí)驗(yàn)選取了普通的平均分配網(wǎng)絡(luò)利用率方法做對比。在本節(jié)試驗(yàn)中假設(shè)ΔCPU(t)>0,ΔCPU(t)的取值為{15%,20%,25%,30%}時(shí),計(jì)算系統(tǒng)整體的可靠性,如下表所示:

表5博弈論分配利用率算法實(shí)驗(yàn)_本發(fā)明的博弈論方法、平均分配利用率方法和不采用任何網(wǎng)絡(luò)利用率分配方法的實(shí)驗(yàn)數(shù)據(jù)對比

通過以上對比試驗(yàn),不難發(fā)現(xiàn),當(dāng)同一任務(wù)集,并且ΔCPU(t)值相同的情況下,基于本發(fā)明的分配方法下的系統(tǒng)可靠性明顯高于平均分配方法下的系統(tǒng)可靠性。

圖3給出了不同消息集中消息采用無備份方法、被動(dòng)備份方法及本發(fā)明在系統(tǒng)可靠性方面的實(shí)驗(yàn)結(jié)果。本發(fā)明提出的預(yù)測故障備份方法比無備份容錯(cuò)方法的系統(tǒng)可靠性提高了8%-13%;本發(fā)明中的基于控制反饋的容錯(cuò)算法的可靠性與采用被動(dòng)備份的方法基本相當(dāng),略低1%;本發(fā)明中的博弈論方法分配網(wǎng)絡(luò)利用率的實(shí)驗(yàn)與平均分配網(wǎng)絡(luò)利用率方法相比:在利用率改變量相同的情況下,基于本發(fā)明中的博弈論的網(wǎng)絡(luò)利用率分配方案比普通平均分配方案高出4%-10%。

通過上述兩種網(wǎng)絡(luò)拓?fù)湎碌膶?shí)驗(yàn)數(shù)據(jù),能夠很清楚的看出本發(fā)明無論是在提高系統(tǒng)可靠性方面,還是在維持消息截止時(shí)限錯(cuò)失率方面,都具有很好的性能。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1