一、从物理世界到信息模型:IEC61850 的层次结构

刚接触 IEC61850 的朋友,往往会被一堆英文缩写搞晕。Server、LD、LN、DO、DA…… 说实话,我当年第一次看到这些术语时,也头疼了好一阵。

但别急。这套模型其实非常符合直觉。你想想看,一个变电站里有什么?有保护装置、有测控装置、有智能终端。每个装置里又有各种功能:过流保护、断路器控制、测量采集。每个功能又包含具体的数据:电流值、开关状态、控制命令。

IEC61850 的信息模型,说白了就是把物理世界的东西,一层层映射到数字世界。就像你整理文件柜——先分柜子(Server),再分抽屉(LD),再分文件夹(LN),再分文件页(DO),最后到具体某个字(DA)。

我个人习惯把这五层结构叫做「五层宝塔」。从顶到底,越来越细。咱们一层层拆开看。

核心记忆口诀:

服务器里装设备,设备里面放功能,功能里面有数据,数据拆开是属性。

1.1 Server(服务器)—— 整个装置的代言人

Server 是最高层。它代表一个物理装置在网络中的通信入口。比如你有一台保护装置,它对外通信时,就是一个 Server。

每个 Server 有唯一的 IP 地址和端口号。它负责管理下面所有的逻辑设备、逻辑节点,以及网络通信的建立和维持。

嗯,这里要注意:一个物理装置可以只有一个 Server,也可以有多个 Server(比如双网冗余)。但绝大多数工程中,一个装置就是一个 Server。

我的经验: 在配置工具里,Server 通常对应一个 ICD/CID 文件。你打开这个文件,最外层就是 Server 的信息。我刚开始做项目时,老是在文件里找不到 Server 在哪——其实就在根节点下,名字叫 "Server"。

1.2 Logical Device(逻辑设备)—— 装置里的功能分组

一个 Server 下面可以挂多个 LD。LD 是对物理装置内部功能的逻辑分组。

举个例子:一台合并单元装置,里面可能包含:

  • 一个「测量」逻辑设备(LD0)
  • 一个「保护」逻辑设备(LD1)
  • 一个「控制」逻辑设备(LD2)

每个 LD 有自己独立的数据空间和访问权限。你可以把 LD 理解成装置里的「功能模块」。不同厂家对 LD 的划分习惯不太一样,但一般遵循 IEC61850 的命名规范。

我记得有一次做项目,老外的图纸上 LD 名字写的是 "PROT"、"MEAS"、"CTRL"。我当时还纳闷,怎么不写中文?后来才明白,这是国际标准规定的缩写,全世界通用。

LD 名称 常见含义 典型功能
LD0 公共逻辑设备 装置基本信息、时间同步
PROT 保护逻辑设备 过流、距离、差动保护
MEAS 测量逻辑设备 电流、电压、功率测量
CTRL 控制逻辑设备 断路器分合、刀闸控制

1.3 Logical Node(逻辑节点)—— 最小的功能单元

LD 下面就是 LN。LN 是 IEC61850 最核心的概念。它代表一个具体的、最小的自动化功能。

比如:

  • XCBR —— 断路器(控制断路器分合)
  • PTOC —— 过流保护(检测过流并动作)
  • MMXU —— 测量单元(测量三相电压电流)
  • GGIO —— 通用 I/O(处理开入开出信号)

每个 LN 都有标准化的名字和功能定义。IEC61850 定义了上百种 LN,覆盖了变电站几乎所有功能。你想想看,这就像乐高积木——每个 LN 是一块标准积木,拼在一起就构成了完整的保护测控装置。

避坑指南: 我曾经遇到一个坑——同一个功能,不同厂家用了不同的 LN 类型。比如「过流保护」,有的用 PTOC,有的用 PIOC。虽然都能实现功能,但互操作时就会出问题。所以做集成时,一定要核对 LN 类型是否匹配。

1.4 Data Object(数据对象)—— LN 里的具体数据项

一个 LN 包含多个 DO。DO 就是 LN 所拥有的具体数据。

以断路器 LN(XCBR)为例,它包含:

  • Pos —— 断路器位置(合/分)
  • BlkOpn —— 闭锁合闸
  • BlkCls —— 闭锁分闸
  • OpCnt —— 操作次数计数

每个 DO 都有标准化的名字和语义。比如 Pos 代表位置,它的值只能是 0(分)、1(合)、2(中间)、3(故障)。

我个人习惯把 DO 理解成「变量名」。你写程序时定义的变量,在 IEC61850 里就是 DO。只不过这些变量名是国际标准统一规定的,不能随便改。

1.5 Data Attribute(数据属性)—— 数据的最小单元

DO 下面就是 DA。DA 是信息模型的最底层,代表数据的具体属性。

比如 DO "Pos" 包含多个 DA:

  • stVal —— 状态值(0/1)
  • q —— 品质(是否有效、是否被取代)
  • t —— 时标(数据变化的时间)
  • d —— 描述(文本说明)

