劉敏 張先勇
(五邑大學(xué)計(jì)算機(jī)學(xué)院)
社會用電量的快速增長促使電力工業(yè)迅猛發(fā)展,大容量、遠(yuǎn)距離的架空線路陸續(xù)投入運(yùn)行,電力輸送容量和輸送距離迅速增長,因此輸電線路的安全運(yùn)行變得越來越重要。導(dǎo)線長期處于露天環(huán)境中,受到風(fēng)、雨、冰雪、雷電等自然現(xiàn)象的影響,日積月累,容易發(fā)生安全事故,導(dǎo)致大面積停電事故的發(fā)生。其中,微風(fēng)振動引發(fā)的事故最多。架空線路長期的振動作用會造成懸垂絕緣子受損、防振錘位移,嚴(yán)重的可能會導(dǎo)致塔材斷裂,甚至出現(xiàn)倒塔斷線的嚴(yán)重后果。
為了實(shí)時(shí)監(jiān)測輸電線路的狀態(tài),利用桿塔上的微氣象采集設(shè)備實(shí)時(shí)采集當(dāng)前的風(fēng)向、風(fēng)速、溫濕度、輻射、雨量等氣象信息;利用輸電線上的微風(fēng)振動監(jiān)測裝置實(shí)時(shí)采集輸電線的微風(fēng)振動強(qiáng)度、振幅、頻率等參數(shù)。通過網(wǎng)絡(luò)將采集的相關(guān)數(shù)據(jù)傳輸?shù)綑z測管理中心,實(shí)現(xiàn)桿塔的微風(fēng)振動在線監(jiān)測。
在線監(jiān)測系統(tǒng)主要由 5部分組成:微風(fēng)振動/微氣象前端檢測裝置、桿塔主機(jī)終端、后臺管理系統(tǒng)、數(shù)據(jù)庫服務(wù)器和數(shù)據(jù)可視化系統(tǒng)。監(jiān)測系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。
輸電線的微風(fēng)振動是用導(dǎo)線上的動彎應(yīng)變強(qiáng)度衡量的,線夾出口處導(dǎo)線上的動彎應(yīng)變,可以通過距離夾頭出口89 mm處的彎曲振幅由式(1)求得。在夾頭出口處,導(dǎo)線動彎應(yīng)變與其對應(yīng)的彎曲振幅的數(shù)學(xué)關(guān)系[1]:
其中,∈為夾頭出口點(diǎn)導(dǎo)線的動彎應(yīng)變;K為定值系數(shù);A為距離夾頭出口89 mm處,相對夾頭的導(dǎo)線的彎曲振幅;D為導(dǎo)線直徑。
圖1 監(jiān)測系統(tǒng)結(jié)構(gòu)示意圖
前端振動檢測裝置裝在離夾頭出口89 mm處,如圖2 所示。通過伸縮位移傳感器采集此處輸電線的彎曲振幅,根據(jù)式(1)換算成夾頭處振動的動彎應(yīng)變,并將測量結(jié)果通過短距離RF射頻技術(shù)傳輸?shù)綏U塔上的狀態(tài)監(jiān)測裝置主機(jī)。
圖2 微風(fēng)振動前端檢測裝置
微風(fēng)振動/微氣象前端檢測裝置具備數(shù)據(jù)合理性檢查分析功能,能對采集數(shù)據(jù)進(jìn)行預(yù)處理,自動識別并過濾相關(guān)干擾。微風(fēng)振動前端檢測裝置具備對原始采集量的一次計(jì)算功能,得出能直觀反映微風(fēng)振動水平的動彎應(yīng)變數(shù)據(jù)。計(jì)算模型中的參數(shù)可遠(yuǎn)程配置查詢,例如采集點(diǎn)數(shù)N、導(dǎo)線直徑D等。
桿塔主機(jī)終端安裝在桿塔上。因?yàn)槲L(fēng)振動前端檢測裝置安裝在輸電線上,距離桿塔相對較遠(yuǎn),所以桿塔主機(jī)和微風(fēng)振動前端檢測裝置之間通過短距離射頻技術(shù)收發(fā)數(shù)據(jù)。而微氣象前端檢測裝置終端也是安裝在桿塔上,所以可用RS232連線連接。一臺桿塔主機(jī)終端可與多臺微風(fēng)振動/微氣象前端檢測裝置傳輸數(shù)據(jù)。桿塔主機(jī)終端中裝有一個(gè)GPRS DTU模塊。GPRS無線網(wǎng)絡(luò)具有接入速度快、永遠(yuǎn)在線、覆蓋面廣、運(yùn)營成本低廉、組網(wǎng)靈活、系統(tǒng)擴(kuò)容方便等特點(diǎn)。通過GPRS網(wǎng)絡(luò),桿塔主機(jī)終端可將從前端檢測裝置接收到的數(shù)據(jù)傳送到管理中心。后臺管理系統(tǒng)將這些數(shù)據(jù)進(jìn)行解析處理。
桿塔主機(jī)終端可自動重啟,解決硬件故障導(dǎo)致的死循環(huán)等異常,具備按遠(yuǎn)程指令修改數(shù)據(jù)采集頻率和采樣時(shí)間間隔等參數(shù)的能力,同時(shí)具備動態(tài)響應(yīng)遠(yuǎn)程時(shí)間查詢/設(shè)置、數(shù)據(jù)請求、復(fù)位等指令的能力。
桿塔主機(jī)終端啟動后定時(shí)(1分鐘)發(fā)送一個(gè)工作狀態(tài)報(bào)給后臺管理系統(tǒng),以保持和后臺管理系統(tǒng)的鏈接,確保兩者之間成功發(fā)送數(shù)據(jù)流。
后臺管理系統(tǒng)接收桿塔主機(jī)終端發(fā)送的數(shù)據(jù)后,提取其中的有效信息,如前端振動檢測裝置的ID及其電源電壓和工作溫度、微風(fēng)振動的幅值、微風(fēng)振動的頻率、桿塔主機(jī)終端的ID及其電源電壓和工作溫度、微氣象參數(shù)等。對這些數(shù)據(jù)進(jìn)行必要的計(jì)算后,存入對應(yīng)的數(shù)據(jù)庫中,系統(tǒng)采用Oracle數(shù)據(jù)庫。系統(tǒng)利用WEB技術(shù)可視化數(shù)據(jù),方便用戶查詢使用。
后臺管理系統(tǒng)負(fù)責(zé)定時(shí)向桿塔主機(jī)終端發(fā)送采集命令,桿塔主機(jī)終端收到命令后,控制前端振動/微氣象檢測裝置即時(shí)采集數(shù)據(jù),并將這些數(shù)據(jù)轉(zhuǎn)發(fā)給后臺管理系統(tǒng),實(shí)現(xiàn)自動采集,隨時(shí)掌握輸電線路上微風(fēng)振動和微氣象的情況。后臺管理系統(tǒng)也負(fù)責(zé)設(shè)置改正相關(guān)參數(shù),使前端振動檢測裝置采集到的數(shù)據(jù)符合實(shí)時(shí)采集要求,如設(shè)置采樣頻率、采樣點(diǎn)數(shù)、校時(shí)終端等。
后臺管理系統(tǒng)是數(shù)據(jù)流管理的中樞,連接著采集終端、存儲終端和顯示終端,可與桿塔主機(jī)終端、Oracle數(shù)據(jù)庫系統(tǒng)、WEB可視化系統(tǒng)進(jìn)行數(shù)據(jù)流通信。
輸電線上的微風(fēng)振動和微氣象數(shù)據(jù)需要時(shí)刻監(jiān)測,尤其是在惡劣的天氣時(shí),振動變化比較劇烈,所以系統(tǒng)對實(shí)時(shí)性要求較高,運(yùn)行速度也必須快。并且系統(tǒng)的協(xié)議報(bào)文長度較短,報(bào)文傳輸間隔較短,數(shù)據(jù)的接收和發(fā)送比較頻繁,因此系統(tǒng)采用無需連接、占用網(wǎng)絡(luò)資源較少、傳輸速度快的UDP網(wǎng)絡(luò)通信協(xié)議。
但是UDP傳輸?shù)牟环€(wěn)定性會造成報(bào)文丟失、被篡改等,參考面向連接的 TCP網(wǎng)絡(luò)傳輸協(xié)議,通過一些措施增強(qiáng)了數(shù)據(jù)安全與運(yùn)行穩(wěn)定性。
1)標(biāo)簽處理——為了防止處理接收到的無關(guān)垃圾報(bào)文,規(guī)定每個(gè)報(bào)文都必須帶有特定報(bào)頭作為標(biāo)簽。接收到報(bào)文后先檢查是否帶有統(tǒng)一指定的報(bào)頭;
2)報(bào)文長度驗(yàn)證——報(bào)文協(xié)議中設(shè)有報(bào)文長度標(biāo)志位,用于標(biāo)示完整報(bào)文的長度。因此,報(bào)文除了統(tǒng)一的標(biāo)簽外,還需要判斷接收到的報(bào)文長度是否與其中的報(bào)文長度標(biāo)志位數(shù)值一致;
3)循環(huán)冗余校驗(yàn) CRC16——在報(bào)文末尾增加CRC16校驗(yàn)位,校驗(yàn)的內(nèi)容包括報(bào)文中除校驗(yàn)位外所有報(bào)文數(shù)據(jù)(包括報(bào)文頭+報(bào)文長度+狀態(tài)監(jiān)測裝置ID+報(bào)文類型+報(bào)文內(nèi)容);
4)增加ACK——UDP協(xié)議本身沒有ACK,為了增加系統(tǒng)數(shù)據(jù)的安全性與準(zhǔn)確性,在原UDP基礎(chǔ)上增加了ACK確認(rèn)功能。在命令和數(shù)據(jù)報(bào)文中都對應(yīng)各自ACK;
5)定時(shí)重發(fā)——UDP傳輸過程中會出現(xiàn)各種異常,因此在等待接收所需報(bào)文時(shí),可增加一個(gè)定時(shí)器,若超過規(guī)定時(shí)間且未接收到所需報(bào)文,或響應(yīng)表明接收失敗,則再次發(fā)送請求/設(shè)置命令,直至收到成功的響應(yīng)數(shù)據(jù)報(bào)為止。如發(fā)送指定次數(shù)不成功后,復(fù)位與上位機(jī)的連接,并再次發(fā)送。定時(shí)重發(fā)的次數(shù)可在系統(tǒng)配置文件中設(shè)定。
當(dāng)后臺管理服務(wù)器接收到終端通過 GPRS無線網(wǎng)絡(luò)發(fā)送過來的數(shù)據(jù)后,根據(jù)已經(jīng)定義好的報(bào)文協(xié)議進(jìn)行拆包處理。根據(jù)系統(tǒng)功能的需要,報(bào)文協(xié)議主要有:工作狀態(tài)報(bào),即時(shí)采集微風(fēng)振動/微氣象數(shù)據(jù)報(bào),微風(fēng)振動特征量數(shù)據(jù)報(bào),微風(fēng)振動波形信號數(shù)據(jù)報(bào),微氣象數(shù)據(jù)報(bào),校時(shí)、重新連接、定時(shí)時(shí)間重設(shè)、采集參數(shù)及間隔時(shí)間設(shè)置等數(shù)據(jù)報(bào)。
報(bào)文結(jié)構(gòu)定義有報(bào)文頭、報(bào)文長度、狀態(tài)監(jiān)測裝置 ID、報(bào)文類型、報(bào)文內(nèi)容和校驗(yàn)位,報(bào)文結(jié)構(gòu)定義如表1所示。表2以工作狀態(tài)報(bào)為例說明后臺解析報(bào)文的原理。
表1 報(bào)文結(jié)構(gòu)定義
表2 工作狀態(tài)報(bào)協(xié)議
工作狀態(tài)報(bào)協(xié)議對應(yīng)的結(jié)構(gòu)體是:
typedef struct
{
short Sync; //報(bào)文頭
short PacketLength; //報(bào)文長度
short SmartEquipID; //狀態(tài)監(jiān)測裝置ID
byte PacketType; //報(bào)文類型
short Voltage; //報(bào)文內(nèi)容——電源電壓
short Temperature; //報(bào)文內(nèi)容——工作溫度
USHORT crc16; //循環(huán)冗余校驗(yàn)位
}HeartBeat;
必須在結(jié)構(gòu)體定義前說明對齊方式:#pragma pack(1),表示以1字節(jié)對齊,這樣,執(zhí)行代碼HeartBeat*ptHeartBeat = (HeartBeat*)Buff后,才能使報(bào)文全部正確的放入結(jié)構(gòu)體。
解析報(bào)文首先檢驗(yàn)報(bào)文頭、報(bào)文長度和校驗(yàn)碼,再根據(jù)報(bào)文類型確定報(bào)文協(xié)議,處理報(bào)文內(nèi)容。
報(bào)文內(nèi)容根據(jù)要求需要不同解析方式,主要處理方式有4種:
方式1:工作狀態(tài)報(bào)的作用是確保終端在線。每次收到此包,就要設(shè)置終端在線標(biāo)志位置1。若在規(guī)定時(shí)間未收到狀態(tài)包,則表示終端掉線。
方式2:微風(fēng)振動特征量數(shù)據(jù)報(bào)包含終端的電壓、溫度、微風(fēng)振動振幅和頻率。其中,實(shí)際電壓 float Vol=ptCMDFeatrueData->Voltage/10,實(shí)際溫度 float Temp =(ptCMDFeatrueData->Temperature)/10。輸電線振動是上下擺動的,此處用正負(fù)數(shù)表示其距水平線的振幅,因此接收到的數(shù)值可能為負(fù)值,需要將其轉(zhuǎn)成整數(shù),轉(zhuǎn)換方法:short Amplitude = 32768-ptCMD Featrue Data->Amplitude。更新數(shù)據(jù)庫中檢測終端ID的電壓與溫度,插入接收到的微風(fēng)振動振幅和頻率。然后向桿塔主機(jī)終端發(fā)送報(bào)文應(yīng)答 ACK,以表明此特征量數(shù)據(jù)報(bào)的解析是否成功。其中,ACK中標(biāo)志位flag=1表示處理成功;flag=0表示處理失敗,然后桿塔主機(jī)會向后臺管理系統(tǒng)重發(fā)特征量數(shù)據(jù)報(bào)。
方式3:微風(fēng)振動波形信號包含很多數(shù)據(jù),僅靠一個(gè)UDP報(bào)文發(fā)送可能會導(dǎo)致報(bào)文嚴(yán)重丟失,降低系統(tǒng)有效性,因此,設(shè)計(jì)把波形信號拆成多份發(fā)送,接收后再將其合并使用。報(bào)文中設(shè)置2個(gè)標(biāo)志位—數(shù)據(jù)拆包總數(shù)(Pack_Sum)和數(shù)據(jù)報(bào)包序(Pack_No)。當(dāng)接收到的報(bào)文中Pack_No=1,表示此報(bào)文對應(yīng)終端發(fā)過來的第一個(gè)波形信號報(bào),新建一個(gè)結(jié)構(gòu)體保存此終端 ID 和報(bào)文中的波形數(shù)據(jù);當(dāng)1 方式4:采集參數(shù)指高速采樣頻率、采樣點(diǎn)數(shù)和數(shù)學(xué)模型(公式(1))中的K和D,它們和定時(shí)采集時(shí)間一起發(fā)給桿塔主機(jī)終端,控制終端采集方式。 本文采用Windows Socket技術(shù)實(shí)現(xiàn)了數(shù)據(jù)報(bào)的解析。 系統(tǒng)收發(fā)數(shù)據(jù)比較頻繁,報(bào)文處理較復(fù)雜,各個(gè)模塊之間有大量交叉處理,因此需要對各命令報(bào)文進(jìn)行定時(shí)、協(xié)調(diào)處理。由于多線程處理可以提高系統(tǒng)性能、降低系統(tǒng)開銷和功耗,同時(shí)能夠保護(hù)已存在的軟件架構(gòu)[3],所以本系統(tǒng)采用主線程技術(shù)接收與發(fā)送報(bào)文,并定時(shí)報(bào)文的收發(fā)。 后臺管理系統(tǒng)使用VC++的ATL開發(fā),應(yīng)用程序類型是Server。創(chuàng)建一個(gè)線程,在此線程中實(shí)現(xiàn)初始化數(shù)據(jù)庫,從數(shù)據(jù)庫獲取設(shè)備信息,服務(wù)器套接字的建立、綁定,接收和處理來自桿塔主機(jī)終端的數(shù)據(jù)報(bào)文,建立用于定時(shí)的子線程,超時(shí)處理等。 線程中的子線程用于時(shí)間定時(shí)。終端要定時(shí)向后臺管理系統(tǒng)發(fā)送心跳包,以保證檢測終端與后臺服務(wù)器連接,若后臺服務(wù)器在規(guī)定時(shí)間內(nèi)未收到心跳包,則表示此終端與后臺服務(wù)器連接斷開,必須等待重新連接。為了保證穩(wěn)定性和安全性,每次報(bào)文發(fā)送后都要定時(shí)等待ACK,若沒收到則需要重發(fā)。 系統(tǒng)使用Oracle數(shù)據(jù)庫存儲數(shù)據(jù),根據(jù)需要設(shè)定了多種表。以桿塔主機(jī)設(shè)備表為例,其字段及字段的標(biāo)識符和類型如表3所示。 表3 桿塔主機(jī)設(shè)備表(Nep_Vibration_CMA) 其它表主要有:用戶表、用戶權(quán)限表、操作日志管理表、微風(fēng)振動終端設(shè)備/狀態(tài)表、氣象設(shè)備信息表、當(dāng)天實(shí)時(shí)數(shù)據(jù)信息表、微風(fēng)振動歷史數(shù)據(jù)表等。 設(shè)置系統(tǒng)配置文件后,啟動前端振動檢測裝置、桿塔主機(jī)終端、后臺管理系統(tǒng)和數(shù)據(jù)庫就可接收和發(fā)送數(shù)據(jù)。 微風(fēng)振動詳細(xì)功能列表——系統(tǒng)實(shí)現(xiàn)的微風(fēng)振動功能界面如圖3 所示,主要包括數(shù)據(jù)與數(shù)據(jù)間關(guān)系的各種顯示,以及各個(gè)終端的數(shù)據(jù)信息。 圖3 系統(tǒng)功能界面 實(shí)時(shí)數(shù)據(jù)列表——采集的微風(fēng)振動和其它氣象數(shù)據(jù)通過表格和各自的圖標(biāo)表示,簡潔清晰,一目了然。選中對應(yīng)的記錄可以查看該記錄下的氣象和振動采樣曲線圖。數(shù)據(jù)界面展示如圖4所示。 手動即時(shí)采集——為求隨時(shí)掌握終端輸電線處的準(zhǔn)確情況,可以手動即時(shí)采集。點(diǎn)擊振動數(shù)據(jù)列表工具欄的“即時(shí)采集數(shù)據(jù)”按鈕。系統(tǒng)就會發(fā)出指令, 收集微風(fēng)振動數(shù)據(jù),界面如圖5所示。 圖4 系統(tǒng)采集數(shù)據(jù)展示 圖5 手動即時(shí)采集數(shù)據(jù)界面圖 輸電線路微風(fēng)振動在線監(jiān)測系統(tǒng)利用前端裝置進(jìn)行數(shù)據(jù)采集,通過射頻、GPRS和以太網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)傳輸,并對傳統(tǒng)的數(shù)據(jù)報(bào)進(jìn)行改進(jìn),保證了數(shù)據(jù)傳輸?shù)目煽啃?。在后臺采用Winsock技術(shù)對數(shù)據(jù)報(bào)解析與管理,利用WEB技術(shù)將數(shù)據(jù)可視化,界面友好。實(shí)現(xiàn)了智能電網(wǎng)線路狀態(tài)監(jiān)測信息標(biāo)準(zhǔn)化、集約化、透明化傳輸,實(shí)時(shí)和及時(shí)地掌握輸電線上的振動情況,避免輸電線上懸垂絕緣子受損、防振錘位移等現(xiàn)象,杜絕塔材斷裂、倒塔斷線等嚴(yán)重后果,保證輸電線路大跨越的安全穩(wěn)定運(yùn)行。 系統(tǒng)基于微風(fēng)振動監(jiān)測而設(shè)計(jì),但對其它遠(yuǎn)程監(jiān)控系統(tǒng)也提供了一定參考價(jià)值。下一步將在測得的數(shù)據(jù)基礎(chǔ)上建立微風(fēng)振動與微氣象數(shù)據(jù)的數(shù)學(xué)模型,通過微氣象數(shù)據(jù)來預(yù)測微風(fēng)振動情況,實(shí)現(xiàn)輸電線路的智能監(jiān)控與預(yù)警,這將大大提高輸電線路的安全性。 [1]潘忠華.線夾出口處導(dǎo)線動彎應(yīng)變值計(jì)算系數(shù)論析[J].電力建設(shè),1993,14(10):4-8. [2]陳立定,馮景輝,胥布工.遠(yuǎn)程環(huán)境在線監(jiān)測系統(tǒng)的設(shè)計(jì)[J].同濟(jì)大學(xué)學(xué)報(bào):自然科學(xué)版,2010,38(11):1659-1663. [3]劉近光,梁滿貴.多核多線程處理器的發(fā)展及其軟件系統(tǒng)架構(gòu)[J].微處理機(jī),2007(1):1-3. [4]王廣偉,李維釗,曲銘海.Windows Sockets網(wǎng)絡(luò)編程[J].計(jì)算機(jī)應(yīng)用研究,2000,17(8):51-54. [5]AL-Mukhtar,Mumtaz M Ali. A Protocol Analyzer Using a Sockets Based Network Sniffer [J]. Australian Journal of Basic& Applied Sciences,2010,4(7),1632-1640. [6]Amamiya Satoshi,Amamiya Makoto,Hasegawa Ryuzo,et al.A continuation-based noninterruptible multithreading processor architecture. Journal of Supercomputing[J].2009,47(2),228-252.2.2 數(shù)據(jù)的接收
3 數(shù)據(jù)管理
4 系統(tǒng)運(yùn)行結(jié)果
5 結(jié)束語