微电网并离网控制与仿真系统工程理论

Barcode ENXHQTNE43K11
《微电网并离网控制与仿真系统工程理论基线(Baseline v1.0)》
封存级 TOC(连续树状结构)

0. 文档定位、封存声明与使用边界
├─ 0.1 文档性质与工程级别定义
│  ├─ Baseline / Design Basis / Control Constitution 的工程含义
│  ├─ 原则层 / 机制层 / 参数层 / 实现层的分层定义
│  └─ 本文档在 EMS / 仿真系统 / EPC 审图中的地位
├─ 0.2 封存原则
│  ├─ 允许演进:参数、实现方式、UI 表达
│  ├─ 禁止推翻:控制哲学、保护优先级、失败定义
│  └─ 版本升级触发条件(控制逻辑或保护逻辑变化)
└─ 0.3 适用系统边界
   ├─ 适用:AC Microgrid(Grid + Diesel + BESS + PV + Wind)
   ├─ 必须具备 PCC 且 PCC 可控
   └─ 不覆盖:纯并网、HVDC-only、无 PCC 拓扑

1. 微电网的物理本质与控制问题重述
├─ 1.1 微电网与大电网的本质差异
│  ├─ Infinite Bus 假设在岛网侧的失效
│  ├─ 低惯量系统的敏感性来源
│  └─ 控制对象由“电压源”转为“功率平衡”
├─ 1.2 三大不可逃避工程约束
│  ├─ 功率平衡不可违反
│  ├─ 惯量缺失或不足
│  └─ 控制延迟(采样 / 滤波 / 执行)
└─ 1.3 稳定的工程定义
   ├─ 稳定 ≠ 静止
   ├─ 稳定 = 可控的动态过程
   └─ 稳定 = Correct Failure(允许失败但必须正确)

2. 功率平衡:唯一的一阶控制真理
├─ 2.1 瞬时功率平衡方程(工程级)
│  ├─ 多电源并列功率求和
│  ├─ P_grid / P_dg / P_bess / P_load 符号体系
│  └─ 损耗项在仿真中的工程处理原则
├─ 2.2 功率不平衡的系统后果
│  ├─ 功率不平衡 → 频率漂移(df/dt)
│  ├─ 功率不平衡 → 电压下陷
│  └─ UVLS 触发的物理合理性
└─ 2.3 “不自动变稳”是正确设计
   ├─ 反对硬编码稳定
   ├─ 反对 UI 稳定而内核不守恒
   └─ 稳定必须付出功率代价

3. 频率:状态量,而非控制目标
├─ 3.1 频率动态的物理来源
│  ├─ 等效摆动方程
│  ├─ df/dt 与等效惯量 H_eq
│  └─ 测量与滤波对频率显示的影响
├─ 3.2 RoCoF 的工程意义
│  ├─ 频差与变化率的本质区别
│  ├─ RoCoF 作为失稳先兆
│  └─ RoCoF 保护的合理性
└─ 3.3 稳频的真实手段
   ├─ 频率控制是功率控制的投影
   ├─ 强拉频率的系统风险
   └─ 频率不可被命令,只能被响应

4. 惯量、虚拟惯量与频率支撑
├─ 4.1 真实机械惯量(柴油机)
│  └─ 慢响应但可持续
├─ 4.2 虚拟惯量(VSG / Grid-forming)
│  ├─ Droop 项
│  ├─ 阻尼项
│  └─ 慢积分恢复
└─ 4.3 虚拟惯量的工程边界
   ├─ SOC 约束
   ├─ 功率限幅
   └─ 短期救场,长期回归调度

5. BESS:最强控制器,也是最危险的错觉
├─ 5.1 BESS 的双重身份
│  ├─ 快速功率平衡器
│  └─ 有限能量缓冲器
├─ 5.2 功率模型与符号约定
│  ├─ P_BESS > 0 放电
│  └─ P_BESS < 0 充电
├─ 5.3 SOC 动态与长期稳定性
│  ├─ SOC 演化公式
│  └─ 饱和与边界处理
└─ 5.4 常见工程错误
   ├─ 将电池当作无限电源
   └─ 忽略 SOC 饱和导致假稳态

6. 柴油机系统:被低估的系统核心
├─ 6.1 柴油机真实工程约束
│  ├─ 启动延迟
│  ├─ 最小稳定负载
│  ├─ 爬坡率限制
│  └─ 热备用油耗
├─ 6.2 Droop 控制与参数范围
│  └─ 工程默认区间
└─ 6.3 柴油机与 BESS 的职责边界
   ├─ 瞬态由 BESS 承担
   └─ 稳态由柴油机兜底

7. 可再生能源工程建模
├─ 7.1 光伏(PV)模型
│  ├─ 日内曲线
│  ├─ 云影扰动
│  └─ 可预测性假设
├─ 7.2 风电(Wind)模型
│  ├─ 随机过程
│  ├─ 高频扰动
│  └─ Gust 事件
└─ 7.3 可再生能源不承担的责任
   ├─ 不主稳频
   └─ 不做并机裁决

8. 负载建模:真实系统的起点
├─ 8.1 负载非恒定的工程事实
├─ 8.2 随机波动建模(OU 过程)
│  ├─ τ(时间尺度)
│  ├─ σ(波动强度)
│  └─ 极值 Clamp
└─ 8.3 设备级负载事件
   ├─ Motor Start
   ├─ Crusher Cycle
   └─ 阶跃与脉冲建模

9. PCC 并离网控制状态机
├─ 9.1 PCC 的电气与控制意义
├─ 9.2 状态机定义
│  ├─ Grid-connected
│  ├─ Islanded
│  ├─ Sync-check
│  ├─ Reclosing
│  └─ Tripped
└─ 9.3 “点了没合上”作为正确失败
   └─ 条件不满足必须失败

10. 同步检查(Sync-check)
├─ 10.1 频率同步条件 |Δf| ≤ Δf_max
├─ 10.2 电压与相位条件 |ΔV| ≤ ΔV_max
└─ 10.3 合闸失败的解释框架
   ├─ Failure Mode 分类
   └─ 日志与 UI 原则

11. Sync Assist:EMS 的行为边界
├─ 11.1 EMS 不强合闸原则
├─ 11.2 Sync Assist 控制逻辑
│  ├─ 调功率
│  ├─ 拉频率
│  └─ 达标后允许合闸
└─ 11.3 常见错误模式
   ├─ 过强控制导致振荡
   └─ 忽略 SOC / DG 约束

12. 保护系统:高于 EMS 的最终裁决者
├─ 12.1 保护优先级
│  └─ Protection > Control > Dispatch > UI
├─ 12.2 保护机制集合
│  ├─ UF / OF
│  ├─ UV / OV
│  ├─ RoCoF
│  └─ UVLS
└─ 12.3 保护与 EMS 的协同边界
   └─ EMS 不得对抗保护

13. Allow all-off 与热备用的工程取舍
├─ 13.1 Allow all-off = YES
│  ├─ 低油耗
│  └─ 高恢复风险
├─ 13.2 Allow all-off = NO
│  ├─ 热备用
│  └─ 更强恢复能力
└─ 13.3 工程默认选择逻辑
   └─ 可控性优先于极致省油

14. 仿真系统工程设计原则(封存)
├─ 14.1 仿真不是为了“好看”
├─ 14.2 Correct Failure 的仿真定义
└─ 14.3 仿真与真实系统差异边界
   ├─ 允许差异
   └─ 危险差异

15. Baseline v1.0 封存声明
├─ 15.1 不可变条款
├─ 15.2 演进规则
└─ 15.3 工程责任与使用声明

附录
├─ 附录 A|符号、变量与工程参数表
├─ 附录 B|常见错误建模方式清单(反例)
└─ 附录 C|工程默认参数建议区间(投标口径)

第 0 章|文档定位、封存声明与使用边界

(Baseline v1.0 · Mandatory Chapter · Must Not Be Skipped)


0.1 文档性质与工程级别定义

0.1.1 文档类型定义

本文档定义为:

其性质明确 不是

本文件的目标对象为:


0.1.2 “Baseline”的工程含义

在本文档中,“Baseline”具有严格工程含义:

Baseline = 一组被明确封存的系统假设 + 控制原则 + 物理约束
           任何实现、代码、参数调整
           均不得违背该组原则

其核心特征包括:

任何后续系统版本(v2.0 / v3.0):


0.1.3 本文档在系统体系中的地位

在完整系统工程中,本文档所处位置如下:

┌─────────────────────────────┐
│  Regulatory / Grid Codes     │
│  (IEEE, UL, IEC, etc.)       │
└───────────────▲─────────────┘
                │
┌───────────────┴─────────────┐
│  This Document               │
│  (Microgrid Control Baseline)│
└───────────────▲─────────────┘
                │
┌───────────────┴─────────────┐
│  EMS Control Logic           │
│  (Algorithms / State Machine)│
└───────────────▲─────────────┘
                │
┌───────────────┴─────────────┐
│  Simulation / Code / UI      │
└─────────────────────────────┘

即:


0.2 封存原则(Baseline Lock Rules)

0.2.1 允许演进 vs 禁止推翻

本文档定义两类修改行为:

Allowed:
- 参数范围细化
- 控制算法实现优化
- 数值稳定性改进
- UI / 可视化增强(不改变内核逻辑)

Forbidden:
- 改写功率守恒逻辑
- 绕过并离网状态机
- 强制合闸忽略同步条件
- 通过硬编码“消除不稳定”

0.2.2 Baseline 版本升级触发条件

只有在以下情况出现时,才允许升级 Baseline 版本号:

单纯的实现改进,不构成版本升级理由。


0.2.3 原则层 vs 实现层的严格区分

Principle Layer (Locked):
- 功率平衡是唯一一阶真理
- 频率是状态量,不是控制命令
- 合闸是结果,不是指令
- 保护系统高于 EMS

Implementation Layer (Flexible):
- 数值积分方法
- 控制参数具体取值
- UI 表现形式
- 日志与可视化方式

0.3 适用系统边界与明确不覆盖范围

0.3.1 本 Baseline 适用范围

本文档适用于以下系统类型:

- AC 微电网(50 / 60 Hz)
- 单 PCC 并离网系统
- 资源组合:
  - Diesel Generator
  - Battery Energy Storage System (BESS)
  - Photovoltaic (PV)
  - Wind
  - Utility Grid
- 存在 EMS 级调度与控制
- 存在独立保护系统

0.3.2 明确不覆盖的系统类型

为避免误用,以下系统 明确不在本文档讨论范围内

- 纯并网系统(无 Island mode)
- HVDC-only 微网
- 无明确 PCC 的分布式并列系统
- 单一电源 UPS 架构
- 仅用于演示或教学的理想化模型

0.3.3 仿真系统与真实系统的边界声明

本文档适用于:

但必须明确:

Simulation ≠ Reality
但:
违反物理直觉的仿真结果 ≠ 合格仿真

仿真允许简化,但 不允许违背守恒与控制因果关系


0.4 强制阅读与引用声明

0.4.1 强制阅读条款

任何人若试图:
- 修改控制逻辑
- 扩展仿真功能
- 对系统行为作出解释

在未通读第 0 章的情况下,
其结论与实现均视为无效。

0.4.2 引用与责任声明


第 1 章|微电网的物理本质与控制问题重述

(Baseline v1.0 · Core Theory Chapter)


