4. 风电场常用通信协议(下):IEC 61850、IEC 61400-25 协议详解
好,咱们接着聊。上一节我们把 Modbus 和 OPC UA 扒了个底朝天,这一节轮到两个重量级选手了——IEC 61850 和 IEC 61400-25。
说实话,我刚入行那会儿,看到这两个协议编号就头大。61850 是变电站的,61400-25 是风电场的,名字还这么像,到底谁管谁?后来在项目里被虐了几次,才真正搞明白。今天我就把这点经验掰开了揉碎了讲给你听。
4.1 IEC 61850:变电站的“普通话”
先说说 IEC 61850。这个协议最早是为变电站自动化设计的,说白了就是让不同厂家的保护装置、测控装置、智能终端能互相听懂对方在说什么。
它解决了什么问题?
以前变电站里设备多,每个厂家都有自己的私有协议。你想想看,一个站里可能有 ABB 的继电器、西门子的测控、南瑞的远动,调试的时候光协议转换器就能堆满一柜子。IEC 61850 出来以后,大家统一说一种语言,省事多了。
核心思想:面向对象建模 + 抽象通信服务接口(ACSI)。
说白了,就是把物理设备里的功能抽象成“逻辑节点”,然后用标准化的服务去读写这些节点。
4.2 IEC 61850 的三大核心
我个人习惯把 IEC 61850 拆成三块来理解,这样不容易乱:
- 信息模型(怎么描述数据)
- 通信服务(怎么交换数据)
- 配置语言(怎么描述系统)
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 最聪明的地方在于它把通信分成了三层:
- 信息模型层: 定义风机有哪些数据(风速、功率、桨角等)
- 信息交换层: 定义怎么读写这些数据
- 通信协议映射层: 定义底层用什么协议传输
下面这张图可以帮你理解这三层的关系:
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