EMS失控功率与功率重分配功能
站级EMS失控功率上报与功率重分配功能开发与测试
版本:V1.0
日期:2026-07-10
一、测试背景
在多从机储能系统(SEMS架构)中,当某台从控EMS因内部设备通信异常或进入非自动控制模式时,该从机的PCS可能仍在按最后一次指令持续充放电,而站级EMS无法对其实施有效控制,即进入"失控"状态。
若站级EMS不感知该失控功率,仍将总功率按原比例分配给其他正常从机,将导致:
总实际功率 = 正常从机分配功率 + 失控从机实际功率 > 系统限制
从而引发过载、反送电网或跳闸事故。
本次功能测试验证新增的失控功率上报与动态重分配功能,确认站级EMS能够在感知失控功率后,自动扣减对其他正常从机的分配额度,保持系统总功率在限制范围以内。
二、测试目的
- 失控功率识别准确性:验证从控EMS在满足失控判定条件时,能够准确向站级EMS上报当前实际运行功率作为失控功率值(充电为正值、放电为负值);
- 剩余功率补偿计算正确性:验证站级EMS在收到失控功率后,能正确从总可分配功率中扣除失控量,充放电模式下均计算准确;
- 功率重分配合理性:验证剩余正常从机的功率分配额度随失控扣减同步调整,无过载或突变;
- 系统总功率守恒性:验证正常从机实际分配功率与失控从机实际功率之和,始终不超过系统设定限制;
- 功能覆盖性:充电工况与放电工况均完成验证,功能全面覆盖。
三、测试依据
- 项目功能需求:SEMS失控功率上报与重分配功能
- 系统通信协议:站级EMS与从控EMS之间B6_LSYS数据帧规范(含失控功率字段)
- 验收标准:总功率守恒等式成立误差 ≤ ±2%,无过载越限
四、测试设备与工具
| 编号 | 设备 | 数量 | 用途 |
|---|---|---|---|
| 1 | 站级EMS样机 | 1台 | 被测主控,运行SEMS程序,执行失控功率补偿与重分配 |
| 2 | 从控EMS样机 | 2台 | 模拟正常从机(#1)和失控从机(#2) |
| 3 | PCS储能变流器 | 2台 | 与从控EMS配对,执行功率指令,提供实际功率反馈 |
| 4 | 储能电池组 | 2组 | 与PCS配套,充放电负载 |
| 5 | 上位机(ModbusTCP调试软件) | 1台 | 下发控制模式、运行模式、功率目标值 |
| 6 | 日志采集终端 | 1台 | 连接站级EMS串口,实时采集功率分配监控数据 |
| 7 | 交流电流钳 | 2套 | 实测PCS实际输出电流,验证功率变化 |
五、测试接线方案
上位机 ──网线── 交换机 ──网线── 站级EMS(ModbusTCP,端口502) ├──网线── 从控EMS#1(正常从机,心跳通讯) └──网线── 从控EMS#2(被测失控从机) 站级EMS 串口 ──串口线── 日志采集终端(实时打印监控数据) 电流钳#1 ──夹持── 从控EMS#1对应PCS输出线缆 电流钳#2 ──夹持── 从控EMS#2对应PCS输出线缆六、测试前置准备
6.1 设备上电与初始化
- 依次启动储能电池组、PCS(2台)、从控EMS(2台)、站级EMS;
- 确认所有设备运行正常、无故障告警;
- 确认从控EMS与站级EMS心跳通讯正常,两台从机均处于自动控制模式;
- 日志采集终端已连接并开始实时记录。
6.2 站级EMS参数设置
| 参数 | 设置值 | 说明 |
|---|---|---|
| 控制模式 | 自动模式 | 启用自动充放电控制 |
| 节点数量 | 2 | 配置2个从控节点 |
| 总功率限制 | 40kW | 系统额定总功率 |
| 单节点功率 | 20kW | 每台从机额定功率 |
| SOC保护 | 按实际配置 | 确保测试期间不触发SOC保护停机 |
6.3 监控数据配置
测试过程中通过串口实时采集以下监控帧,作为测试依据:
| 监控标签 | 关键数据 | 作用 |
|---|---|---|
EMS_METER_SUM | 失控功率值 | 验证失控功率是否被正确感知和上报 |
EMS_PID_OUT | 补偿后剩余充放电需求 | 验证扣减计算是否正确 |
CHRG_ALLOC/DISC_ALLOC | 各节点通信状态+分配值+总限额 | 验证功率重分配结果 |
CHRG_DISTRI/DISC_DISTRI | 各节点实际分配功率 | 与ALLOC交叉核对 |
六附、监控数据参数说明
本节说明测试过程中各串口监控帧的字段含义,供客户理解测试数据。
DISC_ALLOC — 放电功率分配全景帧
格式:DISC_ALLOC, 时间戳, cf0, cf1, cf2, cf3, d0, d1, d2, d3, totalReq, totalAbility
| 字段 | 名称 | 说明 |
|---|---|---|
时间戳 | 数据时刻 | 本帧数据采集的系统时间(秒,小数3位) |
cf0 ~ cf3 | 节点通信状态 | 各从控EMS节点的通信故障标志(0=正常通信,1=通信中断)。该字段用于判断失控场景与SEMS通信断链场景的区别 |
d0 ~ d3 | 各节点分配放电功率(kW) | 站级EMS本轮分配给每台从控的放电指令功率。正常在线节点有值,离线或失控节点为0 |
totalReq | 总放电剩余需求(kW) | 补偿失控功率后,分配给所有在线节点的放电需求总量。该值= PID输出 − 失控功率(放电为负,等效于减小),体现了失控补偿的效果 |
totalAbility | 在线节点总放电能力(kW) | 当前所有可调度在线节点的最大放电能力之和。节点失控或离线后,该值随之减小 |
CHRG_ALLOC — 充电功率分配全景帧
格式:CHRG_ALLOC, 时间戳, cf0, cf1, cf2, cf3, d0, d1, d2, d3, totalLmt, totalAbility
| 字段 | 名称 | 说明 |
|---|---|---|
时间戳 | 数据时刻 | 同上 |
cf0 ~ cf3 | 节点通信状态 | 同DISC_ALLOC,0=正常,1=中断 |
d0 ~ d3 | 各节点分配充电功率(kW) | 站级EMS本轮分配给每台从控的充电指令功率 |
totalLmt | 总充电剩余限额(kW) | 补偿失控充电功率后,可分配给在线节点的充电总量。该值= PID输出 − 失控充电功率。当某节点失控充电时,该值减小,避免在线节点继续叠加导致过充 |
totalAbility | 在线节点总充电能力(kW) | 当前所有可调度在线节点的最大充电能力之和 |
关键规律:失控功率越大,
totalLmt(或totalReq)越小,在线节点合计分配越少,从而保证总功率不越限。
EMS_METER_SUM — 功率计量汇总帧
格式:EMS_METER_SUM, 时间戳, Pgrid, Pcab, PwrBMS, PwrOut, PwrUct
| 字段 | 名称 | 说明 |
|---|---|---|
时间戳 | 数据时刻 | 同上 |
Pgrid(f_PgridMeterSum) | 电网侧功率(kW) | 电网表测量值,正值=系统向电网输出(放电/反送),负值=系统从电网取电(充电)。用于监测是否发生反送或过载 |
Pcab(f_PcabMeterSum) | 储能柜总功率(kW) | 各从控储能柜功率之和(由柜表采集)。正值=充电,负值=放电。反映系统实际运行总功率 |
PwrBMS(fPwrBMS_SignedSum) | BMS实测电池功率(kW) | 各从控BMS上报的电池侧实测功率汇总。正=充电,负=放电。与Pcab对比可判断PCS变换器损耗 |
PwrOut(fPwrOut_SignedSum) | 实际对外输出功率(kW) | 有柜表则取柜表,无柜表则取BMS功率。是系统对外交换功率的最优估计值 |
PwrUct(fPwrUct_SignedSum) | 失控功率(kW) | 本帧最关键字段。各从控上报的失控功率总量(正=充电失控,负=放电失控)。正常运行时为0,触发失控后变为非0值,直接反映有多少功率处于不可控状态 |
EMS_PID_OUT — PID控制输出帧
格式:EMS_PID_OUT, 时间戳, PidChrg, PidDisc, RemainChrg_All, RemainDisc_All, Comp, AvgChrg
| 字段 | 名称 | 说明 |
|---|---|---|
时间戳 | 数据时刻 | 同上 |
PidChrg(fTotal_PessChg_PidOut) | PID充电总需求(kW) | PID控制器根据电网误差计算的"当前系统需要充多少电"。这是补偿计算的基准输入值 |
PidDisc(fTotal_PessDischg_PidOut) | PID放电总需求(kW) | PID控制器计算的"当前系统需要放多少电"。同上,放电场景的基准输入 |
RemainChrg_All(fRemain_ACChrgingPwr_Lmt_All) | 补偿后充电剩余限额(含负值)(kW) | 等于 PidChrg − PwrUct,截断为0之前的原始值。若为负数,说明失控充电功率已超过总需求,在线节点将被分配0kW。该字段直接体现补偿计算是否生效 |
RemainDisc_All(fRemain_ACLoad_DisChrgPwr_Req_All) | 补偿后放电剩余需求(含负值)(kW) | 等于 PidDisc + PwrUct(放电PwrUct为负),截断前原始值。含义与充电侧对称 |
Comp(fCompensation) | PID积分补偿量(kW) | PID控制器的积分项输出,用于消除长期稳态误差。非功率分配核心参数,供调试参考 |
AvgChrg(fAvg_Remain_ChrgingPwr_Lmt) | 均值滤波后充电限额(kW) | 对PID输出进行均值滤波后的结果,防止功率指令突变。是计算RemainChrg_All的中间值 |
四帧数据联合验证逻辑
EMS_METER_SUM.PwrUct ≠ 0 → 失控功率被感知(第一层) ↓ EMS_PID_OUT.RemainChrg_All = PidChrg - PwrUct → 补偿计算正确(第二层) ↓ CHRG_ALLOC.totalLmt = MAX(RemainChrg_All, 0) → 分配限额正确(第三层) ↓ CHRG_ALLOC.d0 + PwrUct ≈ PidChrg → 功率守恒,无过载(第四层)七、详细测试步骤与结果
本次测试采用2台从控EMS,系统总功率20kW,每台额定功率10kW。
7.1 充电工况 — 失控功率上报与重分配
测试步骤
- 上位机下发充电指令,目标功率20kW(两从机各10kW);
- 确认系统稳定充电,#1、#2从机各按10kW正常充电;
- 记录初始稳定状态数据(失控前基准值);
- 将从控EMS#2切换为非自动控制模式,触发失控判定条件,同时确认#2 PCS仍在持续充电(保持10kW);
- 持续采集监控数据,观察站级EMS失控感知与功率重分配响应;
- 待#2 PCS停止充电后,继续采集功率恢复数据。
阶段一:失控前基准状态
两台从机均处于正常自动充电模式,功率平衡,无失控上报。
EMS_METER_SUM: f_PcabMeterSum=20.0kW fPwrOut=20.0kW fPwrUct=0.0kW EMS_PID_OUT: RemainChrg_All=20.0kW CHRG_ALLOC: cf=[0,0,0,0] d0=10.0kW d1=10.0kW totalLmt=20.0kW totalAbility=20.0kW失控功率 fPwrUct=0,系统处于正常可控状态,总充电功率20kW。
阶段二:从机#2触发失控(仍以10kW充电)
从机#2进入失控状态后,仍持续以10kW充电,站级EMS检测到失控功率并自动补偿,降低对从机#1的分配额度。
EMS_METER_SUM: fPwrOut=20.0kW fPwrUct=+10.0kW ← 失控功率10kW被感知 EMS_PID_OUT: RemainChrg_All=10.0kW ← 补偿后剩余:20-10=10kW CHRG_ALLOC: cf=[0,0,0,0] d0=10.0kW d1=0.0kW totalLmt=10.0kW totalAbility=10.0kW功率守恒验证:
| 验证项 | 计算公式 | 理论值 | 实测值 | 结果 |
|---|---|---|---|---|
| 补偿后充电剩余限额 | RemainChrg = 20.0 − 10.0 | 10.0kW | 10.0kW | ✅ |
| 从机#1不过载 | d0 ≤ 额定10kW | ≤10.0kW | 10.0kW | ✅ |
| 系统总充电功率守恒 | d0 + fPwrUct = 10.0 + 10.0 | 20.0kW | 20.0kW | ✅ |
| 未超过系统总限制 | 总功率 ≤ 20kW | ≤20.0kW | 20.0kW | ✅ 无过载 |
阶段三:从机#2停止充电后功率恢复
从机#2停止充电,失控功率消失,站级EMS恢复对从机#1的正常分配额度。
EMS_METER_SUM: fPwrOut=10.0kW fPwrUct=0.0kW ← 失控消除 EMS_PID_OUT: RemainChrg_All=20.0kW ← 需求恢复至20kW CHRG_ALLOC: d0=10.0kW d1=0.0kW totalLmt=20.0kW系统实际输出降至10kW(仅从机#1在线充电),功率分配恢复正常,EMS自动完成全流程闭环管理。
充电工况结论:站级EMS在从机#2失控期间,准确感知10kW失控充电功率,自动将从机#1的分配额度维持在10kW,系统总充电功率始终保持20kW,无过载越限,功能验证通过。✅
7.2 放电工况 — 失控功率上报与重分配
测试步骤
- 上位机下发放电指令,目标功率20kW(两从机各10kW);
- 确认系统稳定放电,#1、#2从机各按10kW正常放电;
- 记录初始稳定状态数据(失控前基准值);
- 将从控EMS#2切换为失控状态,确认#2 PCS仍持续以10kW放电;
- 持续采集监控数据,观察站级EMS失控感知与功率重分配响应;
- 待#2 PCS停止放电后,继续采集功率恢复数据。
阶段一:失控前基准状态
EMS_METER_SUM: fPwrOut=20.0kW fPwrUct=0.0kW EMS_PID_OUT: RemainDisc_All=20.0kW DISC_ALLOC: cf=[0,0,0,0] d0=10.0kW d1=10.0kW totalReq=20.0kW totalAbility=20.0kW两台从机均正常放电,失控功率为0,系统总放电20kW。
阶段二:从机#2触发失控(仍以10kW放电)
从机#2进入失控状态后,仍持续以10kW放电。站级EMS检测到失控放电功率(负值),自动降低对从机#1的放电需求分配,防止总功率超出电网限制。
EMS_METER_SUM: fPwrOut=20.0kW fPwrUct=−10.0kW ← 失控放电10kW被感知(负值) EMS_PID_OUT: RemainDisc_All=10.0kW ← 补偿后剩余:20+(−10)=10kW DISC_ALLOC: cf=[0,0,0,0] d0=10.0kW d1=0.0kW totalReq=10.0kW totalAbility=10.0kW功率守恒验证:
| 验证项 | 计算公式 | 理论值 | 实测值 | 结果 |
|---|---|---|---|---|
| 补偿后放电剩余需求 | RemainDisc = 20.0 + (−10.0) | 10.0kW | 10.0kW | ✅ |
| 从机#1不超限 | d0 ≤ 额定10kW | ≤10.0kW | 10.0kW | ✅ |
| 系统总放电功率守恒 | d0 + |fPwrUct| = 10.0 + 10.0 | 20.0kW | 20.0kW | ✅ |
| 未超过电网限制 | 总功率 ≤ 20kW | ≤20.0kW | 20.0kW | ✅ 无逆流 |
阶段三:从机#2停止放电后功率恢复
EMS_METER_SUM: fPwrOut=10.0kW fPwrUct=0.0kW ← 失控消除 EMS_PID_OUT: RemainDisc_All=20.0kW ← 需求恢复至20kW DISC_ALLOC: d0=10.0kW d1=0.0kW totalReq=20.0kW从机#2停止后,系统输出降至10kW(仅从机#1放电),EMS功率分配恢复正常。
放电工况结论:站级EMS在从机#2失控放电期间,准确感知−10kW失控功率,自动收窄从机#1的放电需求至10kW,系统总放电始终保持20kW,无逆流越限,功能验证通过。✅
八、数据汇总与统计
8.1 充电工况三阶段数据汇总
| 测试阶段 | fPwrUct(kW) | RemainChrg_All(kW) | 从机#1分配(kW) | 系统总功率(kW) | 越限 |
|---|---|---|---|---|---|
| 失控前(正常) | 0.0 | 20.0 | 10.0 | 20.0 | 否 |
| 失控中(#2仍充10kW) | +10.0 | 10.0 | 10.0 | 20.0 | 否 |
| 失控后(#2停止) | 0.0 | 20.0 | 10.0 | 10.0 | 否 |
8.2 放电工况三阶段数据汇总
| 测试阶段 | fPwrUct(kW) | RemainDisc_All(kW) | 从机#1分配(kW) | 系统总功率(kW) | 越限 |
|---|---|---|---|---|---|
| 失控前(正常) | 0.0 | 20.0 | 10.0 | 20.0 | 否 |
| 失控中(#2仍放10kW) | −10.0 | 10.0 | 10.0 | 20.0 | 否 |
| 失控后(#2停止) | 0.0 | 20.0 | 10.0 | 10.0 | 否 |
8.3 功率守恒误差统计
| 工况 | 系统限制(kW) | 失控期间实测总功率(kW) | 误差 | 是否满足≤2% |
|---|---|---|---|---|
| 充电 | 20.0 | 20.0 | 0% | ✅ |
| 放电 | 20.0 | 20.0 | 0% | ✅ |
九、测试注意事项
- 触发失控条件时需确认从控PCS仍处于运行状态,若PCS随故障同步停机则无法产生失控功率,测试无效;
- 失控功率的上报依赖从控EMS与站级EMS之间的通信链路正常;若该链路中断,失控功率将无法传递至站级EMS(此为已知设计边界,与本功能场景不同);
- 测试期间SOC需处于正常范围,避免因SOC保护提前终止充放电,影响测试结果;
- 每轮测试后需恢复从控EMS至自动控制模式,确认系统恢复正常后再进行下一轮。
十、测试结论
| 验证项目 | 充电工况 | 放电工况 | 结论 |
|---|---|---|---|
| 失控功率识别准确性 | ✅ fPwrUct=+10kW,准确反映#2实际充电功率 | ✅ fPwrUct=−10kW,符号与方向正确 | 通过 |
| 剩余功率补偿计算 | ✅ 20−10=10kW,误差0% | ✅ 20+(−10)=10kW,误差0% | 通过 |
| 功率重分配合理性 | ✅ 从机#1额度自动维持10kW,无突变 | ✅ 从机#1维持10kW放电,分配合理 | 通过 |
| 系统总功率守恒 | ✅ 10+10=20kW,误差0%,未超限 | ✅ 10+10=20kW,误差0%,未超限 | 通过 |
| 失控消除后功率恢复 | ✅ #2停止后需求恢复20kW,分配自动更新 | ✅ #2停止后需求恢复20kW,分配自动更新 | 通过 |
| 无过载/无逆流跳闸 | ✅ | ✅ | 通过 |
最终结论:失控功率上报与功率重分配功能,充电、放电工况均完成全阶段(失控前→失控中→失控恢复)验证,系统在单从机失控场景下能准确感知失控功率、自动调整在线从机分配额度,总功率守恒误差0%,无过载越限。功能验收通过。
十一、测试总结
本次测试针对站级储能EMS(SEMS)在多从机系统中的失控功率上报与动态重分配功能开展了全面验证。测试覆盖充电和放电两种工况,每种工况均按"失控前—失控中—失控消除后"三个阶段进行完整观测,完整还原了功率失控事件的发生、处置和恢复全过程。
测试结果表明,当某台从控EMS因内部设备通信异常或进入非自动控制模式而进入失控状态时,该从控能够实时向站级EMS上报当前的实际运行功率作为失控功率值,充电场景上报正值、放电场景上报负值,方向正确,数值准确。站级EMS在收到失控功率上报后,立即从总可分配功率中扣除该失控量,并将经补偿后的剩余功率重新分配给其他处于正常自动控制状态的从机设备,确保正常从机的分配功率加上失控从机的实际运行功率始终等于系统总限制功率,充放电工况下功率守恒误差均为0%,无过载越限,防止了因功率叠加引发的过充、逆流或跳闸风险。待失控设备停止运行后,站级EMS能够及时感知失控功率归零,自动恢复对在线从机的正常满额分配,整个过程无需人工干预,系统自主完成闭环管理。
综上,本功能的失控感知、补偿计算、功率重分配及恢复四个核心环节均经过实测验证,逻辑正确,响应及时,满足多从机储能系统在单台从机失控场景下的安全运行要求,测试验收通过。