1.1 微电网与大电网的本质差异

1.1.1 “无限母线”假设在微电网中的失效

在传统大电网分析中,常采用“无限母线(Infinite Bus)”假设:

- 频率恒定
- 电压幅值恒定
- 相角变化可忽略

该假设的工程前提是:

系统等效惯量 → 无穷大
系统短路容量 → 极大
单个扰动 → 对系统状态影响可忽略

微电网不满足上述任何一条。

在微电网中:

- 惯量低或不存在
- 短路容量有限
- 单个资源/负载的变化即可主导系统状态

因此,任何将大电网分析方法直接移植到微电网的做法都是工程错误


1.1.2 低惯量系统的直接后果

低惯量意味着:

功率不平衡 → 频率立即响应

其工程表现为:

这也是为何在仿真中:

- 系统“看起来不稳”
- 频率持续摆动

并不代表系统设计错误,而是物理真实。


1.2 微电网的三大不可逃避约束

微电网控制问题可被压缩为三条不可绕开的工程约束。

1.2.1 约束一:功率平衡(Power Balance)

在任意时间尺度(ms–s–min):

$$∑Psources(t)=∑Ploads(t)+Ploss(t)\sum P_{\text{sources}}(t) = \sum P_{\text{loads}}(t) + P_{\text{loss}}(t)$$

工程解释:

- 不存在“先稳定、后补功率”
- 功率守恒不是策略,是物理定律

在仿真代码中,该约束体现为:

- 所有资源功率参与同一求和
- 频率由不平衡积分得到
- UI 不得掩盖不平衡

1.2.2 约束二:惯量缺失(Low / Zero Inertia)

资源惯量对比(工程视角):

Diesel Generator  : 有限机械惯量
BESS (Inverter)  : 电子惯量(可控)
PV / Wind        : 零惯量

直接结论:

- 可再生资源不能“天然稳频”
- 所有稳频行为必须由控制系统显式提供

1.2.3 约束三:控制延迟(Control Latency)

任何控制闭环都存在:

- 测量延迟
- 滤波延迟
- 计算延迟
- 执行器延迟

工程后果:

- 不存在“瞬时完美控制”
- 过度激进的控制增益必然引发振荡

这解释了为何在仿真中必须:

- 限制 ramp rate
- 限制控制增益
- 接受短时偏差

1.3 “稳定”在微电网中的工程定义

1.3.1 稳定 ≠ 静止

在微电网中,“稳定”不等价于

- 频率恒定在 60.000 Hz
- 功率曲线为直线

工程级稳定定义为:

系统在扰动后:
- 不发散
- 不触发不可逆保护
- 能回到可接受运行区间

1.3.2 稳定 = 可控的动态过程

可接受的稳定状态包括:

- 小幅持续振荡
- 频率围绕额定值缓慢摆动
- BESS / DG 周期性介入

这些行为在仿真中应被视为:

- 正常
- 真实
- 可审计

1.3.3 稳定 = 可接受失败(Correct Failure)

关键工程原则:

并非所有失败都是错误

在以下情况下,失败是正确的:

- 频差过大 → 拒绝合闸
- 同步未达标 → PCC 不闭合
- SOC 过低 → BESS 限功率
- RoCoF 超限 → 保护动作

这在控制哲学上意味着:

“系统拒绝执行不安全命令”
本身就是系统成功的表现

1.4 微电网控制问题的重新表述

1.4.1 错误的问题表述(应避免)

- 如何让频率永远是 60 Hz?
- 如何让系统看起来一直很稳?
- 如何让 UI 上没有红色告警?

上述问题会直接导向错误设计


1.4.2 正确的问题表述(Baseline 采用)

- 在资源与负载不确定的情况下,
  如何维持功率守恒?

- 在惯量不足的系统中,
  如何限制 df/dt?

- 在保护优先的前提下,
  如何最大化系统可用性?

1.4.3 控制目标的层级化表达

Level 1(物理):
- 不违背功率守恒
- 不违背保护边界

Level 2(控制):
- 限制频率与电压偏移
- 管理能量(SOC / Fuel)

Level 3(调度):
- 优化油耗
- 提高可再生消纳

Level 4(UI):
- 真实呈现系统状态
- 不掩盖风险

任何高层目标不得破坏低层约束


1.5 本章结论(封存要点)

- 微电网不是缩小版大电网
- 功率平衡是唯一一阶真理
- 频率是状态量,不是命令
- 稳定是动态、不是静态
- 失败可以是正确结果

这些结论将作为后续所有章节的逻辑前提


第 2 章|功率平衡:唯一的一阶控制真理

(Baseline v1.0 · First-Order Control Law)


2.1 功率平衡的工程级定义

2.1.1 功率平衡不是控制目标,而是物理约束

在微电网系统中,功率平衡不是“希望达到的状态”,而是:

一个在任何时间、任何工况下
都必须被满足的物理约束

其工程含义是:

系统不会“选择”是否满足功率平衡
系统只会用频率、电压、保护动作
来强制体现功率不平衡的后果

因此,任何控制策略的首要问题不是:

“我想让系统做什么”

而是:

“当前功率是否守恒?”

2.1.2 瞬时功率平衡方程(多源并列)

在本 Baseline 适用的微电网拓扑中,瞬时功率平衡表达为:

$$PDG(t)+PBESS(t)+PPV(t)+PWIND(t)+PGRID(t)=PLOAD(t)P_{DG}(t) + P_{BESS}(t) + P_{PV}(t) + P_{WIND}(t) + P_{GRID}(t) = P_{LOAD}(t)$$

其中:

P > 0 :向微电网供电
P < 0 :从微电网吸收功率

在仿真代码中,该约定体现在:

- BESS 充电为负功率
- Grid 反送为负功率
- Load 始终为正消耗

符号一致性是控制系统的生命线。


2.1.3 损耗项的工程处理原则

在高层控制与仿真中:

P_loss ≠ 0
但:
P_loss << 主功率项

工程处理原则为:

- 控制与稳定性分析:可忽略
- 能量与经济性分析:可引入等效项

Baseline v1.0 明确规定:

损耗不得被用作“吸收不平衡”的隐藏项

任何通过“虚构损耗”来消除频率漂移的仿真,均为错误建模。


2.2 功率不平衡如何转化为系统状态

2.2.1 功率不平衡 → 频率变化

在离网或弱网状态下,系统频率动态可近似表示为:

$$dfdt=Pimbalance2Heq⋅Sbase\frac{df}{dt} = \frac{P_{imbalance}}{2 H_{eq} \cdot S_{base}}$$

其中:

$$P_imbalance = ΣP_sources − ΣP_loads H_eq = 系统等效惯量 $$

工程解释:

- 不需要“命令频率变化”
- 频率变化是功率不平衡的自然结果

这也是为什么在仿真中:

- 负载波动 → 频率立即响应
- 风功率抖动 → 频率高频抖动

这不是数值噪声,而是物理真实。


2.2.2 功率不平衡 → 电压行为(等效)

在本 Baseline 中,电压采用工程等效处理:

- 不进行全电磁暂态仿真
- 电压偏差通过保护逻辑体现

即:

功率不足 → 电压下陷 → UV / UVLS
功率过剩 → 电压上升 → OV

重要原则:

电压不是被“稳住”的
而是通过负载切除或功率回收被纠正

2.2.3 功率不平衡 → 保护动作

当不平衡超出控制能力:

控制系统退出
保护系统接管

在代码与逻辑中表现为:

- UF / OF
- RoCoF
- UVLS
- PCC Trip

Baseline 原则:

保护动作不是“系统失败”
而是系统的最后一道成功防线

2.3 功率平衡在不同运行模式下的表现

2.3.1 并网模式(Grid-connected)

在并网状态下:

Grid ≈ 无限母线(近似)

功率平衡重写为:

$$PGRID(t)=PLOAD(t)−(PDG(t)+PBESS(t)+PPV(t)+PWIND(t))$$

工程含义:

- Grid 吸收所有剩余不平衡
- 微电网内部资源对频率影响被钳制

这解释了仿真中:

并网时频率快速回到 60 Hz

而不是控制系统“更聪明”。


2.3.2 离网模式(Islanded)

在离网状态下:

P_GRID = 0

功率平衡完全由内部资源承担:

$$PDG+PBESS+PPV+PWIND=PLOADP_{DG} + P_{BESS} + P_{PV} + P_{WIND} = P_{LOAD}$$

工程后果:

- 任意一个资源变化都会反映到频率
- BESS 与 DG 成为系统稳定核心

2.3.3 PCC 切换瞬间的功率重分配

在并离网切换瞬间:

P_GRID → 0   或   P_GRID ← 非零

如果没有提前调度:

功率不平衡 → 频率阶跃

这正是 Sync Assist 必须存在的原因:

不是为了“合闸”
而是为了在切换前重排功率

2.4 功率平衡视角下的各类资源角色

2.4.1 BESS:最快的功率调节器

优势:
- ms–s 级响应
- 可正可负

限制:
- 能量有限(SOC)

工程定位:

BESS = 瞬态功率平衡器

2.4.2 柴油机:稳态功率支柱

优势:
- 可长期供能
- 提供真实惯量

限制:
- 启动慢
- Ramp rate 受限

工程定位:

Diesel = 稳态功率与惯量锚点

2.4.3 可再生能源:扰动源 + 辅助供能

特征:
- 不可控
- 不可预测

工程定位:

PV / Wind = 功率注入源
不是控制资源

2.4.4 电网:条件性平衡器

并网:
- 吸收一切不平衡

离网:
- 完全不存在

工程结论:

不能假设 Grid 永远存在

2.5 常见错误功率平衡建模方式(必须避免)

2.5.1 用“频率钳制”掩盖不平衡

错误做法:
- 直接把 f 强制设为 60 Hz

后果:
- 功率不守恒
- 控制逻辑失真

2.5.2 用“虚拟损耗”吸收多余功率

错误做法:
- 引入未声明的损耗项

后果:
- 仿真看似稳定
- 工程结论完全错误

2.5.3 忽略负载波动

错误做法:
- Load 设为常数

后果:
- 频率行为失真
- BESS / DG 角色被低估

2.6 本章封存要点(必须继承)

- 功率平衡是唯一一阶控制真理
- 频率、电压、保护都是功率不平衡的“后果”
- 并网与离网的本质区别在于谁承担不平衡
- 任何掩盖不平衡的仿真都是错误仿真

第 3 章|频率:状态量,而非控制目标

(Baseline v1.0 · Frequency as a State Variable)


3.1 频率的物理来源与工程表述

3.1.1 频率的物理含义(而非控制含义)

在交流系统中,频率并不是一个被“设定”的量,而是系统功率平衡的结果

工程等效表述为:

频率 = 系统角速度的群体行为

在微电网中,这一表述尤为重要,因为:

- 不存在天然的频率锚点
- 任意功率扰动都会立即反映到频率

因此,频率只能被观测、被响应,不能被直接命令


3.1.2 等效摆动方程(工程级)

在离网或弱网条件下,系统频率动态可由等效摆动方程近似:

$$2Heq⋅dfdt=PimbalanceSbase2 H_{eq} \cdot \frac{df}{dt} = \frac{P_{imbalance}}{S_{base}}$$

其中:

H_eq      : 等效惯量常数(s)
P_imbalance : 瞬时功率不平衡
S_base    : 系统基准容量

