3. 储能系统常见通信协议全景
储能系统是一个典型的“多源异构”通信现场:电池管理系统(BMS)关心单体电压与温度,储能变流器(PCS)关心功率指令与并网状态,能量管理系统(EMS)关心全站调度,而调度主站又要求把整站数据按电力系统规约上送。这些角色使用的协议并不相同,理解每种协议“擅长什么、边界在哪里”,是网关协议转换工程的第一项基本功。
下面按“现场设备层—站控层—调度/云平台层”三个层次,梳理六种协议在储能场景中的定位。
一、现场设备层:Modbus 与 CAN/CANopen
Modbus RTU 是储能现场最普遍的串行协议。它基于 RS-485 总线,采用主从问答方式,一主多从,从站地址 1~247。典型用法是网关作为主站,轮询 BMS、PCS、空调、消防等设备的寄存器。例如读取 BMS 的 0x0000~0x000F 共 16 个保持寄存器,得到单体电压、SOC、SOH 等数据。它的边界很明确:速率低(常见 9600/19200/38400 bps)、无时间戳、无自描述、寄存器含义依赖厂商点表,且一条总线挂载设备过多时轮询周期会显著拉长。因此 Modbus RTU 适合“设备级、小数据量、周期性采集”,不适合跨站调度。
Modbus TCP 把 Modbus 报文封装进 TCP/IP,端口 502,去掉了串行链路的物理限制,可多客户端并发。在储能站内,它常用于 PCS、智能电表、部分 BMS 的以太网接口。但要注意:Modbus TCP 只是“传输层换了”,其数据模型仍是寄存器,没有统一语义,也没有发布/订阅能力。它适合站内快速集成,不适合作为广域调度协议。
CAN/CANopen 是 BMS 内部与 PCS 之间常见的高速总线。CAN 提供差分信号、非破坏性仲裁,速率 125 kbps~1 Mbps,适合电池簇内大量单体数据的实时传输。CANopen 在 CAN 之上定义了对象字典、PDO(过程数据对象)和 SDO(服务数据对象),使数据具有可配置的映射关系。例如用 TPDO1 周期发送电池簇总压、总流、SOC,用 SDO 读取告警详情。它的边界是:总线长度受限(1 Mbps 时约 40 m)、节点数有限、跨厂商对象字典不统一,通常只在设备内部或设备间短距离使用,不直接上送调度。
二、站控层:IEC 61850 与 OPC UA
IEC 61850 是变电站自动化的国际标准,在储能站中主要用于站控层设备之间的互操作。它把设备抽象为逻辑设备(LD)、逻辑节点(LN)、数据对象(DO)和数据属性(DA),并用 MMS 承载读写服务,用 GOOSE 承载快速跳闸类信号,用 SV 承载采样值。储能场景中,PCS、保护装置、测控装置可通过 IEC 61850 与站控层交换机组成过程总线。它的优势是语义统一、自描述、支持订阅/报告;边界是:实现复杂、对网络与配置工具要求高、GOOSE/SV 对实时性要求苛刻,通常不用于跨广域调度,也不适合直接对接云平台。
OPC UA 是面向工业互操作的平台级协议,具备信息模型、地址空间、订阅、方法调用和安全通道。在储能站控层,它常被用作 EMS 与第三方系统之间的“数据总线”,把 BMS、PCS、电表的数据统一为带语义的节点。例如把 PCS 有功功率映射为 ns=2;s=PCS1.ActivePower,并附带时间戳与质量码。它的边界是:需要服务器/客户端或 PubSub 实现,资源占用高于 Modbus,且不同厂商的信息模型仍需约定,不能指望“接上就通”。
三、调度与云平台层:IEC 104 与 MQTT
IEC 60870-5-104(简称 IEC 104)是国内电网调度最常用的远动协议。它基于 TCP/IP,端口 2404,采用 ASDU 报文,支持总召唤、遥测、遥信、遥控、遥调。储能站并网后,调度主站通常要求通过 IEC 104 上送全站有功、无功、SOC、可充可放功率、告警等。它的特点是确定性强、有明确时标与传送原因,适合调度级实时监控;边界是:点表固定、扩展性差、面向“四遥”而非海量数据,不适合做设备内部或云侧的高频数据通道。
MQTT 是轻量级发布/订阅协议,基于 TCP,常用 1883/8883 端口,支持 QoS 0/1/2、遗嘱消息和主题通配。在储能云平台场景中,网关作为 MQTT 客户端,把数据发布到如 ess/station01/pcs1/telemetry 主题,云平台按主题订阅。它的优势是弱网适应、一对多分发、易于横向扩展;边界是:不保证强实时、无统一语义、需要额外定义主题与载荷格式,不能直接替代调度规约。
四、协议选型的判断依据
把六种协议放在一起,可以用四个问题快速判断边界:数据在哪一层?设备内部用 CAN/CANopen,站内采集用 Modbus,站控互操作用 IEC 61850 或 OPC UA,调度上送用 IEC 104,云侧汇聚用 MQTT。实时性要求多高?毫秒级跳闸用 GOOSE,秒级调度用 IEC 104,分钟级云侧用 MQTT。语义是否统一?IEC 61850 和 OPC UA 自带模型,Modbus 和 CANopen 依赖点表,MQTT 依赖主题约定。网络环境如何?广域弱网优先 MQTT,站内以太网可用 IEC 104/OPC UA,串行总线用 Modbus RTU。