為提高運(yùn)行管理的智能化,國(guó)內(nèi)近年來(lái)對(duì)電網(wǎng)運(yùn)行管理系統(tǒng)在電力系統(tǒng)方面的應(yīng)用進(jìn)行了大量的研究工作,并相繼開發(fā)成功倒閘操作票電網(wǎng)運(yùn)行管理系統(tǒng)無(wú)功控制電網(wǎng)運(yùn)行管理系統(tǒng)、配電網(wǎng)經(jīng)濟(jì)運(yùn)行電網(wǎng)運(yùn)行管理系統(tǒng)等。但是在這些電網(wǎng)運(yùn)行管理系統(tǒng)的開發(fā)中,有一個(gè)問(wèn)題即推理機(jī)與其它系統(tǒng)的集成問(wèn)題卻長(zhǎng)期被忽視。電網(wǎng)運(yùn)行管理系統(tǒng)在電力系統(tǒng)中的應(yīng)用,不是以人工智能代替?zhèn)鹘y(tǒng)的數(shù)值計(jì)算應(yīng)用、數(shù)據(jù)庫(kù)應(yīng)用等,而是要相互結(jié)合,各自發(fā)揮自己的優(yōu)點(diǎn)。下文在分析傳統(tǒng)電網(wǎng)運(yùn)行管理系統(tǒng)在系統(tǒng)集成方面的缺陷之基礎(chǔ)上,結(jié)合一些先進(jìn)的算法語(yǔ)言,擬對(duì)如何實(shí)現(xiàn)推理機(jī)與其它系統(tǒng)的無(wú)隙集成作詳細(xì)的闡述,以期構(gòu)成一種智能嵌人式電網(wǎng)運(yùn)行管理系統(tǒng)。
一、傳統(tǒng)電網(wǎng)運(yùn)行管理系統(tǒng)的分析
對(duì)于電力系統(tǒng)的運(yùn)行管理電網(wǎng)運(yùn)行管理系統(tǒng),通常都包括網(wǎng)絡(luò)拓?fù)淅L圖模塊、數(shù)據(jù)庫(kù)管理模塊、推理機(jī)及知識(shí)庫(kù)模塊,為實(shí)現(xiàn)整個(gè)系統(tǒng)的可靠性、易用性、靈活性和可擴(kuò)展性,系統(tǒng)的各個(gè)模塊間應(yīng)能實(shí)現(xiàn)無(wú)隙集成,以構(gòu)成一個(gè)有機(jī)的整體。但目前已開發(fā)的大多數(shù)電力系統(tǒng)電網(wǎng)運(yùn)行管理系統(tǒng)在這方面都存在缺陷,主要表現(xiàn)在以下幾個(gè)方面。
(一)外部函數(shù)不能嵌入到推理機(jī)中
推理機(jī)自身只擅長(zhǎng)基于規(guī)則、經(jīng)驗(yàn)的模式匹配處理,而不擅長(zhǎng)基于精確數(shù)學(xué)模型的數(shù)值計(jì)算。例如,在電力系統(tǒng)故障診斷電網(wǎng)運(yùn)行管理系統(tǒng)中,推理機(jī)既需要利用專家經(jīng)驗(yàn)進(jìn)行推理,又需要調(diào)用計(jì)算模塊進(jìn)行精確的數(shù)值計(jì)算。因此,外部計(jì)算模塊應(yīng)能無(wú)隙嵌人推理中去,以擴(kuò)充與制定推理機(jī)的功能,但傳統(tǒng)的電網(wǎng)運(yùn)行管理系統(tǒng)卻不具備此功能。
(二)推理機(jī)不能嵌入到外部函數(shù)中
在傳統(tǒng)的電網(wǎng)運(yùn)行管理系統(tǒng)中,推理機(jī)引擎并不能從特定的電網(wǎng)運(yùn)行管理系統(tǒng)開發(fā)環(huán)境中分離出來(lái),因此,為構(gòu)造嵌人系統(tǒng)只能將整個(gè)開發(fā)環(huán)境以可執(zhí)行文件的方式整個(gè)嵌人,而對(duì)于智能嵌人系統(tǒng),可成功地將系統(tǒng)中各模塊無(wú)隙嵌人。在這一類系統(tǒng)中,推理機(jī)往往不是一個(gè)主要模塊,而只是一個(gè)組成部分。
二、智能嵌人式電力系統(tǒng)運(yùn)行管理電網(wǎng)運(yùn)行管理系統(tǒng)
為克服上述傳統(tǒng)電網(wǎng)運(yùn)行管理系統(tǒng)的缺陷,本文在電力系統(tǒng)運(yùn)行管理電網(wǎng)運(yùn)行管理系統(tǒng)的開發(fā)和應(yīng)用中,提出一種智能嵌人式電力系統(tǒng)運(yùn)行管理電網(wǎng)運(yùn)行管理系統(tǒng)的實(shí)現(xiàn)方法。該電網(wǎng)運(yùn)行管理系統(tǒng)由網(wǎng)絡(luò)拓?fù)淅L圖模塊、數(shù)據(jù)庫(kù)管理模塊、推理機(jī)和知識(shí)庫(kù)模塊構(gòu)成。各組成模塊既相互獨(dú)立,又有機(jī)地聯(lián)系在一起。網(wǎng)絡(luò)拓?fù)淠K用于繪制電氣主接線圖,同時(shí),它是整個(gè)系統(tǒng)的用戶界面。用戶在整個(gè)操作過(guò)程中只須面對(duì)其熟悉的電氣主接線圖,即可進(jìn)行數(shù)據(jù)庫(kù)查詢、啟動(dòng)推理機(jī)等操作,從而大大地降低了操作的復(fù)雜性。
數(shù)據(jù)庫(kù)管理模塊可對(duì)電網(wǎng)線路、互感器、變壓器、發(fā)電機(jī)的參數(shù)及保護(hù)配制、定值等進(jìn)行管理。
推理機(jī)模塊實(shí)現(xiàn)了一個(gè)高效產(chǎn)生式的前向鏈推理機(jī),它和知識(shí)庫(kù)完全獨(dú)立,并可以和其它應(yīng)用實(shí)現(xiàn)“雙向嵌人”。
(一)開放的數(shù)據(jù)庫(kù)模塊
作為電網(wǎng)運(yùn)行管理系統(tǒng)的重要內(nèi)容之一,數(shù)據(jù)庫(kù)接口應(yīng)當(dāng)可以讓外部應(yīng)用程序靈活而高效地訪問(wèn)幾乎目前所有的數(shù)據(jù)庫(kù),而無(wú)需關(guān)心數(shù)據(jù)的位置(本地?cái)?shù)據(jù)庫(kù)還是遠(yuǎn)程數(shù)據(jù)庫(kù))和格式(DBASE還是SQL SERVER)。數(shù)據(jù)庫(kù)接口是建立在ODBC(Open Database Connectivity,開放數(shù)據(jù)庫(kù)互聯(lián))基礎(chǔ)上的。目前ODBC已成為一個(gè)工業(yè)標(biāo)準(zhǔn),它為前臺(tái)應(yīng)用提供了統(tǒng)一的接口,把不同的數(shù)據(jù)庫(kù)系統(tǒng)規(guī)約到一個(gè)公共的操作子集上,任何應(yīng)用軟件對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)都基于這個(gè)公共操作子集來(lái)完成。
(二)可雙向嵌入的推理機(jī)
推理機(jī)是電網(wǎng)運(yùn)行管理系統(tǒng)中的核心處理模塊。一個(gè)設(shè)計(jì)良好的推理機(jī),不但應(yīng)具有很高的推理效率,而且必須能夠與應(yīng)用系統(tǒng)方便地集成,以適應(yīng)系統(tǒng)復(fù)雜性程度的不斷提高和處理手段多樣化的要求。為了達(dá)到上述目標(biāo),用C語(yǔ)言開發(fā)了一個(gè)推理機(jī),該推理機(jī)具有以下特色。
(1)模式匹配法采用著名的RETE算法。該算法為包括OPS38、VP-EXPERT在內(nèi)的許多電網(wǎng)運(yùn)行管理系統(tǒng)開發(fā)工具所采用。該算法首先將規(guī)則編譯成模式網(wǎng)絡(luò)(Pattern net)和連接網(wǎng)絡(luò)(join net),然后以驅(qū)動(dòng)事實(shí)庫(kù)中的事實(shí)進(jìn)行推理運(yùn)算。由于RETE算法充分利用了產(chǎn)生式規(guī)則的兩大特性(時(shí)間冗余性和空間相似性),因而其推理效率大大高于其它算法。
(2)整個(gè)推理機(jī)引擎放在一個(gè)Windows DLL動(dòng)態(tài)鏈庫(kù)中,供其它系統(tǒng)調(diào)用。由于Windows DLL技術(shù)上的特點(diǎn),它可以無(wú)隙地和C、C++、PASCAL、FORTRAN、BASIC等編程語(yǔ)言編寫的代碼相集成。因此,該系統(tǒng)可以方便地嵌人到其它系統(tǒng)中去。例如,當(dāng)其它應(yīng)用系統(tǒng)中需要嵌人推理機(jī)時(shí),只要簡(jiǎn)單地插人這樣幾行代碼即可:
InitEngine()//初始化推理機(jī)
Load Rules(“rule.kb”)//加載規(guī)則
StartEngine()//啟動(dòng)推理機(jī)
Reset Engine()//復(fù)位推理機(jī)
由于認(rèn)識(shí)到該獨(dú)立推理機(jī)引警技術(shù)的巨大作用,可以將該推理機(jī)設(shè)計(jì)為OELAutomation Server這樣可以實(shí)現(xiàn)分布式?jīng)Q策。
(3)為了將外部函數(shù)嵌人到推理機(jī)中,實(shí)現(xiàn)了如下數(shù)據(jù)結(jié)構(gòu)和函數(shù):
struct funtab
char * fun-name;//函數(shù)名
char fun-type;//函數(shù)返回值類型
nt(*ip)();//函數(shù)指針
AddFunction()//加入外部函數(shù)至鏈表中
RemoveFunction()//從鏈表中刪除函數(shù)
QueryFunction()//從鏈表中查找函數(shù)
外部函數(shù)是一旦被加人到鏈表中,推理機(jī)就可以像使用其內(nèi)部函數(shù)一樣使用它。
三、結(jié)論
本系統(tǒng)全部在Windows平臺(tái)上實(shí)現(xiàn)。由于Windows具有眾所周知的優(yōu)點(diǎn),因而本電網(wǎng)運(yùn)行管理系統(tǒng)也具有用戶界面友好、執(zhí)行效率高、集成性好以及可靠性高等特點(diǎn)。
用C語(yǔ)言實(shí)現(xiàn)了一個(gè)正向鏈推理機(jī),特別適應(yīng)于電力系統(tǒng)。該推理機(jī)采用先進(jìn)的RETE算法,具有很高的推理效率;由于它是用C語(yǔ)言實(shí)現(xiàn)的,因而具有很高的執(zhí)行效率和移植性。成功地解決了外部應(yīng)用訪問(wèn)數(shù)據(jù)庫(kù)這一難題。設(shè)計(jì)的數(shù)據(jù)庫(kù)接口,可以讓外部應(yīng)用靈活而高效地訪問(wèn)幾乎目前所有的流行的數(shù)據(jù)庫(kù),而毋需關(guān)心數(shù)據(jù)的位置和格式。成功地解決了推理機(jī)和其它應(yīng)用“雙向嵌入”這一難題。即可以將外部應(yīng)用嵌人到推理機(jī)中,從而擴(kuò)充其功能;也可將推理機(jī)嵌人到其它應(yīng)用中,構(gòu)造所謂的智能嵌人系統(tǒng)。
參考文獻(xiàn):
[1]徐立子.國(guó)際標(biāo)準(zhǔn)和電網(wǎng)調(diào)度自動(dòng)化[J].中國(guó)電力,2003,36.
[2]張長(zhǎng)明.制造報(bào)文規(guī)范及其在電力監(jiān)控系統(tǒng)數(shù)據(jù)通信中的應(yīng)用[D].華北電力大學(xué),2004.