4. 风电场常用通信协议(下):IEC 61850、IEC 61400-25 协议详解

好,咱们接着聊。上一节我们把 Modbus 和 OPC UA 扒了个底朝天,这一节轮到两个重量级选手了——IEC 61850IEC 61400-25

说实话,我刚入行那会儿,看到这两个协议编号就头大。61850 是变电站的,61400-25 是风电场的,名字还这么像,到底谁管谁?后来在项目里被虐了几次,才真正搞明白。今天我就把这点经验掰开了揉碎了讲给你听。

4.1 IEC 61850:变电站的“普通话”

先说说 IEC 61850。这个协议最早是为变电站自动化设计的,说白了就是让不同厂家的保护装置、测控装置、智能终端能互相听懂对方在说什么。

它解决了什么问题?

以前变电站里设备多,每个厂家都有自己的私有协议。你想想看,一个站里可能有 ABB 的继电器、西门子的测控、南瑞的远动,调试的时候光协议转换器就能堆满一柜子。IEC 61850 出来以后,大家统一说一种语言,省事多了。

核心思想:面向对象建模 + 抽象通信服务接口(ACSI)。

说白了,就是把物理设备里的功能抽象成“逻辑节点”,然后用标准化的服务去读写这些节点。

4.2 IEC 61850 的三大核心

我个人习惯把 IEC 61850 拆成三块来理解,这样不容易乱:

  1. 信息模型(怎么描述数据)
  2. 通信服务(怎么交换数据)
  3. 配置语言(怎么描述系统)

4.2.1 信息模型:从物理设备到逻辑节点

IEC 61850 把设备拆得很细。举个例子,一台断路器,它包含:

  • 逻辑设备(LD): 比如“CB1”代表 1 号断路器
  • 逻辑节点(LN): 比如“XCBR”代表断路器逻辑节点
  • 数据对象(DO): 比如“Pos”代表位置状态
  • 数据属性(DA): 比如“stVal”代表实际值(0=分,1=合)

我在项目中遇到过一件事:有个同事把风机的“桨叶角度”直接映射成一个模拟量点表,结果调试的时候发现不同厂家的单位不一样——有的是度,有的是百分比。用 IEC 61850 建模就不会有这种问题,因为每个数据属性都带单位定义。

4.2.2 通信服务:MMS、GOOSE、SV

IEC 61850 定义了三种主要的通信服务,每种服务的用途完全不同:

服务类型 全称 用途 实时性
MMS 制造报文规范 读取/写入数据,报告事件 中等(100ms级)
GOOSE 面向通用对象的变电站事件 跳闸、联锁等快速信号 高(<4ms)
SV 采样值 电压电流波形传输 极高(<1ms)

MMS 是客户端/服务器模式,监控后台通过它读取保护装置的数据。嗯,这里要注意:MMS 走的是 TCP/IP,所以可以跨网段。

GOOSE 是发布/订阅模式,不经过 TCP/IP 协议栈,直接映射到以太网数据链路层。为什么?因为要快。我记得有一次做风电场并网测试,要求保护动作信号在 4ms 内传到对侧变电站,用 GOOSE 轻松搞定。

SV 也是发布/订阅模式,专门传采样值。这个在风电场里用得不多,主要是变电站里用。

4.2.3 配置语言:SCL

IEC 61850 用 SCL(变电站配置描述语言)来描述整个系统的配置。SCL 文件有四种类型:

  • ICD: 智能电子设备能力描述
  • CID: 配置好的 IED 描述
  • SSD: 系统规格描述
  • SCD: 全站系统配置描述

调试的时候,最常用的就是 SCD 文件。你想想看,一个风电场可能有几十台风机、好几台升压站设备,每台设备都要配置通信参数。用 SCL 统一描述,导入导出都方便。

我的经验:拿到一个新项目的 SCD 文件,第一件事不是看内容,而是用工具检查语法。我曾经因为一个 SCD 文件里少了个闭合标签,导致整个站控层通信瘫痪了三天。从那以后,我养成了用 SCL 验证器检查的习惯。

4.3 IEC 61400-25:风电场自己的协议

好,讲完 61850,咱们来说说 61400-25。这个协议是专门为风电场设计的,全称叫“风电场监控与通信”。

为什么要有 61400-25?

因为 IEC 61850 虽然好,但它主要是给变电站用的。风电场有自己的特点:

  • 风机数量多(几十台到上百台)
  • 数据量大(每台风机几百个点)
  • 通信环境复杂(光纤、无线、载波都有)
  • 需要支持远程监控(风电场往往在偏远地区)

