IEC61850建模说明
1.概述
IEC61850的數據建模,主要是看IEC1850標準的第7部分,變電站和饋線高備的基本通信結構(7-1,7-2,7-3,7-4)
數據建模,實際上就是將設備的點表按照IEC61850標準的規則編寫的一份點表文件,該點表以XML的格式描述,后綴名為.icd,另一個名字叫智能電子設備能力描述文件
1.1 IEC61850服務
以下是61850的服務與傳統功能的對比列表:
| IEC61850服務 | 傳統功能 |
| 報告服務 | 遙信、遙測 |
| 控制服務 | 遙控、遙調 |
| 定值服務 | 定值召喚、修改、切換 |
| 日志服務 | 事件服務 |
| 取代服務 | 人工置數 |
| 對時服務 | GPS對時 |
| 文件傳輸服務 | 文件傳輸 |
| 采樣值傳輸服務 | 模擬量采樣傳輸 |
| GOOSE服務 | 裝置間快速信號傳輸 |
2.數據建模介紹
在建模前,應熟知61850數據模型所含的內容及其作用。詳細請看61850標準的第6部分,第7-2部分。
每個模型都具有四個對象,依次為
SERVER 服務器
LOGICAL-DEVICE 簡稱LD,邏輯設備
LOGICAL-NODE 簡稱LN,邏輯結點
DATA 數據,邏輯結點中的數據點
每個對象都有各自的名稱和對象路徑名,假設有一個61850服務器,SERVER為acSystem,LOGICAL-DEVICE為ac,LOGICAL-NODE為alarm,有若干數據點名為alarm1,alarm2,alarm3,
外部訪問服務器的一個結點引用為acSystem.ac.alarm.alarm1
我們通常要改的就是LN部分
3.建模說明
一般來說,不需要從零開始配置一份數據模型icd文件,直接在已有的文件修改即可,
3.1 icd文件介紹
以下是一個最簡單的icd文件
<SCL version="2007" revision="B" xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.iec.ch/61850/2003/SCL SCL.xsd"> <Header id="" version="" revision="" toolID="OMICRON IEDScout" nameStructure="IEDName" /> <IED name="EAST01"> <Services><AccessPoint name="P1"><Server><Authentication none="true"/><LDevice inst="DEV1"><LN0 lnType="EAST01DEV1.LLN0" lnClass="LLN0" inst=""><DOI name="Mod"><DAI name="ctlModel" sAddr><Val>status-only</Val>="40000"</DAI></DOI></LN0></LDevice></Server></AccessPoint> </Services> </IED> <DataTypeTemplates><LNodeType id="EAST01DEV1.LLN0" lnClass="LLN0"><DO name="Mod" type="EAST01DEV1.LLN0.Mod"/></LNodeType><DOType id="EAST01DEV1.LLN0.Mod" cdc="INC"><DA name="stVal" fc="ST" bType="Enum" type="Mod"><DA name="ctlModel" fc="CF" bType="Enum "type="ctlModel"></DOType><EnumType 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 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-secrity</EnumVal></EnumType> </DataTypeTemplates> </SCL>從內容可以看出,包含兩大塊,IED和DataTypeTemplates,DataTypeTemplates為數據類型的模板,定義該設備擁有什么數據變量,變量的類型,單位等信息,IED為設備的對象實例,定義了數據的初始值,系數,單位,寄存器地址等信息
以上文件在LNodeType字段定義了一個數據Mod,類型是EAST01DEV1.LLN0.Mod,在DOType字段中有該類型的具體定義,其中cdc(公用數據類)為INC,即可控的整數狀態,而INC又定義了它必選的和可選的屬懂(IEC6850標準的7-3部分的7.5.4章節有說明)
3.2 InClass 邏輯節點類
| 邏輯節點組指示符 | 節點標識 |
| A | 自動控制 |
| C | 監控 |
| G | 通用功能引用 |
| I | 接口和存檔 |
| L | 系統邏輯節點 |
| M | 計量和測量 |
| P | 保護功能 |
| R | 保護相關功能 |
| S | 傳感器,監視 |
| T | 儀用互感器 |
| X | 開關設備 |
| Y | 電力變壓器和相關功能 |
| Z | 其它(電力系統)設備 |
一般我們接觸到的類有:
LPHD(物理裝置信息,IEC61850-7-4部分的5.3.2章節)
LLN0(邏輯節點零,IEC61850-7-4部分的5.3.4章節)
GGIO(通用過程I/O,IEC61850-7-44部分的5.7.2章節)
MMXN(測量,IEC61850-7-4部分的5.10.7章節)
3.3 cdc公用數據類
一般可以根據遙信,遙控,遙測,遙調四個功能來選擇需要的cdc
遙信=SPS(單點狀態信息,IEC61850-7-3部分的7.3.2章節)
遙控=SPC(可控的單點,IEC61850-7-3部分的7.5.2章節)
遙測=MV(測量值,IEC61850-7-3部分的7.4.2章節)
遙調=APC(可控模擬設點信息,IEC61850-7-3部分的7.6.2章節)
其中,遙測和遙調的值可以是浮點或者整型,若選擇整型,則應該增加數據屬性sVC,即增加系數和偏移量
以下是添加浮點型的示例
以下是添加整型的示例
<DOType id="EAST01DEV1.MMXN1.Mea1" cdc="MV"><DA name="sVC" fc="MX" bType="Struct" type="ScaledValueConfig_1"> </DOType> <DAType id="ScaledValueConfig_1"><BDA name="scaleFactor" bType="FLOAT32"/><BDA name="offset" bType="FLOAT32"/> </DAType>3.4 配置數據對象
配置數據對象需要在DataTypeTemplates的LNodeType字段中添加DO結點,
DO有很多種類型,一般我們按遙信,遙控,遙測,遙測四種類型配置即可,
DO有三個屬性,分別為name,type,desc
name是固定的,一般字符串就行,盡量和要表達的屬性命令匹配,容易維護
type需要根據當前數據來定,按3.3的說明即可,詳情可以看IEC61850-7-3部分的8章節
desc為數據的描述
fc為功能約束,常用的是ST(狀態),MX(測量),CO(控制),DC(描述),CF(配置),具體可以查看IEC61850-7-3部分的附錄B
3.5 配置數據對象實例
配置對象實例就是將上一節所定的數據都初始化一遍,包括寄存器映射地址,變量名,單位,系數等,具體看第一節的示例
3.6 配置報告
配置報告分為兩個步驟,分別是配置數據集和配置報告控制塊,而且都是在LN0節點中配置
我們可以將數據分為遙信,遙控,遙測,遙調四個數據集,分別上報,下面配置遙信量作為數據集的例子,格式如下
<LN0 lnType="EASTDEV01DEV1.LLN0" lnClass="LLN0" inst=""><DataSet name="ds01Digit"><FCDA ldInst="DEV1" prefix="" lnClass="GGIO" lnInst="1" doName="Ind1" fc="ST"></DataSet> </LN0>注意,控制集里面的數據對象一定是在DataTypeTemplates的LNodeType字段中找得到的
配置報告控制塊用于指定所需報告的數據集,一般來說,有多少數據集就有多少個報告控制塊,以下是是控制塊的例子
<ReportControl name="urcbDigit1" rptID="DEV1/LLN0$RP$urcbDigit1" buffered="false" bufTime="0" datSet="ds01Digit" intgPd="20000" confRev="1"> <trgOps dchg="true" qchg="true" dupd="false" period="true" gi="true" /> <OptFileds seqNum="false" timeStamp="true" dataSet="true" reasonCode="true" dataRef="false" entryID="false" configRef="false" /> <RtlEnabled max="4" /> </ReportControl>一般只要修改datset和RptEnabled的max值即可
datset指定上送的數據集名稱,max值指定最多有多少個客戶端能接收該報告
4.生成和檢驗模型
4.1 生成model.cfg文件
使用iec61850庫時,需要將icd文件轉為其規定的cfg文件,轉換工具在libiec61850庫的tools/model_generator里,使用命令
java -jar genconfig.jar xxx.icd >model.cfg注意需要在tools/model_generator目錄下,且安裝好了java運行環境
如果生成文件時出現Warning…信息,則說明icd文件有錯誤,需要修正
生成后的model.cfg還不能用,需要將MODEL(xxx)前面幾行的內容刪除掉
如果是在windows下生成的,需要將文件保存為utf8格式
關于libiec61850的使用,查看另一篇文章61850服務構建流程
4.2 檢驗模型
通過IEDScout 軟件打開建好的模型文件,將所有內容都展開看一遍,只要文件能正常打開,且內容無誤的話,就表示模型可用,也可以通過打開兩個IEDScout,一個作為服務端,一個作為客戶端來進行驗證數據
總結
以上是生活随笔為你收集整理的IEC61850建模说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频教程-Protel99se电路设计速
- 下一篇: [转] 史上最全英文免费编程电子书列表