← IBR 动态建模与仿真

IBR 动态建模与仿真

模式切换混合模型

C1-08 · 讲解 + 仿真 + 练习 · 建议 90 分钟

用各模式动态与明确的状态重置描述 GFL–GFM 切换。

学习目标

  • 区分模式切换与并联运行。
  • 解释 reset、hold 与 release 操作。

从结构到模型

模式决定当前哪些方程生效

模式切换逆变器每次只有一个控制器处于激活状态。令 m ∈ {GFL, VSM},事件之间满足 ẋ = f_m(x,u),切换时满足 x⁺ = R(x⁻,u)。活动状态向量与用于保存变量的联合 checkpoint 是两个概念,联合保存表不能直接视为更大的 ODE。

这个演示先使用四状态 GFL,在 1 s 施加指令扰动,在 2 s 切换到四状态 VSM。虽然两者长度都是四,但含义不同:[δ_PLL, ξ_PLL, i_d, i_q] 不能原样复制为 [δ_source, ω, P_f, Q_f]。

构造满足端口关系的重置

切换前记录 PCC 电压 V、注入电流 I、P、Q 和 PLL 频率 ω。接入的新源必须满足 U⁺ = V⁻ + Z_f I⁻,角度设为 arg(U⁺),频率设为 ω⁻,功率滤波状态设为 P⁻、Q⁻。通过新源阻抗,这些条件重建相同的端口电压和电流。

再设 E₀⁺ = |U⁺| + n_q(Q⁻ − Q*),P*⁺ = P⁻ + D(ω⁻ − 1),使电压偏置匹配、初始 VSM 加速度为零。这是重新校准接入控制器指令和电压偏置的显式策略,并不保证切换前 P* 原封不动地保留。

检查哪些量连续

重置检查取复数 PCC 电压、P、Q、内部频率跳变量的最大值;默认结果应接近浮点舍入误差。源角度允许变化,因为接入源位于阻抗之后,而退出角度属于 PLL。这里不应把角度数值相等作为连续性条件。

1 s 的独立扰动仍可能引起代数电压跳变。重置条件针对 2 s 的切换事件,不意味着任意输入变化都保持连续。

详细切换模型还需要什么

实验只包含一次定时切换,未加入非活动控制器跟踪、限幅、驻留时间或保护触发。仓库 VSM–PLL 切换 Notebook 进一步处理 hold/release 策略和不同活动状态维度,也区分了稳定的控制器专用演示参数与相同增益下不稳定的 GFM 端点。仅验证两个端点,不能验证同一设备的模式切换。

核心方程

\dot x=f_m(x,u),\qquad x^+=R_{m^-\to m^+}(x^-,u)
U^+=V^-+Z_f I^-,\quad\delta^+=\arg U^+,\quad\omega^+=\omega^-,\quad P_f^+=P^-,\quad Q_f^+=Q^-
E_0^+=|U^+|+n_q(Q^--Q^*),\qquad P^{*+}=P^-+D(\omega^--1)

仿真实验

  1. 运行定时切换,检查 2 s 前后的轨迹。
  2. 读取数值检查中的重置残差和最终指令偏置。
  3. 在 reset_to_vsm() 中,故意将重置角度改为 PLL 角度,观察跳变。

实验室 · Python 在浏览器内运行

预测 → 运行 → 检查

先预测响应,再修改参数并点击运行。初始曲线是由同一求解器生成的基准结果。首次计算需要联网加载 Python,之后无需重新下载。

正在读取基准结果…

数值检查与采样结果

低频教学模型:额定频率代数网络、理想电流 / 电压实现。50 Hz,10 kVA,400 V;PCC 初始总 P = 0.6、Q = 0;X/R = 10。τᵢ = 0.02 s,τₚ = 0.1 s,τq = 0.05 s,nq = 0.0325;GFM 源阻抗 0.00625 + j0.1 pu。未保留 LCL、内部 PI、直流动态或限流。

修改模型与复现实验

下方代码读取上方参数,但结果独立绘制。修改实验或展开模型源码,可检验自己的预测。下载实验可获得含参数、完整求解器和实验代码的单个 .py 文件;本地只需 Python 3。

case 是点击运行时的参数快照。调用 solve(case),将最终解赋给 result,即可绘制代码结果。

下载求解器

首次运行需联网下载 Python 环境。计算在浏览器内完成,求解器只用 Python 标准库。

准备运行。

输出将在这里显示。
查看并编辑模型源码(进阶)

源代码包含坐标变换、LCL、PLL、droop、VSM、共享 PCC 与显式模式重置。修改源码只影响下次 Python 实验;上方仿真实验继续使用原始教学方程。

检查理解

GFL 与 VSM 状态向量长度相同时,可以直接复制吗?

解释为什么端点稳定不足以验证切换过程。

继续学习:源仓库

本单元根据 PINN-IBR 本地材料整理(审阅日期 2026-10-03)。网页代码为单独编写的教学实现;以下路径对应完整模型、配置和研究案例。

  • Coding/Modeling/Single-IBR-Infinite-Bus/10_VSM_PLL_Transition_Infinite_Bus.ipynb
  • Coding/Modeling/src/ibrsim/models/vsm_pll_transition.py

PINN-IBR 仓库

全部九个模块
  1. 系统边界与模型表示
  2. 坐标变换与标幺约定
  3. 平均变流器与 LCL 电路
  4. PLL 与跟网型控制
  5. 下垂构网型控制
  6. VSM 与虚拟惯性
  7. GFL–GFM 并联混合模型
  8. 模式切换混合模型
  9. 平衡点、扰动与公平比较