java调用iec61850_IEC61850开发实战(三)

IEC61850开发实战(三)

报告服务端配置详解

在IEC61850开发实战(一)中我们大体介绍了报告服务端开发的具体实现过程,但是并没有把很多报告服务端配置的细节介绍给大家。本文就是IEC61850开发实战(一)的一个补充,为大家详细介绍更多报告服务端配置的细节。

我们先说说一个由服务端发出的报告都会包含哪些东西吧。注意以下内容是按照实际组成报文的顺序逐一介绍的。

1、报告ID;

2、报告选项域;

3、顺序编号;

4、入口时间;

5、数据集;

6、发生缓存溢出;

7、入口标识;

8、配置版本;

9、子序号;

10、有后续数据段;

11、包含位串;

12、数据引用;

13、值;

14、原因代码。

其中只有1、2、13、14是必然包含的,其他都是在报告选项域中开关设置为true的情况下才会包含。

说到这里就说明报告控制块有一部分报告选项域的配置,让我们到CID里面看一看:

上面我列出了所有的选项域,并设置为了true。

元素各个属性可以不写,其效果等价于各个属性等于false的情况。

报告选项域各个开关解释如下(按报文中位串顺序罗列):

seqNum 顺序编号

timeStamp 报告时标

reasonCode 原因码,代表触发的条件

dataSet 数据集

dataRef 数据引用

bufOvfl 缓存溢出标志,仅对于BRCB有效

entryID 条目标识符,仅对于BRCB有效

configRef 配置版本

segmentation 子序号

在实际的报文中选项域以位串表示,对于都是true的情况应该是0111 1111 11XX XXXX,第一位0是保留位。9个1代表9个选项都是true,如果配置的是false则对应则为0。后面我们会写一个专门讲述报文结构的文章,会详细阐述,本文还是以描述配置为主。

下面贴一段报告控制块的配置:

按照IEC61850模型,报告控制块可存在于任意逻辑节点下,按照国网习惯,通常存在于逻辑节点0中。

先介绍一下元素中各个属性:

1、rptID:报告标识符;

2、name:报告名称,逻辑节点中唯一;

3、confRev:配置的版本号;

4、datSet:对应的数据集名称;

5、buffered:缓存标志,为true代表缓存报告控制块,反之为非缓存;

6、bufTime:缓存时间,单位毫秒,仅当buffered=true时有效;

7、intgPd:完整性周期,单位毫秒,仅当触发条件period=”true”时有效;

8、desc:描述。

的子元素代表触发条件,分别介绍如下:

1、dchg,数据变化,当数据发生变化时触发事件;

2、dupd,数据刷新,当数据发生刷新时不管有没有变化都会触发事件;

3、period,完整性,在指定周期触发一次事件;

4、qchg,品质变化,当品质发生变化的时候触发事件。

报告选项域,前面已经介绍过了。

使能的最大数量,也就意味着客户端连接并使能的最大数量。

好了,报告控制块的所有配置已经介绍完毕,这是不是意味着和报告相关的所有配置都介绍完了呢?当然不是,在ICD/CID中还存在部分,这里面还有涉及报告的配置,当然这部分严格来说不是配置,而是描述。

目前只有一个属性max,实例化的报告控制块的最大数量。

对于“Dyn”可通过SetURCBValues、SetBRCBValues可在线设定报告控制块属性。“Fix”则是不可更改,“Conf”代表可配置,但是不能通过MMS来修改。

你可能感兴趣的:(java调用iec61850)