王亞坤,曾德良,黃嘯彬
(華北電力大學(xué)控制與計算機(jī)工程學(xué)院,河北保定071003)
實時數(shù)據(jù)庫平臺是實現(xiàn)電廠管控一體化的橋梁,是廠級監(jiān)控信息系統(tǒng) (SIS)的核心部分,是電力企業(yè)信息化建設(shè)的關(guān)鍵環(huán)節(jié)。實時數(shù)據(jù)庫在SIS系統(tǒng)中起著非常重要的作用,是SIS系統(tǒng)存貯數(shù)據(jù)的基礎(chǔ)。實時數(shù)據(jù)庫是一種特殊類型的數(shù)據(jù)庫系統(tǒng),但有許多與關(guān)系型數(shù)據(jù)庫存在差異,核心就是對大量的實時信息進(jìn)行處理,由于成年累月的數(shù)據(jù)將占據(jù)大量的硬盤空間。一個新建300 MW的火電廠的SIS系統(tǒng),需要處理的測點數(shù)超過了10 000點,這些測點的變化周期通常在1 s之內(nèi),也就是說,需要將超過10 000點的數(shù)據(jù)在1 s之內(nèi)保存到數(shù)據(jù)庫中。例如系統(tǒng)每1 s存儲1次,每次單點占用8個字節(jié),那么保存10年的數(shù)據(jù)量將有10 000×8×10×365×86 400=25 228 800 000 000字節(jié),也就是 23TGB,若用1TGB的硬盤存放,需要存放23塊硬盤。所以數(shù)據(jù)壓縮尤為必要。實時數(shù)據(jù)的數(shù)據(jù)變化具有一定波形規(guī)律:工業(yè)實時數(shù)據(jù)中,只有一小部分測點的值經(jīng)常發(fā)生改變,工業(yè)實時數(shù)據(jù)中很多測點的數(shù)值都具有慢變化的特征,數(shù)值變化與時間變化具有共同變化特性,用戶在一定范圍內(nèi),能夠允許數(shù)據(jù)的精度損失。在工業(yè)應(yīng)用領(lǐng)域中,常用的壓縮算法分為3類:無損壓縮、有損壓縮、二級壓縮,其中無損壓縮中常用的是例外報告技術(shù)。然而例外報告中的死區(qū)設(shè)置比較困難,總是憑借經(jīng)驗來手動設(shè)定壓縮死區(qū),不具有科學(xué)依據(jù)。本文主要就此問題進(jìn)行了研究,并且以某個溫度信號為例,通過大量的數(shù)據(jù)分析,找出數(shù)據(jù)的動態(tài)特點,給出壓縮設(shè)置的準(zhǔn)則。
康派是北京華電天仁公司開發(fā)的SIS軟件,目前在數(shù)個電廠里得到了應(yīng)用。本文取一個典型信號進(jìn)行了研究。在康派SIS系統(tǒng)組態(tài)畫面里找出一個典型溫度信號,即省煤器蒸汽溫度,數(shù)據(jù)庫點名是ZSDC2.U3DAPUSH.DA001318(eDNA 數(shù)據(jù)庫點名字)。圖1是原始數(shù)據(jù)的曲線圖,時間段是20081001 00T00:00~20081201T00:00:00,總共2個月的時間,數(shù)據(jù)個數(shù)是85 248個,溫度范圍基本在240~280℃。
圖1 原始數(shù)據(jù)曲線圖Fig.1 Curve of original data
例外報告是用來提供當(dāng)前值的,它和采集數(shù)據(jù)的控制系統(tǒng)相關(guān)聯(lián)。所有的控制系統(tǒng)和儀器都會產(chǎn)生“無用數(shù)據(jù)”。
例外報告的目的,就是將控制系統(tǒng)中的“無用數(shù)據(jù)”過濾掉,而只引進(jìn)有意義的過程數(shù)據(jù)值。例外偏移量、最小時間限定和最大時間限定都是可調(diào)整的參數(shù),需要客戶方的過程工程和控制、儀器工程人員憑借知識和經(jīng)驗來設(shè)定每個Ta測點適當(dāng)?shù)拿^(qū)寬度。最小時間限定,消除了由一個快速振蕩的測點所產(chǎn)生的大量的例外報告,而最大時間限定,則用于網(wǎng)絡(luò)本身證明傳輸節(jié)點還處于活動狀態(tài),而并沒有掉線所用。例外偏移量以上一個值為基準(zhǔn)定義上下波動的一個死區(qū),超出死區(qū)的數(shù)值才通過壓縮測試,通過后進(jìn)行存儲并且作為下一個值的基準(zhǔn)。下面給出了例外報告的部分代碼(VC++):
/////////////////例外報告處理
if(fabs(temp_timestart-StringToUTCTime((const char*)szTime)) else{if(fabs(temp_timestart-StringToUTCTime((const char*)szTime))>reportdlg.Get_ExcMax) { null_fill(szTime,sizeof(szTime)); null_fill(szStatus,sizeof(szStatus)); strMessage.Format("%f,%s,%s,%d",dValue,szTime,szStatus,count_data); m_lbResult_process.AddString(strMessage); temp=dValue; temp_timestart=StringToUTCTime((constchar*) szTime);} else{ if(fabs(temp-dValue)>reportdlg.Get_ ExcDev){ null_fill(szTime,sizeof(szTime)); null_fill(szStatus,sizeof(szStatus)); strMessage.Format("%f,%s,%s,%d",dValue,szTime,szStatus,count_data); m_lbResult_process.AddString(strMessage); temp=dValue; temp_timestart=StringToUTCTime((constchar*) szTime);} else{}}}/////////////////例外報告處理 圖2 例外報告原理示意圖Fig.2 Interface of data analysis software 在此根據(jù)數(shù)據(jù)庫給出的DLL,編寫相關(guān)軟件,程序由VC++6.0實現(xiàn)。完成從數(shù)據(jù)庫取數(shù)據(jù),并且在線完成數(shù)據(jù)分析。所有數(shù)據(jù)均來自于山西漳山電廠。 軟件完成了從 eDNA數(shù)據(jù)庫里將原始數(shù)據(jù)取出,并且通過例外報告技術(shù)進(jìn)行處理,完成后對結(jié)果進(jìn)行統(tǒng)計分析。把漳山電廠2個月的數(shù)據(jù)分成3種時間段進(jìn)行分析,從10月1日到10月11日總共10 d進(jìn)行分析,分別設(shè)立相應(yīng)的壓縮死區(qū),得出數(shù)據(jù)分析表,共15個。同樣的從10月1日~11月1日30 d的數(shù)據(jù)進(jìn)行分析,從10月1日~12月1日進(jìn)行數(shù)據(jù)分析,各自得出15個表。表1是分析10 d數(shù)據(jù)時死區(qū)為0.01的測試結(jié)果。 表 2是壓縮死區(qū)設(shè)置為 0.01(30 d)和 0.5(60 d)時的測試結(jié)果。通過編寫的軟件分別設(shè)置不同的壓縮死區(qū),根據(jù)實際電廠運行數(shù)據(jù),得出不同壓縮死區(qū)情況下相應(yīng)的壓縮率是多少。將45個匯總表格中的死區(qū)設(shè)置和壓縮率進(jìn)行單獨匯總。匯總成數(shù)據(jù)結(jié)果分析表,如表3所示。 表1 例外報告壓縮死區(qū)(10 d)Tab.1 Deadzoneofexceptionreportcompression(10d) 表2 例外報告壓縮死區(qū)(30 d)Tab.2 Deadzoneofexceptionreportcompression(30d) 表3 數(shù)據(jù)結(jié)果分析匯總表Tab.3 Data analysis summary 由表2里的數(shù)據(jù)信息,以壓縮死區(qū)為橫軸,壓縮率為縱軸,得到10 d,30 d,60 d 3種時間情況下的死區(qū)—壓縮率曲線圖(如圖 3)。分別以 3種不同顏色代表3種時間情況下的統(tǒng)計結(jié)果。 圖3 死區(qū)—壓縮率曲線Fig.3 Dead zone-compression ratio curve 圖中曲線表明,在60 d的運行數(shù)據(jù)中,3種時間間隔下的統(tǒng)計結(jié)果基本上是一致的,沒有較大的差異。壓縮死區(qū)的設(shè)立,效果最好的都體現(xiàn)在了0.01~0.5℃之間,壓縮率從5%~80%左右的區(qū)間里,這時候的溫度差比起85 248個電廠原始數(shù)據(jù)的平均值251.529 177℃共最大不超過4℃,數(shù)據(jù)基本能滿足電廠日常維護(hù)、研究等應(yīng)用。根據(jù)實際需要,通過死區(qū)—壓縮率曲線圖,設(shè)置相應(yīng)的壓縮死區(qū)。而按照經(jīng)驗性的設(shè)置為數(shù)據(jù)點值的1%~1.5%不合適,因為1%也是有2.5℃的,然而按照研究的曲線表面在0.01~0.5℃范圍內(nèi)即取得了較好的壓縮效果。 現(xiàn)代新電廠規(guī)模越來越大,控制也越復(fù)雜,測點也在迅速增加,數(shù)據(jù)特性的研究顯得尤為必要。結(jié)合數(shù)據(jù)本身的特點,設(shè)置合適的壓縮死區(qū),解決數(shù)據(jù)的壓縮精度和存儲數(shù)據(jù)量的平衡問題是本文研究的核心。介紹了一種電廠信號的分析過程測試結(jié)果及其結(jié)果的分析。電廠的數(shù)據(jù)種類繁多,溫度、壓力、流量、閥門開度等,各種信號本身有著不同的數(shù)據(jù)特性,即使是溫度信號也擁有包括高溫信號、低溫信號、快變信號和慢變信號,其各自的數(shù)據(jù)特性也有較大差異。今后對火電廠信號進(jìn)行分類研究,找出不同信號的數(shù)據(jù)特性,為壓縮死區(qū)的設(shè)置提供一個科學(xué)的依據(jù)。 [1]孫皓.VisualC++范例大全[M].北京:機(jī)械工業(yè)出版社,2003.SunHao.VisualC++examples of Collection[M].Beijing:Mechanical Industry Press,2003. [2]劉銳寧,宋坤.VisualC++開發(fā)典型模塊大全[M].北京:人民郵電出版社,2004.LiuRuining,SongKun.VisualC++developmentofatypical modulecollection[M].Beijing:People's Posts&Telecom Press,2004. [3]侯其鋒,李曉華.VisualC++數(shù)據(jù)庫通用模板開發(fā)與系統(tǒng)移植[M].北京:清華大學(xué)出版社,2002.Hou Qifeng,LiXiaohua.Visual C++generictemplatedatabase development and system migration[M].Beijing:Tsinghua University Press,2002. [4]吳樂南.數(shù)據(jù)壓縮[M].北京:電子工業(yè)出版社,1995.Wu Yuenan.Data compression[M].Beijing:Electronic Industry Press,1995. [5]吳今培,孫德山.現(xiàn)代數(shù)據(jù)分析[M].北京:機(jī)械工業(yè)出版社,2002.Wu Jinpei,Sun Deshan.Modern data analysis[M].Beijing:Mechanical Industry Press,2002. [6]孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.Sun Xin,Yu Anping.The introduction of VC++in-depth Details[M].Beijing:Electronic Industry Press,2006. [7]尹成群,李麗,呂安強(qiáng),等.基于混沌和SVK-DWT的數(shù)字圖像水印算法[J].電力科學(xué)與工程,2008,24(4):54-58.Yin Chengqun,Li Li,Lv Anqiang,et al.SVK-DWT Based onchaos anddigitalimage watermarking algorithm[J].Electric Power Science and Engineering,2008,24 (4):54-58. [8]陳鑫鐸.實時歷史數(shù)據(jù)庫的壓縮與實現(xiàn)[J].電子科技大學(xué)學(xué)報,2007,24(4):54-58.Chen Xinduo.Real-time compression and the realization of historicaldatabases[J].Electronic Scienceand Technology University,2007,24(4):54-58. [9]湯同奎.SDT算法及其在過程數(shù)據(jù)壓縮中的應(yīng)用[J].上海交通大學(xué)學(xué)報,2006,2(3):47-49.Tang Tongkui.SDTalgorithmand itsapplication in the processofdata compression[J].ShanghaiJiaotong University,2006,2(3):47-49. [10]李晶皎,朱志良,王愛俠.模式識別[M].北京:電子工業(yè)出版社,2004.LiJingjiao,ZhuZhiliang,WangAixia.Patternrecognition[M].Beijing:Electronic Industry Press,2004.2.2 編寫軟件實現(xiàn)取數(shù)據(jù)統(tǒng)計分析處理
2.3 繪制表格進(jìn)行結(jié)果分析
3 結(jié)語