2. 储能系统通信架构与接口分层

储能系统不是三台设备的简单拼装,而是一个由设备层、控制层、调度层三级构成的通信与控制体系。理解这套分层结构,是做好EMS、BMS、PCS接口设计的前提。因为接口设计中的绝大多数问题——点表对不上、控制指令不生效、遥测数据跳变、故障无法联动——本质上都是"某一层的信息没有按约定的路径和语义传到另一层"。

一、三层架构的职责边界

设备层是直接与物理量打交道的部分,包括电池簇/电池模组及其BMS从控(BMU)、BMS主控(BCU)、PCS功率变换单元、以及空调、消防、门禁等辅助设备。这一层的通信特点是:实时性要求高、数据粒度细、协议偏工业现场总线。典型接口是BMS内部的主从通信(CAN,常见500 kbps)、BMS与PCS之间的CAN或RS-485、以及PCS内部控制器与功率模块之间的高速光纤或背板总线。

控制层是站级协调中枢,通常由EMS服务器或储能协调控制器(PMS/EMU)承担。它向下汇聚各设备的遥测、遥信,向上提供标准化的功率调度接口。控制层的核心任务是:把调度层下发的"功率指令"翻译成PCS能执行的"有功/无功设定值",同时把BMS的"允许充放电功率"作为约束条件叠加进去,形成最终下发的指令。这一层通常采用Modbus TCP、IEC 61850 MMS或CANopen over TCP。

调度层是电网或上层能源管理平台,包括调度主站、虚拟电厂(VPP)平台、微电网中央控制器等。它关心的是站级聚合量:整站可调功率、SOC、可用容量、并网点状态。接口形式多为IEC 104、IEC 61850、Modbus TCP或MQTT/HTTP API。

调度层(电网 / VPP / 微网中央控制器) 调度主站 IEC 104 / 61850 VPP 平台 MQTT / HTTP API 微网中央控制器 Modbus TCP 控制层(EMS / 储能协调控制器) 功率指令分解 P_set → P_pcs / Q_pcs 约束叠加 min(P_set, P_allow) 数据汇聚与转发 遥测/遥信/遥调 设备层(BMS / PCS / 辅助设备) BMS BCU 主控 BMU 从控 × N CAN 500 kbps SOC/SOH/告警 PCS 功率变换单元 DC/AC 双向 Modbus TCP / CAN P/Q/频率/电压 辅助设备 空调 / 消防 门禁 / 照明 RS-485 / DI 温度/烟感/状态 控制流:功率调度指令 信息流:站级遥测/遥信 控制流:P/Q 设定值 信息流:SOC/告警/状态 CAN 硬线 控制流(下行) 信息流(上行) BMS-PCS 横向接口

二、EMS-BMS-PCS 的信息流与控制流

把三层架构落到具体设备上,EMS、BMS、PCS 之间存在四条关键链路,每条链路的接口语义都不同。

链路一:EMS → PCS(控制流,下行)。EMS 向 PCS 下发有功功率设定值 P_set、无功功率设定值 Q_set、以及启停/并离网切换命令。以 Modbus TCP 为例,常见做法是把 P_set 写入保持寄存器 40001(单位 kW,有符号 16 位,量程 -500~+500,正为放电、负为充电),Q_set 写入 40002(单位 kvar)。PCS 收到后按 100 ms 周期刷新执行。这里最容易出问题的是符号约定:如果 EMS 按"正充电、负放电"定义,而 PCS 按"正放电、负充电"定义,就会出现"想充电却在放电"的反向事故。因此接口文档中必须明确写出符号定义,并在联调时用一次小功率充放电验证方向。

链路二:BMS → EMS(信息流,上行)。BMS 通过 BCU 把电池簇的 SOC、SOH、总电压、总电流、最高/最低单体电压、最高/最低温度、以及关键告警(过压、欠压、过温、绝缘故障)上传给 EMS。EMS 用这些数据做两件事:一是显示与告警,二是计算允许充放电功率。例如某 1 MW/2 MWh 储能站,BMS 上报 SOC=95%,EMS 根据"SOC≥95% 时充电允许功率降为 0.2C"的策略,计算出 P_charge_allow = 200 kW,即使调度层要求充电 500 kW,EMS 也只能下发 200 kW。

链路三:BMS → PCS(安全联锁,横向)。这条链路往往被忽视,但它直接关系安全。BMS 需要把"允许放电/允许充电"的干接点信号或 CAN 报文直接送给 PCS,作为 PCS 的硬件级闭锁条件。当 BMS 检测到单体过压或过温时,即使 EMS 还在下发充电指令,PCS 也应立即停止充电。典型做法是 BMS 提供两对无源干接点(允许充电、允许放电),接入 PCS 的 DI 端子,PCS 在本地逻辑中优先响应 DI 状态。

链路四:PCS → EMS(信息流,上行)。PCS 上报实际有功/无功、交流电压/电流、频率、功率因数、直流侧电压/电流、以及运行状态(待机、并网、故障)和故障码。EMS 用这些数据判断指令是否被执行到位。例如 EMS 下发 P_set=300 kW,5 秒后 PCS 上报 P_actual=298 kW,说明执行正常;若 P_actual=0 且状态为"故障",则需要读取故障码定位原因。

三、接口分层的设计要点

分层设计的关键在于每层只暴露必要的接口,不越层直连。调度层不应直接读 BMS 的单体电压,控制层不应绕过 BMS 直接控制 PCS 的功率模块。这样做的好处是:更换 PCS 品牌时,只需修改控制层与 PCS 的协议适配,调度层接口不变;更换 BMS 时同理。

实际工程中,建议在接口文档中为每条链路明确以下字段:链路编号、源设备、目的设备、物理接口、协议、数据方向、刷新周期、点表地址、数据类型、量纲、符号约定、异常处理。下面给出一份可直接参考的接口清单示例(以 1 MW/2 MWh 储能站为例):

链路 源→目的 物理接口/协议 关键数据 周期
L1 EMS → PCS 以太网 / Modbus TCP P_set、Q_set、启停命令 100 ms
L2 BMS → EMS 以太网 / Modbus TCP SOC、SOH、告警、允许功率 500 ms
L3 BMS → PCS 干接点 / CAN 允许充电、允许放电 ≤10 ms
L4 PCS → EMS 以太网 / Modbus TCP P_actual、Q_actual、状态、故障码 100 ms
L5 EMS → 调度 以太网 / IEC 104 整站可调功率、SOC、并网点状态 1 s
联调建议:首次上电时,先只接通 L2 和 L4,确认 EMS 能正确读到 BMS 和 PCS 的数据;再接通 L1,用 50 kW 小功率做一次充电和一次放电,核对符号方向;最后接通 L3,人为触发一次 BMS 告警,确认 PCS 能正确闭锁。按这个顺序排查,可以把"数据不通"和"控制方向错误"两类问题分开定位。

总结来说,储能系统通信架构的核心不是"用了什么协议",而是每一层的信息语义是否清晰、方向是否正确、约束是否被正确叠加。EMS 是协调者,BMS 是安全边界,PCS 是执行者,三者通过分层接口各司其职,才能保证储能站既响应调度、又不越过电池的安全红线。