国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于JAVA平臺(tái)的CIM模型潮流數(shù)據(jù)轉(zhuǎn)換方法及裝置與流程

      文檔序號(hào):11622598閱讀:659來(lái)源:國(guó)知局
      基于JAVA平臺(tái)的CIM模型潮流數(shù)據(jù)轉(zhuǎn)換方法及裝置與流程

      本發(fā)明涉及電力系統(tǒng)公共信息模型領(lǐng)域,尤其涉及一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法及裝置。



      背景技術(shù):

      cim采用開關(guān)/節(jié)點(diǎn)模型描述電力系統(tǒng)網(wǎng)絡(luò),而在計(jì)算電網(wǎng)潮流時(shí)應(yīng)用功能是母線/支路模型。因此,在使用計(jì)算機(jī)進(jìn)行電網(wǎng)潮流計(jì)算時(shí)需要把基于cim模型的數(shù)據(jù)轉(zhuǎn)換為諸如ieee或bpa可以識(shí)別的潮流計(jì)算數(shù)據(jù)。目前,一些文獻(xiàn)對(duì)cim電網(wǎng)潮流數(shù)據(jù)轉(zhuǎn)換過程中的節(jié)點(diǎn)處理進(jìn)行了研究,但是沒有提供一個(gè)完整、有效的解決方案來(lái)對(duì)cim電網(wǎng)潮流數(shù)據(jù)轉(zhuǎn)換過程進(jìn)行說明。

      因此,提供一個(gè)cim電網(wǎng)潮流數(shù)據(jù)轉(zhuǎn)換的完整的解決方法為本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明實(shí)施例提供了一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法及裝置,減少了數(shù)據(jù)匹配時(shí)的搜索量,加快了cim轉(zhuǎn)換速度。

      本發(fā)明實(shí)施例提供了一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法,包括:

      s1:獲取到cimxml文件和cimxml文件包含的電力系統(tǒng)數(shù)據(jù),并同時(shí)獲取潮流狀態(tài)文件,根據(jù)潮流狀態(tài)文件修正電力系統(tǒng)數(shù)據(jù)中的開關(guān)設(shè)備的狀態(tài)變量,得到修正后的開關(guān)設(shè)備狀態(tài)變量;

      s2:獲取到cim模型的connectivitynode和terminal,將connectivitynode存儲(chǔ)在第一hashmap數(shù)據(jù)類型中,將terminal存儲(chǔ)在第二hashmap數(shù)據(jù)類型中,并在connectivitynode添加一個(gè)hashmap對(duì)象,其中,hashmap對(duì)象存儲(chǔ)有terminal的id屬性;

      s3:令k=1;

      s4:獲取到與修正后的開關(guān)設(shè)備狀態(tài)變量對(duì)應(yīng)的開關(guān)設(shè)備,判斷開關(guān)設(shè)備是否為閉合開關(guān)設(shè)備,若是,則執(zhí)行s5,若不是,則執(zhí)行s8;

      s5:獲取到與閉合開關(guān)設(shè)備連接的兩個(gè)connectivitynode,判斷兩個(gè)connectivitynode是否均為有效節(jié)點(diǎn),若是,則執(zhí)行s6,若不是,則執(zhí)行s8;

      s6:判斷兩個(gè)connectivitynode的id是否相同,若不相同,則執(zhí)行s7,若不是,則執(zhí)行s8;

      s7:將其中一個(gè)connectivitynode的狀態(tài)設(shè)置為無(wú)效,得到無(wú)效connectivitynode,并修改與無(wú)效connectivitynode連接的terminal的id,再將無(wú)效connectivitynode的terminal屬性合并至另一個(gè)connectivitynode的terminal屬性,斷開與閉合開關(guān)設(shè)備連接的兩個(gè)terminal;

      s8:令k=k+1,判斷k是否小于預(yù)置開關(guān)設(shè)備總數(shù),若小于,則重新執(zhí)行s4,若不小于,獲取到合并后的閉合開關(guān)設(shè)備狀態(tài),并執(zhí)行s9;

      s9:根據(jù)合并后的閉合開關(guān)設(shè)備狀態(tài),在判斷與合并后的閉合開關(guān)設(shè)備連接的非開關(guān)設(shè)備為在線運(yùn)行狀態(tài)后,將非開關(guān)設(shè)備的參數(shù)值合并至與非開關(guān)設(shè)備連接的節(jié)點(diǎn)中,得到第一拓?fù)涔?jié)點(diǎn);

      s10:獲取到第一拓?fù)涔?jié)點(diǎn)中的孤立節(jié)點(diǎn),對(duì)孤立節(jié)點(diǎn)進(jìn)行去除操作,得到第二拓?fù)涔?jié)點(diǎn);

      s11:對(duì)第二拓?fù)涔?jié)點(diǎn)進(jìn)行ieee格式的潮流數(shù)據(jù)輸出操作。

      優(yōu)選地,步驟s1之前還包括:

      建立cim模型。

      優(yōu)選地,電力系統(tǒng)數(shù)據(jù)包括:基準(zhǔn)功率、子控制區(qū)域、變電站、電壓等級(jí)、母線、節(jié)點(diǎn)、端點(diǎn)、線路、開關(guān)設(shè)備、變壓器、發(fā)電機(jī)、負(fù)荷和補(bǔ)償電容。

      優(yōu)選地,潮流數(shù)據(jù)輸出包括:基準(zhǔn)功率輸出、case版本輸出、線路數(shù)據(jù)輸出、發(fā)電機(jī)數(shù)據(jù)輸出、節(jié)點(diǎn)數(shù)據(jù)輸出、負(fù)荷數(shù)據(jù)輸出、補(bǔ)償電容數(shù)據(jù)輸出。

      優(yōu)選地,非開關(guān)設(shè)備包括:同步電機(jī)、兩繞組變壓器、三繞組變壓器、串聯(lián)電容器、并聯(lián)電容器、電抗器、線路。

      優(yōu)選地,本發(fā)明實(shí)施例還提供了一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換裝置,包括:

      修正單元,用于獲取到cimxml文件和cimxml文件包含的電力系統(tǒng)數(shù)據(jù),并同時(shí)獲取潮流狀態(tài)文件,根據(jù)潮流狀態(tài)文件修正電力系統(tǒng)數(shù)據(jù)中的開關(guān)設(shè)備的狀態(tài)變量,得到修正后的開關(guān)設(shè)備狀態(tài)變量;

      存儲(chǔ)單元,用于獲取到cim模型的connectivitynode和terminal,將connectivitynode存儲(chǔ)在第一hashmap數(shù)據(jù)類型中,將terminal存儲(chǔ)在第二hashmap數(shù)據(jù)類型中,并在connectivitynode添加一個(gè)hashmap對(duì)象,其中,hashmap對(duì)象存儲(chǔ)有terminal的id屬性;

      指令單元,用于令k=1;

      第一判斷單元,用于獲取到與修正后的開關(guān)設(shè)備狀態(tài)變量對(duì)應(yīng)的開關(guān)設(shè)備,判斷開關(guān)設(shè)備是否為閉合開關(guān)設(shè)備,若是,則觸發(fā)第二判斷單元,若不是,則觸發(fā)第四判斷單元;

      第二判斷單元,用于獲取到與閉合開關(guān)設(shè)備連接的兩個(gè)connectivitynode,判斷兩個(gè)connectivitynode是否均為有效節(jié)點(diǎn),若是,則觸發(fā)第三判斷單元,若不是,則觸發(fā)第四判斷單元;

      第三判斷單元,用于判斷兩個(gè)connectivitynode的id是否相同,若不相同,則觸發(fā)第一合并單元,若不是,則觸發(fā)第四判斷單元;

      第一合并單元,用于將其中一個(gè)connectivitynode的狀態(tài)設(shè)置為無(wú)效,得到無(wú)效connectivitynode,并修改與無(wú)效connectivitynode連接的terminal的id,再將無(wú)效connectivitynode的terminal屬性合并至另一個(gè)connectivitynode的terminal屬性,斷開與閉合開關(guān)設(shè)備連接的兩個(gè)terminal;

      第四判斷單元,用于令k=k+1,判斷k是否小于預(yù)置開關(guān)設(shè)備總數(shù),若小于,則重新觸發(fā)第一判斷單元,若不小于,獲取到合并后的閉合開關(guān)設(shè)備狀態(tài),并觸發(fā)第二合并單元;

      第二合并單元,用于根據(jù)合并后的閉合開關(guān)設(shè)備狀態(tài),在判斷與合并后的閉合開關(guān)設(shè)備連接的非開關(guān)設(shè)備為在線運(yùn)行狀態(tài)后,將非開關(guān)設(shè)備的參數(shù)值合并至與非開關(guān)設(shè)備連接的節(jié)點(diǎn)中,得到第一拓?fù)涔?jié)點(diǎn);

      分類單元,用于獲取到第一拓?fù)涔?jié)點(diǎn)中的孤立節(jié)點(diǎn),對(duì)孤立節(jié)點(diǎn)進(jìn)行去除操作,得到第二拓?fù)涔?jié)點(diǎn);

      輸出單元,用于對(duì)第二拓?fù)涔?jié)點(diǎn)進(jìn)行ieee格式的潮流數(shù)據(jù)輸出操作。

      優(yōu)選地,本發(fā)明實(shí)施例提供的一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換裝置還包括:

      建立單元,用于建立cim模型。

      優(yōu)選地,電力系統(tǒng)數(shù)據(jù)包括:基準(zhǔn)功率、子控制區(qū)域、變電站、電壓等級(jí)、母線、節(jié)點(diǎn)、端點(diǎn)、線路、開關(guān)設(shè)備、變壓器、發(fā)電機(jī)、負(fù)荷和補(bǔ)償電容。

      優(yōu)選地,潮流數(shù)據(jù)輸出包括:基準(zhǔn)功率輸出、case版本輸出、線路數(shù)據(jù)輸出、發(fā)電機(jī)數(shù)據(jù)輸出、節(jié)點(diǎn)數(shù)據(jù)輸出、負(fù)荷數(shù)據(jù)輸出、補(bǔ)償電容數(shù)據(jù)輸出。

      優(yōu)選地,非開關(guān)設(shè)備包括:同步電機(jī)、兩繞組變壓器、三繞組變壓器、串聯(lián)電容器、并聯(lián)電容器、電抗器、線路。

      從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):

      本發(fā)明實(shí)施例提供了一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法及裝置,基于java平臺(tái)開發(fā)的,與采用非面向?qū)ο蟮恼Z(yǔ)言程序開發(fā)相比,本發(fā)明采用與cim模型建模時(shí)一樣思想,都是一種面向?qū)ο蟮乃季S,因此開發(fā)的思路簡(jiǎn)單并且符合要求。本發(fā)明在轉(zhuǎn)換的過程中,采用hashmap底層的數(shù)據(jù)結(jié)構(gòu),減少了數(shù)據(jù)匹配時(shí)的搜索量,加快了cim轉(zhuǎn)換速度。同時(shí),在處理非開關(guān)類設(shè)備時(shí),根據(jù)開關(guān)的狀態(tài)對(duì)設(shè)備是否在線運(yùn)行進(jìn)行了評(píng)估,保證轉(zhuǎn)換結(jié)果的正確性。

      附圖說明

      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。

      圖1是本發(fā)明實(shí)施例提供的一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法的流程示意圖;

      圖2是本發(fā)明實(shí)施例提供的一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法的另一流程示意圖;

      圖3是本發(fā)明實(shí)施例提供的一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖;

      圖4是節(jié)點(diǎn)合并的示意圖。

      具體實(shí)施方式

      本發(fā)明實(shí)施例提供了一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換及裝置,減少了數(shù)據(jù)匹配時(shí)的搜索量,加快了cim轉(zhuǎn)換速度。

      為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,下面所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      請(qǐng)參閱圖1,本發(fā)明實(shí)施例提供的一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法的一個(gè)實(shí)施例,包括:

      101、獲取到cimxml文件和cimxml文件包含的電力系統(tǒng)數(shù)據(jù),并同時(shí)獲取潮流狀態(tài)文件,根據(jù)潮流狀態(tài)文件修正電力系統(tǒng)數(shù)據(jù)中的開關(guān)設(shè)備的狀態(tài)變量,得到修正后的開關(guān)設(shè)備狀態(tài)變量;

      102、獲取到cim模型的connectivitynode和terminal,將connectivitynode存儲(chǔ)在第一hashmap數(shù)據(jù)類型中,將terminal存儲(chǔ)在第二hashmap數(shù)據(jù)類型中,并在connectivitynode添加一個(gè)hashmap對(duì)象,其中,hashmap對(duì)象存儲(chǔ)有terminal的id屬性;

      103、令k=1;

      104、獲取到與修正后的開關(guān)設(shè)備狀態(tài)變量對(duì)應(yīng)的開關(guān)設(shè)備,判斷開關(guān)設(shè)備是否為閉合開關(guān)設(shè)備,若是,則執(zhí)行105,若不是,則執(zhí)行108;

      105、獲取到與閉合開關(guān)設(shè)備連接的兩個(gè)connectivitynode,判斷兩個(gè)connectivitynode是否均為有效節(jié)點(diǎn),若是,則執(zhí)行106,若不是,則執(zhí)行108;

      106、判斷兩個(gè)connectivitynode的id是否相同,若不相同,則執(zhí)行107,若不是,則執(zhí)行108;

      107、將其中一個(gè)connectivitynode的狀態(tài)設(shè)置為無(wú)效,得到無(wú)效connectivitynode,并修改與無(wú)效connectivitynode連接的terminal的id,再將無(wú)效connectivitynode的terminal屬性合并至另一個(gè)connectivitynode的terminal屬性,斷開與閉合開關(guān)設(shè)備連接的兩個(gè)terminal;

      108、令k=k+1,判斷k是否小于預(yù)置開關(guān)設(shè)備總數(shù),若小于,則重新執(zhí)行104,若不小于,獲取到合并后的閉合開關(guān)設(shè)備狀態(tài),并執(zhí)行109;

      109、根據(jù)合并后的閉合開關(guān)設(shè)備狀態(tài),在判斷與合并后的閉合開關(guān)設(shè)備連接的非開關(guān)設(shè)備為在線運(yùn)行狀態(tài)后,將非開關(guān)設(shè)備的參數(shù)值合并至與非開關(guān)設(shè)備連接的節(jié)點(diǎn)中,得到第一拓?fù)涔?jié)點(diǎn);

      110、獲取到第一拓?fù)涔?jié)點(diǎn)中的孤立節(jié)點(diǎn),對(duì)孤立節(jié)點(diǎn)進(jìn)行去除操作,得到第二拓?fù)涔?jié)點(diǎn);

      步驟109對(duì)開關(guān)進(jìn)行合并后得到第一拓?fù)涔?jié)點(diǎn),第一拓?fù)涔?jié)點(diǎn)中存在孤立節(jié)點(diǎn),而孤立節(jié)點(diǎn)的存在導(dǎo)致網(wǎng)絡(luò)不是連通的,因而潮流計(jì)算是不收斂的。所以需要進(jìn)行步驟110對(duì)孤立節(jié)點(diǎn)進(jìn)行分類,去除調(diào)孤立節(jié)點(diǎn),然后得到第二拓?fù)涔?jié)點(diǎn),最終得到的是一個(gè)連通的網(wǎng)絡(luò),即第二拓?fù)涔?jié)點(diǎn)。對(duì)于第一拓?fù)涔?jié)點(diǎn)只是轉(zhuǎn)換過程中的一個(gè)中間的節(jié)點(diǎn)。

      111、對(duì)第二拓?fù)涔?jié)點(diǎn)進(jìn)行ieee格式的潮流數(shù)據(jù)輸出操作。

      本發(fā)明實(shí)施例提供一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法,即將由端點(diǎn)(terminal)和連接節(jié)點(diǎn)(connectivitynode)表達(dá)導(dǎo)電設(shè)備之間連接關(guān)系的開關(guān)/節(jié)點(diǎn)模型(cim模型)轉(zhuǎn)換為由拓?fù)涔?jié)點(diǎn)和拓?fù)涔?jié)點(diǎn)間帶阻抗的電器元件連接的母線/支路模型(潮流計(jì)算模型)。本發(fā)明是基于java平臺(tái)開發(fā)的,具有易于開發(fā)和使用、移植性強(qiáng)等特點(diǎn)。本發(fā)明在轉(zhuǎn)換的過程中,采用hashmap底層的數(shù)據(jù)結(jié)構(gòu),減少了數(shù)據(jù)匹配時(shí)的搜索量,加快了cim轉(zhuǎn)換速度。同時(shí),在處理非開關(guān)類設(shè)備時(shí),根據(jù)開關(guān)的狀態(tài)對(duì)其是否在線運(yùn)行進(jìn)行了評(píng)估,保證轉(zhuǎn)換結(jié)果的正確性。本發(fā)明所述輸出的潮流數(shù)據(jù)是指ieee格式的潮流數(shù)據(jù)。

      請(qǐng)參閱圖2,本發(fā)明實(shí)施例提供的一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法的另一個(gè)實(shí)施例,包括:

      201、建立cim模型;

      202、獲取到cimxml文件和cimxml文件包含的電力系統(tǒng)數(shù)據(jù),并同時(shí)獲取潮流狀態(tài)文件,根據(jù)潮流狀態(tài)文件修正電力系統(tǒng)數(shù)據(jù)中的開關(guān)設(shè)備的狀態(tài)變量,得到修正后的開關(guān)設(shè)備狀態(tài)變量;

      203、獲取到cim模型的connectivitynode和terminal,將connectivitynode存儲(chǔ)在第一hashmap數(shù)據(jù)類型中,將terminal存儲(chǔ)在第二hashmap數(shù)據(jù)類型中,并在connectivitynode添加一個(gè)hashmap對(duì)象,其中,hashmap對(duì)象存儲(chǔ)有terminal的id屬性;

      204、令k=1;

      205、獲取到與修正后的開關(guān)設(shè)備狀態(tài)變量對(duì)應(yīng)的開關(guān)設(shè)備,判斷開關(guān)設(shè)備是否為閉合開關(guān)設(shè)備,若是,則執(zhí)行205,若不是,則執(zhí)行208;

      206、獲取到與閉合開關(guān)設(shè)備連接的兩個(gè)connectivitynode,判斷兩個(gè)connectivitynode是否均為有效節(jié)點(diǎn),若是,則執(zhí)行206,若不是,則執(zhí)行208;

      207、判斷兩個(gè)connectivitynode的id是否相同,若不相同,則執(zhí)行207,若不是,則執(zhí)行208;

      208、將其中一個(gè)connectivitynode的狀態(tài)設(shè)置為無(wú)效,得到無(wú)效connectivitynode,并修改與無(wú)效connectivitynode連接的terminal的id,再將無(wú)效connectivitynode的terminal屬性合并至另一個(gè)connectivitynode的terminal屬性,斷開與閉合開關(guān)設(shè)備連接的兩個(gè)terminal;

      209、令k=k+1,判斷k是否小于預(yù)置開關(guān)設(shè)備總數(shù),若小于,則重新執(zhí)行204,若不小于,獲取到合并后的閉合開關(guān)設(shè)備狀態(tài),并執(zhí)行209;

      210、根據(jù)合并后的閉合開關(guān)設(shè)備狀態(tài),在判斷與合并后的閉合開關(guān)設(shè)備連接的非開關(guān)設(shè)備為在線運(yùn)行狀態(tài)后,將非開關(guān)設(shè)備的參數(shù)值合并至與非開關(guān)設(shè)備連接的節(jié)點(diǎn)中,得到第一拓?fù)涔?jié)點(diǎn);

      211、獲取到第一拓?fù)涔?jié)點(diǎn)中的孤立節(jié)點(diǎn),對(duì)孤立節(jié)點(diǎn)進(jìn)行去除操作,得到第二拓?fù)涔?jié)點(diǎn);

      212、對(duì)第二拓?fù)涔?jié)點(diǎn)進(jìn)行ieee格式的潮流數(shù)據(jù)輸出操作。

      進(jìn)一步地,電力系統(tǒng)數(shù)據(jù)包括:基準(zhǔn)功率、子控制區(qū)域、變電站、電壓等級(jí)、母線、節(jié)點(diǎn)、端點(diǎn)、線路、開關(guān)設(shè)備、變壓器、發(fā)電機(jī)、負(fù)荷和補(bǔ)償電容。

      進(jìn)一步地,潮流數(shù)據(jù)輸出包括:基準(zhǔn)功率輸出、case版本輸出、線路數(shù)據(jù)輸出、發(fā)電機(jī)數(shù)據(jù)輸出、節(jié)點(diǎn)數(shù)據(jù)輸出、負(fù)荷數(shù)據(jù)輸出、補(bǔ)償電容數(shù)據(jù)輸出。

      進(jìn)一步地,非開關(guān)設(shè)備包括:同步電機(jī)、兩繞組變壓器、三繞組變壓器、串聯(lián)電容器、并聯(lián)電容器、電抗器、線路。

      上面是對(duì)一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法進(jìn)行的詳細(xì)說明,為便于理解,下面將以一具體應(yīng)用場(chǎng)景對(duì)一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換方法的應(yīng)用進(jìn)行說明,應(yīng)用例包括:

      一、讀取cimxml文件和狀態(tài)文件;

      本發(fā)明通過基于java平臺(tái)的dom4j來(lái)實(shí)現(xiàn)對(duì)cimxml文件的解析,并采用hashmap底層的數(shù)據(jù)結(jié)構(gòu),與list作底層數(shù)據(jù)結(jié)構(gòu)相比減少了數(shù)據(jù)匹配時(shí)的搜索量,加快了cim轉(zhuǎn)換速度,而且也更加符合該數(shù)據(jù)轉(zhuǎn)換的需求。本發(fā)明的狀態(tài)文件是文本格式的,所以在進(jìn)行讀取的時(shí)候直接采用了普通文件讀取的方式,并且根據(jù)cimxml文件提取的數(shù)據(jù)的類型來(lái)確定提取狀態(tài)文件的數(shù)據(jù)。讀取cimxml文件時(shí),主要讀取了以下數(shù)據(jù):

      (1)基準(zhǔn)功率;(2)子控制區(qū)域;(3)變電站;(4)電壓等級(jí);(5)母線;(6)節(jié)點(diǎn)和端點(diǎn);(7)線路;(8)開關(guān);(9)變壓器;(10)發(fā)電機(jī);(11)負(fù)荷;(12)補(bǔ)償電容。

      二、修正開關(guān)設(shè)備狀態(tài)變量;

      由于cimxml文件中的數(shù)據(jù)是一個(gè)網(wǎng)架結(jié)構(gòu)的完整數(shù)據(jù),其中包含的狀態(tài)數(shù)據(jù)是一個(gè)初始值,并不能真實(shí)的反映電網(wǎng)的實(shí)時(shí)運(yùn)行狀態(tài),因此必須需要由狀態(tài)潮流文件來(lái)修正xml文件的變量。在對(duì)xml文件中的變量進(jìn)行修正時(shí),主要修正開關(guān)設(shè)備的狀態(tài)變量。

      三、實(shí)現(xiàn)高效索引技術(shù);

      由于本發(fā)明在存儲(chǔ)cimxml數(shù)據(jù)采用hashmap的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),在實(shí)現(xiàn)高效索引的時(shí)候,在該類的基礎(chǔ)上加入索引對(duì)象key即可。

      如在cim模型中最重要的兩個(gè)類為connectivitynode和terminal。所有的設(shè)備或元件都依賴于terminal類,設(shè)備與設(shè)備之間的連接關(guān)系是通過connectivitynode連接來(lái)實(shí)現(xiàn)的。在cim模型中大量的存在著這兩個(gè)類,為了數(shù)據(jù)存儲(chǔ)和使用的方便,本發(fā)明在對(duì)connectivitynode和terminal數(shù)據(jù)進(jìn)行解析和提取時(shí),采用兩個(gè)hashmap數(shù)據(jù)類型分別對(duì)其進(jìn)行存儲(chǔ)。由于cim模型中terminal對(duì)象已經(jīng)包含了connectivitynode的id屬性,實(shí)際上采用hashmap就已經(jīng)實(shí)現(xiàn)了由terminal對(duì)象直接導(dǎo)航到connectivitynode對(duì)象。而connectivitynode中沒有包含terminal屬性,因此不能直接實(shí)現(xiàn)由connectivitynode對(duì)象直接導(dǎo)航到terminal對(duì)象。一個(gè)connectivitynode上通常連接了不止一個(gè)的設(shè)備,即一個(gè)connectivitynode連接了不止一個(gè)terminal對(duì)象,因此,需要在connectivitynode中加入一個(gè)容器對(duì)象來(lái)存儲(chǔ)多個(gè)terminal對(duì)象,本發(fā)明在connectivitynode類中加入了一個(gè)hashmap對(duì)象來(lái)存儲(chǔ)terminal的id的屬性,這樣就實(shí)現(xiàn)了由connectivitynode直接導(dǎo)航到terminal。

      在實(shí)現(xiàn)雙向?qū)Ш胶?,若想知道一個(gè)設(shè)備是與哪些設(shè)備相連的,只需通過該設(shè)備的terminal對(duì)象直接導(dǎo)航到connectivitynode對(duì)象,然后在該connectivitynode的terminal屬性就可以知道與哪些設(shè)備相連。

      四、對(duì)閉合開關(guān)進(jìn)行節(jié)點(diǎn)合并處理;

      具體實(shí)現(xiàn)的步驟如下所示(以斷路器breaker為例):

      s401、設(shè)初始值k=1;

      s402、取出斷路器breaker對(duì)象并判斷該斷路器breaker對(duì)象的狀態(tài)是否為閉合。若閉合則進(jìn)行步驟s403,否則進(jìn)入步驟s407;

      s403、通過斷路器breaker對(duì)象的terminal屬性根據(jù)上述的高效索引技術(shù)直接導(dǎo)航到與該斷路器breaker對(duì)象連接的兩個(gè)connectivitynode對(duì)象;

      s404、判斷這兩個(gè)connectivitynode是否為有效節(jié)點(diǎn)。若兩個(gè)connectivitynode都有效,則進(jìn)入步驟s405,否則進(jìn)入步驟s407;

      s405、判斷這個(gè)兩個(gè)connectivitynode對(duì)象的id號(hào)是否相同。若不相同,則進(jìn)入步驟s406,否則進(jìn)入步驟s407;

      s406、設(shè)置其中一個(gè)connectivitynode對(duì)象的狀態(tài)為無(wú)效,為了說明設(shè)其為cn1,令一個(gè)并修改與cn1對(duì)象連接的所有的terminal對(duì)象的id號(hào),即修改key值;把cn1對(duì)象的所有的terminal屬性合并到另一個(gè)connectivitynode的terminal屬性,并去掉與斷路器breaker連接的兩個(gè)terminal;

      s407、令k=k+1;若k<breakerlist.size()斷路器總數(shù),則轉(zhuǎn)步驟s402,否則進(jìn)入步驟s408;

      s408、開關(guān)合并處理完成,結(jié)束。

      其實(shí)現(xiàn)節(jié)點(diǎn)合并的過程如圖4所示。

      五、非開關(guān)類設(shè)備的狀態(tài)在線評(píng)估及處理;

      根據(jù)第四步開關(guān)的狀態(tài)來(lái)對(duì)非開關(guān)類設(shè)備是否在線運(yùn)行進(jìn)行評(píng)估。此處的非開關(guān)類的設(shè)備指同步機(jī)、(兩繞組和三繞組)變壓器、(串聯(lián)和并聯(lián))電容器、線路等。若設(shè)備在線運(yùn)行,則對(duì)其的設(shè)備的值進(jìn)行合并。比如,并聯(lián)電容器,若通過開關(guān)狀態(tài)評(píng)估出其設(shè)備是在線運(yùn)行的,因此,對(duì)電容器的并聯(lián)電容合并到與之連接的節(jié)點(diǎn)中。

      六、孤立節(jié)點(diǎn)處理;

      具體包含以下步驟:

      s601、初始化k=1;

      s602、取出該節(jié)點(diǎn),并判斷該節(jié)點(diǎn)是否有效。若有效,進(jìn)入步驟s603,若無(wú)效進(jìn)入步驟s604;

      s603、判斷與該節(jié)點(diǎn)相連的是否是有效的線路、變壓器或發(fā)電機(jī)。若包含其中至少一個(gè),則標(biāo)記節(jié)點(diǎn)為拓?fù)涔?jié)點(diǎn);否則,若連接的設(shè)備為發(fā)電機(jī),則認(rèn)為該節(jié)點(diǎn)為無(wú)效節(jié)點(diǎn),若連接的設(shè)備為線路或變壓器,則需再次進(jìn)行一次判斷;

      s604、令k=k+1;若k<connectivitynodelist.size(),則轉(zhuǎn)步驟s602,否則進(jìn)入步驟s605;

      s605、結(jié)束;

      七、潮流數(shù)據(jù)輸出。

      本發(fā)明所述轉(zhuǎn)換的潮流數(shù)據(jù)是指ieee格式的潮流數(shù)據(jù)。具體包含以下步驟:

      s701、基準(zhǔn)功率輸出;

      s702、case版本輸出;

      s703、線路數(shù)據(jù)輸出;

      其中,線路的數(shù)據(jù)包括輸電線路的輸出和變壓器等效支路輸出。

      輸電線路在輸出時(shí),按照ieee格式要求,需要將其電阻、電抗和對(duì)地電納處理成為標(biāo)幺值。

      變壓器等效支路在輸出時(shí),需要將cimxml中的數(shù)據(jù)處理為如圖4所示的ieee的變壓器模型。

      s704、拓?fù)涔?jié)點(diǎn)輸出;

      由于在cimxml模型中,節(jié)點(diǎn)類的數(shù)據(jù)與負(fù)荷類和補(bǔ)償電容類的數(shù)據(jù)分離的,但是在ieee模型中,節(jié)點(diǎn)bus的數(shù)據(jù)包含了以上三種類型的數(shù)據(jù),因此,在拓?fù)涔?jié)點(diǎn)進(jìn)行輸出時(shí),需要把這些有關(guān)的數(shù)據(jù)進(jìn)行整合輸出。

      根據(jù)節(jié)點(diǎn)連接的設(shè)備類型不同,將其分為pq、pv節(jié)點(diǎn)。此外,對(duì)于vθ節(jié)點(diǎn)需要外部的指定。

      s705、發(fā)電機(jī)數(shù)據(jù)輸出。

      所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。

      請(qǐng)參閱圖3,本發(fā)明實(shí)施例提供的一種基于java平臺(tái)的cim模型潮流數(shù)據(jù)轉(zhuǎn)換裝置的一個(gè)實(shí)施例,包括:

      建立單元300,用于建立cim模型。

      修正單元301,用于獲取到cimxml文件和cimxml文件包含的電力系統(tǒng)數(shù)據(jù),并同時(shí)獲取潮流狀態(tài)文件,根據(jù)潮流狀態(tài)文件修正電力系統(tǒng)數(shù)據(jù)中的開關(guān)設(shè)備的狀態(tài)變量,得到修正后的開關(guān)設(shè)備狀態(tài)變量;

      存儲(chǔ)單元302,用于獲取到cim模型的connectivitynode和terminal,將connectivitynode存儲(chǔ)在第一hashmap數(shù)據(jù)類型中,將terminal存儲(chǔ)在第二hashmap數(shù)據(jù)類型中,并在connectivitynode添加一個(gè)hashmap對(duì)象,其中,hashmap對(duì)象存儲(chǔ)有terminal的id屬性;

      指令單元303,用于令k=1;

      第一判斷單元304,用于獲取到與修正后的開關(guān)設(shè)備狀態(tài)變量對(duì)應(yīng)的開關(guān)設(shè)備,判斷開關(guān)設(shè)備是否為閉合開關(guān)設(shè)備,若是,則觸發(fā)第二判斷單元305,若不是,則觸發(fā)第四判斷單元308;

      第二判斷單元305,用于獲取到與閉合開關(guān)設(shè)備連接的兩個(gè)connectivitynode,判斷兩個(gè)connectivitynode是否均為有效節(jié)點(diǎn),若是,則觸發(fā)第三判斷單元306,若不是,則觸發(fā)第四判斷單元308;

      第三判斷單元306,用于判斷兩個(gè)connectivitynode的id是否相同,若不相同,則觸發(fā)第一合并單元307,若不是,則觸發(fā)第四判斷單元308;

      第一合并單元307,用于將其中一個(gè)connectivitynode的狀態(tài)設(shè)置為無(wú)效,得到無(wú)效connectivitynode,并修改與無(wú)效connectivitynode連接的terminal的id,再將無(wú)效connectivitynode的terminal屬性合并至另一個(gè)connectivitynode的terminal屬性,斷開與閉合開關(guān)設(shè)備連接的兩個(gè)terminal;

      第四判斷單元308,用于令k=k+1,判斷k是否小于預(yù)置開關(guān)設(shè)備總數(shù),若小于,則重新觸發(fā)第一判斷單元304,若不小于,獲取到合并后的閉合開關(guān)設(shè)備狀態(tài),并觸發(fā)第二合并單元309;

      第二合并單元309,用于根據(jù)合并后的閉合開關(guān)設(shè)備狀態(tài),在判斷與合并后的閉合開關(guān)設(shè)備連接的非開關(guān)設(shè)備為在線運(yùn)行狀態(tài)后,將非開關(guān)設(shè)備的參數(shù)值合并至與非開關(guān)設(shè)備連接的節(jié)點(diǎn)中,得到第一拓?fù)涔?jié)點(diǎn);

      分類單元310,用于獲取到第一拓?fù)涔?jié)點(diǎn)中的孤立節(jié)點(diǎn),對(duì)孤立節(jié)點(diǎn)進(jìn)行去除操作,得到第二拓?fù)涔?jié)點(diǎn);

      輸出單元311,用于對(duì)第二拓?fù)涔?jié)點(diǎn)進(jìn)行ieee格式的潮流數(shù)據(jù)輸出操作。

      進(jìn)一步地,電力系統(tǒng)數(shù)據(jù)包括:基準(zhǔn)功率、子控制區(qū)域、變電站、電壓等級(jí)、母線、節(jié)點(diǎn)、端點(diǎn)、線路、開關(guān)設(shè)備、變壓器、發(fā)電機(jī)、負(fù)荷和補(bǔ)償電容。

      進(jìn)一步地,潮流數(shù)據(jù)輸出包括:基準(zhǔn)功率輸出、case版本輸出、線路數(shù)據(jù)輸出、發(fā)電機(jī)數(shù)據(jù)輸出、節(jié)點(diǎn)數(shù)據(jù)輸出、負(fù)荷數(shù)據(jù)輸出、補(bǔ)償電容數(shù)據(jù)輸出。

      進(jìn)一步地,非開關(guān)設(shè)備包括:同步電機(jī)、兩繞組變壓器、三繞組變壓器、串聯(lián)電容器、并聯(lián)電容器、電抗器、線路。

      本發(fā)明提供了一種完整的思路將cim模型數(shù)據(jù)轉(zhuǎn)換為ieee格式的潮流數(shù)據(jù)。本發(fā)明是基于java平臺(tái)開發(fā)的,它與cim模型建模時(shí)的采用的思想一樣,都是一種面向?qū)ο蟮恼Z(yǔ)言,且java語(yǔ)言具有易于實(shí)現(xiàn),可移植性強(qiáng)的優(yōu)勢(shì)。本發(fā)明在轉(zhuǎn)換的過程中,采用hashmap底層的數(shù)據(jù)結(jié)構(gòu),減少了數(shù)據(jù)匹配時(shí)的搜索量,加快了cim轉(zhuǎn)換速度。同時(shí),在處理非開關(guān)類設(shè)備時(shí),根據(jù)開關(guān)的狀態(tài)對(duì)其進(jìn)行在線評(píng)估,保證轉(zhuǎn)換結(jié)果的正確性。

      在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

      所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。

      另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

      所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

      以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1