公務(wù)員期刊網(wǎng) 論文中心 正文

環(huán)網(wǎng)下的工業(yè)通信自組網(wǎng)方法設(shè)計(jì)

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了環(huán)網(wǎng)下的工業(yè)通信自組網(wǎng)方法設(shè)計(jì)范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

環(huán)網(wǎng)下的工業(yè)通信自組網(wǎng)方法設(shè)計(jì)

摘要:本文提出了一種基于環(huán)網(wǎng)的工業(yè)通信自組網(wǎng)方法。該方法基于環(huán)網(wǎng)以太網(wǎng)通信,通過掃描幀的方式,實(shí)現(xiàn)網(wǎng)內(nèi)模塊自動(dòng)識(shí)別并產(chǎn)成本地MAC地址,主控模塊通過收集網(wǎng)內(nèi)所有模塊的MAC地址,對(duì)各模塊進(jìn)行點(diǎn)對(duì)點(diǎn)組網(wǎng)配置,實(shí)現(xiàn)環(huán)網(wǎng)控制系統(tǒng)的智能組網(wǎng),無需人工參與。該方法支持環(huán)網(wǎng)異常情況下的自動(dòng)組網(wǎng),同時(shí)識(shí)別環(huán)網(wǎng)故障位置。此外,該方法在不影響網(wǎng)絡(luò)正常通信的情況下,支持新模塊的接入及自動(dòng)入網(wǎng)。

關(guān)鍵詞:環(huán)網(wǎng);掃描幀;自動(dòng)組網(wǎng)

引言

工業(yè)網(wǎng)絡(luò)尤其是特殊應(yīng)用場(chǎng)合對(duì)于通信的可用性和可靠性有著較高的要求,在一些距離遠(yuǎn),節(jié)點(diǎn)多的應(yīng)用場(chǎng)合下,環(huán)型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)無論在層次化組網(wǎng)、節(jié)省線路資源(比如光纖、cable等)上,還是在保障通信可靠性上都有其他網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)不具備的優(yōu)點(diǎn)。工業(yè)環(huán)網(wǎng)系統(tǒng)在構(gòu)成系統(tǒng)之前,往往需要對(duì)系統(tǒng)中的每個(gè)模塊進(jìn)行配置,如設(shè)備出廠ID,物理MAC地址等。當(dāng)系統(tǒng)規(guī)模較大時(shí),挨個(gè)對(duì)每個(gè)模塊進(jìn)行配置不僅使得工作量龐大、繁瑣,同時(shí)也容易因各種人為因素產(chǎn)生重復(fù)、錯(cuò)亂等問題。為了解決上述缺陷,并使得控制系統(tǒng)更加智能,本文提出了一種基于環(huán)網(wǎng)結(jié)構(gòu)的自組網(wǎng)及網(wǎng)絡(luò)診斷方法。現(xiàn)行已有的自組網(wǎng)方式,大多是基于無線通信的,自組網(wǎng)協(xié)議、方法在網(wǎng)絡(luò)的上層實(shí)現(xiàn)。本文則是基于網(wǎng)絡(luò)的物理層、鏈路層進(jìn)行,底層實(shí)現(xiàn)比上層實(shí)現(xiàn)更靈敏、更實(shí)時(shí)。

1通信模型及自組網(wǎng)概述

通信環(huán)網(wǎng)模型如圖1所示,通信環(huán)網(wǎng)包含了一個(gè)主控模塊,若干個(gè)從動(dòng)模塊。每個(gè)模塊都帶有A、B兩個(gè)以太網(wǎng)通信口,主控模塊和從動(dòng)模塊依次連接形成環(huán)網(wǎng)結(jié)構(gòu)。主控模塊管理整個(gè)網(wǎng)絡(luò)及配置信息。用戶可以通過設(shè)備描述文件——XDD文件向主控模塊進(jìn)行配置寫入。主控模塊通過XDD文件獲知所有設(shè)備的通信信息,如設(shè)備類型、每個(gè)設(shè)備需要收發(fā)的數(shù)據(jù)等。同時(shí),用戶只需對(duì)主控模塊進(jìn)行MAC地址等的分配寫入。主控模塊通過周期性的發(fā)送掃描報(bào)文,告知配入MAC地址,從動(dòng)模塊根據(jù)掃描報(bào)文的該MAC地址生成并填入本地MAC地址到掃描報(bào)文中,最終主控模塊通過回收掃描報(bào)文收集到網(wǎng)內(nèi)所有模塊的MAC地址。掃描幀包括幀頭、數(shù)據(jù)和幀尾,幀格式如圖2所示。當(dāng)主控模塊獲得所有模塊的MAC地址后,主控模塊根據(jù)每個(gè)模塊的MAC地址進(jìn)行點(diǎn)對(duì)點(diǎn)發(fā)送組態(tài)配置數(shù)據(jù)。組態(tài)配置的數(shù)據(jù)主控模塊已從XDD文件中獲取。

