基于Ethernet的低壓電力線載波阻抗動(dòng)化測(cè)試系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
電力線網(wǎng)絡(luò)分布廣泛,其接入的負(fù)載復(fù)雜多樣并具有時(shí)變性,載波信道的阻抗匹配與否嚴(yán)重影響著電力線載波的可靠、實(shí)時(shí)傳輸[1]。在電網(wǎng)處于工作狀態(tài)時(shí),人們會(huì)測(cè)量電網(wǎng)載波信道的阻抗值,通過這些數(shù)據(jù)來優(yōu)化載波信號(hào),保障載波通信和抄表的質(zhì)量。DZ3載波阻抗測(cè)試裝置正是用于測(cè)量低壓電力線的載波信道阻抗,它主要由主站和終端兩部分組成。
主站通過向測(cè)試終端發(fā)送統(tǒng)一格式的報(bào)文指令來控制終端的具體操作。主站負(fù)責(zé)接收、存儲(chǔ)終端測(cè)試所得的數(shù)據(jù),并對(duì)終端上傳的數(shù)據(jù)進(jìn)行相關(guān)處理。終端依據(jù)自由坐標(biāo)軸阻抗測(cè)試原理,可測(cè)量80 kHz~500 kHz量程范圍內(nèi)的低壓電力線載波信道阻抗的模值和相位[2-3]。每個(gè)終端都配有一個(gè)獨(dú)一無二的ID號(hào)。當(dāng)終端與主站連接成功時(shí),主站管理軟件的界面上會(huì)顯示出在線終端設(shè)備的ID號(hào),通過選中ID號(hào)來對(duì)相應(yīng)的終端設(shè)備發(fā)送指令。使用主站管理軟件設(shè)置測(cè)試頻點(diǎn)、測(cè)量時(shí)間間隔等參數(shù),終端可自動(dòng)完成單一頻點(diǎn)或是多個(gè)頻點(diǎn)的載波阻抗測(cè)量,并保存測(cè)量數(shù)據(jù)。
通過主站設(shè)置相應(yīng)的參數(shù)可使終端實(shí)現(xiàn)阻抗的自動(dòng)化測(cè)試,主站與終端之間有三種通信方式:USB、GPRS及以太網(wǎng)通信方式,從而使阻抗測(cè)試更加方便。使用一根USB連接線直接把計(jì)算機(jī)與終端相連,主站便可讀取終端中的測(cè)量數(shù)據(jù),并向終端發(fā)送指令,但電腦的USB接口有限,一臺(tái)PC機(jī)不能同時(shí)控制多臺(tái)終端,且USB連接線長(zhǎng)度有限只能近距離測(cè)試[4-5]。也可采用GPRS的通信方式,在終端的GPRS模塊中安上客戶識(shí)別模塊SIM卡(Subscriber Identity Module),主站的通信設(shè)置項(xiàng)選擇GPRS通信即可控制終端運(yùn)行,但這種方式費(fèi)用較高[2]。為了降低測(cè)試費(fèi)用并實(shí)現(xiàn)對(duì)不同地點(diǎn)的多臺(tái)終端的同時(shí)監(jiān)控,新增了以太網(wǎng)的通信方式。以太網(wǎng)可封裝任何協(xié)議的數(shù)據(jù),具有標(biāo)準(zhǔn)化成熟、靈活性好、成本低、易于使用等優(yōu)勢(shì),選用以太網(wǎng)通信方式,主站可同時(shí)監(jiān)控在同一局域網(wǎng)內(nèi)的多臺(tái)終端設(shè)備[6,7]。
2 DZ3載波阻抗測(cè)試終端以太網(wǎng)通信方式調(diào)測(cè)
DZ3載波阻抗測(cè)試終端原有USB與GPRS兩種通信方式,現(xiàn)在又添加了以太網(wǎng)的通信方式[8]。其實(shí)質(zhì)是在終端硬件原有基礎(chǔ)上增加了一個(gè)以太網(wǎng)轉(zhuǎn)串口模塊,并在終端的軟件部分進(jìn)行了串口接收數(shù)據(jù)的相關(guān)修改。該模塊給每臺(tái)終端設(shè)備都設(shè)置了一個(gè)IP號(hào),可自動(dòng)偵測(cè)10/100 Mb/s的網(wǎng)絡(luò)環(huán)境,實(shí)現(xiàn)TCP/IP到TTL間的數(shù)據(jù)轉(zhuǎn)換。為確保使用新的通信方式時(shí),終端與主站間能正常地進(jìn)行命令與數(shù)據(jù)的傳輸,且不影響其他所有模塊正常工作,需要在使用前對(duì)其進(jìn)行相應(yīng)的測(cè)試。
2.1 終端部分程序的修改
以太網(wǎng)數(shù)據(jù)收發(fā)方式除04命令(主站向終端發(fā)送要求上傳ID號(hào)的命令)外,其他所有命令與USB通信方式相同,數(shù)據(jù)處理方式也與USB一致,程序都進(jìn)入U(xiǎn)SB_Poll()函數(shù)進(jìn)行命令的處理,只是測(cè)量數(shù)據(jù)包的發(fā)送方式不同于USB,采用的是串口發(fā)送,再經(jīng)串口轉(zhuǎn)以太網(wǎng)接口模塊,最后由以太網(wǎng)上傳至主站。因此,終端的程序需增加判斷終端連接上線的函數(shù),并在串口接收數(shù)據(jù)及部分命令處理程序中進(jìn)行修改。具體執(zhí)行步驟如下:
(1)修改串口0接收中斷函數(shù)void IntUart0Rx(void) interrupt 4。原程序負(fù)責(zé)接收主站發(fā)送給終端的所有命令,將接收到的命令存入臨時(shí)緩存中,再調(diào)用接收串比較函數(shù)來判定接收的命令標(biāo)置位。現(xiàn)在程序中增加了以太網(wǎng)連接方式標(biāo)記位,用于處理以太網(wǎng)連接方式的數(shù)據(jù),再依據(jù)命令的第二位(命令的第二位數(shù)字表示當(dāng)前接收命令的長(zhǎng)度)來截取測(cè)試所需的有效位數(shù)。
(2)修改接收串比較函數(shù)GPRS_RecString_Comp(Uart0_Re_buf)。該函數(shù)原用于比較GPRS通信方式時(shí)接收到的字符串,以便相應(yīng)標(biāo)志位的設(shè)置?,F(xiàn)在終端新增了以太網(wǎng)與串口接口轉(zhuǎn)換的通信模塊,當(dāng)終端與主站都上線并處于同一局域網(wǎng)時(shí),為確認(rèn)終端設(shè)備是否已經(jīng)與主站連接成功,主站會(huì)向終端發(fā)送04命令,即ID號(hào)上傳請(qǐng)求命令。此時(shí),若終端已連接上線,終端的串口中斷接收函數(shù)可接收到04命令,然后進(jìn)入接收串比較函數(shù)。比較函數(shù)把接收到的命令與程序中記錄的正確命令相比較,若接收的命令完全正確,終端會(huì)立即把ID號(hào)回復(fù)給主站,并把以太網(wǎng)通信方式標(biāo)記位設(shè)置為1,表示終端與主站連接成功。否則表示終端與主站連接失敗,主站無法使用以太網(wǎng)的方式向終端發(fā)送命令及接收終端上傳的數(shù)據(jù)。
(3) 修改void USB_Poll(unsigned char *n)函數(shù)。該函數(shù)原是USB通信方式的命令處理函數(shù),由于以太網(wǎng)通信方式的命令處理同USB一致(04命令除外),只有處理后的數(shù)據(jù)包發(fā)送方法不同,因此,在原函數(shù)中調(diào)用了串口發(fā)送程序。當(dāng)以太網(wǎng)通信方式標(biāo)記位的值為1時(shí),終端的數(shù)據(jù)包采用串口發(fā)送至串口轉(zhuǎn)以太網(wǎng)模塊,經(jīng)以太網(wǎng)傳至主站。
2.2 終端以太網(wǎng)通信方式的命令收發(fā)測(cè)試
測(cè)前需先確定DZ3載波阻抗測(cè)試終端的硬件無故障,程序修改完編譯無錯(cuò)誤后即可載入芯片中開始具體的測(cè)試。測(cè)試方法是先使用網(wǎng)絡(luò)調(diào)試助手發(fā)指令給終端,若終端能辨識(shí)出接收的指令正確與否,同時(shí)正確回復(fù)所有接收正確的指令,則表示終端軟、硬件均無誤,可與主站連接正常工作。終端回復(fù)的數(shù)據(jù)包中數(shù)據(jù)格式多樣,有些為十六進(jìn)制數(shù)據(jù),有些則為BCD碼,還有些為WORD型數(shù)據(jù)。
主要測(cè)試的幾條常用指令如下:
(1) ID號(hào)的上傳
主站開機(jī),若選擇以太網(wǎng)通信方式,主站向終端發(fā)送“04 04 FF 00”命令,要求終端上傳ID號(hào),終端中斷接收函數(shù)(void IntUart0Rx(void) interrupt 4,串口0接收中斷函數(shù))接到04命令后,進(jìn)入GPRS_RecString_Comp函數(shù),對(duì)接收到的串比較,判斷接收到的串中與04命令匹配后,對(duì)相應(yīng)的標(biāo)志置位設(shè)置為1,表示終端連接上網(wǎng)絡(luò)了。又返回中斷接收函數(shù)。后進(jìn)入U(xiǎn)SB_Poll()函數(shù),若Comcode=0x04,用串口發(fā)送ID給主站。具體測(cè)試如下:
主站發(fā):04 04 FF 00
終端回復(fù):相應(yīng)終端設(shè)備的ID號(hào),如84 00 00 0C 0C 05 00 01 03 03 80 00。
終端回復(fù)的數(shù)據(jù)串表示接收數(shù)據(jù)的長(zhǎng)度為12位(終端回復(fù)主站的命令的第3位與第4位表示報(bào)文長(zhǎng)度,00 0C是十六進(jìn)制數(shù)據(jù),轉(zhuǎn)為十進(jìn)制數(shù)值為12),該測(cè)試終端的ID號(hào)的流水號(hào)為: 000133。
若終端無回復(fù),則需先檢查網(wǎng)絡(luò)調(diào)試助手與終端是否已建立連接,確定連接后,逐步調(diào)試程序,查看程序的串口接收函數(shù)中有無指令接收到,如此逐步查詢直至找到具體故障點(diǎn)。若終端回復(fù)的位數(shù)不對(duì)或是回復(fù)的數(shù)據(jù)有誤,則需先查看接收到的指令是否正確,若正確則進(jìn)入相應(yīng)指令的數(shù)據(jù)處理函數(shù),辨別是終端數(shù)據(jù)處理不當(dāng)還是數(shù)據(jù)包發(fā)送時(shí)發(fā)生了掉包故障,亦或是主站接收程序的故障。
(2)狀態(tài)讀回
主站發(fā)要求讀回當(dāng)前測(cè)試狀態(tài)的08命令給終端,終端接收到命令,進(jìn)入U(xiǎn)SB_Poll() 函數(shù),先解析命令,得知是08命令后(即Comcode=0x08),進(jìn)入08命令的處理程序,數(shù)據(jù)處理后需上傳給主站的數(shù)據(jù)包使用串口發(fā)送給主站。測(cè)試如下:
主站發(fā):08 04 F3 00
終端回復(fù):終端設(shè)備的當(dāng)前具體狀態(tài),如88 00 00 12 05 02 A0 8C 20 11 07 07 17 16 34 19 55 00。
從接收數(shù)據(jù)串的第3位和第4位可知主站接收到的這串?dāng)?shù)據(jù)長(zhǎng)度為18位(00 12十進(jìn)制為18),05表示測(cè)試的組間時(shí)間間隔為5 min,02表示頻點(diǎn)時(shí)間間隔為2 min,當(dāng)前測(cè)試頻點(diǎn)為110 kHz(A08C十進(jìn)制為41 100,
41 100-40 000=1100,1 100/10=110),20 11 07 07 17 16 34 19則表示當(dāng)前的時(shí)間狀態(tài):2011年、周六、7月、17日、16時(shí)、34分、19秒。
其他所有指令的發(fā)送與接收都是在確定ID號(hào)上傳正確后才可進(jìn)行,此時(shí)可確定串口的收發(fā)程序無誤,直接調(diào)測(cè)命令解析與數(shù)據(jù)處理部分的程序。
(3) 阻抗實(shí)時(shí)測(cè)量
主站發(fā)03命令給終端,終端接收到命令,進(jìn)入U(xiǎn)SB_Poll()函數(shù),解析得知是03命令后(即Comcode=0x03),進(jìn)入03命令的處理程序,在實(shí)時(shí)測(cè)量結(jié)束后,把測(cè)量所得的數(shù)據(jù)通過串口發(fā)送當(dāng)前狀態(tài)給主站。阻抗實(shí)時(shí)測(cè)量的測(cè)試過程如下:
主站發(fā):03 04 F8 00
終端回復(fù):終端當(dāng)前測(cè)量的頻率點(diǎn)、阻抗模值及相位等數(shù)據(jù)。如83 00 00 21 11 07 15 2B 5C 16 09 00 31 FF F8 52 6C 16 09 00 66 FF FD 79 7C 16 09 00 CC FF FD 91 00。
終端答復(fù)主站的這串?dāng)?shù)據(jù)的長(zhǎng)度為33位(00 21十進(jìn)制為33),11 07 15表示11年7月15日,2B 5C表示測(cè)試頻率點(diǎn)為110(2B 5C十進(jìn)制為11 100, 11 100-10 000=1 100,1 100/10=110) ,16 09表示16時(shí)9分,阻抗模值為20.4(00 CC十進(jìn)制為204,204/10=20.4),F(xiàn)F FD分別為相位高低位的計(jì)算參數(shù),91為校驗(yàn)位,00表示最后的結(jié)束符。終端實(shí)時(shí)測(cè)量的具體回復(fù)數(shù)據(jù)會(huì)依據(jù)當(dāng)前主站設(shè)置測(cè)量的參數(shù)值而變化。
若終端回復(fù)的數(shù)據(jù)與主站設(shè)置的參數(shù)不一致,需要查看03命令的解析程序解析結(jié)果是否正確,若命令解析無誤則應(yīng)逐步調(diào)試阻抗測(cè)量部分的程序,觀察幾條關(guān)鍵程序執(zhí)行后得到的結(jié)果與理論值是否相近。
(4) 讀終端上報(bào)數(shù)據(jù)
當(dāng)測(cè)試人員想查看前一天的測(cè)試數(shù)據(jù)時(shí),測(cè)試人員可登入主站管理軟件,用主站發(fā)02命令給終端,02命令可使終端把所有的測(cè)試數(shù)據(jù)上傳給主站。終端接收到命令,進(jìn)入U(xiǎn)SB_Poll() 函數(shù),解析得知是02命令后(即Comcode=0x02),進(jìn)入02命令處理的那段程序,除中間的7次循環(huán)發(fā)送0這一點(diǎn)上存在區(qū)別(以太網(wǎng)通信方式不發(fā)而USB發(fā))外,其他數(shù)據(jù)都由串口發(fā)送給主站。02命令的回復(fù)數(shù)據(jù)包含了前一天或是前幾天的測(cè)試數(shù)據(jù)(DZ3阻抗測(cè)試終端最多可記憶8天的測(cè)量數(shù)據(jù)),因此其回復(fù)的數(shù)據(jù)包長(zhǎng)度是所有報(bào)文指令中最長(zhǎng)的。具體測(cè)試結(jié)果如下:
主站發(fā):02 04 F9 00
終端回復(fù):終端內(nèi)存儲(chǔ)的所有阻抗測(cè)量數(shù)據(jù)。如82 00 00 27 12 04 05 31 9C 00 01 09 00 00 CB FF FC 58 AC 00 01 09 00 02 0A FF FB 7F BC 00 01 09 00 05 ED FF FC F4 00,具體回復(fù)的數(shù)據(jù)依據(jù)終端測(cè)量所得的數(shù)據(jù)而定。
終端回復(fù)的82報(bào)文內(nèi)容可分為三部分:數(shù)據(jù)頭、數(shù)據(jù)段及結(jié)束段。數(shù)據(jù)頭含命令類型、回復(fù)命令的狀態(tài)、數(shù)據(jù)包的長(zhǎng)度及時(shí)間四點(diǎn)。如上面回復(fù)報(bào)文中的前幾位82 00 00 27 12 04 05表示終端回復(fù)的是82命令,00表示命令狀態(tài)正常,00 27說明數(shù)據(jù)包長(zhǎng)度為39位,發(fā)送時(shí)間為12年4月5日。數(shù)據(jù)段由多個(gè)阻抗測(cè)試數(shù)據(jù)塊組成,解析數(shù)據(jù)塊可得知測(cè)試的頻率點(diǎn)、此頻率點(diǎn)下測(cè)試所得的數(shù)據(jù)長(zhǎng)度、測(cè)試該點(diǎn)的時(shí)間、測(cè)得的阻抗模值及相位。例子中的第一個(gè)數(shù)據(jù)塊31 9C 00 01 09 00 00 CB FF FC即表示測(cè)試頻點(diǎn)為270 kHz(31 9C十進(jìn)制為12 700,(12 700-10 000)/10=270),00 01是WORD型數(shù)據(jù)表示該數(shù)據(jù)塊的長(zhǎng)度,09 00 說明測(cè)試時(shí)間在9點(diǎn)整,00 CB用于計(jì)算阻抗模值,F(xiàn)F FC則用于相位的計(jì)算。終端回復(fù)的數(shù)據(jù)包的最后兩位數(shù)據(jù)F4 00是結(jié)束段,F(xiàn)4為校驗(yàn)位,00是結(jié)束符。
一臺(tái)終端用于測(cè)試的時(shí)間越長(zhǎng),內(nèi)部存儲(chǔ)的數(shù)據(jù)會(huì)隨之增多(每臺(tái)終端最多可存儲(chǔ)8天的測(cè)量數(shù)據(jù))。終端傳給主站的上報(bào)數(shù)據(jù)越多,主站接收數(shù)據(jù)包的過程中就有可能發(fā)生數(shù)據(jù)掉包或數(shù)據(jù)錯(cuò)誤等故障,這時(shí)可用網(wǎng)絡(luò)調(diào)試助手發(fā)送02命令給終端,若網(wǎng)絡(luò)調(diào)試助手接收到終端回復(fù)的數(shù)據(jù)包完整,則表示故障點(diǎn)在主站的接收或解析數(shù)據(jù)包程序中,否則表示終端有故障。
(5) 錯(cuò)誤命令
由于傳輸過程中的各種干擾,終端接收到的命令有可能發(fā)生錯(cuò)誤,終端在接收到錯(cuò)誤的命令后會(huì)回復(fù)主站并要求其重發(fā)。測(cè)試過程如下:
主站發(fā):16 04 ED 00(該命令不存在)
終端回復(fù):CC 00 00 07 16 22 00
CC表示終端接收到的命令是不在協(xié)議規(guī)定的范圍內(nèi)的異常命令碼,00 07說明該回復(fù)數(shù)據(jù)有7位(00 07為十進(jìn)制7),16是指接收到的錯(cuò)誤命令碼(以16H開頭的命令),22是校驗(yàn)位,00為結(jié)束符。
(6) 其他命令
主站發(fā)命令給終端,終端接收到命令,進(jìn)入U(xiǎn)SB_Poll() 函數(shù),解析得到Comcode后,依據(jù)Comcode的具體數(shù)值判斷得知主站發(fā)給終端的是哪一條命令,隨后進(jìn)入這條命令相應(yīng)的命令處理程序,最后把需要發(fā)送的數(shù)據(jù)通過串口傳到終端的串口轉(zhuǎn)以太網(wǎng)工作模塊,通過以太網(wǎng)把數(shù)據(jù)包傳給主站。
2.3 測(cè)試結(jié)果分析
按上述的命令收發(fā)測(cè)試方法調(diào)測(cè)后,確定主站與終端間的所有命令的收發(fā)都正確時(shí),終端可以用于阻抗測(cè)試。把終端與一個(gè)標(biāo)準(zhǔn)阻抗盒相接,阻抗盒的A相接入20 Ω電阻、B相接入50 Ω電阻、C相接入150 Ω電阻。主站在阻抗檢測(cè)設(shè)置中選擇三相測(cè)試,并設(shè)置了121 kHz、132 kHz、270 kHz、412 kHz、310 kHz這5個(gè)常用頻點(diǎn)作為一組測(cè)試頻點(diǎn)進(jìn)行循環(huán)測(cè)試, 每隔30 min測(cè)試一組,通過查看主站讀回的阻抗測(cè)量數(shù)據(jù)來驗(yàn)證終端測(cè)試的結(jié)果。主站讀回的數(shù)據(jù)將自動(dòng)保存到Excel表格中,測(cè)試所得數(shù)據(jù)的部分截圖如圖1,讀表可知每個(gè)頻點(diǎn)的具體測(cè)試時(shí)間、測(cè)得的阻抗值等數(shù)據(jù)。主站讀回的3個(gè)相位的阻抗值均與標(biāo)準(zhǔn)阻抗盒設(shè)置的阻抗值相近,并在誤差允許的范圍內(nèi),驗(yàn)證了終端阻抗測(cè)試的正確性。
采用Ethernet通信方式的低壓電力載波阻抗自動(dòng)檢測(cè)系統(tǒng),使得測(cè)試更加方便,加強(qiáng)了主站對(duì)多臺(tái)終端設(shè)備的同時(shí)監(jiān)控能力,為加入這種通信方式,終端的部分程序進(jìn)行了適當(dāng)?shù)脑黾优c修改。測(cè)試過程得到了滿意的結(jié)果。
參考文獻(xiàn)
[1] 曾凌峰. 基于電力載波的電器設(shè)備管理智能系統(tǒng)[J].煤炭技術(shù), 2010,29(5):40-42.
[2] 朱錚濤,曾江翔.SIM卡及其初始信息寫入方法研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息, 2009,25(8-3):111-113.
[3] 吳少勇,甘玉璽,張翰之. 以太網(wǎng)的環(huán)路檢測(cè)技術(shù)[J]. 中興通訊技術(shù),2012(1):40-43.
[4] 齊傳鳳,王學(xué)偉,韓東,等.低壓電力線載波信道阻抗測(cè)試終端的設(shè)計(jì)與應(yīng)用[J].電測(cè)與儀表, 2012,49(1):57-62.
[5] 韓東,王學(xué)偉,陸以彪,等.低壓電力載波信道阻抗測(cè)試裝置:中國(guó),201887763[P].2011-06-29.
[6] 葉崧. 集成WSN、 載波通信和多種現(xiàn)場(chǎng)總線的網(wǎng)關(guān)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(24):87-89.
[7] 江潔,趙不賄,唐平.一種基于電力載波的家庭網(wǎng)絡(luò)與以太網(wǎng)的連接方法[J].計(jì)算機(jī)工程, 2004,30(21):166-168.
[8] 王華林. 低壓電力線通信計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的研究[D].哈爾濱:爾濱理工大學(xué),2009.