專利名稱:一種環(huán)形冗余的實時以太網(wǎng)通訊方法
技術領域:
本發(fā)明涉及一種環(huán)形冗余的實時以太網(wǎng)通訊方法。
背景技術:
將以太網(wǎng)應用到現(xiàn)場級通訊的工業(yè)以太網(wǎng)技術已然成為工業(yè)控制網(wǎng)絡的發(fā)展方向。但工業(yè)控制的特殊性對網(wǎng)絡系統(tǒng)的實時性、確定性、可靠性等提出了更高的要求。以太網(wǎng)具有非常靈活的拓撲結構,在工業(yè)控制領域,鏈狀結構以其結構簡單,維護方便等特點被眾多的工業(yè)以太網(wǎng)廠商所采用。但由于在工業(yè)現(xiàn)場中,環(huán)境因素比較復雜,網(wǎng)絡系統(tǒng)要接受來自電磁設備的干擾和周圍環(huán)境溫度、濕度、震動的影響。這都有可能會造成網(wǎng)絡系統(tǒng)的故障,而鏈狀網(wǎng)絡中任何一個從節(jié)點出現(xiàn)問題都有可能造成后面從節(jié)點的失效,甚至是整個系統(tǒng)的癱瘓。所以作為設備間信息傳遞通道,網(wǎng)絡系統(tǒng)的可靠性尤為值得注
o網(wǎng)絡系統(tǒng)的可靠性還包括數(shù)據(jù)傳輸?shù)目煽啃?,通訊中存在的誤碼傳輸問題,也會對網(wǎng)絡系統(tǒng)的運行產(chǎn)生重要影響。鏈狀網(wǎng)絡往往采取上發(fā)錯誤報告,向主節(jié)點申請數(shù)據(jù)重發(fā)的方式來解決此類問題,但是這種方式會加重主節(jié)點工作負擔,并且因重發(fā)帶來的延時難以滿足對通訊實時性要求嚴格的應用。申請人:在先申請了 “一種鏈狀以太網(wǎng)節(jié)點間的實時同步及動態(tài)補償方法”其步驟為第一步,主節(jié)點開始對各從節(jié)點進行枚舉;第二步,以從節(jié)點中的第一個節(jié)點作為0節(jié)點,0節(jié)點啟動周期定時器,并用周期發(fā)送同步包的方式實施對總線周期的管理;第三步,同步包啟動從節(jié)點的延時測量模塊計時并繼續(xù)向下轉發(fā),直至最末尾的從節(jié)點;第四步,末節(jié)點組建標準以太網(wǎng)數(shù)據(jù)包并上傳;第五步,從節(jié)點接收到返回包停止計時,并以測量值的一半為初始值啟動本地分布時鐘;第六步,從節(jié)點在接收完控制數(shù)據(jù)之后,等待同步時鐘計時到相同的時刻產(chǎn)生同步信號,執(zhí)行相應的動作,并鎖存當前狀態(tài),等待上傳。但如上所述,針對網(wǎng)絡通訊中可能存在的誤碼傳輸問題,鏈狀網(wǎng)絡只能采取數(shù)據(jù)重發(fā)機制,這會降低網(wǎng)絡通訊效率,增加主節(jié)點通訊負擔,并且在某些實時性要求較高的場合可能會引起系統(tǒng)故障;而且鏈狀網(wǎng)絡如果中間連接斷開或某個從節(jié)點出現(xiàn)故障,會導致整個鏈狀網(wǎng)絡的癱瘓,造成比較嚴重的生產(chǎn)事故。
發(fā)明內(nèi)容
本發(fā)明的目的就是為解決上述問題,提供一種環(huán)形冗余的實時以太網(wǎng)通訊方法,該環(huán)形以太網(wǎng)在兼容原鏈狀網(wǎng)絡的前提下,通過數(shù)據(jù)冗余和通訊線路冗余的方式提高系統(tǒng)的可靠性,其通訊末節(jié)點的自動仲裁機制兼容鏈狀網(wǎng)絡,采用冗余數(shù)據(jù)發(fā)送的方式降低誤碼傳輸帶來的影響,并且在中間網(wǎng)絡斷開或節(jié)點故障之后能自動組成兩個鏈狀網(wǎng)絡維持系統(tǒng)的正常運行,從而大大提高了系統(tǒng)的可靠性,降低因錯誤數(shù)據(jù)傳輸導致系統(tǒng)故障的概率,使網(wǎng)絡即使在中間斷開的情況下依然能保證通訊的正常進行。為實現(xiàn)上述目的,本發(fā)明采用如下技術方案
一種環(huán)形冗余的實時以太網(wǎng)通訊方法,在網(wǎng)絡中至少包含一個主節(jié)點和若干個從節(jié)點,每個節(jié)點均有A、B兩個標準的以太網(wǎng)網(wǎng)口,網(wǎng)線從主節(jié)點的A網(wǎng)口開始,將各從節(jié)點級聯(lián)起來,最后連接到主節(jié)點的B網(wǎng)口形成一個環(huán)形網(wǎng)絡回路,環(huán)形網(wǎng)絡采用末從節(jié)點自動仲裁機制來兼容鏈狀以太網(wǎng),并以此實現(xiàn)網(wǎng)絡斷開后的自恢復,整個通訊過程分為枚舉、配置和周期性通訊三個階段;I)系統(tǒng)上電后,各從節(jié)點會自動檢測自己兩個網(wǎng)口的連接狀態(tài),如果某個從節(jié)點檢測到自己B側網(wǎng)絡沒有連接則自動識別為末節(jié)點,系統(tǒng)按照專利所述鏈狀網(wǎng)絡進行通訊;如果所有從節(jié)點兩端網(wǎng)絡連接均正常,則按照環(huán)形網(wǎng)絡通訊;2)進入枚舉階段,主節(jié)點發(fā)出的枚舉數(shù)據(jù)包會沿網(wǎng)絡回路從B網(wǎng)口返回到主節(jié)點,為使B網(wǎng)口能接收到返回的數(shù)據(jù),枚舉數(shù)據(jù)采用廣播的形式;
3)配置階段,主節(jié)點將網(wǎng)絡中存在的從節(jié)點個數(shù)發(fā)送到網(wǎng)絡上,從節(jié)點依此來判定自己在網(wǎng)絡中的位置;如果檢測到自己是末從節(jié)點則在接收到同步包之后負責起啟動數(shù)據(jù)上傳的任務首先末節(jié)點將自己的節(jié)點類型封裝在一個標準的廣播包中,然后由自己的A網(wǎng)口開始發(fā)起上傳,該數(shù)據(jù)巾貞經(jīng)過前面的每個從節(jié)點時,該從節(jié)點都會動態(tài)修改巾貞的長度,并將自己的節(jié)點信息追加到以太網(wǎng)幀的末尾,最終通過主節(jié)點的A網(wǎng)口返回到主節(jié)點;主節(jié)點根據(jù)返回信息核對系統(tǒng)組成是否完整;4)周期通訊階段,首先由主節(jié)點發(fā)起周期通訊開始指令,0從節(jié)點接收到該指令后開始實施網(wǎng)絡管理的功能,周期性下發(fā)同步數(shù)據(jù)包,并對各從節(jié)點進行分布時鐘補償,并執(zhí)行相應動作;末從節(jié)點接收到同步包之后開始組織從節(jié)點狀態(tài)數(shù)據(jù)的上傳,主節(jié)點接收到從節(jié)點網(wǎng)絡上傳的數(shù)據(jù)之后分別從兩個網(wǎng)口 A、B分別下發(fā)相同的控制數(shù)據(jù);從節(jié)點轉發(fā)來自主節(jié)點的控制數(shù)據(jù),同時把屬于自己的控制數(shù)據(jù)存放在相應的內(nèi)存區(qū)域,等待上層用戶讀??;從節(jié)點接收的兩組控制數(shù)據(jù)互為備份,當其中一組校驗出錯時,選擇采用另一組數(shù)據(jù);兩個方向的轉發(fā)分別在到達0從節(jié)點和末從節(jié)點后終止;從節(jié)點兩個網(wǎng)口默認狀態(tài)下均為轉發(fā)存儲功能,對于從網(wǎng)口 B到網(wǎng)口 A的轉發(fā)數(shù)據(jù)和上傳數(shù)據(jù)通過設置交叉開關分別進行處理。從節(jié)點接收到由0從節(jié)點發(fā)出的同步數(shù)據(jù)包之后,B網(wǎng)口到A網(wǎng)口的數(shù)據(jù)上傳功能被使能,同時轉發(fā)功能被禁止;該從節(jié)點的狀態(tài)數(shù)據(jù)上傳完成之后,重新使能轉發(fā)功能并禁止上傳功能。所述步驟2)枚舉過程中,在經(jīng)過每一個從節(jié)點時都會取下該節(jié)點號的字節(jié)的內(nèi)容作為自己的節(jié)點號,同時將該字節(jié)內(nèi)數(shù)據(jù)加I后繼續(xù)轉發(fā);因為節(jié)點號數(shù)據(jù)改變,所以在數(shù)據(jù)轉發(fā)至末尾時必須重新計算并替換CRC校驗值;通過上述方式,最終主節(jié)點B網(wǎng)口接收到的枚舉數(shù)據(jù)包中就包含了整個環(huán)形網(wǎng)絡中的從節(jié)點數(shù)目。所述步驟3)配置階段中為保證主節(jié)點正常收到返回信息,由從節(jié)點返回主節(jié)點的以太網(wǎng)數(shù)據(jù)均采用廣播包的形式。所述步驟4)周期通訊階段中,周期通訊過程中如果因為網(wǎng)線連接故障或從節(jié)點故障導致某處斷開時,則系統(tǒng)將分為兩個鏈狀網(wǎng)絡繼續(xù)保持和主節(jié)點通訊,如果在與主節(jié)點連接處斷開,則只有一個鏈狀網(wǎng)絡,在網(wǎng)絡斷開處各從節(jié)點將執(zhí)行以下動作從節(jié)點i檢測到B側網(wǎng)口連接斷開,立即轉換為網(wǎng)段I的末節(jié)點,并啟動上發(fā);數(shù)據(jù)由從節(jié)點i依次經(jīng)過從節(jié)點i_l,i-2……最終由0從節(jié)點經(jīng)A網(wǎng)口發(fā)送給主節(jié)點,此過程和正常傳輸過程相似,每個從節(jié)點會將自己的狀態(tài)數(shù)據(jù)追加到返回幀的末尾;
從節(jié)點i+1檢測到A側網(wǎng)絡連接斷開,立即轉換為網(wǎng)段II的末節(jié)點,并啟動上發(fā)一個正常末節(jié)點的上發(fā)廣播包;此時i+2以后的從節(jié)點并未得知網(wǎng)絡中間有斷開,故對i+1節(jié)點的上發(fā)數(shù)據(jù)包僅執(zhí)行轉發(fā),轉發(fā)過程中這些從節(jié)點檢測到轉發(fā)數(shù)據(jù)為廣播包則在轉發(fā)結束后通過交叉開關調(diào)換以太網(wǎng)兩個網(wǎng)口 A和B的引腳連接;轉發(fā)過程中各從節(jié)點對從節(jié)點i+1發(fā)起的數(shù)據(jù)幀不做任何操作;最后該廣播包由從節(jié)點n轉發(fā)給主節(jié)點,至此網(wǎng)段II內(nèi)所有的從節(jié)點網(wǎng)口調(diào)換完畢,同時從節(jié)點n啟動網(wǎng)絡周期管理模塊,開始實施對網(wǎng)段II的周期管理;主節(jié)點接收到兩個網(wǎng)段上發(fā)的數(shù)據(jù)后即可判斷故障所在,并按照當前網(wǎng)絡狀態(tài)重新建立對各從節(jié)點的管理;環(huán)形網(wǎng)絡因中間斷開而形成兩個獨立的鏈狀網(wǎng)絡之后,主節(jié)點每個周期都會查詢兩個網(wǎng)絡上分布時鐘的鎖定時刻,并根據(jù)主節(jié)點接收到兩個鏈狀網(wǎng)絡返回幀的時刻對兩個網(wǎng)段的分布時鐘進行補償,從而保證整個網(wǎng)絡上的時鐘同步。本發(fā)明的工作原理為通訊過程分為三個階段枚舉,配置,周期通訊。枚舉數(shù)據(jù)包采用廣播包的形式從主節(jié)點的A網(wǎng)口發(fā)出,具體過程同專利“一種鏈狀以太網(wǎng)節(jié)點間的實時同步及動態(tài)補償方法”中所述相似,每經(jīng)過一個從節(jié)點時該從節(jié)點取下數(shù)據(jù)包中標識節(jié)點號字節(jié)內(nèi)的數(shù)據(jù)作為自己的節(jié)點號,同時將該字節(jié)內(nèi)的數(shù)據(jù)加I后向下轉發(fā),但由于環(huán)形結構無法自動識別末從節(jié)點,所以枚舉數(shù)據(jù)最終會經(jīng)主節(jié)點的B網(wǎng)口返回到主節(jié)點。為能使主節(jié)點B網(wǎng)口能順利接受到枚舉數(shù)據(jù),枚舉報文采用廣播包的形式,并且每經(jīng)過一個從節(jié)點時CRC數(shù)據(jù)都需要重新計算。通過這種方式,主節(jié)點可以確定環(huán)形網(wǎng)絡中的從節(jié)點數(shù)目。主節(jié)點接收到網(wǎng)絡轉發(fā)回來的枚舉數(shù)據(jù)包之后,將最大的從節(jié)點號以配置數(shù)據(jù)的形式下發(fā)到網(wǎng)絡上。網(wǎng)絡上的從節(jié)點接收到配置包后,根據(jù)其中包含的最大從節(jié)點號判定自己是否為末從節(jié)點;如果是,則每次接收到0節(jié)點發(fā)出的同步數(shù)據(jù)包之后,啟動數(shù)據(jù)上發(fā)的任務。上傳過程中,首先末從節(jié)點將本節(jié)點信息封裝在一個標準的以太網(wǎng)幀中,然后啟動上傳;上傳過程中,數(shù)據(jù)幀經(jīng)過每個從節(jié)點時該節(jié)點都會動態(tài)修改以太網(wǎng)幀中表示幀長度字節(jié)的內(nèi)容,并將本節(jié)點信息追加在幀的末尾;最后由0從節(jié)點重新計算CRC值并把包含整個網(wǎng)段從節(jié)點信息的以太網(wǎng)幀發(fā)送給主節(jié)點。周期通訊階段,通訊周期由與主節(jié)點A網(wǎng)口直接相連的第一個從節(jié)點即0從節(jié)點負責管理,如“專利一種鏈狀以太網(wǎng)節(jié)點間的實時同步及動態(tài)補償方法”中所述首先主節(jié)點啟動周期通訊階段,然后0從節(jié)點周期性下發(fā)同步包管理通訊周期,末從節(jié)點接收到同步包之后組織數(shù)據(jù)上傳,同配置過程相似,上傳過程中數(shù)據(jù)幀每經(jīng)過一個從節(jié)點時該從節(jié)點都將動態(tài)修改以太網(wǎng)幀的長度,并將自己的節(jié)點信息追加到數(shù)據(jù)幀的末尾,直至由0從節(jié)點把包含整個網(wǎng)絡所有從節(jié)點狀態(tài)信息的以太網(wǎng)幀發(fā)給主節(jié)點。主節(jié)點接收到網(wǎng)絡上發(fā)來的狀態(tài)數(shù)據(jù)之后,分別向A、B兩個網(wǎng)口下發(fā)相同的控制數(shù)據(jù),從節(jié)點在轉發(fā)數(shù)據(jù)幀的同時將屬于自己的控制數(shù)據(jù)解析出來并分別保存到兩個雙端口 RAM中,等待CPU讀取。因為標準以太網(wǎng)為全雙工通訊,因此從節(jié)點的兩個網(wǎng)口可以同時進行控制數(shù)據(jù)的收發(fā)。對于應用層用戶而言,可選擇對其中任一組數(shù)據(jù)進行操作,如果接收完整個數(shù)據(jù)幀之后發(fā)現(xiàn)CRC校驗出錯,則選擇而另一組,兩組均出錯后則從節(jié)點申請主節(jié)點重發(fā)控制數(shù)據(jù)。通過這種冗余數(shù)據(jù)發(fā)送的方式可以有效降低了因數(shù)據(jù)傳輸出錯而導致的系統(tǒng)故障。 為減小主節(jié)點的工作負載,主節(jié)點控制數(shù)據(jù)的轉發(fā)只在從節(jié)點網(wǎng)內(nèi)進行,當數(shù)據(jù)包轉發(fā)到首末從節(jié)點之后數(shù)據(jù)不再返回到主節(jié)點。上述方式中,因為冗余數(shù)據(jù)的傳輸,由從節(jié)點經(jīng)B網(wǎng)口轉發(fā)到A網(wǎng)口的數(shù)據(jù)會有兩種來自主節(jié)點的控制數(shù)據(jù)和上發(fā)給主節(jié)點的狀態(tài)數(shù)據(jù),對應從節(jié)點兩個網(wǎng)口的兩種工作模式存儲轉發(fā)模式和上傳模式。本發(fā)明采用交叉開關選擇不同模塊來處理不同的以太網(wǎng)數(shù)據(jù)從節(jié)點默認處于存儲轉發(fā)模式,接收到同步包之前,從節(jié)點對兩個網(wǎng)口接收到的數(shù)據(jù)進行轉發(fā)和存儲;接收到同步包之后,則認為B網(wǎng)口即將接收到的數(shù)據(jù)為反饋數(shù)據(jù),該從節(jié)點會動態(tài)修改數(shù)據(jù)包長度并追加本節(jié)點狀態(tài)數(shù)據(jù),直至數(shù)據(jù)上傳過程結束之后恢復到默認的存儲轉發(fā)狀態(tài)。為兼容鏈狀網(wǎng)絡,并確保在網(wǎng)絡斷開后主節(jié)點還能繼續(xù)與從節(jié)點之間的通訊,本發(fā)明采用末從節(jié)點仲裁機制。末從節(jié)點的判定有兩種方式網(wǎng)絡連接檢測和節(jié)點號比較,其中網(wǎng)絡連接檢測具有更高優(yōu)先級。系統(tǒng)中如果某個從節(jié)點檢測到自己B端網(wǎng)口沒有網(wǎng)絡連 接,則自動轉化為末從節(jié)點,并按照鏈狀網(wǎng)絡進行通訊;如果每個從節(jié)點的兩端網(wǎng)絡均有連接,則執(zhí)行上述環(huán)形網(wǎng)絡的通訊過程。在周期通訊過程中,如果由于網(wǎng)絡連接中斷或某個從節(jié)點故障導致網(wǎng)絡斷開,則環(huán)形網(wǎng)絡將分解為兩個鏈狀網(wǎng)絡重新建立通訊,斷開處的兩個從節(jié)點將分別實施末從節(jié)點的職責,發(fā)起數(shù)據(jù)上傳,而與主節(jié)點網(wǎng)口直接相連的兩個從節(jié)點分別負責管理兩條鏈狀網(wǎng)絡的通訊,從而保證了通訊的繼續(xù)進行并保證對故障從節(jié)點的檢測。此過程中,主節(jié)點通過讀取兩條鏈狀網(wǎng)絡上分布時鐘鎖定時刻計時值,并比較主節(jié)點分別接收到網(wǎng)絡上傳數(shù)據(jù)的時刻值,以其中的一條鏈狀網(wǎng)絡做參考對另外一個鏈狀網(wǎng)絡的分布時鐘進行補償,從而保證所有從節(jié)點的同步動作。本發(fā)明在FPGA (Field Programmable Gate Array)上實現(xiàn)了一種環(huán)形冗余以太網(wǎng),在兼容鏈式以太網(wǎng)網(wǎng)絡的同時,具有以下優(yōu)點數(shù)據(jù)分別從兩個網(wǎng)口收發(fā),在不影響通訊速率的前提下提供了冗余數(shù)據(jù),有效降低了因誤碼傳輸導致系統(tǒng)故障的概率。末從節(jié)點自動仲裁機制可以使鏈狀網(wǎng)絡中某個從節(jié)點或中間連接發(fā)生故障時,仍能保持和主節(jié)點的通訊,從而使主節(jié)點可以快速定位到故障所在,并對其進行偵測和排除。環(huán)形冗余網(wǎng)絡在中間連接出現(xiàn)故障時,會自動轉換為兩個鏈狀網(wǎng)絡并繼續(xù)保持正常的通訊,同時及時找出故障所在,有效提高系統(tǒng)可靠性。
圖I :環(huán)形實時以太網(wǎng)結構示意圖;圖2 :枚舉數(shù)據(jù)包格式;圖3 :從節(jié)點內(nèi)部的存儲轉發(fā)機制;圖4:環(huán)形網(wǎng)絡中間斷開后網(wǎng)絡結構。
具體實施例方式下面結合附圖與實施例對本發(fā)明做進一步說明。本發(fā)明采用一種環(huán)形以太網(wǎng)絡,通過冗余數(shù)據(jù)發(fā)送的方式降低了因誤碼傳輸導致的系統(tǒng)故障。通過采用末從節(jié)點自動仲裁機制,使得系統(tǒng)不僅可以兼容鏈狀網(wǎng)絡,還能夠在網(wǎng)絡因連接故障導致中間斷開后仍能保持系統(tǒng)的正常通訊和運行。如圖I所示,網(wǎng)絡中至少包含一個主節(jié)點和若干個從節(jié)點。每個節(jié)點均有兩個標準的以太網(wǎng)網(wǎng)口,網(wǎng)線從主節(jié)點的A網(wǎng)口開始,將各從節(jié)點級聯(lián)起來,最后連接到主節(jié)點的B網(wǎng)口形成一個環(huán)形網(wǎng)絡回路。環(huán)形網(wǎng)絡采用末從節(jié)點自動仲裁機制來兼容鏈狀以太網(wǎng),并以此實現(xiàn)網(wǎng)絡斷開后的自恢復。通訊過程同原先的鏈狀以太網(wǎng)相似,分為枚舉、配置和周期性通訊三個階段。三個階段的數(shù)據(jù)幀類型通過標準以太網(wǎng)幀中第16字節(jié)的高4位來表示,如圖2中C+L字段,其中L表示以太網(wǎng)幀的長度,占用第17字節(jié)和第16字節(jié)的低4位共12位長度。C表示數(shù)據(jù)包類型,具體含義如表I所示。
權利要求
1.一種環(huán)形冗余的實時以太網(wǎng)通訊方法,在網(wǎng)絡中至少包含一個主節(jié)點和若干個從節(jié)點,每個節(jié)點均有A、B兩個標準的以太網(wǎng)網(wǎng)口,網(wǎng)線從主節(jié)點的A網(wǎng)口開始,將各從節(jié)點級聯(lián)起來,最后連接到主節(jié)點的B網(wǎng)口形成一個環(huán)形網(wǎng)絡回路,其特征是,環(huán)形網(wǎng)絡采用末從節(jié)點自動仲裁機制來兼容鏈狀以太網(wǎng),并以此實現(xiàn)網(wǎng)絡斷開后的自恢復,整個通訊過程分為枚舉、配置和周期性通訊三個階段; 1)系統(tǒng)上電后,各從節(jié)點會自動檢測自己兩個網(wǎng)口的連接狀態(tài),如果某個從節(jié)點檢測到自己B側網(wǎng)絡沒有連接則自動識別為末節(jié)點,系統(tǒng)按照專利所述鏈狀網(wǎng)絡進行通訊;如果所有從節(jié)點兩端網(wǎng)絡連接均正常,則按照環(huán)形網(wǎng)絡通訊; 2)進入枚舉階段,主節(jié)點發(fā)出的枚舉數(shù)據(jù)包會沿網(wǎng)絡回路從B網(wǎng)口返回到主節(jié)點,為使B網(wǎng)口能接收到返回的數(shù)據(jù),枚舉數(shù)據(jù)采用廣播的形式; 3)配置階段,主節(jié)點將網(wǎng)絡中存在的從節(jié)點個數(shù)發(fā)送到網(wǎng)絡上,從節(jié)點依此來判定自己在網(wǎng)絡中的位置;如果檢測到自己是末從節(jié)點則在接收到同步包之后負責起啟動數(shù)據(jù)上傳的任務首先末節(jié)點將自己的節(jié)點類型封裝在一個標準的廣播包中,然后由自己的A網(wǎng)口開始發(fā)起上傳,該數(shù)據(jù)幀經(jīng)過前面的每個從節(jié)點時,該從節(jié)點都會動態(tài)修改幀的長度,并將自己的節(jié)點信息追加到以太網(wǎng)幀的末尾,最終通過主節(jié)點的A網(wǎng)口返回到主節(jié)點;主節(jié)點根據(jù)返回信息核對系統(tǒng)組成是否完整; 4)周期通訊階段,首先由主節(jié)點發(fā)起周期通訊開始指令,O從節(jié)點接收到該指令后開始實施網(wǎng)絡管理的功能,周期性下發(fā)同步數(shù)據(jù)包,并對各從節(jié)點進行分布時鐘補償,并執(zhí)行相應動作;末從節(jié)點接收到同步包之后開始組織從節(jié)點狀態(tài)數(shù)據(jù)的上傳,主節(jié)點接收到從節(jié)點網(wǎng)絡上傳的數(shù)據(jù)之后分別從兩個網(wǎng)口 A、B分別下發(fā)相同的控制數(shù)據(jù);從節(jié)點轉發(fā)來自主節(jié)點的控制數(shù)據(jù),同時把屬于自己的控制數(shù)據(jù)存放在相應的內(nèi)存區(qū)域,等待上層用戶讀?。粡墓?jié)點接收的兩組控制數(shù)據(jù)互為備份,當其中一組校驗出錯時,選擇采用另一組數(shù)據(jù);兩個方向的轉發(fā)分別在到達O從節(jié)點和末從節(jié)點后終止; 從節(jié)點兩個網(wǎng)口默認狀態(tài)下均為轉發(fā)存儲功能,對于從網(wǎng)口 B到網(wǎng)口 A的轉發(fā)數(shù)據(jù)和上傳數(shù)據(jù)通過設置交叉開關分別進行處理; 從節(jié)點接收到由O從節(jié)點發(fā)出的同步數(shù)據(jù)包之后,B網(wǎng)口到A網(wǎng)口的數(shù)據(jù)上傳功能被使能,同時轉發(fā)功能被禁止;該從節(jié)點的狀態(tài)數(shù)據(jù)上傳完成之后,重新使能轉發(fā)功能并禁止上傳功能。
2.如權利要求I所述的一種環(huán)形冗余的實時以太網(wǎng)通訊方法,其特征是,所述步驟2)枚舉過程中,在經(jīng)過每一個從節(jié)點時都會取下該節(jié)點號的字節(jié)的內(nèi)容作為自己的節(jié)點號,同時將該字節(jié)內(nèi)數(shù)據(jù)加I后繼續(xù)轉發(fā);因為節(jié)點號數(shù)據(jù)改變,所以在數(shù)據(jù)轉發(fā)至末尾時必須重新計算并替換CRC校驗值;通過上述方式,最終主節(jié)點B網(wǎng)口接收到的枚舉數(shù)據(jù)包中就包含了整個環(huán)形網(wǎng)絡中的從節(jié)點數(shù)目。
3.如權利要求I所述的一種環(huán)形冗余的實時以太網(wǎng)通訊方法,其特征是,所述步驟3)配置階段中為保證主節(jié)點正常收到返回信息,由從節(jié)點返回主節(jié)點的以太網(wǎng)數(shù)據(jù)均采用廣播包的形式。
4.如權利要求I所述的一種環(huán)形冗余的實時以太網(wǎng)通訊方法,其特征是,所述步驟4)周期通訊階段中,周期通訊過程中如果因為網(wǎng)線連接故障或從節(jié)點故障導致某處斷開時,則系統(tǒng)將分為兩個鏈狀網(wǎng)絡繼續(xù)保持和主節(jié)點通訊,如果在與主節(jié)點連接處斷開,則只有一個鏈狀網(wǎng)絡,在網(wǎng)絡斷開處各從節(jié)點將執(zhí)行以下動作 從節(jié)點i檢測到B側網(wǎng)口連接斷開,立即轉換為網(wǎng)段I的末節(jié)點,并啟動上發(fā);數(shù)據(jù)由從節(jié)點i依次經(jīng)過從節(jié)點i_l,i-2……最終由O從節(jié)點經(jīng)A網(wǎng)口發(fā)送給主節(jié)點,此過程和正常傳輸過程相似,每個從節(jié)點會將自己的狀態(tài)數(shù)據(jù)追加到返回幀的末尾; 從節(jié)點i+Ι檢測到A側網(wǎng)絡連接斷開,立即轉換為網(wǎng)段II的末節(jié)點,并啟動上發(fā)一個正常末節(jié)點的上發(fā)廣播包;此時i+2以后的從節(jié)點并未得知網(wǎng)絡中間有斷開,故對i+Ι節(jié)點的上發(fā)數(shù)據(jù)包僅執(zhí)行轉發(fā),轉發(fā)過程中這些從節(jié)點檢測到轉發(fā)數(shù)據(jù)為廣播包則在轉發(fā)結束后通過交叉開關調(diào)換以太網(wǎng)兩個網(wǎng)口 A和B的引腳連接;轉發(fā)過程中各從節(jié)點對從節(jié)點i+Ι發(fā)起的數(shù)據(jù)幀不做任何操作;最后該廣播包由從節(jié)點η轉發(fā)給主節(jié)點,至此網(wǎng)段II內(nèi)所有的從節(jié)點網(wǎng)口調(diào)換完畢,同時從節(jié)點η啟動網(wǎng)絡周期管理模塊,開始實施對網(wǎng)段II的周期管理;主節(jié)點接收到兩個網(wǎng)段上發(fā)的數(shù)據(jù)后即可判斷故障所在,并按照當前網(wǎng)絡狀態(tài)重新建立對各從節(jié)點的管理; 環(huán)形網(wǎng)絡因中間斷開而形成兩個獨立的鏈狀網(wǎng)絡之后,主節(jié)點每個周期都會查詢兩個網(wǎng)絡上分布時鐘的鎖定時刻,并根據(jù)主節(jié)點接收到兩個鏈狀網(wǎng)絡返回幀的時刻對兩個網(wǎng)段的分布時鐘進行補償,從而保證整個網(wǎng)絡上的時鐘同步。
全文摘要
本發(fā)明公開了一種環(huán)形冗余的實時以太網(wǎng)通訊方法,它通過通訊末節(jié)點的自動仲裁機制兼容鏈狀網(wǎng)絡,采用冗余數(shù)據(jù)發(fā)送的方式降低誤碼傳輸帶來的影響,并且在中間網(wǎng)絡斷開或節(jié)點故障之后能自動組成兩個鏈狀網(wǎng)絡維持系統(tǒng)的正常運行,從而大大提高了系統(tǒng)的可靠性。在網(wǎng)絡中至少包含一個主節(jié)點和若干個從節(jié)點,每個節(jié)點均有A、B兩個標準的以太網(wǎng)網(wǎng)口,網(wǎng)線從主節(jié)點的A網(wǎng)口開始,將各從節(jié)點級聯(lián)起來,最后連接到主節(jié)點的B網(wǎng)口形成一個環(huán)形網(wǎng)絡回路,環(huán)形網(wǎng)絡采用末從節(jié)點自動仲裁機制來兼容鏈狀以太網(wǎng),并以此實現(xiàn)網(wǎng)絡斷開后的自恢復,整個通訊過程分為枚舉、配置和周期性通訊三個階段。針對網(wǎng)絡因故障從中間斷開的情況,系統(tǒng)自動按照兩個鏈狀網(wǎng)絡繼續(xù)保持和主節(jié)點的通訊,從而增強系統(tǒng)的可靠性和容錯能力。
文檔編號H04L12/437GK102710484SQ201210166990
公開日2012年10月3日 申請日期2012年5月26日 優(yōu)先權日2012年5月26日
發(fā)明者姬帥, 張承瑞, 張魯閩 申請人:濟南凌康數(shù)控技術有限公司