本發(fā)明涉及電測量技術(shù)領(lǐng)域,尤其涉及一種電能表RS485通信中的故障激發(fā)方法及系統(tǒng)。
背景技術(shù):
RS485通信目前已經(jīng)在工業(yè)自動化領(lǐng)域得到廣泛應(yīng)用,如在智能電表中,RS485標(biāo)準(zhǔn)串行通訊接口作為智能電表中的通訊接口與采集器等終端進行通訊。由于智能電表的安裝環(huán)境和使用條件以及其本身質(zhì)量等因素,智能電表在運行過程中會發(fā)生一些通信故障,造成通信的可靠性不高,而對智能電表進行RS485接口的通信性能測試可作為判斷其通信可靠性的重要手段。
現(xiàn)有技術(shù)中,對智能電表的RS485接口的通信性能測試方法為:在實驗室人工搭建測試環(huán)境,利用設(shè)置在印制板上的繼電器切換接入智能電表的負載,判斷智能電表在接入一定阻值的負載后是否能夠通信成功,從而獲得智能電表成功通信所能搭載的負載阻值范圍,將該負載阻值范圍作為電能表通信可靠性的重要指標(biāo)。
但是,利用繼電器切換負載需要通過對多個繼電器進行串并聯(lián)實現(xiàn)切換不同負載的阻值,程序設(shè)計較為復(fù)雜,且只能切換特定阻值的負載,不能實現(xiàn)無極測試,測試的精確度較差;現(xiàn)有技術(shù)是采用對負載阻值全遍歷的方式得出負載阻值的范圍,其測試效率較低;另外,由于需要的繼電器個數(shù)較多,會占用較大的印制板的空間,且繼電器有壽命的限制,因此耐用性較差。
技術(shù)實現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本發(fā)明提供一種電能表RS485通信中的故障激發(fā)方法及系統(tǒng)。
根據(jù)本發(fā)明實施例的第一方面,提供一種電能表RS485通信中的故障激發(fā)方法,包括:
設(shè)置RS485帶載能力的測試參數(shù),其中,所述測試參數(shù)包括與帶有RS485功能的智能電能表進行通信的波特率和負載阻抗值的測試區(qū)間;
利用二分算法選擇所述測試區(qū)間內(nèi)的負載阻抗值作為負載測試值;
將包含所述負載測試值的幀命令發(fā)送給RS485負載檢測裝置,所述RS485負載檢測裝置用于根據(jù)所述幀命令,控制伺服電機驅(qū)動模塊驅(qū)動滑動變阻器,使所述滑動變阻器輸出對應(yīng)的負載阻抗到所述帶有RS485功能的智能電能表,向所述帶有RS485功能的智能電能表發(fā)送抄表命令;
根據(jù)收到響應(yīng)信號的臨界點,得到所述帶有RS485功能的智能電能表的負載極限值,其中,所述響應(yīng)信號包括所述帶有RS485功能的智能電能表對所述抄表命令的應(yīng)答數(shù)據(jù)。
優(yōu)選地,所述利用二分算法選擇所述測試區(qū)間內(nèi)的負載阻抗值作為負載測試值包括:
選擇所述測試區(qū)間的中間值作為負載測試值;
根據(jù)收到所述帶有RS485功能的智能電能表對抄表命令的響應(yīng)信號,選擇所述測試區(qū)間的起點值與上次負載測試值的中間值作為再次測試的負載測試值;
根據(jù)沒有收到所述帶有RS485功能的智能電能表對抄表命令的響應(yīng)信號,選擇前兩次負載測試值的中間值作為再次測試的負載測試值。
優(yōu)選地,通過串口服務(wù)器同時對多個所述RS485負載檢測裝置分別發(fā)送所述幀命令。
優(yōu)選地,所述抄表命令包括抄錄所述帶有RS485功能的智能電能表的日期時間通訊幀,所述響應(yīng)信號包括所述日期時間通訊幀。
根據(jù)本發(fā)明實施例的第二方面,提供一種電能表RS485通信中的故障激發(fā)系統(tǒng),包括依次電連接的上位機、RS485負載檢測裝置和帶有RS485功能的智能電能表,其中:
所述上位機,用于設(shè)置RS485帶載能力的測試參數(shù)、向所述RS485負載檢測裝置發(fā)送包含所述負載測試值的幀命令以及計算所述帶有RS485功能的智能電能表的極限負載值;
所述RS485負載檢測裝置,用于根據(jù)所述幀命令,控制伺服電機驅(qū)動模塊驅(qū)動滑動變阻器,使所述滑動變阻器輸出對應(yīng)的負載阻抗到所述帶有RS485功能的智能電能表,向所述帶有RS485功能的智能電能表發(fā)送抄表命令;
所述帶有RS485功能的智能電能表,用于向所述上位機發(fā)送所述抄表命令的響應(yīng)信號。
優(yōu)選地,還包括串口服務(wù)器,所述上位機通過所述串口服務(wù)器與多個所述RS485負載檢測裝置電連接。
優(yōu)選地,所述RS485負載檢測裝置包含RS232通訊模塊、MCU控制模塊、伺服電機驅(qū)動模塊、可調(diào)電阻模塊和RS485通訊模塊;
所述RS232通訊模塊用于將所述RS485負載檢測裝置通過所述串口服務(wù)器和所述上位機進行通信;
所述MCU控制模塊用于根據(jù)所述幀命令控制所述伺服電機驅(qū)動模塊中伺服電機的轉(zhuǎn)動方向,向所述帶有RS485功能的智能電能表發(fā)送抄表命令,將所述響應(yīng)信號發(fā)送到所述上位機;
所述伺服電機驅(qū)動模塊用于調(diào)節(jié)所述可調(diào)電阻模塊的電阻值;
所述可調(diào)電阻模塊包括所述滑動變阻器,所述滑動變阻器用于調(diào)節(jié)所述電阻值,所述電阻值為所述RS485通訊模塊中A、B線之間接入的負載阻抗值;
所述RS485通訊模塊用于將所述RS485負載檢測裝置和所述帶有RS485功能的智能電能表進行通訊。
本發(fā)明的實施例提供的技術(shù)方案可以包括以下有益效果:
本發(fā)明實施例提供的電能表RS485通信中的故障激發(fā)方法,利用上位機中設(shè)置的二分算法對RS485負載檢測裝置的輸出負載阻抗的大小進行控制,從而獲取帶有RS485功能的智能電能表的負載極限值,獲得負載極限值的效率高;RS485負載檢測裝置通過伺服電機控制滑動變阻器調(diào)節(jié)輸出負載,實現(xiàn)了無級調(diào)阻,進而使獲得的負載極限值準(zhǔn)確性高;本發(fā)明實施例提供的電能表RS485通信中的故障激發(fā)系統(tǒng),可調(diào)電阻模塊為滑動變阻器,耐用性強。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種電能表RS485通信中的故障激發(fā)方法的流程示意圖;
圖2為本發(fā)明實施例提供的一種利用二分算法選擇負載測試值的流程示意圖;
圖3為本發(fā)明實施例提供的一種電能表RS485通信中的故障激發(fā)系統(tǒng)的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例提供的一種RS485負載檢測裝置的結(jié)構(gòu)示意圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1是根據(jù)一示例性實施例示出的一種電能表RS485通信中的故障激發(fā)方法的流程圖,如圖1所示,本實施例提供的RS485通信中的故障激發(fā)方法,包括:
S110:設(shè)置RS485帶載能力的測試參數(shù),其中,所述測試參數(shù)包括與帶有RS485功能的智能電能表進行通信的波特率和負載阻抗值的測試區(qū)間。
具體的,在上位機中開發(fā)RS485帶載能力自動化測試軟件,測試軟件用于進行本實施例的RS485故障激發(fā)測試。在測試軟件設(shè)置波特率和負載阻抗值的測試區(qū)間,其中,本實施例中,波特率優(yōu)選設(shè)置為2400bps,可滿足RS485正常通信要求,負載阻抗值的測試區(qū)間優(yōu)選為1-1999Ω,其中,1Ω為對帶有RS485功能的智能電能表進行常規(guī)通信測試得出的通信失敗電阻值,1999Ω為對帶有RS485功能的智能電能表進行常規(guī)通信測試得出的通信成功電阻值,當(dāng)然,也可選擇其他電阻值作為測試區(qū)間的通信成功電阻值和通信失敗電阻值,均應(yīng)屬于本發(fā)明的保護范圍。
進一步的,測試參數(shù)還包括負載極限值的誤差范圍,本實施例中,誤差范圍優(yōu)選為1Ω。
S120:利用二分算法選擇測試區(qū)間內(nèi)的負載阻抗值作為負載測試值。
本實施例中,為快速得到帶有RS485功能的智能電能表的負載極限值,選擇測試區(qū)間內(nèi)的部分負載阻抗值作為負載測試值進行多次測試,參見圖2,為本實施例提供的利用二分算法選擇負載測試值的流程示意圖,具體包括以下步驟:
S210:選擇測試區(qū)間的中間值作為負載測試值;
具體的,如測試區(qū)間為1-1999Ω,則選擇負載測試值為1000Ω;
S220:根據(jù)收到帶有RS485功能的智能電能表對抄表命令的響應(yīng)信號,選擇上次負載測試值與上次通信失敗電阻值的中間值作為再次測試的負載測試值;
具體的,根據(jù)負載測試值為1000Ω時,上位機收到帶有RS485功能的智能電能表對抄表命令的響應(yīng)信號,則1000Ω為上次通信成功電阻值,而上次通信失敗電阻值為1Ω,因此,選擇再次測試的負載測試值為(1000+1)/2=500.5Ω。
S230:根據(jù)沒有收到帶有RS485功能的智能電能表對抄表命令的響應(yīng)信號,選擇上次負載測試值與上次通信成功電阻值的中間值作為再次測試的負載測試值。
具體的,根據(jù)負載測試值為500.5Ω時,上位機沒有收到帶有RS485功能的智能電能表對抄表命令的響應(yīng)信號,則500.5Ω為上次通信失敗電阻值,而上次通信成功電阻值為1000Ω,因此,選擇再次測試的負載測試值為(1000+500.5)/2=775.25Ω。
進一步的,步驟S210-S230,為利用二分算法選取負載測試值的具體實施過程,由于帶有RS485功能的智能電能表的負載極限值不同和測試區(qū)間的選取可不同等因素,可多次重復(fù)步驟S220-S230,選取多個負載測試值進行測試。
S130:將包含負載測試值的幀命令發(fā)送給RS485負載檢測裝置,RS485負載檢測裝置用于根據(jù)幀命令,控制伺服電機驅(qū)動模塊驅(qū)動滑動變阻器,使滑動變阻器輸出對應(yīng)的負載阻抗到帶有RS485功能的智能電能表,并向帶有RS485功能的智能電能表發(fā)送抄表命令。
具體的,將上位機通過串口服務(wù)器與多個RS485負載檢測裝置進行通信:上位機通過串口服務(wù)器同時對多個RS485負載檢測裝置分別發(fā)送負載測試值和抄表命令,而多個RS485負載檢測裝置分別與多個帶有RS485功能的智能電能表一對一連接,進而實現(xiàn)對多個帶有RS485功能的智能電能表的并行測試,提高了對大批量帶有RS485功能的智能電能表進行測試的效率。
本實施例中,抄表命令包括抄錄帶有RS485功能的智能電能表的日期時間通訊幀,當(dāng)然,抄表命令也可為抄錄帶有RS485功能的智能電能表的其他信息,如用電信息等。
S140:根據(jù)收到響應(yīng)信號的臨界點,得到帶有RS485功能的智能電能表的負載極限值,其中,響應(yīng)信號包括帶有RS485功能的智能電能表對抄表命令的應(yīng)答數(shù)據(jù)。
具體的,RS485負載檢測裝置接收帶有RS485功能的智能電能表對抄表命令的響應(yīng)信號,響應(yīng)信號包括對抄表命令的應(yīng)答數(shù)據(jù),如日期時間通訊幀,如果接收成功,則將響應(yīng)信號轉(zhuǎn)發(fā)給上位機,上位機根據(jù)接收到響應(yīng)信號,判斷本次測試的負載測試值高于帶有RS485功能的智能電能表的負載極限值,則需要返回步驟S220,利用二分算法重新選擇負載測試值進行測試。
進一步的,如果RS485負載檢測裝置接收響應(yīng)信號失敗,則向上位機發(fā)送報警信號,上位機根據(jù)接收到報警信號,判斷本次測試的負載測試值低于帶有RS485功能的智能電能表的負載極限值,則需要返回步驟S230,利用二分算法重新選擇負載測試值進行測試。
上位機根據(jù)接收到響應(yīng)信號的臨界點,得到帶有RS485功能的智能電能表的負載極限值。其中,得到臨界點的過程包括:根據(jù)負載極限值的誤差范圍為1Ω,在測試過程中,當(dāng)存在某一通信成功電阻值和某一通信失敗電阻值的差值小于1Ω時,則臨界點在該通信成功電阻值和通信失敗電阻值之間,可選取該通信成功電阻值和通信失敗電阻值的中間值作為帶有RS485功能的智能電能表的負載極限值。
本實施例中,由于上位機接收的信號為響應(yīng)信號或報警信號的其中之一,因此,接收到的響應(yīng)信號的臨界點,即接收到響應(yīng)信號與報警信號的區(qū)別點,該臨界點(區(qū)別點)所代表的負載阻抗值即為所測帶有RS485功能的智能電能表的負載極限值。
本發(fā)明實施例還提供一種RS485通信中的故障激發(fā)系統(tǒng),用于根據(jù)上述方法進行RS485通信故障激發(fā)測試,參見圖3,為本發(fā)明實施例提供的一種RS485通信中的故障激發(fā)系統(tǒng)的結(jié)構(gòu)示意圖,如圖3所示,本發(fā)明實施例提供的電能表RS485通信中的故障激發(fā)系統(tǒng),包括依次電連接的上位機、RS485負載檢測裝置和帶有RS485功能的智能電能表和串口服務(wù)器。
具體的,上位機用于設(shè)置RS485帶載能力的測試參數(shù)、向RS485負載檢測裝置發(fā)送包含負載測試值的幀命令以及計算帶有RS485功能的智能電能表的極限負載值;
RS485負載檢測裝置用于根據(jù)幀命令,控制伺服電機驅(qū)動模塊驅(qū)動滑動變阻器,使所述滑動變阻器輸出對應(yīng)的負載阻抗到帶有RS485功能的智能電能表;
帶有RS485功能的智能電能表,用于向上位機發(fā)送抄表數(shù)據(jù)。
參見圖4,為本發(fā)明實施例提供的RS485負載檢測裝置的結(jié)構(gòu)示意圖,如圖4所示,RS485負載檢測裝置包含RS232通訊模塊、MCU控制模塊、伺服電機驅(qū)動模塊、可調(diào)電阻模塊和RS485通訊模塊。
具體的,RS232通訊模塊用于將RS485負載檢測裝置通過串口服務(wù)器和上位機進行通信;
MCU控制模塊用于根據(jù)幀命令控制伺服電機驅(qū)動模塊中伺服電機的轉(zhuǎn)動方向,向帶有RS485功能的智能電能表發(fā)送抄表命令,將響應(yīng)信號發(fā)送到上位機;
伺服電機驅(qū)動模塊用于調(diào)節(jié)可調(diào)電阻模塊的電阻值;
可調(diào)電阻模塊包括滑動變阻器,滑動變阻器用于調(diào)節(jié)電阻值,滑動變阻器輸出的電阻值即為RS485通訊模塊中A、B線之間接入的負載阻抗值;
RS485通訊模塊用于將RS485負載檢測裝置和帶有RS485功能的智能電能表進行通訊。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
由上述實施例可見,本發(fā)明實施例提供的電能表RS485通信中的故障激發(fā)方法,利用上位機中設(shè)置的二分算法對RS485負載檢測裝置的輸出負載阻抗的大小進行控制,從而獲取帶有RS485功能的智能電能表的負載極限值,獲得負載極限值的效率高;RS485負載檢測裝置通過伺服電機控制滑動變阻器調(diào)節(jié)輸出負載,實現(xiàn)了無級調(diào)阻,進而使獲得的負載極限值準(zhǔn)確性高;本發(fā)明實施例提供的電能表RS485通信中的故障激發(fā)系統(tǒng),可調(diào)電阻模塊為滑動變阻器,耐用性強。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里發(fā)明的公開后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。