考虑通信时延的直流微电网分布式电-氢混合储能协同控制仿真复现与改进

考虑通信时延的直流微电网分布式电-氢混合储能协同控制仿真复现与改进

摘要

针对高比例新能源直流微电网中多储能单元功率互补、状态均衡与通信时延耦合引起的协同控制问题,本文基于本工程 DC_HESS_Delay_Control 对分布式电-氢混合储能系统控制方法进行复现与改进分析。工程采用 MATLAB/Simulink 平均模型描述 4 母线直流微电网、DG/PV、负荷以及 BSU 蓄电池储能和 HSU 氢储能单元,并以 simulate_hess_case.m 实现离散平均仿真,以 run_all.m 串联模型构建、基础复现、通信时延、通信故障、改进控制与时延裕度扫描实验。控制层面,一次控制采用改进分频下垂,使 BSU 响应高频扰动、HSU 承担低频稳态功率;二级控制采用变量补偿一致性平均观测器恢复平均母线电压并协调 gamma_batgamma_ef 功率共享状态。进一步地,工程实现了时延感知自适应二级控制:随通信时延增大自适应降低 k_ui,随 SoC/SoH 差异增大调节 c_i,并通过轻量网格搜索获得对比参数。仿真场景覆盖无时延复现、10 ms/50 ms/100 ms 通信时延、链路故障、控制方法对比和时延裕度扫描,形成了可运行、可量化、可扩展的复现闭环。

关键词

直流微电网;电-氢混合储能;通信时延;一致性控制;分频下垂控制;二级电压恢复;Simulink 仿真;时延裕度

1 引言

新能源分布式发电在直流微电网中的接入比例不断提高,使母线电压稳定、储能功率分配与多节点协同控制成为系统安全运行的关键问题。直流微电网省去了交流同步、无功功率和频率调节环节,适合 PV、储能、直流负荷与电解制氢等设备直接接入,但其电压惯量较小,负荷阶跃、光伏功率突降和储能限幅均可能造成母线电压偏移。

单一储能难以同时兼顾功率密度、能量密度、寿命与动态响应。BSU 蓄电池储能具有较快功率响应能力,适合抑制高频功率扰动,但长期承担稳态大功率会加剧循环寿命损耗;HSU 氢储能具备较高能量密度和长时间尺度调节能力,适合平滑承担低频与稳态功率,但燃料电池、电解槽和储氢环节的动态响应较慢。因此,将 BSU 与 HSU 组合为 HESS,并通过分频功率分配和状态均衡控制实现协同运行,是提高直流微电网弹性的重要途径。

在多 HESS 分布式控制中,二级电压恢复和功率共享通常依赖通信网络交换邻居状态。通信时延会引入额外相位滞后,使一致性变量收敛变慢甚至产生振荡;当二级电压增益、均衡系数或一致性增益取值偏大时,时延不确定性可能显著降低系统稳定裕度。本文围绕本 MATLAB/Simulink 工程的真实脚本、真实参数和真实输出结果,给出从建模、控制、实验到指标分析的期刊风格技术博客化整理,并重点讨论时延感知自适应二级控制及其工程复现价值。

2 工程结构与研究对象

2.1 项目文件结构

本工程采用"参数初始化 - 模型构建 - 平均仿真 - 批量实验 - 指标计算 - 图表输出"的组织方式。核心脚本与目录功能见表 1。

文件/目录 类型 作用
README.md 工程说明 给出研究对象、控制方法、运行方式、实验场景和主要输出图说明。
init_params.m 参数脚本 定义仿真时间、采样周期、母线与线路参数、储能参数、二级控制参数、通信拓扑和评价阈值。
build_model.m Simulink 构建脚本 自动生成 dc_hess_delay_avg_model.slx 平均模型层级。
dc_hess_delay_avg_model.slx Simulink 模型 作为平均模型结构载体,体现 DG/PV、负荷、线路、储能和控制层级。
simulate_hess_case.m 主仿真程序 执行 4 母线离散平均仿真,记录电压、功率、SoC/SoH、gamma、控制量和指标。
run_all.m 一键运行脚本 串联参数初始化、模型生成、全部实验、结果绘图和 metrics_table.csv 输出。
run_case_reproduction.m 基础实验脚本 运行无通信时延的论文方法复现实验。
run_case_delay.m 时延实验脚本 对 0、10、50、100 ms 通信时延进行补偿与无补偿对比。
run_case_fault.m 故障实验脚本 设置单链路故障和多链路故障,评估拓扑退化影响。
run_case_improved.m 改进实验脚本 对比传统分频下垂、论文方法、时延感知自适应方法和网格优化方法。
small_signal_delay_margin.m 裕度扫描脚本 采用 0:10 ms:300 ms 扫描估计可承受通信时延,并构造参数热力图。
calc_metrics.m 指标计算函数 计算电压超调、稳态误差、恢复时间、HSU 斜坡率、SoC/SoH 均衡、gamma 误差和通信量。
plot_results.m 绘图与汇总函数 生成工程图像与 data/metrics_table.csv 指标汇总表。
mermaid_figures.md Mermaid 草稿 保存系统结构、通信拓扑、控制流程、实验流程等图示草稿。
data/ 数据目录 保存 .mat 仿真结果、all_results.matmetrics_table.csv
figures/ 图像目录 保存工程自动导出的 PNG/FIG 图像;本文不直接插入这些图片。
controllers/ 控制器目录 包含一致性观测器、二级控制、自适应控制和一级分频下垂控制等函数。
models/ 模型目录 包含电池 SoC、氢储能 SoH 和直流网络平均模型函数。

表 1 表明,本工程并非单一脚本演示,而是将仿真建模、控制器实现、批量实验与指标计算分层组织。本文后续分析均以这些实际文件为依据。
DC_HESS_Delay_Control
init_params.m

参数初始化
build_model.m

生成 Simulink 平均模型
simulate_hess_case.m

离散平均仿真内核
批量实验脚本
run_case_reproduction.m
run_case_delay.m
run_case_fault.m
run_case_improved.m
small_signal_delay_margin.m
controllers/

控制器函数
models/

储能与网络模型
data/

结果与指标表
figures/

工程输出图

图 1 给出了项目文件结构。参数、模型、控制、实验和输出之间形成闭环,因此博客中的实验结论能够追溯到具体脚本。

2.2 系统总体结构

工程研究对象为 4 条直流母线构成的环形直流微电网。每条母线均接入 DG/PV、负荷以及一组由 BSU 和 HSU 构成的 HESS。一次控制在本地实现分频功率分配;二级控制通过稀疏通信网络交换状态,完成平均电压恢复和功率共享变量一致性调节。

图 2 表示物理层、控制层和评价层之间的关系。simulate_hess_case.m 中的主循环依次计算功率扰动、共享变量、一致性观测、二级补偿、分频功率分配、储能状态更新和直流网络状态更新。

2.3 通信拓扑结构

工程中的邻接矩阵为

A=[0101101001011010], A= \begin{bmatrix} 0&1&0&1\\ 1&0&1&0\\ 0&1&0&1\\ 1&0&1&0 \end{bmatrix}, A= 0101101001011010 ,

对应 4 节点环形稀疏连通图。该拓扑在较少通信边的条件下保持连通性,是分布式一致性控制的网络基础。
tau_12, tau_21
tau_23, tau_32
tau_34, tau_43
tau_41, tau_14
Agent 1
Agent 2
Agent 3
Agent 4

图 3 中每条边表示双向通信链路,标签中的 tau_ij 表示从节点 j 到节点 i 的通信时延。run_case_fault.m 通过置零邻接矩阵中的指定元素模拟链路断开。

3 直流微电网与 HESS 数学建模

3.1 直流母线平均模型

i 条直流母线电容电压动态可写为

