電力系統數據標記語言-E語言格式規范(CIM-E)_第1頁
電力系統數據標記語言-E語言格式規范(CIM-E)_第2頁
電力系統數據標記語言-E語言格式規范(CIM-E)_第3頁
電力系統數據標記語言-E語言格式規范(CIM-E)_第4頁
電力系統數據標記語言-E語言格式規范(CIM-E)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Q / GDW 215 2008電力系統數據標記語言 E語言規范 Data Markup Language for Electric Power System E Language 目錄前言II1 范圍12 符號定義13 基本語法14 擴展語法4附錄A(參考性附錄) E語言數據樣例8附錄B(規范性附錄) 屬性類型和量綱標準10前言電力系統數據標記語言E語言規范(以下簡稱“E語言”)是在IEC 61970301電力系統公用數據模型CIM(Common Information Model)的面向對象抽象基礎上,針對CIM在以XML方式進行描述時的效率缺陷所制定的一種新型高效的電力系統數據標記語言。

2、E語言的命名源于Easy(簡單)、Efficiency(高效)、Electric-power(電力)3個英文詞頭,它將電力系統傳統的面向關系的數據描述方式與面向對象的CIM相結合,既保留了面向關系方法的高效率,繼承了其長期的研究成果,又吸收了面向對象方法的優點(如類的繼承性等),具有簡潔、高效和適用于電力系統的特點。E語言是一種標記語言,具有標記語言的基本特點和優點,其所形成的實例數據是一種標記化的純文本數據。E語言通過少量標記符號和描述語法,可以簡潔高效地描述電力系統各種簡單和復雜數據模型,數據量越大則效率越高,而且E語言比XML更符合人們使用的自然習慣,計算機處理也更簡單。E語言與XML均

3、一致地遵循CIM基礎對象類,以E語言描述的電力系統模型與以XML語言描述的電力系統模型可進行雙向轉換。本標準由國家電網公司國家電力調度通信中心提出并負責解釋。本標準由國家電網公司科技部歸口。本標準起草單位:國家電網公司國家電力調度通信中心,國網電力科學研究院,江蘇電力調度通信中心本標準的主要起草人:辛耀中、林峰、陶洪鑄、倪斌、彭清卿、李毅松、石俊杰、崔恒志、蘇大威10電力系統數據標記語言E語言規范 1范圍本標準規定了電力系統數據標記語言E語言的語法和語義。E語言主要適用于以文件方式描述和交換數據的應用場合。本標準定義的E語言版本為V1.0。2符號定義序號符號定 義1< >類起始符2

4、</ >>類結束符3<!系統聲明起始符4!>系統聲明結束符5數據塊頭引導符(橫表式)6數據塊頭引導符(單列式)7#數據塊頭引導符(多列式)8#數據行引導符9/注釋引導符10:類和實體連接符11=賦值連接符12.名稱連接符,父類與子類的連接符13/屬性別名行引導符14%屬性類型行引導符15$屬性量綱行引導符16:屬性限值行引導符,限值上下限定義,父類名縮寫定義17*指針引導符18空格由一個或連續多個空格或制表符(Tab)組成19含空格的字符數據,前后加單引號20-該項數據為空21,對象的枚舉22:=無結構數據塊定義說明:以上符號均為英文半角符號。3基本語法E語言數據

5、是純文本數據。E語言主要通過對文本中每行第一個字符或前兩個字符的使用,達到規范文本的目的。E語言對于英文字母的大小寫敏感。3.1基本結構E語言數據文件包括注釋(可選)、系統聲明、數據塊起始標記、數據塊頭定義、數據塊、數據塊結束標記等部分。E語言數據有三種基本結構,即橫表式結構、單列式結構和多列式結構,分別如圖1、圖2、圖3所示:注釋系統聲明數據塊起始標記數據塊頭定義數據塊數據塊結束標記/注釋<!System=OMS Version=1.0 Code=UTF-8 Data=1.0!><類名:實體名> 序號 屬性名1 屬性名2 屬性名3 # 1 對象1值1 對象1值2 對象

