第二章:通讯协议基础

各位同行,大家好。我是老张,干风电运维有些年头了。今天咱们聊聊通讯协议,这是SCADA系统的“神经”。说白了,风机里的数据怎么传出来,传到中控室,全靠这些协议。我刚开始接触时也觉得头大,但摸清门道后,其实就那么回事。

2.1 Modbus RTU/TCP 协议详解

Modbus 是我最早接触的协议,也是目前风电场里最“亲民”的协议。它分两种:RTU 和 TCP。

Modbus RTU 走串口,比如 RS-485。我习惯叫它“老黄牛”,稳定可靠,但速度慢。一个串口上能挂几十台设备,轮询一圈下来,数据刷新不快。嗯,这里要注意:RTU 是二进制传输,效率高,但调试时看报文全是十六进制,眼睛容易花。

Modbus TCP 走以太网,说白了就是把 RTU 的报文封装在 TCP/IP 包里。速度上去了,调试也方便。我在项目中遇到过,有些老风机只支持 RTU,想升级 TCP 还得加网关,挺折腾的。

举个例子,读风机风速数据,Modbus 报文长这样:

// 读取保持寄存器,从地址 0x0000 开始,读 2 个字
// RTU 请求:01 03 00 00 00 02 C4 0B
// TCP 请求:00 01 00 00 00 06 01 03 00 00 00 02

你看,TCP 多了个 MBAP 头(前 6 个字节),但核心数据一样。我个人习惯,调试时先用 Modbus Poll 工具模拟主站,看从站能不能正常响应。避坑指南:我曾经因为波特率设置不一致,折腾了一下午才发现是 9600 和 19200 没对上。

核心要点:

  • RTU 适合短距离、低速场景,成本低。
  • TCP 适合长距离、高速场景,但需要网络支持。
  • 地址映射表一定要和厂家确认,否则读出来的数据全是错的。

2.2 IEC 60870-5-104 协议

这个协议在电力系统里用得特别多,尤其是调度端。104 协议也是走以太网,但它比 Modbus TCP 更“聪明”。为什么?因为它支持主动上报。Modbus 是主站问一次,从站答一次,像挤牙膏。104 协议呢,从站可以主动把变化的数据推上来,这叫“遥测变位”。

我记得有一次,一个风场并网调试,调度要求必须用 104 协议。当时我还不熟,查了一堆资料。说白了,104 协议就是给电力系统量身定做的,它定义了遥测、遥信、遥控、遥调四种服务。你想想看,调度中心要实时监控几百台风机的状态,如果全靠轮询,网络早炸了。

104 协议的报文结构比 Modbus 复杂,但核心是 ASDU(应用服务数据单元)。举个例子,遥测数据上送:

// 遥测上送报文(简化)
// 启动字符 0x68,长度,控制域,ASDU 类型(遥测=0x09),传送原因,公共地址,信息体地址,值

嗯,这里要注意:104 协议的公共地址和风机地址要一一对应。我曾经因为地址配置错误,导致调度端收到的数据全是乱的,排查了整整两天。

个人经验: 调试 104 协议时,先用模拟器(比如 IEC 104 Server Simulator)测试主站和从站的连接。确认链路建立后,再逐步加数据点。别一上来就全量上送,容易出问题。

2.3 IEC 61850 标准简介

IEC 61850 是智能变电站的标准,现在风电场也开始用了。它比 104 协议更“高级”,因为它定义了统一的数据模型和服务。说白了,就是让不同厂家的设备能“说同一种语言”。

61850 的核心是“面向对象”。它把风机里的每个数据点都定义成一个对象,比如“风速”是一个对象,它有值、品质、时间戳等属性。这样,数据交换就变得很规范。我在项目中遇到过,用 61850 协议的风机,调试时只需要导入 ICD 文件(设备能力描述文件),系统就能自动识别所有数据点,省去了手动配置的麻烦。

但 61850 也有缺点:复杂。它的报文基于 MMS(制造报文规范),走以太网,对网络要求高。而且,不是所有风机都支持 61850,尤其是老机型。我个人建议,新建的大型风电场可以考虑 61850,但改造项目还是用 104 或 Modbus 更稳妥。

注意: 61850 的 GOOSE 报文用于快速跳闸,延时要求小于 3 毫秒。如果网络配置不当,可能导致保护误动或拒动。我曾经见过一个风场,因为交换机 VLAN 划分不合理,GOOSE 报文丢包,差点造成事故。

2.4 OPC UA 在风电场的应用

OPC UA 是工业 4.0 的明星协议。它不光是通讯协议,更是一个平台。OPC UA 支持跨平台、安全加密、数据建模,说白了,就是让 SCADA 系统能和企业管理系统(比如 ERP)无缝对接。

在风电场,OPC UA 通常用于中控室的上层应用。比如,把 SCADA 数据通过 OPC UA 服务器发布,让运维管理系统、数据分析平台都能订阅。我习惯用 OPC UA 把风机数据接到 PI System 或 OSIsoft 里,做历史趋势分析。

OPC UA 的地址空间是树形结构,每个节点都有唯一的 NodeId。举个例子,读取风机“有功功率”:

// OPC UA 读取节点
// NodeId: ns=2;s=WindTurbine_01.Power.ActivePower
// 返回值:1500.0 kW

嗯,这里要注意:OPC UA 的证书管理很严格。客户端和服务器需要互相认证,否则连不上。我曾经因为证书过期,导致数据采集中断了一整天,后来加了证书自动更新机制才解决。

总结一下:

  • Modbus:简单、通用,适合现场设备级通讯。
  • 104 协议:电力系统标配,适合调度端。
  • 61850:智能、规范,适合新建大型风场。
  • OPC UA:开放、安全,适合上层数据集成。

最后,我画了一张图,把这四种协议的关系和典型应用场景串起来,方便你理解。

风电场通讯协议架构图 现场设备层(风机、测风塔、箱变) Modbus RTU/TCP IEC 60870-5-104 IEC 61850 OPC UA SCADA 系统(数据采集、监控、报警) 上层应用(调度中心、运维管理、数据分析平台) 注:实际项目中,多种协议可能并存,通过网关或协议转换器互联。

好了,这一章的内容就这些。四种协议各有千秋,选型时得看现场条件、设备支持和项目预算。我个人觉得,没有最好的协议,只有最合适的协议。你想想看,一个老旧风场,非要上 61850,那不是给自己找麻烦吗?

避坑指南: 我曾经在一个项目里,为了追求“先进”,全场上 61850。结果调试时发现,部分风机控制器不支持,最后还得加协议转换器,成本翻了一倍。所以,选协议前,先摸清设备底细。

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