本發明涉及通信技術領域,特別是涉及一種RS485串口通信設備的通訊狀態檢測方法和裝置。
背景技術:
得益于通信技術的發展,各種形形色色的通信設備越來越普及,這些通訊設備通常會連接同一串口如RS-485串口使用,通訊設備在使用過程中,可能會產生通訊失敗,為了能夠快速的找到通訊失敗的原因,因此需要對通訊狀態進行檢測。
現有對設備進行通訊狀態的檢測,是通過分別對連接于串口的設備的通訊失敗次數進行計數,當每一設備的通訊失敗次數達到預設值時,即產生相應設備的告警事件,以連接于同一串口的M(a1、a2…am)個設備為例,當a1的通訊失敗次數達到預設值時,產生“a1設備通訊中斷”的告警,當a2的通訊失敗次數達到預設值時,產生“a2設備通訊中斷”的告警,以此類推,當am的通訊失敗次數達到預設值時,產生“am設備通訊中斷”的告警,這樣的檢測方式僅能獲知設備的通訊產生中斷,而且告警的速度慢,無法確定通訊失敗發生時故障產生的原因。
技術實現要素:
基于此,有必要提供一種能快速確定設備通訊過程中的故障事件且反映故障原因的RS485串口設備通訊狀態檢測方法和裝置。
一種RS485串口設備通訊狀態檢測方法,包括:獲取待測串口設備一次通訊過程中的通訊失敗次數;判斷所述通訊失敗次數是否大于第一預設值;當所述通訊失敗次數大于或者等于所述第一預設值時,確定所述設備故障并產生設備告警事件;當所述通訊失敗次數小于所述第一預設值時,判斷所述通訊失敗次數是否大于第二預設值;當所述通訊失敗次數大于或者等于所述第二預設值時,判斷連接相同串口的另一設備的通訊失敗次數是否大于所述第二預設值;當所述另一設備的通訊失敗次數大于或者等于所述第二預設值時,確定所述串口故障并產生串口告警事件,所述第二預設值小于所述第一預設值。
一種RS485串口設備通訊狀態檢測裝置,包括:中斷獲取模塊,用于獲取待測串口設備一次通訊過程中的通訊失敗次數;第一判斷模塊,用于判斷所述通訊失敗次數是否大于第一預設值;設備故障模塊,用于當所述通訊失敗次數大于或者等于所述第一預設值時,確定所述設備故障并產生設備告警事件;第二判斷模塊,用于當所述通訊失敗次數小于所述第一預設值時,判斷所述通訊失敗次數是否大于第二預設值;第二判斷模塊,用于當所述通訊失敗次數大于或者等于所述第二預設值時,判斷連接同一串口的另一設備的通訊失敗次數是否大于所述第二預設值;串口故障模塊,用于當所述另一設備的通訊失敗次數大于或者等于所述第二預設值時,確定所述串口故障并產生串口告警事件,所述第二預設值小于所述第一預設值。
上述RS485串口設備通訊狀態檢測方法和裝置,通過獲取待測串口設備一次通訊過程中的通訊失敗次數與不同的預設值進行比較,通過三次比較確定出當設備故障和串口故障,其中,第二預設值小于第一預設值,并通過結合連接同一串口的其它設備的通訊失敗次數,當出現串口故障時可以快速確定故障原因并產生相應的故障告警事件,大大的提升了設備通訊過程中的故障事件及故障原因的確定效率,提高通訊狀態的檢測效率。
附圖說明
圖1為一實施例中RS485串口設備通訊狀態檢測方法的流程圖;
圖2為第二實施例中RS485串口設備通訊狀態檢測方法的流程圖;
圖3為第三實施例中RS485串口設備通訊狀態檢測方法的流程圖;
圖4為一實施例中RS485串口設備通訊狀態檢測裝置的結構示意圖;
圖5為第二實施例中RS485串口設備通訊狀態檢測裝置的結構示意圖;
圖6為第三實施例中RS485串口設備通訊狀態檢測裝置的結構示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,并不用于限定本發明。
除非另有定義,本文所使用的所有的技術和科學術語與屬于本發明的技術領域的技術人員通常理解的含義相同。本文中在本發明的說明書中所使用的術語只是為了描述具體的實施例的目的,不是旨在于限制本發明。本文所使用的術語“及/或”包括一個或多個相關的所列項目的任意的和所有的組合。
如圖1所示,在一個實施例中,提供一種RS485串口設備通訊狀態檢測方法,具體包括如下步驟。
步驟101,獲取待測串口設備一次通訊過程中的通訊失敗次數。
步驟102,判斷通訊失敗次數是否大于第一預設值。
步驟103,當通訊失敗次數大于或者等于所述第一預設值時,確定設備故障并產生設備告警事件。
步驟104,當通訊失敗次數小于所述第一預設值時,判斷通訊失敗次數是否大于第二預設值。
步驟105,當通訊失敗次數大于或者等于第二預設值時,判斷連接相同串口的另一設備的通訊失敗次數是否大于第二預設值。
步驟106,當另一設備的通訊失敗次數大于或者等于第二預設值時,確定串口故障并產生串口告警事件,第二預設值小于第一預設值。
串口設備是指通過連接于同一串口進行通訊的通訊設備,通常的串口包括以RS-485串口,同一串口上連接的設備數量通常為多個。待測串口設備是指待檢測的RS-485串口上連接的待檢測的通訊設備,該串口設備通訊狀態檢測方法具體實施時該待檢測的通訊設備可以是連接于該串口上的任一設備。一次通訊過程中通訊失敗次數是指待測串口設備與其它通訊設備進行報文收發通訊的過程中,一次報文收或者發的過程中收發失敗的次數。
設備故障告警事件和串口告警事件分別包括文字顯示、燈光或者聲音等方式,其中設備故障告警事件的告警具體方式不同于串口告警事件的具體方式以能夠將不同的故障相互區別,如為不同顏色燈光、不同頻率的聲音或者不同的文字等。
通過獲取待測串口設備一次通訊過程中的通訊失敗次數與不同的預設值進行比較,通過三次比較可分別確定出設備故障和串口故障,其中,第二預設值小于第一預設值,當待測串口設備出現通訊失敗的次數小于第一預設值且大于或者等于第二預設值時,結合連接同一串口的其它設備的通訊失敗次數與第二預設值的比較,通過分析串口故障會體現出連接到此串口的設備會同一時刻產生通訊失敗的特點,使得可以快速確定因串口故障而導致的設備通訊中斷,通過該通訊狀態檢測方法,當出現串口故障時可以快速確定故障原因并產生相應的故障告警事件,能夠實現區分設備故障還是串口故障的不同故障原因,大大的提升了設備通訊過程中的故障事件的確定效率,提高通訊狀態的檢測效率。
優選的,請參閱圖2,步驟101,獲取待測串口設備一次通訊過程中的通訊失敗次數的步驟之前,還包括:
步驟201,獲取連接相同串口的設備數量,根據設備數量確定待測串口設備的判斷等級;
步驟202,根據判斷等級確定第一預設值和第二預設值,其中,第二預設值=K*第一預設值/設備數量,其中,K為常數。
經過分析,對于同一串口連接多個設備的情況,設備故障和串口故障的表現不同,設備故障表現在該一個設備連續通訊失敗,而連接同一串口的設備通訊正常,而串口故障表現在連接到同一串口的設備在同一時刻都產生了通訊失敗。依據串口通訊的特點,結合同一串口連接設備數量的不同所產生的差異將通訊狀態檢測劃分出不同的判斷等級,同一串口連接的設備數量越多,而實際能反映出串口故障的故障原因所依據的產生待測串口設備通訊失敗的次數可以相對更少,設置第二預設值為第一預設值和設備數量的比值的設定倍數,提升了設備通訊過程中的故障事件的確定效率。具體實施時,通過將設備數量與判斷等級的對應關系進行預先存數,并確定相應判斷等級中第一預設值和第二預設值的大小,在進行檢測時,獲取與待測串口設備連接于同一串口的通訊設備數量,查找對應關系以確定判斷等級和相應的預設值大小。
優選的,步驟201,獲取連接相同串口的設備數量,根據設備數量確定待測串口設備的判斷等級的步驟包括:
當所述設備數量不大于2時,確定待測串口設備為第一判斷等級;
當所述設備數量大于2且不大于4時,確定待測串口設備為第二判斷等級;
當所述設備數量大于4時,確定待測串口設備為第三判斷等級;
第一判斷等級、第二判斷等級和第三判斷等級中第一預設值相等,K值為0.8~1.2。
在本申請的實施例中,第一預設值用于與設備的通訊失敗次數進行比較以確定設備故障,設備是否故障與連接同一串口的設備數量之間沒有影響,因此不同的判斷等級中第一預設值均相等,且第一預設值的大小可以根據現有確定設備是否故障的經驗進行確定。根據不同的設備數量確定判斷等級,K值優選為0.8~1.2,設備數量越多對應的判斷等級中第二預設值越小,由于判斷串口故障所需要的通訊失敗次數小于判斷設備故障所需要的通訊失敗次數,而且一個串口連接的設備越多的時候第一預設值和第二預設值之間的差值越大,因此當串口發生故障的時候,所需要實際檢測的通訊失敗次數可以遠小于現有的通過分別對連接于串口的設備的通訊失敗次數進行計數的檢測方法,并且可以直接區分出串口故障和設備故障。
進一步的,在另一實施例中,請參閱圖3,步驟101,獲取待測串口設備一次通訊過程中的通訊失敗次數的步驟之前,還包括:
步驟301,檢測待測串口設備是否通訊失敗;
若是,則執行所述獲取待測串口設備一次通訊過程中的通訊失敗次數的步驟;
若否,則返回所述檢測待測串口設備是否通訊失敗的步驟。
對通信設備狀態檢測首先檢測到串口設備是否發生通訊失敗,如果沒有產生通訊失敗則表示通信狀態正常,因此不需要對是否出現設備故障或串口故障進行判斷。其次,當通訊失敗次數小于第二預設值時或者當另一設備的通訊失敗次數小于第二預設值時,返回步驟301,檢測待測串口設備是否通訊失敗。當通訊失敗次數小于第二預設值時或者當另一設備的通訊失敗次數小于第二預設值時,表示通訊過程中雖然出現了通訊失敗的情況,然并非因設備或者串口故障所引起的,表示通信狀態正常。
在另一個實施例中,請參閱圖4,提供了一種RS485串口設備通訊狀態檢測裝置,包括中斷獲取模塊10、第一判斷模塊20、設備故障模塊30、第二判斷模塊40、第三判斷模塊50以及串口故障模塊60。其中,中斷獲取模塊10用于獲取待測串口設備一次通訊過程中的通訊失敗次數。第一判斷模塊20用于判斷通訊失敗次數是否大于第一預設值。設備故障模塊30用于當通訊失敗次數大于或者等于第一預設值時,確定設備故障并產生設備告警事件。第二判斷模塊40用于當通訊失敗次數小于第一預設值時,判斷通訊失敗次數是否大于第二預設值。第三斷模塊50用于當通訊失敗次數大于或者等于第二預設值時,判斷連接同一串口的另一設備的通訊失敗次數是否大于第二預設值。串口故障模塊60用于當另一設備的通訊失敗次數大于或者等于第二預設值時,確定串口故障并產生串口告警事件,其中第二預設值小于第一預設值。
請參閱圖5,為第二實施例中RS485串口設備通訊狀態檢測裝置,該串口設備通訊狀態檢測裝置還包括等級確定模塊11和預設值模塊12。等級確定模塊11用于獲取連接相同串口的設備數量,根據設備數量以預設的規則確定待測串口設備的判斷等級。預設值模塊12用于根據所述判斷等級確定第一預設值和第二預設值,其中,第二預設值=K*第一預設值/設備數量,K為常數。經過分析,對于同一串口連接多個設備的情況,設備故障和串口故障的表現形式不同,設備故障表現在該一個設備連續通訊失敗,而連接同一串口的設備通訊正常,而串口故障表現在連接到同一串口的設備在同一時刻都產生了通訊失敗。依據串口通訊的特點,結合同一串口連接設備數量的不同所產生的差異將通訊狀態檢測劃分出不同的判斷等級,同一串口連接的設備越多,實際能反映出串口故障的故障原因所依據的產生待測串口設備通訊失敗的次數可以相對更少,設置第二預設值為第一預設值和設備數量的比值的設定倍數,提升了設備通訊過程中的故障事件的確定效率。
等級確定模塊包括第一等級單元、第二等級單元和第三等級單元。第一等級單元用于當設備數量不大于2時,確定待測串口設備為第一判斷等級。第二等級單元用于當設備數量大于2且不大于4時,確定待測串口設備為第二判斷等級。第三等級單元當設備數量大于4時,確定待測串口設備為第三判斷等級。第一判斷等級、第二判斷等級和第三判斷等級中第一預設值相等,K值為0.8~1.2。在本申請的實施例中,第一預設值用于與設備的通訊失敗次數進行比較以確定設備故障,設備故障與連接同一串口的設備數量之間沒有影響,因此不同的判斷等級中第一預設值均相等,且第一預設值的大小可以根據現有確定設備是否故障的經驗進行確定。根據不同的設備數量確定判斷等級,K值優選為0.8~1.2,設備數量越多對應的判斷等級中第二預設值越小,由于判斷串口故障所需要的通訊失敗次數小于判斷設備故障所需要的通訊失敗次數,而且一個串口連接的設備越多的時候第一預設值和第二預設值之間的差值越大,因此當串口發生故障的時候,所需要實際檢測的通訊失敗次數可以遠小于現有的通過分別對連接于串口的設備的通訊失敗次數進行計數的檢測方法,并且可以直接區分出串口故障和設備故障。
請參閱圖6,為第三實施例中RS485串口設備通訊狀態檢測裝置,該串口設備通訊狀態檢測裝置還包括通訊檢測模塊13。通訊檢測模塊13用于檢測待測串口設備是否通訊失敗,當所述待測串口設備產生通訊失敗時,執行獲取待測串口設備一次通訊過程中的通訊失敗次數,當所述待測串口設備未產生通訊失敗時,返回所述檢測待測串口設備是否通訊失敗的步驟。優選的,還包括返回模塊,用于當通訊失敗次數小于第二預設值時或者當另一設備的通訊失敗次數小于第二預設值時,返回檢測待測串口設備是否通訊失敗的步驟。對通信設備狀態檢測首先檢測到串口設備是否發生通訊失敗,如果沒有產生通訊失敗則表示通信狀態正常,因此不需要對是否出現設備故障或串口故障進行判斷。其次,當通訊失敗次數小于第二預設值時或者當另一設備的通訊失敗次數小于第二預設值時,返回步驟301,檢測待測串口設備是否通訊失敗。當通訊失敗次數小于第二預設值時或者當另一設備的通訊失敗次數小于第二預設值時,表示通訊過程中雖然出現了通訊失敗的情況,然并非因設備或者串口故障所引起的,表示通信狀態正常。
該RS485串口設備通訊檢測裝置,通過獲取待測串口設備一次通訊過程中的通訊失敗次數與不同的預設值進行比較,通過三次比較可分別確定出設備故障和串口故障,其中,第二預設值小于第一預設值,當待測串口設備出現通訊失敗的次數小于第一預設值且大于或者等于第二預設值時,結合連接同一串口的其它設備的通訊失敗次數與第二預設值的比較,通過分析串口故障會體現出連接到此串口的設備會同一時刻產生通訊失敗的特點,使得可以快速確定因串口故障而導致的設備通訊中斷,通過該通訊狀態檢測方法,當出現串口故障時可以快速確定故障原因并產生相應的故障告警事件,能夠實現區分設備故障還是串口故障的不同故障原因,大大的提升了設備通訊過程中的故障事件和故障原因的確定效率,提高通訊狀態的檢測效率。
本領域普通技術人員可以理解實現上述實施例方法中的全部或者部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。