6、1值3# 2 對象2值1 對象2值2 對象2值3# n </類名:實體名>圖1E語言數據的橫表式結構 注釋系統聲明數據塊起始標記數據塊頭定義數據塊數據塊結束標記/注釋<!System=OMS Version=1.0 Code=UTF-8 Data=1.0!><類名:實體名> 序號 屬性名 屬性值 # 1 屬性1 值1# 2 屬性2 值2# n </類名:實體名>圖2E語言數據的單列式結構 注釋系統聲明數據塊起始標記數據塊頭定義數據塊數據塊結束標記/注釋<!System=OMS Version=1.0 Code=UTF-8 Data=1.0!

7、><類名:實體名># 序號 屬性名 對象1 對象2 對象n # 1 屬性1 值11 值12 值1n# 2 屬性2 值21 值22 值2n# n </類名:實體名>圖3E語言數據的多列式結構3.2注釋注釋是E語言的可選部分,通過雙斜杠“/”引導開始。注釋可出現在數據文件的任意地方,既可以獨立一行,也允許在行的后部。3.3系統聲明E語言的系統聲明位于數據塊前端,由左尖括號加嘆號并列“<!”引導開始,由嘆號加右尖括號并列 “!>”標記結束。系統聲明中說明產生數據的應用系統名稱、采用的E語言版本、字符集和數據版本。標記內的具體內容如下:a)System=應用系

8、統名稱。指產生本數據的應用系統名稱。b)Version=E語言版本。指封裝本數據所采用的E語言版本。由于E語言本身的發展,語法規則和符號可能會發生變化,此版本信息可用于程序識別語言本身的差別。c)Code=字符集名稱。指本文件所用的字符集。d)Data=數據版本。指本數據所處版本。由于應用需求變化,同樣類別的數據其封裝結構可能會進行局部的擴充、修改或簡化,此版本信息可用于程序識別數據本身的細微差別。以上各部分之間用空格分割,并且可根據系統情況進行擴展。以下為一個系統聲明的實際樣例:<! System=OMS Version=1.0 Code=UTF-8 Data=1.0 !>3.4

9、數據塊起始和結束 E語言數據塊的起始用尖括號“<類名>”或“<類名:實體名>”表示,數據塊結束用尖括號內加單斜杠“</類名>”或“</類名:實體名>”表示?!邦惷?實體名”中,前者表示數據塊內數據對象的類,后者表示數據塊內數據的歸屬對象。如數據塊起始符“<調度日報:華東>”指明了數據塊內的數據是調度日報類,并且這些數據歸屬于華東電網,即這些數據為華東電網的調度日報數據。類和實體名稱之后可跟若干個標記屬性名及其值,標記屬性名與屬性值之間用等號“=”相連,多個屬性名值之間用空格分割。如Date=YYYY-MM-DD,表示報表數據的日期。數

10、據塊中如果只包含一個對象也可以用一行來描述,采用如下格式:<類名:實體名屬性1=值1屬性2=值2/>。3.5數據塊頭定義數據塊頭定義用地址符“”標記,用于表明數據的基本結構:即橫表式、單列式或多列式。數據塊頭定義的具體標記如下:a)單地址符“”表示數據的基本結構為橫表式,其語法為: 序號 屬性名1 屬性名2 屬性名3 “”、序號、各屬性名之間使用空格分割,序號也可用數據ID表示(下同),單列式和多列式結構對于序號的處理方式類似。橫表式結構的數據塊中每個對象占一行、每個屬性占一列,適用于表格類數據,或屬性較少且對象較多的數據,如圖1所示。b)雙地址符“”表示數據的基本結構為單列式,其

11、語法為: 序號 屬性名 屬性值“”、序號、屬性名、各屬性值之間通過空格分割。單列式結構的數據塊中每個屬性占一行,屬性名和值各占一列,適合于單個對象且屬性較多的數據,如圖2所示。c)單地址符和井號“#”表示數據的基本結構為多列式,其語法為:# 序號 屬性名 對象名1 對象名2 對象名3 “#”、序號、屬性名、各對象名之間通過空格分割。多列式結構的數據塊中每個屬性占一行,每個對象占一列,適合于對象數相對固定且屬性較多的數據,如圖3所示。3.6數據塊 數據塊由多個數據行組成,每個數據行由井號“#”引導。數據行中的各數據值之間通過空格分割。數據行的表達方式與數據塊頭定義一一對應。數據塊的第一列總是在“

