前言:想要寫出一篇引人入勝的文章?我們特意為您整理了環網下的工業通信自組網方法設計范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:本文提出了一種基于環網的工業通信自組網方法。該方法基于環網以太網通信,通過掃描幀的方式,實現網內模塊自動識別并產成本地MAC地址,主控模塊通過收集網內所有模塊的MAC地址,對各模塊進行點對點組網配置,實現環網控制系統的智能組網,無需人工參與。該方法支持環網異常情況下的自動組網,同時識別環網故障位置。此外,該方法在不影響網絡正常通信的情況下,支持新模塊的接入及自動入網。
關鍵詞:環網;掃描幀;自動組網
引言
工業網絡尤其是特殊應用場合對于通信的可用性和可靠性有著較高的要求,在一些距離遠,節點多的應用場合下,環型的網絡拓撲結構無論在層次化組網、節省線路資源(比如光纖、cable等)上,還是在保障通信可靠性上都有其他網絡拓撲結構不具備的優點。工業環網系統在構成系統之前,往往需要對系統中的每個模塊進行配置,如設備出廠ID,物理MAC地址等。當系統規模較大時,挨個對每個模塊進行配置不僅使得工作量龐大、繁瑣,同時也容易因各種人為因素產生重復、錯亂等問題。為了解決上述缺陷,并使得控制系統更加智能,本文提出了一種基于環網結構的自組網及網絡診斷方法。現行已有的自組網方式,大多是基于無線通信的,自組網協議、方法在網絡的上層實現。本文則是基于網絡的物理層、鏈路層進行,底層實現比上層實現更靈敏、更實時。
1通信模型及自組網概述
通信環網模型如圖1所示,通信環網包含了一個主控模塊,若干個從動模塊。每個模塊都帶有A、B兩個以太網通信口,主控模塊和從動模塊依次連接形成環網結構。主控模塊管理整個網絡及配置信息。用戶可以通過設備描述文件——XDD文件向主控模塊進行配置寫入。主控模塊通過XDD文件獲知所有設備的通信信息,如設備類型、每個設備需要收發的數據等。同時,用戶只需對主控模塊進行MAC地址等的分配寫入。主控模塊通過周期性的發送掃描報文,告知配入MAC地址,從動模塊根據掃描報文的該MAC地址生成并填入本地MAC地址到掃描報文中,最終主控模塊通過回收掃描報文收集到網內所有模塊的MAC地址。掃描幀包括幀頭、數據和幀尾,幀格式如圖2所示。當主控模塊獲得所有模塊的MAC地址后,主控模塊根據每個模塊的MAC地址進行點對點發送組態配置數據。組態配置的數據主控模塊已從XDD文件中獲取。
2自組網原理機制
環網結構的通信鏈路優勢在于其中一條鏈路斷開,通信依然可以進行。因此本文也在環網正常和環網異常斷開兩種不同的情況下進行了自組網的研究。自組網流程如圖3所示。
2.1環網正常
環網正常的情況下,上電后,主控模塊從一側端口(A口)發送掃描幀。其中掃描幀數據段起始位置的前6個字節(稱為數據段1,第7~12個字節為數據段2,依次類推)插入了主控模塊的MAC地址,數據段2插入從動模塊自動生成MAC地址的參考值(高4個字節以及第6個字節為主控模塊的MAC[47:16]和MAC[7:0];第5個字節用于標記主控模塊從A口還是B口發出掃描報文,此處通過0或者1表示,0代表A口,1代表B口),其余數據段為0。當緊鄰主控制器A口的第一個從動模塊接收到數據幀,從動模塊判斷幀類型,當幀類型為掃描幀,從掃描幀的數據部分以一個數據段即6個字節為單位依次讀取MAC地址,直至數據段為0位置。該從動模塊根據最后讀取的數據段1的值進行自加1來生成自身的MAC地址,并放入掃描幀數據中數據段3位置后轉發該掃描幀給下一個從動模塊。環網內的從動模塊依次進行掃描報文的判斷、MAC自加插入和轉發。主控模塊從B口返回掃描幀,從掃描幀的數據中讀取網內的所有從動模塊的MAC地址。同時,根據掃描幀中的MAC值所在的數據段,主控模塊可以清晰的獲知每個模塊處于環網中的具體位置。
2.2環網異常
當環網鏈路斷開異常時,主控模塊從A口發送掃描幀后,B口無法返回的掃描幀。主控模塊在從A口發送掃描幀后開始計時,當計時時間達到Ttimeout后還未從B口收到掃描幀,則判斷等待超時,啟動線路自檢。超時時間Ttimeout可配,Ttimeout≥環網內設備個數×10μs,其中10μs為轉發一個100Byte的掃描幀所需時間。主控模塊從A、B口同時發送線路自檢通知幀。主動模塊從開始發送該幀開始計時,等待一個時間周期T2,確保線路自檢通知幀已經輪詢完網內所有從動模塊。從動模塊收到該幀后,等待一個時間周期T2。在等待T2時間后,主控模塊、從動模塊開始同時向A、B口發送線路自檢幀,相鄰的模塊將會從一側端口收到線路自檢幀,當收到該幀后,則標記當前端口處于正常通信狀態。當所有的模塊都收發完線路自檢幀后,各模塊都完成了端口狀態標記。鏈路異常斷開,兩側的兩個模塊所對應的端口將標記為端口異常。主控模塊在完成端口標記后,從A、B口同時發送掃描幀,從動模塊接收掃描幀,依次產生并插入MAC地址到掃描幀中。如果該從動模塊是從A口接收掃描幀,且B口處于正常通信狀態,則該從動模塊將更新后的掃描幀從B口轉發給下一個從動模塊;如果該從動模塊的B口處于異常狀態,則將掃描幀從A返回掃描幀給上一個從動模塊。上一個從動模塊已經處理過掃描幀,則不再進行二次處理,判斷為掃描幀后直接往另一個端口轉發,經過一級級轉發最后回到主控模塊。主控模塊將從A、B口分別收到一個返回的掃描幀,兩個掃描幀中分別包含主控模塊A口到鏈路斷開處之間的所有從模塊的MAC地址,和主控模塊B口到鏈路斷開處之間的所有從模塊的MAC地址。通過解析兩個掃描幀,主控模塊可以獲取所有的設備的MAC地址,并獲知每個模塊在網內的位置以及鏈路斷開的位置。
3新模塊入網
在工業通信中,往往存在網絡中的模塊加入和斷開的情況,并且不影響整個網絡的正常通信的情況。本文也對新模塊如何自動入網進行了研究。在系統進入正常通信后,如果環網正常,主控模塊會周期性的從一側發送掃描幀;如果環網斷開,主控模塊會周期性的從兩側發生掃描幀。當有新模塊加入時,新模塊會響應掃描幀,根據掃描幀中的MAC值生成自身的MAC值。主控模塊收到返回的掃描幀后根據數據值即獲知有新設備加入并對其進行組態配置。在系統正常通信且環網正常的情況下,如果新模塊需要插入,需經過先斷開環網、接入新模塊、恢復環網3個步驟。當斷開環網時,主控模塊、從動模塊仍然可以繼續通信,但是在通信過程只能收到一份數據,此時主控模塊和從動模塊可知環網斷開。鏈路斷開兩側模塊將會在下次通信中上報網絡斷開、斷開端口給主控模塊。主控模塊根據環網斷開、新模塊加入、環網恢復以及從動模塊上報的端口斷開信息可判斷新接入模塊所處的網絡位置。在系統正常通信且環網斷開的情況下,新模塊的接入只能接在兩側鏈路的尾端。主控模塊根據接收新加入模塊數據的端口可判斷新接入模塊處于鏈路哪一側。
4結論
通過本文的所提到的自組網方式,將使得環網控制系統的組網配置過程更加智能高效,無需人工參與,不僅節省了工程師大量繁瑣且重復的工作量,也避免了極易因人為導致的重復配置、錯亂等問題。同時,通過本文的方法,上位機以及用戶可以清楚的知道每個設備在網絡中所處的位置,當系統設備或者線路故障時,也無需工程師挨個排查定位,即可明確知道網絡故障位置。
參考文獻
[1]李志強.DRP系統故障自愈時間的建模分析和優化研究,浙江大學碩士學位論文,2013.
[2]張憲軍,劉穎,余華武.IEC62439PRP冗余丟棄算法設計,電力系統保護與控制,2014.
[3]馮冬芹,褚健,金建祥.實時工業以太網技術-EPA及其應用解決方案,科學出版社,2013.
作者:童慶 金偉江 劉國安 傅盼盼 單位:浙江中控研究院有限公司