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