12、#”后跟一個或多個空格,空格后加序號,如“# 10”,使序號單獨成為一列。該序號表示本行數據在本數據塊中的順序,以1開始編號。序號后面跟一空格后開始數據值序列。3.7空格E語言中使用空格作為分割符,如數據塊中每行各項內容之間使用空格分割??崭穹指罘梢粋€或連續多個空格或制表符(Tab)組成。如果字符串數據中含有空格字符,則需在字符串數據前后加單引號“”。3.8連接符a)類與實體連接符:用“:”表示,用于類和實體之間的連接,如:<調度日報:華東>。b)賦值連接符:用等號“=”表示,用于數據塊起始標記內屬性名與屬性值之間的連接,如:<調度日報:華東 日期=2006-04-02 時

13、間=23:15:00>。c)名稱連接符:用小數點“.”表示,用于連接層次結構的類或實體。用于實體的層次描述如:“華中.河南.鄭州”;用于類及屬性的層次描述如:“線路.阻抗”等。4擴展語法為保持E語言的完整性和靈活性,定義下列擴展語法。4.1屬性類型定義 在數據塊頭定義中,如果是橫表式結構數據,可以為每個屬性增加類型定義,此定義為可選。類型定義行用百分號“%”引導,后面跟一空格及類型序列,與橫表式結構屬性序列一一對應,指明各屬性的數據類型,數據類型長度不做限制。規定:i(int)表示整數類型,f(float)表示浮點數類型,s(string)表示字符串類型,p(pointer)表示指針類型

14、,如圖4所示。屬性類型遵循附錄B的規定。4.2屬性量綱定義 在數據塊頭定義中,如果是橫表式結構數據,可以為每個屬性增加量綱定義,此定義為可選。量綱定義行用美元符“$”引導,后面跟一空格及量綱序列,與橫表式結構屬性序列一一對應,指明各屬性的量綱,例如:MW,kV等,若某屬性沒有量綱時,用“-”表示,如圖4所示。量綱標準遵循附錄B的規定。4.3屬性限值定義在數據塊頭定義中,如果是橫表式結構的數據,可以為每個屬性增加限值定義,此定義為可選。限值定義行用冒號“:”引導,后面跟一空格及限值序列,與橫表式結構屬性序列一一對應,指明各屬性的限值。限值用“最小允許值:最大允許值”表示,例如:“月”的限值為“1

15、:12”。如果沒有最小限值限制,左側位置不填,如“:100”;如果沒有最大限值,右側位置不填,如“10:”;如果上下均無限值則用“-”表示,如圖4所示。/數據類型、量綱和限值描述<Line > 序號 I_Node J_Node R X Cx % i s s f f f$ - - - : 1:10 - - - - -# 1 辛安 洹安 0.0194 0.0592 0.0264# 2 姜家營 高嶺 0.0470 0.1980 0.0219 # n </Line>圖4類型、量綱和限值定義4.4對象指針 E語言中用星號“*”表示對象指針。當“*”出現在屬性名前面時,表示該屬性為

16、指針屬性(即其值是指向對象的指針),后面緊跟指針所指向的類名;當“*”出現在數據項前面時,后面緊跟指針所指向的對象序號(關于序號參見3.6數據塊)。如果指針指向多個對象,對連續的對象序號以冒號連接起始和終止對象序號,當對象標識不連續時以逗號“,”分割各對象標識(最后一個對象標識無逗號)。如圖5中,陽城變電站的*Line屬性的值為“*45:48,67”,表示指針指向線路類Line的第45號到第48號對象以及第67號對象。如果某數據行不存在指向該類的指針,則對應數據項填0,且前面不帶“*”號,如圖5中由于三堡變電站沒有發電機,相應數據項為0。對于橫表式結構,如果某指針屬性只有少量數據行存在對應值(

17、對象實例),則該屬性稱為“稀疏指針屬性”。稀疏指針屬性可以不在數據塊頭中定義,而是在具有稀疏指針屬性值的數據行后另起一“指針行”以單獨存放數據。指針行以“*”開頭,后跟指向的類名、雙冒號“:”及所指對象序號。指針行位于所屬對象數據行之后,在下一個對象數據行之前。在兩個對象數據行之間允許連續出現多個指針行。指針行可有效避免由于稀疏指針屬性引起的存儲浪費,提高存儲效率,如圖5所示。/指針使用舉例<Substation> 序號 Name Voltage Angle P Q Type *Gen *Line# 1 陽城 1.0600 0.0000 232.38 -16.8900 VA *25