工程解读:

- df/dt 不是噪声
- df/dt 是功率不平衡的“速度响应”

3.1.3 仿真中的频率积分逻辑(反向理解代码)

在仿真内核中,频率通常通过如下步骤演化:

Step 1: 计算 ΣP_sources − ΣP_loads
Step 2: 得到 P_imbalance
Step 3: 用等效惯量积分 df
Step 4: 得到 f(t+Δt)

关键 Baseline 约束:

任何“直接写 f = 60 Hz”的行为
都等价于破坏摆动方程

3.2 df/dt(RoCoF)的工程意义

3.2.1 为什么 RoCoF 比频差更危险

工程经验表明:

小频差 + 大 RoCoF  >  大频差 + 小 RoCoF

原因在于:

- 保护装置对 RoCoF 极为敏感
- 逆变器同步与锁相对 df/dt 敏感

因此,微电网控制关注的核心不是:

“频率偏了多少”

而是:

“频率偏得有多快”

3.2.2 RoCoF 在低惯量系统中的放大效应

由于 (H_{eq}) 很小:

$$dfdt∝1Heq\frac{df}{dt} \propto \frac{1}{H_{eq}}$$

工程后果:

- 同样的负载阶跃
- 在微电网中引发更大的 df/dt

这也是为何在仿真中必须看到:

- 负载事件 → 明显频率尖峰

这是正确结果,不是数值不稳定。


3.2.3 RoCoF 与保护逻辑的关系

在 Baseline 中明确:

RoCoF 超限 → 优先触发保护

而不是:

“控制器再努力一下”

工程原则:

保护优先级高于任何稳频策略

3.3 稳频的真实手段:改功率

3.3.1 反直觉但真实的结论

在微电网中:

不存在“频率控制”
只有“功率控制”

频率的变化路径始终是:

功率变化 → df/dt → 频率变化

因此:

任何试图绕过功率直接修正频率的控制
都会在物理层面失败

3.3.2 正确的稳频路径(Baseline 认可)

检测频率偏移
→ 计算所需功率修正
→ 分配到可控资源(BESS / DG)
→ 等待频率自然回落

这一路径在仿真中体现为:

- BESS 快速正负功率
- DG 慢速爬坡

3.3.3 错误稳频路径(必须避免)

错误示例:
- 直接把 f 拉回 60 Hz
- 在 UI 层“修正显示”
- 忽略功率是否守恒

这些做法的共同问题是:

系统看起来稳
但功率账本是假的

3.4 并网条件下的“频率钳制”现象

3.4.1 并网 ≠ 频率控制更强

在并网模式下:

Grid ≈ 无限母线(工程近似)

这导致:

频率被外部系统“钳制”

但必须理解:

不是 EMS 更聪明
而是不平衡被外部系统吸收

3.4.2 仿真中的并网频率行为解释

在仿真中常见现象:

- 离网时频率摆动
- 合闸后频率迅速回到 60 Hz

正确解释为:

并网后 P_grid 承担全部不平衡
→ P_imbalance → 0
→ df/dt → 0

不是控制器突然“成功”。


3.5 频率与同步检查(Sync-check)的关系

3.5.1 同步检查使用频率,而非控制频率

Sync-check 的工程逻辑是:

判断当前系统状态是否安全

而不是:

强制系统进入安全状态

频率在 Sync-check 中的角色:

- 作为状态判据
- 而非控制输入

3.5.2 Δf 阈值的工程含义

∣Δf∣≤Δfmax|\Delta f| \le \Delta f_{max}

该条件意味着:

系统当前功率结构
已足够接近并网稳态

若不满足:

拒绝合闸 = 正确行为

3.5.3 合闸后频率“立即回 60 Hz”的误解澄清

工程澄清:

合闸 ≠ 频率被拉回

而是:

合闸 → 不平衡被 Grid 吸收
→ 频率自然回到额定值

如果在仿真中看到:

合闸后频率并未立刻完全重合

并不一定是 Bug,可能是:

- 滤波窗口
- 数值积分平滑
- 并网功率仍在重分配

3.6 频率控制的工程边界条件

3.6.1 资源能力边界

稳频能力受限于:

- BESS 功率上限
- BESS SOC
- DG ramp rate
- DG 最小负载

任何超出这些边界的稳频需求:

都不应被“强行满足”

3.6.2 时间尺度边界

ms–s   : BESS 主导
s–min  : DG 接管
min+   : 调度与负载管理

混淆时间尺度是控制振荡的主要来源。


3.7 本章封存要点(必须继承)

- 频率是状态量,不是控制命令
- df/dt 是功率不平衡的速度体现
- 稳频的唯一手段是调功率
- 并网“稳频”是外部吸收不平衡的结果
- Sync-check 只判断状态,不强制修正状态

第 4 章|惯量、虚拟惯量与频率支撑策略

(Baseline v1.0 · Inertia and Frequency Support)


4.1 惯量的工程定义与真实作用

4.1.1 惯量不是“稳频能力”,而是“缓冲能力”

在工程语境中,惯量的作用可以概括为:

惯量 = 在功率不平衡出现时
       延缓系统状态变化的能力

不消除不平衡,只拖慢后果

因此,任何将“惯量”等同于“稳频”的理解都是错误的。


4.1.2 真实机械惯量的来源

在本 Baseline 覆盖的系统中,真实惯量主要来自:

- 同步发电机转子(柴油机)

其工程特性包括:

- 自然存在(无需控制器)
- 与转速平方相关
- 对高频扰动具有天然低通滤波效果

这也是为何即便在高度逆变器化的系统中,仍建议保留至少一台同步机热备用


4.1.3 低惯量系统的不可避免后果

当系统等效惯量很低时:

dfdt↑\frac{df}{dt} \uparrow

工程表现为:

- 频率对负载阶跃高度敏感
- 风功率抖动直接映射到频率
- 保护动作概率显著提高

这解释了为何在仿真中:

“看起来很吵”的频率曲线
并不代表系统不可控

4.2 虚拟惯量(Virtual Inertia / VSG)的控制思想

4.2.1 虚拟惯量的本质

虚拟惯量并不是“制造惯量”,而是:

通过控制算法
让功率响应
在数学形式上
近似同步机行为

其核心思想是:

让逆变器对 df/dt 作出功率响应

4.2.2 典型虚拟惯量控制结构(工程级)

在工程实现中,虚拟惯量常被写成:

$$Pcmd=Kd⋅(f0−f)+Kdi⋅d(f0−f)dtP_{cmd} = K_d \cdot (f_0 - f) + K_{di} \cdot \frac{d(f_0 - f)}{dt}$$

其中:

K_d   : 下垂(droop)增益
K_di  : 虚拟惯量(阻尼)增益

工程解释:

- 第一项:处理稳态频差
- 第二项:抑制 df/dt(惯量感)

4.2.3 仿真中的等效实现方式

在当前仿真系统中,虚拟惯量的等效实现体现在:

- BESS 对频差的快速正负功率响应
- 对功率变化速率的限制(ramp / smoothing)

Baseline 认可以下等效做法:

不要求显式建模 dω/dt
但必须在功率层面体现其效果

4.3 下垂控制(Droop Control)的工程角色

4.3.1 下垂不是缺陷,而是并机条件

下垂控制的核心关系式为:

$$P=Pref+1Rp(f0−f)P = P_{ref} + \frac{1}{R_p} (f_0 - f)$$

工程含义:

- 频率允许偏移
- 换取多电源并机稳定

重要 Baseline 观点:

“零频差”并不是并机系统的目标

4.3.2 下垂参数的工程区间

经验工程区间(示例):

Diesel Generator : 3% – 5%
BESS (virtual)   : 可更陡,但受限于 SOC

过陡的下垂会导致:

- 资源争抢
- 功率振荡

4.3.3 下垂与同步检查的关系

下垂用于运行阶段
Sync-check 用于并网前判定

二者不可混用。


4.4 虚拟惯量的工程边界与风险

4.4.1 能量约束:SOC 是最终裁判

虚拟惯量永远受限于能量来源

- BESS SOC
- 充放电功率上限

工程结论:

虚拟惯量只能短期支撑
不能长期兜底

4.4.2 控制延迟与测量噪声

虚拟惯量高度依赖:

- 频率测量
- df/dt 估计

工程风险包括:

- 噪声放大
- 相位滞后
- 负阻尼

因此 Baseline 明确:

宁可虚拟惯量不足
不可虚拟惯量过强

4.4.3 与柴油机惯量的协同

正确的角色分工为:

DG  : 提供真实惯量与稳态功率
BESS: 提供快速阻尼与瞬态功率

错误的设计是:

用 BESS 完全替代 DG 的惯量角色

4.5 不同时间尺度下的频率支撑策略

4.5.1 时间尺度划分(Baseline 锁定)

ms – s     : 虚拟惯量 / BESS
s – min    : 柴油机 ramp + 下垂
min – hr   : 调度 / 负载管理

混淆时间尺度将导致:

- 控制打架
- 振荡
- 误判稳定性

4.5.2 仿真中时间尺度的体现

在仿真系统中应观察到:

- BESS 曲线快速起伏
- DG 曲线平滑、延迟

若看到:

DG 像 BESS 一样抖动

则为错误建模。


4.6 常见错误与反例(必须避免)

4.6.1 过度虚拟惯量

症状:
- 频率震荡放大
- 功率指令抖动

原因:

K_di 过大

4.6.2 把虚拟惯量当作稳态工具

错误:
- 用 BESS 长期维持频率

结果:

SOC 枯竭 → 系统失稳

4.6.3 忽略真实惯量的价值

错误:
- Allow all-off + 无热备用

后果:

恢复能力极差

4.7 本章封存要点(必须继承)

- 惯量的作用是延缓后果,而非消除不平衡
- 虚拟惯量是控制效果,不是真实惯量
- 下垂是并机稳定的必要代价
- BESS 负责快,DG 负责稳
- 时间尺度不可混用

第 5 章|BESS:最强控制器,也是最危险的错觉

(Baseline v1.0 · BESS as Fast Controller with Hard Energy Limits)


5.1 BESS 的工程定位与双重身份

5.1.1 BESS 不是“电源替代品”

在微电网中,BESS 常被误解为“万能稳态电源”。

Baseline 明确否定该理解

BESS ≠ 可持续发电源
BESS = 快速功率调节器 + 有限能量缓冲

工程含义:

- BESS 解决“速度问题”
- 发电机解决“能量问题”

5.1.2 BESS 的双重身份定义

身份 A:瞬态功率平衡器
- ms–s 级响应
- 抑制 df/dt
- 吸收高频扰动

身份 B:有限能量仓
- 受 SOC 约束
- 受功率限幅约束

任何设计若只考虑身份 A 而忽略身份 B,必然在工程上失败


5.2 BESS 功率模型与符号约定(封存)

5.2.1 功率符号与方向(必须统一)

本 Baseline 对 BESS 功率符号作出不可更改的定义:

P_BESS > 0  : 放电(向微电网供电)
P_BESS < 0  : 充电(从微电网吸收功率)

在仿真代码中,该约定体现在:

- 充电显示在 0 轴以下
- 放电显示在 0 轴以上

任何反向约定都会破坏功率账本一致性。


5.2.2 功率限幅(Instantaneous Constraint)

