Unified grid-following and grid-forming BESS control
This release adds an executable, programmatically generated Simulink reference for unified grid-following/grid-forming battery energy storage control. It is a transparent educational research translation of Sadeghkhani et al., IECON 2022—not a numerically exact paper reproduction or a qualified plant controller.
Included
- explicit dq current/filter-equivalent averaged plant and 10 MVA, 690 V, 50 Hz parameter basis
- eight-state supervisory controller covering grid following, island preparation, grid forming, island support, synchronization, reconnection, recovery, and fault-safe operation
- current-circle limiting, anti-windup, synchronization interlocks, finite invalid-measurement handling, and deterministic transition logic
- idempotent Simulink builder plus a ready-to-open generated
bess_unified_control.slxin the downloadable package - requirements, source and assumption ledgers, traceability matrix, equations, tuning, reproduction, limitations, original diagrams, and validation plots
Verified evidence
- Release commit:
a77d8cda99204b197e479d11a10c069ea13995de - MATLAB: R2026a Update 4
- Required products: MATLAB and Simulink
- Baseline repository checks retained: 17
- Release repository checks: 18/18
- New focused BESS tests: 31/31
- Validation scenarios: 8/8
- Code Analyzer: 0 messages across 31 MATLAB files
- Default-branch CI: https://github.com/mohammadrezwankhan/matlab-simulink-energy-lab/actions/runs/30364739430
- Package SHA-256:
9B009AD23F02BBEFD238F22ABF65A1C878BF2261CE3E46686C191FD9A1EEE006
Reproduce
addpath('examples/bess-unified-control');
run_all_checks(true);
generate_bess_validation_evidence('a77d8cda99204b197e479d11a10c069ea13995de');Build the disposable model from source:
addpath('examples/bess-unified-control');
modelPath = build_bess_unified_control_model();Source boundary and assumptions
Primary publication: https://doi.org/10.1109/IECON49645.2022.9968382
The publication does not disclose a complete parameter set, all controller equations, plant/solver details, transition timing, synchronization gates, limits, or initial conditions. Missing details are centralized and labeled PROJECT_ASSUMPTION; the VSG/swing/governor variant is explicitly excluded. See requirements/source-ledger.csv, requirements/assumptions.md, and docs/limitations.md before reuse.
Safety
This artifact is an educational engineering reference. It is not a protection system, grid-code certification model, hardware qualification, or substitute for project-specific validation.