CidVidt=IDG,i+IHESS,i−IL,i−∑j∈NiIij−Vi−Vdc∗Rv. C_i\frac{dV_i}{dt} =I_{DG,i}+I_{HESS,i}-I_{L,i}-\sum_{j\in\mathcal{N}i}I{ij}-\frac{V_i-V_{dc}^{*}}{R_v}. CidtdVi=IDG,i+IHESS,i−IL,i−j∈Ni∑Iij−RvVi−Vdc∗.

式中,V_i 为第 i 条母线电压,C_i 为母线等效电容,I_{DG,i}I_{HESS,i}I_{L,i} 分别为 DG/PV、HESS 和负荷电流,I_{ij} 为从母线 i 流向母线 j 的线路电流,R_v 对应工程中的 virtual_voltage_damping。在 simulate_hess_case.m 中,注入电流按功率除以母线电压计算:

Iinj,i=PDG,i+Pbat,i+Pef,i−PL,imax⁡(Vi,50). I_{inj,i}=\frac{P_{DG,i}+P_{bat,i}+P_{ef,i}-P_{L,i}}{\max(V_i,50)}. Iinj,i=max(Vi,50)PDG,i+Pbat,i+Pef,i−PL,i.

线路电流动态采用 RL 平均模型:

LijdIijdt=Vi−Vj−RijIij. L_{ij}\frac{dI_{ij}}{dt}=V_i-V_j-R_{ij}I_{ij}. LijdtdIij=Vi−Vj−RijIij.

当线路电感动态相对较快时,可采用准稳态近似:

Iij≈Vi−VjRij. I_{ij}\approx \frac{V_i-V_j}{R_{ij}}. Iij≈RijVi−Vj.

工程代码中使用指数离散形式更新线路电流:

Iij(k+1)=Iijss(k)+[Iij(k)−Iijss(k)]exp⁡(−RlineLlineTs), I_{ij}(k+1)=I_{ij}^{ss}(k)+\left[I_{ij}(k)-I_{ij}^{ss}(k)\right] \exp\left(-\frac{R_{line}}{L_{line}}T_s\right), Iij(k+1)=Iijss(k)+[Iij(k)−Iijss(k)]exp(−LlineRlineTs),

其中

Iijss(k)=Vi(k)−Vj(k)Rline. I_{ij}^{ss}(k)=\frac{V_i(k)-V_j(k)}{R_{line}}. Iijss(k)=RlineVi(k)−Vj(k).

对应母线电压离散更新为

Vi(k+1)=Vi(k)+TsIinj,i(k)−Iout,i(k)−[Vi(k)−Vdc∗]/RvCbus. V_i(k+1)=V_i(k)+T_s\frac{I_{inj,i}(k)-I_{out,i}(k)-[V_i(k)-V_{dc}^{*}]/R_v}{C_{bus}}. Vi(k+1)=Vi(k)+TsCbusIinj,i(k)−Iout,i(k)−[Vi(k)−Vdc∗]/Rv.

3.2 功率平衡关系

i 条母线的平均功率平衡关系为

PDG,i+PBSU,i+PHSU,i=PL,i+Pline,i+Ploss,i. P_{DG,i}+P_{BSU,i}+P_{HSU,i} =P_{L,i}+P_{line,i}+P_{loss,i}. PDG,i+PBSU,i+PHSU,i=PL,i+Pline,i+Ploss,i.

其中,P_{BSU,i} 对应代码中的 PbatP_{HSU,i} 对应 Pef。系统总功率平衡可写为

∑i=1NPDG,i+∑i=1NPBSU,i+∑i=1NPHSU,i=∑i=1NPL,i+Ploss. \sum_{i=1}^{N}P_{DG,i} +\sum_{i=1}^{N}P_{BSU,i} +\sum_{i=1}^{N}P_{HSU,i} =\sum_{i=1}^{N}P_{L,i}+P_{loss}. i=1∑NPDG,i+i=1∑NPBSU,i+i=1∑NPHSU,i=i=1∑NPL,i+Ploss.

功率缺额在仿真中定义为

Pdef,i(k)=PL,i(k)−PDG,i(k). P_{def,i}(k)=P_{L,i}(k)-P_{DG,i}(k). Pdef,i(k)=PL,i(k)−PDG,i(k).

P_def>0 时,HESS 需要向直流母线放电;当 P_def<0 时,HESS 吸收富余功率。BSU 主要负责快速功率扰动,HSU 主要承担低频稳态功率支撑。

3.3 BSU 蓄电池储能模型

蓄电池输出功率与电流关系为

Pbat,i=ViIbat,i. P_{bat,i}=V_i I_{bat,i}. Pbat,i=ViIbat,i.

工程中按母线电压换算电流:

Ibat,i(k)=Pbat,i(k)max⁡(Vi(k),50). I_{bat,i}(k)=\frac{P_{bat,i}(k)}{\max(V_i(k),50)}. Ibat,i(k)=max(Vi(k),50)Pbat,i(k).

SoC 连续动态可写为

SoC˙i=−Ibat,iCcoul, \dot{SoC}i=-\frac{I{bat,i}}{C_{coul}}, SoC˙i=−CcoulIbat,i,

其中 C_coul=Q_Ah*3600。离散形式为

SoCi(k+1)=SoCi(k)−Pbat,i(k)TsVi(k)Ccoul. SoC_i(k+1)=SoC_i(k)-\frac{P_{bat,i}(k)T_s}{V_i(k)C_{coul}}. SoCi(k+1)=SoCi(k)−Vi(k)CcoulPbat,i(k)Ts.

同时受上下限约束:

SoCi(k+1)∈[SoCL,SoCH]. SoC_i(k+1)\in[SoC_L,SoC_H]. SoCi(k+1)∈[SoCL,SoCH].

SoC 不均衡会改变储能可用容量。工程在功率分配中使用状态权重:放电时 SoC 较高者承担更多功率,充电时 SoC 较低者吸收更多功率,从而避免局部单元过充或过放。

3.4 HSU 氢储能模型

氢储能功率定义为燃料电池输出功率与电解槽吸收功率之差:

Ph,i=Pfc,i−Pel,i. P_{h,i}=P_{fc,i}-P_{el,i}. Ph,i=Pfc,i−Pel,i.

工程中 Pef>0 表示燃料电池输出耗氢,Pef<0 表示电解槽吸收功率制氢:

Pfc,i=max⁡(Pef,i,0),Pel,i=max⁡(−Pef,i,0). P_{fc,i}=\max(P_{ef,i},0),\qquad P_{el,i}=\max(-P_{ef,i},0). Pfc,i=max(Pef,i,0),Pel,i=max(−Pef,i,0).

电解槽产氢摩尔流率和燃料电池耗氢摩尔流率分别为

νel,i=ηFNelIel,izF,νfc,i=NfcIfc,iηFzF. \nu_{el,i}=\frac{\eta_F N_{el}I_{el,i}}{zF},\qquad \nu_{fc,i}=\frac{N_{fc}I_{fc,i}}{\eta_F zF}. νel,i=zFηFNelIel,i,νfc,i=ηFzFNfcIfc,i.

储氢摩尔量更新为

ni(k+1)=ni(k)+Ts[νel,i(k)−νfc,i(k)]. n_i(k+1)=n_i(k)+T_s[\nu_{el,i}(k)-\nu_{fc,i}(k)]. ni(k+1)=ni(k)+Ts[νel,i(k)−νfc,i(k)].

SoH 由储氢罐状态方程换算:

SoHi(k)=RTstoni(k)VstoPsto,max. SoH_i(k)=\frac{R T_{sto} n_i(k)}{V_{sto}P_{sto,max}}. SoHi(k)=VstoPsto,maxRTstoni(k).

因此

SoHi(k+1)=sat⁡[SoHL,SoHH](RTstoni(k+1)VstoPsto,max). SoH_i(k+1)=\operatorname{sat}{[SoH_L,SoH_H]} \left(\frac{R T{sto} n_i(k+1)}{V_{sto}P_{sto,max}}\right). SoHi(k+1)=sat[SoHL,SoHH](VstoPsto,maxRTstoni(k+1)).