18、:31 *45:48,67# 2 三堡 1.0200 0.0002 231.49 -15.0025 PQ 0 *49:54*串補裝置:2,4*電容器:9:11,21# 3 東明 1.0200 0.0002 231.49 -15.0025 PQ 0 0 # n </Substation>圖5E語言對象指針4.5屬性繼承可以在數據塊起始標記和數據塊頭定義中使用屬性繼承??梢栽跀祿K起始標記的尖括號內列出若干個有繼承關系的父類名,父類之間用空格分割,每個父類名后跟冒號“:”,冒號后跟一個單字母化的父類名縮寫。數據塊頭定義中可以引用上述定義,以繼承父類的屬性,該屬性名前用父類名縮寫加小數點

19、“.”予以限定。例如在線路類Line的屬性中,繼承了區域類的某些屬性I和J,如圖6所示。這里僅繼承了所用的屬性,不是所有屬性。/繼承機制使用舉例<Line Area:A> 序號 I_Node J_Node R X Cx A.I A.J# 1 辛安 洹安 0.0194 0.0592 0.0264 華北 華中# 2 姜家營 高嶺 0.0470 0.1980 0.0219 華北 東北 # n </Line>圖6E語言繼承機制使用舉例4.6無結構數據描述用冒號和等號“:=”表示,如圖7所示。類或實體引導符尖括號內的<類名:實體名>退化為<數據塊:=Free&g

20、t;,省略掉以“”開頭的屬性描述行和以“#”開頭的數據行,以及所有結構化描述機制,結束符</類名:實體名>退化為</數據塊:=Free>??擅枋鋈魏螖祿?,包括圖形、圖像、文字、程序等。/無結構數據描述方式<數據塊:=Free SIZE=數據塊長度>數據塊(任意數據)</數據塊:=Free >圖7無結構數據描述機制4.7嵌套描述方式嵌套是指在一類數據塊內又包括其它類數據的描述方式,這種方式與XML非常相似。為了保持E語言的高效率,位于行首的特殊字符不變,后面可用空格“ ”和跳格“TAB”表示嵌套格式,如圖8所示。該方式邏輯性較好,但效率較低,簡潔性

21、差。 /嵌套描述方式<Substation> 序號 Name Voltage Angle P Q Type # 1 陽城 1.0600 0.0000 232.38 -16.8900 VA <Gen> 序號 Name V A Pg Qg# 1 G1 1.0600 0.0010 232.38 -16.8900</Gen># 2 三堡 1.0200 0.0002 231.49 -15.0025 PQ </Substation>圖8嵌套描述方式4.8模板E語言不僅可以描述數據內容,也可以用來對數據格式進行定義,即作為模板使用。E語言的模板功能類似于XML

22、語言中的大綱(Schema)功能,主要用于描述數據類包含的屬性列表及每個屬性的名稱、類型、長度、量綱和備注等相關信息。E語言的模板功能一方面可以用于對數據內容進行格式定義,實現數據格式自描述,便于計算機編程實現;另一方面也便于今后屬性的擴展。/模板<線路:數據格式定義> 序號 屬性名稱 類型 長度 量綱 備注 # 1 線路名稱 s 64 無 設備的調度命名# 2 線路長度 i - km # n </線路:數據格式定義>圖9模板使用舉例4.9屬性別名 為了適應某些屬性名稱的中英文雙重命名或者多個系統屬性命名不一致的情況,屬性可以使用別名機制。屬性別名主要適用于橫表式結構,

23、在其數據塊頭的標記單地址符前增加反斜杠“/”,以“/”標示,如圖10所示。/華東廠站信息<! System=OMS Version=1.0 Code=UTF-8 Data=1.0 !><廠站:華東> 序號 名稱 電壓 類型 主接線/ ID name voltage type mainbus# 1 石洞口二廠 500 火電廠 雙母帶旁路# 2 清流變 500 變電站 雙母帶旁路</廠站:華東>圖10屬性別名使用舉例4.10計算公式E語言通過“FRAME”機制支持類似于Excel的公式計算。將整個E語言文本裝載到FRAME中,其中每行用“行號”(阿拉伯數字1,2