$$∣PBESS(t)∣≤PBESSmax|P_{BESS}(t)| \le P_{BESS}^{max}$$

工程意义:

- 稳频能力受瞬时功率限制
- 不能“无限大功率救场”

5.2.3 爬坡限制(Ramp Rate)

$$∣dPBESSdt∣≤RBESS\left|\frac{dP_{BESS}}{dt}\right| \le R_{BESS}$$

工程解释:

- 抑制控制振荡
- 模拟逆变器与控制延迟

在仿真中应观察到:

BESS 功率变化连续、但快速

5.3 SOC 动态:长期稳定性的裁判

5.3.1 SOC 演化方程(工程级)

$$SOC(t+Δt)=SOC(t)−PBESS(t)⋅ΔtEratedSOC(t+\Delta t) = SOC(t) - \frac{P_{BESS}(t) \cdot \Delta t}{E_{rated}}$$

符号解释:

放电(P>0) → SOC 下降
充电(P<0) → SOC 上升

5.3.2 SOC 约束的工程后果

$$SOCmin≤SOC(t)≤SOCmaxSOC_{min} \le SOC(t) \le SOC_{max}$$

当 SOC 触及边界时:

- BESS 必须限功率或退出控制
- 稳频能力立即下降

这是正确行为,不是控制失败。


5.3.3 SOC 与“假稳定”的关系

常见仿真陷阱:

频率长期稳定
但 SOC 单向漂移

工程判定:

这是不可持续系统
不是稳态

Baseline 要求:

任何稳态必须在 SOC 可接受区间内

5.4 BESS 在频率支撑中的角色分工

5.4.1 BESS 的正确职责

- 抑制 df/dt
- 缓冲负载与可再生波动
- 为柴油机争取时间

5.4.2 BESS 不应承担的职责

- 长期承担基础负载
- 替代柴油机稳态功率
- 独立完成并机稳定

这些职责一旦强加给 BESS,系统只会:

- 看起来稳定
- 实际不可持续

5.5 BESS 与 Sync Assist 的协同逻辑

5.5.1 Sync Assist 中 BESS 的作用

在并网前阶段:

目标:
- 缩小 Δf
- 降低 df/dt

BESS 的工程行为是:

- 根据频差注入或吸收功率
- 快速拉近系统状态

5.5.2 合闸并非 BESS 的“成功指标”

BESS 做了它该做的
但合闸仍可能失败

原因包括:

- SOC 不足
- DG 尚未就绪
- 频率仍不满足阈值

失败并不否定 BESS 的正确行为。


5.6 BESS 与柴油机的控制边界

5.6.1 正确的责任划分(封存)

BESS  : 快速、短期、瞬态
Diesel: 慢速、长期、稳态

5.6.2 错误的责任倒置

错误:
- BESS 长期兜底
- Diesel 仅作备用

工程后果:

- SOC 枯竭
- 并网/恢复失败

5.7 常见错误模式与工程反例

5.7.1 用 BESS“抹平”所有波动

症状:
- 频率几乎不动
- BESS 功率高频来回

结果:

SOC 快速耗尽

5.7.2 忽略 SOC 的稳频设计

症状:
- 短期表现优秀
- 长期系统崩溃

5.7.3 在 UI 层掩盖 BESS 约束

错误:
- UI 显示稳定
- 内核已越界

Baseline 明确禁止。


5.8 本章封存要点(必须继承)

- BESS 是最快的控制器,但不是能源替代品
- 功率与能量双约束必须同时满足
- SOC 是长期稳定性的最终裁判
- BESS 负责瞬态,DG 负责稳态
- BESS 的“失败”往往是系统正确失败的一部分

第 6 章|柴油机系统:被低估的系统核心

(Baseline v1.0 · Diesel Generator as the Steady-State Anchor)


6.1 柴油机在微电网中的工程角色重申

6.1.1 柴油机不是“旧时代遗留”,而是稳态锚点

在高比例逆变器化的微电网中,柴油机常被误解为:

- 成本高
- 响应慢
- 应尽量减少运行

Baseline 明确指出:

柴油机的核心价值
不在于“快”
而在于“可持续、可预测、可兜底”

其工程角色是:

- 提供真实机械惯量
- 提供长期稳态功率
- 在极端工况下成为系统最后支撑

6.1.2 柴油机与逆变器资源的根本差异

Diesel Generator:
- 能量来源独立
- 功率持续时间理论上无限
- 惯量真实存在

BESS / Inverter:
- 能量有限
- 功率持续时间受 SOC 限制
- 惯量来自控制算法

任何试图让逆变器“完全取代”柴油机的设计,都必须在工程上给出同等的长期能量与惯量来源,否则不成立。


6.2 柴油机的真实物理与运行约束

6.2.1 启动延迟(Start Delay)

柴油机从停机到可并机状态,存在不可忽略的时间延迟:

- 机械启动
- 转速建立
- 电压/频率稳定

工程后果:

柴油机无法承担 ms–s 级的瞬态响应

在仿真中,该约束体现为:

- 启动命令 ≠ 立即供电
- 启动期间只能依赖 BESS

6.2.2 爬坡率限制(Ramp Rate)

柴油机功率变化速率满足:

$$∣dPDGdt∣≤RDG\left|\frac{dP_{DG}}{dt}\right| \le R_{DG}$$

工程含义:

- 防止机械与热冲击
- 限制调节速度

仿真中应观察到:

DG 功率曲线平滑、滞后

若出现:

DG 功率像 BESS 一样快速跳变

则为错误建模


6.2.3 最小负载限制(Minimum Load / Wet Stacking)

柴油机存在工程下限:

P_DG ≥ P_min

原因包括:

- 燃烧不充分(Wet Stacking)
- 设备寿命问题

工程结论:

柴油机不能长期在“接近 0”功率运行

这也是 Allow all-off 策略必须慎用的原因之一。


6.2.4 热备用与怠速油耗(Idle Fuel Consumption)

当柴油机处于热备用状态时:

- 不承担主负载
- 仍有燃油消耗

工程取舍为:

油耗 ↑
换取:
- 快速接管能力
- 更低的系统恢复风险

Baseline 观点:

热备用是稳定性投资,不是浪费

6.3 柴油机 Droop 控制的工程意义

6.3.1 Droop 控制的基本形式

$$PDG=Pref+1Rp(f0−f)P_{DG} = P_{ref} + \frac{1}{R_p}(f_0 - f)$$

其中:

R_p : 频率下垂系数

6.3.2 Droop 的真实目的

Droop 的目的不是稳频,而是:

- 允许频率偏移
- 换取多机并列稳定

工程解释:

若频率被强制固定
多台机组将“抢功率”

6.3.3 Droop 参数的工程区间

典型工程区间:

R_p ≈ 3% – 5%

过小的 R_p(过陡 droop)会导致:

- 功率振荡
- 机组相互对抗

6.4 柴油机在不同运行阶段的职责

6.4.1 并网运行阶段

- 柴油机可停机或低负载
- Grid 吸收大部分不平衡

但 Baseline 强调:

并网 ≠ 永远并网

6.4.2 离网运行阶段

- 柴油机成为稳态功率支柱
- BESS 仅承担瞬态

6.4.3 并离网切换阶段

- 柴油机必须提前就绪
- BESS 在切换瞬间兜底

若在切换前:

柴油机未启动或未达最小负载

则系统将:

高度依赖 BESS
风险显著提高

6.5 柴油机与 BESS 的协同策略(封存)

6.5.1 正确协同模式

Step 1: BESS 抑制 df/dt
Step 2: 柴油机按 ramp 接管功率
Step 3: BESS 回撤至中性区

6.5.2 错误协同模式

错误 A:
- BESS 长期兜底
- DG 始终低负载

错误 B:
- DG 试图快速追踪扰动

两者都会导致:

系统不稳定或不可持续

6.6 Allow all-off 策略与柴油机角色

6.6.1 Allow all-off = YES

- 所有柴油机允许停机
- 系统完全依赖 BESS + RES

工程含义:

- 最低油耗
- 最低惯量
- 最低恢复能力

6.6.2 Allow all-off = NO

- 至少一台柴油机保持在线或热备用

工程含义:

- 油耗上升
- 稳定性与恢复能力显著提高

Baseline 工程默认:

Allow all-off = NO

6.7 常见柴油机建模错误(必须避免)

6.7.1 忽略最小负载

后果:
- 仿真中柴油机“完美”
- 实际设备寿命与可靠性严重受损

6.7.2 把柴油机当作快速调节器

后果:
- 机械应力
- 控制振荡

6.7.3 低估热备用价值

后果:
- 切换失败
- 恢复时间不可接受

6.8 本章封存要点(必须继承)

- 柴油机是稳态功率与真实惯量锚点
- 启动延迟、ramp、最小负载不可忽略
- Droop 是并机稳定的必要代价
- BESS 快、DG 稳,职责不可倒置
- 热备用是工程取舍,而非浪费

第 7 章|可再生能源的工程级建模方法

(Baseline v1.0 · Renewable Sources as Stochastic Power Injections)


7.1 可再生能源在微电网中的工程定位

7.1.1 可再生能源不是控制资源

在本 Baseline 中,PV 与 Wind 的工程定位被明确锁定为:

可再生能源 = 功率注入源(Power Injection)

不是

- 稳频资源
- 并机稳定裁决者
- 同步锚点

工程结论:

任何要求 PV / Wind “主动稳频”的系统
都必须额外引入可持续能量与惯量来源
否则不成立

7.1.2 可再生能源的两大工程特性

特性 A:不可控
- 功率由环境决定
- EMS 只能限发,不能造发

特性 B:不确定
- 存在统计波动
- 存在突发事件(云影、阵风)

这两点决定了其只能被动参与功率平衡


7.2 光伏(PV)的工程建模原则

7.2.1 PV 的时间尺度特性

PV 的功率变化主要由以下因素主导:

- 太阳高度角(日内变化,min–hr)
- 云影遮挡(s–min)

工程结论:

PV 是“慢变化为主、偶发中速扰动”的资源

7.2.2 工程级 PV 功率模型

在仿真中,PV 功率通常表达为:

$$PPV(t)=Prated⋅fday(t)⋅(1−δcloud(t))P_{PV}(t) = P_{rated} \cdot f_{day}(t) \cdot (1 - \delta_{cloud}(t))$$

其中:

f_day(t)        : 日内归一化曲线(0–1)
δ_cloud(t)     : 云影衰减项(0–1)

Baseline 要求:

PV 模型必须包含时间相关性
禁止使用完全随机白噪声

7.2.3 PV 与频率的关系(澄清)

PV 本身:

- 不感知系统频率
- 不提供惯量

因此:

PV 功率变化 → 功率不平衡 → 频率变化

而不是反过来。


7.3 风电(Wind)的工程建模原则

7.3.1 风电是微电网中最危险的资源

Baseline 明确指出:

Wind 是微电网中
对频率扰动贡献最大的资源

原因包括:

- 高频抖动
- 强随机性
- 难以预测

7.3.2 风速与功率的非线性关系

工程真实关系为:

$$Pwind∝v3P_{wind} \propto v^3$$

工程后果:

- 小风速变化 → 大功率变化
- 高频功率抖动不可避免

7.3.3 工程级风电随机模型

Baseline 认可的工程建模方式包括:

- 平稳随机过程(低频背景)
- 叠加阵风事件(gust)

示例(概念):

