基于COM技術的SCADA系統(tǒng)數(shù)據(jù)庫設計 - 全文
【摘要】近年來組件技術已被廣泛應用于電力調(diào)度自動化系統(tǒng)的開發(fā),而且IEC61970標準為系統(tǒng)標準化和組件化提供了互操作標準,在此基礎上作者介紹了一種基于組件對象模型(COM)的SCADA數(shù)據(jù)庫系統(tǒng)設計方案,其中的系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)設計遵循IEC61970-303標準,利用組件連接數(shù)據(jù)庫與SCADA前臺應用。用戶可以通過更新組件模塊的方式擴展和升級系統(tǒng),使系統(tǒng)具有更好的兼容性和可擴展性。采用此方法開發(fā)的SCADA系統(tǒng)可作為數(shù)據(jù)交互平臺,用于新一代調(diào)度自動化系統(tǒng)。
1、引言
隨著計算機技術的發(fā)展,自動化軟件在電力系統(tǒng)的應用越來越多,功能也越來越強大,但與此同時也給應用軟件開發(fā)商和電力企業(yè)用戶帶來一些問題:軟件系統(tǒng)越來越龐大、系統(tǒng)內(nèi)部關系錯綜復雜、系統(tǒng)維護困難;對其中某一部分的修改可能影響到其他許多應用功能,而且難以擴展其他功能;當用戶對系統(tǒng)中某一部分的功能進行擴展時,如果用第三方軟件,由于接口專用,要重復開發(fā)一些軟件,給用戶造成資金和時間上的浪費。
上述問題導致目前針對電力系統(tǒng)開發(fā)的電網(wǎng)監(jiān)控系統(tǒng)不僅系統(tǒng)問移植性較差,甚至系統(tǒng)升級和功能擴展也很困難。由于沒有統(tǒng)一的數(shù)據(jù)標準格式,這些系統(tǒng)難于與外界交換信息,不能實現(xiàn)異構(gòu)數(shù)據(jù)資源共享,難以滿足電力系統(tǒng)中日益廣泛的分布式網(wǎng)絡應用的需求,已經(jīng)不能適應電網(wǎng)監(jiān)控系統(tǒng)發(fā)展的新要求。
近幾年來隨著組件技術的發(fā)展成熟,它在電力系統(tǒng)中的應用受到越來越多開發(fā)人員的重視。組件程序設計方法的思想將復雜的應用程序設計成一些小的、功能單一的組件模塊,在組件模塊封裝內(nèi)部實現(xiàn)細節(jié),只對外提供標準的應用接口。利用組件的特性能夠解決網(wǎng)絡分布環(huán)境中多種異構(gòu)數(shù)據(jù)資源共享問題,實現(xiàn)多種應用軟件的協(xié)同工作,而且組件的重用性還可以大幅提高應用軟件的開發(fā)效率,增強系統(tǒng)的穩(wěn)定性,使系統(tǒng)更易于維護和管理。目前在電網(wǎng)調(diào)度自動化軟件中推行組件化和各個應用軟件接口的標準化,以實現(xiàn)“即插即用”己成為開發(fā)新一代電網(wǎng)調(diào)度自動化系統(tǒng)的主要任務瞄J。國際電工技術委員會(IEC)為此制訂了一系列標準,其中的IEC61970系列標準對電網(wǎng)調(diào)度自。川口動化系統(tǒng)平臺的標準化具有重要意義,也為基于組隨著計算機技術的發(fā)展,自動化軟件在電力系件技術的電力系統(tǒng)數(shù)據(jù)互操作提供了參考。
2、組件對象模型(COM)技術
長期以來,面向?qū)ο蟮某绦蛟O計方法是進行軟20POwerSystemTechnology’V01.28NO.14件開發(fā)的最好方案,它解決了傳統(tǒng)軟件開發(fā)中難以實現(xiàn)代碼共享、程序沒有可移植性等問題,允許開發(fā)者可以在同一系統(tǒng)的不同應用中共享代碼,極大地提高了開發(fā)效率,但是面向?qū)ο?a href="http://ttokpm.com/v/tag/1315/" target="_blank">編程的軟件的重用僅限于程序源代碼級別的重用,而且它一般要求對象程序和使用對象的客戶程序使用同樣的編程語言,因此這樣的代碼重用僅僅是一種較低層次的重用。
組件對象模型(Component0biectModel,COM)是由微軟公司創(chuàng)建的一種二進制和網(wǎng)絡標準,遵循這一標準開發(fā)的組件之間可以跨進程、跨機器、跨語言甚至跨操作平臺進行通信。因此,只要組件接口標準化,開發(fā)人員就可以如同搭積木一樣,從某個組件庫中取出所需的組件并將其快速地組裝到一起,以構(gòu)成所需的應用,如圖1所示。
與傳統(tǒng)的軟件設計相比,使用組件程序設計方法開發(fā)軟件產(chǎn)品具有下列優(yōu)點:
?。?)組件易替換
在龐大復雜的企業(yè)級系統(tǒng)應用程序中,如果使用組件技術將程序分成一個個組件模塊,在組件修改后升級版本時,就可以只修改或替換相關的組件,而不影響其他眾多的程序組件。
?。?)便于適應業(yè)務需求進行更改
軟件的業(yè)務需求通常不確定,開發(fā)期間和軟件配置之后,新的需求會不斷涌現(xiàn)。在組件化的軟件中,可以將業(yè)務規(guī)則放在少數(shù)幾個組件中,當業(yè)務規(guī)則發(fā)生改變時,只需修改原組件或重建并發(fā)布新組件。因此,更新是局部的,程序中出錯的機會也就限制在這個局部,使程序的調(diào)試和測試更為方便。
(3)可實現(xiàn)二進制代碼重用
組件之間可以在二進制級別上進行繼承和重用,這樣一來只需一次編寫代碼而多處應用。
?。?)有助于進行并行開發(fā)
一個大應用系統(tǒng)由許多組件組成,這些組件的實現(xiàn)可以并列進行。只要接口設計正確,則建立這些組件后它們將能順利配合。
3、SCADA系統(tǒng)數(shù)據(jù)庫設計方法
設計數(shù)據(jù)庫時要根據(jù)數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)模型來定義數(shù)據(jù)模式,在傳統(tǒng)的SCADA系統(tǒng)中,由于對電力系統(tǒng)的描述形式和計算機實現(xiàn)方法不同,不同廠家設計的系統(tǒng)的數(shù)據(jù)模式是不同的,這造成系統(tǒng)的訪問接口缺乏統(tǒng)一的標準,致使不同系統(tǒng)異構(gòu)和互聯(lián)非常困難。從1994~1998年的五年問,通過整個工業(yè)界的協(xié)作和努力,國際電工技術委員會(IEC)發(fā)布了所有使用實時信息的應用開發(fā)者的最初標準化設計規(guī)范,即IEC61970。設計規(guī)范第一次允許所有用戶(電力公司、電力聯(lián)營體、電力市場、配電控制中心、供電方、投資者等)能夠在一個充滿競爭的應用領域中來升級/移植他們的系統(tǒng),而不必依賴某一廠家,也不必浪費以前的投資。這些標準的發(fā)布將極大地促進開放系統(tǒng)的構(gòu)造。IEC61970系列標準,主要包括公用信息格式(CommonInformationModel,CIM)和組件接口標準(ComponentInterfaceSpecification,CIS)。CIM以xML語言描述電力系統(tǒng)數(shù)據(jù)的結(jié)構(gòu),包含了EMS的公共類和屬性以及它們之間的關系,它用面向?qū)ο蟮姆椒ㄒ?guī)定了公用數(shù)據(jù)的標準數(shù)據(jù)模式,構(gòu)成了系統(tǒng)之間互操作的基礎;CIS描述了組件之間信息交換的接口以及應用程序訪問公共數(shù)據(jù)的方式pJ。這些標準統(tǒng)一了系統(tǒng)之間數(shù)據(jù)交換的格式,使應用組件技術實現(xiàn)電力系統(tǒng)應用軟件的集成即互操作成為可能。
在本文所介紹的SCADA系統(tǒng)中,數(shù)據(jù)庫系統(tǒng)的分析、設計與實現(xiàn)均采用組件設計思想,按照面向設備的方法描述SCADA系統(tǒng)中的元數(shù)據(jù),遵循IEC61970—303系列標準設計SCADA數(shù)據(jù)庫,數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)模式和歷史數(shù)據(jù)等都存放在歷史數(shù)據(jù)庫中,而SCADA系統(tǒng)的實時數(shù)據(jù)則存放在實時數(shù)據(jù)庫中,對外提供標準的數(shù)據(jù)接口16J?;贑OM的SCADA數(shù)據(jù)庫系統(tǒng)設計模型如圖2所示。
4、SCADA數(shù)據(jù)庫系統(tǒng)組件化設計的優(yōu)越性
在傳統(tǒng)的SCADA系統(tǒng)設計中,后臺數(shù)據(jù)庫的不同會對整個SCADA系統(tǒng)的應用造成很大的影響,但如果采用如圖2所示的三層軟件應用模型,采用控件數(shù)據(jù)對象(ActiveX【)ata0biects,AD0)提供一致的數(shù)據(jù)庫訪問接口,則可以克服這一問題,這也使軟件具有更好的系統(tǒng)適應性。圖2中業(yè)務邏輯層的組件適用于電網(wǎng)監(jiān)控,它對外提供標準接口,客戶調(diào)用相應的接口函數(shù)獲得所需的功能。如果外部應用程序的數(shù)據(jù)接口也遵循IEC61970標準,在SCADA的數(shù)據(jù)庫平臺上就能夠使用不同廠商的應用軟件,做到“即插即用”。由于采用組件設計,系統(tǒng)的功能由一個個功能獨立的組件“拼裝”而成,減少了系統(tǒng)之間的代碼依賴性,當系統(tǒng)要進行改動或升級時,只需對相應的組件進行改動,而且系統(tǒng)需要增加新的功能時,也只需針對新的需求設計新的應用組件程序,與原系統(tǒng)“組合”使用,這樣就大大增強了系統(tǒng)的開放性,減少了系統(tǒng)的開發(fā)及維護工作量,如圖3所示。
5、組件的設計與實現(xiàn)
由于組件的優(yōu)點在于可重用性好,具有標準應用接口,因此在系統(tǒng)設計中應將功能盡可能地細化,使組件能完成某一項獨立的功能,以充分體現(xiàn)組件的優(yōu)越性,提高組件的重復利用率。在本文中,業(yè)務邏輯層主要設計了以下一些組件:
(1)用戶登錄組件
該組件的功能是對登錄用戶的合法性進行識別,若屬非法用戶則拒絕其進入SCADA系統(tǒng),合法用戶則準許進入,并賦予其在SCADA系統(tǒng)中相應的權(quán)限。用戶登錄進SCADA系統(tǒng)時,調(diào)用該組件,由該組件對外提供接口函數(shù),定義如下:
?。?)數(shù)據(jù)庫連接組件
該組件的功能是連接到后臺數(shù)據(jù)庫,對外提供以下兩個接口函數(shù):
1)Open(BSTRdatasource,BSTRuser,BSTRpwd)用于連接后臺數(shù)據(jù)庫;
2)Close()用于斷開與數(shù)據(jù)庫的連接。
(3)數(shù)據(jù)訪問組件系列
在本文所述設計中,針對SCADA系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)表開發(fā)了一系列的數(shù)據(jù)訪問組件,它們封裝了對數(shù)據(jù)庫中數(shù)據(jù)的各項操作,提供了一系列的應用接口函數(shù),SCA:DA應用系統(tǒng)通過調(diào)用接口函數(shù)來獲得相應的信息。以SCADA系統(tǒng)訪問遙測信息為例,所有的對遙測信息的操作均封裝在名為Yclnfo的組件里,組件內(nèi)部包括以下一些操作函數(shù):
1)getYcPara(YcPara*pa)用以得到遙測信息記錄的指針
在系統(tǒng)中為了方便數(shù)據(jù)管理,每項遙測信息保存在一個名為YcPara的結(jié)構(gòu)體內(nèi),該結(jié)構(gòu)體的定義如下:
structYcPara
{
intRtuID;//廠站號
intYclD;//遙測號
charYcName[40】;//遙測名稱
intIfvalid;//是否有效
floatBase;//基值
};
通過獲得結(jié)構(gòu)體的指針得到具體的數(shù)據(jù):
2)First()得到第一條記錄;
3).Next()得到下一條記錄;
4)Prev()返回前一條記錄;
5)Last()得到最后一條記錄;
6)delete()刪除當前記錄;
7)update(BSTRstrSQL)更新當前記錄。
?。?strong>4)數(shù)據(jù)表管理組件
該組件封裝了對數(shù)據(jù)庫中的表結(jié)構(gòu)進行的操作,如新建數(shù)據(jù)表、刪除數(shù)據(jù)表等操作。
以上設計的這些組件,能獨立完成某些功能,對外提供說明其功能的接口及接口函數(shù),如果有其它的客戶需要實現(xiàn)這樣的功能,也能夠通過調(diào)用相關組件獲得所需的功能,提高了資源利用率。
6、結(jié)論
數(shù)據(jù)庫管理系統(tǒng)是電力系統(tǒng)應用的支撐平臺,也是整個系統(tǒng)的核心內(nèi)容,從數(shù)據(jù)庫管理系統(tǒng)開始實施IEC61970標準系列、推行組件化設計不僅能夠滿足SCADA系統(tǒng)的開放性和可持續(xù)發(fā)展性的要求,而且使自動化系統(tǒng)和信息系統(tǒng)的交互與集成成為可能,必將極大地促進信息化電力系統(tǒng)的建設進程。本文介紹的基于COM技術的SCADA系統(tǒng)數(shù)據(jù)庫組件化設計方案,己在武漢大學開發(fā)的SCADA系統(tǒng)中得到實現(xiàn)與應用,取得了較好的效果。
- 第 1 頁:基于COM技術的SCADA系統(tǒng)數(shù)據(jù)庫設計
- 第 2 頁:設計方法
- 第 3 頁:數(shù)據(jù)訪問
本文導航
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
相關閱讀:
- [編程語言及工具] 常用于緩存處理的機制總結(jié) 如何避免緩存雪崩問題? 2023-10-24
- [電子說] 觸發(fā)器的基本原理、應用場景及優(yōu)缺點 2023-10-23
- [存儲技術] AI大模型對數(shù)據(jù)存儲技術的發(fā)展趨勢 2023-10-23
- [電子說] 訪問控制中PIP的典型流程和關鍵點思考 2023-10-23
- [電子說] 物證管理系統(tǒng)|智物證DW-S404是一套成熟系統(tǒng) 2023-10-23
- [電子說] Tata Communications數(shù)據(jù)收入繼續(xù)保持兩位數(shù)的增長勢頭 2023-10-22
- [電子說] Python 梯度計算模塊如何實現(xiàn)一個邏輯回歸模型 2023-10-21
- [電子說] TinyDB :一個純Python編寫的輕量級數(shù)據(jù)庫 2023-10-21
( 發(fā)表人:金巧 )