System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機,具體涉及一種串行總線冗余通信診斷方法、系統及電子設備。
技術介紹
1、為了保障數據傳輸的穩定,目前的串行總線通信系統經常使用冗余方案,即在上游設置多于一個的控制中心,同一時刻只有一個控制中心作為主站負責與下游設備進行通信,其余的控制中心作為備站待機,當需要切換時,選出一個備站代替原主站成為新的主站。
2、對于備站來說,需要做好隨時成為主站的準備。因此,備站同樣需要確認自身與所述下游設備是否能夠通信。但是在串口通信中,若同時出現兩個控制中心使用串口鏈路與下游設備通信時,鏈路中的數據會出現混亂,而主站的正常工作會頻繁使用串行總線進行通信。
3、因此,如何在使用冗余方案的串行總線通信系統中,在保證不出現鏈路數據混亂的前提下,確認備站與下游設備的通信連接情況,是亟需解決的問題。
技術實現思路
1、有鑒于此,本專利技術致力于提供一種串行總線冗余通信診斷方法、系統及電子設備,以在使用冗余方案的串行總線通信系統中,在保證不出現鏈路數據混亂的前提下,確認備站與下游設備的通信連接情況。
2、第一方面,本申請實施例提供了一種串行總線冗余通信診斷方法,應用于一種串行總線冗余通信系統中的主站,所述串行總線冗余通信系統還包括備站和下游設備,所述主站與所述備站通過心跳線連接,所述主站與所述備站均通過串行總線與所述下游設備連接,所述方法,包括:
3、獲取自診斷信息,所述自診斷信息包括所述備站通過自診斷檢測自身與所述下游設備是否能夠通信的檢測記錄;
4、當所述自診斷信息異常時,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態,以在所述備站等待狀態下,等待所述備站返回診斷結果;
5、所述通信診斷指令用于指示所述備站通過所述串行總線向所述下游設備發送診斷信息,基于所述診斷信息的反饋信息生成所述診斷結果。
6、可選地,所述獲取自診斷信息,包括:
7、以第一預設時長為周期,通過所述心跳線周期性向所述備站發送自診斷信息傳輸指令,并通過所述心跳線接收所述備站根據所述自診斷信息傳輸指令返回的所述自診斷信息;或,通過所述心跳線接收所述備站以第二預設時長為周期,周期性發送的所述自診斷信息。
8、可選地,所述當所述自診斷信息異常時,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態,包括:
9、當所述主站與所述下游設備通信在線且所述備站與所述下游設備通信在線,但所述自診斷信息表征所述備站最近的自診斷未成功時,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態;
10、或,
11、當所述主站與所述下游設備通信在線且所述備站與所述下游設備通信離線,且所述自診斷信息表征所述備站最近的自診斷未成功時,在預設的等待時間后,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態。
12、可選地,所述當所述自診斷信息異常時,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態,包括:
13、當所述主站與所述下游設備通信離線且所述備站與所述下游設備通信離線,且所述自診斷信息表征所述備站最近的自診斷未成功時,以預設的輪詢診斷時長為周期,周期性執行如下步驟直至所述主站和所述備站中的至少一個設備與所述下游設備通信在線:
14、通過所述串行總線向所述下游設備發送診斷信息,以嘗試與所述下游設備建立通信聯系;
15、與所述下游設備建立通信聯系失敗后,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態;
16、接收所述備站返回的所述診斷結果,當所述診斷結果顯示所述備站與所述下游設備建立通信聯系失敗時,退出備站等待狀態。
17、第二方面,本申請實施例提供了一種串行總線冗余通信診斷方法,應用于一種串行總線冗余通信系統中的備站,所述串行總線冗余通信系統還包括主站和下游設備,所述主站與所述備站通過心跳線連接,所述主站與所述備站均通過串行總線與所述下游設備連接,所述方法,包括:
18、進行自診斷獲取并向所述主站發送自診斷信息;所述自診斷信息包括所述備站通過自診斷檢測自身與所述下游設備是否能夠通信的檢測記錄;
19、通過所述心跳線接收所述主站根據所述自診斷信息返回的通信診斷指令,并根據所述通信診斷指令通過所述串行總線向所述下游設備發送診斷信息;
20、基于所述診斷信息的反饋信息生成并向所述主站返回所述診斷結果。
21、可選地,進行自診斷獲取并向所述主站發送自診斷信息,包括:
22、以第三預設時長為周期,周期性進行所述自診斷獲取所述自診斷信息;
23、接收所述主站以第一預設時長為周期,通過所述心跳線周期性發送的自診斷信息傳輸指令,根據所述自診斷信息傳輸指令通過所述心跳線向所述主站發送所述自診斷信息;或,以第二預設時長為周期,周期性通過所述心跳線向所述主站發送所述自診斷信息。
24、可選地,所述通過所述心跳線接收所述主站根據所述自診斷信息返回的通信診斷指令,并根據所述通信診斷指令通過所述串行總線向所述下游設備發送診斷信息;基于所述診斷信息的反饋信息生成并向所述主站返回所述診斷結果,包括:
25、當所述主站與所述下游設備通信離線且所述備站與所述下游設備通信離線,且所述自診斷信息表征所述備站最近的自診斷未成功時,以預設的輪詢診斷時長為周期,周期性執行如下步驟直至所述主站和所述備站中的至少一個設備與所述下游設備通信在線:
26、通過所述心跳線接收所述主站發送的通信診斷指令,根據所述通信指令通過所述串行總線向所述下游設備發送診斷信息,以嘗試與所述下游設備建立通信聯系;
27、與所述下游設備建立通信聯系失敗后,向所述主站返回所述診斷結果,所述診斷結果顯示所述備站與所述下游設備建立通信聯系失敗。
28、可選地,所述進行自診斷獲取并向所述主站發送自診斷信息,包括:
29、監聽所述串行總線,獲取所述串行總線傳輸的第一數據和第二數據,所述第一數據為所述主站向所述下游設備發送的通信請求,所述第二數據所述下游設備根據所述通信請求向所述主站發送的應答消息;
30、根據所述第一數據和所述第二數據,獲取并向所述主站發送自診斷信息。
31、第三方面,本申請實施例提供了一種串行總線冗余通信系統,包括:
32、一個主站、至少一個備站和下游設備,所述主站和所述備站均通過串行總線與所述下游設備連接,所述主站和所述備站通過心跳線連接;
33、所述備站,用于進行自診斷獲取并向所述主站發送自診斷信息;所述自診斷信息包括所述備站通過自診斷檢測自身與所述下游設備是否能夠通信的檢測記錄;通過所述心跳線接收所述主站根據所述自診斷信息返回的通信診斷指令,并根據所述通信診斷指令通過所述串行總線向所述下游設備發送診斷信息;基于所述診斷信息的反饋信息生成并向所述主站返回所述診斷結果;
...
【技術保護點】
1.一種串行總線冗余通信診斷方法,其特征在于,應用于一種串行總線冗余通信系統中的主站,所述串行總線冗余通信系統還包括備站和下游設備,所述主站與所述備站通過心跳線連接,所述主站與所述備站均通過串行總線與所述下游設備連接,所述方法,包括:
2.根據權利要求1所述的方法,其特征在于,所述獲取自診斷信息,包括:
3.根據權利要求1所述的方法,其特征在于,所述當所述自診斷信息異常時,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態,包括:
4.根據權利要求1所述的方法,其特征在于,所述當所述自診斷信息異常時,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態,包括:
5.一種串行總線冗余通信診斷方法,其特征在于,應用于一種串行總線冗余通信系統中的備站,所述串行總線冗余通信系統還包括主站和下游設備,所述主站與所述備站通過心跳線連接,所述主站與所述備站均通過串行總線與所述下游設備連接,所述方法,包括:
6.根據權利要求5所述的方法,其特征在于,進行自診斷獲取并向所述主站發送自診斷信息,包括:
7.根據
8.根據權利要求5所述的方法,其特征在于,所述進行自診斷獲取并向所述主站發送自診斷信息,包括:
9.一種串行總線冗余通信系統,其特征在于,包括:
10.根據權利要求9所述的系統,其特征在于,所述主站和所述備站通過心跳線連接,包括:
11.一種電子設備,其特征在于,包括存儲器和處理器;
...【技術特征摘要】
1.一種串行總線冗余通信診斷方法,其特征在于,應用于一種串行總線冗余通信系統中的主站,所述串行總線冗余通信系統還包括備站和下游設備,所述主站與所述備站通過心跳線連接,所述主站與所述備站均通過串行總線與所述下游設備連接,所述方法,包括:
2.根據權利要求1所述的方法,其特征在于,所述獲取自診斷信息,包括:
3.根據權利要求1所述的方法,其特征在于,所述當所述自診斷信息異常時,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態,包括:
4.根據權利要求1所述的方法,其特征在于,所述當所述自診斷信息異常時,通過所述心跳線向所述備站發送通信診斷指令,并進入備站等待狀態,包括:
5.一種串行總線冗余通信診斷方法,其特征在于,應用于一種串行總線冗余通信系統中的備站,所述串行總線冗余通信系統還包括主站和下游設備,所述主站與所述備...
【專利技術屬性】
技術研發人員:賀學文,
申請(專利權)人:杭州和利時自動化有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。