$$v(t)=vmean+σW(t)+vgust(t)v(t) = v_{mean} + \sigma W(t) + v_{gust}(t)$$

$$Pwind(t)=f(v(t))P_{wind}(t) = f(v(t))$$


7.3.4 阵风(Gust)事件的工程意义

- 阵风不是异常
- 阵风是设计必须考虑的正常工况

工程后果:

- BESS 必须抑制 df/dt
- DG 不应试图快速追踪

7.4 可再生能源的“限发”而非“调度”

7.4.1 可再生能源的唯一主动控制手段

唯一可接受的主动控制:
- Curtailment(限发)

其工程目标是:

- 防止过频
- 防止功率过剩

而不是:

- 参与稳频
- 追踪负载

7.4.2 限发策略的触发条件

典型触发包括:

- 频率高于上限
- SOC 接近上限
- 系统即将并网

Baseline 强调:

限发是保护与稳定策略
不是经济优化手段

7.5 可再生能源与 BESS / DG 的协同关系

7.5.1 正确的功率分工

PV / Wind : 注入功率(不可控)
BESS      : 吸收/补偿瞬态
Diesel    : 承担稳态与惯量

7.5.2 错误的协同期望

错误:
- 让风电“稳频”
- 让 PV “兜底”

工程后果:

控制复杂度上升
系统稳定性下降

7.6 并离网切换中的可再生能源处理

7.6.1 离网瞬间的风险来源

- 风功率随机
- PV 无惯量

因此 Baseline 要求:

并离网切换前
必须确保:
- BESS 可用
- DG 就绪

7.6.2 并网前的可再生能源策略

- 适度限发
- 降低系统功率斜率

目的是:

缩小 Δf
而非追求最大出力

7.7 常见可再生能源建模错误(必须避免)

7.7.1 把可再生能源当作平滑资源

错误:
- 过度滤波

后果:

低估系统风险

7.7.2 把风电当作“可预测负载”

错误:
- 用慢变化模型代替随机过程

后果:

df/dt 被严重低估

7.7.3 在 UI 中“美化”可再生波动

错误:
- 为了好看隐藏抖动

Baseline 明确禁止。


7.8 本章封存要点(必须继承)

- 可再生能源是功率注入源,而非控制资源
- PV 以日内变化为主,风电以随机抖动为主
- 风是微电网中最危险的扰动源
- 可再生能源的主动控制仅限于“限发”
- 稳定性必须由 BESS 与 DG 提供

第 8 章|负载建模:真实系统的起点,而非背景板

(Baseline v1.0 · Load as the Primary Disturbance)


8.1 负载在控制理论中的根本地位

8.1.1 负载不是“被满足的对象”,而是“系统扰动源”

工程上常见误区:

负载 = 已知、稳定、被动

Baseline 的立场:

负载 = 主动扰动源(Primary Disturbance)

原因:

- 负载变化直接引入功率不平衡
- 功率不平衡直接导致频率变化
- 频率变化触发所有控制器动作

结论:

如果负载模型是假的,所有稳频结论都是假的。


8.1.2 负载决定系统设计的下限

- 最坏负载变化幅度
- 最快负载变化速率

这两者直接决定:

- BESS 功率容量
- BESS 能量容量
- DG 最小在线策略

8.2 真实负载的工程特性分解

8.2.1 负载的三种时间尺度

(1) 慢变化(minutes–hours)
    - 生产节拍变化
    - 日内班次切换

(2) 中速变化(seconds–minutes)
    - 工艺过程调整
    - 设备群协同启停

(3) 快速扰动(sub-second–seconds)
    - 电机启动
    - 冲击性负载

工程要求:

负载模型必须至少覆盖 (2) + (3)

8.2.2 为什么“恒定负载”在工程上不可接受

恒定负载 →
系统无真实扰动 →
控制器永远表现良好 →
错误的安全感

因此 Baseline 明确禁止:

- 纯常数负载
- 仅靠 step 事件的负载

8.3 工程级负载随机建模(已实现内核)

8.3.1 一阶随机过程(OU / AR(1))模型

Baseline 采用的一阶随机负载模型:

$$dPL(t)=−1τ(PL(t)−μ)dt+σdW(t)dP_L(t) = -\frac{1}{\tau}(P_L(t) - \mu)dt + \sigma dW(t)$$

离散实现(概念):

$$P_L[k+1] = P_L[k] + (μ - P_L[k]) * Δt / τ + σ * sqrt(Δt) * N(0,1) $$

其中:

μ     : 名义负载
τ     : 相关时间常数
σ     : 波动强度

8.3.2 工程意义解释

τ 小 → 快速、抖动型负载
τ 大 → 缓慢、平滑型负载
σ 大 → 工艺不稳定、冲击多
σ 小 → 工艺成熟、负载平稳

这三个参数比“负载功率值”更重要。


8.3.3 Clamp(边界约束)的必要性

工程上必须限制负载波动:

$$PL∈[Pmin,Pmax]P_L ∈ [P_{min}, P_{max}]$$

原因:

- 避免统计模型产生物理不可能值
- 防止仿真被极端值主导

Baseline 默认:

±25% 名义负载

8.4 负载突发事件建模(工程不可缺)

8.4.1 阶跃负载(Step Load)

- 设备上线/下线
- 生产线切换

特征:

- ΔP 明确
- 持续时间长

8.4.2 脉冲负载(Pulse Load)

- 电机启动
- 压缩机、破碎机冲击

特征:

- ΔP 大
- 持续时间短
- 对 df/dt 极其敏感

8.4.3 工程后果

BESS 必须承担 pulse
DG 不应追 pulse

若设计反过来:

系统必振

8.5 负载与频率的因果链(不可颠倒)

8.5.1 正确因果顺序

负载变化 →
功率不平衡 →
频率变化 →
控制器响应

8.5.2 常见错误因果假设

错误:
频率变化 →
负载变化

负载不会“因为频率”而主动变化。


8.6 负载建模对 BESS 设计的直接影响

8.6.1 BESS 功率容量由什么决定?

由负载变化速率决定
而不是由平均负载决定

8.6.2 BESS 能量容量由什么决定?

由负载不平衡持续时间决定

工程直觉:

快而短 → 功率型 BESS
慢而久 → 能量型 BESS

8.7 负载建模对 DG 策略的影响

8.7.1 高波动负载场景

- DG 必须热备用
- Allow all-off 不推荐

8.7.2 低波动负载场景

- DG 可间歇运行
- BESS 承担更多调节

8.8 UI / 仿真呈现的工程要求(封存)

- 负载必须“看起来在动”
- 但不应遮蔽关键资源
- 波动幅度需可解释

禁止:

- 为美观隐藏负载扰动

8.9 本章封存要点(必须继承)

- 负载是微电网的首要扰动源
- 恒定负载在工程上不可接受
- 随机过程比 step 更接近真实世界
- τ 与 σ 是负载建模核心参数
- 所有稳频设计都必须经受真实负载扰动

第 9 章|PCC 并离网控制状态机

(Baseline v1.0 · PCC State Machine as the Only Legal Switching Authority)


9.1 PCC 的电气与控制意义

9.1.1 PCC 不是“一个断路器”,而是系统边界

在微电网工程中,**PCC(Point of Common Coupling)**的真实含义是:

PCC = 微电网与外部电力系统的唯一合法电气边界

其工程地位决定了以下事实:

- 所有并网/离网行为必须在 PCC 发生
- 所有并网/离网判断必须围绕 PCC 条件
- 任何绕过 PCC 的控制路径在工程上均非法

9.1.2 PCC 的三重身份

1) 电气边界
   - 电压、频率、相角的比较点

2) 控制边界
   - 并离网状态机的唯一执行对象

3) 责任边界
   - EMS、保护、设备厂商的责任分界点

Baseline 明确规定:

PCC 是状态机的对象
而不是策略的“可选项”

9.1.3 没有 PCC,就不存在“并离网控制”

以下系统 不适用本章所有逻辑

- 无明确 PCC 的内部母线系统
- 永久并网、不允许解列的系统
- HVDC-only 拓扑(无 AC 同步问题)

9.2 状态机定义

9.2.1 状态机存在的唯一理由

并离网不是一个“动作”,而是一个过程

过程 = 多条件约束下的有限状态转移

因此,状态机不是实现选择,而是物理必然


9.2.2 状态集合(封存)

PCC 并离网控制状态机 必须且只能包含以下状态:

[Grid-connected]
[Islanded]
[Sync-check]
[Reclosing]
[Tripped]

任何缺失、合并、简化,都会导致工程语义不完整。


9.2.3 各状态的工程定义

(1) Grid-connected(并网态)

定义:
- PCC 闭合
- 微电网电压、频率由大电网主导

工程特征:

- Infinite Bus 假设成立
- 本地频率控制退居次要

(2) Islanded(离网态)

定义:
- PCC 断开
- 微电网成为独立 AC 系统

工程特征:

- 所有频率、电压责任转移至本地资源
- 惯量与功率平衡成为核心问题

(3) Sync-check(同步检查态)

定义:
- PCC 断开
- 系统主动尝试满足并网条件

工程特征:

- 不允许合闸
- 只允许调整功率与频率

重要:

Sync-check 是“准备态”,不是“动作态”

(4) Reclosing(重合闸进行中)

定义:
- 合闸命令已发出
- 等待断路器物理结果

工程特征:

- 不可重复发命令
- 不可撤销

(5) Tripped(跳闸锁定态)

定义:
- 保护动作导致 PCC 打开

工程特征:

- EMS 权限被暂时剥夺
- 必须人工或逻辑复位

9.3 状态转移逻辑(工程级)

9.3.1 合法状态转移路径

Grid-connected → Islanded
Islanded → Sync-check
Sync-check → Reclosing
Reclosing → Grid-connected
任何状态 → Tripped

9.3.2 非法状态转移(禁止)

Islanded → Grid-connected(跳过 Sync-check)
Sync-check → Grid-connected(跳过 Reclosing)
Tripped → Reclosing(无复位)

这些路径在工程上等价于:

无条件合闸

9.3.3 “状态 ≠ UI 按钮”

Baseline 强制原则:

UI 只能发出“请求”
状态机决定“是否执行”

任何 UI 直接驱动 PCC 的系统,均为设计缺陷


9.4 “点了没合上”是正确失败

9.4.1 工程视角下的“失败”

在并离网控制中:

失败 ≠ 错误

正确的失败定义为:

条件不满足 → 不执行 → 给出明确原因

9.4.2 错误的“用户体验”理念

错误认知:
- 点了就该合上

工程现实:

如果点了就合上
说明前置条件形同虚设

9.4.3 合闸失败的工程合法性

合闸失败在以下情况下是必须发生的

- |Δf| 超限
- |ΔV| 超限
- 相角不在窗口内
- DG/BESS 不满足可用条件
- 保护未复位

9.4.4 正确失败的系统价值

- 防止设备损坏
- 防止系统解体
- 防止“看似成功,实则灾难”

Baseline 立场:

宁可失败十次
不可错合一次

9.5 状态机与控制策略的边界

9.5.1 状态机不负责“把条件变好”

状态机的职责:
- 判断
- 切换
控制策略的职责:
- 调整功率
- 拉频率
- 管理 SOC

9.5.2 Sync Assist 只能存在于状态机外

Sync Assist ≠ 状态
Sync Assist = 控制策略集合

