劉敏 張先勇
(五邑大學計算機學院)
社會用電量的快速增長促使電力工業迅猛發展,大容量、遠距離的架空線路陸續投入運行,電力輸送容量和輸送距離迅速增長,因此輸電線路的安全運行變得越來越重要。導線長期處于露天環境中,受到風、雨、冰雪、雷電等自然現象的影響,日積月累,容易發生安全事故,導致大面積停電事故的發生。其中,微風振動引發的事故最多。架空線路長期的振動作用會造成懸垂絕緣子受損、防振錘位移,嚴重的可能會導致塔材斷裂,甚至出現倒塔斷線的嚴重后果。
為了實時監測輸電線路的狀態,利用桿塔上的微氣象采集設備實時采集當前的風向、風速、溫濕度、輻射、雨量等氣象信息;利用輸電線上的微風振動監測裝置實時采集輸電線的微風振動強度、振幅、頻率等參數。通過網絡將采集的相關數據傳輸到檢測管理中心,實現桿塔的微風振動在線監測。
在線監測系統主要由 5部分組成:微風振動/微氣象前端檢測裝置、桿塔主機終端、后臺管理系統、數據庫服務器和數據可視化系統。監測系統結構示意圖如圖1所示。
輸電線的微風振動是用導線上的動彎應變強度衡量的,線夾出口處導線上的動彎應變,可以通過距離夾頭出口89 mm處的彎曲振幅由式(1)求得。在夾頭出口處,導線動彎應變與其對應的彎曲振幅的數學關系[1]:

其中,∈為夾頭出口點導線的動彎應變;K為定值系數;A為距離夾頭出口89 mm處,相對夾頭的導線的彎曲振幅;D為導線直徑。

圖1 監測系統結構示意圖
前端振動檢測裝置裝在離夾頭出口89 mm處,如圖2 所示。通過伸縮位移傳感器采集此處輸電線的彎曲振幅,根據式(1)換算成夾頭處振動的動彎應變,并將測量結果通過短距離RF射頻技術傳輸到桿塔上的狀態監測裝置主機。