IEC 61400-25 就是在 IEC 61850 的基础上,针对风电场做了定制和简化。

4.4 IEC 61400-25 的架构

我个人觉得,61400-25 最聪明的地方在于它把通信分成了三层:

  1. 信息模型层: 定义风机有哪些数据(风速、功率、桨角等)
  2. 信息交换层: 定义怎么读写这些数据
  3. 通信协议映射层: 定义底层用什么协议传输

下面这张图可以帮你理解这三层的关系:

IEC 61400-25 三层架构 信息模型层 风机逻辑节点:WTUR(风机)、WTRM(变桨)、WGEN(发电机)等 数据对象:风速、有功功率、桨叶角度、机舱温度... 信息交换层 服务接口:读数据、写数据、报告、控制、定值组 抽象通信服务接口(ACSI) 通信协议映射层 映射到具体协议:MMS、Web Services、OPC UA、Modbus 根据现场条件选择最合适的底层协议

4.5 信息模型:风机的“体检表”

IEC 61400-25 定义了一套专门用于风机的逻辑节点。我挑几个常用的说说:

逻辑节点 名称 主要数据
WTUR 风机通用信息 状态、运行模式、累计发电量
WTRM 变桨系统 桨叶角度、变桨速度、变桨电机温度
WGEN 发电机 有功功率、无功功率、转速、定子温度
WCNV 变流器 直流母线电压、IGBT温度、输出频率
WMET 气象站 风速、风向、环境温度、气压

你看,每个逻辑节点都对应风机的一个子系统。调试的时候,你只要知道要读哪个逻辑节点,就能找到对应的数据。

避坑指南:我曾经在调试一个项目时,发现风机厂家把“风速”放在了 WMET 里,而另一个厂家放在了 WTUR 里。虽然 IEC 61400-25 有推荐位置,但不同厂家实现时可能有差异。所以拿到风机模型文件后,一定要先核对一遍数据映射关系。

4.6 协议映射:灵活选择底层通信

IEC 61400-25 最灵活的地方在于,它允许你选择不同的底层协议来传输数据。标准里定义了以下几种映射:

  • 映射到 MMS: 和 IEC 61850 完全兼容,适合和变电站通信
  • 映射到 Web Services: 基于 HTTP/SOAP,适合远程监控
  • 映射到 OPC UA: 适合和上位机系统集成
  • 映射到 Modbus: 适合老旧设备或简单场景

你想想看,这意味着什么?意味着你可以用同一套信息模型,根据现场条件选择最合适的通信方式。比如:

  • 风机内部用 Modbus 和 PLC 通信
  • 场站内用 MMS 和升压站保护装置通信
  • 远程监控中心用 Web Services 通过公网访问

数据模型不变,底层协议随便换。这就是 IEC 61400-25 的设计哲学。

4.7 实际应用中的选择建议

说了这么多,到底什么时候用 IEC 61850,什么时候用 IEC 61400-25?我个人的建议是这样的:

场景 推荐协议 理由
升压站内部设备通信 IEC 61850 保护、测控设备原生支持,GOOSE 速度快
风机与场站监控通信 IEC 61400-25 风机模型标准化,多厂家兼容
风电场与调度中心通信 IEC 61400-25 映射到 Web Services 支持远程访问,防火墙友好
老旧风机改造 IEC 61400-25 映射到 Modbus 兼容现有设备,改造成本低

我的经验:如果你在做新项目,我建议直接上 IEC 61400-25 映射到 MMS。虽然前期配置工作量大一点,但后期维护和扩展会省很多事。我见过太多项目因为前期图省事用 Modbus,结果后面每加一台风机就要改一次协议转换配置,苦不堪言。

4.8 小结

好,这一节的内容就到这里。总结一下:

  • IEC 61850 是变电站的通信标准,核心是面向对象建模和 GOOSE 快速通信
  • IEC 61400-25 是风电场的通信标准,在 61850 基础上针对风机做了定制
  • 61400-25 的三层架构(信息模型、信息交换、协议映射)让系统更灵活
  • 实际选型时,根据场景和现有设备情况选择合适的协议映射

嗯,这两个协议确实有点绕,但搞懂了之后你会发现,它们其实都是在做同一件事——让不同厂家的设备能互相通信。只不过一个是为变电站量身定做,一个是为风电场优化设计。

下一节我们聊聊实际工程中怎么配置这些协议,到时候我会拿一个真实项目的 SCD 文件来拆解,保证让你看完就能上手。


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