IEC 61850 ICD文件解析
一、IEC 61850
IEC 61850是電力系統自動化領域的國際通信標準,由國際電工委員會第57技術委員會于2004年頒布。該標準通過定義變電站三層通信架構(站控層、間隔層、過程層)實現智能變電站工程標準化,其核心特點包括面向對象建模、數據自描述、網絡獨立性和抽象通信服務接口(ACSI)。
1.1 解決什么問題
我們以在變電站進行斷路器遠方遙控操作為例,運行人員通過監控主機對斷路器進行遠方控制,監控主機(在IEC 61850中被建模為客戶端)首先向斷路器發送一份控制命令(例如合閘),斷路器收到命令后進行相應操作,操作完成之后再向監控主機發送一個報告,說明斷路器位置已經發生改變。在這個過程中,斷路器和監控主機一起協同工作,稱為“互操作”。
為了實現斷路器和監控主機之間的互操作;
- 第一監控主機首先要知道斷路器的名稱是什么,以及如何在變電站通信網絡中正確找到該斷路器(尋址);
- 第二它要知道需要向斷路器發送什么信息。
第一個問題在于,實際工程中不同的用戶或制造商可能會用不同的名字來命名斷路器,有的可能用"CircuitBreaker1",有的可能用“CBK-2”。
第二個問題是究竟以何種方式傳達操作命令,才能使通信雙方都能正確理解并執行該命令。
這個簡單的操作過程揭示了實現互操作的關鍵,即信息模型和信息交換方法要達到統一,這也正是IEC 61850標準所要解決的主要問題。
IEC 61850標準做了兩個方面的標準化工作:
- 第一是對網絡上傳遞的信息內容進行了標準化,例如統一采用“XCBR”作為斷路器的標準命名;
- 第二是對這些信息交換的機制進行了標準化。
在IEC 61850標準中,這一套標準的信息交換機制就是抽象通信服務接口(ACSI)。
上面的斷路器遠方控制只是變電站自動化系統執行的諸多任務中的一種。 類似的任務還有很多,如操作員在遠方切換保護裝置的定值區號,裝置向后臺主機上傳測量值、事故順序記錄SOE信號等。這些由變電站自動化系統執行的任務,如控制、監視、繼電保護等,在IEC 61850標準中被稱為功能(function)。
1.2 信息模型
信息模型和信息交換機制的統一是實現設備間互操作的關鍵,而信息交換機制在很大程度依賴于標準化的信息模型,因此信息模型及其建模方法是IEC 61850標準的核心。
信息模型用于描述現實世界中對象的某些特征、參數。IEC 61850標準中的信息模型是對變電站實際物理設備及其功能的一種抽象描述,用于解決通信雙方對網絡上傳遞的信息的相互理解問題,是實現互操作的基礎之一。變電站設備信息模型的構建在有的文獻中也被稱為設備建模或數據建模。
不同于以前的通信標準,IEC 61850標準采用了面向對象的建模方法,從整個變電站到變電站內的各種設備、各個IED均被看作對象。IEC61850標準為每類對象建立了相應的信息模型。
在軟件工程領域,面向對象建模的基本思想是利用計算機邏輯來模擬現實世界中的物理存在,IEC 61850標準的建模思想與之類似。
以現實世界中的實際斷路器為例,我們使用IEC 61850標準為之建立的抽象信息模型--邏輯節點XCBR,XCBR就是斷路器的虛擬模型。
在面向對象建模中,每個對象均應該包含屬性和服務。XCBR作為一個代表斷路器的對象類,同樣也包含這兩個要素;
- 包含Pos(斷路器位置,合位/分位)、BlkOpn(跳閘閉鎖)等屬性;
- 包含合閘、分閘、位置上送等服務。
1.2.1 邏輯節點(LN)
邏輯節點LN(Logical Node)是IEC 61850標準面向對象建模的關鍵部件,也是面向對象概念的集中體現。變電站自動化系統的各種功能和信息模型的表達式都歸結到邏輯節點上實現。
邏輯節點的概念體現了將變電站自動化功能進行模塊化分解的一種建模思想。IEC 61850標準建模的思路就是將變電站自動化系統的功能進行分解,分解的過程就是模塊化處理,形成一個一個小的模塊。每個邏輯節點就是一個模塊,代表一個具體的功能。多個邏輯節點協同工作,共同完成變電站內的控制、保護、測量以及其他功能。
為了滿足變電站自動化系統的應用需求,IEC 61850-7-4標準定義了涵蓋變電站一次設備、繼電保護、測量控制、計量等領域近90個邏輯節點,覆蓋了變電站內的各種設備和各種自動化功能。邏輯節點類:
常用邏輯節點:
下圖是一個針對變電站一個完整線路間隔所建立的信息模型,它包含兩個IED。
IED1是一臺集成了保護、測量和控制功能的物理裝置,IED2代表了監控主機。依照IEC 61850標準建模的思路,對IED1和IED2裝置的功能進行了分解,得到了圖中代表各個具體功能的邏輯節點。
IEC 61850的建模是一個逐步分解、再相互結合的過程。邏輯節點是分解得到的最小功能單元,具體描述變電站IED及其組成的自動化系統的各種功能;它可以看做是變電站IED模型的基本組成部件,多個邏輯節點組合在一起形成一個IED,共同完成IED所要實現的各種功能。
1.2.2 數據和數據屬性
邏輯節點的概念體現了將變電站自動化功能進行模塊化分解的一種思路,XCBR就是分解得到的代表斷路器類設備的一個邏輯節點。
XCBR邏輯節點包含Pos(位置)、BlkOpn(跳閘閉)和CB0pCap(斷路器操作能力)等多類信息;
- Position代表斷路器的位置信息,能夠被遠方監視和控制;
- Block to Open代表斷路器拒絕分閘的能力,例如當斷路器操動機構的液壓壓力低于閉鎖值時分閘會被閉鎖。
在IEC61850中,XCBR包含的Position屬性(代表開關位置)和Block to Open屬性(跳閘閉鎖)被定義為數據Pos和BIkOpn。Pos和BIkOpn可以看作是對邏輯節點XCBR繼續分解得到的更小的模塊。
實際上Pos和BIkOpn中所包含的信息還需要作進一步分解,Pos數據至少包含狀態(Status)和控制(Control)兩類信息;
- 狀態類信息Status:包含斷路器的實際位置值Value(分位off、合位on、中間位置intermediate和損壞狀態bad-state)、該位置數據的品質(quality)和斷路器變位時的時標(timestamp)三個方面的信息;
- 控制類信息Control:包含控制值ctVal(on或off)、最近一次控制命令的發出者(originator)和控制命令序號(Control Num)。
在IEC 61850中,Pos數據下包含的這些value、quality、 timestamp信息被定義為數據屬性DA(Data Attribute)。
IEC 61850-7-3對Position和Block to Open兩類信息進行了歸納和提煉, 提出了公用數據類CDC (Common Data Class)的概念。
1.2.3 公共數據類(CDC)
XDIS是代表隔離開關類設備的邏輯節點,它的Position所包含的信息和XCBR中的Position基本類似,因此可以從二者當中提煉出公用數據類DPC。DPC既可以應用于斷路器設備的數據模型中,也能適用于隔離開關類設備的數據模型定義。
CDC (Common Data Class - 公共數據類) 體現了一種模塊化的設計思想,每一個公用數據類均是能夠被多次重復使用的模塊。可以減少相同數據定義的重復描述,提高使用效率,也能夠保證數據屬性定義的一致性。
公用數據類DPC被反過來用于定義XCBR邏輯節點中的數據Pos。Pos可以看作是DPC的派生類,它繼承DPC的全部數據屬性(例如ctlVal、origin、ctlNum和stVal等),因此在定義數據Pos時不需要列出全部數據屬性,只要引用DPC即可。
IEC 61850-7-3標準嚴格定義了每種CDC由哪些數據屬性(DA) 組成,以及這些DA的層次結構。以 MV為例:
- 必選包含:mag(量值)、q(品質)、t(時標);
- 可選:instMag、range;
- 其它:更多可以參考IEC 61850-7-3標準;
這種預定義的結構確保了不同廠商的設備對同一種數據類型有著完全一致的數據模型,這是實現互操作性的基礎。
IEC 61850-7-3一共定義了30多種公共數據類,分別屬于7個不同的組:
| 組名 | 說明 | 所包含的CDC |
|---|---|---|
| status information | 狀態信息類 | SPS、DPS、INS、ACT、ACD、SEC、BCR |
| measurand information | 測量信息類 | MV、CMV、SAV、WYE、DEL、Delta、SEQ、HMV、HWYE、HDEL |
| controllable status information | 可控狀態信息類 | SPC、DPC、INC、BSC、ISC |
| controllable analogue information | 可控模擬信息類 | APC |
| status settings | 狀態定值類 | SPG、ING |
| analogue settings | 模擬定值類 | ASG、CURVE |
| description information | 描述信息類 | DPL、LPL、CSD |
常用的CDC類型:
| CDC代碼 | 全稱 | 中文含義 | 典型應用 |
|---|---|---|---|
| SPS | Single Point Status | 單點狀態 | 開關位置、告警信號 |
| DPS | Double Point Status | 雙點狀態 | 更可靠的開關位置 (分-合-中間-故障) |
| ENS | Enumerated Status | 枚舉狀態 | 設備行為模式 (Beh) 、健康狀態 (Health) |
| MV | Measured Value | 測量值 | 電流、電壓、功率、溫度 |
| CMV | Complex Measured Value | 復數測量值 | 相量測量 (PMU) |
| SAV | Sampled Value | 采樣值 | 用于SV報文傳輸的瞬時值 |
| SPC | Single Point Control | 單點控制 | 簡單的分/合控制命令 |
| DPC | Double Point Control | 雙點控制 | 分/合/保持等控制命令 |
| INC | Integer Controlled Step | 整型步控 | 檔位調節 (升/降) |
邏輯節點名字、數據對象名字和數據屬性名字在IEC 61850中被統稱為對象名字(Object Name)。將不同層次的對象名字連接成一串,就形成了對象引用(Object Reference)。對象引用又稱對象索引,它可以直觀地標明對象在樹形模型中的位置,邏輯節點、數據和數據屬性都有各自的引用。
XCBR中的Pos數據大約包含20個數據屬性,如下所示:
這些數據屬性可以分為以下四類:
- 狀態類信息status:包括反映斷路器實際位置的狀態值stVal、該stVal的數據品質q以及斷路器變位時的時標信息t。數據品質q能反映當前狀態值stVal的有效性,時標t中記錄了stVal上次改變的時間;
- 控制類信息control:包括用于操控斷路器的ctlVal、反映斷路器在何時接到并處理遠方控制指令的時間operTm、控制指令的發出者origin以及控制序號ctlNum(由命令發出者在控制指令中給出);
- 取代:包含人工置數的信息,例如在工程調試中可以根據需要將斷器位置stVal人工置成合位或分位;
- 配置、描述和擴展信息:Pos中還有幾個數據屬性用于配置具體操作細節,例如脈沖配置pulseConfig(采用單脈沖還是持續脈沖、脈沖持續時間、 脈沖的個數),還有操作模式ctlModel的選擇(斷路器控制有直接控制、帶一般安全措施、帶增強性安全措施三種不同的操作模式)等。
由此可以看出,邏輯節點XCBR下面包含各種類型的數據,每個數據又包含了若干數據屬性。邏輯節點—數據—數據屬性之間是一種樹形結構,形成了分層的數據模型。數據屬性是該樹形模型中最底層的組成部件。
更多有關公共數據屬性類型(可以理解為IEC 61850標準定義的為不同廠商的設備共用的數據屬性類型)和公共數據類的內容可以參考《DL_T 860.73-2004 變電站通信網絡和系統 第7-3部分:變電站和饋線設備的基本通信結構 公用數據類》。
1.2.4 數據集(DataSet)
數據集(DataSet)是IEC 61850標準的核心概念之一,顧名思義,它是一系列數據的集合。按照IEC 61850標準的定義,數據集是有序的數據引用和數據屬性引用的集合。
IEC 61850標準引入數據集的目的是利用數據集對數據進行分組,以方便數據傳送。變電站IED中存在各種數據,有的需要實時傳送(如電流值、電壓值、頻率值等),有的可以慢些傳送(如電度值、功率)。由于高壓變電站中存在上百個IED,而網絡通信帶寬是有限的,如果這些數據不進行分組而一起發送,有可能會影響數據傳輸的實時性,甚至會造成通信阻塞。
引入數據集的概念后,利用數據集可以方便的對數據進行分組和打包。例如可以將需要實時傳輸的數據組成一個數據集,將對傳輸時間要求不苛刻的數據分成另一個數據集,分別傳送。
1.2.5 邏輯設備(LD)
邏輯節點中含有數據/數據屬性,根據應用需要對數據/數據屬性的引用進行分組后形成數據集,數據集通過報告服務向外發送。邏輯節點中還有控制、取代、讀/寫、目錄/定義等通信服務。這些服務是對邏輯節點中數據/數據屬性的具體操作。但是實際設備中還包括:
- 描述設備本身狀態的相關信息:例如一次設備的銘牌信息,反映物理裝置運行狀況的上電次數、失電告警、通信緩存區溢出等信息;
- 與多個邏輯節點相關的通信服務:有些通信服務(如采樣值傳輸、GO0SE、定值服務)需要同時與多個邏輯節點發生信息交互,這些服務不能定義在某個邏輯節點內部。邏輯節點模型無法容納以上兩類信息。
IEC 61850引入了邏輯設備(Logical Device)的概念,邏輯設備可以看做是一個包含若干個邏輯節點的容器。
按照IEC 61850標準的規定,所有邏輯設備都必須包含LLN0和LPHD兩個邏輯節點。
- LLN0:它用于管理整個邏輯設備,例如包含數據集、報告控制塊、日志控制塊等;
- LPHD:它用于描述設備本身狀態的相關信息,如一次設備的銘牌信息,反應物理裝置運行狀況的上電次數、失電告警等信息;
一般情況下,IEC 61850把那些具有公用特性或共同特征的邏輯節點劃分到一個邏輯設備里。
1.2.6 智能電子設備(IED)
IEC 61850標準引入了智能電子設備IED(Intelligent Electronic Device)的概念,即包含一個或多個處理器的物理裝置,能夠接收來自外部的請求(如數據或控制指令),也能向外部發送數據和控制指令。
IED通常用來代表變電站中實際的物理裝置,如常見的微機保護裝置、測控裝置、互感器合并單元、變壓器有載分接開關控制器、斷路器智能終端、電能表等。
二、SCL介紹
2.1 SCL
SCL(Substation Configuration Language):變電站配置描述語言,這是IEC 61850標準系列中專門用于描述變電站自動化系統配置的XML語言,統一了不同廠商設備的配置規范,包含IED能力描述文件(ICD)、系統規格描述文件(SSD)等核心組件。
ICD: IED能力描述文件,它本質上是一個遵循SCL語言的XML文件。它是由IED設備制造商提供的,描述了單個IED設備的功能和能力。你可以把它理解為這個設備的“簡歷”或“產品說明書”
2.2 ICD文件總體結構
一個ICD文件是一個結構良好的XML文件,其根元素是
<?xml version="1.0" encoding="UTF-8"?>
<SCL xmlns="http://www.iec.ch/61850/2003/SCL" version="2007" revision="B">
<!-- 以下是文件的主要部分 -->
<Header id="..." version="..." revision="...">
<!-- 歷史版本信息 -->
</Header>
<Communication>
<!-- 通信信息 -->
</Communication>
<IED name="IED1" type="MyTransformerProtection" manufacturer="XXX" configVersion="1.0">
<!-- 這里詳細描述了這個IED的所有能力 -->
</IED>
<DataTypeTemplates>
<!-- -->
</DataTypeTemplates>
</SCL>
三、Header(文件頭)
包含文件的元數據。 主要包含文件ID、版本號、修訂號、工具標識、是誰在什么時間創建或修改了這個文件等。具體案例如下:
<Header id="S61850.ICD" nameStructu re="IEDName" revision="1.3" toolID="ICDCFG" version="0.0">
<History>
<Hitem revision="1.3" version="0.0" what="" when="2023-08-14 18:12:30" who="匿名" why=""/>
</History>
</Header>
四、Communication(通信系統)
在ICD文件中,這個部分通常是空的或非常簡單。 因為ICD只描述單個IED的能力,它還不知道自己在整個變電站網絡中會如何與其他IED連接。具體的網絡配置(子網、IP地址)會在后期集成時,在SCD文件中定義。
具體案例如下:
<Communication>
<SubNetwork name="W01" type="8-MMS">
<ConnectedAP apName="S1" iedName="TEMPLATE">
<Address>
<P type="IP">127.0.0.1</P>
</Address>
</ConnectedAP>
</SubNetwork>
</Communication>
五、IED(智能電子設備)
IED節點詳細描述了IED本身。關鍵屬性:
- name:IED名稱 ,如IED1;
- type:設備型號;
- manufacturer:制造商。
IED內部是分層結構,像一個公司的組織架構。具體案例如下:
<IED configVersion="1.0" desc="61850IED" manufacturer="......" name="TEMPLATE" type="S61850">
<!-- -->
</IED>
5.1 AccessPoint(訪問點)
AccessPoint相當于IED的網絡接口(如"M1"用于MMS,"S1"用于GOOSE/SV),每個IED節點下最多只能有一個AccessPoint節點。關鍵屬性:
- name:訪問點名稱,用于唯一標識IED的通信訪問點;
- desc:描述信息,對訪問點的文字描述;
- clock:時鐘同步支持,表示是否支持時鐘同步功能;
- router:路由功能,表示是否具有路由功能。
每個訪問點下有一個 Server(服務器)。具體案例如下:
<AccessPoint clock="false" name="S1" router="false">
<Server desc="servers" timeout="60">
<!-- -->
</Server>
</AccessPoint>
5.2 Server(服務器)
對外提供數據訪問服務的邏輯實體,訪問點下可以包含若干個 LDevice(邏輯設備)。關鍵屬性:
- timeout:客戶端連接超時時間(秒);
- desc:對Server功能的文字描述;
具體案例如下:
<Server desc="servers" timeout="60">
<Authentication/>
<LDevice desc="DEV-LD_Device0" inst="LD_Device0">
<!-- -->
</LDevice>
</Server>
5.3 LDevice(邏輯設備)
在IEC 61850標準中,LDevice是IED內部的一個功能單元,每個LDevice代表一個功能單元或物理設備,它包含多個邏輯節點(LN)。
LDevice的子節點主要包括以下幾種:
- LN0(邏輯節點零):每個LDevice必須有一個LN0,它用于管理整個邏輯設備,例如包含數據集、報告控制塊、日志控制塊等;
- LN(邏輯節點):這是LDevice中最主要的子節點,每個LN代表一個特定的功能。例如,MMXU代表測量單元,XCBR代表斷路器,等等;
- Private(私有元素):一些廠商可能會使用私有擴展,這些擴展不在IEC 61850標準中定義,但為了兼容性,允許在LDevice中包含私有元素。
這里提一下LN0和LN的區別:
| 特性 | LN0 (邏輯節點零) | LN (普通邏輯節點) |
|---|---|---|
| 角色定位 | 邏輯設備的管理者/協調者 | 具體功能的執行者 |
| LN類名 | 固定為 LLN0 | 可變,如 XCBR, MMXU, PTOC 等 |
| 實例號 | 固定為空或 "0" | 有實例號,如 1, 2, 3... |
| 數量 | 每個邏輯設備有且只有1個 | 每個邏輯設備可以有多個 |
| 主要職責 | 設備級管理、數據組織 | 具體功能實現 |
LDevice通過inst屬性標識,具體案例如下:
<LDevice desc="DEV-LD_Device0" inst="LD_Device0">
<LN0 inst="" lnClass="LLN0" lnType="LLN01">
<!-- ...... -->
</LN0>
<LN inst="1" lnClass="LPHD" lnType="LPHD1">
<!-- ...... -->
</LN>
</LDevice>
5.4 LN0(邏輯節點零)
LN0邏輯設備的管理節點,包含設備級的公共信息和功能,主要子節點:
- DataSet:數據集定義;
- ReportControl:報告控制;
- LogControl:日志控制;
- SettingControl:定值組控制;
- DOI;
具體案例如下:
<LN0 inst="" lnClass="LLN0" lnType="LLN01">
<!-- 數據集定義 -->
<DataSet desc="遙測數據集1" name="dsAin1">
<!-- ...... -->
</DataSet>
<DataSet desc="遙信數據集1" name="dsDin1">
<!-- ...... -->
</DataSet>
<!-- 報告控制 -->
<ReportControl bufTime="0" buffered="false" confRev="1" datSet="dsAin1" desc="" indexed="true" intgPd="60000" name="urcbAin1p" rptID="TEMPLATE_LD_Device0/LLN0$RP$urcbAin1p">
<!-- ...... -->
</ReportControl>
<ReportControl bufTime="100" buffered="true" confRev="1" datSet="dsDin1" desc="" indexed="true" intgPd="120000" name="brcbDin1p" rptID="TEMPLATE_LD_Device0/LLN0$BR$brcbDin1p">
<!-- ...... -->
</ReportControl>
<!-- DOI -->
<DOI desc="模式" name="Mod">
<DAI name="ctlModel">
<Val>status-only</Val>
</DAI>
<DAI name="stVal">
<Val>on</Val>
</DAI>
</DOI>
<DOI desc="行為狀態" name="Beh">
<DAI name="stVal">
<Val>on</Val>
</DAI>
</DOI>
<DOI desc="健康狀態" name="Health">
<DAI name="stVal">
<Val>Ok</Val>
</DAI>
</DOI>
<DOI desc="銘牌" name="NamPlt">
</LN0>
5.4.1 DataSet
DataSet節點是 IEC 61850 中數據組織的核心,它與ReportControl緊密配合工作。它定義了:
- 要收集哪些數據(測點);
- 這些數據的組織方式;
- 作為一個整體進行傳輸的數據包;
關鍵屬性說明:
- name:數據集名稱,在LN0內唯一;
- desc:描述信息(可選);
子節點FCDA ,它精確指向一個具體的數據點:
- ldInst(必選):邏輯設備實例名,必須引用一個已存在的LDevice實例;
- prefix(可選):邏輯節點前綴,與lnClass和lnInst一起組成完整的LN名;
- lnClass(必選):邏輯節點類,必須是IEC 61850-7-4中定義的LN類名;
- lnInst(條件必選):邏輯節點實例號,對于某些LN類(如LLN0)可能不需要,但大多數情況下需要;
- doName(必選):數據對象名,必須是該LN類中定義的有效DO名;
- daName(可選):數據屬性名,如果指定,則指向具體的DA;如果不指定,則指向整個DO;
- fc(條件必選):功能約束,當引用的是DA時需要,當引用的是DO時可能不需要。
例如名字為dsAin1的DataSet,包含了若干個數據項(FCDA節點):
<DataSet desc="遙測數據集1" name="dsAin1">
<FCDA doName="AnIn1" fc="MX" ldInst="LD_Device0" lnClass="GGIO" lnInst="1"/>
<FCDA doName="AnIn2" fc="MX" ldInst="LD_Device0" lnClass="GGIO" lnInst="1"/>
<FCDA doName="AnIn3" fc="MX" ldInst="LD_Device0" lnClass="GGIO" lnInst="1"/>
<!-- ...... -->
</DataSet>
其中第一項FCDA,指向了滿足如下條件的DO:
- 根據ldInst的值查找inst="LD_Device0"的邏輯設備(到LDevice節點中查找);
- 根據lnClass和lnInst查找inst="1" lnClass="GGIO"的邏輯節點(基于上一步驟,到LN節點中查找);
- 根據doName查找name="AnIn1"的數據對象(基于上一步驟,到DOI節點中查找)。
最終定位到:
<LDevice desc="DEV-LD_Device0" inst="LD_Device0">
<LN inst="1" lnClass="GGIO" lnType="GGIO1_Device0">
<DOI desc="有功功率" name="AnIn1"> <!-- 匹配項 -->
<!-- ...... -->
</DOI>
<!-- ...... -->
</LN>
<!-- ...... -->
</LDevice>
名字為dsDin1的DataSet,包含了若干個數據項(FCDA節點):
<DataSet desc="遙信數據集1" name="dsDin1">
<FCDA doName="Ind1" fc="ST" ldInst="LD_Device0" lnClass="GGIO" lnInst="100"/>
<FCDA doName="Ind2" fc="ST" ldInst="LD_Device0" lnClass="GGIO" lnInst="100"/>
<FCDA doName="Ind3" fc="ST" ldInst="LD_Device0" lnClass="GGIO" lnInst="100"/>
<!-- ...... -->
</DataSet>
5.4.2 ReportControl
在IEC 61850中,ReportControl節點位于LN0下,用于配置報告控制塊。ReportControl定義了IED如何主動向客戶端(如監控系統)報告數據。它就像是數據的快遞服務,規定了:
- 什么時候發送數據(觸發條件);
- 發送什么數據(關聯的數據集);
- 如何發送數據(緩沖、選項等);
主要屬性:
- name:報告控制塊的名稱,在同一邏輯設備內必須唯一;
- datSet:引用的數據集名稱(可選)。該數據集定義了報告中包含的數據;
- rptID:報告標識符,用于在報告報文中標識此報告;
- confRev:配置版本號,從1開始,當配置發生變化時應遞增;
- buffered:布爾值,表示是否緩沖報告(如果為true,則報告在通信中斷時會緩沖,恢復后發送);
- bufTime:緩沖時間(可選,單位毫秒),表示報告在發送前可以緩沖的時間;
- intgPd:完整性周期(可選,單位毫秒),觸發周期性報告的時間間隔;
- trgOps:觸發選項,定義哪些事件會觸發報告。它是多個觸發條件的組合,例如數據變化(dchg)、品質變化(qchg)、數據更新(dupd)等;
- options:報告選項,例如包括序列號、時間戳等。
比如對于名字為dsAin1的DataSet,ReportControl定義如下:
<ReportControl bufTime="0" buffered="false" confRev="1" datSet="dsAin1" desc="" indexed="true" intgPd="60000" name="urcbAin1p" rptID="TEMPLATE_LD_Device0/LLN0$RP$urcbAin1p">
<TrgOps dchg="true" dupd="false" period="true" qchg="false"/>
<OptFields bufOvfl="true" configRef="true" dataRef="true" dataSet="true" entryID="true" reasonCode="true" seqNum="true" timeStamp="true"/>
<RptEnabled max="16"/>
</ReportControl>
對于名字為dsDin1的DataSet,ReportControl定義如下:
<ReportControl bufTime="100" buffered="true" confRev="1" datSet="dsDin1" desc="" indexed="true" intgPd="120000" name="brcbDin1p" rptID="TEMPLATE_LD_Device0/LLN0$BR$brcbDin1p">
<TrgOps dchg="true" dupd="false" period="true" qchg="false"/>
<OptFields bufOvfl="true" configRef="true" dataRef="true" dataSet="true" entryID="true" reasonCode="true" seqNum="true" timeStamp="true"/>
<RptEnabled max="16"/>
</ReportControl>
其子節點:
- TrgOps:觸發選項,子元素包括dchg(測點數值發生變化時觸發)、qchg(數據品質位發生變化時觸發)、dupd(數據被更新時觸發(即使值未變))、period(按完整性周期定時觸發)等,每個子元素為布爾值;
- OptFields:可選字段,定義報告中包含哪些附加信息,如序列號、報告時間、原因碼等;
- RptEnabled:使能報告,可以設置最大客戶端數量等。
5.5 LN(邏輯節點)
每個LN代表一個具體功能實現節點,為了方便理解,可以將其當做為LNodeType的實例。關鍵屬性:
- prefix:LN的前綴標識符;
- lnClass:LN的邏輯節點類名;
- inst:LN的實例名;
- lnType:根據該屬性可以找到該LN所屬的LNodeType;
LN 通過lnClass 和inst組合標識,如下:
<!-- 物理設備信息 -->
<LN inst="1" lnClass="LPHD" lnType="LPHD1">
<!-- ...... -->
</LN>
<LN inst="1" lnClass="GGIO" lnType="GGIO1_Device0">
<!-- ...... -->
</LN>
<LN inst="2" lnClass="GGIO" lnType="GGIO2_Device0">
<!-- ...... -->
</LN>
5.5.1 DO(數據對象)和 DA(數據屬性)
在IEC 61850中,一個LN實例(例如下面例子中的LPHD)包含多個數據(Data),這些數據在SCL中表示為DOI(Data Object Instance,數據對象實例)。每個DOI對應一個DO(數據對象),而DO的類型由CDC(公共數據類)定義,規定了該DO應包含哪些數據屬性(DA);
-
DOI(Data Object Instance):表示一個數據對象實例。它對應一個DO,通過name屬性指定DO的名稱(例如PhyNam、PhyHealth)。DOI可以包含DAI和SDI;
-
DAI(Data Attribute Instance):表示一個數據屬性實例。它對應一個DA,通過name屬性指定DA的名稱(例如stVal、q、t等)。DAI可以包含一個值(Val)或者多個值(對于數組類型);
-
SDI(SubData Instance):當某個DA是結構類型(DAType數據屬性類型定義)時,使用SDI來表示這個結構的成員。SDI可以包含DAI和下一級的SDI。
在ICD文件中,DO和DA的定義是在DataTypeTemplates部分中通過LNodeType、DOType和DAType來定義的。
具體案例如下:
<LN inst="1" lnClass="LPHD" lnType="LPHD1"> <!-- 指向id=LPHD1的LNodeType -->
<DOI desc="S61850導出設備" name="PhyNam"> <!-- 指向id=DPL1_PhyNam的DOType -->
<DAI name="dU"> <!-- 基本數據類型:Unicode255 -->
<Val>S61850導出設備</Val>
</DAI>
</DOI>
<DOI desc="Ok" name="PhyHealth"> <!-- 指向id=ENS1_Healthm的DOType -->
<DAI name="stVal"> <!-- 基本數據類型:Unicode255 -->
<Val>Ok</Val>
</DAI>
</DOI>
</LN>
<LN inst="1" lnClass="GGIO" lnType="GGIO1_Device0"> <!-- 指向id=GGIO1_Device0的LNodeType -->
<DOI desc="模式" name="Mod"> <!-- 指向id=ENC1_Mod的DOType -->
<DAI name="ctlModel"> <!-- 指向id=ctlModel的EnumType -->
<Val>status-only</Val>
</DAI>
<DAI name="stVal"> <!-- 指向id=Mod的EnumType -->
<Val>on</Val>
</DAI>
</DOI>
<DOI desc="行為狀態" name="Beh"> <!-- 指向id=ENS1_Beh的DOType -->
<DAI name="stVal"> <!-- 指向id=Beh的EnumType -->
<Val>on</Val>
</DAI>
</DOI>
<DOI desc="健康狀態" name="Health"> <!-- 指向id=ENS1_Health的DOType -->
<DAI name="stVal"> <!-- 指向id=Health的EnumType -->
<Val>Ok</Val>
</DAI>
</DOI>
<DOI desc="銘牌" name="NamPlt"> <!-- 指向id=LPL1_NamPlt的DOType -->
<DAI name="dU"> <!-- 基本數據類型:Unicode255 -->
<Val>IEC 61850-7-4:2003</Val>
</DAI>
</DOI>
<DOI desc="有功功率" name="AnIn1"> <!-- 指向id=MV1的DOType -->
<DAI name="dU"> <!-- 基本數據類型:Unicode255 -->
<Val>有功功率</Val>
</DAI>
<SDI name="sVC"> <!-- DA是復雜數據類型,指向id=ScaledValueConfig1的DAType -->
<DAI name="scaleFactor"> <!-- 基本數據類型:FLOAT32 -->
<Val>1</Val>
</DAI>
<DAI name="offset"> <!-- 基本數據類型:FLOAT32 -->
<Val>0</Val>
</DAI>
</SDI>
</DOI>
<DOI desc="無功功率" name="AnIn2"> <!-- 指向id=MV1的DOType -->
<DAI name="dU"> <!-- 基本數據類型:Unicode255 -->
<Val>無功功率</Val>
</DAI>
<SDI name="sVC"> <!-- DA是復雜數據類型,指向id=ScaledValueConfig1的DAType -->
<DAI name="scaleFactor"> <!-- 基本數據類型:FLOAT32 -->
<Val>1</Val>
</DAI>
<DAI name="offset"> <!-- 基本數據類型:FLOAT32 -->
<Val>0</Val>
</DAI>
</SDI>
</DOI>
<DOI desc="直流側總功率" name="AnIn3"> <!-- 指向id=MV1的DOType -->
<DAI name="dU"> <!-- 基本數據類型:Unicode255 -->
<Val>直流側總功率</Val>
</DAI>
<SDI name="sVC"> <!-- 基本數據類型:FLOAT32 -->
<DAI name="scaleFactor">
<Val>1</Val>
</DAI>
<DAI name="offset"> <!-- 基本數據類型:FLOAT32 -->
<Val>0</Val>
</DAI>
</SDI>
</DOI>
<DOI desc="Uab電壓" name="AnIn4"> <!-- 指向id=MV1的DOType -->
<DAI name="dU"> <!-- 基本數據類型:Unicode255 -->
<Val>Uab電壓</Val>
</DAI>
<SDI name="sVC"> <!-- DA是復雜數據類型,指向id=ScaledValueConfig1的DAType -->
<DAI name="scaleFactor"> <!-- 基本數據類型:FLOAT32 -->
<Val>1</Val>
</DAI>
<DAI name="offset"> <!-- 基本數據類型:FLOAT32 -->
<Val>0</Val>
</DAI>
</SDI>
</DOI>
<!-- ... 更多定義 ... -->
</LN>
六、DataTypeTemplates(數據類型模板)
DataTypeTemplates是ICD文件中的一個重要部分,它定義了文件中使用的數據類型模板,包括邏輯節點類型(LNodeType)、數據對象類型(DOType)、數據屬性類型(DAType)和枚舉類型(EnumType)。這些模板被文件中的實際邏輯節點(LN)實例引用,以確保數據模型的一致性和標準化。
- LNodeType(邏輯節點類型):定義了一個邏輯節點類(如LPHD)所包含的數據對象(DO)及其類型;
- DOType(數據對象類型):定義了一個數據對象所包含的數據屬性(DA)及其類型,以及可能的功能約束(FC)和結構;
- DAType(數據屬性類型):定義了結構化的數據屬性,包含多個基本數據屬性(BDA);
- EnumType(枚舉類型): 定義枚舉類型的可能取值(如斷路器位置 on, off, bad)。
格式如下:
<!-- 數據類型模板:定義數據結構 -->
<DataTypeTemplates>
<!-- 這里定義所有數據類型 -->
</DataTypeTemplates>
6.1 LNodeType(邏輯節點類型定義)
定義每個LN類包含哪些DO,具體案例如下:
<LNodeType id="GGIO1_Device0" lnClass="GGIO">
<DO desc="Mod專用" name="Mod" type="ENC1_Mod"/> <!-- 指向id=ENC1_Mod的DOType -->
<DO desc="Beh專用" name="Beh" type="ENS1_Beh"/> <!-- 指向id=ENS1_Beh的DOType -->
<DO desc="Health專用" name="Health" type="ENS1_Health"/> <!-- 指向id=ENS1_Health的DOType -->
<DO desc="NamPlt專用" name="NamPlt" type="LPL1_NamPlt"/> <!-- 指向id=LPL1_NamPlt的DOType -->
<DO desc="有功功率" name="AnIn1" type="MV1"/> <!-- 指向id=MV1的DOType -->
<DO desc="無功功率" name="AnIn2" type="MV1"/> <!-- 指向id=MV1的DOType -->
<DO desc="直流側總功率" name="AnIn3" type="MV1"/> <!-- 指向id=MV1的DOType -->
<DO desc="Uab電壓" name="AnIn4" type="MV1"/> <!-- 指向id=MV1的DOType -->
<!-- ... 更多定義 ... -->
</LNodeType>
關鍵屬性:
- id:類型標識符,在文件中唯一;
- lnClass:對應的LN類名;
- desc:描述信息。
子節點DO屬性:
- name(必選):唯一標識該LNodeType在內的身份,同一LNodeType內的DO名稱不能重復;
- type(必選):指向DOType模板(元素的id),由DOType定義該DO的內部結構(即包含哪些DA,如stVal、q、t等);
- desc(可選):用戶可讀的描述文字,用于說明該DO的業務用途;
- accessControl(可選,默認read-write):定義該DO的訪問權限,控制外部系統對DO的讀寫操作;常見取值(非標準強制,但行業通用):
-
read-only:只能讀取DO的內容(如測量值);
-
read-write:可讀取和修改DO的內容(如配置參數);
-
write-only:只能修改DO的內容(如控制指令);
-
mandatory(可選,默認true):標記該DO在LNodeType實例化時(即引用該類型的LN節點)是否必選(布爾值):
- true:每個基于該的LNodeType實例必須包含該DO;
- false:LNodeType實例可以省略該DO(適用于可選功能)。
6.2 DOType(數據對象類型)
定義每個DO的結構(包含哪些 DA),具體案例如下:
<DOType cdc="INC" desc="Mod專用" id="ENC1_Mod">
<DA bType="Enum" dchg="true" fc="ST" name="stVal" type="Mod"/> <!-- 指向id=Mod的EnumType -->
<DA bType="Quality" fc="ST" name="q" qchg="true"/> <!-- Quality為基本數據類型 -->
<DA bType="Timestamp" fc="ST" name="t"/> <!-- Timestamp為基本數據類型 -->
<DA bType="Enum" dchg="true" fc="CF" name="ctlModel" type="ctlModel"/> <!-- 指向id=ctlModel的EnumType -->
</DOType>
<DOType cdc="MV" id="MV1">
<DA bType="Struct" dchg="true" fc="MX" name="mag" type="AnalogueValue1"/> <!-- 指向id=AnalogueValue1的DAType -->
<DA bType="Quality" fc="MX" name="q" qchg="true"/> <!-- Quality為基本數據類型 -->
<DA bType="Timestamp" fc="MX" name="t"/> <!-- Timestamp為基本數據類型 -->
<DA bType="Struct" dchg="true" fc="CF" name="sVC" type="ScaledValueConfig1"/> <!-- 指向id=ScaledValueConfig1的DAType -->
<DA bType="Unicode255" fc="DC" name="dU"/> <!-- Unicode255為基本數據類型 -->
</DOType>
關鍵屬性:
- id:類型標識符,在文件中唯一;
- cdc:公共數據類(CDC),定義標準結構;
- desc:描述信息。
6.2.1 CDC(公共數據類)
在IEC 61850中,CDC (Common Data Class - 公共數據類) 是定義在 DOType中的一個根本性、強制性的屬性,它決定了該DOType所代表的數據的本質。
為了方便理解,可以將 CDC、DOType、DO 的關系理解為:
- CDC = 藍圖/國家標準 (例如:《住宅設計規范》):定義了核心原則和必須包含的內容(必須有承重墻、門窗、水管電路);
- DOType = 具體的設計圖紙:根據國家標準(CDC)繪制出的具體圖紙,包含了所有要求的元素(這里是一扇窗,類型是推拉窗);
- DO = 實際建好的房子:根據圖紙(DOType)實例化出來的具體對象(這是301房間的窗戶)。
6.2.2 DA(數據屬性)
DOType的子節點DA屬性:
-
name(必選):數據屬性的唯一名稱,用于標識DA在DOType中的身份;
- 同一DOType內的DA名稱必須唯一;
- 名稱需符合IEC 61850的命名規范(如stVal代表狀態值、q代表質量、t代表時間戳);
-
bType(必選):基本數據類型,定義DA的原始數據格式;
- Boolean:布爾值(true/false);
- Enum:枚舉類型(需關聯type);
- Int8/Int16/Int32:有符號整數;
- UInt8/UInt16/UInt32:無符號整數;
- Float32/Float64:浮點數;
- Quality:質量碼(固定結構);
- Timestamp:時間戳(UTC格式);
- OctetString 字節串(二進制數據);
-
type(可選,但bType=Enum/Struct/Array時必選):引用外部類型模板的id,用于擴展bType的語義:
- 當bType="Enum"時,type必須引用<EnumType>的id(定義枚舉值的含義);
- 當bType="Struct"時,type必須引用另一個<DAType>的id(嵌套結構化類型);
- 當bType="Array"時,type引用數組元素的類型(如type="Int32"表示整數數組)。
-
fc(必選):功能約束(Functional Constraint),標記DA的業務用途,用于區分數據的讀/寫狀態/配置等角色;
-
dchg(可選,默認false):當DA的值發生變化時,觸發通信服務(如報告、GOOSE報文);
- 僅用于需要主動通知的DA,如開關狀態stVal變化時需立即上報;
-
qchg(可選,默認false):當DA的質量碼(q)發生變化時,觸發通信服務;
- 用于需要關注數據有效性的DA,如傳感器故障導致q變為bad時需上報;
-
sAddr(可選):短地址(Short Address),用于通信協議的快速定位。
6.2.3 FC(功能約束)
功能約束(FC) 是分配給每個數據屬性(DA)的一個標簽或分類。它明確指出了這個數據屬性的功能用途以及與之相關的通信服務。
簡單來說,FC回答了這個問題:這個數據是干什么用的?例如,一個值是用于顯示狀態的(只讀),還是用于執行控制的(可寫)?FC直接決定了客戶端(如監控后臺)能否以及如何通過ACSI服務(如讀、寫、報告)與這個數據交互。
以下是IEC 61850-7-3和7-4中定義的主要功能約束類型及其含義:
| 功能約束(FC) | 全稱 | 含義與用途 | 讀寫特性 | 典型應用場景 |
|---|---|---|---|---|
| ST | Status (狀態) | 表示系統或設備的當前狀態信息。通常是只讀的,反映真實的、被測量的狀態。 | RO (只讀) | 開關位置 (Pos)、告警信號 (Alm)、健康狀態 (Health) |
| MX | Measurement (測量) | 表示測量值或模擬量。通常是只讀的,代表從一次設備采集到的連續量。 | RO (只讀) | 電流、電壓、功率、溫度等 (Amp, Vol, W) |
| CO | Control(控制) | 表示可控對象。用于執行命令,如分閘、合閘。通常是可讀寫的。寫操作會觸發實際的控制動作。 | RW (可讀寫) | 開關控制 (Pos)、軟壓板投退 (SwEna) |
| CF | Configuration(配置) | 表示設備的配置參數。這些參數通常在工程配置時設置,運行時偶爾修改。通常是可讀寫的。 | RW (可讀寫) | CT/PT變比 (Rat)、濾波器參數、通信參數 |
| SG | Setting(定值) | 表示保護的定值或設置值。修改這些值會改變保護元件的動作行為。通常組織在定值組中。可讀寫。 | RW (可讀寫) | 過流保護定值 (Op)、時間延遲 (Tms) |
| SE | Setting Extension(擴展定值) | 用于支持非標準類型的定值(如枚舉型定值)。與SG配合使用。 | RW (可讀寫) | 特殊的、枚舉型的定值選項 |
| DC | Description (描述) | 提供描述性信息,用于人機界面顯示。通常是靜態的、只讀的字符串。 | RO (只讀) | 設備銘牌信息 (NamPlt)、設備型號 (model) |
| EX | Extension(擴展) | 用于定義廠商特定的擴展功能。允許制造商在標準之外增加自定義功能。 | RW (可變) | 廠商自定義的特殊功能或參數 |
| BL | Behaviour(行為) | 與控制塊(如報告控制塊、GOOSE控制塊)的行為配置相關。 | RW (可讀寫) | 報告控制塊的使能 (RptEna)、配置號 (ConfRev) |
| OR | Operational Rights(操作權限) | 與訪問安全、操作權限相關的屬性。 | RW (可讀寫) | 控制操作的訪問權限、密碼 |
| SP | Set-point(設定值) | 用于模擬量的控制設定,例如設定一個目標溫度或目標功率。 | RW (可讀寫) | 設定一個模擬量的輸出目標 |
| SV | Substitute Value(替代值) | 用于指示某個值是否被人工置數或替代,以及替代的值是多少。 | RW (可讀寫) | 維護時手動輸入一個值,取代測量值 |
| RP | Report Setting(報告設置) | (已過時) 早期用于報告配置,現已被BL取代。 | - | - |
| LG | Logging Setting(日志設置) | (已過時) 早期用于日志配置,現已被BL取代。 | - | - |
6.3 DAType(數據屬性類型定義)
在IEC 61850 SCL標準中,DAType內的BDA元素(Basic Data Attribute,基本數據屬性)是構成復雜數據類型(DAType)的最小單元。
DAType用于定義結構化數據,而BDA則是這些結構化數據的成員變量,直接對應具體的基本數據類型(如枚舉、字節串、整數等)。
BDA與之前提到的DA(DOType內的數據屬性)的區別在于:
- DA屬于數據對象(DOType)的屬性,用于定義DOType的內部結構;
- BDA屬于復雜數據類型(DAType)的屬性,用于定義DAType的內部成員(即結構化數據的字段)。
定義復雜的數據結構,具體案例如下:
<DAType id="AnalogueValue1">
<BDA bType="FLOAT32" name="f"/>
</DAType>
<DAType id="ScaledValueConfig1">
<BDA bType="FLOAT32" name="scaleFactor"/>
<BDA bType="FLOAT32" name="offset"/>
</DAType>
<DAType id="Originator1">
<BDA bType="Enum" name="orCat" type="orCategory"/>
<BDA bType="Octet64" name="orIdent"/>
</DAType>
關鍵屬性:
- id:類型標識符,在文件中唯一;
例如,<DAType id="Originator1">定義了一個“發起者信息”的結構化類型,其中<BDA name="orCat">(發起者類別)和<BDA name="orIdent">(發起者標識)是該結構的兩個字段。
BDA的關鍵屬性:
- name(必選):唯一標識BDA在DAType內的身份,同一DAType中的BDA名稱必須唯一;
- bType(必選):含義:定義BDA的原始數據格式(基本類型),決定了字段的取值范圍和存儲方式。常見類型包括:
- 布爾型:Boolean(true/false);
- 枚舉型:Enum(需關聯type屬性);
- 整數型:Int8/Int16/Int32/Int64(有符號)、UInt8/UInt16/UInt32/UInt64(無符號);
- 浮點型:Float32/Float64;
- 字符串型:OctetString(字節串)、Octet64(64字節串)、UnicodeString(Unicode字符串);
- 時間型:Timestamp(時間戳)、Date(日期)、Time(時間);
- 質量型:Quality(數據質量碼)。
- type(可選,但bType=Enum/Struct/Array時必選):引用外部類型模板的id,用于擴展bType的語義:
- 當bType="Enum"時,type必須引用<EnumType>的id(定義枚舉值的含義);
- 當bType="Struct"時,type必須引用另一個<DAType>的id(嵌套結構化類型);
- 當bType="Array"時,type引用數組元素的類型(如type="Int32"表示整數數組)。
- desc(可選):用戶可讀的描述文字,說明BDA的業務用途;
- dchg(可選,默認false):標記BDA值變化時是否觸發通信服務(如報告、GOOSE報文)。
- 僅用于需要主動通知的DA,如開關狀態stVal變化時需立即上報;
- qchg(可選,默認false):當DA的質量碼(q)發生變化時,觸發通信服務;
- 用于需要關注數據有效性的DA,如傳感器故障導致q變為bad時需上報;
- fc(可選):功能約束,與DA的fc完全一致,定義BDA的業務角色(如狀態、配置、控制等);
- sAddr(可選):短地址(Short Address),用于通信協議的快速定位(如MMS協議中的“Variable Access”服務);
- 示例:sAddr="0x10"表示該BDA在MMS地址空間中的偏移量為0x10,可快速讀取;
- accessControl(可選):定義該BDA的訪問權限,控制外部系統對BDA的讀寫操作;常見取值(非標準強制,但行業通用):
- read-only:只能讀取DO的內容(如測量值);
- read-write:可讀取和修改DO的內容(如配置參數);
- write-only:只能修改DO的內容(如控制指令);
- 默認值:若未指定,默認read-write(可讀寫);
- fixed(可選,默認false):標記BDA的值是否固定不可修改;
- mandatory(可選,默認true):標記該BDA在DAType實例化時是否必選:
- true:DAType實例化時必須包含該BDA;
- false:DAType實例化時可省略該BDA。
6.4 EnumType(枚舉類型)
具體案例如下:
<EnumType desc="Mod" id="Mod">
<EnumVal ord="1">on</EnumVal>
<EnumVal ord="2">blocked</EnumVal>
<EnumVal ord="3">test</EnumVal>
<EnumVal ord="4">test/blocked</EnumVal>
<EnumVal ord="5">off</EnumVal>
</EnumType>
<EnumType desc="ctlModel" id="ctlModel">
<EnumVal ord="0">status-only</EnumVal>
<EnumVal ord="1">direct-with-normal-security</EnumVal>
<EnumVal ord="2">sbo-with-normal-security</EnumVal>
<EnumVal ord="3">direct-with-enhanced-security</EnumVal>
<EnumVal ord="4">sbo-with-enhanced-security</EnumVal>
</EnumType>
6.5 與實際LN實例的關聯
在IED部分引用這些類型,以如下節點為例:
<LN inst="1" lnClass="GGIO" lnType="GGIO1_Device0"> <!-- 指向id=GGIO1_Device0的LNodeType -->
<DOI desc="模式" name="Mod"> <!-- 指向id=ENC1_Mod的DOType -->
<DAI name="ctlModel"> <!-- 指向id=ctlModel的EnumType -->
<Val>status-only</Val>
</DAI>
<DAI name="stVal"> <!-- 指向id=Mod的EnumType -->
<Val>on</Val>
</DAI>
</DOI>
</LN>
關聯關系:
1. LN[lnType="GGIO1_Device0"] 查找id="GGIO1_Device0"的LNodeType節點
<LNodeType id="GGIO1_Device0" lnClass="GGIO">......</LNodeType>
這是一個模板,定義了名為“GGIO1_Device0”的邏輯節點類型。它規定了這個邏輯節點有哪些DO
2. LNodeType[id="GGIO1_Device0"] 在LN子節點查找name="Mod"的DOI子節點
<DOI desc="模式" name="Mod">......</DOI>
這是一個實例。邏輯節點根據“ENC1_Mod”這個DOType模板,創建了一個名為“Mod”的具體數據對象(DO),用來代表“模式”
3. 在LNodeType子節點中查找name="Mod"的DO子節點
<DO desc="Mod專用" name="Mod" type="ENC1_Mod"/>
4. 到DOType節點中查找id="ENC1_Mod"的節點
<DOType cdc="INC" desc="Mod專用" id="ENC1_Mod">......</DOType>
這是一個模板,定義了名為“ENC1_Mod”的一種整型步控類型。它規定了這個類型的對象擁有哪些屬性
5. 在DOI子節點中查找子節點
<DAI name="ctlModel">......</DAI>
這是一個實例。邏輯節點根據“ctlModel”這個EnumType模板,創建了一個名為“ctlModel”的具體數據屬性(DA)
6. 在DOType子節點中查找name="ctlModel"的節點
<DA bType="Enum" dchg="true" fc="CF" name="ctlModel" type="ctlModel"/>
7. 到EnumType節點中查找id="ctlModel"的節點
<EnumType desc="ctlModel" id="ctlModel">......</EnumType>
這是一個模板,定義了名為“ctlModel”的枚舉類型。它定義了枚舉值
為了方便了解,這里我們繪制了流程圖;
參考文章
[1] DL/T 860-2006《變電站通信網絡和系統》
[2] IEC61850應用入門

浙公網安備 33010602011771號