24、,)標識,每個屬性及對應的值用“列名”(大寫英文字母A,B,C,)標識。數據塊中的數據項可以為公式的計算結果,用等號“=”引導,后跟數據項名及四則運算符號,必要時可用括號“()”。例如圖11中,“=H5×E5”表示該數據項等于第5行屬性H的值與第5行屬性E的值之積。公式描述的語法基本等同于Excel。行號 A B C D E F G H I1 < Line >2 ID I_Node J_Node R X Cx Pi Qi3 # 1 陽城 東明 0.02 0.06 0.002 793.67 34.30 4 # 2 東明 三堡 0.03 0.09 0.001 820.43 1

25、6.305 # 3 綏中 姜家營 0.01 0.03 0.002 384.12 =H5×E56 # 4 辛安 洹安 0.02 0.06 0.001 407.67 18.307 </ Line >圖11E語言的FRAME及計算公式描述附錄A(參考性附錄)E語言數據樣例A.1橫表式結構/華東廠站信息<! System=OMS Version=1.0 Code=UTF-8 Data=1.0 !><廠站:華東> 序號 名稱 電壓 類型 主接線# 1 石洞口二廠 500 火電廠 雙母帶旁路# 2 清流變 500 變電站 雙母帶旁路 # n </廠站:華

26、東>A.2單列式結構/華東調度日報<! System=OMS Version=1.0 Code=UTF-8 Data=1.0 !><調度日報:華東 Date=2006-09-02> 序號 數據名稱 數據值 # 1 統調發電量 1856198 # 2 統調火電量 1744342# 3 統調水電量 46119 # n </調度日報:華東>A.3多列式結構/華東年度電力電量平衡預測表<! System=OMS Version=1.0 Code=UTF-8 Data=1.0 !><年度電力電量平衡預測表:華東 Date=2007-01-01&

27、gt;# 序號 屬性名 1月 2月 3月 12月 # 1 新增統調裝機容量 237 224 190 205 # 2 受電量 2436 2234 1881 2132 # n 用電量需求 9012 8087 8767 8120</年度電力電量平衡預測表:華東>附錄B(規范性附錄)屬性類型和量綱標準B.1屬性類型標準序號屬性類型縮寫及全稱屬性類型說明1i(integer)整數2f(float)浮點數3s(string)字符串4p(pointer)對象指針B.2量綱標準序號量綱名稱單位名稱單位符號1頻率赫茲Hz2電壓千伏kV3電流安培A4有功功率兆瓦MW5無功功率兆乏MVar6電量兆瓦時M

28、Wh7容量兆伏安MVA8阻抗歐姆W9長度千米km電力系統數據標記語言E語言規范編 制 說 明 1. 編寫背景電力系統數據標記語言E語言規范(以下簡稱“E語言”)是在IEC 61970-301電力系統公用數據模型(CIMCommon Information Model)的面向對象抽象基礎上,針對CIM在以XML方式進行描述時的效率缺陷所發展出來的一種新型高效的電力系統數據建模語言。E語言的命名源于Easy(簡單)、Efficiency(高效)、Electric-power(電力)3個英文詞頭,它將電力系統傳統的面向關系(設備)的數據描述方式與面向對象的CIM相結合,既保留了面向設備方法的高效率,繼承了其長期的研究成果,又吸收了面向對象方法的優點(如類的繼承性等),具有簡潔、高效和實用于電力系統的特點。E語言是一種標記語言,具有標記語言的基本特點和優點,其所形成的實例數據是一種標記化的純文本數據。E語言通過少量的幾個標記符號和描述語法,就可以簡潔高效地描述電力系統各種簡單和復雜數據模型。對于大量數據的描述,E語言效率比XML高得多,而且數據量越大則效率越高。對于少量數據的描述,E語言比XML效率稍高,但E語言更符合人類的自然習慣,計算機處理也更簡單。2. 編制情況E語言規范的研究始于2005年4月調度系統數據整合工作,作為國家電網公司調度系統數據整合總體框架

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論