第四章 数据对象(DO)详解

好,咱们今天聊聊数据对象。说实话,我刚接触IEC 61850那会儿,最头疼的就是这个DO。文档里写得云里雾里的,什么“逻辑节点内部的数据实体”、“具有特定语义的信息单元”……听着就头大。后来在项目里摸爬滚打几年,才慢慢摸透了它的脾气。

4.1 数据对象的概念

数据对象,英文叫Data Object,简称DO。你可以把它理解成逻辑节点里的一个“数据容器”。每个逻辑节点(LN)就像一台设备,而DO就是这台设备上的一个个功能模块。比如一个断路器(XCBR)逻辑节点,它里面就有“位置”(Pos)、“操作计数”(OpCnt)这些DO。

我个人习惯把DO比作“带标签的抽屉”。抽屉里装的是具体的数据属性(DA),而标签就是DO的名字。你看到“Pos”这个标签,就知道里面装着位置信息——是合位还是分位。

核心要点:DO是逻辑节点中具有特定语义的数据集合,它封装了与某个功能点相关的所有信息。

举个例子,我在一个变电站自动化项目里,需要读取断路器的状态。当时我直接去读XCBR逻辑节点下的“Pos”DO。这个DO里包含了状态值(stVal)、品质(q)、时间戳(t)等属性。你看,一个DO就把位置信息的所有细节都包圆了。

4.2 公共数据类(CDC)的作用

说到DO,就绕不开公共数据类(CDC)。CDC是什么?说白了,它就是DO的“模板”或“蓝图”。IEC 61850定义了一组标准的CDC,比如SPS(单点状态)、MV(测量值)、CMV(复数测量值)等等。

为什么要搞CDC?你想想看,如果没有统一的标准,每个厂家都按自己的喜好定义DO的结构,那互操作性就无从谈起了。CDC的作用就是:规定了一类DO应该包含哪些数据属性,以及这些属性的语义和数据类型

CDC名称 中文含义 典型应用
SPS 单点状态 断路器位置、隔离开关状态
MV 测量值 电流、电压、有功功率
CMV 复数测量值 相量测量值
ACT 保护动作信息 保护跳闸信号
DPC 可控双点 断路器遥控分合

我记得有一次做IED互操作测试,A厂家的断路器DO用的是SPS,B厂家却自己定义了一个私有结构。结果两台设备死活对不上话。后来统一改成标准CDC,问题就解决了。所以啊,能用标准CDC就别自己造轮子

小技巧:在配置工具里,CDC通常以“CDC=xxx”的形式出现在DO定义中。看到“CDC=SPS”,你就知道这个DO是单点状态类型,里面肯定有stVal、q、t这三个核心属性。

4.3 DO的命名与语义

DO的命名是有讲究的。IEC 61850-7-4和7-3里给出了详细的命名规则。简单来说:DO的名字由英文字母和数字组成,通常采用驼峰命名法。比如“Pos”、“OpCnt”、“Health”等等。

命名不是随便起的,每个DO都有明确的语义。比如:

  • Pos:位置,用于断路器、隔离开关等
  • OpCnt:操作计数,记录设备动作次数
  • Health:健康状态,表示设备自检结果
  • Beh:行为,控制逻辑节点的启用/禁用
  • Mod:模式,设置逻辑节点的工作模式

这里有个坑,我曾经踩过。有个项目里,工程师把“Pos”用在了变压器分接头位置上。从语义上讲,“Pos”在标准里是给开关设备用的,分接头位置应该用“TapPos”。虽然都能用,但不符合标准语义,后续维护时别人看了会懵。

避坑指南:我曾经见过一个项目,有人把“Health”DO用来存温度值。虽然程序能跑,但语义完全错了。Health是健康状态,不是测量值。这种用法在互操作测试时肯定过不了。记住:DO的语义必须严格遵循标准定义

下面我画了一张图,帮你理清DO、CDC、DA之间的关系:

逻辑节点 (LN) 例如:XCBR(断路器) 数据对象 (DO) 例如:Pos(位置) CDC = SPS stVal q t 包含关系 CDC定义结构 数据属性 图例说明: • 一个LN包含多个DO • 每个DO对应一个CDC,CDC决定了DO的内部结构 • DO由多个DA组成,DA是实际存储数据的单元 • 例如:Pos(SPS类型)包含stVal(状态值)、q(品质)、t(时标) 注:实际SPS还包含其他可选属性,这里仅展示核心三个

嗯,这里要注意一点:DO的名字在同一个逻辑节点内必须唯一。但不同逻辑节点里可以有同名的DO,比如XCBR和XSWI里都有“Pos”,这没问题,因为它们属于不同的LN。

最后说个实际经验。我在做SCD文件配置时,经常看到有人把DO的名字写错大小写。比如“pos”写成“Pos”,“opcnt”写成“OpCnt”。虽然有些工具不区分大小写,但标准里是区分大小写的。我建议你严格按照标准文档里的写法来,避免不必要的麻烦。

总结一下:

  • DO是LN中的数据容器,承载具体功能点的信息
  • CDC是DO的模板,保证互操作性
  • DO的命名和语义必须遵循标准,别自己发明创造

好了,关于数据对象就聊这么多。记住一句话:DO是IEC 61850信息模型的基石,搞懂了DO,后面的路就好走了


公众号:蓝海资料掘金营,微信deep3321