IEC61850建模说明

3 篇文章 2 订阅

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 逻辑节点类

表1 逻辑节点组表
逻辑节点组指示符节点标识
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="mag" fc="MX" bType="Struct" type="EAST01DEV1.MMXN.Mea1.mag">
</DOType>
<DAType id="EAST01DEV1.MMXN1.Mea1.mag">
    <BDA name="f" bType="FLOAT32"/>
</DAType>

以下是添加整型的示例

<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,一个作为服务端,一个作为客户端来进行验证数据

  • 14
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
IEC 61850协议中的数据建模是指定义和描述电力系统中各种设备、对象及其属性的数据模型。数据建模是IEC 61850协议中的一个重要部分,它提供了一种标准化的方式来描述电力系统中的设备和数据,使得不同厂商的设备可以互相通信和集成。 在IEC 61850协议中,数据建模采用了面向对象的设计方法,将电力系统中的设备和对象抽象成对象模型,每个对象模型包含多个对象属性,用于描述该对象的特性和状态。对象属性可以是单值或多值,也可以是结构化的,例如,一个开关对象的属性可以包含开关状态、位置、电流、电压等信息。 IEC 61850协议中的数据建模采用了基于类的继承机制,允许从父类继承属性和方法。这样可以减少数据建模的重复度,同时也方便了设备的扩展和升级。例如,一个厂商可以定义一个新的设备类型,继承现有的设备类型,添加一些新的属性和方法,从而实现设备的定制化。 在IEC 61850协议中,数据建模还包括了通信服务模型,用于描述设备之间的通信方式和协议。通信服务模型定义了设备之间的通信协议、数据格式、传输方式等,确保不同厂商的设备可以互相通信和交互。 总之,IEC 61850协议中的数据建模是一个重要的标准化过程,它为电力系统中的设备互联互通提供了一种通用的数据模型和通信协议,为电力系统的智能化和自动化提供了强大的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值