劉南艷 付秋實 劉 菁
(西安科技大學計算機科學與技術學院1,陜西 西安 710054;西安科技大學電氣與控制工程學院2,陜西 西安 710054)
開關柜智能溫度監測系統設計
劉南艷1付秋實2劉菁1
(西安科技大學計算機科學與技術學院1,陜西 西安710054;西安科技大學電氣與控制工程學院2,陜西 西安710054)
摘要:針對目前開關柜在線溫度監測系統不能對未來溫度進行準確預測的問題,在傳統開關柜溫度監測系統的基礎上,引入BP神經網絡算法,設計出一種智能開關柜溫度監測系統。系統采用高精度數字溫度傳感器進行數據采集,并將這些數據存儲到SQLite數據庫中;利用神經網絡算法對溫度值進行預測和報警;分別基于Qt和HTML編寫人機交互界面,使監測人員可以方便地獲取溫度數據。實驗表明,該系統可準確地對開關柜溫度進行監測和短期預測,能夠滿足實際需要。
關鍵詞:開關柜溫度預警監測系統神經網絡智能電網溫度傳感器人機交互界面DS18B20ARM
0引言
近年來,全球環境資源面臨越來越大的挑戰,社會對可持續發展的要求日益提高,更加安全、環保的智能電網逐漸發展起來[1]。電力設備在線監測是智能電網研究的重要領域,開關柜運行溫度監測就屬于這一范疇[2]。開關柜是電網系統中一個重要電氣設備,中高壓開關柜內部發熱量較大,對其內部刀閘觸頭、電纜接頭進行實時溫度監測是保證系統安全運行的重要條件[3-4]。傳統的在線溫度監測系統并不具備對未來溫度變化進行預測的功能,在溫度上升斜率較大的情況下,這種監測方式往往具有滯后性,從而錯過了最佳排查故障的時間,導致安全隱患。因此,在溫度監測系統中加入溫度預測功能很有必要。傳統的溫度預測方法主要是對環境進行溫度場分析[5],然而開關柜是一種復雜的非線性系統[2],建立精確的數學模型非常困難,效果也不甚理想。BP神經網絡是由Rumelhart等人給出的一種按誤差反向傳播訓練的前饋網絡[6],輸入與輸出之間存在著某種映射關系,而事先并不知道描述這種關系的函數。通過對歷史數據的訓練,得到其中蘊含的影響溫度變化的因子,再對最新的數據進行泛化并準確地預測,從而能夠有效預防電氣設備故障的發生。
1系統總體設計
系統總體由底層到上層可分為3個部分。系統總體框架結構如圖1所示。

圖1 系統總體框架圖
①底層硬件:包括微處理器、溫度傳感器等硬件,主要負責溫度數據的采集。
②網絡與數據處理:包括溫度處理程序、數據庫、Web服務器,負責溫度預測、數據存儲、數據交換等。
③終端設備:主要是搭載瀏覽器的計算機、置于現場的薄膜場效應晶體管 (thin film transistor,TFT)觸摸屏。終端設備有顯示、查詢、設置的功能。
2硬件設計
系統硬件部分主要包括電源模塊、中央處理單元、內存(Flash和RAM)、以太網適配器、溫度采集模塊、TFT觸摸顯示屏幕、報警模塊。
電源模塊經過整流、斬波后輸出12 VDC供系統使用。中央處理單元采用S3C2440微處理器,這是一款基于ARM9架構的32位處理器。中央處理器接收溫度采集模塊測得的數據,并對數據進行加工處理;將這些數據存入數據庫中,通過讀取數據庫的內容將這些數據呈現在人機界面上。
溫度測量模塊的核心是DS18B20數字溫度傳感器,其特點是測量結果輸出為數字信號,這樣便可省去ADC電路。中央處理單元通過單總線對傳感器發出初始化、數據采集、數據轉換等命令,最后測量結果再經過單總線傳輸到中央處理單元的GPIO接口。
內存是所有軟件、數據的物理載體。Flash內部包含了Linux操作系統、驅動程序、數據庫等;RAM用來保存臨時數據。
以太網適配器的型號為DM9000,微處理器通過以太網適配器與遠程計算機進行通信,這樣遠程計算機就可以通過瀏覽器客戶端獲取測量和預測的結果。TFT觸摸屏用來顯示圖形化人機界面。
系統硬件總體結構如圖2所示。

圖2 系統硬件總體結構圖
3軟件設計
軟件部分主要包括嵌入式Linux操作系統、傳感器驅動程序、溫度處理程序、數據庫訪問、人機界面、網頁設計等。在Linux操作系統中,驅動程序猶如一個溝通底層硬件和上層應用的橋梁。溫度處理程序通過調用驅動程序獲取溫度值,并將數據存入測量數據表單;然后再調用溫度預測函數預測下一時刻溫度,并存入預測數據表單中。用戶通過瀏覽器或人機交互界面即可獲取溫度值。
系統軟件整體結構圖如圖3所示。

