1. 课程导入与仿真环境搭建
电力系统动态仿真的核心任务,是研究系统在扰动后各状态量随时间的变化过程。稳态分析回答“最终运行点在哪里”,动态仿真回答“从扰动发生到重新稳定,中间经历了什么”。例如同步发电机转子摇摆、励磁系统调压、原动机调速、逆变型电源锁相环动态、直流输电换相失败等,都属于典型的动态问题。若只做潮流计算,这些过程无法体现;若只做电磁暂态仿真,又难以在数十秒到数分钟尺度上观察机电动态。因此,动态仿真通常以“机电暂态”为主,关注秒级到分钟级的功角、频率、电压和功率变化。
MATLAB/Simulink 在电力系统分析中的定位,可以概括为“算法验证与动态建模的通用平台”。MATLAB 擅长矩阵运算、数据处理、脚本化批量仿真和结果可视化;Simulink 擅长以图形化方式搭建微分方程、控制环节和电力网络。两者结合后,既能用脚本批量修改参数、自动运行多次仿真,也能用示波器观察波形、用工作空间保存数据。对于本课程,重点不是把 MATLAB 当作潮流计算器,而是把它当作动态仿真的实验台:用脚本准备参数,用 Simulink 搭建模型,用 MATLAB 分析结果。
在开始建模前,需要先完成环境搭建。第一步是确认 MATLAB 版本与工具箱。电力系统动态仿真常用到 Simulink、Simscape Electrical(旧称 SimPowerSystems)、Control System Toolbox 和 Signal Processing Toolbox。若只做基础机电暂态,Simulink 与 Simscape Electrical 是必需项;若涉及控制器设计,Control System Toolbox 会明显提高效率。安装时可在 MATLAB 的“附加功能”中搜索并安装,安装完成后用 ver 命令检查。
ver
% 检查是否包含以下工具箱:
% Simulink
% Simscape
% Simscape Electrical
% Control System Toolbox
第二步是配置工作路径。建议为课程建立独立目录,例如 D:\MATLAB_PSD\chapter01,并在其中建立 models、scripts、data、results 四个子目录。模型文件放在 models,参数脚本放在 scripts,实测或算例数据放在 data,仿真输出放在 results。这样做的目的是避免路径混乱,也便于后续用脚本自动加载参数。
% 设置工作路径示例
projRoot = 'D:\MATLAB_PSD\chapter01';
addpath(fullfile(projRoot,'scripts'));
addpath(fullfile(projRoot,'models'));
addpath(fullfile(projRoot,'data'));
cd(projRoot);
第三步是验证环境是否可用。最直接的方法是在 Simulink 中新建一个空模型,拖入一个 Simscape Electrical 中的 RLC 支路或 Voltage Source,连接一个 Scope,设置仿真时间为 0.1 s,运行后观察波形。若波形正常显示,说明工具箱安装与路径配置均无问题。若出现“未定义函数或变量”或“无法加载模块库”,通常说明工具箱未安装或路径未加入搜索路径。
bdclose all 和 clear all,避免旧模型和旧变量影响结果。若模型使用了 powergui 模块,需确保其采样时间与求解器设置匹配。下面用一个最小示例说明“脚本准备参数—Simulink 搭建模型—MATLAB 分析结果”的闭环。假设一个单机无穷大系统,发电机惯性时间常数 H = 5 s,阻尼系数 D = 2,初始功角 delta0 = 30°,机械功率 Pm = 0.8 p.u.,电磁功率系数 K = 1.2。在 MATLAB 脚本中定义参数:
H = 5; D = 2; delta0 = deg2rad(30);
Pm = 0.8; K = 1.2;
sim('single_machine_model');
plot(tout, delta*180/pi);
xlabel('时间 t / s'); ylabel('功角 delta / °');
grid on;
运行后,若功角曲线在扰动后逐渐衰减并趋于新的稳态值,说明系统稳定;若功角持续增大或等幅振荡,则说明稳定裕度不足或阻尼偏弱。这里的关键不是记住某个数值,而是理解“参数—模型—波形—判断”的对应关系。后续章节会逐步展开发电机、励磁、调速、负荷和逆变型电源的详细建模。
需要特别说明的是,动态仿真中的“稳定”并不是一个绝对概念,而是相对于给定扰动和给定时间窗口而言。同样的系统,在小扰动下可能稳定,在大扰动下可能失稳;在 10 s 窗口内看似稳定,在 60 s 窗口内可能出现低频振荡。因此,仿真前必须明确扰动类型、故障持续时间、仿真时长和观察变量。后续章节会围绕这些要素逐步展开。
sim 命令可能找不到模型文件。建议每章开始前先运行一次 ver 和路径检查。本章的最终目标,是让读者能够独立完成三件事:第一,确认 MATLAB/Simulink 及 Simscape Electrical 可用;第二,建立规范的课程工作目录;第三,运行一个最小单机无穷大模型并观察功角曲线。完成这三件事后,后续的发电机建模、励磁系统、调速系统和逆变型电源仿真才有稳定的实验基础。