HSU 具有较大能量容量和较慢响应时间常数,适合承担低频与长时间尺度功率波动。

3.5 分频功率分配模型

分频功率分配的核心思想是将 HESS 总功率请求分解为低频与高频分量。低通滤波器可表示为

GLPF(s)=1Tfs+1. G_{LPF}(s)=\frac{1}{T_f s+1}. GLPF(s)=Tfs+11.

相应高通滤波器为

GHPF(s)=TfsTfs+1=1−GLPF(s). G_{HPF}(s)=\frac{T_f s}{T_f s+1}=1-G_{LPF}(s). GHPF(s)=Tfs+1Tfs=1−GLPF(s).

理论上可写为

PHSU,i=GLPF(s)PHESS,i, P_{HSU,i}=G_{LPF}(s)P_{HESS,i}, PHSU,i=GLPF(s)PHESS,i,

PBSU,i=GHPF(s)PHESS,i. P_{BSU,i}=G_{HPF}(s)P_{HESS,i}. PBSU,i=GHPF(s)PHESS,i.

在工程的离散平均模型中,HSU 低频通道按一阶惯性更新:

Pef,lp,i(k+1)=Pef,lp,i(k)+Tsτh[λhPreq,i(k)−Pef,lp,i(k)], P_{ef,lp,i}(k+1)=P_{ef,lp,i}(k) +\frac{T_s}{\tau_h}\left[\lambda_h P_{req,i}(k)-P_{ef,lp,i}(k)\right], Pef,lp,i(k+1)=Pef,lp,i(k)+τhTs[λhPreq,i(k)−Pef,lp,i(k)],

其中

λb=RhRb+Rh,λh=1−λb. \lambda_b=\frac{R_h}{R_b+R_h},\qquad \lambda_h=1-\lambda_b. λb=Rb+RhRh,λh=1−λb.

BSU 快速通道为

Pbat,ref,i=Preq,i−Pef,lp,i−80Gbat,i. P_{bat,ref,i}=P_{req,i}-P_{ef,lp,i}-80G_{bat,i}. Pbat,ref,i=Preq,i−Pef,lp,i−80Gbat,i.

其中 Gbat_i 对应代码中对

Gbat(s)=1sCh+1/Rb G_{bat}(s)=\frac{1}{sC_h+1/R_b} Gbat(s)=sCh+1/Rb1

的一阶状态近似。与传统方法相比,改进分频下垂中 BSU 并非完全退出稳态,而是通过虚拟电阻分担小稳态功率,从而缓解 HSU 单独承担全部低频功率造成的慢动态问题。
功率缺额 P_def
电压偏差补偿
二级补偿 Delta_u_bat 与 Delta_u_ef
形成 HESS 功率请求 P_req
低通通道 LPF
高通残差通道 HPF
HSU 低频功率 P_ef
BSU 高频功率 P_bat
SoH 约束与功率限幅
SoC 约束与功率限幅
直流母线功率注入

图 4 给出分频下垂功率分配过程。其工程实现集中在 simulate_hess_case.mprimary_control_average 局部函数中。

4 分布式协同控制方法

4.1 一次控制:改进分频下垂控制

常规直流下垂控制可表示为

Vref,ipri=Vdc∗−Rd,iIi. V_{ref,i}^{pri}=V_{dc}^{*}-R_{d,i}I_i. Vref,ipri=Vdc∗−Rd,iIi.

针对电-氢混合储能,分频下垂可写为

Vbat,i∗=Vdc∗−Rb,iIbat,i+ΔVbat,i, V_{bat,i}^{*}=V_{dc}^{*}-R_{b,i}I_{bat,i}+\Delta V_{bat,i}, Vbat,i∗=Vdc∗−Rb,iIbat,i+ΔVbat,i,

Vh,i∗=Vdc∗−Rh,iIh,i+ΔVh,i. V_{h,i}^{*}=V_{dc}^{*}-R_{h,i}I_{h,i}+\Delta V_{h,i}. Vh,i∗=Vdc∗−Rh,iIh,i+ΔVh,i.

工程参数中 Rb=0.1Rh=0.05Ch=200。由 Rh/(Rb+Rh) 得到的 BSU 稳态分担比例约为 1/3,HSU 稳态分担比例约为 2/3。同时,P.primary.K_voltage_power=900 将母线电压偏差映射为功率请求,P.primary.K_du_power=2000 将二级补偿量映射为储能功率调节量。

4.2 二级控制:变量补偿一致性平均观测器

平均母线电压定义为

Vˉ(t)=1N∑i=1NVi(t). \bar{V}(t)=\frac{1}{N}\sum_{i=1}^{N}V_i(t). Vˉ(t)=N1i=1∑NVi(t).

不含时延的连续一致性更新可写为

x˙i(t)=−μ∑j∈Niaij[xi(t)−xj(t)]+ϕi(t), \dot{x}i(t)=-\mu\sum{j\in\mathcal{N}i}a{ij}[x_i(t)-x_j(t)]+\phi_i(t), x˙i(t)=−μj∈Ni∑aij[xi(t)−xj(t)]+ϕi(t),

含通信时延时为

x˙i(t)=−μ∑j∈Niaij[xi(t)−xj(t−τij)]+ϕi(t). \dot{x}i(t)=-\mu\sum{j\in\mathcal{N}i}a{ij}[x_i(t)-x_j(t-\tau_{ij})]+\phi_i(t). x˙i(t)=−μj∈Ni∑aij[xi(t)−xj(t−τij)]+ϕi(t).

对应离散形式为

xi(k+1)=xi(k)−μTs∑j∈Niaij[xi(k)−xj(k−dij)]+Tsϕi(k). x_i(k+1)=x_i(k)-\mu T_s\sum_{j\in\mathcal{N}i}a{ij} [x_i(k)-x_j(k-d_{ij})]+T_s\phi_i(k). xi(k+1)=xi(k)−μTsj∈Ni∑aij[xi(k)−xj(k−dij)]+Tsϕi(k).

工程实际使用变量补偿平均观测器。对 BSU 或 HSU 任一通道,构造

xi=Vi−ciγi. x_i=V_i-c_i\gamma_i. xi=Vi−ciγi.

邻居延迟状态从环形缓冲区读取:

x^j,ij(k)=xˉj(k−dij),z^j,ij(k)=zj(k−dij). \hat{x}{j,ij}(k)=\bar{x}j(k-d{ij}),\qquad \hat{z}{j,ij}(k)=z_j(k-d_{ij}). x^j,ij(k)=xˉj(k−dij),z^j,ij(k)=zj(k−dij).

一致性误差为

ec,i(k)=∑j=1Naij[x^j,ij(k)−xˉi(k)]. e_{c,i}(k)=\sum_{j=1}^{N}a_{ij}[\hat{x}_{j,ij}(k)-\bar{x}_i(k)]. ec,i(k)=j=1∑Naij[x^j,ij(k)−xˉi(k)].

补偿状态和平均观测状态更新为

zi(k+1)=zi(k)+Ts[ec,i(k)−kzzi(k)+0.2ez,i(k)], z_i(k+1)=z_i(k)+T_s[e_{c,i}(k)-k_z z_i(k)+0.2e_{z,i}(k)], zi(k+1)=zi(k)+Ts[ec,i(k)−kzzi(k)+0.2ez,i(k)],

xˉi(k+1)=xˉi(k)+Ts[ϵ(xi(k)−xˉi(k))+μec,i(k)+kzgzi(k)]. \bar{x}_i(k+1)=\bar{x}i(k)+T_s[\epsilon(x_i(k)-\bar{x}i(k))+\mu e{c,i}(k)+k{zg}z_i(k)]. xˉi(k+1)=xˉi(k)+Ts[ϵ(xi(k)−xˉi(k))+μec,i(k)+kzgzi(k)].

