鄭義平
柳州供電局信息及計(jì)算機(jī)應(yīng)用管理部
[摘要] SCADA系統(tǒng)是電力系統(tǒng)中極為重要的系統(tǒng),在電力企業(yè)MIS系統(tǒng)建設(shè)過(guò)程中,實(shí)現(xiàn)MIS系統(tǒng)與SCADA系統(tǒng)的集成,有著重要的實(shí)際意義。本文以柳州供電局管理信息系統(tǒng)建設(shè)為例,闡述MIS與SCADA系統(tǒng)集成的實(shí)現(xiàn)。
[主題詞] MIS,SCADA,系統(tǒng)集成
一、 前言
信息化是社會(huì)發(fā)展不可逆轉(zhuǎn)得歷史潮流,信息化技術(shù)的發(fā)展和應(yīng)用水平已經(jīng)成為衡量一個(gè)國(guó)家、行業(yè)、部門或企業(yè)實(shí)力的重要標(biāo)志。作為國(guó)民經(jīng)濟(jì)先行產(chǎn)業(yè)的電力企業(yè),隨著生產(chǎn)過(guò)程的日益發(fā)展,數(shù)據(jù)和信息量急劇增加,企業(yè)的管理越來(lái)越復(fù)雜,企業(yè)現(xiàn)代化管理要求企業(yè)內(nèi)部乃至全系統(tǒng)之間實(shí)現(xiàn)數(shù)據(jù)及信息的交流和共享,實(shí)現(xiàn)企業(yè)管理的綜合信息系統(tǒng)化(MIS),以提高企業(yè)及全系統(tǒng)的決策能力與管理水平。而電力調(diào)度自動(dòng)化SCADA系統(tǒng)是電力系統(tǒng)重要的組成部分,對(duì)電網(wǎng)的安全、優(yōu)質(zhì)、經(jīng)濟(jì)運(yùn)行極為重要。實(shí)現(xiàn)SCADA系統(tǒng)與MIS系統(tǒng)有機(jī)的集成,拓寬SCADA系統(tǒng)的應(yīng)用,豐富MIS系統(tǒng)的組成。為電網(wǎng)的規(guī)劃、生產(chǎn)等提供了一個(gè)有力的手段。
實(shí)現(xiàn)SCADA與MIS系統(tǒng)的集成,一方面,要實(shí)現(xiàn)SCADA系統(tǒng)采集到的實(shí)時(shí)數(shù)據(jù),包括遙測(cè)、遙信信息,與MIS系統(tǒng)的共享,為各種分析、預(yù)測(cè)及決策提供數(shù)據(jù)基礎(chǔ);另一方面,SCADA系統(tǒng)要為MIS系統(tǒng)提供電網(wǎng)的各種接線圖、曲線和棒圖的實(shí)時(shí)顯示提供信息來(lái)源,由于SCADA系統(tǒng)多采用較高分辨率進(jìn)行圖形顯示,則在MIS系統(tǒng)建設(shè)中,應(yīng)考慮用戶界面分辨率的平穩(wěn)無(wú)縫切換問(wèn)題。
二、 SCADA系統(tǒng)實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)換
柳州供電局SCADA系統(tǒng)采用南瑞生產(chǎn)的RD-800系統(tǒng),通過(guò)南瑞的SWJ-700系統(tǒng)實(shí)現(xiàn)與MIS系統(tǒng)的連接,其采集到的實(shí)時(shí)數(shù)據(jù)存放于數(shù)據(jù)文件中,這些數(shù)據(jù)就是柳州供電局MIS系統(tǒng)的實(shí)時(shí)數(shù)據(jù)的來(lái)源。
2.1調(diào)度實(shí)時(shí)數(shù)據(jù)結(jié)構(gòu)
對(duì)于MIS系統(tǒng)而言,其實(shí)時(shí)數(shù)據(jù)來(lái)源于與SCADA系統(tǒng)相連的SWJ-700系統(tǒng)的數(shù)據(jù)文件,包括遙測(cè)數(shù)據(jù)及遙信數(shù)據(jù),遙測(cè)數(shù)據(jù)存放于SWJ-700系統(tǒng)的RC.REL文件,而遙信數(shù)據(jù)存放于YX.REL文件。
數(shù)據(jù)文件為二進(jìn)制格式,刷新周期采用10S一次。對(duì)于遙測(cè)數(shù)據(jù)文件,包含64個(gè)廠站的遙測(cè)數(shù)據(jù),每個(gè)廠站有256個(gè)遙測(cè)量,每個(gè)遙測(cè)量都是一個(gè)4字節(jié)的浮點(diǎn)數(shù),依次存放;而遙信數(shù)據(jù)文件存放64個(gè)廠站的遙信數(shù)據(jù),每個(gè)廠站占用64個(gè)字節(jié),512個(gè)遙信,每個(gè)遙信量使用字節(jié)中的一個(gè)位表示。
2.2數(shù)據(jù)轉(zhuǎn)換分析及實(shí)現(xiàn)
在SCADA系統(tǒng)與MIS系統(tǒng)的集成中,數(shù)據(jù)轉(zhuǎn)換模塊完成將SCADA系統(tǒng)采集到實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)換到MIS系統(tǒng)使用的大型數(shù)據(jù)庫(kù)SYBASE中,從而為進(jìn)一步數(shù)據(jù)處理和分析及決策提供一個(gè)良好的基礎(chǔ)?紤]SCADA系統(tǒng)是一個(gè)實(shí)時(shí)系統(tǒng),為滿足實(shí)時(shí)性的要求,數(shù)據(jù)采樣周期很小,但是,作為供管理決策的MIS系統(tǒng),從可行性和必要性而言,沒(méi)有必要將所有SCADA采集到的數(shù)據(jù)都轉(zhuǎn)換進(jìn)SYBASE數(shù)據(jù)庫(kù),由于采用了SWJ-700系統(tǒng)作為接口,電網(wǎng)實(shí)時(shí)接線圖、電壓及符合曲線等,在MIS系統(tǒng)中可直接通過(guò)SWJ-700系統(tǒng)客戶端軟件瀏覽,所以只需將各開關(guān)的變位情況、整個(gè)系統(tǒng)及各出線開關(guān)的整點(diǎn)數(shù)據(jù)、最大負(fù)荷等轉(zhuǎn)換即可。
考慮到SYBASE系統(tǒng)和實(shí)時(shí)數(shù)據(jù)的采集和存儲(chǔ)保持同步比較困難,而且MIS系統(tǒng)中要求的數(shù)據(jù)頻度最低為小時(shí)值,通過(guò)小時(shí)數(shù)據(jù)值進(jìn)而生成日、月以及年數(shù)據(jù)。因此,將轉(zhuǎn)換模塊中的數(shù)據(jù)采集和保存功能適當(dāng)分離,數(shù)據(jù)采集模塊使用C++編程實(shí)現(xiàn),以與SWJ-700系統(tǒng)同樣的采樣周期,采集SWJ-700系統(tǒng)的數(shù)據(jù)文件,取得整點(diǎn)數(shù)據(jù)、開關(guān)變位情況以及小時(shí)內(nèi)最大負(fù)荷值,生成轉(zhuǎn)換模塊的數(shù)據(jù)文件;而數(shù)據(jù)保存模塊采用PowerBuilder編程,以每小時(shí)一次的頻率將數(shù)據(jù)采集模塊的數(shù)據(jù)文件中的數(shù)據(jù)保存到SYBASE系統(tǒng)。全電網(wǎng)的負(fù)荷的計(jì)算,采用初始化文件保存計(jì)算公式的策略,由數(shù)據(jù)保存模塊讀取初始化文件中的計(jì)算公式,根據(jù)數(shù)據(jù)采集模塊的數(shù)據(jù)文件中的數(shù)據(jù)計(jì)算而出,以保證負(fù)荷計(jì)算方式改變后,只需調(diào)整初始化文件中的計(jì)算公式,而不需修改程序。另外,為適應(yīng)各廠站或采集點(diǎn)的變更投退,在轉(zhuǎn)換模塊中應(yīng)有定義各廠站及采集點(diǎn)次序的功能。
三、 用戶界面分辨率無(wú)縫切換
SCADA系統(tǒng)很重要的一個(gè)內(nèi)容,就是電網(wǎng)及各變電站的各種實(shí)時(shí)圖形,包括各實(shí)時(shí)接線圖、負(fù)荷曲線,電壓曲線以及各種歷史曲線,在MIS系統(tǒng)中采用SWJ-700系統(tǒng)客戶端程序作為SCADA系統(tǒng)圖形瀏覽器,由于SCADA系統(tǒng)的圖形開發(fā)時(shí)多采用較高分辨率實(shí)現(xiàn),而在MIS系統(tǒng)中則可能由于種種原因,常使用低于SCADA系統(tǒng)圖形分辨率開發(fā)系統(tǒng),這樣,在瀏覽這兩種圖形界面時(shí),存在用戶界面分辨率平穩(wěn)切換的問(wèn)題。
在MIS系統(tǒng)中調(diào)用SWJ-700客戶瀏覽器的分辨率切換,包括調(diào)用前切換和調(diào)用后恢復(fù)原有分辨率切換兩個(gè)過(guò)程,其難點(diǎn)在于調(diào)用后恢復(fù)原有分辨率。由于PowerBuilder支持使用RUN函數(shù)調(diào)用可執(zhí)行文件,使用C++編程實(shí)現(xiàn)分辨率切換的執(zhí)行文件,供MIS系統(tǒng)調(diào)用:
int myDisplaySettings(int set, int width, int height)
{
HDC hscrDC;
static int xScreen, yScreen;
DEVMODE DevM;
long lRet;
int iRet;
iRet=0;
if (set==0) { //保存當(dāng)前的分辨率
hscrDC=CreateDC("Display",NULL, NULL,NULL);
xScreen=GetDeviceCaps(hscrDC, HORZRES);
yScreen=GetDeviceCaps(hscrDC, VERTRES);
DeleteDC(hscrDC);
} else if (set==9) { //恢復(fù)到保存的分辨率模式
EnumDisplaySettings(0, 0, &DevM);
DevM.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
DevM.dmPelsWidth = xScreen;
DevM.dmPelsHeight = yScreen;
lRet= ChangeDisplaySettings(&DevM, 0);
if (lRet != DISP_CHANGE_SUCCESSFUL) {
MessageBox(NULL,"顯示器分辨率設(shè)定有誤!",NULL,0);
iRet=-1;
}
} else { //設(shè)置指定的分辨率
EnumDisplaySettings(0, 0, &DevM);
DevM.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
DevM.dmPelsWidth = width;
DevM.dmPelsHeight = height;
lRet= ChangeDisplaySettings(&DevM, 0);
if (lRet != DISP_CHANGE_SUCCESSFUL) {
iRet=-1;
}
}
return iRet;
}
int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow )
{
Main::hInstance = hInstance;
Main::hPrevInstance = hPrevInstance;
Main::nCmdShow = nCmdShow;
int ret, xScreen, yScreen, flag=0;
char str_comm[100];
if ( ! Main::hPrevInstance ) {
MainWindow::Register();
}
myDisplaySettings(0, 0,0);
if (myDisplaySettings(1, 1024,768)!=0) {
myDisplaySettings(1, 800,600);
}
ret=spawnl(P_WAIT, " \\gshow.exe"," \\gshow.exe" ,NULL);
myDisplaySettings(9, 0,0);
return 0;
}
在函數(shù)myDisplaySettings(int set,int width,int height)中,參數(shù)set為標(biāo)志位,當(dāng)set等于0時(shí),程序保存當(dāng)前顯示器分辨率;set等于1時(shí),設(shè)置分辨率為width及height所指定的分辨率;而當(dāng)set為9時(shí),恢復(fù)到原來(lái)顯示器分辨率。在Winmain()主函數(shù)中,調(diào)用SWJ-700系統(tǒng)圖形瀏覽器gshow.exe時(shí),spawnl()的第一參數(shù)置為P_WAIT,即當(dāng)且僅當(dāng)瀏覽器關(guān)閉后,恢復(fù)系統(tǒng)原有分辨率。
四、 結(jié)束語(yǔ)
在柳州供電局管理信息系統(tǒng)的建設(shè)中,成功的實(shí)現(xiàn)了SCADA系統(tǒng)與MIS系統(tǒng)的集成,盡管由于采用了SWJ-700系統(tǒng)作為實(shí)時(shí)圖形瀏覽器,在瀏覽實(shí)時(shí)圖形時(shí)難以直接在圖上查閱某一設(shè)備的具體參數(shù),而必須在MIS系統(tǒng)的設(shè)備管理子系統(tǒng)中查閱,但SCADA系統(tǒng)與MIS系統(tǒng)的集成,為MIS系統(tǒng)提供了實(shí)時(shí)圖形的瀏覽,實(shí)時(shí)數(shù)據(jù)查詢與處理,為歷史數(shù)據(jù)的保存及生產(chǎn)規(guī)劃、決策提供了數(shù)據(jù)基礎(chǔ),進(jìn)一步提高了企業(yè)的生產(chǎn)管理水平。