圖3 系統軟件整體結構圖
3.1溫度傳感器驅動程序設計
溫度傳感器驅動程序負責傳感器硬件抽象化,為上層的溫度處理程序提供接口。這樣溫度處理程序只需要通過對驅動設備文件的讀和寫即可操作DS18B20。驅動程序直接對硬件進行操作,比如拉高總線、釋放總線、讀取傳感器內部寄存器的數據等。驅動程序源文件主要包括初始化、寫一個字節、讀一個字節、讀取溫度、操作函數集映射等。最后將編寫好的驅動程序編譯成內核模塊,使用時直接利用insmod命令安裝即可。安裝完成后,使用cat命令查看主設備號,再利用mknod命令將主設備號與設備文件名關聯即可。
3.2溫度處理程序設計
溫度處理程序主要負責溫度測量、溫度預測、數據存儲、圖形界面更新等,用戶自定義報警值用ts表示,測量值用tm表示,預測值用tp表示。處理程序不斷循環工作。
為了將溫度傳感器測得的數據保存下來,并實現溫度智能預測,需要用到數據庫管理系統。SQLite是一種小巧、靈活,但功能強大的嵌入式數據庫。相比傳統的數據庫,其具有實時性強、系統開銷較小等特點,適合在嵌入式系統中應用[7]。其基本操作如下。
①打開或新建數據庫(若不存在)。
sqlite3 *db = NULL ;
result = sqlite3_open ("/DS18B20/DS18B20.db",&db );
其中db表示數據庫句柄,/DS18B20/DS18B20.db為數據庫文件名(含路徑)。打開名為/DS18B20/DS18B20.db的數據庫,并用db表示其句柄。
②關閉已經打開的數據庫。
sqlite3_close (db )
③執行SQL語句。
sqlite3_exec(db,"create table DS18B20(ID integer primary key ,temperature float,TimeStamp NOT NULL DEFAULT (datetime('now','localtime')));",0,0 ,&errmsg);
建立一個帶有時間戳的名為DS18B20的表,用來保存溫度。其中序列號ID為主鍵值。
溫度處理程序流程如圖4所示。

圖4 溫度處理程序流程圖
3.3基于CGI的數據庫訪問
通用網關接口(common gateway interface ,CGI) 是外部擴展應用程序與Web服務器交互的一個標準接口[8]。在網絡環境下,瀏覽器傳遞信息給Web服務器,由Web服務器去啟動所指定的CGI程序來完成對數據的處理以及其他特定的功能。CGI程序工作原理如圖5所示。

圖5 CGI程序工作原理圖
通過CGI接口,客戶端向Web服務器發出請求,服務器獲取請求信息后轉交給指定的CGI程序進行處理,CGI程序將從數據庫查詢到的溫度數據結果返回給瀏覽器。為了更加方便地編寫CGI程序,本系統移植了第三方的CGIC庫。CGIC是專門為CGI開發的一個ANSI C庫。
3.4人機界面設計
系統硬件設計中包含TFT觸摸屏,用來實現人機交互。人機交互的方式有多種,其中基于GUI的方式較為直觀、方便。Qt是Trolltech公司發布的一款開發工具,它的類庫采用C++封裝,包含豐富的控件資源,移植性較好[9]。使用Qt designer可以方便地設計出優美的圖形界面。首先利用Qt designer設計好圖形界面,然后利用ui2cpp工具將圖形界面轉為源代碼,再利用Qt的信號-槽機制將GUI上面的控件與槽函數建立映射關系,具體代碼為:
connect(pushButton_start,SIGNAL(clicked()),timer1,SLOT(start()));
其中,pushButton_start為信號發出者,是一個開始按鈕;clicked()表示信號為單擊;timer1為信號接收者,是一個定時器;start()為槽函數,表示開啟定時器。這句代碼表示:按下開始按鈕,就會觸發定時器的start()函數,整個系統開始工作。
3.5網頁設計
網頁設計采用超文本標記語言(hyper text markup language,HTML)和JavaScript腳本語言編寫。本系統可通過遠程計算機實時動態監測開關柜內的溫度,也可以通過網頁查詢歷史曲線,設置溫度警戒值。由于HTML只適合顯示靜態文本,無法達到動態顯示和交互的目的,所以必須配合JavaScript進行開發。系統采用AJAX(異步JavaScript和XML)技術對后臺溫度數據進行實時更新,這樣就可以在無需重新加載整個頁面的情況下更新部分網頁。AJAX并非一種編程語言,而是對現有諸多Web技術的整合,用于創建交互性更強的應用[10]。
4基于BP神經網絡的預測算法
BP神經網絡的拓撲結構主要包含3層,分別是輸入層、隱含層、輸出層[11]。本系統溫度傳感器每隔10 s采集一次數據,將溫度序列記為{Ti}。由于歷史溫度序列的走向在一定程度上可以反映未來的溫度,所以擬采用歷史數據作為輸入。結合實驗精度和運算量綜合考量,采用4維輸入較為合適,所以輸入層神經元個數為4,用Tk+4表示當前測量值。輸入向量p(k)=[TkTk+1Tk+2Tk+3]T,即選取Tk+4的前4個值為輸入。隱含層的神經元個數可以按照經驗選取為10個。輸出層神經元為1個,期望輸出值向量d(k)為一維向量,且d(k)=Tk+4。網絡拓撲如圖6所示。圖6中,隱含層的激活函數為tansig,輸出層的激活函數為purelin。