其作用对象是:

Islanded → Sync-check 阶段

而不是:

直接驱动 PCC

9.6 本章封存要点(必须继承)

- PCC 是并离网控制的唯一合法对象
- 并离网必须通过有限状态机完成
- Sync-check 是不可跳过的准备态
- “点了没合上”是正确、健康、工程级的失败
- UI 永远不能绕过状态机

第 10 章|同步检查(Sync-check)的工程标准

(Baseline v1.0 · Sync-check as a Necessary and Sufficient Gate)


10.1 同步检查的工程本质

10.1.1 Sync-check 不是“辅助功能”,而是合闸前的法律门槛

在并离网控制体系中:

Sync-check = 合闸的必要且不可绕过前置条件

任何绕过同步检查的系统,在工程与责任层面均视为:

非法合闸

10.1.2 同步检查解决的不是“好不好”,而是“能不能”

Sync-check 不回答:

- 现在并网是否经济
- 是否是最优时刻

Sync-check 只回答一个问题:

现在合闸是否会破坏系统

10.2 频率同步条件

10.2.1 频率差的工程定义

Δf=fmicrogrid−fgridΔf = f_{microgrid} - f_{grid}

工程约定:

- 正负号必须保留
- 不允许使用绝对频率替代差值

10.2.2 合闸允许频差窗口

∣Δf∣≤Δfmax|Δf| ≤ Δf_{max}

工程典型取值(参考区间):

Δf_max ≈ 0.05 – 0.2 Hz

Baseline 原则:

窗口大小是工程取舍
不是数学正确性问题

10.2.3 为什么“接近 60 Hz”不等于“可合闸”

反例说明:

Microgrid: 59.95 Hz
Grid:      60.05 Hz

虽然两者都“接近 60 Hz”,但:

∣Δf∣=0.10Hz|Δf| = 0.10 Hz

结论:

频率是否接近额定值
与是否同步
没有必然关系

10.3 电压同步条件

10.3.1 电压差的工程定义

$$ΔV=Vmicrogrid−VgridΔV = V_{microgrid} - V_{grid}$$

允许范围:

$$∣ΔV∣≤ΔVmax|ΔV| ≤ ΔV_{max}$$

典型工程区间:

±5% – ±10%(取决于标准与设备)

10.3.2 电压同步的重要性被普遍低估

频率不同步 → 功率冲击
电压不同步 → 电流冲击

后者对设备损害更直接。


10.3.3 电压“看起来差不多”是不可接受的判断依据

UI 观感 ≠ 电气安全

所有判断必须基于:

测量值 + 明确阈值

10.4 相角条件(扩展)

10.4.1 为什么相角必须被单独对待

即使满足:

|Δf| 合格
|ΔV| 合格

如果相角:

Δθ 过大

仍可能在合闸瞬间产生:

瞬时大电流

10.4.2 相角窗口的工程表达

∣Δθ∣≤θmax|Δθ| ≤ θ_{max}

典型工程区间:

10° – 20°

10.4.3 相角不是“可有可无”的高级选项

Baseline 立场:

- 有测量 → 必须判断
- 无测量 → 必须保守扩大 Δf / ΔV 窗口

10.5 同步检查的时间一致性要求

10.5.1 “瞬间满足”不等于“可合闸”

工程要求:

同步条件必须连续满足一段时间

表示为:

$$∣Δf(t)∣≤Δfmax∣ΔV(t)∣≤ΔVmax∣Δθ(t)∣≤θmaxfort∈[Tsync−ΔT,Tsync]|Δf(t)| ≤ Δf_{max} |ΔV(t)| ≤ ΔV_{max} |Δθ(t)| ≤ θ_{max} for t ∈ [T_sync - ΔT, T_sync]$$


10.5.2 工程意义

- 滤除瞬时抖动
- 避免“撞线合闸”

10.6 合闸失败解释体系

10.6.1 合闸失败不是一个状态,而是一类结果

合闸失败 ≠ 系统错误

而是:

条件未达成

10.6.2 Failure Mode 分类(必须)

- Frequency mismatch
- Voltage mismatch
- Phase angle mismatch
- Resource not ready
- Protection active

10.6.3 UI 与日志的解释原则

Baseline 强制要求:

- 不允许只显示“Failed”
- 必须指出失败类型
- 必须指向可操作改进方向

例如:

"Sync-check failed: Δf = 0.18 Hz > 0.1 Hz"

10.7 同步检查与 EMS 控制权边界

10.7.1 EMS 不能“帮你合闸”

EMS 可以:
- 调功率
- 拉频率
EMS 不可以:
- 忽略同步条件
- 强制闭合 PCC

10.7.2 Sync-check 是裁判,不是球员

- 不参与控制
- 不预测未来
- 只判断当前是否合法

10.8 本章封存要点(必须继承)

- Sync-check 是合闸的唯一合法门槛
- 频率、电压、相角必须同时满足
- “接近额定值”不等于“同步”
- 同步条件必须连续满足
- 合闸失败是正确、必要、可解释的结果

第 11 章|Sync Assist:EMS 的正确行为边界

(Baseline v1.0 · Sync Assist as a Constrained Power-Shaping Aid, Not an Authority)


11.1 EMS 不强合闸原则

11.1.1 “强合闸”在工程上没有合法定义

首先明确一个被频繁误用的概念:

“强合闸”不是一个工程动作
而是一个事故前兆

在任何合规系统中:

- 合闸只可能发生在 Sync-check 通过之后
- 不存在“跳过条件的合闸”

因此,EMS 在任何情况下都不具备“强合闸”权限


11.1.2 EMS 的权限边界(封存)

EMS 可以:
- 改变功率分配
- 调整资源出力
- 影响频率、电压的演化路径

EMS 不可以:
- 改写同步判据
- 忽略保护状态
- 直接驱动 PCC 合闸

这不是设计选择,而是责任隔离。


11.1.3 为什么“自动帮你合上”是危险需求

看似合理的用户期望:

“系统能不能自己把频率调好,然后自动合上?”

工程风险在于:

- 用户开始信任“必然成功”
- 条件被误认为“已充分验证”

Baseline 结论:

合闸必须始终是“被允许”,而不是“被代办”

11.2 Sync Assist 控制逻辑

11.2.1 Sync Assist 的正确定义

Sync Assist = 一组受限的功率调节策略

其目标不是合闸,而是:

缩小 |Δf|、|ΔV|、|Δθ|
使系统“有可能”通过 Sync-check

11.2.2 Sync Assist 的作用阶段

Islanded → Sync-check

在以下阶段 必须禁用

- Grid-connected
- Reclosing
- Tripped

11.2.3 Sync Assist 的三种合法手段

(1) 调功率平衡

- 增加或减少 DG 出力
- 释放或吸收 BESS 功率

本质:

通过功率平衡影响频率

(2) 拉频率(间接)

- 不直接改 f
- 只通过 ΔP 影响 df/dt

Baseline 明确禁止:

- 直接写频率状态量
- 任何形式的“频率钳位”

(3) 限制可再生扰动

- 临时限发 PV / Wind
- 降低随机扰动幅度

目的:

减少同步窗口内的波动

11.3 Sync Assist 的约束条件(必须同时满足)

11.3.1 能量约束(SOC)

- SOC 上下限必须优先于同步目标

禁止行为:

为拉频率而透支 SOC

11.3.2 机械约束(DG)

- 启动延迟不可跳过
- Ramp rate 不可违反
- 最小负载不可破坏

任何违反以上约束的 Sync Assist:

在工程上非法

11.3.3 稳定性约束(防振荡)

- 不允许高增益快速拉频
- 不允许频率来回跨窗口

否则将导致:

Sync-check 永远“差一点”

11.4 Sync Assist 的终止条件

11.4.1 成功终止

条件:
- 同步窗口连续满足

动作:

- Sync Assist 退出
- 等待人工或逻辑合闸请求

11.4.2 失败终止(正确失败)

条件:
- 达到时间上限
- 资源约束被触发

动作:

- Sync Assist 停止
- 明确给出失败原因

11.4.3 永不允许的行为

- Sync Assist 无限运行
- Sync Assist 隐式替代合闸

11.5 常见错误模式(必须封杀)

11.5.1 过强控制引发振荡

- 频率在阈值附近来回穿越
- 合闸窗口永远不稳定

原因:

控制器在“追门槛”

11.5.2 忽略 SOC / DG 约束

结果:
- 同步成功一次
- 系统随后崩溃

11.5.3 UI 误导为“自动并网”

错误 UI:
- “系统正在为你并网…”

正确表达应为:

“系统正在尝试满足并网条件”

11.6 Sync Assist 与 Sync-check 的权责分离

Sync Assist:改变状态
Sync-check :判断合法性

二者关系必须是:

单向影响
不可反向控制

11.7 本章封存要点(必须继承)

- EMS 永不拥有强合闸权限
- Sync Assist 只能“改善条件”,不能“替代判断”
- 所有同步都必须通过 Sync-check
- 能量、机械、稳定性约束优先于同步目标
- 正确失败优于隐性成功

第 12 章|保护系统:高于 EMS 的最终裁决者

(Baseline v1.0 · Protection as the Supreme Authority)


12.1 保护优先级原则

12.1.1 不可协商的权力排序

在任何合规的微电网系统中,权力排序必须封存为:

Protection > Control (EMS) > Dispatch > UI

解释如下:

Protection : 物理安全与设备生存
Control    : 动态稳定与状态演化
Dispatch   : 经济性与调度目标
UI         : 人机交互与可视化

Baseline 明确:

任何下层系统都不得否决上层裁决

12.1.2 为什么 EMS 永远不能“压过保护”

常见错误观点:

“EMS 比保护更聪明”

工程现实:

- 保护是快速、确定、保守的
- EMS 是慢速、估计、策略性的

因此:

保护负责“不能发生”
EMS 负责“尽量不发生”

12.1.3 保护是“物理裁决”,不是“控制策略”

保护动作 = 物理事实的直接响应

而非:

优化、预测、学习的结果

12.2 保护机制集合

12.2.1 欠频 / 过频保护(UF / OF)

工程目的

- 防止系统失速
- 防止机械/电气超限

工程特征

- 动作快
- 不关心经济性

12.2.2 欠压 / 过压保护(UV / OV)

工程目的

- 防止设备绝缘破坏
- 防止电流异常放大

工程特征

- 电压是电流的前兆
- UV 往往比 OF 更致命

12.2.3 RoCoF 保护(df/dt)

工程目的

- 捕捉“失稳的趋势”,而非结果

工程意义

RoCoF 是“来不及稳住之前的最后预警”

12.2.4 UVLS(低压减载)

工程定位

UVLS ≠ 失败
UVLS = 延命

工程逻辑

- 保留部分系统
- 放弃部分负载

12.3 保护动作与 EMS 的协同边界

12.3.1 EMS 不得对抗保护

明确禁止以下行为:

- 保护跳闸后自动重合
- 保护触发后“强拉”频率
- 通过调度掩盖保护条件

12.3.2 保护动作后的 EMS 合法行为

EMS 可以:
- 记录事件
- 切换状态机至 Tripped
- 准备恢复条件
EMS 不可以:
- 否认保护动作
- 自动解除保护锁定

12.3.3 “保护误动”的工程处理原则

即便怀疑误动:

- 先承认
- 再分析
- 后修正

任何“先绕过再说”的行为:

在工程与法律上不可接受

12.4 保护与 Sync-check / Sync Assist 的关系

12.4.1 保护优先于同步

若保护未复位
Sync-check 必须失败

12.4.2 Sync Assist 不得掩盖保护风险

错误:
- 为通过 Sync-check 而压低报警

正确行为:

- 同步失败
- 明确提示保护条件未满足

12.5 保护系统的“保守性”是设计目标

12.5.1 为什么保护要“过于敏感”

- 偶发误动 < 一次未动作

12.5.2 “看起来太严格”的保护是正确的

保护不是为了舒适运行
而是为了最坏情况

12.6 UI 与日志中的保护表达原则

12.6.1 UI 不得弱化保护权威

禁止表达:

- “系统自动处理了一个小问题”

正确表达:

- “保护动作:欠频,系统已跳闸”

12.6.2 日志必须支持事故回溯

日志必须包含:

- 触发保护类型
- 测量值
- 时间戳
- 系统状态

12.7 本章封存要点(必须继承)

- Protection 是系统最高裁决者
- EMS 永不对抗保护
- 保护优先级高于所有控制与调度
- UVLS 是保命,不是失败
- 保守不是缺陷,而是设计目标

第 13 章|Allow all-off、热备用与工程取舍

(Baseline v1.0 · Operability First, Fuel Second)


13.1 Allow all-off = YES

13.1.1 工程定义

Allow all-off = YES

表示系统在满足以下条件时:

- 允许所有柴油机完全停机
- 系统仅由 BESS + 可再生能源支撑

这是一个显式允许的工程模式,而不是默认行为。


13.1.2 表面收益

- 最低燃油消耗
- 最低噪声与排放
- 系统“看起来”最先进

13.1.3 隐含代价(必须明确)

- 真实惯量为 0
- 所有频率稳定完全依赖控制算法
- 系统恢复能力显著下降

工程后果包括:

- df/dt 显著放大
- 对负载脉冲极度敏感
- 对风电 Gust 极度敏感

13.1.4 Allow all-off = YES 的适用前提(缺一不可)

- BESS 功率裕度充足
- BESS 能量裕度充足
- 负载波动可控
- 可再生扰动受限

若任何一项不满足:

Allow all-off = YES 在工程上不成立

13.2 Allow all-off = NO

13.2.1 工程定义

Allow all-off = NO

表示系统 至少保持一台柴油机在线或热备用,即使其不承担主要负载。


13.2.2 工程收益(Baseline 强调)

- 系统拥有真实机械惯量
- 频率变化被物理平滑
- 系统恢复能力显著提高

13.2.3 热备用的工程含义

热备用 ≠ 空转浪费
热备用 = 随时可接管的稳定锚点

热备用状态特征:

- 存在怠速油耗
- 不承担主要功率
- 可在极短时间内 ramp up

13.2.4 工程后果对比

Allow all-off = YES → 最低油耗 + 最低可控性
Allow all-off = NO  → 略高油耗 + 显著更高可控性

Baseline 立场:

可控性优先于极致省油

13.3 工程默认值选择逻辑

13.3.1 Baseline v1.0 的默认立场(封存)

默认配置:
Allow all-off = NO

原因并非保守,而是:

这是跨项目、跨负载、跨气候
最不容易出事故的默认值

13.3.2 Allow all-off = YES 的使用规范

Allow all-off = YES
只能作为:
- 明确配置
- 明确风险告知
- 明确责任边界后的选择

不得作为:

- 系统默认
- UI 诱导选项

13.3.3 现场运行中的动态切换原则

- 高扰动期 → Allow all-off = NO
- 低扰动期 → 允许临时 YES

但必须满足:

- 有明确切换条件
- 有明确日志记录

13.4 常见工程误区(必须明确禁止)

13.4.1 把“全停柴油”当作系统成功标志

错误指标:
“今天柴油机一秒都没跑”

正确指标应为:

“今天系统在最坏扰动下仍可控”

13.4.2 把热备用视为“低效”

短期视角:
- 油耗 ↑

长期工程视角:
- 事故概率 ↓
- 恢复时间 ↓
- 法律风险 ↓

13.4.3 UI 暗示“全关更高级”

任何将 Allow all-off 描述为
“高级 / 智能 / AI 模式”
的设计

均违反 Baseline。


13.5 本章封存要点(必须继承)

- Allow all-off 是风险选项,不是默认选项
- 热备用是稳定性投资
- 真实惯量在极端工况下不可替代
- 可控性优先于极致省油
- 默认值必须选择“最不容易出事故”的方案

第 14 章|仿真系统工程设计原则(封存)

(Baseline v1.0 · Simulation as an Engineering Instrument, Not a Demonstration Tool)


14.1 仿真不是为了“好看”

14.1.1 仿真的首要目标

仿真的首要目标不是:
- 平滑曲线
- 稳定画面
- 用户舒适感

仿真的首要目标是:

暴露问题

包括但不限于:

- 频率超限
- df/dt 过大
- SOC 失控
- 合闸失败
- 保护动作

14.1.2 “不好看”的仿真往往更真实

工程事实:

真实系统 = 抖动 + 延迟 + 失败

因此:

看起来“糊”“乱”“抖”的仿真
往往比“丝滑”的仿真更接近真实

14.1.3 明确禁止的“美化行为”

- 为了好看降低扰动
- 为了演示隐藏失败
- 为了通过合闸硬改状态

以上行为一旦出现:

仿真结论全部作废

14.2 Correct Failure 的仿真定义

14.2.1 正确失败的工程定义

Correct Failure =
在条件不满足时
系统明确、不含糊地拒绝执行

14.2.2 Correct Failure 的三要素

1) 必须失败
2) 失败原因可追溯
3) 失败路径可复现

14.2.3 正确失败的典型场景

- 频率未同步 → 合闸失败
- SOC 不足 → Sync Assist 终止
- DG 未就绪 → 并网被拒
- 保护未复位 → 状态锁定

14.2.4 “强行成功”是仿真中的重罪

任何通过以下方式实现的“成功”:
- 强改状态变量
- 跳过状态机
- UI 直接驱动 PCC

在 Baseline 中被定义为:

伪成功(False Success)

14.3 仿真与真实系统差异边界

14.3.1 允许差异(可接受)

- 参数精度(简化)
- 电磁暂态(忽略)
- 设备内部控制细节

这些差异不会破坏:

因果关系

14.3.2 危险差异(禁止)

- 功率不守恒
- 无惯量系统“天然稳定”
- 合闸无条件成功
- 保护可被绕过

这些差异会:

直接误导工程决策

14.3.3 仿真必须保持的因果链

负载变化
→ 功率不平衡
→ 频率变化
→ 控制响应
→ 保护/状态机裁决

任何打断或倒置该因果链的实现:

均违反 Baseline

14.4 仿真系统的结构性要求

14.4.1 状态与显示必须分离

状态变量 ≠ UI 显示变量

UI 不得:

- 平滑真实状态
- 延迟真实状态

14.4.2 所有“判断”必须来自内核

- 合闸是否允许
- 保护是否动作
- Sync-check 是否通过

必须由:

仿真内核决定

14.4.3 UI 只能请求,不能裁决

UI → 请求
内核 → 判断

这是不可违反的结构性原则


14.5 日志与可审计性要求

14.5.1 每一次失败都必须留下证据

- 时间戳
- 状态
- 关键测量值
- 判据结果

14.5.2 仿真必须可重复

- 相同输入
- 相同参数
→ 相同结果

任何不可重复的仿真结果:

不得用于工程结论

14.6 UI 与仿真的关系(封存)

14.6.1 UI 是“观察窗”,不是“控制器”

UI = 仪表盘
不是方向盘

14.6.2 UI 不得掩盖失败

- 不得自动消失报警
- 不得弱化保护信息

14.7 本章封存要点(必须继承)

- 仿真的目的在于暴露问题
- Correct Failure 是第一原则
- 所有稳定都必须付出代价
- UI 永远不能绕过内核
- 因果关系高于视觉体验

第 15 章|Baseline v1.0 封存声明

(Baseline v1.0 · Sealed Engineering Constitution)


15.1 不可变条款(Immutable Clauses)

以下条款自 Baseline v1.0 封存之时起,在任何系统形态、任何项目规模、任何 UI 或实现演进中,均不得被推翻、弱化或绕过

1) 功率平衡是唯一的一阶真理
2) 频率是状态量,而非控制目标
3) 稳定必须付出功率与能量代价
4) Protection > Control > Dispatch > UI
5) PCC 是并离网的唯一合法对象
6) Sync-check 不可跳过
7) 合闸失败是正确行为
8) EMS 永不拥有强合闸权限
9) 可再生能源不承担稳频责任
10) BESS 不是无限能源

上述条款构成:

微电网并离网控制系统的“工程宪法”

任何与上述条款直接或间接冲突的设计、实现、演示或对外表述:

均被视为违反 Baseline

15.2 允许演进的内容类型(Evolution Rules)

Baseline v1.0 明确允许以下内容在不改变工程哲学的前提下演进:

15.2.1 参数层(Parameters)

- Δf_max、ΔV_max、θ_max
- Droop 系数
- SOC 上下限
- Ramp rate

前提条件:

- 不破坏因果关系
- 不掩盖失稳路径

15.2.2 实现层(Implementation)

- 代码结构优化
- 算法数值稳定性改进
- 性能与实时性增强

前提条件:

- 状态机逻辑不变
- 保护优先级不变

15.2.3 UI 与可视化层(UI / Visualization)

- 图表样式
- 交互方式
- 信息呈现顺序

前提条件:

- 不隐藏失败
- 不“看起来更稳”

15.3 禁止演进的内容类型(Forbidden Changes)

以下内容一旦发生变化,必须提升 Baseline 主版本号,且需重新封存:

- 控制哲学改变
- 权力排序改变
- 合闸合法性判据改变
- 保护与 EMS 边界改变
- PCC 地位改变

任何未经 Baseline 升级而进行的上述改动:

在工程与责任层面均视为无效

15.4 版本升级触发条件

15.4.1 必须升级 Baseline 的情形

- 新增控制权主体(例如第三方控制器)
- 改变并离网逻辑路径
- 允许 EMS 绕过 Sync-check
- 改变 Protection 的裁决地位

15.4.2 不需要升级 Baseline 的情形

- 调整默认参数
- 扩展 UI 功能
- 引入新的仿真场景

前提仍然是:

不改变不可变条款

15.5 工程责任与使用声明

15.5.1 工程责任边界

Baseline v1.0 仅定义:
- 工程逻辑
- 控制边界
- 责任分层

不替代:

- 设备厂家说明
- 当地电网规范
- 法律与合规审查

15.5.2 使用风险声明

任何脱离真实设备约束、
现场条件或保护配置的应用,
均可能导致系统行为偏离仿真结论。

因此:

仿真结论 ≠ 现场免责

15.6 封存声明(Final Seal)

《微电网并离网控制与仿真系统工程理论基线(Baseline v1.0)》
在此正式封存。

封存含义如下:

- 作为工程判断的最高参考
- 作为实现与演进的边界
- 作为责任划分的基础依据

自封存之日起:

任何后续设计、实现、演示、对外沟通
均应以本 Baseline 为前提

15.7 结语(非技术性,但不可省略)

