一種高可用性的冗余工業實時以太網設計
通過以上處理機制有效地消除了雙網冗余傳輸通信的故障恢復時間,提高了報文的實時性和可靠性。
圖4 報文時間標簽隊列
3.2 網絡在線故障自診斷
雙網冗余傳輸模式提高了工業實時以太網的通信容錯能力。但是故障的存在將降低系統的穩定裕度,本文采用節點互檢技術在線實時診斷網絡的故障狀態,以保證網絡運行在最佳工作狀態。接收節點利用網絡診斷報文診斷網絡的故障狀況并在節點中建立網絡狀態映射表。
3.2.1 網絡診斷廣播報文
為了實現在線實時的網絡故障診斷,同時避免故障診斷占用過多的網絡資源,網絡上的節點周期性的在兩個以太網上同時廣播網絡診斷報文。接收節點根據該報文的接收情況判斷自身與網絡上其他節點各個通道的連接是否正常。
3.2.2 網絡診斷報文接收分析
本方案在每個節點上設置了一組定時器,每個定時器對應發送節點的一個通道,用于維護網絡診斷報文的接收。如果在一定時間內未接收到某個通道廣播的網絡診斷報文,表示接收節點已經和發送節點的該通道失去了通信連接,節點把該通道用“故障”狀態標識,否則用“正常"狀態標識。接收節點以此建立并更新網絡狀態映射表。每次節點接收到新的診斷報文后都將重置相應的定時器。
3.2.3 網絡狀態映射表的建立與維護
網絡中的每個節點利用以上方法把其他節點的各通道分為“故障"和“正常",并周期性的更新網絡狀態映射表。新入網的節點用雙網冗余傳輸模式傳輸所有報文并通過分析接收的網絡診斷報文快速建立網絡狀態映射表。其他節點通過分析它發送的網絡診斷報文在網絡狀態映射表中添加對它的故障映射。網絡狀態映射表實時地上傳到監控中心,監控中心利用它們實時地分析整個控制系統通信網絡的狀態,從而提高了系統的可維護性。
3.3 自適應多模式冗余通信處理
過程控制系統中不同重要性的報文具有不同的傳輸性能要求。本方案根據報文實時性、可靠性和響應性的要求把網絡中的報文分成重要報文和次要報文。在網絡狀態良好時,本方案對不同的報文采用不同的冗余傳輸機制,由此既保證了重要報文的可靠通信又極大地利用了網絡帶寬。
3.3.1 報文分類
重要報文:包括系統自檢報文、控制指令、系統配置信息報文。這類報文對實時性、可靠性和響應性具有很高要求。發送方需要在最快時間內把報文發送到目標節點。如果報文丟失或延時過長會造成嚴重后果。
次要報文:包括控制設備、數據采集設備發送的各個通道的實時數據以及通道的狀態。這類報文一般按周期發送,即使丟失了一個周期的報文,節點仍能通過下一個周期獲得數據。
3.3.2 重要報文雙網冗余傳輸
本方案中的重要報文在任何情況下均采用雙網冗余傳輸方式傳輸,實現了重要報文零故障恢復時間的冗余通信,保證了重要報文的可靠性和實時性。
3.3.3 次要報文雙網分散傳輸通信
根據網絡狀態映射表,節點可以準確獲得當前網絡的狀況。當網絡處于良好的工作狀態時,本方案采用雙網分散傳輸模式傳輸次要報文,使系統次要報文的傳輸切換到另一個網絡。
4 驗證與測試
本文通過8口交換機TP-Link TL-SF1008+連接浙江中控GCS-2主控卡和帶有雙網口的PC機。并在主控卡和PC機上實現本冗余方案,利用PC機上的Ehtereal軟件查看接收的報文。主控卡以1s為周期向PC機發送重要報文,以100ms為周期發送實時數據等次要報文。網絡狀態映射表建立前,所有節點均以雙網冗余傳輸模式傳輸報文,此時PC機平均每秒接收154包UDP報文。當系統進入混合冗余傳輸模式后,PC機每秒平均接收84包UDP報文,有效降低了網絡的負荷。
斷開1號節點A通道后,PC機仍舊能從通道B接收到節點1的重要報文,實現了重要報文零故障恢復時間的冗余傳輸。經過3.1 S(定時時間T為3 S),平均每秒從1號節點B通道接收的次要報文的數量從5包增加為10包,實現了次要報文雙網分散傳輸的冗余切換。
增加2號節點B通道的網絡負荷,當網絡負荷超過20%時,部分重要報文的到達時間滯后于A通道,由于本文采用時間優先法處理報文的接收,因此應用程序處理A通道的報文,既優先到達的報文,提高了系統的實時性。
圖5 驗證測試網絡拓撲圖
5 結論
本方案根據工業應用場合零故障恢復時間以及高可靠性與高可用性等特殊要求,設計了一種自適應多模式冗余通信,有效地提高了重要報文傳輸的實時性和可靠性,提高了網絡帶寬的利用率,可滿足大部分工業應用中通信網絡的要求,具有較高的實際意義和推廣價值。
評論