2自組網(wǎng)原理機(jī)制

環(huán)網(wǎng)結(jié)構(gòu)的通信鏈路優(yōu)勢(shì)在于其中一條鏈路斷開,通信依然可以進(jìn)行。因此本文也在環(huán)網(wǎng)正常和環(huán)網(wǎng)異常斷開兩種不同的情況下進(jìn)行了自組網(wǎng)的研究。自組網(wǎng)流程如圖3所示。

2.1環(huán)網(wǎng)正常

環(huán)網(wǎng)正常的情況下,上電后,主控模塊從一側(cè)端口(A口)發(fā)送掃描幀。其中掃描幀數(shù)據(jù)段起始位置的前6個(gè)字節(jié)(稱為數(shù)據(jù)段1,第7~12個(gè)字節(jié)為數(shù)據(jù)段2,依次類推)插入了主控模塊的MAC地址,數(shù)據(jù)段2插入從動(dòng)模塊自動(dòng)生成MAC地址的參考值(高4個(gè)字節(jié)以及第6個(gè)字節(jié)為主控模塊的MAC[47:16]和MAC[7:0];第5個(gè)字節(jié)用于標(biāo)記主控模塊從A口還是B口發(fā)出掃描報(bào)文,此處通過0或者1表示,0代表A口,1代表B口),其余數(shù)據(jù)段為0。當(dāng)緊鄰主控制器A口的第一個(gè)從動(dòng)模塊接收到數(shù)據(jù)幀,從動(dòng)模塊判斷幀類型,當(dāng)幀類型為掃描幀,從掃描幀的數(shù)據(jù)部分以一個(gè)數(shù)據(jù)段即6個(gè)字節(jié)為單位依次讀取MAC地址,直至數(shù)據(jù)段為0位置。該從動(dòng)模塊根據(jù)最后讀取的數(shù)據(jù)段1的值進(jìn)行自加1來生成自身的MAC地址,并放入掃描幀數(shù)據(jù)中數(shù)據(jù)段3位置后轉(zhuǎn)發(fā)該掃描幀給下一個(gè)從動(dòng)模塊。環(huán)網(wǎng)內(nèi)的從動(dòng)模塊依次進(jìn)行掃描報(bào)文的判斷、MAC自加插入和轉(zhuǎn)發(fā)。主控模塊從B口返回掃描幀,從掃描幀的數(shù)據(jù)中讀取網(wǎng)內(nèi)的所有從動(dòng)模塊的MAC地址。同時(shí),根據(jù)掃描幀中的MAC值所在的數(shù)據(jù)段,主控模塊可以清晰的獲知每個(gè)模塊處于環(huán)網(wǎng)中的具體位置。

2.2環(huán)網(wǎng)異常

當(dāng)環(huán)網(wǎng)鏈路斷開異常時(shí),主控模塊從A口發(fā)送掃描幀后,B口無法返回的掃描幀。主控模塊在從A口發(fā)送掃描幀后開始計(jì)時(shí),當(dāng)計(jì)時(shí)時(shí)間達(dá)到Ttimeout后還未從B口收到掃描幀,則判斷等待超時(shí),啟動(dòng)線路自檢。超時(shí)時(shí)間Ttimeout可配,Ttimeout≥環(huán)網(wǎng)內(nèi)設(shè)備個(gè)數(shù)×10μs,其中10μs為轉(zhuǎn)發(fā)一個(gè)100Byte的掃描幀所需時(shí)間。主控模塊從A、B口同時(shí)發(fā)送線路自檢通知幀。主動(dòng)模塊從開始發(fā)送該幀開始計(jì)時(shí),等待一個(gè)時(shí)間周期T2,確保線路自檢通知幀已經(jīng)輪詢完網(wǎng)內(nèi)所有從動(dòng)模塊。從動(dòng)模塊收到該幀后,等待一個(gè)時(shí)間周期T2。在等待T2時(shí)間后,主控模塊、從動(dòng)模塊開始同時(shí)向A、B口發(fā)送線路自檢幀,相鄰的模塊將會(huì)從一側(cè)端口收到線路自檢幀,當(dāng)收到該幀后,則標(biāo)記當(dāng)前端口處于正常通信狀態(tài)。當(dāng)所有的模塊都收發(fā)完線路自檢幀后,各模塊都完成了端口狀態(tài)標(biāo)記。鏈路異常斷開,兩側(cè)的兩個(gè)模塊所對(duì)應(yīng)的端口將標(biāo)記為端口異常。主控模塊在完成端口標(biāo)記后,從A、B口同時(shí)發(fā)送掃描幀,從動(dòng)模塊接收掃描幀,依次產(chǎn)生并插入MAC地址到掃描幀中。如果該從動(dòng)模塊是從A口接收掃描幀,且B口處于正常通信狀態(tài),則該從動(dòng)模塊將更新后的掃描幀從B口轉(zhuǎn)發(fā)給下一個(gè)從動(dòng)模塊;如果該從動(dòng)模塊的B口處于異常狀態(tài),則將掃描幀從A返回掃描幀給上一個(gè)從動(dòng)模塊。上一個(gè)從動(dòng)模塊已經(jīng)處理過掃描幀,則不再進(jìn)行二次處理,判斷為掃描幀后直接往另一個(gè)端口轉(zhuǎn)發(fā),經(jīng)過一級(jí)級(jí)轉(zhuǎn)發(fā)最后回到主控模塊。主控模塊將從A、B口分別收到一個(gè)返回的掃描幀,兩個(gè)掃描幀中分別包含主控模塊A口到鏈路斷開處之間的所有從模塊的MAC地址,和主控模塊B口到鏈路斷開處之間的所有從模塊的MAC地址。通過解析兩個(gè)掃描幀,主控模塊可以獲取所有的設(shè)備的MAC地址,并獲知每個(gè)模塊在網(wǎng)內(nèi)的位置以及鏈路斷開的位置。