一个系统是否“先进”
不取决于它是否永远成功,
而取决于它是否在该失败的时候失败。

Baseline v1.0
选择的是:
可解释的失败
而不是不可追责的成功。

附录 A|符号、变量与工程参数表

(Appendix A · Symbols, Variables & Engineering Semantics)

本附录用于 统一语义、防止误读、禁止“各说各话”。


A.1 功率相关符号(Power)

P_total        系统瞬时总功率平衡量
P_grid         并网点功率
               > 0 : 从大电网取电
               < 0 : 向大电网送电
P_BESS         电池功率
               > 0 : 放电(向系统供电)
               < 0 : 充电(吸收系统功率)
P_DG           柴油机有功输出
               始终 ≥ 0
P_PV           光伏有功输出(不可控注入)
P_Wind         风电有功输出(随机注入)
P_Load         系统总负载
               始终 ≥ 0

功率平衡封存表达式

$$Pgrid+PDG+PBESS+PPV+PWind−PLoad−Ploss=0P_{grid} + P_{DG} + P_{BESS} + P_{PV} + P_{Wind} - P_{Load} - P_{loss} = 0$$

⚠️ 任何仿真或实现中不满足该方程者,直接违反 Baseline。


A.2 频率与动态相关符号(Frequency & Dynamics)

f               系统频率(Hz)
f_grid          大电网频率
f_mg            微电网频率
Δf              频率差
               = f_mg - f_grid
df/dt           频率变化率(RoCoF)
H_eq            等效惯量常数

A.3 电压与同步相关符号(Voltage & Sync)

V_mg            微电网电压(RMS)
V_grid          电网侧电压(RMS)
ΔV              电压差
θ               相角
Δθ              相角差

A.4 能量与状态变量(Energy & States)

SOC             电池荷电状态(0–1 或 %)
SOC_min / max   SOC 上下限
State_PCC       PCC 状态机状态
               {Grid-connected, Islanded, Sync-check, Reclosing, Tripped}

A.5 控制与策略标志位

Allow_all_off   是否允许所有柴油机停机
Sync_Assist     同步辅助控制策略(非状态)

附录 B|常见错误建模方式清单(反例)

(Appendix B · Anti-patterns & Invalid Models)

本附录用于 审图、代码 Review、投标澄清。


B.1 功率守恒类错误

❌ 功率不平衡但频率不变
❌ 电池无限兜底
❌ 可再生功率“自动匹配负载”

工程判断:

违反能量守恒 → 全部结论作废

B.2 频率相关错误

❌ 直接写频率变量(f = 60)
❌ 合闸后频率瞬间“拉平”
❌ df/dt 被 UI 平滑隐藏

正确原则:

频率只能通过功率变化间接改变

B.3 BESS 相关错误

❌ 忽略 SOC 演化
❌ SOC 达极限但功率仍可输出
❌ BESS 长期承担稳态功率

工程后果:

伪稳态 / 不可持续系统

B.4 柴油机相关错误

❌ 忽略启动延迟
❌ 忽略最小负载
❌ 把 DG 当成快调节器

工程后果:

机械模型失真

B.5 并离网与 PCC 错误

❌ 无状态机直接合闸
❌ UI 按钮直驱 PCC
❌ 合闸失败不解释原因

工程判定:

非法并网逻辑

B.6 保护系统错误

❌ EMS 自动重合保护跳闸
❌ 保护被 UI 或策略屏蔽
❌ “保护误动,先绕过再说”

工程与法律后果:

责任不可辩护

B.7 仿真展示类错误(极其常见)

❌ 为“好看”降低扰动
❌ 永远成功的合闸演示
❌ 失败不留日志

Baseline 定义:

False Success(伪成功)

附录 C|工程默认参数建议区间(投标口径)

(Appendix C · Default Engineering Ranges for Bidding)

⚠️ 本附录 不是强制值表,


C.1 同步检查参数(Sync-check)

Δf_max        0.05 – 0.20 Hz
ΔV_max        ±5% – ±10%
Δθ_max        10° – 20°
连续满足时间  2 – 10 s

C.2 BESS 参数

SOC_min       20% – 30%
SOC_max       85% – 95%
P_BESS_max    ≥ 最大单次负载阶跃
能量容量      ≥ 预期最大不平衡持续时间

C.3 柴油机参数

最小负载      30% – 40% 额定功率
Ramp rate     5% – 10% P_rated / s
热备用油耗    5% – 15% 额定燃耗

C.4 频率控制(Droop / 虚拟惯量)

Droop         3% – 5%
虚拟惯量时间  0.5 – 5 s(短期)

C.5 负载建模参数

负载波动 σ    2% – 5% 额定负载
时间常数 τ    10 – 60 s
Clamp         ±20% – ±30%

C.6 Allow all-off 默认建议

默认:Allow all-off = NO
仅在以下情况下允许 YES:
- BESS 功率与能量双裕度
- 可再生扰动受限
- 风险已告知并确认

C.7 投标与技术澄清使用原则(封存)

- 投标口径采用区间,不采用极值
- 所有参数必须可回溯至 Baseline 章节
- 不得为了“更好看”选取激进参数

📌 附录封存说明

附录 A / B / C
与正文具有同等工程效力

任何引用 Baseline v1.0 的项目:

必须同时接受正文与附录

附录 D|优化说明

1) 你输入参数后,怎么确认“配置正确”

1.1 第一层:守恒与边界(不看图也能判)

你先跑 2–5 分钟,逐项确认:

A) 功率守恒是否成立
   供给侧(DG + BESS + PV + Wind + Grid)
   是否能覆盖负载 + 损耗(若你有)
   观察:频率不应该“无缘无故漂移到天边”

B) SOC 是否合理演化
   放电时 SOC 下降
   充电时 SOC 上升
   且触到上下限会限幅(不会穿越)

C) PCC 状态机是否严格
   不满足 Sync-check → 合闸必须失败
   失败要能解释(Δf 超限等)

满足 A/B/C,才算“配置语义正确”。否则先别谈优化。


1.2 第二层:动态是否“像物理系统”

你看三件事(最关键):

1) 负载有波动 → 频率有响应(不一定大,但必须有)
2) BESS 扛瞬态,DG 扛稳态(时间尺度分工要对)
3) 可再生越抖 → 系统越难同步(合闸更难,不是更容易)

如果你看到“负载波动很大但频率一条直线”,那就是错误(要么内核被钳位,要么 UI/滤波掩盖了因果)。


2) 怎么发现“问题配置不正确”(快速定位法)

给你一个 症状 → 可能原因 → 该查哪里 的工程排查表(不依赖颜色)。

2.1 症状:频率长期漂移、越跑越偏

可能原因:
- 功率平衡长期有偏差(供给 < 负载)
- DG 最小负载/爬坡限制导致补不上
- BESS 功率限幅太小或 SOC 触顶/触底

该查:
- 负载均值 vs 总可供功率
- BESS Pmax / SOC 限
- DG Pmax / ramp / min load

2.2 症状:合闸永远失败(Δf 总是超限)

可能原因:
- Island 侧没有“可调频资源”(DG不在/太慢,BESS被限)
- Sync Assist 增益过小(拉不回来)
- 可再生/负载波动太大,窗口时间不够

该查:
- 是否 Allow all-off=YES + DG 全停 + BESS 受限
- Sync Assist 是否启用,且是否受 SOC/ramp 卡死
- Δf_max 太严格 或 连续满足时间过长(工程上过保守)

2.3 症状:合闸偶尔成功,但立刻又失稳/跳闸

可能原因:
- “撞线合闸”:窗口太窄或持续时间太短
- 合闸后控制切换不平滑(并网/离网控制权切换)
- 合闸后仍存在功率大偏差(瞬时潮流冲击)

该查:
- Sync-check 连续满足时间
- 合闸后控制模式切换(Grid-following/Island control)
- 合闸瞬间 ΔP 是否过大

2.4 症状:柴油用量飙升(你之前那个现象)

典型原因:
- PV/Wind=0 + Grid=OFF 时,系统只有 DG+BESS
- Allow all-off=NO → DG 必须在线(热备用/最小负载)
- BESS 为保持频率承担瞬态,但稳态能量必须由 DG 兜底
结果:DG 会承担“平均功率”,燃耗自然上去

一句话:这不是 bug,而是“能量守恒的正确惩罚”。


3) 如何判定“优化方向是对的”还是“看起来对”

你要用 三类指标,只看结果、不听解释。


3.1 正确性指标(Correctness Metrics)

这些不满足,任何优化都算失败:

- 功率不平衡不会被 UI 掩盖
- SOC 不穿越边界,且限幅后行为合理
- Sync-check 不通过就绝不合闸
- 保护动作不可被 EMS“压掉”


3.2 可控性指标(Operability Metrics)

这些决定“工程上好不好用”:

- 频率偏差峰值(|Δf| peak)
- RoCoF 峰值(|df/dt| peak)
- 合闸成功率(在合理窗口内)
- 恢复时间(偏差回到阈值内所需时间)

判断规则(工程直觉版):

同样的扰动下:
峰值更低 + 恢复更快 + 不触发保护
= 优化方向正确


3.3 代价指标(Cost-of-Stability Metrics)

用于验证“稳定必须付出代价”:

- 柴油燃耗(或运行时长)
- BESS 循环次数 / 平均功率(等价磨损)
- 可再生弃电(curtailment)

判断规则:

如果你让频率更稳,但代价没有任何上升
那十有八九是“作弊”(比如钳频、平滑、绕过状态机)


4) v6.3 下的“工程级操作流程”(你输入参数后就这么跑)

Step 1:基准场景(必须先过)

Grid=ON
PV/Wind 中等
负载中等波动
Allow all-off=NO

你要看到:

- 并网态频率稳定(接近电网)
- 切离网后频率可控但有动态
- Sync-check 不满足就不让合闸

Step 2:压力场景(验证正确失败)

Grid=OFF(或 Island)
PV/Wind 抖动加大
负载脉冲/阶跃增加

你要看到:

- 合闸更难(正确)
- 保护更容易动作(正确)
- 系统不会“自动变稳”(正确)

Step 3:优化迭代(只动一类参数)

每次只改一组:

A) Sync-check 窗口(Δf_max、持续时间)
B) Sync Assist 增益与限幅
C) DG ramp / 最小负载 / 热备用策略
D) BESS Pmax / SOC 窗口

否则你无法归因。


5) 你问的关键:合闸后频率是不是应该“立刻回到 60Hz”?

在 Baseline v1.0 里,答案是:不应该“立刻”

正确行为应是:

- 并网成功后,频率逐步被电网“牵引”到 60Hz
- 但不应出现瞬间硬跳(那通常代表你在代码里强写了频率)

如果你看到“瞬间回到 60Hz”,大概率是:

- 频率状态被重置
- 或显示被钳位/替换成电网频率

工程上这会掩盖合闸瞬间的冲击与不平衡,属于你封存原则里明确反对的“假稳定”。


6) 给你一个“最小可用的判定清单”(你每次改完就对照)

[必过] 1) 负载扰动存在 → 频率响应存在
[必过] 2) SOC 演化方向正确,且不穿越
[必过] 3) Sync-check 不过 → 合闸必失败
[必过] 4) 优化越稳 → 必然付出代价(油耗/弃电/电池磨损至少其一上升)
[必过] 5) UI 不改变内核真实状态(不钳频、不重置、不隐藏)