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