摘 要:通過對衡水電網(wǎng)SCADA系統(tǒng)數(shù)據(jù)利用現(xiàn)狀的分析,找出了數(shù)據(jù)利用率低的原因,提出將SCADA系統(tǒng)非標準數(shù)據(jù)庫轉(zhuǎn)換成Oracle標準數(shù)據(jù)庫,用標準數(shù)據(jù)庫語言對數(shù)據(jù)進行管理,從而提高了數(shù)據(jù)的利用率。
關(guān)鍵詞:Orcle SCADA 數(shù)據(jù)利用率
0 引言
隨著衡水電網(wǎng)調(diào)度自動化水平的不斷提高,遙測、遙信數(shù)據(jù)的準確性也不斷提高,電網(wǎng)運行的大量數(shù)據(jù)不僅成為科學(xué)調(diào)度的依據(jù),在輔助公司決策方面也發(fā)揮著越來越重要的作用。比如:方式人員在安排電網(wǎng)運行方式時,需要每月各站有功、電壓等大量統(tǒng)計信息;計劃部門需要歷年的電網(wǎng)運行數(shù)據(jù)作為制定計劃的依據(jù);用電處需要市區(qū)電網(wǎng)的遙測信息作為開展工作的參考??傊髽I(yè)各部門對數(shù)據(jù)的需求量不斷增長。
1 衡水電網(wǎng)調(diào)度自動化系統(tǒng)數(shù)據(jù)利用現(xiàn)狀
1.1 衡水電網(wǎng)數(shù)據(jù)利用率
衡水電網(wǎng)調(diào)度自動化系統(tǒng)所存儲的數(shù)據(jù)有兩類:遙測值和計算量。系統(tǒng)每天存儲的數(shù)據(jù)不僅包括288個整5分鐘的實時值,還包括每天的統(tǒng)計值,(如:最大值、最小值及相應(yīng)的時間等14個屬性)。目前系統(tǒng)中共有計算量685個,遙測量2430個。實時數(shù)據(jù)報表占128張,統(tǒng)計數(shù)據(jù)報表占19張,每張報表的平均容量為576個數(shù)據(jù)點,在以上分析的基礎(chǔ)上我們計算出了目前的數(shù)據(jù)利用率。
?。ㄏ到y(tǒng)每天存儲實時數(shù)據(jù)總數(shù)=288×(2430+685)=897120個,可用數(shù)據(jù)總數(shù)=576×128=73728個
系統(tǒng)每天存儲統(tǒng)計數(shù)據(jù)總數(shù)=14×(2430+685)=43610個, 可用數(shù)據(jù)總數(shù)=576×19=10944個)
從上表中我們可以看到,衡水電網(wǎng)調(diào)度自動化系統(tǒng)中所存儲數(shù)據(jù)的利用率只有約9%,大量的電網(wǎng)運行數(shù)據(jù)不能被直接訪問。
1.2 衡水電網(wǎng)調(diào)度自動化系統(tǒng)數(shù)據(jù)訪問流程
[align=center][IMG=SCADA系統(tǒng)數(shù)據(jù)訪問流程]/uploadpic/THESIS/2008/1/2008012516013480943Q.gif[/IMG]
圖1 SCADA系統(tǒng)數(shù)據(jù)訪問流程[/align]
系統(tǒng)設(shè)計時采用了非標準數(shù)據(jù)庫,對系統(tǒng)數(shù)據(jù)的訪問只能使用PGC2000系統(tǒng)提供的功能來完成,從而限制了對數(shù)據(jù)的訪問。
2 解決對策
通過上面的分析可以得出,系統(tǒng)功能的限制和系統(tǒng)未采用標準數(shù)據(jù)庫是導(dǎo)致數(shù)據(jù)利用率低的主要原因。
對于系統(tǒng)功能的限制,在單一的SCADA系統(tǒng)中,數(shù)據(jù)庫的建立和管理都采用文件方式,調(diào)度員的操作只是調(diào)用畫面,由系統(tǒng)維護人員來完成數(shù)據(jù)的插入、修改等操作,如果通過增加畫面的數(shù)量來提高數(shù)據(jù)利用率,勢必以犧牲系統(tǒng)的響應(yīng)時間和穩(wěn)定性為代價,這是不可取的。
對于系統(tǒng)未采用標準數(shù)據(jù)庫,由于系統(tǒng)未采用標準的數(shù)據(jù)庫,導(dǎo)致了利用數(shù)據(jù)方法繁瑣,數(shù)據(jù)訪問方式不合理,利用數(shù)據(jù)方法繁瑣導(dǎo)致用戶不能在期望的時間內(nèi)訪問到所需要的數(shù)據(jù),數(shù)據(jù)訪問方式不合理導(dǎo)致主機負載過高,不能在有效響應(yīng)用戶的數(shù)據(jù)請求,這些都限制了用戶對系統(tǒng)數(shù)據(jù)的訪問,導(dǎo)致了數(shù)據(jù)可用率低的現(xiàn)狀。
我們決定在不對現(xiàn)有軟件進行改動的前提下,通過將非標準數(shù)據(jù)庫轉(zhuǎn)換成標準數(shù)據(jù)庫的方法來提高數(shù)據(jù)的利用率。
為此,我們制定了如下解決方案:
a.選擇合適的網(wǎng)絡(luò)結(jié)構(gòu);
b.安裝Oracle數(shù)據(jù)庫管理軟件,建立數(shù)據(jù)庫表結(jié)構(gòu);
c.理清SCADA系統(tǒng)數(shù)據(jù)的存放格式,編寫數(shù)據(jù)轉(zhuǎn)換模塊;
d.利用標準數(shù)據(jù)庫查詢語言進行數(shù)據(jù)查詢。
3 實施步驟
3.1 網(wǎng)絡(luò)結(jié)構(gòu)的選擇
為減輕實時服務(wù)器的負擔(dān),將原有的兩臺COMPAQ DS-10小型機作為歷史服務(wù)器,分別安裝Oracle 數(shù)據(jù)庫,采用C/S結(jié)構(gòu),標準數(shù)據(jù)庫存放在歷史服務(wù)器上,同時在工作站上安裝Oracle客戶端,用戶通過網(wǎng)絡(luò)從工作站上訪問數(shù)據(jù)庫。
3.2 建立表結(jié)構(gòu)
衡水電網(wǎng)SCADA系統(tǒng)中,數(shù)據(jù)的存儲是以天為單位,每天生成一個數(shù)據(jù)文件,少數(shù)計算量以年為單位,每年生成一個文件,每天零點進行統(tǒng)計后對該文件進行更新,增加記錄。
由于數(shù)據(jù)量大,也為了與習(xí)慣一致,在設(shè)計ORACLE數(shù)據(jù)庫時要建立一個包含站名、站號、點名、點號等的數(shù)據(jù)字典文件,同時將每年的遙測數(shù)據(jù)建立一個歷史數(shù)據(jù)表文件,將每年遙測數(shù)據(jù)的統(tǒng)計值建立一個統(tǒng)計數(shù)據(jù)表文件。
a. 創(chuàng)建一個包含站名、站號、點名、點號的數(shù)據(jù)字典文件
CREATE TABLE DBDICTIONARY (
SERIAL int NOT NULL ,
STNNO int NOT NULL , 來源:輸配電設(shè)備網(wǎng)
PNTNO int NOT NULL ,
PNTTYPE char (1) NOT NULL ,
STNNAME varchar2 (40) NOT NULL ,
PNTNAME varchar2 (40) NOT NULL ,
DTCREATE date NULL ,
PRIMARY KEY("SERIAL"),
UNIQUE("SERIAL")
)
PARTITION BY RANGE(STNNO)
(…)
…
b. 創(chuàng)建包括日最大(?。┲?、最大(?。┲禃r刻、平均值等的年度統(tǒng)計值表
CREATE TABLE DBSTATISTICS2005 (
SERIAL int NOT NULL ,
DTDATE date NOT NULL ,
NUM_VALID int NOT NULL ,
NUM_NORMAL int NOT NULL ,
MAXIMUM real NOT NULL ,
DTMAXIMUM date NOT NULL ,
…
)
PARTITION BY RANGE(DTDATE)
(…)
…
c. 創(chuàng)建包括所有遙測點、計算量點的全天288個點的年度實時值表
CREATE TABLE DBHISTORY2005 (
SERIAL int not null,
DTDATE date not null,
D1 real, D2 real,…)
PARTITION BY RANGE(DTDATE)
(…)
…
3.3 編寫數(shù)據(jù)轉(zhuǎn)換模塊
由于在數(shù)據(jù)存儲中廠家采用了非標準的數(shù)據(jù)庫,我們不清楚數(shù)據(jù)的存儲形式,因此與廠家協(xié)作編寫數(shù)據(jù)轉(zhuǎn)據(jù)轉(zhuǎn)換模塊,在設(shè)計數(shù)據(jù)轉(zhuǎn)換模塊時我們考慮了下面幾個問題:
a. 數(shù)據(jù)轉(zhuǎn)換模塊應(yīng)不依賴于調(diào)度自動化主程序,應(yīng)具有良好的可移植性;
b. 由于采用雙機冗余的網(wǎng)絡(luò)結(jié)構(gòu),數(shù)據(jù)轉(zhuǎn)換模塊應(yīng)具有靈活選擇數(shù)據(jù)源和目的數(shù)據(jù)庫的功能。
c. 數(shù)據(jù)轉(zhuǎn)換模塊可以自動運行,也可手動運行,以保證在修改了實時數(shù)據(jù)庫后能及時對歷史數(shù)據(jù)庫做出相應(yīng)的修改。
d. 為滿足數(shù)據(jù)查詢靈活性的要求,數(shù)據(jù)轉(zhuǎn)換模塊應(yīng)具備靈活選擇轉(zhuǎn)換時間段的功能。
4 實施效果
4.1 經(jīng)過反復(fù)修改,數(shù)據(jù)轉(zhuǎn)換程序主界面如下圖所示: 來源:輸配電設(shè)備網(wǎng)
[align=center][IMG=數(shù)據(jù)轉(zhuǎn)換程序主界面]/uploadpic/THESIS/2008/1/2008012516060267409N.gif[/IMG]
圖2 數(shù)據(jù)轉(zhuǎn)換程序主界面 [/align]
利用這個數(shù)據(jù)轉(zhuǎn)換模塊可以方便的將SCADA系統(tǒng)生成的非標準數(shù)據(jù)庫文件轉(zhuǎn)換成標準Oracle數(shù)據(jù)庫文件。
4.2 轉(zhuǎn)換后數(shù)據(jù)訪問流程如圖3所示。
[align=center][IMG=數(shù)據(jù)訪問流程圖]/uploadpic/THESIS/2008/1/2008012516060687663M.gif[/IMG]
圖3 數(shù)據(jù)訪問流程圖[/align]
這種數(shù)據(jù)訪問形式的優(yōu)點在于:
a. 利于用標準數(shù)據(jù)庫查詢語言對數(shù)據(jù)進行查詢
b. 利于實現(xiàn)網(wǎng)絡(luò)負載平衡;
c. 提高整個電網(wǎng)調(diào)度自動化系統(tǒng)的容錯性;
d. 提高數(shù)據(jù)存儲的安全性。
4.3 應(yīng)用
例如查詢PID為 "02A011" 在2005年的最大值,可使用下列語句:
select max(maximum)
from dbdictionary, dbstatistics2005
where dbdictionary.serial = dbstatistics2005.serial
and dbdictionary.stnno = 02
and dbdictionary.pnttype = A
and dbdictionary.pntno = 11
5 結(jié)束語
通過將電網(wǎng)運行數(shù)據(jù)轉(zhuǎn)換到ORACLE標準數(shù)據(jù)庫中的方式,可以用標準數(shù)據(jù)庫查詢語言實現(xiàn)對任意點的數(shù)據(jù)查詢,SCADA采集的數(shù)據(jù)能更好的被企業(yè)各部門所共享,數(shù)據(jù)的利用率大大提高。