專利背景
冗餘技術是系統或設備獲得高可靠性、高安全性和高生存能力的設計方法之一,是實現容錯功能非常重要的手段。在重要的工業生產領域和中,採用冗餘技術提高控制系統可靠性的做法越來越普遍。常規的冗餘就是採用成倍增加元件的方式來參與控制,以期能夠將因控制設備的意外而導致的停機降到最少。
一個冗餘系統,不僅要求單純的增加一倍元件、部件或者模組。而是需要具備可配置冗餘系統參數、硬體結構支持冗餘接線、網路結構支持冗餘通訊、運行過程中能夠動態備份與檢測、對上級設備透明運行、可線上更換設備、發生故障時可以快速熱切換等諸多能力。
2010年3月前大型工業生產中套用的冗餘系統,均採用增加環網交換機的方式來實現控制網路通信線路的冗餘。而,針對設備間的冗餘,都是採用專用的組態軟體來配合冗餘設備實現資源的熱備份與發生故障時進行的熱切換。
2010年3月前環網冗餘方案僅能解決線路上的通信故障,並不能解決設備的故障;設備冗餘方案,又無法解決整個系統由於控制網路故障而產生的問題;
同時,設備冗餘方案需要專用的上位機軟體配合才能使用。這種需要上位機配合的方式不僅操作複雜而且對上級結構不透明。對於那些對冗餘技術並不太熟悉的工程師,這種方式極大地增加了部署套用時的複雜度。而且在系統套用過程中,整個冗餘系統運行的細節都需要暴露給上層套用,不符合模組化、組件化的設計思想。
綜上,當前沒有一種完善的冗餘系統,能夠將網路冗餘、設備冗餘、自動管理與熱切換等諸多特性結合到一起。
發明內容
專利目的
《工業控制網路冗餘容錯系統》提出了一種集多種冗餘結構以及自動化故障管理與切換管理為一體的工業控制網路冗餘容錯系統。該發明所述的系統可在控制網路運行中自動同步兩個冗餘的控制網路中的資源,也能同時自動判斷是否發生故障。如果發現故障,系統可以在三百毫秒的時間內自動、平滑地切換到備份的控制網路中去,以確保整個系統能夠在發生故障後仍然能夠正常平穩地運行。同時,系統還會記錄下發生過的所有故障的詳細信息,為系統的維護和修復提供依據。
技術方案
《工業控制網路冗餘容錯系統》包含四個部分:主控器冗餘系統、從設備冗餘系統、故障日誌系統和上位機監控接口。
主控器冗餘系統,由兩個互為冗餘的主控器以及它們所攜帶的控制網路組成。兩個主控設備通過一塊集線器與上級網路設備進行連線。兩個主控器可以各自攜帶一片控制網路形成網路冗餘,也可共享同一片控制網路,使得切換後仍然能夠正常使用這片控制網路中的其他資源。
從設備冗餘系統,由一個主控器和一對從設備組成。在這個系統中的主控器最多可以攜帶16對從設備,每對從設備互為冗餘。在冗餘的從設備與主控器所構成的網路中,由主控器監控當前線路通信情況,並從根據用戶的配置,實時地選擇最優的通訊路徑進行通信。
故障日誌系統:控制系統中的每個設備都運行有一套故障檢測與日誌系統,在設備發生故障時記錄故障發生的類型、日期、次數等信息,並實時地更新當前設備所處的故障級別。
上位機監控接口,是一個為運行在監控計算機中的通信軟體提供通信回響的報文服務程式。根據系統提供的訪問接口,在系統運行過程中,上位機可以實時地讀取系統的運行狀態。在發生故障時,用戶可以通過上位機查看相應設備的故障信息。並在需要時,用戶能夠通過相應的輸入操作直接控制整個冗餘系統的運行。
有益效果
該發明的主控器冗餘系統通過集線器接入乙太網,並通過傳輸特定的報文來進行資源的同步和組態程式運行的同步。通過將主控設備連線到集線器後再接入乙太網絡的這種方式成功地解決了互為冗餘的兩個主控器因IP、MAC完全相同而引發的網路衝突。
從設備冗餘對連線到主控器上,與主控器一同構成了從設備冗餘系統。主控器與從設備對之間的連線媒體可以是485匯流排、MB+匯流排或者是Zigbee。這種多種媒體統一管理的方式有效地解決了不同網路媒體之間的冗餘問題,使得套用更加靈活。
在這個由多個設備、多種冗餘類型、多種通信媒體所構成的多級控制網路中,每個設備內部都運行有故障檢測、處理與日誌系統。同時主控設備還具有檢測與之連線的控制網路是否發生故障的能力。通過系統對故障的分散式自動檢測與處理,使用者只需要在使用之初對系統進行正確配置,在整個運行過程用戶都不需要針對冗餘功能進行任何特殊的操作,解決了2010年3月前行業中部署冗餘系統複雜度高的問題,也使得從2010年3月前已有控制系統升級為冗餘控制系統更加容易。
附圖說明
圖1是主設備冗餘系統網路結構示意圖。
圖2是冗餘通信層在協定棧中的部署圖。
圖3是主設備冗餘系統狀態機轉換圖。
圖4是主設備冗餘系統活動設備與備份設備運行過程協作圖。
圖5是功能塊同步運行示意圖。
圖6是從設備冗餘系統網路結構示意圖。
圖7是從設備冗餘系統通訊路徑示意圖。
圖8是主設備管理結構與從設備映射部署圖。
圖9是從設備冗餘系統主控設備運行流程圖。
圖10是冗餘系統在控制網路中的套用效果圖。
權利要求
1.《工業控制網路冗餘容錯系統》其特徵在於,該工業控制網路冗餘容錯系統包含主控器冗餘系統、從設備冗餘系統、故障日誌系統和上位機監控接口四個部分。
主控器冗餘系統,由兩個互為冗餘的主控器以及它們所攜帶的控制網路組成;兩個主控設備通過一塊集線器與上級網路設備進行連線;兩個主控器各自攜帶一片控制網路形成網路冗餘或共享同一片控制網路;從設備冗餘系統,由一個主控器和一對從設備組成;在冗餘的從設備與主控器所構成的網路中,由主控器監控當前線路通信情況,並從根據用戶的配置,實時地選擇最優的通訊路徑進行通信;故障日誌系統:控制系統中的每個設備都運行有一套故障檢測與日誌系統,在設備發生故障時記錄信息,並實時地更新當前設備所處的故障級別;上位機監控接口,是一個為運行在監控計算機中的通信軟體提供通信回響的報文服務程式;根據系統提供的訪問接口,在系統運行過程中,上位機實時地讀取系統的運行狀態;在發生故障時,用戶通過上位機查看相應設備的故障信息;並在需要時,用戶能夠通過相應的輸入操作直接控制整個冗餘系統的運行。
2.權利要求1所述的工業控制網路冗餘容錯系統,其特徵還在於:主設備冗餘系統中有IP、MAC完全一樣的兩塊設備,一塊為活動設備、另一塊為備份設備,兩塊設備通過冗餘通訊層來進行通信;冗餘通訊層協定在TCP/IP協定棧中部署在MAC層協定之上,屬於網路層協定;冗餘通訊層協定報文在物理層的封裝使用RFC894的MAC層協定報文頭,源地址為冗餘設備自身的MAC地址,目的地址使用全網段廣播地址(FF:FF:FF:FF:FF:FF);冗餘層通訊報文,使用0x88BC作為MAC報文頭type欄位的值,同時從報文格式的設計上保留了很多與原有IP層兼容的欄位;冗餘通訊層報文格式設計如下:
| |
| | | | |
| 16bit冗餘協定報文類型欄位 控制域(type control) |
16bit冗餘協定報文類型欄位 值域(type value) | |
16位自由欄位(Flex) 根據type不同,此欄位值的意義不同 | |
|
| |
冗餘層通訊報文依靠控制域和值域來區分報文的類別與用途;報文中的數據區是選的,根據報文類型的不同數據區長度不同或者為0。
主設備冗餘系統在運行的過程中,對於不同的輸入,系統會做出不同的回響以及相應的動作,這種特定的回響與動作的集合為一個狀態;該發明將冗餘系統運行過程中能出現的狀態劃分為7種:開始、啟動、就緒、同步、運行、切換、出錯,並通過一套狀態機來控制這7種狀態的變遷;對於這7種狀態的具體描述,詳見下表:
| |
| 開始狀態,是冗餘系統運行的最初狀態; 此時冗餘系統剛剛初始化數據初始化完畢,僅接收冗餘設備上線聲明報文; |
| |
| 在就緒狀態,參與冗餘系統的兩個設備已經確認了彼此的存在,此時通過命令報文通知對方以為冗餘系統的運行進行進一步的準備工作; |
| 同步狀態下,系統首先判斷參與冗餘的兩個設備狀態是否一致;然後對需要保持一致的 用戶變數區進行完全備份,以保證冗餘系統在發生故障的時候能實現平滑的切換; |
| 在運行狀態中,下位機功能塊組態程式開始運行,冗餘系統同步功能塊的運行輪次,以及進行故障檢測、線上狀態檢測,如果發現故障則進行相應處理,或進入切換狀態 |
| 切換狀態主要在冗餘系統發生故障的時候進行數據結構的轉換,錯誤報告,以及傳送命令報文以協調冗餘系統中的兩塊設備進行切換; |
| 在冗餘系統的運行過程中,因為某種未知原因導致狀態機混亂,則系統轉入出錯狀態; |
狀態機轉換過程如下:
設備上電後首先掃描網路中是否存在與自己IP、MAC相同的活動設備;
如果沒有掃描到活動設備則將自身設定為活動設備,並向網路中定時傳送活動設備線上聲明,並進入啟動狀態;
如果掃描到了活動設備,則將自身設定為備份設備,並向網路中定時傳送備份設備線上聲明,並進入啟動狀態;
當活動設備檢測到備份設備上線後轉移到就緒狀態,並通知活動設備也轉移到就緒狀態;
備份設備確認就緒後,活動設備與備份設備一同轉入同步狀態,開始一致性檢測與資源同步;
如果檢測與同步過程出錯則轉移到錯誤狀態進行錯誤處理;
同步完畢後活動設備與備份設備轉入運行狀態;
在運行過程中,活動設備定時傳送心跳報文,備份設備定時檢測活動設備的心跳報文;
如果活動設備運行過程中發生故障則轉入切換狀態;
在切換狀態下,活動設備變為備份設備,備份設備變為活動設備,並自動重啟狀態機;冗餘系統功能塊同步啟動之前,時鐘首先要完成同步;
活動設備上線時,傳送功能塊組態程式同步啟動請求報文,報文中封裝了預期啟動的時間戳;
備份設備接收報文,記錄時間戳,並做出回響;
當共同約定的時刻到來的時候,兩個設備同時啟動運行程式,並計算當前功能塊的時間片長度;
不同功能塊的時間片長度都是預先定義好的;
當前功能塊時間片逾時,則開始運行下一個功能塊;
從而達到冗餘設備的同步運行:主控設備與互為冗餘的從設備對組成了從設備冗餘系統;從設備冗餘對又分為活動設備與備份設備;主控設備與從設備冗餘對之間的通訊方式共有兩種:串列通訊和ZigBee無線通訊;連線方式共有四種:主控設備與活動設備通過串口建立連線;主控設備與活動設備通過無線建立連線;主控設備與備份設備通過串口建立連線;主控設備與備份設備通過無線建立連線;這四種連線方式同時使用或使用其中的幾種;
每一個主控設備能夠管理多個從設備冗餘對,並對這些冗餘的從設備分別進行管理;主控設備在運行的過程中,會掃描所有冗餘的從設備;查詢該冗餘系統都使用了那些選擇的連線方式,並且選擇的連線是否已經成功建立了通訊;主控設備會優先地選擇當前選擇連線中處於最高優先權的並可用的通訊連線方式。
故障日誌系統記錄當前運行模組運行過程中發生的所有識別故障或錯誤;故障日誌系統採用鍊表式結構設計,日誌信息儲存在非易失性存儲器中;日誌系統中每條日誌的信息需要包含:錯誤日誌的索引值;錯誤出現次數;最後一次錯誤發生的時間戳;日誌索引值,用於區別每條日誌所屬的故障類型,同時也用於方便的在日誌系統中查找某個專門的故障;
該發明所設計的故障日誌系統識別的故障共分四個級別;最高級別的故障為硬體類故障,此類故障會影響系統的性能或直接導致停機;其次是系統級別故障,此類故障會導致系統進入看門狗中斷並重新啟動;再次是軟體級別故障,此類故障在不停止運行的情況下通過軟體的方式進行修復;最低級別的是套用級別的錯誤,對系統功能影響很小;日誌系統通過日誌索引分別對上文的各級別故障加以編號;
該發明為故障日誌系統設計了一個32位的時間表示法,用來表示故障發生時的:年、月、日、時、分、秒;位由低到高:年以2010年為基數占用6個位,共表示從2010到2074年總計64年;使用4位表示1年中的1到12月;使用5位來表示每個月的1到最多31號;使用5位來表示0到23小時;使用6位來表示0到59分鐘;使用6位來表示0到59秒;
在該發明設計的故障日誌系統中,存放在非易失性存儲器中的不僅有日誌信息,還有關於日誌信息的索引結構,這個索引結構採用順序結構存儲,其內容包含:錯誤日誌的索引;日誌信息存放的地址指針。
故障日誌系統的訪問接口基於EPA協定制定;用戶一次性地讀取日誌系統中所有的日誌信息的索引;正回響報文中的內容為一張故障信息表,該發明所設計的故障信息表分為四個部分,每個部分在報文中所占的長度相同,即報文正文總長度的1/4;從報文開始到結束,故障級別的順序由高到低;故障信息表中為每個級別的故障分配了一個部分,這個部分的每一個位分別代表該級別中一種識別的故障;負回響為標準的EPA負回響。
該發明提供了一個根據故障編號來查找日誌信息的接口,該接口基於EPA協定制定;用戶根據具體的日誌編號來讀取日誌的詳細內容;命令報文正文部分有兩個位元組,用來寫入想要讀取的日誌的索引值;正回響報文返回三部分內容:日誌索引值、故障出現次數、故障發生的最後一次時間;負回響為標準的EPA負回響。
狀態訪問命令採用EPA格式封裝報文;主設備冗餘系統狀態訪問正回響報文正文部分總計3個位元組,具體內容如下表所示:
| |
| 主控器冗餘系統角色 0:沒有啟動;1:活動設備;2:備份設備 |
| 主控器冗餘系統狀態機的值: 0:開始;1:啟動;2:就緒;3:同步;4:運行;5:切換;T:出錯 |
| |
從設備冗餘系統主控設備狀態訪問通訊命令正回響報文正文部分總計3個位元組,具體內容如下表所示。
| |
| |
| 0~15號從設備冗餘通訊啟動情況 每個位元組代表一個從設備,位元組中每一位的含義如下: bit0:從設備冗餘是否啟動;bit1:活動串口啟動使能;bit2:活動無線啟動使能;bit3:備份串口啟動使能;bit4:備份無線啟動使能;bit5〜7: Reserved; |
| 0~15號從設備冗餘通訊當前使用的通訊路徑 每個位元組代表一個從設備,位元組值 0:未建立通訊;1:與活動設備串口進行通訊;2:與活動設備無線通訊 3:與備份設備串口進行通訊;4:與備份設備無線進行通訊; |
實施方式
以下結合技術方案和附圖詳細敘述該發明的具體實施例。
(一)主設備冗餘系統
在主設備冗餘系統中有IP、MAC完全一樣的兩塊設備,一塊為活動設備、另一塊為備份設備。
《工業控制網路冗餘容錯系統》設計了一種將兩塊地址完全相同的冗餘主控設備通過HUB接入上級乙太網絡的連線方法,解決了乙太網中設備地址衝突引發的問題。圖1舉例描述了主設備冗餘系統的網路接入方式。
主控設備冗餘系統中,兩塊設備通過由該發明的冗餘通訊層來進行通信。在主設備冗餘系統中,兩個冗餘設備間的所有通訊均通過這個冗餘通訊層來進行。冗餘通訊層協定在TCP/IP協定棧中部署在MAC層協定之上,屬於網路層協定。
圖2描述了冗餘通訊層協定在協定棧中的部署圖。
冗餘通訊層協定報文在物理層的封裝仍然使用RFC894的MAC層協定報文頭,源地址填寫冗餘設備自身的MAC地址,目的地址使用全網段廣播地址(FF.FF.FF.FF.FF.FF)。冗餘層通訊報文,使用0x88BC作為MAC報文頭type欄位的值,同時從報文格式的設計上保留了很多與原有IP層兼容的欄位,避免與同樣使用0x88BC的EPA報文相衝突。
運行過程中當MAC層解析報文頭時,發現type欄位值為0x88BC,則將報文回調給工作在數據鏈路層的冗餘層報文解析接口。
冗餘通訊層報文格式設計如下:
| |
| | | | |
| 16bit冗餘協定報文類型欄位 控制域(type control) |
16bit冗餘協定報文類型欄位 值域(type value) | |
16位自由欄位(Flex) 根據type不同,此欄位值的意義不同 | |
|
| |
報文中開始的6Byte數據與IP報文頭中的結構相同。包括:4bit的版本號、4bit的首部長度、8bit保留位、16bit報文總長度和16bit的報文標識。
接下來的4個位元組,分別是控制域和值域。冗餘層通訊報文就是依靠這兩項來區分報文的類別與用途。
報文中的數據區是可選的,根據報文類型的不同數據區長度不同或者為0。
主設備冗餘系統在運行的過程中,對於不同的輸入,系統會做出不同的回響以及相應的動作,這種特定的回響與動作的集合為一個狀態。該發明將冗餘系統運行過程中可能出現的狀態劃分為7種:開始、啟動、就緒、同步、運行、切換、出錯,並通過一套狀態機來控制這7種狀態的變遷。對於這7種狀態的具體描述,詳見下表:
| |
| 開始狀態,是冗餘系統運行的最初狀態。 此時冗餘系統剛剛初始化數據初始化完畢,僅接收冗餘設備上線聲明報文; |
| |
| 在就緒狀態,參與冗餘系統的兩個設備已經確認了彼此的存在,此時通過命令報文通知對方可以為冗餘系統的運行進行進一步的準備工作。 |
| 同步狀態下,系統首先判斷參與冗餘的兩個設備狀態是否一致。然後對需要保持一致的用戶變數區進行完全備份,以保證冗餘系統在發生故障的時候能實現平滑的切換; |
| 在運行狀態中,下位機功能塊組態程式開始運行,冗餘系統同步功能塊的運行輪次,以及進行故障檢測、線上狀態檢測,如果發現故障則進行相應處理,或進入切換狀態。 |
| 切換狀態主要在冗餘系統發生故障的時候進行數據結構的轉換,錯誤報告,以及傳送命 令報文以協調冗餘系統中的兩塊設備進行切換。 |
| 在冗餘系統的運行過程中,因為某種未知原因導致狀態機混亂,則系統轉入出錯狀態。 |
狀態機轉換過程如下:
設備上電後首先掃描網路中是否存在與自己IP、MAC相同的活動設備;
如果沒有掃描到活動設備則將自身設定為活動設備,並向網路中定時傳送活動設備線上聲明,並進入啟動狀態;
如果掃描到了活動設備,則將自身設定為備份設備,並向網路中定時傳送備份設備線上聲明,並進入啟動狀態;
當活動設備檢測到備份設備上線後轉移到就緒狀態,並通知活動設備也轉移到就緒狀態;
備份設備確認就緒後,活動設備與備份設備一同轉入同步狀態,開始一致性檢測與資源同步;
如果檢測與同步過程出錯則轉移到錯誤狀態進行錯誤處理;
同步完畢後活動設備與備份設備轉入運行狀態;
在運行過程中,活動設備定時傳送心跳報文,備份設備定時檢測活動設備的心跳報文;
如果活動設備運行過程中發生故障則轉入切換狀態;
在切換狀態下,活動設備變為備份設備,備份設備變為活動設備,並自動重啟狀態機。
圖3描述了狀態機的轉換過程。
在乙太網冗餘系統運行過程活動設備與備份設備之間共需要交換三種信息:
時鐘同步信息。因為兩個設備晶振的物理偏差必然存在,導致兩個設備運行一段時間過後,系統時鐘就需要重新同步;
狀態同步信息。當活動設備因為上位機或者用戶的操作,某個需要同步的暫存器狀態發生了改變,則需要重新同步該狀態;
健康報文。活動設備需要實時傳送健康報文,當備份設備一段時間內檢測不到活動設備的健康報文時,就會傳送健康報文請求,如果仍沒有反映,則認為活動設備已經離線,自動執行系統切換。
當活動設備運行過程中發現自身存在故障影響系統運行但卻不影響通訊,則傳送故障聲明通知備份設備執行切換;
備份設備接收到聲明並執行切換,同時通知活動設備停機。
圖4描述了活動設備與備份設備在運行過程中的互動關係圖。
為了實現備份設備與活動設備之間的平滑切換,該發明設計了一種通過將時鐘同步與時間片劃分相結合的算法,使活動設備與備份設備功能塊組態程式能夠同步運行,從而最大程度地保證了兩塊設備在運行過程中資源的一致性。
這種分時的功能塊程式運行算法,將每個功能塊的執行過程看作一個原子的過程。每個功能塊都能在一個約定好的時刻啟動執行,將功能塊的執行和系統時鐘對應了起來。同時通過IEEE1588的時鐘同步算法,將兩個模組的系統時鐘同步,從而完成了兩塊設備功能塊組態程式的同步運行。
在功能塊組態程式啟動同步之前,時鐘首先要完成同步。
圖5描述了活動設備與備份設備功能塊組態程式同步運行的過程。
(二)從設備冗餘系統
上文描述的主控設備或主控設備冗餘系統中的活動設備與互為冗餘的從設備對組成了從設備冗餘系統。從設備冗餘對又分為活動設備與備份設備。該節中提到的活動設備如無特定說明均指從設備冗餘對中的活動設備,備份設備如無特定說明均指從設備冗餘對中的備份設備。圖6舉例描述了從設備冗餘系統的結構。
該發明所設計的主控設備與從設備冗餘對之間的通訊方式共有兩種:串列通訊和ZigBee無線通訊。可選的連線方式共有四種:
主控設備與活動設備通過串口建立連線;
主控設備與活動設備通過無線建立連線;
主控設備與備份設備通過串口建立連線;
主控設備與備份設備通過無線建立連線。
這四種連線方式可以同時使用,也可以僅使用其中的幾種。
圖7給出了這四種通信方式的示意圖。
在從設備冗餘系統中,每一個主控設備最多可以管理16個從設備冗餘對,並對這些冗餘的從設備分別進行管理。主控設備為每一個從設備冗餘對都維護一個管理結構體,在這個結構中包含了上文中描述的主控設備可以使用的四種連線方式的具體屬性。
圖8描述的是主控設備中這四種連線方式對應從設備的示意圖。
主控設備在運行的過程中,會掃描16個從設備,查看是否啟動了從設備冗餘系統;
如果主控設備發現從設備啟動了冗餘系統,則查詢該冗餘系統都使用了那些可選擇的連線方式,並且選擇的連線是否已經成功建立了通訊。
主控設備針對四種連線方式提供了一個默認的優先權別,活動設備串口的優先權最高,其次是活動設備的無線連線埠,再次是備份設備的串口,最後是備份設備的無線連線埠。
主控設備會優先地選擇當前可選擇連線中處於最高優先權的通訊連線方式。
當處於最高優先權的通訊連線方式發生故障的時候,主控設備會尋找次一級的連線方式,並在之後的運行中不斷地嘗試恢復與較高通訊方式的連線。
圖9描述了主控設備管理從設備冗餘系統的執行流程。
同時從設備冗餘對中的活動設備也會在運行過程中對自身進行故障診斷,當發現設備發生故障時,寫入故障日誌,進入故障處理。
(三)故障日誌系統
該發明所設計的故障日誌系統記錄當前運行模組運行過程中發生的所有可識別故障或錯誤。為冗餘系統的管理與切換判斷提供依據。
故障日誌系統採用鍊表式結構設計,日誌信息儲存在非易失性存儲器中。日誌系統中每條日誌的信息需要包含:
錯誤日誌的索引值
錯誤出現次數
最後一次錯誤發生的時間戳
日誌索引值,用於區別每條日誌所屬的故障類型,同時也用於方便的在日誌系統中查找某個專門的故障。
該發明所設計的故障日誌系統可識別的故障共分四個級別。最高級別的故障為硬體類故障,此類故障會影響系統的性能或直接導致停機。其次是系統級別故障,此類故障會導致系統進入看門狗中斷並重新啟動。再次是軟體級別故障,此類故障可以在不停止運行的情況下通過軟體的方式進行修復。最低級別的是套用級別的錯誤,對系統功能影響很小。
日誌系統通過日誌索引分別對上文的各級別故障加以編號。
該發明設計的故障日誌系統每條日誌中記錄了相同故障出現的次數,對於相同的故障只需增加故障的計數並更新最後一次發生時間即可。
該發明為故障日誌系統設計了一個32位的時間表示法,用來表示故障發生時的:年、月、日、時、分、秒。位由低到高:年以2010年為基數占用6個位,共可表示從2010到2074年總計64年;使用4位表示1年中的1到12月;使用5位來表示每個月的1到最多31號;使用5位來表示0到23小時;使用6位來表示0到59分鐘;使用6位來表示0到59秒。
在該發明設計的故障日誌系統中,存放在非易失性存儲器中的不僅有日誌信息,還有關於日誌信息的索引結構,這個索引結構採用順序結構存儲,其內容包含:
這個順序的結構可以使得對日誌系統中日誌的查找更加方便。
(四)上位機監控接口
1、故障信息訪問接口
該發明設計了一組故障日誌系統的訪問接口,這些接口基於EPA協定制定。
用戶可以一次性地讀取日誌系統中所有的日誌信息的索引,通訊命令的EPA報文格式為:APPID=15000;OBJID=2。
正回響報文中的內容為一張故障信息表,該發明所設計的故障信息表分為四個部分,每個部分在報文中所占的長度相同,即報文正文總長度的1/4。從報文開始到結束,故障級別的順序由高到低。根據上文對故障日誌系統的描述,所有故障類型共分為四個級別,所以故障信息表中為每個級別的故障分配了一個部分,這個部分的每一個位分別代表該級別中一種可識別的故障。例如:
故障信息表的長度為16個位元組,則每個故障級別占4個位元組總計64位。假設故障信息表的開始四個位元組內容為0x0000000C,則在這個64位的表中第2和第3兩個位被置位,最開始的這個部分代表的是最高優先權的故障,所以這個信息表示日誌系統中存在兩條最高優先權的故障編號分別是0x0002和0x0003。
負回響為標準的EPA負回響。
該發明提供了一個根據故障編號來查找日誌信息的接口,該接口基於EPA協定制定。
通過這個接口用戶可以根據具體的日誌編號來讀取日誌的詳細內容,包括發生次數、發生時間。通訊命令的EPA報文格式為:APPID=15000;OBJID=3。命令報文正文部分有兩個位元組,用來寫入想要讀取的日誌的索引值。
正回響報文返回三部分內容:日誌索引值、故障出現次數、故障發生的最後一次時間。
負回響為標準的EPA負回響。
2、運行狀態訪問接口
該發明針對冗餘系統的運行過程提供了一套狀態訪問接口,方便用戶在需要的時候查詢系統運行的狀態。訪問命令採用EPA格式封裝報文。訪問接口集合中包含:
主設備冗餘系統狀態訪問通訊命令:APPID=15000;OBJID=4。
正回響報文正文部分總計3個位元組,具體內容如下表所示:
| |
| 主控設備冗餘系統角色 0:沒有啟動;1:活動設備;2:備份設備 |
| 主控設備冗餘系統狀態機的值: 0:開始;1:啟動;2:就緒;3:同步;4:運行;5:切換;-1:出錯 |
| |
從設備冗餘系統主控設備狀態訪問通訊命令:APPID=15000;OBJID=5。正回響報文正文部分總計3個位元組,具體內容如下表所示:
| |
| |
| 0~15號從設備冗餘通訊啟動情況 每個位元組代表一個從設備,位元組中每一位的含義如下: bit0:從設備冗餘是否啟動;bit1:活動串口啟動使能;bit2:活動無線啟動使能;bit3:備份串口啟動使能;bit4:備份無線啟動使能;bit5~7:Reserved。 |
| 0~15號從設備冗餘通訊當前使用的通訊路徑 每個位元組代表一個從設備,位元組值: 0:未建立通訊;1:與活動設備串口進行通訊;2:與活動設備無線通訊3:與備份設備串口進行通訊;4:與備份設備無線進行通訊。 |
根據上文對整個控制網路的描述,附圖10中給出了工業控制網路冗餘容錯系統在具體套用中的運行效果圖。
榮譽表彰
2014年11月6日,《工業控制網路冗餘容錯系統》獲得第十六屆中國專利優秀獎。