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

IEC61850建模说明相关推荐

  1. IEC61850变电站基本通信结构-原理和模型_7建模规则中的类定义以及MMS映射模型

    在建模中定义了很多类,由于功能的步完善,逐步扩展,从7-2到7-3到7-4.最初的类只有三种属性,四种服务. 数据类的细化 许多Data类有共同的数据细则,所以定义了公用数据类,反过来用公用数据类的& ...

  2. IEC61850电能质量1~50次谐波有效值建模

    2019独角兽企业重金招聘Python工程师标准>>> 在电能质量监测设备中我们通常需要对设备的1 ~ 50次谐波有效值进行统计并记录,<br>但由于IEC61850-7 ...

  3. IEC61850笔记--IEC61850应用入门(二)

    IEC61850标准学习和调试,测试的记录文档,主要参考了IEC61850标准文档,<IEC61850应用入门(第二版)>,开源代码libIEC61850及libIEC61850说明文档. ...

  4. 基于CIM的馈线建模和应用(论文学习)

    引言 作者在分析馈线的扩展和国内外的研究,得出结论:[馈线的定义和边界范围,以及如何正确运用 CIM 建模和建立馈线信息交换机制等问题始终没有得到解决]. 文章中提出了能够合理表征馈线的静态和动态特征 ...

  5. IEC61850开发流程

    1. Linux下的开发流程.包括字描述语言建模:https://wenku.baidu.com/view/50e648307375a417866f8feb.html?sxts=15537877649 ...

  6. IEC61850笔记--IEC61850应用入门(一)

    IEC61850标准学习和调试,测试的记录文档,主要参考了IEC61850标准文档,<IEC61850应用入门(第二版)>,开源代码libIEC61850及libIEC61850说明文档. ...

  7. 61850协议服务器端开发,IEC61850报告服务端开发.doc

    IEC61850报告服务端开发 本文讲述的是IEC61850中最常用的报告功能服务端的实现方法,内容包含了CID建模,编码实现,还包括后面的运行效果.MMS报文等. 一.CID建模 1.通讯部分: ? ...

  8. 变电站通信网络和系统协议IEC61850介绍

    最近正在学习IEC61850标准, 在网上找到这篇文章,觉得挺好的, 收藏之,美中不足之处就是其中的图片无法显示. 变电站通信网络和系统协议IEC61850介绍   电网技术 POWER SYSTEM ...

  9. 人工智能3d建模算法_打破国外垄断,全国产3D芯片为机器人“点睛”

    ◎ 科技日报记者 崔爽 传统机器人只有"手",只能在固定好的点位上完成既定操作,而新一轮人工智能技术大大推动了机器和人的协作,这也对机器人的灵活性有了更高要求. 要想像人一样测量. ...

  10. 【UML建模】UML图详细总结

    前言: 机房文档中的UML图在UML视频看完后,照着书画的. 视频主要是看了前面的部分,后面关于几个具体例子跳过了,感觉看了也看不懂,除非真的跟着视频中认真的把例子都画一遍,才能了解的差不多! 过程学 ...

最新文章

  1. Java基础学习-Collection体系结构和迭代测试
  2. python数据分析第三方库是_python数据分析复盘——数据分析相关库之Pandas
  3. php批量打印快递单,excel怎么利用vba实现批量套打快递单批量打印单据?
  4. 为什么说人工智能是一个大谎言
  5. unix 登录mysql_实例分析mysql用户登录。
  6. 第 17 章 命令模式
  7. VS2010使用教程(使用VS2010编写C语言程序)
  8. android 编译 libjpeg-turbo,编译Android环境的libjpeg-turbo
  9. junit4报测试类class not found
  10. 探索性测试(游戏向)
  11. html 背景图片旋转,CSS3只让背景图片旋转180度的实现示例
  12. sumif单列求和_条件求和函数Sumif、Sumifs的超级实用技巧,你真的都掌握吗?
  13. 基于机器学习的文本分类算法的研究
  14. 010❤Anaconda的安装及使用方法
  15. 淘宝运营 淘宝选关键词的六种方法
  16. 通知短信有什么作用?它的应用场景有哪些?
  17. python 日本老人_84岁日本奶奶自学编程,成苹果“最高龄程序员”
  18. ScriptManager的使用方法
  19. 做oms系统时候知道的
  20. 使用QT-creator开发ros人机交互界面学习笔记

热门文章

  1. 如何录屏制作gif图片
  2. Adobe Dreamweaver 2021下载与安装教程
  3. 【数字信号处理】fft幅频特性和相频特性理解
  4. Ubuntu 安装Qt以及配置
  5. Python常用模块库下载及安装
  6. 自动化测试工具Selenium Appium
  7. java外文文献_spring框架外文文献 PDF 下载
  8. java坦克大战心得
  9. 微软的补丁服务器,Microsoft 安全公告 MS17-010 - 严重
  10. 三菱伺服电机选型技巧