圖2 微風振動前端檢測裝置
微風振動/微氣象前端檢測裝置具備數據合理性檢查分析功能,能對采集數據進行預處理,自動識別并過濾相關干擾。微風振動前端檢測裝置具備對原始采集量的一次計算功能,得出能直觀反映微風振動水平的動彎應變數據。計算模型中的參數可遠程配置查詢,例如采集點數N、導線直徑D等。
桿塔主機終端安裝在桿塔上。因為微風振動前端檢測裝置安裝在輸電線上,距離桿塔相對較遠,所以桿塔主機和微風振動前端檢測裝置之間通過短距離射頻技術收發數據。而微氣象前端檢測裝置終端也是安裝在桿塔上,所以可用RS232連線連接。一臺桿塔主機終端可與多臺微風振動/微氣象前端檢測裝置傳輸數據。桿塔主機終端中裝有一個GPRS DTU模塊。GPRS無線網絡具有接入速度快、永遠在線、覆蓋面廣、運營成本低廉、組網靈活、系統擴容方便等特點。通過GPRS網絡,桿塔主機終端可將從前端檢測裝置接收到的數據傳送到管理中心。后臺管理系統將這些數據進行解析處理。
桿塔主機終端可自動重啟,解決硬件故障導致的死循環等異常,具備按遠程指令修改數據采集頻率和采樣時間間隔等參數的能力,同時具備動態響應遠程時間查詢/設置、數據請求、復位等指令的能力。
桿塔主機終端啟動后定時(1分鐘)發送一個工作狀態報給后臺管理系統,以保持和后臺管理系統的鏈接,確保兩者之間成功發送數據流。
后臺管理系統接收桿塔主機終端發送的數據后,提取其中的有效信息,如前端振動檢測裝置的ID及其電源電壓和工作溫度、微風振動的幅值、微風振動的頻率、桿塔主機終端的ID及其電源電壓和工作溫度、微氣象參數等。對這些數據進行必要的計算后,存入對應的數據庫中,系統采用Oracle數據庫。系統利用WEB技術可視化數據,方便用戶查詢使用。
后臺管理系統負責定時向桿塔主機終端發送采集命令,桿塔主機終端收到命令后,控制前端振動/微氣象檢測裝置即時采集數據,并將這些數據轉發給后臺管理系統,實現自動采集,隨時掌握輸電線路上微風振動和微氣象的情況。后臺管理系統也負責設置改正相關參數,使前端振動檢測裝置采集到的數據符合實時采集要求,如設置采樣頻率、采樣點數、校時終端等。
后臺管理系統是數據流管理的中樞,連接著采集終端、存儲終端和顯示終端,可與桿塔主機終端、Oracle數據庫系統、WEB可視化系統進行數據流通信。
輸電線上的微風振動和微氣象數據需要時刻監測,尤其是在惡劣的天氣時,振動變化比較劇烈,所以系統對實時性要求較高,運行速度也必須快。并且系統的協議報文長度較短,報文傳輸間隔較短,數據的接收和發送比較頻繁,因此系統采用無需連接、占用網絡資源較少、傳輸速度快的UDP網絡通信協議。
但是UDP傳輸的不穩定性會造成報文丟失、被篡改等,參考面向連接的 TCP網絡傳輸協議,通過一些措施增強了數據安全與運行穩定性。
1)標簽處理——為了防止處理接收到的無關垃圾報文,規定每個報文都必須帶有特定報頭作為標簽。接收到報文后先檢查是否帶有統一指定的報頭;
2)報文長度驗證——報文協議中設有報文長度標志位,用于標示完整報文的長度。因此,報文除了統一的標簽外,還需要判斷接收到的報文長度是否與其中的報文長度標志位數值一致;
3)循環冗余校驗 CRC16——在報文末尾增加CRC16校驗位,校驗的內容包括報文中除校驗位外所有報文數據(包括報文頭+報文長度+狀態監測裝置ID+報文類型+報文內容);
4)增加ACK——UDP協議本身沒有ACK,為了增加系統數據的安全性與準確性,在原UDP基礎上增加了ACK確認功能。在命令和數據報文中都對應各自ACK;
5)定時重發——UDP傳輸過程中會出現各種異常,因此在等待接收所需報文時,可增加一個定時器,若超過規定時間且未接收到所需報文,或響應表明接收失敗,則再次發送請求/設置命令,直至收到成功的響應數據報為止。如發送指定次數不成功后,復位與上位機的連接,并再次發送。定時重發的次數可在系統配置文件中設定。
當后臺管理服務器接收到終端通過 GPRS無線網絡發送過來的數據后,根據已經定義好的報文協議進行拆包處理。根據系統功能的需要,報文協議主要有:工作狀態報,即時采集微風振動/微氣象數據報,微風振動特征量數據報,微風振動波形信號數據報,微氣象數據報,校時、重新連接、定時時間重設、采集參數及間隔時間設置等數據報。
報文結構定義有報文頭、報文長度、狀態監測裝置 ID、報文類型、報文內容和校驗位,報文結構定義如表1所示。表2以工作狀態報為例說明后臺解析報文的原理。

表1 報文結構定義

