楊鴻昌, 戴 睿, 徐 亮, 蔣 偉
(1.國(guó)網(wǎng)四川省電力公司 信息通信公司, 四川 成都 610054;2.上海電力學(xué)院 電子與信息工程學(xué)院, 上海 200090)
某些復(fù)雜線路情況下,電力客戶信息記錄與實(shí)際不符,造成抄表率低,人工清查困難.本文設(shè)計(jì)了一種臺(tái)區(qū)客戶信息檢測(cè)終端,可以在線自動(dòng)檢測(cè),準(zhǔn)確查清臺(tái)區(qū)用戶信息.該終端基于微軟公司嵌入式移動(dòng)計(jì)算平臺(tái)(Windows Embedded Compact,WINCE) 系統(tǒng)、載波模塊和GSM模塊,采用text文本存儲(chǔ)檢測(cè)日志和結(jié)果報(bào)表.終端設(shè)置編號(hào),上位機(jī)與終端通過(guò)GPRS通信,采用自定義通信協(xié)議,有廣播和分播兩種方式,可以同時(shí)控制5個(gè)終端,系統(tǒng)可移植性強(qiáng).
臺(tái)區(qū)客戶信息檢測(cè)系統(tǒng)由上位機(jī)客戶信息管理軟件和臺(tái)區(qū)客戶信息檢測(cè)終端組成.系統(tǒng)架構(gòu)如圖1所示.終端置于臺(tái)區(qū)配電箱集中器端,通過(guò)
電力線載波通信(Power Line Communication,PLC)對(duì)載波電能表(采集器或電表)進(jìn)行檢測(cè).電力線載波通信是指將信息調(diào)制為高頻信號(hào)并耦合至電力線路,利用電力線路作為介質(zhì)進(jìn)行通信的技術(shù).[1]對(duì)于線路復(fù)雜的老舊城區(qū),不同臺(tái)區(qū)的電表與采集器通過(guò)485總線相連或直接與電力線相連.由于采集器、電表可能位于不同相,所以終端采用三相輪詢制,只要有一相檢測(cè)到即可確定臺(tái)區(qū)歸屬.
圖1 臺(tái)區(qū)客戶信息檢測(cè)系統(tǒng)架構(gòu)
上位機(jī)通過(guò)GPRS將臺(tái)區(qū)歸屬不清、不能抄表的采集器地址或電表號(hào)列表下載至終端.終端發(fā)出特定查詢數(shù)據(jù)包至目標(biāo)采集器或電表,如果目標(biāo)連接在當(dāng)前臺(tái)區(qū),則會(huì)返回一個(gè)應(yīng)答數(shù)據(jù)包;如果沒有應(yīng)答,則會(huì)再做3次握手嘗試;若仍無(wú)應(yīng)答,則認(rèn)為目標(biāo)未連接到當(dāng)前臺(tái)區(qū).各終端將檢測(cè)結(jié)果上報(bào)上位機(jī),用于更新客戶信息數(shù)據(jù)庫(kù).
在線檢測(cè)終端硬件結(jié)構(gòu)如圖2所示.采用飛凌嵌入式OK6410-B為主控模塊,6層PCB設(shè)計(jì),性能穩(wěn)定,能經(jīng)受強(qiáng)電磁環(huán)境考驗(yàn).[2]采用Samsung S3C6410處理器,內(nèi)置256 MB,NAND Flash可掉電存儲(chǔ)日志文件和結(jié)果報(bào)表.接4.3寸觸摸屏作為顯示和輸入模塊.使用開發(fā)板五線RS232電平串口(DB9母座)接GSM模塊,將3個(gè)三線TTL電平串口引出,接3個(gè)電力線載波模塊,利用載波模塊將主控板的抄讀命令發(fā)送到電力線上,并從電力線接收載波模塊(載波電能表)返回的數(shù)據(jù)信息.電源模塊將220 V轉(zhuǎn)為5 V直流電壓,采用開關(guān)電源加LCL模擬濾波電路方式來(lái)保證供電的穩(wěn)定可靠.手持終端由電源模塊、OK6410-B主控模塊和單相電力線載波模塊組成.
圖2 終端硬件結(jié)構(gòu)
終端選用WINCE6.0系統(tǒng)作為軟件開發(fā)平臺(tái),提供運(yùn)行環(huán)境和文件管理.WINCE6.0擁有多線程、多任務(wù),以及確定性的實(shí)時(shí)完全搶先式優(yōu)先級(jí)的操作系統(tǒng)環(huán)境,其模塊化的設(shè)計(jì)方式便于定制.[3]
飛凌OK6410板提供了BSP源碼包,安裝后打開BSP工程文件就可以編譯內(nèi)核.BSP是操作系統(tǒng)和硬件之間的接口,其包含了系統(tǒng)中所有硬件驅(qū)動(dòng),并根據(jù)終端需要,添加了看門狗驅(qū)動(dòng).
為了防止死機(jī)或異常退出引起終端故障,提高系統(tǒng)運(yùn)行的穩(wěn)定性,采用如下設(shè)計(jì).
3.2.1 設(shè)置看門狗
首先要啟用系統(tǒng)看門狗功能,定義:
#define ENABLE_WATCH_DOG 1
然后在WINCE工程中新建看門狗驅(qū)動(dòng),在drivers文件夾下生成wdg文件夾及一系列文件.編譯WINCE工程文件生成的鏡像文件NK.bin燒寫到板子上,即可加載看門狗驅(qū)動(dòng).
在應(yīng)用程序中定義:
#define IOCTL_wdg_
wdg1_OPEN 0x04002060
HANDLE pdevice.
程序初始化時(shí)開啟看門狗:
pdevice = CreateFile(TEXT("wdg1:"),GENERIC_READ|GENERIC_WRITE,NULL,NULL,OPEN_EXISTING,0,NULL).
設(shè)2 s定時(shí)器,在OnTimer()函數(shù)里喂狗:
DeviceIoControl(pdevice,IOCTL_wdg_wdg1_OPEN,NULL,NULL,NULL,NULL,NULL,NULL).
3.2.2 開機(jī)自啟
為了便于工作人員操作和復(fù)位自啟,終端將臺(tái)區(qū)檢測(cè)應(yīng)用程序SeriesSample.exe編譯到內(nèi)核并且開機(jī)自運(yùn)行.
當(dāng)終端死機(jī)或異常退出時(shí),不能按時(shí)喂狗,看門狗觸發(fā)終端重啟,開機(jī)自啟保證軟件自動(dòng)開啟運(yùn)行,以節(jié)省人工.
在線終端的主要功能是通過(guò)低壓電力線載波技術(shù)檢測(cè)連接到當(dāng)前變壓器的所有采集器,然后將采集器的信息發(fā)送至信息管理服務(wù)器;支持由管理中心設(shè)置檢測(cè)參數(shù)(如輪詢次數(shù)、查詢時(shí)段、檢測(cè)周期),也支持終端界面設(shè)置.檢測(cè)結(jié)果上傳采用被動(dòng)上傳方式,即當(dāng)接收到相關(guān)命令時(shí)才上傳.檢測(cè)工作方式為被動(dòng)檢測(cè),可選擇是否立即執(zhí)行,或設(shè)定時(shí)間自動(dòng)檢測(cè).具有校時(shí)功能,與PC端客戶軟件定義對(duì)應(yīng)數(shù)據(jù)格式,遠(yuǎn)程控制指令和反饋均通過(guò)GPRS通信實(shí)現(xiàn).
在線檢測(cè)終端軟件如圖3所示.
圖3 在線檢測(cè)終端軟件示意
系統(tǒng)軟件的主要流程是:先將不確定表號(hào)列表下載到各臺(tái)區(qū)變壓器檢測(cè)終端,終端進(jìn)行檢測(cè)并返回結(jié)果;管理軟件通過(guò)對(duì)結(jié)果的分析更新臺(tái)區(qū)客戶信息數(shù)據(jù)庫(kù),剩余不能確認(rèn)歸屬的則使用手持終端現(xiàn)場(chǎng)確認(rèn),梳理出的從屬關(guān)系下載到對(duì)應(yīng)臺(tái)區(qū)變壓器下的集中器以實(shí)現(xiàn)準(zhǔn)確抄表.
主控模塊OK6410-B通過(guò)3個(gè)電力線載波模塊連接A相、B相、C相,通過(guò)電力載波通信技術(shù)對(duì)三相載波電能表進(jìn)行輪詢.按照DL/T645通信協(xié)議與電能表信息進(jìn)行交互[4],采用主-從結(jié)構(gòu)的半雙工通信方式.由終端發(fā)出的信息幀控制通信鏈路的建立和解除.傳輸波特率為9 600 bps,程序采用多串口多線程來(lái)實(shí)現(xiàn)收發(fā)的實(shí)時(shí)處理.由于一相查到即可確定歸屬,因此可在A相輪詢所有電能表,未查到的在B相查,剩余未查到的在C相查詢.檢測(cè)結(jié)果寫入“結(jié)果列表.txt”,并生成記錄文件“檢測(cè)日志.txt”.
以查詢采集器為例,查詢幀格式[5]依次為:前導(dǎo)符、幀長(zhǎng)、特征域、地址域、控制碼、645控制碼、645數(shù)據(jù)域、CRC校驗(yàn)、結(jié)束符.
特征域?yàn)?AH 81H,地址域采用縮位算法實(shí)現(xiàn)地址編碼,由源地址、中繼地址和目的地址組成.源地址為00H,目的地址為采集器地址.域的長(zhǎng)度為2 B,CRC校驗(yàn)值計(jì)算公式為:
G(x)=x16+x15+x2+1
(1)
設(shè)置變量Rec_State,發(fā)送線程和接收線程共用,表明接收端狀態(tài).Rec_State=READFAIL表示載波通信異常;Rec_State=DATAERROR 表示響應(yīng)幀錯(cuò)誤;Rec_State=RECSUCCEED 表示正常接收;Rec_State=RXTIMEOUT表示超時(shí).設(shè)定4 s定時(shí),每4 s發(fā)一幀數(shù)據(jù),若成功接收則將發(fā)送標(biāo)志位bSend置1,表示已發(fā)送,檢測(cè)標(biāo)志位Done置1表示完成檢測(cè),轉(zhuǎn)入下一幀數(shù)據(jù)發(fā)送.若失敗,則重發(fā)3次;若仍不能成功接收,則將發(fā)送標(biāo)志位bSend置-1,表示發(fā)送失敗,也轉(zhuǎn)入下一幀發(fā)送.
接收端可以對(duì)串口數(shù)據(jù)進(jìn)行讀取和分析,若串口數(shù)據(jù)未讀入,readBuf設(shè)置接收狀態(tài)載波通信異常;若不是完整響應(yīng)幀,設(shè)置接收端狀態(tài)響應(yīng)幀錯(cuò)誤;若采集器在線設(shè)置接收端狀態(tài)正常,則可解析出相位和信號(hào)品質(zhì);若采集器不在線,設(shè)置接收端狀態(tài)為不在線.
終端和上位機(jī)管理中心通過(guò)GPRS移動(dòng)通信公網(wǎng)來(lái)實(shí)現(xiàn)信息的傳輸.終端接收上位機(jī)管理中心發(fā)送過(guò)來(lái)的采集器地址列表或電表號(hào)列表,由管理中心設(shè)置檢測(cè)方式、檢測(cè)時(shí)段、檢測(cè)周期等參數(shù).檢測(cè)結(jié)果上傳采用被動(dòng)上傳方式,當(dāng)終端接收到上位機(jī)管理中心的查詢結(jié)果命令時(shí),終端自動(dòng)讀取結(jié)果列表文件并上傳至上位機(jī).
終端和上位機(jī)之間的通信采用自定義協(xié)議.協(xié)議幀格式為編號(hào)、幀頭、命令字、幀長(zhǎng)、信息字段和CRC校驗(yàn).通過(guò)編號(hào)來(lái)區(qū)分不同終端,命令字為1 B,用來(lái)區(qū)分功能,如上傳結(jié)果、采集器地址下載、設(shè)置檢測(cè)時(shí)間、設(shè)置輪詢次數(shù)、啟動(dòng)檢測(cè)、復(fù)位、同步時(shí)間等.CRC校驗(yàn)域的長(zhǎng)度為2 B,CRC校驗(yàn)值計(jì)算公式同式(1).
在實(shí)驗(yàn)室用2臺(tái)集中器、3臺(tái)采集器、5臺(tái)電表搭建配電網(wǎng)模擬環(huán)境.集中器1下接2個(gè)采集器,集中器2下接1個(gè)采集器,模擬臺(tái)區(qū)1和臺(tái)區(qū)
2.將終端接于集中器1端,如圖4所示,從終端界面對(duì)檢測(cè)參數(shù)進(jìn)行設(shè)置,也可以通過(guò)GPRS通信由上位機(jī)管理軟件設(shè)置.
圖4 參數(shù)設(shè)置
檢測(cè)結(jié)果如圖5所示.由圖5可知,采集器00072094和00072095在線A相,說(shuō)明在集中器1下面屬于臺(tái)區(qū)1;采集器00072093不在線,說(shuō)明不屬于臺(tái)區(qū)1.
圖5 檢測(cè)結(jié)果
本文提出的基于WINCE的臺(tái)區(qū)客戶信息檢測(cè)終端在實(shí)驗(yàn)中取得了預(yù)期的效果,性能穩(wěn)定.基于嵌入式系統(tǒng)WINCE平臺(tái)開發(fā)軟件,縮短了開發(fā)時(shí)間,提高了運(yùn)行速度;設(shè)置看門狗保證終端穩(wěn)定運(yùn)行,操作更為簡(jiǎn)單智能.
[1] 呂斌,賀海靖,曲君樂,等.基于電力載波的路燈電纜防盜報(bào)警器設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(2):69-72.
[2] 飛凌嵌入式技術(shù)有限公司. OK6410-B開發(fā)板WINCE用戶手冊(cè)[EB/OL].[2011-04]. http://www.witech.com.cn/
[3] 吳國(guó)偉,畢玲,陳慶.嵌入式操作系統(tǒng)原理及應(yīng)用開發(fā)[M].北京:北京航空航天大學(xué)出版社,2007:45-52.
[4] 王坤乾.基于DL/T645的模擬電能表軟件的研究[D].北京:華北電力大學(xué),2011.
[5] 中華人民共和國(guó)國(guó)家發(fā)展和改革委員會(huì).DL/T645—2007 多功能電能表通信協(xié)議[S].北京:中國(guó)電力出版社,2008:1-80.