基于Ethernet的DZ3電力線載波阻抗測試系統(tǒng)
電力線網(wǎng)絡(luò)分布廣泛,其接入的負(fù)載復(fù)雜多樣并具有時(shí)變性,載波信道的阻抗匹配與否嚴(yán)重影響著電力線載波的可靠、實(shí)時(shí)傳輸[1]。在電網(wǎng)處于工作狀態(tài)時(shí),人們會測量電網(wǎng)載波信道的阻抗值,通過這些數(shù)據(jù)來優(yōu)化載波信號,保障載波通信和抄表的質(zhì)量。DZ3載波阻抗測試裝置正是用于測量低壓電力線的載波信道阻抗,它主要由主站和終端兩部分組成。
主站通過向測試終端發(fā)送統(tǒng)一格式的報(bào)文指令來控制終端的具體操作。主站負(fù)責(zé)接收、存儲終端測試所得的數(shù)據(jù),并對終端上傳的數(shù)據(jù)進(jìn)行相關(guān)處理。終端依據(jù)自由坐標(biāo)軸阻抗測試原理,可測量80 kHz~500 kHz量程范圍內(nèi)的低壓電力線載波信道阻抗的模值和相位[2-3]。每個(gè)終端都配有一個(gè)獨(dú)一無二的ID號。當(dāng)終端與主站連接成功時(shí),主站管理軟件的界面上會顯示出在線終端設(shè)備的ID號,通過選中ID號來對相應(yīng)的終端設(shè)備發(fā)送指令。使用主站管理軟件設(shè)置測試頻點(diǎn)、測量時(shí)間間隔等參數(shù),終端可自動完成單一頻點(diǎn)或是多個(gè)頻點(diǎn)的載波阻抗測量,并保存測量數(shù)據(jù)。
通過主站設(shè)置相應(yīng)的參數(shù)可使終端實(shí)現(xiàn)阻抗的自動化測試,主站與終端之間有三種通信方式:USB、GPRS及以太網(wǎng)通信方式,從而使阻抗測試更加方便。使用一根USB連接線直接把計(jì)算機(jī)與終端相連,主站便可讀取終端中的測量數(shù)據(jù),并向終端發(fā)送指令,但電腦的USB接口有限,一臺PC機(jī)不能同時(shí)控制多臺終端,且USB連接線長度有限只能近距離測試[4-5]。也可采用GPRS的通信方式,在終端的GPRS模塊中安上客戶識別模塊SIM卡(Subscriber IdenTIty Module),主站的通信設(shè)置項(xiàng)選擇GPRS通信即可控制終端運(yùn)行,但這種方式費(fèi)用較高[2]。為了降低測試費(fèi)用并實(shí)現(xiàn)對不同地點(diǎn)的多臺終端的同時(shí)監(jiān)控,新增了以太網(wǎng)的通信方式。以太網(wǎng)可封裝任何協(xié)議的數(shù)據(jù),具有標(biāo)準(zhǔn)化成熟、靈活性好、成本低、易于使用等優(yōu)勢,選用以太網(wǎng)通信方式,主站可同時(shí)監(jiān)控在同一局域網(wǎng)內(nèi)的多臺終端設(shè)備[6,7]。
2 DZ3載波阻抗測試終端以太網(wǎng)通信方式調(diào)測
DZ3載波阻抗測試終端原有USB與GPRS兩種通信方式,現(xiàn)在又添加了以太網(wǎng)的通信方式[8]。其實(shí)質(zhì)是在終端硬件原有基礎(chǔ)上增加了一個(gè)以太網(wǎng)轉(zhuǎn)串口模塊,并在終端的軟件部分進(jìn)行了串口接收數(shù)據(jù)的相關(guān)修改。該模塊給每臺終端設(shè)備都設(shè)置了一個(gè)IP號,可自動偵測10/100 Mb/s的網(wǎng)絡(luò)環(huán)境,實(shí)現(xiàn)TCP/IP到TTL間的數(shù)據(jù)轉(zhuǎn)換。為確保使用新的通信方式時(shí),終端與主站間能正常地進(jìn)行命令與數(shù)據(jù)的傳輸,且不影響其他所有模塊正常工作,需要在使用前對其進(jìn)行相應(yīng)的測試。
2.1 終端部分程序的修改
以太網(wǎng)數(shù)據(jù)收發(fā)方式除04命令(主站向終端發(fā)送要求上傳ID號的命令)外,其他所有命令與USB通信方式相同,數(shù)據(jù)處理方式也與USB一致,程序都進(jìn)入U(xiǎn)SB_Poll()函數(shù)進(jìn)行命令的處理,只是測量數(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)置位?,F(xiàn)在程序中增加了以太網(wǎng)連接方式標(biāo)記位,用于處理以太網(wǎng)連接方式的數(shù)據(jù),再依據(jù)命令的第二位(命令的第二位數(shù)字表示當(dāng)前接收命令的長度)來截取測試所需的有效位數(shù)。
?。?)修改接收串比較函數(shù)GPRS_RecString_Comp(Uart0_Re_buf)。該函數(shù)原用于比較GPRS通信方式時(shí)接收到的字符串,以便相應(yīng)標(biāo)志位的設(shè)置。現(xiàn)在終端新增了以太網(wǎng)與串口接口轉(zhuǎn)換的通信模塊,當(dāng)終端與主站都上線并處于同一局域網(wǎng)時(shí),為確認(rèn)終端設(shè)備是否已經(jīng)與主站連接成功,主站會向終端發(fā)送04命令,即ID號上傳請求命令。此時(shí),若終端已連接上線,終端的串口中斷接收函數(shù)可接收到04命令,然后進(jìn)入接收串比較函數(shù)。比較函數(shù)把接收到的命令與程序中記錄的正確命令相比較,若接收的命令完全正確,終端會立即把ID號回復(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)傳至主站。