表2 工作狀態報協議
工作狀態報協議對應的結構體是:
typedef struct
{
short Sync; //報文頭
short PacketLength; //報文長度
short SmartEquipID; //狀態監測裝置ID
byte PacketType; //報文類型
short Voltage; //報文內容——電源電壓
short Temperature; //報文內容——工作溫度
USHORT crc16; //循環冗余校驗位
}HeartBeat;
必須在結構體定義前說明對齊方式:#pragma pack(1),表示以1字節對齊,這樣,執行代碼HeartBeat*ptHeartBeat = (HeartBeat*)Buff后,才能使報文全部正確的放入結構體。
解析報文首先檢驗報文頭、報文長度和校驗碼,再根據報文類型確定報文協議,處理報文內容。
報文內容根據要求需要不同解析方式,主要處理方式有4種:
方式1:工作狀態報的作用是確保終端在線。每次收到此包,就要設置終端在線標志位置1。若在規定時間未收到狀態包,則表示終端掉線。
方式2:微風振動特征量數據報包含終端的電壓、溫度、微風振動振幅和頻率。其中,實際電壓 float Vol=ptCMDFeatrueData->Voltage/10,實際溫度 float Temp =(ptCMDFeatrueData->Temperature)/10。輸電線振動是上下擺動的,此處用正負數表示其距水平線的振幅,因此接收到的數值可能為負值,需要將其轉成整數,轉換方法:short Amplitude = 32768-ptCMD Featrue Data->Amplitude。更新數據庫中檢測終端ID的電壓與溫度,插入接收到的微風振動振幅和頻率。然后向桿塔主機終端發送報文應答 ACK,以表明此特征量數據報的解析是否成功。其中,ACK中標志位flag=1表示處理成功;flag=0表示處理失敗,然后桿塔主機會向后臺管理系統重發特征量數據報。
方式3:微風振動波形信號包含很多數據,僅靠一個UDP報文發送可能會導致報文嚴重丟失,降低系統有效性,因此,設計把波形信號拆成多份發送,接收后再將其合并使用。報文中設置2個標志位—數據拆包總數(Pack_Sum)和數據報包序(Pack_No)。當接收到的報文中Pack_No=1,表示此報文對應終端發過來的第一個波形信號報,新建一個結構體保存此終端 ID 和報文中的波形數據;當1 方式4:采集參數指高速采樣頻率、采樣點數和數學模型(公式(1))中的K和D,它們和定時采集時間一起發給桿塔主機終端,控制終端采集方式。 本文采用Windows Socket技術實現了數據報的解析。 系統收發數據比較頻繁,報文處理較復雜,各個模塊之間有大量交叉處理,因此需要對各命令報文進行定時、協調處理。由于多線程處理可以提高系統性能、降低系統開銷和功耗,同時能夠保護已存在的軟件架構[3],所以本系統采用主線程技術接收與發送報文,并定時報文的收發。 后臺管理系統使用VC++的ATL開發,應用程序類型是Server。創建一個線程,在此線程中實現初始化數據庫,從數據庫獲取設備信息,服務器套接字的建立、綁定,接收和處理來自桿塔主機終端的數據報文,建立用于定時的子線程,超時處理等。 線程中的子線程用于時間定時。終端要定時向后臺管理系統發送心跳包,以保證檢測終端與后臺服務器連接,若后臺服務器在規定時間內未收到心跳包,則表示此終端與后臺服務器連接斷開,必須等待重新連接。為了保證穩定性和安全性,每次報文發送后都要定時等待ACK,若沒收到則需要重發。 系統使用Oracle數據庫存儲數據,根據需要設定了多種表。以桿塔主機設備表為例,其字段及字段的標識符和類型如表3所示。 表3 桿塔主機設備表(Nep_Vibration_CMA) 其它表主要有:用戶表、用戶權限表、操作日志管理表、微風振動終端設備/狀態表、氣象設備信息表、當天實時數據信息表、微風振動歷史數據表等。 設置系統配置文件后,啟動前端振動檢測裝置、桿塔主機終端、后臺管理系統和數據庫就可接收和發送數據。 微風振動詳細功能列表——系統實現的微風振動功能界面如圖3 所示,主要包括數據與數據間關系的各種顯示,以及各個終端的數據信息。 圖3 系統功能界面 實時數據列表——采集的微風振動和其它氣象數據通過表格和各自的圖標表示,簡潔清晰,一目了然。選中對應的記錄可以查看該記錄下的氣象和振動采樣曲線圖。數據界面展示如圖4所示。 手動即時采集——為求隨時掌握終端輸電線處的準確情況,可以手動即時采集。點擊振動數據列表工具欄的“即時采集數據”按鈕。系統就會發出指令, 收集微風振動數據,界面如圖5所示。 圖4 系統采集數據展示 圖5 手動即時采集數據界面圖 輸電線路微風振動在線監測系統利用前端裝置進行數據采集,通過射頻、GPRS和以太網絡實現數據傳輸,并對傳統的數據報進行改進,保證了數據傳輸的可靠性。在后臺采用Winsock技術對數據報解析與管理,利用WEB技術將數據可視化,界面友好。實現了智能電網線路狀態監測信息標準化、集約化、透明化傳輸,實時和及時地掌握輸電線上的振動情況,避免輸電線上懸垂絕緣子受損、防振錘位移等現象,杜絕塔材斷裂、倒塔斷線等嚴重后果,保證輸電線路大跨越的安全穩定運行。 系統基于微風振動監測而設計,但對其它遠程監控系統也提供了一定參考價值。下一步將在測得的數據基礎上建立微風振動與微氣象數據的數學模型,通過微氣象數據來預測微風振動情況,實現輸電線路的智能監控與預警,這將大大提高輸電線路的安全性。 [1]潘忠華.線夾出口處導線動彎應變值計算系數論析[J].電力建設,1993,14(10):4-8. [2]陳立定,馮景輝,胥布工.遠程環境在線監測系統的設計[J].同濟大學學報:自然科學版,2010,38(11):1659-1663. [3]劉近光,梁滿貴.多核多線程處理器的發展及其軟件系統架構[J].微處理機,2007(1):1-3. [4]王廣偉,李維釗,曲銘海.Windows Sockets網絡編程[J].計算機應用研究,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 數據的接收
3 數據管理

4 系統運行結果



5 結束語