其中 a_ij 为邻接矩阵元素,mu=12 为一致性增益,epsilon=1.4 为本地观测校正增益,z_gain=0.55z_leak=0.25 为补偿状态参数。
采集本地 V_i、gamma_i
构造 x_i = V_i - c_i gamma_i
读取邻居延迟 xbar_j 与 z_j
计算一致性误差 e_c
计算补偿误差 e_z
更新补偿状态 z_i
更新平均观测 xbar_i
输出到二级电压补偿

图 5 对应 controllers/consensus_observer_delay.m。变量补偿项 z_i 的作用是在通信时延下修正平均估计误差,提高观测过程的阻尼。

4.3 二级电压恢复控制

二级控制目标是恢复平均母线电压并协调 HESS 功率共享。基本电压补偿形式为

ΔVisec=kui(Vdc∗−Vˉ^i). \Delta V_i^{sec}=k_{ui}(V_{dc}^{*}-\hat{\bar{V}}_i). ΔVisec=kui(Vdc∗−Vˉ^i).

工程实现采用积分补偿:

ui(k+1)=ui(k)+kuiTs[Vdc∗−Vˉ^i(k)]. u_i(k+1)=u_i(k)+k_{ui}T_s[V_{dc}^{*}-\hat{\bar{V}}_i(k)]. ui(k+1)=ui(k)+kuiTs[Vdc∗−Vˉ^i(k)].

对 BSU 通道,误差定义为

ebat,i=Vdc∗−ciγbat,i−xˉbat,i+0.35[Vdc∗−mean⁡(V)]. e_{bat,i}=V_{dc}^{*}-c_i\gamma_{bat,i}-\bar{x}{bat,i}+0.35[V{dc}^{*}-\operatorname{mean}(V)]. ebat,i=Vdc∗−ciγbat,i−xˉbat,i+0.35[Vdc∗−mean(V)].

对 HSU 通道,误差定义为

eef,i=Vdc∗−ciγef,i−xˉef,i+0.35[Vdc∗−mean⁡(V)]. e_{ef,i}=V_{dc}^{*}-c_i\gamma_{ef,i}-\bar{x}{ef,i}+0.35[V{dc}^{*}-\operatorname{mean}(V)]. eef,i=Vdc∗−ciγef,i−xˉef,i+0.35[Vdc∗−mean(V)].

积分输出满足限幅:

Δui∈[Δumin,Δumax]=[−50,50]. \Delta u_i\in[\Delta u_{min},\Delta u_{max}]=[-50,50]. Δui∈[Δumin,Δumax]=[−50,50].

该设计使二级控制同时具备三类作用:恢复平均母线电压、减小不同母线电压偏差、协调多 HESS 的功率共享状态。

4.4 功率共享状态变量

源码中 gamma_batgamma_ef 不是抽象占位变量,而是由功率和可用状态共同定义。对 BSU,放电和充电状态下分别为