你看,一个「断路器位置」数据,不光有值(stVal),还有品质(q)和时间(t)。这就是 IEC61850 厉害的地方——它不光传数据,还传数据的「上下文」。这样接收方就能判断数据是否可靠。

重点记住: DA 是模型的最底层。你最终读写的数据,其实都是在操作 DA。DO 只是 DA 的容器。

二、层次关系总览

咱们用一张图来总结这五层的关系。我特意画了张 SVG,方便你理解。

IEC61850 五层信息模型结构 Server(服务器) 物理装置的网络入口 Logical Device(逻辑设备) 功能分组,如 PROT、MEAS、CTRL Logical Node(逻辑节点) 最小功能单元,如 XCBR、PTOC、MMXU Data Object(数据对象) 具体数据项,如 Pos、BlkOpn、OpCnt Data Attribute(数据属性) 数据的最小单元,如 stVal、q、t、d 第1层 第2层 第3层 第4层 第5层

从这张图可以清楚看到:Server 在最顶层,DA 在最底层。数据从 DA 一层层向上聚合,最终通过 Server 对外通信。

三、实际项目中的例子

光讲理论太枯燥。咱们看一个真实例子。

假设你有一台保护装置,型号叫 "PCS-931"。它有一个过流保护功能。在 IEC61850 模型里,它是这样的:

Server: PCS931_Server
├── LD: PROT
│   ├── LN: PTOC1(过流保护1段)
│   │   ├── DO: Str(启动)
│   │   │   ├── DA: stVal(状态值:0或1)
│   │   │   ├── DA: q(品质:正常/无效)
│   │   │   └── DA: t(时标:2025-01-15 10:30:00)
│   │   ├── DO: Op(动作)
│   │   │   ├── DA: stVal
│   │   │   ├── DA: q
│   │   │   └── DA: t
│   │   └── DO: A(电流值)
│   │       ├── DA: mag(幅值:1200.5 A)
│   │       ├── DA: q
│   │       └── DA: t
│   └── LN: GGIO1(通用开入)
│       └── DO: Ind1(开入1)
│           ├── DA: stVal
│           ├── DA: q
│           └── DA: t
└── LD: MEAS
    └── LN: MMXU1(测量)
        └── DO: PhV(相电压)
            ├── DA: phsA(A相电压:57.7 V)
            ├── DA: phsB(B相电压:57.8 V)
            └── DA: phsC(C相电压:57.6 V)

你看,从 Server 到 DA,一共五层。每一层都有明确的含义。你如果要从这台装置读取过流保护的启动状态,实际上就是在读:

PCS931_Server.PROT.PTOC1.Str.stVal

这个路径,就是 IEC61850 的「数据引用路径」。在配置工具里,你经常能看到这种写法。

小技巧: 我刚开始学的时候,老是记不住这个路径顺序。后来我总结了一个规律:从大到小,从粗到细。就像你写家庭住址——中国、北京、朝阳区、某某小区、3号楼、502室。Server 是国家,LD 是城市,LN 是小区,DO 是楼栋,DA 是门牌号。这样一想,是不是好记多了?

四、为什么搞这么复杂?

你可能会问:搞五层模型,不累吗?直接传个数值不就行了?

嗯,这个问题我当年也问过。后来做了几个项目才明白——

第一,标准化。 不同厂家的装置,只要遵循同一套模型,就能互相理解。A 厂的保护装置发的数据,B 厂的监控系统能直接读懂。不需要写一堆协议转换程序。

第二,可扩展。 你想增加一个新功能?只要在对应的 LN 里加个 DO 就行。不影响其他部分。我见过一个项目,后期增加了「弧光保护」功能,就是在原有模型里加了一个 LN,其他什么都没动。

第三,自描述。 每个数据都带品质、时标等属性。接收方不需要猜这个数据靠不靠谱。品质一栏写着「无效」,你就知道这个数据不能用于保护逻辑。

说白了,这套模型就是给变电站里的设备们定了一套「通用语言」。大家用同一种语言交流,自然就不会鸡同鸭讲。

避坑指南: 我曾经遇到一个项目,A 厂家的保护装置和 B 厂家的监控系统对不上。查了两天,发现是 LN 实例编号不一致——A 厂用 PTOC1,B 厂配的是 PTOC2。就这一个数字之差,数据死活传不过去。所以做集成时,一定要核对 LN 的实例编号。

五、小结

这一章咱们讲了 IEC61850 的五层信息模型:

  • Server —— 物理装置的网络入口
  • LD —— 装置内的功能分组
  • LN —— 最小的标准化功能单元
  • DO —— LN 里的具体数据项
  • DA —— 数据的最小属性单元

这五层结构,是 IEC61850 的基石。后面的所有内容——通信服务、配置语言、互操作测试——都建立在这个模型之上。

我个人建议你花点时间把这个模型记牢。最好能自己画一遍层次图,写几个例子。等你真正理解了「从 Server 到 DA」的路径,后面的学习就会顺畅很多。

好了,这一章就到这里。下一章咱们聊聊「抽象通信服务接口(ACSI)」,看看这些模型数据是怎么在网络上传输的。


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