專利名稱:一種iec103主子站協(xié)議的雙重引擎驅(qū)動(dòng)的通用處理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明應(yīng)用于電力系統(tǒng)調(diào)度自動(dòng)化領(lǐng)域,抽象目前國(guó)內(nèi)主流的各種基于IEC103 的故障信息系統(tǒng)的協(xié)議,提出通用的可以統(tǒng)一處理的實(shí)現(xiàn)方法,解決故障信息子站在國(guó)內(nèi)應(yīng)用的協(xié)議處理屏障。
背景技術(shù):
由于故障信息系統(tǒng)在國(guó)內(nèi)發(fā)展的不均衡,目前一直沒(méi)有統(tǒng)一的主子站協(xié)議規(guī)范。 作為IEC61850獲得推廣實(shí)現(xiàn)前的過(guò)渡方案,各地均以IEC103協(xié)議作為主子站傳輸?shù)膽?yīng)用層規(guī)范,并且根據(jù)各地對(duì)于故障信息系統(tǒng)的理解以及當(dāng)?shù)氐墓收闲畔⑾到y(tǒng)建設(shè)水平做了各種擴(kuò)展或裁減。另外由于各地電力通信網(wǎng)絡(luò)建設(shè)的起步不一樣,先后又出現(xiàn)了不面向聯(lián)結(jié)的問(wèn)答式通信鏈路和面向聯(lián)結(jié)的基于IEC104的主動(dòng)式通信鏈路。由于這些不同的應(yīng)用層的擴(kuò)展和鏈路層的搭配,國(guó)內(nèi)目前的主子站協(xié)議有數(shù)十種之多,甚至同一個(gè)省份的地調(diào)、中調(diào)、網(wǎng)調(diào)就是完全不同的協(xié)議,對(duì)于企業(yè)生產(chǎn)統(tǒng)一的子站產(chǎn)品造成了很大的障礙。同時(shí)開(kāi)發(fā)和維護(hù)不同的軟件產(chǎn)品,培養(yǎng)熟悉各地協(xié)議的工程師對(duì)于企業(yè)是一個(gè)很大的負(fù)擔(dān)。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明提出了一種通用的故障信息系統(tǒng)子站的服務(wù)端的基于面向?qū)ο缶幊?OOP)的實(shí)現(xiàn)方法,包含應(yīng)用數(shù)據(jù)處理和鏈路處理。該方法在應(yīng)用上基于故障信息系統(tǒng)子站的功能模塊,面向目前國(guó)內(nèi)統(tǒng)一使用的IEC103協(xié)議的數(shù)據(jù)族建模;在鏈路上使用定時(shí)器/消息驅(qū)動(dòng)機(jī)制,解決了對(duì)主從式和平衡式兩種鏈路的統(tǒng)一支持。使用該方法可以封裝鏈路和協(xié)議層的差異,推出基于功能模型的子站處理方案, 使得工程服務(wù)人員可以用唯一的系統(tǒng)統(tǒng)一處理目前國(guó)內(nèi)電力網(wǎng)絡(luò)的各個(gè)區(qū)域的各種主子站協(xié)議,達(dá)到簡(jiǎn)化二次開(kāi)發(fā)、提高現(xiàn)場(chǎng)服務(wù)效率的目的。根據(jù)本發(fā)明的一個(gè)方面,提出了一種IEC103主子站協(xié)議的雙重引擎驅(qū)動(dòng)的通用處理方法,采用廣義的服務(wù)器端OOP業(yè)務(wù)模式和關(guān)聯(lián)的實(shí)現(xiàn)方式,用于統(tǒng)一處理電力網(wǎng)絡(luò)基于IEC103主子站協(xié)議的故障信息系統(tǒng),該方法包括a)抽象各種區(qū)域的電力網(wǎng)絡(luò)故障信息系統(tǒng)IEC103主子站協(xié)議的應(yīng)用層,在業(yè)務(wù)層開(kāi)放一個(gè)驅(qū)動(dòng)引擎的接口給鏈路層,鏈路層根據(jù)鏈路的特點(diǎn)驅(qū)動(dòng)業(yè)務(wù)引擎,使得業(yè)務(wù)層可以獲得統(tǒng)一的基于IEC103的數(shù)據(jù)族;b)抽象各種區(qū)域的電力網(wǎng)絡(luò)故障信息系統(tǒng)IEC103主子站協(xié)議的具體鏈路層,所有業(yè)務(wù)模塊平行處理,處理結(jié)果打包成IEC103協(xié)議的統(tǒng)一的ASDU數(shù)據(jù)族,存入緩存的數(shù)據(jù)區(qū)域,對(duì)應(yīng)用層的各種業(yè)務(wù)處理和數(shù)據(jù)流的維護(hù)實(shí)施分離;c)作為統(tǒng)一 IEC103主子站協(xié)議的前提,在b)的基礎(chǔ)上再次抽象建立的統(tǒng)一的與 IEC103業(yè)務(wù)層交互的通用鏈路;d)重構(gòu)業(yè)務(wù)層和數(shù)據(jù)鏈路傳輸層的關(guān)聯(lián),采用一個(gè)遞歸的雙重驅(qū)動(dòng)引擎作為銜接前面處理的接口,業(yè)務(wù)驅(qū)動(dòng)引擎負(fù)責(zé)根據(jù)業(yè)務(wù)要求,按照優(yōu)先級(jí)和命令要求遞交數(shù)據(jù),同時(shí)遞交數(shù)據(jù)的速度和窗口遞歸自鏈路的處理結(jié)果。根據(jù)本發(fā)明的另一方面,上述步驟a)進(jìn)一步包括在實(shí)現(xiàn)該方法時(shí),以預(yù)編譯方式解決基于多CPU的IEC103業(yè)務(wù)方案和基于單CPU 的IEC103業(yè)務(wù)方案的統(tǒng)一問(wèn)題。根據(jù)本發(fā)明的另一方面,上述步驟b)進(jìn)一步包括在統(tǒng)一各種鏈路時(shí)抽象出的故障信息系統(tǒng)IEC103鏈路的屬性集合,包括增強(qiáng)型鏈路、嚴(yán)格型鏈路。根據(jù)本發(fā)明的另一方面,上述步驟d)進(jìn)一步包括為實(shí)現(xiàn)高效的雙重驅(qū)動(dòng)的通用驅(qū)動(dòng)引擎接口,采用遞歸驅(qū)動(dòng)的實(shí)現(xiàn)方法。根據(jù)本發(fā)明的另一方面,提出了一種IEC103主子站協(xié)議的雙重引擎驅(qū)動(dòng)的通用處理系統(tǒng),用于統(tǒng)一處理電力網(wǎng)絡(luò)基于IEC103主子站協(xié)議的通用故障信息系統(tǒng),包括如下模塊1)通用鏈路處理模塊,用于統(tǒng)一基于問(wèn)答式和基于主動(dòng)上送式的具體鏈路傳輸, 該模塊具有鏈路解析接口和鏈路發(fā)送/窗口控制接口;2)通用業(yè)務(wù)處理模塊,用于針對(duì)故障信息系統(tǒng)的實(shí)際業(yè)務(wù)對(duì)象建模,協(xié)調(diào)處理主站的實(shí)際業(yè)務(wù)流程,控制子站的應(yīng)用數(shù)據(jù)的優(yōu)先級(jí)別;3) IEC103應(yīng)用層統(tǒng)一轉(zhuǎn)換模塊,用于對(duì)來(lái)自主站下發(fā)的各種格式和版本的 IEC103協(xié)議的數(shù)據(jù)應(yīng)用層進(jìn)行統(tǒng)一轉(zhuǎn)換,抽象后轉(zhuǎn)換為通用業(yè)務(wù)處理模塊所能識(shí)別的通用的業(yè)務(wù)模塊數(shù)據(jù)族,并對(duì)通用業(yè)務(wù)處理模塊的處理結(jié)果進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換為具體的IEC103協(xié)議的應(yīng)用層數(shù)據(jù);4)雙重驅(qū)動(dòng)引擎接口模塊,該模塊同時(shí)和鏈路層與應(yīng)用層接口,一方面接收來(lái)自通用業(yè)務(wù)處理模塊按照業(yè)務(wù)指派來(lái)的IEC103協(xié)議的應(yīng)用層數(shù)據(jù)報(bào)文給鏈路層封裝發(fā)送, 一方面把來(lái)自鏈路層的發(fā)送情況和當(dāng)前窗口情況再反饋給應(yīng)用層,達(dá)到業(yè)務(wù)處理和鏈路處理的平衡,均衡鏈路的處理能力和業(yè)務(wù)的優(yōu)先級(jí)。根據(jù)本發(fā)明的另一方面,所述通用鏈路處理模塊中,鏈路解析接口用于處理來(lái)自主站的報(bào)文數(shù)據(jù),并將處理后的數(shù)據(jù)傳遞給IEC103應(yīng)用層統(tǒng)一轉(zhuǎn)換模塊,鏈路發(fā)送/窗口控制接口作為與雙重驅(qū)動(dòng)引擎接口模塊的接口,負(fù)責(zé)對(duì)雙重驅(qū)動(dòng)引擎?zhèn)鬟f過(guò)來(lái)的數(shù)據(jù)進(jìn)行鏈路封裝然后發(fā)送,并把鏈路當(dāng)前的窗口情況傳遞回雙重驅(qū)動(dòng)引擎;根據(jù)本發(fā)明的另一方面,所述通用業(yè)務(wù)處理模塊針對(duì)故障信息系統(tǒng)的實(shí)際業(yè)務(wù)對(duì)象建模,包括變電站模型召喚業(yè)務(wù)、故障動(dòng)作信息收集業(yè)務(wù)、定值維護(hù)業(yè)務(wù)等。本發(fā)明具體采用以下技術(shù)方案作為一種實(shí)現(xiàn)各種基于IEC103的電力故障信息系統(tǒng)子站的通用解決方法,其特征在于抽象各種故障信息系統(tǒng)子站協(xié)議族,拆分為完全獨(dú)立的鏈路層和應(yīng)用層,并設(shè)計(jì)一個(gè)全新的、統(tǒng)一的方法來(lái)重新連接這兩個(gè)層次。所述方法包括以下步驟(1)第一步,解決鏈路層報(bào)文收發(fā)的統(tǒng)一問(wèn)題。本發(fā)明方案以驅(qū)動(dòng)的方法來(lái)解決鏈路層的不同模式問(wèn)題。目前在網(wǎng)運(yùn)行的故障信息系統(tǒng)IEC103主子站協(xié)議,根據(jù)鏈路方式區(qū)分,有主從的問(wèn)答式和平衡的主動(dòng)上送式之分。這兩種鏈路的主動(dòng)權(quán)一個(gè)在主站,一個(gè)是主站和子站均衡。傳統(tǒng)方式下子站必須分別開(kāi)發(fā)兩套整體的系統(tǒng)來(lái)解決各自的模式,從而導(dǎo)致應(yīng)用層功能的重復(fù)開(kāi)發(fā)。本發(fā)明針對(duì)鏈路層和應(yīng)用層的交互入手,把目前這兩種截然不同的主子站鏈路機(jī)制從作為業(yè)務(wù)的驅(qū)動(dòng)引擎這一角度做了統(tǒng)一。業(yè)務(wù)層開(kāi)放一個(gè)驅(qū)動(dòng)引擎的接口給鏈路層,鏈路層根據(jù)實(shí)際鏈路的特點(diǎn)驅(qū)動(dòng)這一業(yè)務(wù)引擎,就實(shí)現(xiàn)了業(yè)務(wù)和傳輸,對(duì)應(yīng)于協(xié)議也就是應(yīng)用和鏈路的徹底分離,這是本發(fā)明統(tǒng)一目前國(guó)內(nèi)各種模式的IEC103主子站協(xié)議的構(gòu)架基礎(chǔ)。通過(guò)該步驟,業(yè)務(wù)層可以獲得統(tǒng)一的基于IEC103的數(shù)據(jù)族。(2)第二步,從業(yè)務(wù)應(yīng)用上統(tǒng)一各種版本的基于IEC103的故障信息系統(tǒng)協(xié)議族。 以步驟1的處理為開(kāi)始,本發(fā)明在協(xié)議處理上就擯棄了傳統(tǒng)的報(bào)文驅(qū)動(dòng)的模式,在設(shè)計(jì)上采用了面向?qū)ο蟮臉I(yè)務(wù)處理機(jī)制。對(duì)于各種版本的故障信息系統(tǒng)的傳輸協(xié)議,在業(yè)務(wù)層次上,抽象出統(tǒng)一的業(yè)務(wù)模塊,即變電站模型同步部分、設(shè)備模型數(shù)據(jù)解析交互部分、子站數(shù)據(jù)維護(hù)部分。所有業(yè)務(wù)模塊平行處理,處理結(jié)果打包成IEC103協(xié)議的統(tǒng)一的ASDU數(shù)據(jù)族, 存入緩存的數(shù)據(jù)區(qū)域。針對(duì)緩存的數(shù)據(jù)區(qū)域,本發(fā)明使用了雙向鏈表的數(shù)據(jù)結(jié)構(gòu),支持按照優(yōu)先級(jí)別的隨機(jī)訪問(wèn)(存儲(chǔ)順序無(wú)關(guān))。使用了按照級(jí)別訪問(wèn)應(yīng)用服務(wù)數(shù)據(jù)單元(ASDU)數(shù)據(jù)結(jié)構(gòu)的方法,配合以雙向鏈表自身數(shù)據(jù)鏈的靈活性,把應(yīng)用層的各種業(yè)務(wù)處理和數(shù)據(jù)流的維護(hù)實(shí)施了分離,使得針對(duì)各種業(yè)務(wù)的擴(kuò)展有統(tǒng)一性,提高了代碼的可維護(hù)性。本發(fā)明定義的全面的基于IEC103協(xié)議的各種業(yè)務(wù)方案和雙向鏈表的數(shù)據(jù)結(jié)構(gòu)是統(tǒng)一故障信息系統(tǒng)IEC103協(xié)議的數(shù)據(jù)解決基礎(chǔ)。(3)第三步,重構(gòu)業(yè)務(wù)層和數(shù)據(jù)鏈路傳輸層的關(guān)聯(lián),設(shè)計(jì)了一個(gè)遞歸的雙重驅(qū)動(dòng)弓I 擎作為銜接前兩步處理的接口。問(wèn)答式鏈路在協(xié)議上是以主站的循環(huán)二級(jí)數(shù)據(jù)訪問(wèn)和加速的一級(jí)數(shù)據(jù)獲取驅(qū)動(dòng)數(shù)據(jù)交互的,其數(shù)據(jù)窗口為1,上送過(guò)程受主站的訪問(wèn)時(shí)間間隔控制。 而平衡式鏈路是以子站對(duì)突發(fā)數(shù)據(jù)的主動(dòng)遞交為交互的基礎(chǔ),數(shù)據(jù)發(fā)送的驅(qū)動(dòng)在于子站服務(wù)器端自主判斷的待遞交的數(shù)據(jù)量。其鏈路數(shù)據(jù)窗口受鏈路預(yù)置參數(shù)的限制,上送過(guò)程以窗口是否滿為限制。為此設(shè)計(jì)了一個(gè)遞歸的業(yè)務(wù)驅(qū)動(dòng)引擎,業(yè)務(wù)驅(qū)動(dòng)引擎負(fù)責(zé)根據(jù)業(yè)務(wù)要求,按照優(yōu)先級(jí)和命令要求遞交數(shù)據(jù),同時(shí)遞交數(shù)據(jù)的速度和窗口遞歸自鏈路的處理結(jié)果。 以使得數(shù)據(jù)的傳送既不單獨(dú)被應(yīng)用層驅(qū)動(dòng),也不單獨(dú)由鏈路驅(qū)動(dòng),而是在應(yīng)用層和鏈路層雙重的交互控制下工作,既可以最快的發(fā)起數(shù)據(jù)傳輸,又不會(huì)在鏈路上造成擁堵。該引擎是本發(fā)明統(tǒng)一目前故障信息IEC103主子站協(xié)議鏈路的技術(shù)核心。
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說(shuō)明。圖1是基于本方法構(gòu)建的故障信息系統(tǒng)的模塊組織結(jié)構(gòu);圖2是本方法的實(shí)現(xiàn)流程具體實(shí)施例方式在模塊組織上,如附圖1所示。本方法構(gòu)建的故障信息系統(tǒng)可以分為4個(gè)模塊組織1)通用鏈路處理模塊,該模塊負(fù)責(zé)統(tǒng)一無(wú)論是基于問(wèn)答式的還是基于主動(dòng)上送式的具體鏈路傳輸。來(lái)自主站的報(bào)文數(shù)據(jù)經(jīng)該層的“鏈路解析接口,,處理后,剝離了具體的鏈路特征,只保留IEC103協(xié)議的應(yīng)用層,傳遞給模塊3,即應(yīng)用層統(tǒng)一轉(zhuǎn)換模塊;同時(shí)該模塊還有一個(gè)“鏈路發(fā)送/窗口控制接口 ”,作為與雙重驅(qū)動(dòng)引擎接口模塊的接口,負(fù)責(zé)對(duì)雙重驅(qū)動(dòng)引擎?zhèn)鬟f過(guò)來(lái)的數(shù)據(jù)進(jìn)行鏈路封裝然后發(fā)送,并把鏈路當(dāng)前的窗口情況傳遞回雙重驅(qū)動(dòng)引擎。2)通用業(yè)務(wù)處理模塊,該模塊針對(duì)故障信息系統(tǒng)的實(shí)際業(yè)務(wù)對(duì)象建模,如變電站模型召喚業(yè)務(wù)、故障動(dòng)作信息收集業(yè)務(wù)、定值維護(hù)業(yè)務(wù)等,是對(duì)各種具體的IEC103規(guī)約在業(yè)務(wù)上的抽象與統(tǒng)一。它負(fù)責(zé)協(xié)調(diào)處理主站的實(shí)際業(yè)務(wù)流程,控制子站的應(yīng)用數(shù)據(jù)的優(yōu)先級(jí)別,即根據(jù)通用的業(yè)務(wù)數(shù)據(jù)模塊決定具體的IEC103應(yīng)用層數(shù)據(jù)與雙重驅(qū)動(dòng)引擎模塊的交互。3) IEC103應(yīng)用層統(tǒng)一轉(zhuǎn)換模塊,該模塊負(fù)責(zé)對(duì)來(lái)自主站下發(fā)的各種格式和版本的 IEC103協(xié)議的數(shù)據(jù)應(yīng)用層進(jìn)行統(tǒng)一轉(zhuǎn)換,抽象后轉(zhuǎn)換為模塊2、所能識(shí)別的通用的業(yè)務(wù)模塊數(shù)據(jù)族;也負(fù)責(zé)對(duì)業(yè)務(wù)處理模塊的處理結(jié)果進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換為具體的IEC103協(xié)議的應(yīng)用
層數(shù)據(jù)。4)雙重驅(qū)動(dòng)引擎接口模塊,該模塊同時(shí)和鏈路層與應(yīng)用層接口,一方面接收來(lái)自通用業(yè)務(wù)處理模塊按照業(yè)務(wù)指派來(lái)的IEC103協(xié)議的應(yīng)用層數(shù)據(jù)報(bào)文給鏈路層封裝發(fā)送, 一方面把來(lái)自鏈路層的發(fā)送情況和當(dāng)前窗口情況再反饋給應(yīng)用層,達(dá)到業(yè)務(wù)處理和鏈路處理的平衡,均衡鏈路的處理能力和業(yè)務(wù)的優(yōu)先級(jí)。下面從具體實(shí)施方法上闡述附圖1。首先建立變電站模型,即圖中所示的“通用的 IEC103業(yè)務(wù)模塊數(shù)據(jù)族”。該數(shù)據(jù)族是根據(jù)站內(nèi)待接入的智能設(shè)備的信息建立的變電站的模型,包括一次設(shè)備和二次設(shè)備的信息以及之間的關(guān)聯(lián)關(guān)系,所統(tǒng)一抽象出來(lái)的。子站維護(hù)全站設(shè)備的模型,但是針對(duì)各級(jí)調(diào)度,如網(wǎng)調(diào)、中調(diào)、地調(diào),有獨(dú)立的模型文件,允許各級(jí)調(diào)度有層次、有級(jí)別的管理和訪問(wèn)站內(nèi)設(shè)備。根據(jù)通信要求,設(shè)置通信參數(shù),包括主子站協(xié)議使用的地區(qū)版本識(shí)別碼。通信參數(shù)針對(duì)目前的電網(wǎng)管理情況,各級(jí)調(diào)度配置獨(dú)立的服務(wù)端伺服任務(wù)管理數(shù)據(jù)傳輸,各個(gè)彼此獨(dú)立的服務(wù)終端關(guān)聯(lián)各自獨(dú)立的數(shù)據(jù)模型。子站端啟動(dòng)時(shí),根據(jù)模型文件依次完成業(yè)務(wù)層和鏈路層的初始化。業(yè)務(wù)層建立針對(duì)ASDU的雙向數(shù)據(jù)鏈表,包括服務(wù)端數(shù)據(jù)鏈表和客戶端命令鏈表,管理業(yè)務(wù)數(shù)據(jù)。鏈路層建立針對(duì)鏈路方式的報(bào)文隊(duì)列,管理帶有鏈路封裝的數(shù)據(jù)報(bào)文。隊(duì)列的深度和單元大小是根據(jù)鏈路方式和運(yùn)行的地區(qū)版本自動(dòng)調(diào)整的,以防止國(guó)內(nèi)繁多的主子站協(xié)議版本導(dǎo)致子站配置復(fù)雜化。附圖1中的鏈路處理模塊中,完成初始化的子站實(shí)現(xiàn)業(yè)務(wù)和鏈路的分離。鏈路專注于管理與客戶端的通信,對(duì)于鏈路層次的通信,不必與業(yè)務(wù)層交互獨(dú)立完成。接收到客戶端帶有ASDU的數(shù)據(jù)報(bào)時(shí),由業(yè)務(wù)端開(kāi)放的ASDU遞交接口傳遞給業(yè)務(wù)層處理。以上的實(shí)施是實(shí)現(xiàn)各種基于IEC103的故障信息主子站協(xié)議統(tǒng)一的前提,由于各種版本的協(xié)議雖然有鏈路和應(yīng)用層各種組合的復(fù)雜搭配,但都基于IEC103的ASDU。因此在實(shí)現(xiàn)了鏈路統(tǒng)一的基礎(chǔ)上,需要?jiǎng)冸x出ASDU在形態(tài)上的差異,使業(yè)務(wù)層的轉(zhuǎn)動(dòng)以高于ASDU具體形式的方式運(yùn)行。本發(fā)明把各種ASDU的具體封裝作為靜態(tài)的資源文件獨(dú)立出去,業(yè)務(wù)層在運(yùn)轉(zhuǎn)中根據(jù)當(dāng)前業(yè)務(wù)的地區(qū)版本識(shí)別碼把各種ASDU轉(zhuǎn)換為統(tǒng)一的內(nèi)部業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu),在業(yè)務(wù)處理完后再把需要遞交的數(shù)據(jù)根據(jù)地區(qū)版本封裝成具體的ASDU,從而一次開(kāi)發(fā)只需完成業(yè)務(wù)內(nèi)核, 二次開(kāi)發(fā)簡(jiǎn)化到具體對(duì)ASDU的封裝。在鏈路層已經(jīng)完成統(tǒng)一的基礎(chǔ)上,就完成了對(duì)整個(gè)故障信息IEC103主子站協(xié)議數(shù)據(jù)從ASDU到鏈路數(shù)據(jù)報(bào)文的統(tǒng)一封裝。主站發(fā)起的命令傳輸過(guò)程,從響應(yīng)的實(shí)時(shí)要求上有兩種。一種是可以實(shí)時(shí)響應(yīng)的命令,例如模型召喚,我們稱之為實(shí)時(shí)命令。一種是子站需要從智能設(shè)備獲取從而有準(zhǔn)備時(shí)間的命令。例如智能設(shè)備定值的獲取,我們稱之為過(guò)程命令。問(wèn)答式鏈路和平衡式鏈路對(duì)這兩種命令有不同的協(xié)議跟蹤機(jī)制,為了使得應(yīng)用層的處理不受這種協(xié)議機(jī)制的約束,我們使用了這兩種協(xié)議機(jī)制最終面向的目標(biāo),即附圖1中的通用業(yè)務(wù)處理模塊來(lái)控制事件的發(fā)展,從而可以由統(tǒng)一的業(yè)務(wù)驅(qū)動(dòng)引擎加以解決。在問(wèn)答式鏈路以二級(jí)數(shù)據(jù)輪詢,或者平衡式鏈路無(wú)數(shù)據(jù)可送的空閑態(tài),業(yè)務(wù)驅(qū)動(dòng)引擎會(huì)保持對(duì)過(guò)程命令的跟蹤,一旦過(guò)程命令超時(shí)或者返回結(jié)果都能立即響應(yīng)。對(duì)于主站同時(shí)下發(fā)的多個(gè)命令,也由業(yè)務(wù)驅(qū)動(dòng)引擎進(jìn)行逐條執(zhí)行。具體到雙重驅(qū)動(dòng)引擎方法的流程,可以簡(jiǎn)化為附圖2所示的流程圖。問(wèn)答式的鏈路在主站無(wú)ASDU發(fā)布且子站無(wú)數(shù)據(jù)遞交的形式下,以二級(jí)數(shù)據(jù)的輪詢保持鏈路的運(yùn)作驅(qū)動(dòng)通信的運(yùn)轉(zhuǎn)。平衡式鏈路在這種情況下,僅以定時(shí)的測(cè)試幀維持鏈路。統(tǒng)一后的公共鏈路模塊則不以鏈路驅(qū)動(dòng),而是以業(yè)務(wù)驅(qū)動(dòng)引擎推動(dòng)數(shù)據(jù)鏈路的通信。業(yè)務(wù)層的開(kāi)發(fā)使用了目前主流的消息驅(qū)動(dòng)機(jī)制,保持對(duì)業(yè)務(wù)數(shù)據(jù)準(zhǔn)備的實(shí)時(shí)性。當(dāng)問(wèn)答式鏈路收到主站的查詢請(qǐng)求時(shí),即觸發(fā)雙重驅(qū)動(dòng)引擎接口,獲得準(zhǔn)備好的數(shù)據(jù)后,完成鏈路的封裝并響應(yīng)。對(duì)于平衡式鏈路,則一旦數(shù)據(jù)準(zhǔn)備好就立即觸發(fā)雙重驅(qū)動(dòng)引擎。二者遞交數(shù)據(jù)的接口以可用窗口數(shù)目返回,如果有窗口未閉合,可以持續(xù)處理數(shù)據(jù),一旦所有的窗口閉合,則停止遞交,直到有新的窗口打開(kāi)為止。結(jié)合流程圖來(lái)具體說(shuō)明。1)當(dāng)子站服務(wù)端業(yè)務(wù)層有自發(fā)數(shù)據(jù)需要傳送,或者主站命令要訪問(wèn)的數(shù)據(jù)準(zhǔn)備好后,我們可以統(tǒng)稱為有業(yè)務(wù)數(shù)據(jù)待處理,此時(shí)即分別由觸發(fā)點(diǎn)進(jìn)入雙重驅(qū)動(dòng)引擎的開(kāi)始點(diǎn)。2)雙重引擎驅(qū)動(dòng)模塊檢測(cè)各種應(yīng)用業(yè)務(wù),看是否有待處理的當(dāng)前業(yè)務(wù),沒(méi)有的話進(jìn)入6,如果有的話,就進(jìn)入3。3)調(diào)用通用業(yè)務(wù)處理模塊處理,然后檢測(cè)是否有業(yè)務(wù)處理模塊產(chǎn)生的ASDU鏈表。4)如果ASDU鏈表非空,即遞交ASDU數(shù)據(jù)給鏈路層,進(jìn)入5,否則遞歸進(jìn)入1,重新進(jìn)入驅(qū)動(dòng)引擎。5)鏈路層封裝ASDU數(shù)據(jù)并發(fā)送,發(fā)送時(shí)檢測(cè)鏈路窗口大小。如果窗口已經(jīng)閉合, 則進(jìn)入6結(jié)束,否則的話,遞歸進(jìn)入1。6)結(jié)束驅(qū)動(dòng)引擎,讓出處理器資源。雖然本發(fā)明已經(jīng)詳細(xì)的示出并描述了一個(gè)相關(guān)且特定的實(shí)施范例參考,但本領(lǐng)域的技術(shù)人員應(yīng)該能夠理解,在不背離本發(fā)明的精神和范圍內(nèi)可以在形式上和細(xì)節(jié)上作出各種改變。這些改變都將落入本發(fā)明的權(quán)利要求所要求保護(hù)的范圍。
權(quán)利要求
1.一種IEC103主子站協(xié)議的雙重引擎驅(qū)動(dòng)的通用處理方法,采用廣義的服務(wù)器端OOP 業(yè)務(wù)模式和關(guān)聯(lián)的實(shí)現(xiàn)方式,用于統(tǒng)一處理電力網(wǎng)絡(luò)基于IEC103主子站協(xié)議的故障信息系統(tǒng),該方法包括a)抽象各種區(qū)域的電力網(wǎng)絡(luò)故障信息系統(tǒng)IEC103主子站協(xié)議的應(yīng)用層,在業(yè)務(wù)層開(kāi)放一個(gè)驅(qū)動(dòng)引擎的接口給鏈路層,鏈路層根據(jù)鏈路的特點(diǎn)驅(qū)動(dòng)業(yè)務(wù)引擎,使得業(yè)務(wù)層可以獲得統(tǒng)一的基于IEC103的數(shù)據(jù)族;b)抽象各種區(qū)域的電力網(wǎng)絡(luò)故障信息系統(tǒng)IEC103主子站協(xié)議的具體鏈路層,所有業(yè)務(wù)模塊平行處理,處理結(jié)果打包成IEC103協(xié)議的統(tǒng)一的ASDU數(shù)據(jù)族,存入緩存的數(shù)據(jù)區(qū)域,對(duì)應(yīng)用層的各種業(yè)務(wù)處理和數(shù)據(jù)流的維護(hù)實(shí)施分離;c)作為統(tǒng)一IEC103主子站協(xié)議的前提,在b)的基礎(chǔ)上再次抽象建立的統(tǒng)一的與 IEC103業(yè)務(wù)層交互的通用鏈路;d)重構(gòu)業(yè)務(wù)層和數(shù)據(jù)鏈路傳輸層的關(guān)聯(lián),采用一個(gè)遞歸的雙重驅(qū)動(dòng)引擎作為銜接前面處理的接口,業(yè)務(wù)驅(qū)動(dòng)引擎負(fù)責(zé)根據(jù)業(yè)務(wù)要求,按照優(yōu)先級(jí)和命令要求遞交數(shù)據(jù),同時(shí)遞交數(shù)據(jù)的速度和窗口遞歸自鏈路的處理結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其中步驟a)進(jìn)一步包括在實(shí)現(xiàn)該方法時(shí),以預(yù)編譯方式解決基于多CPU的IEC103業(yè)務(wù)方案和基于單CPU的 IEC103業(yè)務(wù)方案的統(tǒng)一問(wèn)題。
3.根據(jù)權(quán)利要求2所述的方法,其中步驟b)進(jìn)一步包括在統(tǒng)一各種鏈路時(shí)抽象出的故障信息系統(tǒng)IEC103鏈路的屬性集合,包括增強(qiáng)型鏈路、 嚴(yán)格型鏈路。
4.根據(jù)權(quán)利要求3所述的方法,其中步驟d)進(jìn)一步包括為實(shí)現(xiàn)高效的雙重驅(qū)動(dòng)的通用驅(qū)動(dòng)引擎接口,采用遞歸驅(qū)動(dòng)的實(shí)現(xiàn)方法。
5.一種IEC103主子站協(xié)議的雙重引擎驅(qū)動(dòng)的通用處理系統(tǒng),用于統(tǒng)一處理電力網(wǎng)絡(luò)基于IEC103主子站協(xié)議的通用故障信息系統(tǒng),其特征在于,包括如下模塊1)通用鏈路處理模塊,用于統(tǒng)一基于問(wèn)答式和基于主動(dòng)上送式的具體鏈路傳輸,該模塊具有鏈路解析接口和鏈路發(fā)送/窗口控制接口 ;2)通用業(yè)務(wù)處理模塊,用于針對(duì)故障信息系統(tǒng)的實(shí)際業(yè)務(wù)對(duì)象建模,協(xié)調(diào)處理主站的實(shí)際業(yè)務(wù)流程,控制子站的應(yīng)用數(shù)據(jù)的優(yōu)先級(jí)別;3)IEC103應(yīng)用層統(tǒng)一轉(zhuǎn)換模塊,用于對(duì)來(lái)自主站下發(fā)的各種格式和版本的IEC103協(xié)議的數(shù)據(jù)應(yīng)用層進(jìn)行統(tǒng)一轉(zhuǎn)換,抽象后轉(zhuǎn)換為通用業(yè)務(wù)處理模塊所能識(shí)別的通用的業(yè)務(wù)模塊數(shù)據(jù)族,并對(duì)通用業(yè)務(wù)處理模塊的處理結(jié)果進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換為具體的IEC103協(xié)議的應(yīng)用層數(shù)據(jù);4)雙重驅(qū)動(dòng)引擎接口模塊,該模塊同時(shí)和鏈路層與應(yīng)用層接口,一方面接收來(lái)自通用業(yè)務(wù)處理模塊按照業(yè)務(wù)指派來(lái)的IEC103協(xié)議的應(yīng)用層數(shù)據(jù)報(bào)文給鏈路層封裝發(fā)送,一方面把來(lái)自鏈路層的發(fā)送情況和當(dāng)前窗口情況再反饋給應(yīng)用層,達(dá)到業(yè)務(wù)處理和鏈路處理的平衡,均衡鏈路的處理能力和業(yè)務(wù)的優(yōu)先級(jí)。
6.如權(quán)利要求5中的通用故障信息系統(tǒng),所述通用鏈路處理模塊中,鏈路解析接口用于處理來(lái)自主站的報(bào)文數(shù)據(jù),并將處理后的數(shù)據(jù)傳遞給IEC103應(yīng)用層統(tǒng)一轉(zhuǎn)換模塊,鏈路發(fā)送/窗口控制接口作為與雙重驅(qū)動(dòng)引擎接口模塊的接口,負(fù)責(zé)對(duì)雙重驅(qū)動(dòng)引擎?zhèn)鬟f過(guò)來(lái)的數(shù)據(jù)進(jìn)行鏈路封裝然后發(fā)送,并把鏈路當(dāng)前的窗口情況傳遞回雙重驅(qū)動(dòng)引擎;
7.如權(quán)利要求6中的通用故障信息系統(tǒng),所述通用業(yè)務(wù)處理模塊針對(duì)故障信息系統(tǒng)的實(shí)際業(yè)務(wù)對(duì)象建模,包括變電站模型召喚業(yè)務(wù)、故障動(dòng)作信息收集業(yè)務(wù)、定值維護(hù)業(yè)務(wù)等。
全文摘要
本發(fā)明針對(duì)目前多達(dá)十幾種的基于IEC103的故障信息系統(tǒng)主子站傳輸協(xié)議,提出了一種統(tǒng)一的面向?qū)ο筇幚?Object Oriented Process,以下簡(jiǎn)稱OOP)的通用處理方法,應(yīng)用于電網(wǎng)故障信息系統(tǒng)的子站設(shè)備。由于故障信息系統(tǒng)建設(shè)在國(guó)內(nèi)發(fā)展的不均衡,以及電力通信網(wǎng)絡(luò)在全國(guó)建設(shè)的起步不一致,目前國(guó)內(nèi)的故障信息系統(tǒng)主子站協(xié)議在使用103應(yīng)用層上有多種擴(kuò)展和剪裁,在使用的鏈路方式上也有基于聯(lián)結(jié)和無(wú)聯(lián)結(jié)兩種模式。應(yīng)用和鏈路的各種組合導(dǎo)致了實(shí)際在網(wǎng)的主子站協(xié)議繁多。本發(fā)明提供了一種統(tǒng)一兩種鏈路模式的鏈路處理方法,同時(shí)提供了一種通用的基于IEC103的故障信息系統(tǒng)主子站協(xié)議的應(yīng)用層處理方法。在此基礎(chǔ)上構(gòu)建了鏈路和應(yīng)用層雙重驅(qū)動(dòng)的鏈路引擎接口組織數(shù)據(jù)的交互,提出了高效的算法和數(shù)據(jù)結(jié)構(gòu),最終解決了子站端基于IEC103的主子站傳輸協(xié)議的統(tǒng)一問(wèn)題。在此基礎(chǔ)上可以開(kāi)發(fā)通用的103主子站傳輸?shù)姆?wù)端軟件,以統(tǒng)一的軟件與國(guó)內(nèi)各種主站完成基于IEC103故障信息系統(tǒng)數(shù)據(jù)交互,增強(qiáng)子站產(chǎn)品的通用性和維護(hù)的穩(wěn)定性。
文檔編號(hào)H04L29/08GK102497363SQ20111040283
公開(kāi)日2012年6月13日 申請(qǐng)日期2011年12月7日 優(yōu)先權(quán)日2011年12月7日
發(fā)明者張龍, 武芳瑛, 王立鼎, 趙娜, 陳宇恩 申請(qǐng)人:北京四方繼保自動(dòng)化股份有限公司