3新模塊入網(wǎng)

在工業(yè)通信中,往往存在網(wǎng)絡(luò)中的模塊加入和斷開的情況,并且不影響整個(gè)網(wǎng)絡(luò)的正常通信的情況。本文也對(duì)新模塊如何自動(dòng)入網(wǎng)進(jìn)行了研究。在系統(tǒng)進(jìn)入正常通信后,如果環(huán)網(wǎng)正常,主控模塊會(huì)周期性的從一側(cè)發(fā)送掃描幀;如果環(huán)網(wǎng)斷開,主控模塊會(huì)周期性的從兩側(cè)發(fā)生掃描幀。當(dāng)有新模塊加入時(shí),新模塊會(huì)響應(yīng)掃描幀,根據(jù)掃描幀中的MAC值生成自身的MAC值。主控模塊收到返回的掃描幀后根據(jù)數(shù)據(jù)值即獲知有新設(shè)備加入并對(duì)其進(jìn)行組態(tài)配置。在系統(tǒng)正常通信且環(huán)網(wǎng)正常的情況下,如果新模塊需要插入,需經(jīng)過先斷開環(huán)網(wǎng)、接入新模塊、恢復(fù)環(huán)網(wǎng)3個(gè)步驟。當(dāng)斷開環(huán)網(wǎng)時(shí),主控模塊、從動(dòng)模塊仍然可以繼續(xù)通信,但是在通信過程只能收到一份數(shù)據(jù),此時(shí)主控模塊和從動(dòng)模塊可知環(huán)網(wǎng)斷開。鏈路斷開兩側(cè)模塊將會(huì)在下次通信中上報(bào)網(wǎng)絡(luò)斷開、斷開端口給主控模塊。主控模塊根據(jù)環(huán)網(wǎng)斷開、新模塊加入、環(huán)網(wǎng)恢復(fù)以及從動(dòng)模塊上報(bào)的端口斷開信息可判斷新接入模塊所處的網(wǎng)絡(luò)位置。在系統(tǒng)正常通信且環(huán)網(wǎng)斷開的情況下,新模塊的接入只能接在兩側(cè)鏈路的尾端。主控模塊根據(jù)接收新加入模塊數(shù)據(jù)的端口可判斷新接入模塊處于鏈路哪一側(cè)。

4結(jié)論

通過本文的所提到的自組網(wǎng)方式,將使得環(huán)網(wǎng)控制系統(tǒng)的組網(wǎng)配置過程更加智能高效,無需人工參與,不僅節(jié)省了工程師大量繁瑣且重復(fù)的工作量,也避免了極易因人為導(dǎo)致的重復(fù)配置、錯(cuò)亂等問題。同時(shí),通過本文的方法,上位機(jī)以及用戶可以清楚的知道每個(gè)設(shè)備在網(wǎng)絡(luò)中所處的位置,當(dāng)系統(tǒng)設(shè)備或者線路故障時(shí),也無需工程師挨個(gè)排查定位,即可明確知道網(wǎng)絡(luò)故障位置。

參考文獻(xiàn)

[1]李志強(qiáng).DRP系統(tǒng)故障自愈時(shí)間的建模分析和優(yōu)化研究,浙江大學(xué)碩士學(xué)位論文,2013.

[2]張憲軍,劉穎,余華武.IEC62439PRP冗余丟棄算法設(shè)計(jì),電力系統(tǒng)保護(hù)與控制,2014.

[3]馮冬芹,褚健,金建祥.實(shí)時(shí)工業(yè)以太網(wǎng)技術(shù)-EPA及其應(yīng)用解決方案,科學(xué)出版社,2013.

作者:童慶 金偉江 劉國(guó)安 傅盼盼 單位:浙江中控研究院有限公司