圖6 BP神經網絡拓撲圖
學習算法描述如下。
①初始化。設置權值和閾值為最小隨機數。
③對各個訓練樣本,計算隱含層和輸出層神經元的輸出。
vj(n)=∑wji(n)yi(n)
(1)
yj(n)=φj[vj(n)]
(2)
④計算誤差信號和代價函數。
ej(n)=dj(n)-yj(n)
(3)
(4)
⑤改變隱含層與輸出層的權值。
⑥令n=n+1,返回步驟③,直到滿足停止準則。
5實驗結果
將智能溫度監測系統所測數據、精密儀器所測的標準數據、利用智能算法計算出的預測值進行對比分析,結果如表1所示。

表1 實驗結果分析
5.1測量結果分析

5.2預測結果分析
為便于分析,直接對標準值進行泛化。由于需要將某一時刻溫度的前4個值作為輸入,所以預測值從第5個序列號開始。預測值誤差的標準差為0.19 ℃,可見提出的預測算法具有較高的準確性。
6結束語
隨著智能電網的發展,電氣設備溫度在線監測系統的智能化程度也不斷提高。針對目前開關柜溫度監測系統無法對溫度進行預測的缺點,引入神經網絡預測算法,并結合互聯網技術,設計出一套智能溫度監測系統。實驗表明,系統的監測和預測數據都比較準確,可以滿足實際需要。
參考文獻
[1] 張文亮,劉壯志,王明俊,等.智能電網的研究進展及發展趨勢[J].電網技術,2009,33(13):1-3.
[2] 袁甄.利用BP神經網絡實現開關柜溫度預測[C]//第六屆ABB杯全國自動化系統工程師論文大賽,2013:266-268.
[3] 邵艷婷,鄭劼.開關柜溫度檢測系統設計與應用分析[J].煤炭工程,2013(6):130-131.
[4] 李赫.變電站高壓開關柜溫度監測系統的設計與實現[D].長春:吉林大學,2014.
[5] 左志宇,毛罕平,張曉東,等.基于時序分析法的溫室溫度預測模型[J].農業機械學報,2010,41(11):173-174.
[6] 謝永成,董今朝,魏寧.基于模式相關的改進BP神經網絡算法[J].計算機系統應用,2013,22(12):101-102.
[7] 武寧寧,鮑玉琦.基于SQLite數據庫的溫濕度實時存儲程序的設計[J].電子設計工程,2014,22(10):42-43.
[8] 王俊,郭書軍.嵌入式Web服務器的實現及其CGI應用[J].電子設計工程,2011,19(21):152-153.
[9] 連照亮,徐世國.基于Qt/Embedded在嵌入式Linux下的應用研究[J].微計算機信息,2010,26(11):81-82.
[10]華嘯,姜平,陳瑞祥.Ajax 技術在電子商務遠程管理中的應用[J].自動化儀表,2015,36(1):52-53.
[11]張澤旭.神經網絡控制與MATLAB仿真[M].哈爾濱:哈爾濱工業大學出版社,2011:56-57.
Design of the Intelligent Temperature Monitoring System for Switcher Cabinet
Abstract:Aiming at the problem of existing on line temperature monitoring system for switcher cabinets,i.e.,it is unable to accurately predict future temperature,a new type of temperature monitoring system with BP Neural network algorithm is designed based on traditional switch cabinet temperature monitoring system.In the system,high-accuracy digital temperature sensors are adopted for data acquisition,and the data are stored in SQLite database; then the neural network algorithm is used to predict the temperature value and issue alarm information.The Qt-based human-computer interaction interface HTML-based enable the technician obtain temperature data conveniently.The experimental results show that the system can monitor and short-term forecast the temperature in switcher cabinet,and meet the actual requirements.
Keywords:Switcher cabinetTemperature warningMonitoring systemNeural networkSmart gridTemperature sensorHuman machine interfaceDS18B20ARM
中圖分類號:TH8;TP277
文獻標志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201605020
陜西省教育廳科學研究計劃基金資助項目(編號:2013JK1188)。
修改稿收到日期:2015-09-01。
第一作者劉南艷(1966-),女,1989年畢業于西安科技大學工業電氣自動化專業,獲碩士學位,副教授;主要研究方向為嵌入式、互聯網、數據挖掘等。