于 峰 ,衛(wèi)志農(nóng) ,王成亮 ,姜理源
(1.河海大學(xué)能源與電氣學(xué)院,江蘇南京 210098;2.江蘇方天電力技術(shù)有限公司,江蘇南京 211102)
變壓器是交流輸電、變電、配電過程中的主要設(shè)備之一,隨著電網(wǎng)的擴(kuò)大、發(fā)電機(jī)容量的增大、輸電電壓的提高以及輸電功率的加大,其運(yùn)行參數(shù)直接影響著電力系統(tǒng)的穩(wěn)定、經(jīng)濟(jì)運(yùn)行[1,2]。因此,建立一套變壓器分接頭數(shù)據(jù)庫,以供運(yùn)行人員進(jìn)行數(shù)據(jù)管理維護(hù)和電力系統(tǒng)運(yùn)行分析十分必要。
.NET框架是一個(gè)功能非常豐富的平臺(tái),可開發(fā)、部署和執(zhí)行分布式程序[3]。結(jié)合公共信息模型(CIM)對變壓器分接頭相關(guān)數(shù)據(jù)的面向?qū)ο笮兔枋?,采用?yīng)用程序接口函數(shù)(API)存儲(chǔ)分接頭實(shí)時(shí)數(shù)據(jù),然后通過編寫.NET數(shù)據(jù)提供程序訪問讀取實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù),并采用Ajax(Asynchronous Java-Script and XML)網(wǎng)頁技術(shù),實(shí)現(xiàn)了變壓器分接頭實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)的B/S模式訪問。
變壓器是電力系統(tǒng)中實(shí)現(xiàn)電能傳輸和分配的核心元件,而變壓器分接頭起著調(diào)節(jié)高低壓兩側(cè)電壓、優(yōu)化電網(wǎng)無功分布和調(diào)節(jié)系統(tǒng)穩(wěn)定運(yùn)行的作用。
變壓器等值網(wǎng)絡(luò)如圖1所示。圖中各參數(shù)均用標(biāo)幺值表示,其中ZT為變壓器的阻抗,K為變比標(biāo)幺值[4]。
由于變壓器的變比K總是接近于1,當(dāng)K>1時(shí),左邊阻抗Z1為容性,右邊阻抗Z2為感性;當(dāng)K<1時(shí),左邊阻抗為感性,右邊阻抗為容性,相當(dāng)于在變壓器的一側(cè)放置并聯(lián)電容器,另一側(cè)放置并聯(lián)電抗器,前者向系統(tǒng)送出感性無功,后者從系統(tǒng)吸收感性無功。優(yōu)化變比K能優(yōu)化變壓器兩側(cè)系統(tǒng)無功潮流分布和變壓器兩側(cè)電壓。然而分接頭的調(diào)節(jié)并不總是有益的,當(dāng)系統(tǒng)中無功電源缺乏時(shí),若通過改變變比來升高電壓,會(huì)使系統(tǒng)其他地方無功更加缺乏,更甚者將導(dǎo)致電壓崩潰。
變壓器分接頭實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)通過B/S模式發(fā)布,用戶通過IE瀏覽器進(jìn)行訪問,為用戶提供變壓器分接頭實(shí)時(shí)數(shù)據(jù)的瀏覽,包括當(dāng)前實(shí)時(shí)數(shù)據(jù)的顯示和歷史數(shù)據(jù)的查詢。
目前,實(shí)時(shí)數(shù)據(jù)庫有關(guān)系、層次和面向?qū)ο?種數(shù)據(jù)模型[5]。關(guān)系模型簡單、易維護(hù)、用戶界面友好,但只適合處理不包含拓?fù)潢P(guān)系的數(shù)據(jù),對電力系統(tǒng)拓?fù)浣Y(jié)構(gòu)的描述和應(yīng)用軟件的接入比較困難;層次模型允許定義有父子層次關(guān)系的二維表,層間通過層次指針進(jìn)行關(guān)聯(lián),目前許多運(yùn)行的電力系統(tǒng)應(yīng)用軟件均基于層次型實(shí)時(shí)庫;面向?qū)ο竽P团c面向?qū)ο蟮能浖こ套匀唤Y(jié)合,但實(shí)現(xiàn)比較復(fù)雜,未有成熟的產(chǎn)品。
2.2.1 CIM簡介
CIM描述了電力企業(yè)的所有主要對象,通過提供一種用對象類和屬性及他們之間的關(guān)系來表示電力系統(tǒng)的標(biāo)準(zhǔn)方法,從而方便了各獨(dú)立開發(fā)的應(yīng)用的集成[6]。CIM由完整的一組包組成,主要有核心包(core)、域包(Domain)、發(fā)電包(Generation)、發(fā)電動(dòng)態(tài)包(Generation Dynamics)、負(fù)荷模型包(Load-Model)、 量 測 包 (Meas)、停 運(yùn) 包 (Outage)、 生 產(chǎn) 包(Production)、保護(hù)包(Protection)、拓?fù)浒?Topology)、電線包(Wires)。單個(gè)的實(shí)體可以具有越過許多包邊界的關(guān)聯(lián),從而每一個(gè)應(yīng)用將使用多個(gè)包所表示的信息。
2.2.2 變壓器分接頭的CIM描述
Wires包是Core和Topology包的擴(kuò)展,建立了輸電和配電網(wǎng)絡(luò)電氣特性的信息模型。Wires類圖中變壓器分接頭主要類的描述如圖2所示。
為更加有效地存儲(chǔ)和利用變壓器分接頭的相關(guān)數(shù)據(jù),結(jié)合CIM包面向?qū)ο蟮奶攸c(diǎn),本實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)采用對象-關(guān)系型數(shù)據(jù)模型。
變壓器分接頭相關(guān)數(shù)據(jù)主要包括:靜態(tài)數(shù)據(jù)和實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù)。
2.3.1 靜態(tài)數(shù)據(jù)
在實(shí)時(shí)數(shù)據(jù)庫中,靜態(tài)數(shù)據(jù)不隨時(shí)間的變化而變動(dòng),包括分接頭的型號、變壓器的連接組別、分接頭檔位數(shù)、高壓側(cè)和低壓側(cè)電壓基準(zhǔn)值等。
2.3.2 實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù)
在實(shí)時(shí)數(shù)據(jù)庫中,被周期寫入數(shù)據(jù)庫的是實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù),它主要包括分接頭所在檔位、高壓側(cè)和低壓側(cè)實(shí)際電壓等。一個(gè)實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù)對象對應(yīng)一個(gè)采樣時(shí)刻,有效期為本次采樣時(shí)刻到下次采樣時(shí)刻的間隔。
變壓器分接頭數(shù)據(jù)庫的建立旨在分析變壓器分接頭相關(guān)數(shù)據(jù)對系統(tǒng)運(yùn)行的作用,為方便各分析應(yīng)用程序的集成和擴(kuò)展,采用基于CIM描述變壓器模型相關(guān)類的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),建立了數(shù)據(jù)結(jié)構(gòu),如圖3所示。
根據(jù)圖3所示的數(shù)據(jù)結(jié)構(gòu),建立分區(qū)表、變電站表、變壓器數(shù)據(jù)表和變壓器分接頭數(shù)據(jù)表,其描述如表1—4所示。
其中,分區(qū)表的主鍵(key)為分區(qū)編號,其他表不設(shè)主鍵;各數(shù)據(jù)表之間的ER關(guān)系如圖4所示。
表1 分區(qū)表結(jié)構(gòu)
表2 變電站表結(jié)構(gòu)
表3 變壓器數(shù)據(jù)表結(jié)構(gòu)
表4 變壓器分接頭數(shù)據(jù)表結(jié)構(gòu)
以查詢某個(gè)變壓器分接頭數(shù)據(jù)為例。首先查詢該變壓器分接頭所在分區(qū)編號,然后由分區(qū)編號查詢所在變電站編號,再由變電站編號查詢所在變壓器編號,最終找到所在繞組,查詢得到該分接頭的所有數(shù)據(jù)信息。
2.6.1 讀取內(nèi)存數(shù)據(jù)
實(shí)時(shí)數(shù)據(jù)通過讀取內(nèi)存數(shù)據(jù),并形成數(shù)據(jù)庫語句來實(shí)現(xiàn)數(shù)據(jù)的更新。
采用C#語言編寫應(yīng)用程序讀取內(nèi)存數(shù)據(jù),通過引入kernel32.dll實(shí)時(shí)連接庫調(diào)用應(yīng)用程序接口(API)函數(shù)實(shí)現(xiàn),代碼如下:
其中,hProcess為獲取參數(shù)上傳進(jìn)程句柄,lpB-aseAddress為讀取數(shù)據(jù)的起始地址,lpBuffer為存放數(shù)據(jù)的緩存區(qū)地址,nSize為要讀取的字節(jié)數(shù),lpN-umberOfBytesRead為實(shí)際讀取數(shù)存放地址。如果讀取失敗,則在下一時(shí)刻重新讀取。
2.6.2 存入數(shù)據(jù)庫
標(biāo)準(zhǔn)結(jié)構(gòu)化查詢語言(SQL)能對數(shù)據(jù)庫進(jìn)行各種操作,通過配置文件提供的數(shù)據(jù)庫連接字符串,連接數(shù)據(jù)庫,利用讀取內(nèi)存數(shù)據(jù)的變量lpBuffer形成后臺(tái)代碼,插入語句如下:
INSERT INTO Table_Tap(value,……);
實(shí)時(shí)數(shù)據(jù)存入數(shù)據(jù)庫時(shí),將當(dāng)前數(shù)據(jù)的上傳時(shí)間作為字段之一存入數(shù)據(jù)表中,以方便運(yùn)行人員對歷史數(shù)據(jù)的統(tǒng)計(jì)和分析。
ADO.NET是.NET框架中對數(shù)據(jù)存取的解決方案,它包括所有的System.Data命名空間及其嵌套的命名控件,例如System.Data.OracleClient和System.Data.OleDb。通過ADO訪問數(shù)據(jù)庫的原理如圖5所示。
以連接Oracle數(shù)據(jù)庫為例,假設(shè)連接字符串connectionStr= “Data Source=db;Persist Security Info=True;User ID=userid;Password=password;Unicode=True”,執(zhí)行連接數(shù)據(jù)庫語句表示為:
OracleConnection myCon=new Oracle Connection(connectionStr);myCon.Open();
ASP.NET是一種基于Microsoft.NET平臺(tái)的Web應(yīng)用程序開發(fā)技術(shù),它構(gòu)建在公共語言運(yùn)行時(shí)(CLR)之上,可以使用.NET框架所提供的全部功能。ASP.NET的頁面執(zhí)行過程如圖6所示。
Ajax主要包括的技術(shù)有JavaScript函數(shù)的應(yīng)用、級聯(lián)樣式表(CSS)對Web頁面的控制、XMLHttpRequest進(jìn)行異步數(shù)據(jù)的查詢、檢索以及DOM(Document Object Model)進(jìn)行動(dòng)態(tài)顯示與交互。Ajax允許通過異步回送和動(dòng)態(tài)的客戶端Web頁面處理,改進(jìn)Web應(yīng)用程序的用戶界面。Ajax包含技術(shù)在Web瀏覽器模型中的使用原理如圖7所示。
可擴(kuò)展標(biāo)記語言(XML)具有自描述性,可以對復(fù)雜對象進(jìn)行詳盡的結(jié)構(gòu)化描述;具有語言獨(dú)立性,可把數(shù)據(jù)、結(jié)構(gòu)和顯示方式相分離;并具有良好的可擴(kuò)展性和平臺(tái)無關(guān)性。利用XML數(shù)據(jù)文件與Dataset的數(shù)據(jù)交互,可以提高數(shù)據(jù)庫訪問的效率。
當(dāng)服務(wù)器收到客戶端查詢請求時(shí),服務(wù)器將先檢測存儲(chǔ)該查詢所得數(shù)據(jù)的XML文件是否存在,如果存在,用Dataset讀取,然后綁定數(shù)據(jù)顯示控件,返回客戶端;否則,重新連接數(shù)據(jù)庫形成XML數(shù)據(jù)文件,其實(shí)現(xiàn)流程如圖8所示。
圖8 XML數(shù)據(jù)綁定流程
使用 IIS (Internet Information Service) 發(fā)布VS2005開發(fā)的網(wǎng)站目錄,通過設(shè)置IP地址和訪問端口,局域網(wǎng)內(nèi)用戶即可通過電腦客戶端根據(jù)用戶權(quán)限操作使用。變壓器分接頭數(shù)據(jù)庫發(fā)布模塊結(jié)構(gòu)如圖9所示。
圖9 變壓器分接頭數(shù)據(jù)庫模塊結(jié)構(gòu)圖
客戶端通過訪問實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)發(fā)布站點(diǎn)可以對分接頭數(shù)據(jù)庫進(jìn)行實(shí)時(shí)訪問。
本文結(jié)合CIM包面向?qū)ο蟮奶攸c(diǎn),采用Oracle數(shù)據(jù)庫軟件,利用.NET框架平臺(tái)工具,使用API函數(shù)讀取內(nèi)存數(shù)據(jù),通過配置文件提供的數(shù)據(jù)庫連接字符串連接系統(tǒng)數(shù)據(jù)庫,并采用緩存XML文檔作為綁定數(shù)據(jù),以B/S模式進(jìn)行訪問,提高了數(shù)據(jù)庫訪問的效率。為方便分接頭數(shù)據(jù)在電網(wǎng)穩(wěn)定分析和經(jīng)濟(jì)運(yùn)行分析的應(yīng)用,需進(jìn)一步完善分接頭數(shù)據(jù)的共享和分析的功能。
[1]趙興勇,張秀彬,何 斌.優(yōu)化有載調(diào)壓變壓器改善電壓穩(wěn)定性的新算法[J].高電壓技術(shù),2007,33(10):170-173.
[2]李林川,李俊元,武文杰.考慮變壓器分接頭動(dòng)作次數(shù)限制的綜合無功優(yōu)化[J].中國電力,2005,38(2):49-52.
[3]NAGEL C,EVJEN B.C#2005&.NET3.0高級編程(第 5版)[M].北京:清華大學(xué)出版社,2007.
[4]李向榮.變壓器分接頭與廣西電網(wǎng)無功電壓水平的關(guān)系分析[J].廣西電力,2007(1):9-10.
[5]張慎明,卜凡強(qiáng),姚建國,等.遵循IEC 61970標(biāo)準(zhǔn)的實(shí)時(shí)數(shù)據(jù)庫管理系統(tǒng)[J].電力系統(tǒng)自動(dòng)化,2002,26(24):26-30.
[6]電力系統(tǒng)控制及其通信委員會(huì).DL/T 890.301—2004能量管理系統(tǒng)應(yīng)用程序接口(EMS-API)第301部分:公共信息模型(CIM)基礎(chǔ)[M].北京:中國電力出版社,2005.