γbat,i={Pbat,iQAh(SoCi−SoCL),Pbat,i≥0,Pbat,iQAh(SoCH−SoCi),Pbat,i<0. \gamma_{bat,i}= \begin{cases} \dfrac{P_{bat,i}}{Q_{Ah}(SoC_i-SoC_L)}, & P_{bat,i}\ge 0,\\ \dfrac{P_{bat,i}}{Q_{Ah}(SoC_H-SoC_i)}, & P_{bat,i}<0. \end{cases} γbat,i=⎩ ⎨ ⎧QAh(SoCi−SoCL)Pbat,i,QAh(SoCH−SoCi)Pbat,i,Pbat,i≥0,Pbat,i<0.

对 HSU,定义为

γef,i={Pef,iPsto,nom(SoHi−SoHL),Pef,i≥0,Pef,iPsto,nom(SoHH−SoHi),Pef,i<0. \gamma_{ef,i}= \begin{cases} \dfrac{P_{ef,i}}{P_{sto,nom}(SoH_i-SoH_L)}, & P_{ef,i}\ge 0,\\ \dfrac{P_{ef,i}}{P_{sto,nom}(SoH_H-SoH_i)}, & P_{ef,i}<0. \end{cases} γef,i=⎩ ⎨ ⎧Psto,nom(SoHi−SoHL)Pef,i,Psto,nom(SoHH−SoHi)Pef,i,Pef,i≥0,Pef,i<0.

其中 gamma_bat 表征蓄电池储能在当前 SoC 下的相对功率承担程度,gamma_ef 表征氢储能在当前 SoH 下的相对功率承担程度。一致性控制使各节点共享变量逐渐收敛,从而避免某一储能单元长期承担过高相对功率。

变量 工程名称 含义 主要来源
ViV_iVi Vbus i 条直流母线电压 dc_network_step
Pbat,iP_{bat,i}Pbat,i Pbat i 组 BSU 功率,正值放电 primary_control_average
Pef,iP_{ef,i}Pef,i Pef i 组 HSU 功率,正值燃料电池输出 primary_control_average
SoCiSoC_iSoCi SoC 蓄电池荷电状态 battery_soc_model 与主仿真循环
SoHiSoH_iSoHi SoH 氢储能状态 hydrogen_soh_model 与主仿真循环
γbat,i\gamma_{bat,i}γbat,i gamma_bat BSU 相对功率共享变量 calc_gamma_bat
γef,i\gamma_{ef,i}γef,i gamma_ef HSU 相对功率共享变量 calc_gamma_ef
xˉi\bar{x}_ixˉi xbar_bat/xbar_ef 一致性平均观测状态 consensus_observer_delay
ziz_izi z_bat/z_ef 变量补偿状态 consensus_observer_delay
kuik_{ui}kui k_ui 二级电压积分增益 init_params 或自适应控制
cic_ici c_i 状态均衡补偿系数 init_params 或自适应控制

表 2 汇总了后续公式与源码变量之间的对应关系。该表也说明本文讨论的控制量均可在仿真日志中直接追溯。

5 通信时延与稳定性分析

5.1 通信时延建模

连续通信时延模型为

yj(t)=xj(t−τij). y_j(t)=x_j(t-\tau_{ij}). yj(t)=xj(t−τij).

在离散平均仿真中,时延被转换为缓冲区读取步数:

yj(k)=xj(k−dij),dij=round⁡(τijTs). y_j(k)=x_j(k-d_{ij}),\qquad d_{ij}=\operatorname{round}\left(\frac{\tau_{ij}}{T_s}\right). yj(k)=xj(k−dij),dij=round(Tsτij).

run_case_delay.m 设置

τ∈{0,0.01,0.05,0.10} s, \tau\in\{0,0.01,0.05,0.10\}\ \mathrm{s}, τ∈{0,0.01,0.05,0.10} s,

即 0、10、50、100 ms 通信时延,并将其写入

τij=τ⋅I(aij>0). \tau_{ij}=\tau\cdot \mathbb{I}(a_{ij}>0). τij=τ⋅I(aij>0).
设定 tau_ij
生成 tau_matrix
计算 d_ij = round(tau_ij / Ts_avg)
环形缓冲区读取历史 xbar_j 与 z_j
代入一致性观测器
形成二级补偿量

图 6 表示通信时延在工程中的离散实现路径。固定时延和随机时延接口均保留在 consensus_observer_delay.m 中。

5.2 时延对一致性收敛的影响

通信时延在控制回路中等效为相位滞后,其频域表达为

Gτ(s)=e−sτ. G_\tau(s)=e^{-s\tau}. Gτ(s)=e−sτ.

tau 增大时,二级控制回路相位裕度下降,一致性变量可能出现更慢的收敛、超调或振荡。对离散一致性过程,若简化为

x(k+1)=[I−μTsLA]x(k), x(k+1)=\left[I-\mu T_s L_A\right]x(k), x(k+1)=[I−μTsLA]x(k),

则无时延稳定性与矩阵谱半径有关:

ρ(I−μTsLA)<1. \rho(I-\mu T_s L_A)<1. ρ(I−μTsLA)<1.

引入时延后,状态依赖 x(k-d),稳定性同时受通信拓扑、控制增益、采样周期和时延大小影响。较大的 k_uimuc_i 会提高响应速度,但也可能在时延条件下降低阻尼。

5.3 小信号时延裕度

从小信号角度,时延裕度可定义为

τmax=max⁡{τ∣σ(Aτ)<0}. \tau_{max}=\max\{\tau\mid \sigma(A_\tau)<0\}. τmax=max{τ∣σ(Aτ)<0}.

工程采用仿真扫描近似估计:

τmax=max⁡τ∈Ω{τ: ∣Vi(t)−Vdc∗∣<ΔVlim, γi(t) 收敛}. \tau_{max}=\max_{\tau\in\Omega} \left\{\tau:\ |V_i(t)-V_{dc}^{*}|<\Delta V_{lim},\ \gamma_i(t)\ \mathrm{收敛}\right\}. τmax=τ∈Ωmax{τ: ∣Vi(t)−Vdc∗∣<ΔVlim, γi(t) 收敛}.

其中扫描集合为

Ω={0,0.01,0.02,...,0.30} s. \Omega=\{0,0.01,0.02,\ldots,0.30\}\ \mathrm{s}. Ω={0,0.01,0.02,...,0.30} s.

small_signal_delay_margin.m 将仿真时长缩短为 12 s、平均步长设为 2 ms,对 paperimproved 两类方法逐点仿真,并记录稳定标志、最大电压偏差和近似裕度。

6 改进控制策略:时延感知自适应二级控制

6.1 改进思想

通信时延越大,二级电压恢复增益过高越容易引起振荡。因此,改进控制令 k_ui 随估计时延增大而自适应降低,以提高时延下的阻尼。同时,当各节点 SoC/SoH 差异较大时,功率共享变量中的能量状态差异应得到更强约束,因此通过增大 c_i 提升均衡能力。工程还在 run_case_improved.m 中提供轻量网格搜索,对 k_uic_i 进行组合筛选。
读取 tau_matrix
估计有效平均时延 tau_est
读取 SoC 与 SoH
计算节点状态偏差
读取母线电压
计算平均电压偏差
时延越大 k_ui 越小
状态差异越大 c_i 越大
电压偏差大时抑制均衡权重
二级电压补偿
输出自适应控制量

图 7 对应 controllers/improved_adaptive_control.m。改进控制没有改变一次功率分配主结构,而是在二级控制参数层引入时延和状态感知。

6.2 时延感知增益调节

源码中有效通信时延估计为

τest=mean⁡{τij∣τij>0}. \tau_{est}=\operatorname{mean}\{\tau_{ij}\mid \tau_{ij}>0\}. τest=mean{τij∣τij>0}.

自适应二级增益为

kuiadp(τ)=sat⁡[kmin,kmax](k01+αττest). k_{ui}^{adp}(\tau)= \operatorname{sat}{[k{min},k_{max}]} \left(\frac{k_0}{1+\alpha_{\tau}\tau_{est}}\right). kuiadp(τ)=sat[kmin,kmax](1+αττestk0).

工程参数为 k0=3.0alpha_tau=18k_min=0.65k_max=4.5。可见 tau_est 越大,k_ui 越小。该策略牺牲部分电压恢复速度,以换取时延条件下更高阻尼和更宽稳定范围。

6.3 SoC/SoH 均衡系数调节

SoC 与 SoH 离散度可定义为

Dsoc=1N∑i=1N(SoCi−SoC‾)2, D_{soc}=\frac{1}{N}\sum_{i=1}^{N}(SoC_i-\overline{SoC})^2, Dsoc=N1i=1∑N(SoCi−SoC)2,

Dsoh=1N∑i=1N(SoHi−SoH‾)2. D_{soh}=\frac{1}{N}\sum_{i=1}^{N}(SoH_i-\overline{SoH})^2. Dsoh=N1i=1∑N(SoHi−SoH)2.

源码采用节点绝对偏差调节:

dsoc,i=∣SoCi−SoC‾∣,dsoh,i=∣SoHi−SoH‾∣. d_{soc,i}=|SoC_i-\overline{SoC}|,\qquad d_{soh,i}=|SoH_i-\overline{SoH}|. dsoc,i=∣SoCi−SoC∣,dsoh,i=∣SoHi−SoH∣.

均衡系数先按状态差异放大:

c~i=c0(1+αsocdsoc,i+αsohdsoh,i), \tilde{c}i=c_0(1+\alpha{soc}d_{soc,i}+\alpha_{soh}d_{soh,i}), c~i=c0(1+αsocdsoc,i+αsohdsoh,i),

再按平均电压偏差抑制:

ciadp=sat⁡[cmin,cmax](c~i1+0.035∣ mean⁡(V)−Vdc∗ ∣). c_i^{adp}= \operatorname{sat}{[c{min},c_{max}]} \left(\frac{\tilde{c}i}{1+0.035|\,\operatorname{mean}(V)-V{dc}^{*}\,|}\right). ciadp=sat[cmin,cmax](1+0.035∣mean(V)−Vdc∗∣c~i).

工程参数为 alpha_soc=3.0alpha_soh=2.0c_min=0.035c_max=0.16。该处理体现了优先级关系:电压偏差较大时优先稳压,电压偏差较小时增强状态均衡。

6.4 网格搜索优化

run_case_improved.m 设置

kui∈{1.4,2.2,3.0},ci∈{0.045,0.075,0.11}. k_{ui}\in\{1.4,2.2,3.0\},\qquad c_i\in\{0.045,0.075,0.11\}. kui∈{1.4,2.2,3.0},ci∈{0.045,0.075,0.11}.

对每组参数调用 simulate_hess_case,再由 objective_from_metrics 计算目标函数:

J=0.22Eov+0.18Tset+0.18Ess+0.16RHSU1000+0.12Dsoc×100+0.10Dsoh×100+0.04U100. J=0.22E_{ov}+0.18T_{set}+0.18E_{ss} +0.16\frac{R_{HSU}}{1000} +0.12D_{soc}\times100 +0.10D_{soh}\times100 +0.04\frac{U}{100}. J=0.22Eov+0.18Tset+0.18Ess+0.161000RHSU+0.12Dsoc×100+0.10Dsoh×100+0.04100U.

若仿真判定不稳定,则附加惩罚:

J←J+104. J\leftarrow J+10^4. J←J+104.

从更一般的多目标角度,可写为

J=w1EV+w2Tset+w3Dγ+w4Dsoc+w5Dsoh. J=w_1E_V+w_2T_{set}+w_3D_{\gamma}+w_4D_{soc}+w_5D_{soh}. J=w1EV+w2Tset+w3Dγ+w4Dsoc+w5Dsoh.

其中电压均方偏差为

EV=1NT∑i=1N∫0T(Vi(t)−Vdc∗)2dt, E_V=\frac{1}{NT}\sum_{i=1}^{N}\int_0^T(V_i(t)-V_{dc}^{*})^2dt, EV=NT1i=1∑N∫0T(Vi(t)−Vdc∗)2dt,

共享变量平均偏差为

Dγ=1N∑i=1N∣γi−γˉ∣. D_{\gamma}=\frac{1}{N}\sum_{i=1}^{N}|\gamma_i-\bar{\gamma}|. Dγ=N1i=1∑N∣γi−γˉ∣.

网格搜索并非复杂智能优化算法,但具有可解释、可复现和运行成本低的优点,适合作为控制参数整定的工程基线。

7 仿真实验设计

7.1 实验参数表

表 3 和表 4 分别列出系统参数与控制参数。数值均来自 init_params.m 或 README。

参数 符号 数值 含义
仿真时间 TendT_{end}Tend 20 s 主实验仿真总时长
需求采样时间 TsT_sTs 1×10−51\times10^{-5}1×10−5 s 工程保留的细采样设定
平均模型步长 Ts,avgT_{s,avg}Ts,avg 1×10−31\times10^{-3}1×10−3 s 主离散平均仿真步长
母线数量 NNN 4 直流母线与 HESS 节点数
额定直流电压 Vdc∗V_{dc}^{*}Vdc∗ 500 V 二级电压恢复参考
线路电阻 RlineR_{line}Rline 0.5 Ohm 环形线路电阻
线路电感 LlineL_{line}Lline 0.1 mH 环形线路电感
母线电容 CbusC_{bus}Cbus 0.08 F 平均母线电容
DG 初始功率 PDG0P_{DG0}PDG0 50 kW/节点 初始分布式电源功率
初始负荷 PL0P_{L0}PL0 [30, 40, 30, 35] kW 四节点初始负荷
负荷扰动时间 tet_ete 5 s、15 s 负荷增加与减小
DG 扰动时间 tgt_gtg 10 s DG 功率下降
BSU 初始 SoC SoC0SoC_0SoC0 [0.55, 0.60, 0.50, 0.58] 电池初始状态
HSU 初始 SoH SoH0SoH_0SoH0 [0.55, 0.50, 0.60, 0.52] 氢储能初始状态
参数 符号 数值 含义
分频下垂电容参数 ChC_hCh 200 BSU 虚拟动态参数
BSU 虚拟电阻 RbR_bRb 0.1 BSU 下垂参数
HSU 虚拟电阻 RhR_hRh 0.05 HSU 下垂参数
二级电压增益 kuik_{ui}kui 2 基准二级积分增益
均衡系数 cic_ici 0.06 gamma 状态补偿系数
一致性增益 μ\muμ 12 平均观测一致性增益
本地校正增益 ϵ\epsilonϵ 1.4 平均观测本地反馈增益
补偿状态增益 kzgk_{zg}kzg 0.55 z 对观测器的补偿强度
补偿状态泄漏 kzk_zkz 0.25 z 状态阻尼
二级补偿限幅 Δu\Delta uΔu [-50, 50] 防积分饱和范围
自适应基准增益 k0k_0k0 3.0 改进控制基准 k_ui
时延敏感系数 ατ\alpha_{\tau}ατ 18 时延增益衰减系数
SoC 权重系数 αsoc\alpha_{soc}αsoc 3.0 SoC 差异调节系数
SoH 权重系数 αsoh\alpha_{soh}αsoh 2.0 SoH 差异调节系数

表 3 和表 4 显示,工程参数覆盖电气网络、储能状态、一次控制、二级控制与通信层。主仿真采用 1 ms 平均步长,有利于批量扫描时延和故障场景。

7.2 实验场景表

实验脚本 实验名称 目的 主要输出
run_case_reproduction.m 无时延基础复现 验证论文方法在理想通信下的电压恢复和功率共享 sim_result_baseline.mat
run_case_delay.m 通信时延实验 对比 0、10、50、100 ms 时延下补偿与无补偿一致性算法 sim_result_delay.mat
run_case_fault.m 通信故障实验 评估单链路故障与多链路故障对一致性和电压恢复的影响 sim_result_fault.mat
run_case_improved.m 改进控制对比 对比传统分频下垂、论文方法、自适应方法和网格优化方法 sim_result_improved.mat
small_signal_delay_margin.m 时延裕度扫描 估计 paperimproved 方法在 0-300 ms 扫描范围内的稳定性 delay_margin_result.mat

表 5 说明工程实验覆盖从理想通信到非理想通信、从控制复现到参数改进的完整链路。

7.3 仿真流程 Mermaid 图

读取参数 init_params
构建模型 build_model
运行基础复现 run_case_reproduction
运行时延实验 run_case_delay
运行故障实验 run_case_fault
运行改进实验 run_case_improved
扫描时延裕度 small_signal_delay_margin
计算指标 calc_metrics
生成 metrics_table.csv
输出博客分析

图 8 与 run_all.m 的执行顺序一致。工程实际运行命令如下:

matlab 复制代码
run_all

若仅验证基础复现实验,可运行:

matlab 复制代码
P = init_params();
run_case_reproduction(P)

单独运行通信时延实验:

matlab 复制代码
P = init_params();
run_case_delay(P)

单独运行改进控制实验:

matlab 复制代码
P = init_params();
run_case_improved(P)

读取指标表可使用:

matlab 复制代码
metrics = readtable('data/metrics_table.csv');
disp(metrics);
























8 评价指标体系

calc_metrics.m 以平均母线电压、储能状态、共享变量、控制量和通信量为核心评价对象。指标越小,一般表示控制性能越好;电压指标反映稳压性能,gamma 指标反映功率共享一致性,SoC/SoH 指标反映储能均衡。

8.1 电压偏差指标

母线电压偏差定义为

eV,i(t)=Vi(t)−Vdc∗. e_{V,i}(t)=V_i(t)-V_{dc}^{*}. eV,i(t)=Vi(t)−Vdc∗.

理论 RMSE 指标可写为

RMSEV=1NT∑i=1N∫0TeV,i2(t)dt. RMSE_V=\sqrt{\frac{1}{NT}\sum_{i=1}^{N}\int_0^T e_{V,i}^{2}(t)dt}. RMSEV=NT1i=1∑N∫0TeV,i2(t)dt .

工程实际主要记录平均母线电压误差:

eVˉ(t)=Vˉ(t)−Vdc∗. e_{\bar{V}}(t)=\bar{V}(t)-V_{dc}^{*}. eVˉ(t)=Vˉ(t)−Vdc∗.

8.2 最大电压偏差

最大电压偏差定义为

Emax=max⁡i,t∣Vi(t)−Vdc∗∣. E_{max}=\max_{i,t}|V_i(t)-V_{dc}^{*}|. Emax=i,tmax∣Vi(t)−Vdc∗∣.

源码中的 VoltageOvershoot 采用平均母线电压最大绝对偏差:

EVˉ,max=max⁡t∣Vˉ(t)−Vdc∗∣. E_{\bar{V},max}=\max_t|\bar{V}(t)-V_{dc}^{*}|. EVˉ,max=tmax∣Vˉ(t)−Vdc∗∣.

8.3 稳定时间

稳定时间定义为

Tset=min⁡{t: ∣Vi(ξ)−Vdc∗∣<δ, ∀ξ>t}. T_{set}=\min\{t:\ |V_i(\xi)-V_{dc}^{*}|<\delta,\ \forall \xi>t\}. Tset=min{t: ∣Vi(ξ)−Vdc∗∣<δ, ∀ξ>t}.

工程在 5 s、10 s 和 15 s 三个扰动事件后分别检测 1 V 电压带,并取最大恢复时间。

8.4 功率共享误差

功率共享误差定义为

Eγ=1N∑i=1N∣γi−γˉ∣. E_{\gamma}=\frac{1}{N}\sum_{i=1}^{N}|\gamma_i-\bar{\gamma}|. Eγ=N1i=1∑N∣γi−γˉ∣.

源码使用末端 2 s 内共享变量标准差均值:

Eγ,bat=mean⁡t∈[T−2,T]{std⁡(γbat(t))}, E_{\gamma,bat}=\operatorname{mean}{t\in[T-2,T]}\{\operatorname{std}(\gamma{bat}(t))\}, Eγ,bat=meant∈[T−2,T]{std(γbat(t))},

Eγ,ef=mean⁡t∈[T−2,T]{std⁡(γef(t))}. E_{\gamma,ef}=\operatorname{mean}{t\in[T-2,T]}\{\operatorname{std}(\gamma{ef}(t))\}. Eγ,ef=meant∈[T−2,T]{std(γef(t))}.

8.5 SoC/SoH 均衡程度

终端 SoC 均衡误差为

Dsoc=max⁡iSoCi(T)−min⁡iSoCi(T). D_{soc}=\max_i SoC_i(T)-\min_i SoC_i(T). Dsoc=imaxSoCi(T)−iminSoCi(T).

终端 SoH 均衡误差为

Dsoh=max⁡iSoHi(T)−min⁡iSoHi(T). D_{soh}=\max_i SoH_i(T)-\min_i SoH_i(T). Dsoh=imaxSoHi(T)−iminSoHi(T).

8.6 综合性能指标

综合评价指标可写为

J=w1RMSEV+w2Emax+w3Tset+w4Eγ+w5Dsoc+w6Dsoh. J=w_1RMSE_V+w_2E_{max}+w_3T_{set}+w_4E_{\gamma}+w_5D_{soc}+w_6D_{soh}. J=w1RMSEV+w2Emax+w3Tset+w4Eγ+w5Dsoc+w6Dsoh.

工程网格搜索目标函数进一步加入 HSU 最大斜坡率、稳态电压误差和控制能量,使参数筛选更贴近电-氢混合储能的动态约束。

指标名称 工程字段 数学含义 性能解释
最大电压偏差 VoltageOvershoot_V $\max \bar{V}-V_{dc}^{*}
稳定时间 SettlingTime_s 事件后回到 1 V 带的最大时间 越小表示恢复越快
稳态电压误差 SteadyStateVoltageError_V 末端 1 s 平均绝对误差 越小表示稳态恢复越好
HSU 最大斜坡率 MaxHSURampRate_kW_s $\max \Delta P_{ef}/\Delta t
BSU 最大冲击 BSUMaxImpact_kW $\max P_{bat}
SoC 均衡误差 SoC_Balance_Error 末端 SoC 极差 越小表示电池状态更均衡
SoH 均衡误差 SoH_Balance_Error 末端 SoH 极差 越小表示氢储能状态更均衡
BSU 共享误差 GammaBat_Error 末端 gamma_bat 标准差均值 越小表示 BSU 相对功率更一致
HSU 共享误差 GammaEf_Error 末端 gamma_ef 标准差均值 越小表示 HSU 相对功率更一致
通信量 CommunicationVolume_MB 边数、采样点和信号字节数估算 反映通信开销
稳定标志 Stable 电压偏差和数值有效性判据 1 表示该工况满足工程稳定判据

仿真日志 result
平均电压 Vavg
Pef 与 Pbat
SoC 与 SoH
gamma_bat 与 gamma_ef
Delta_u_bat 与 Delta_u_ef
电压超调、稳态误差、恢复时间
HSU 斜坡率与 BSU 冲击
SoC/SoH 均衡误差
功率共享误差
控制能量
metrics_table.csv

图 9 给出了评价指标计算流程。plot_results.m 将各实验结果逐行汇总为 data/metrics_table.csv

9 结果分析与讨论

9.1 基础复现实验分析

当前项目已读取到 data/metrics_table.csv,因此表 7 给出真实指标汇总,数值按工程输出四舍五入展示。

工况 时延/s 最大电压偏差/V 恢复时间/s 稳态误差/V HSU斜坡/kW/s BSU冲击/kW SoC误差 SoH误差 gamma_bat误差 gamma_ef误差 通信量/MB 稳定
论文复现-无时延 0.00 35.407 2.374 0.045 81.667 22.188 0.0999 0.1000 2.868 0.0168 4.883 1
论文方法-时延0ms 0.00 35.407 2.374 0.045 81.667 22.188 0.0999 0.1000 2.868 0.0168 4.883 1
论文方法-时延10ms 0.01 35.461 2.466 0.050 81.553 22.118 0.0999 0.1000 2.869 0.0168 4.883 1
论文方法-时延50ms 0.05 35.508 1.640 0.126 81.413 22.015 0.0999 0.1000 2.873 0.0168 4.883 1
论文方法-时延100ms 0.10 35.521 2.007 0.199 81.399 21.984 0.0999 0.1000 2.876 0.0167 4.883 1
无变量补偿-时延0ms 0.00 35.407 2.374 0.045 81.667 22.194 0.0999 0.1000 2.816 0.0181 4.883 1
无变量补偿-时延10ms 0.01 35.447 2.454 0.049 81.582 22.141 0.0999 0.1000 2.816 0.0181 4.883 1
无变量补偿-时延50ms 0.05 35.436 1.895 0.080 81.459 22.052 0.0999 0.1000 2.819 0.0180 4.883 1
无变量补偿-时延100ms 0.10 35.478 1.575 0.156 81.455 22.025 0.0999 0.1000 2.821 0.0180 4.883 1
单条通信线路故障 0.05 35.466 1.814 0.092 81.470 22.069 0.0999 0.1000 2.897 0.0212 3.662 1
多条通信线路故障 0.05 35.452 1.661 0.070 81.575 22.131 0.0999 0.1000 3.293 0.0291 2.442 1
传统分频下垂 0.05 62.157 2.517 0.018 164.888 9.411 0.1000 0.1000 0.708 0.0223 4.883 1
论文方法 0.05 35.508 1.640 0.126 81.413 22.015 0.0999 0.1000 2.873 0.0168 4.883 1
改进自适应方法 0.05 54.888 4.500 1.455 0.164 30.065 0.0995 0.1000 11.659 0.0015 4.883 1
网格优化-k1.40-c0.045 0.05 35.148 1.680 0.076 82.380 22.340 0.0999 0.1000 3.377 0.0129 4.883 1

无通信时延基础复现实验中,平均母线电压最大偏差为 35.407 V,末端稳态误差为 0.045 V,说明二级控制能够将平均母线电压恢复到 500 V 附近。BSU 最大功率冲击约 22.188 kW,HSU 最大斜坡率约 81.667 kW/s,反映出 BSU 承担快速扰动、HSU 平滑承担低频功率的分工。gamma_batgamma_ef 指标在末端保持有限误差,说明共享变量进入可控收敛状态。

9.2 不同通信时延实验分析

10 ms、50 ms、100 ms 时延下,论文方法的最大平均电压偏差从 35.461 V 增至 35.521 V,稳态误差从 0.050 V 增至 0.199 V。该趋势表明,时延增大主要削弱稳态恢复精度并放慢一致性观测的有效更新。尽管本参数组下所有时延工况仍满足工程稳定判据,但 gamma_bat 误差随时延略有增大,说明共享变量一致性受到通信滞后的影响。
通信时延增大
邻居状态滞后
一致性误差包含旧信息
平均观测收敛变慢
二级电压恢复精度下降
gamma 共享变量误差变化
稳态误差增大
功率共享性能劣化

图 10 以逻辑图形式概括了不同时延对控制性能的影响。与直接曲线图相比,该图强调了时延影响从通信层传导至控制层和指标层的路径。

9.3 通信故障实验分析

通信故障实验中,单链路故障将 HESS1-HESS2 通信边断开,但网络仍保持连通;多链路故障同时断开 HESS1-HESS2HESS1-HESS4,使节点 1 与其余节点的通信关系显著退化。指标上,多链路故障的 gamma_bat 误差由单链路故障的 2.897 增至 3.293,gamma_ef 误差由 0.0212 增至 0.0291,说明通信拓扑退化对功率共享一致性更敏感。

故障类型 拓扑状态 电压恢复影响 功率共享影响 工程指标表现
单链路故障 环网退化但仍连通 平均电压仍可恢复 一致性误差略增 通信量降至 3.662 MB,系统稳定
多链路故障 节点 1 通信显著受限 电压恢复仍满足判据 gamma 误差更明显 通信量降至 2.442 MB,gamma_bat 误差升高
网络完全分割 当前脚本未单独扩展为完全孤岛 局部子网可能形成不同估计值 共享变量难以全局一致 可作为后续扩展场景

表 8 表明,电压恢复对局部通信退化具有一定鲁棒性,而功率共享一致性对拓扑连通性更敏感。

9.4 改进控制方法对比

在 50 ms 时延下,传统分频下垂的最大电压偏差为 62.157 V,明显高于论文方法的 35.508 V,说明二级一致性补偿对电压动态具有关键作用。改进自适应方法显著降低 HSU 斜坡率至 0.164 kW/s,并将 gamma_ef 误差降至 0.0015,但其电压恢复时间和稳态误差增大,体现出"氢储能平滑性优先"与"电压快速恢复"之间的权衡。网格优化方法在当前指标权重下取得较小最大电压偏差 35.148 V 和较低稳态误差 0.076 V,是该组网格中的综合折中解。

方法 电压恢复 时延鲁棒性 SoC/SoH 均衡 参数复杂度 综合评价
传统分频下垂 最大偏差较大,恢复较慢 不依赖补偿但性能有限 状态均衡能力弱 适合作为基线,不适合作为最终方案
论文方法 电压偏差较小,恢复较快 50 ms 下保持稳定 gamma_ef 误差较低 复现主方法,综合性能稳定
时延感知自适应方法 电压恢复变慢,稳态误差增大 通过降增益提高阻尼 HSU 斜坡和 gamma_ef 优势明显 偏向保护 HSU 动态和平滑性
网格优化方法 最大电压偏差最低 参数经 50 ms 场景筛选 gamma_ef 优于论文方法 中高 当前权重下的工程折中方案

传统分频下垂
统一指标评价
论文复现方法
时延感知自适应方法
网格优化方法
电压偏差
恢复时间
HSU 斜坡率
gamma 共享误差
SoC/SoH 均衡
综合评价

图 11 说明不同控制方法的比较不应仅依据单一电压指标,而应结合储能动态平滑性、共享一致性与状态均衡。

9.5 时延裕度分析

时延裕度越大,说明系统对通信非理想因素的鲁棒性越强。过大的二级电压增益虽然可提高无时延响应速度,但会降低时延条件下的相位裕度;适度降低高时延下的 k_ui 能提高阻尼。small_signal_delay_margin.m 采用 0 到 300 ms 的扫描集合,对 paperimproved 方法逐点记录稳定性,并额外构造 k_ui-c_i 近似裕度热力图,为参数整定提供参考。


选择控制方法 paper 或 improved
设置 tau = 0:10ms:300ms
缩短仿真 t_end = 12s
运行 simulate_hess_case
计算 VoltageOvershoot 与 Stable
是否稳定
记录可稳定 tau
标记失稳边界
得到 tau_lim
生成时延裕度分析

图 12 给出了时延裕度扫描逻辑。该方法属于工程仿真扫描而非严格解析小信号求根,但能直接反映当前平均模型和控制参数下的可承受时延范围。

10 Mermaid 图清单

本文所有图均采用 Mermaid 绘制,不直接插入 figures/ 中的 PNG、JPG 或 FIG 文件。图 1 至图 12 分别覆盖项目文件结构、系统结构、通信拓扑、分频功率分配、一致性观测器、时延建模、自适应控制、仿真流程、指标计算、时延影响逻辑、控制方法对比和时延裕度扫描。
Mermaid 图清单
系统总体结构图
项目文件结构图
4 节点通信拓扑图
分频下垂功率分配流程图
变量补偿一致性观测器流程图
时延感知自适应控制流程图
run_all 一键实验流程图
评价指标计算流程图
不同控制方法对比逻辑图
时延裕度扫描流程图

图 13 作为图清单索引,便于读者在 Markdown 渲染环境中快速核验图示覆盖情况。

11 工程复现价值与可扩展方向

本工程实现了从模型构建、批量实验、指标计算到图表输出的闭环流程。与仅给出控制理论或单次仿真曲线不同,本工程能够通过 run_all.m 自动运行复现、时延、故障、改进和裕度扫描实验,并将全部指标写入 data/metrics_table.csv,适合作为直流微电网分布式控制仿真的基础工程。

可扩展方向 当前基础 扩展价值
Simscape Electrical 线路模型 当前为平均线路与母线电容模型 可提高电气暂态细节和器件级可信度
真实 PV MPPT 当前 DG/PV 采用功率源与阶跃扰动 可研究辐照变化和 MPPT 动态对母线电压的影响
AEL 电解槽极化曲线 当前电解槽采用效率与电压平均换算 可提高制氢功率-电流-产氢关系精度
燃料电池动态模型 当前燃料电池采用平均功率和耗氢换算 可加入气体供给、活化损耗和动态限幅
PSO/GA 参数优化 当前使用轻量网格搜索 可处理更高维控制参数和多目标权衡
随机丢包与带宽限制 当前主要设置固定时延与链路断开 可更贴近实际通信网络非理想因素
事件触发通信 当前每步交换邻居状态 可降低通信量并研究触发阈值稳定性
硬件在环验证 当前为 MATLAB/Simulink 平均仿真 可向实时控制器验证与工程部署过渡

表 11 说明,当前工程已具备复现实验闭环,后续可沿电气细节、通信非理想性和优化算法三个方向扩展。
当前平均模型工程
更高保真电气模型
更真实电-氢设备模型
更复杂通信非理想因素
智能优化参数整定
Simscape Electrical
PV MPPT / AEL / 燃料电池动态
随机丢包 / 带宽限制 / 事件触发
PSO / GA / 多目标优化

图 14 给出了后续可扩展方向。由于本工程已经将参数、控制器和实验脚本分离,新增模型或算法时可优先保持 simulate_hess_case 的输入输出接口一致。

12 结论与展望

本文基于当前 MATLAB/Simulink 工程,对考虑通信时延的直流微电网分布式电-氢混合储能协同控制方法进行了工程化复现与博客化论文式整理。工程采用 4 母线环形直流微电网、4 组 HESS、改进分频下垂一次控制和变量补偿一致性二级控制,实现了无时延复现、固定通信时延、通信故障、改进控制对比和时延裕度扫描。

真实指标表明,论文方法在 0 至 100 ms 固定时延下均满足工程稳定判据,平均母线电压最大偏差保持在约 35.4 至 35.5 V 区间,稳态电压误差随时延增大而上升。通信故障实验说明,电压恢复对局部链路退化具备一定鲁棒性,但功率共享变量一致性对拓扑退化更敏感。改进自适应方法通过降低时延下的二级增益和调节状态均衡系数,显著改善 HSU 功率平滑性和 gamma_ef 一致性,但会牺牲电压恢复速度;网格优化方法则在当前权重下给出较好的综合折中。

后续研究可在三个方向继续推进:一是以 Simscape Electrical 和真实电-氢设备特性提高模型精度;二是将固定时延扩展为随机丢包、带宽限制和事件触发通信;三是以 PSO、GA 或多目标优化方法替代轻量网格搜索,进一步揭示电压恢复、储能寿命、氢储能平滑性和通信开销之间的量化权衡。

如需要源文件,请在评论区下联系作者。制作不易,请各位看官老爷点个赞和收藏!!!

相关推荐
不会写程序的未来程序员1 小时前
从快递物流到分布式架构:RocketMQ全栈进阶实战指南——从入门到高手的代码与原理解析
分布式·架构·rocketmq
虎头金猫1 小时前
Beszel 轻量服务器监控:多台服务器状态统一看,搭起来比 Prometheus 省事太多
linux·运维·服务器·分布式·kafka·开源·prometheus
xingyuzhisuan2 小时前
哪里可以租到支持Ray框架的分布式GPU集群?
分布式
爱编程的小新☆2 小时前
redis缓存
redis·分布式·缓存
liux35282 小时前
Kafka 4.1.1 生产环境调优与最佳实践指南
数据库·分布式·kafka
StackNoOverflow2 小时前
RabbitMQ 从入门到实战:详解安装、五种消息模型及持久化
分布式·rabbitmq
Francek Chen3 小时前
【大数据存储与管理】云数据库:03 云数据库系统架构
大数据·数据库·分布式·架构
2601_957786773 小时前
AI 原生营销矩阵系统:分布式素材管理与多租户权限控制技术实现
人工智能·分布式·矩阵
appearappear3 小时前
乐观锁与分布式的理解
分布式