黃孟孟
(寧波三星醫(yī)療電氣股份有限公司,浙江寧波315000)
電力采集系統(tǒng)通過電力采集終端對臺區(qū)電能表數(shù)據(jù)進(jìn)行采集,從而對居民用戶的電量實(shí)現(xiàn)每日監(jiān)控,以把握臺區(qū)的供電情況。但電力采集終端多裝配在地下室、配電房、山野郊區(qū)等網(wǎng)絡(luò)信號覆蓋差的地方,現(xiàn)場環(huán)境較為惡劣,掉線情況多有發(fā)生,若因掉線導(dǎo)致數(shù)據(jù)無法上報(bào),對電力公司采集率有較大影響。本文從設(shè)計(jì)端出發(fā),設(shè)計(jì)循環(huán)心跳流程并在終端異常掉線后新增上線補(bǔ)上報(bào)機(jī)制,以防終端不在線導(dǎo)致數(shù)據(jù)丟點(diǎn)的情況發(fā)生。
能夠進(jìn)行數(shù)據(jù)上報(bào)的前提是電力采集終端和電力采集系統(tǒng)主站[1]處于協(xié)商握手狀態(tài)下,即能進(jìn)行數(shù)據(jù)交互。而電力采集終端通過客戶機(jī)和服務(wù)器模式與電力采集系統(tǒng)主站進(jìn)行交互,電力采集終端作為交互系統(tǒng)中的客戶機(jī),需主動向電力采集系統(tǒng)發(fā)起應(yīng)用連接請求,并由電力采集終端進(jìn)行鏈路維護(hù)[2],這就需要終端有一套自發(fā)性的心跳管理流程。心跳管理流程可以有兩種方式:
(1)心跳流程耦合于正常數(shù)據(jù)交互,即發(fā)生正常數(shù)據(jù)交互后刷新心跳周期,認(rèn)為該數(shù)據(jù)包可作為鏈路穩(wěn)定的依據(jù),順延一個(gè)心跳周期發(fā)送心跳包。該方法最大的好處是能夠節(jié)約電力采集終端所攜帶SIM卡的流量,缺點(diǎn)是電力采集終端對鏈路狀況的判定也將順延一個(gè)心跳周期。
(2)心跳流程與正常數(shù)據(jù)交互相互獨(dú)立,即心跳周期不受數(shù)據(jù)交互影響,固定時(shí)間刷新,如此設(shè)計(jì)才能夠保證電力采集終端第一時(shí)間知曉鏈路的異常狀況。故本文更推薦上報(bào)設(shè)計(jì)采用獨(dú)立心跳流程。
針對方式(2)所需的月通信流量做如下計(jì)算:假設(shè)電力采集終端數(shù)據(jù)上報(bào)任務(wù)按1 h上報(bào)一次(運(yùn)行現(xiàn)場上報(bào)任務(wù)一般為一日一次),并且每個(gè)上報(bào)時(shí)間點(diǎn)均能刷新下一條心跳包的時(shí)間計(jì),則一個(gè)月(31天)多發(fā)送心跳幀數(shù)量為24×31=744條;心跳報(bào)文一包為30字節(jié),則一個(gè)月增加流量為744×30÷1 024≈21.8 kb,且實(shí)際現(xiàn)場數(shù)據(jù)上報(bào)遠(yuǎn)沒有這么頻繁,故使用獨(dú)立心跳流量無流量越限風(fēng)險(xiǎn),本上報(bào)機(jī)制采用獨(dú)立心跳流程。
電力采集終端正常在線上報(bào)分為兩種情況:(1)正常數(shù)據(jù)采集的任務(wù)式上報(bào);(2)異常事件發(fā)生時(shí)的主動上報(bào)。任務(wù)式上報(bào)需由電力采集系統(tǒng)對電力采集終端配置上報(bào)任務(wù)及上報(bào)數(shù)據(jù)方案,由電力采集終端完成指定數(shù)據(jù)指定時(shí)間的任務(wù)式上報(bào),則電力采集終端內(nèi)部需有一套針對任務(wù)式上報(bào)的任務(wù)調(diào)度、輪詢機(jī)制;而異常事件發(fā)生時(shí)存在一個(gè)觸發(fā)狀態(tài),將會搶占當(dāng)前執(zhí)行的上報(bào)任務(wù)輪詢優(yōu)先進(jìn)行上報(bào)。上報(bào)流程框圖如圖1所示。
圖1 數(shù)據(jù)上報(bào)流程框圖
由于終端通過心跳包和主站進(jìn)行鏈路狀態(tài)的維護(hù),這也意味著終端只有在每次發(fā)送心跳包時(shí)能夠刷新在線標(biāo)志位,狀態(tài)位變更必然存在一定的滯后性,終端只有在發(fā)送下一個(gè)心跳包或主動發(fā)送數(shù)據(jù)無法響應(yīng)時(shí)能夠改變狀態(tài)位。
業(yè)務(wù)模塊的數(shù)據(jù)需要通過判斷在線標(biāo)志位來決策是否能夠上報(bào),若數(shù)據(jù)上報(bào)時(shí)間點(diǎn)剛好卡在兩個(gè)心跳中間,上報(bào)模塊則會判斷為正常在線狀態(tài),并將狀態(tài)機(jī)更改為發(fā)送狀態(tài),上報(bào)終端便會在掉線狀態(tài)下發(fā)生數(shù)據(jù)上報(bào),并且重新上線后不再上報(bào),如圖2所示。
圖2 終端異常掉線上報(bào)示意圖
針對異常掉線情況,新增補(bǔ)報(bào)機(jī)制,新上報(bào)流程如下:
(1)電力采集終端因上報(bào)任務(wù)或事件產(chǎn)生上報(bào)需求,首先置上報(bào)標(biāo)志位并檢測終端是否在線,若在線則嘗試向主站上報(bào)數(shù)據(jù),否則掛起上報(bào),等待終端上線后進(jìn)行數(shù)據(jù)上報(bào)。
(2)嘗試發(fā)起數(shù)據(jù)上報(bào)后,判斷主站是否回復(fù)確認(rèn)幀,若接收到主站返回的數(shù)據(jù)上報(bào)確認(rèn)幀,則清空數(shù)據(jù)上報(bào)標(biāo)志位,流程結(jié)束。若未收到數(shù)據(jù)上報(bào)確認(rèn)幀,則開始第二次嘗試,最多連續(xù)嘗試3次且每次上報(bào)間隔1 min,并對補(bǔ)報(bào)行為進(jìn)行記錄(最大存儲96×31=2 976條補(bǔ)報(bào)記錄,按滾動方式存儲,超出深度部分覆蓋最早記錄,補(bǔ)報(bào)記錄按15 min 96點(diǎn)曲線最大存儲一個(gè)月計(jì)算)。
(3)若3次均未收到主站回復(fù)確認(rèn)幀,此時(shí)對終端在線狀態(tài)存在疑問,上報(bào)任務(wù)需等待一個(gè)心跳周期后重新檢測終端是否在線,若終端不在線需返回到步驟(1)等待終端上線。
(4)若一個(gè)心跳周期后終端處于在線狀態(tài),重復(fù)步驟(2)重新發(fā)起上報(bào),收到主站回復(fù)的確認(rèn)幀后,清除當(dāng)前數(shù)據(jù)包標(biāo)志,準(zhǔn)備發(fā)送下一幀數(shù)據(jù),返回到步驟(1)。
(5)所有幀發(fā)送完畢后,結(jié)束上報(bào)流程。
具體補(bǔ)報(bào)工作流程圖如圖3所示。
圖3 終端異常掉線上報(bào)流程圖
選擇部分臺區(qū)對電力采集終端進(jìn)行四天的試掛測試,發(fā)現(xiàn)實(shí)行新上報(bào)流程的電力采集終端采集率較原流程有較大幅度提高,原流程部分臺區(qū)采集率甚至不足68%,而新流程基本能達(dá)到99%,滿足電力公司要求。具體結(jié)果差異如表1、表2所示。
總之,采集率是電力公司考核的重要指標(biāo),也是電力采集系統(tǒng)中對臺區(qū)電能采集情況最直觀的反映,而電力采集終端作為采集系統(tǒng)中握住咽喉的一環(huán)更是不容有失。在現(xiàn)場運(yùn)行環(huán)境如此惡劣的情況下,需要在設(shè)計(jì)端對上行、下行切割分析,增加相對應(yīng)的數(shù)據(jù)容錯(cuò)機(jī)制,最終去克服現(xiàn)場問題,提高采集率。
表1 無補(bǔ)報(bào)機(jī)制電力采集終端試掛統(tǒng)計(jì)表
表2 帶補(bǔ)報(bào)機(jī)制電力采集終端試掛統(tǒng)計(jì)表