这次我们来看一个非常经典的电力系统仿真方向:简单配电网故障电流分析的 MATLAB/Simulink 仿真。
很多做电气工程课程设计、毕业设计,或者刚接触配电网继电保护的同学,都会遇到同一个问题:课本上短路电流公式推导得很清楚,但真要看故障电流到底长什么样、三相短路和单相接地在波形上有哪些区别、过渡电阻对故障电流影响有多大,光靠手算很难建立直观感受。Simulink 的优势就在于拖拽式建模、模块化故障注入、批量参数扫描方便,能快速把电网故障的暂态过程“可视化”出来。
这个仿真项目的核心能力可以归纳为几句话:用 Simulink 搭建一个小型配电网模型,通过 Three-Phase Fault 模块注入不同类型短路故障,观察三相电流、电压波形,并借助 MATLAB 脚本做数据导出、特征提取和批量参数扫描。硬件门槛很低,普通 CPU 电脑就能跑,对显卡没有要求;重点是 MATLAB 需要安装 Simulink 和 Simscape Electrical 工具箱,模型启动方式就是直接打开.slx文件,或者用脚本调用sim()函数驱动。
本文会带你先搭一个 10kV/380V 简单配电网模型,然后分别测试三相短路、两相短路和单相接地故障,最后用 MATLAB 脚本完成故障电流峰值、稳态值提取,并通过批量扫描过渡电阻来看故障电流变化曲线。全文覆盖环境准备、模型搭建、故障设置、仿真运行、数据后处理和问题排查,适合做课程设计、毕业设计、教学演示以及继电保护整定前的初步验证。
1. 核心能力速览
先给一张能力清单,快速判断这个仿真项目适不适合你现在要做的事。
| 能力项 | 说明 |
|---|---|
| 项目类型 | 配电网短路故障暂态仿真模型 |
| 核心功能 | 三相短路、两相短路、两相接地短路、单相接地短路故障电流分析 |
| 建模工具 | MATLAB Simulink + Simscape Electrical(Specialized Power Systems) |
| 硬件要求 | 常规 CPU 电脑即可,对独立显卡无强制要求 |
| 启动方式 | 打开.slx模型直接仿真,或用.m脚本调用sim() |
| 是否支持批量任务 | 支持,可用Simulink.SimulationInput批量扫描故障电阻、故障时间、负载水平 |
| 是否支持 API 调用 | 支持,MATLAB 命令行可直接调用模型,并导出数据到工作区 |
| 输出内容 | 三相电流/电压波形、短路电流峰值、稳态周期分量、FFT 谐波分析 |
| 适合场景 | 课程设计、本科毕业设计、继电保护教学演示、短路电流整定初步验证 |
从这张表能看出来,它不是一个需要堆显卡算力的项目,重点在模型搭建和故障数据分析方法。如果你手里已经有带 Simscape Electrical 的 MATLAB 环境,基本可以开箱即用。
2. 适用场景与使用边界
2.1 这个仿真适合谁
这个项目比较适合四类读者。
电气工程及其自动化专业的本科生做课程设计时,搭一个简单配电网短路仿真模型,能把不对称故障的电流特征用波形展示出来,比纯公式推导更直观。
做继电保护相关课题的研究生,需要先验证保护算法对故障电流特征的辨识能力,Simulink 模型可以快速生成带不同过渡电阻、不同故障距离的训练样本。
职业院校或高校教师做“电力系统分析”“供配电技术”课程教学演示,用 Simulink 模型现场切换故障类型,比静态 PPT 有说服力得多。
刚接触 Simulink 的工程师,也可以拿这个模型作为学习 Simscape Electrical 的入门练习题,把模块连接、参数配置、数据导出这套流程完整跑通。
2.2 能解决什么问题
这个仿真模型最直接的价值是回答三个工程问题。
第一个:不同类型的短路故障,故障电流差异到底有多大?三相短路电流对称但冲击值最大,单相接地电流相对较小,两相短路介于两者之间。用仿真波形可以把这些差异直观展现。
第二个:过渡电阻增大后,故障电流怎么变化?在真实配电网中,经弧光电阻接地、经树枝碰线接地很常见,过渡电阻会显著影响故障电流幅值。用参数扫描可以画出一条“过渡电阻—故障电流”关系曲线。
第三个:故障发生时刻、故障持续时间对暂态电流波形有什么影响?短路电流中包含衰减的直流分量,故障初始角不同,非周期分量的初始值也不同。Simulink 可以轻松设置故障时刻来观察这个现象。
2.3 不适合什么场景
也要说清楚它的边界。
小型放射状配电网仿真做故障电流定性分析没问题,但不适合直接用于真实配电网的保护定值工程计算。真实系统要考虑线路分布电容、负荷模型、变压器励磁涌流、分布式电源接入等复杂因素,这个简单模型只是一个教学和预研工具。
如果目标是研究微电网孤岛运行下的故障特性,或者含逆变器分布式电源的配电网故障穿越,这个简单放射状模型不够,需要把逆变器模型、控制策略加进去,模型复杂度会大幅上升。
如果要做大规模配电网(几十个节点以上)的短路电流扫描,Simulink 图形化建模的效率不如直接用 MATLAB 编写节点导纳矩阵做短路计算,或者使用 OpenDSS 这类专门工具。
2.4 安全与合规边界
这里需要特别提醒。
配电网故障仿真是教学和科研的正常内容,不涉及任何操作真实电网的问题。但在使用过程中有几点边界要注意:仿真用到的线路参数、变压器参数如果来自真实电网数据,要注意数据脱敏和来源合规,不要发布未授权的现场数据;故障仿真的结果不能直接作为真实继电保护装置的动作依据,实际定值整定必须结合现场实测和专业人员审核;如果你引用他人论文里的算例参数,要在报告或论文中注明出处。
3. 环境准备与前置条件
3.1 软件环境
建这个仿真模型需要以下软件环境:
| 组件 | 说明 |
|---|---|
| MATLAB | R2021a 之后的主流版本均可,实际以本机安装为准 |
| Simulink | MATLAB 自带 |
| Simscape Electrical | 含 Specialized Power Systems 库,必须安装 |
在 MATLAB 命令行窗口里输入下面这条命令,可以快速确认工具箱是否可用:
% 检查 Simscape Electrical 工具箱 ver('simscape')如果 MATLAB 返回结果中没有出现 Simscape 相关版本信息,说明工具箱没有安装,需要重新运行安装程序并勾选 “Simscape Electrical”。
也可以使用许可证查询的方式:
% 返回 1 表示许可证可用 license('test', 'Simscape_Electrical')返回值为 1 时,说明当前许可证支持该工具箱。
3.2 硬件要求
这个项目对硬件要求比较友好。模型规模小、仿真时间短,普通四核 CPU 的笔记本就能流畅运行。仿真过程主要吃 CPU 单核性能和内存,对独立显卡没有任何要求,核显完全够用。
如果是 0.2 秒仿真时间、离散步长 10 微秒的配置,大概会产生 2 万个计算步,常见配置下几秒到几十秒完成,具体耗时取决于模型复杂度和求解器设置。
硬盘空间方面,一个.slx模型文件通常只有几百 KB 到几 MB,加上仿真数据和脚本,整个工程目录预留几百 MB 完全足够。
3.3 模型文件与工程目录
建议把仿真文件按下面的目录结构管理:
distribution_grid_fault/ ├── model/ │ └── grid_fault.slx ├── scripts/ │ ├── run_simulation.m │ ├── batch_scan.m │ └── analyze_results.m ├── data/ │ └── workspace_outputs/ └── docs/ └── experiment_notes.md路径最好全部使用英文,避免 MATLAB 在解析中文路径时出现未知报错。
4. 配电网 Simulink 模型搭建步骤
4.1 模型整体结构
整个配电网模型从电源到负载沿一条放射状路径展开。这里先看整体结构:
三相电源(10 kV)→ 三相变压器(10/0.4 kV)→ 三相PI线路 → 故障点 → 三相负载故障模块放在线路末端、负载前端,这样可以同时观察故障点上游电源侧和下游负载侧的电流变化。不过在简单模型中,重点观察的是电源侧三相电流。
4.2 模块选择与连接顺序
从 Simulink Library Browser 中找到 Simscape -> Electrical -> Specialized Power Systems 模块库,依次拖入以下核心模块:
| 模块名称 | 在库中的路径 | 作用 |
|---|---|---|
| Three-Phase Source | Specialized Power Systems > Electrical Sources | 提供 10kV 三相电源 |
| Three-Phase Transformer (Two Windings) | Electrical Elements | 10kV/400V 降压变压器 |
| Three-Phase PI Section Line | Electrical Elements | 模拟配电线路阻抗 |
| Three-Phase Series RLC Load | Electrical Elements | 末端负载 |
| Three-Phase Fault | Electrical Elements | 短路故障注入模块 |
| Three-Phase V-I Measurement | Measurements | 测量三相电压电流 |
| Powergui | Specialized Power Systems | 求解器与仿真环境配置 |
| Scope | Simulink > Commonly Used Blocks | 波形显示 |
另外还需要一个 To Workspace 模块,把三相电流数据导出到 MATLAB 工作区,方便后续脚本分析。
模块连接顺序参考:
Three-Phase Source ↓ Three-Phase Transformer ↓ Three-Phase V-I Measurement ↓ Three-Phase PI Section Line ↓ Three-Phase Fault(并联接入) ↓ Three-Phase Series RLC Load注意 Three-Phase Fault 采用的是并联接入方式,一端接在线路末端,另一端接地。这样故障模块被使能时,线路对地短路,产生故障电流。
4.3 关键参数配置
这里的参数只是案例设置,你可以按自己的实验方案调整。
Three-Phase Source 参数设置:
| 参数项 | 设置值 |
|---|---|
| Phase-to-phase voltage (Vrms) | 10000 |
| Frequency | 50 |
| Internal connection | Yg |
变压器参数设置:
| 参数项 | 设置值 |
|---|---|
| Nominal power | 1e6 VA |
| Frequency | 50 Hz |
| Winding 1 (Vrms) | 10000 |
| Winding 2 (Vrms) | 400 |
| Connection | Delta-Wye(D11) |
| 其他参数 | 使用默认值 |
PI 线路参数设置:
| 参数项 | 设置值 |
|---|---|
| Frequency used | 50 |
| Length | 2 km |
| Positive-sequence resistance | 0.15 Ω/km 左右 |
| Positive-sequence inductance | 1.4e-3 H/km 左右 |
| Positive-sequence capacitance | 1.2e-8 F/km 左右 |
| 零序参数 | 按默认值 |
负载参数设置:
| 参数项 | 设置值 |
|---|---|
| Configuration | Yg |
| Nominal phase-to-phase voltage | 400 V |
| Active power | 10000 W 左右 |
| Inductive reactive power | 1000 var 左右 |
4.4 Powergui 与求解器配置
双击 Powergui 模块,在 Solver 选项卡里选择仿真类型。
推荐使用 Discrete(离散)类型,并设置 Sample time 为 1e-5,也就是 10 微秒。离散仿真在步长固定、波形稳定性、后续数据时间轴对齐方面都有优势。
如果不使用离散类型,也可以选择 Continuous 连续仿真,配合 Simulink 求解器设置界面选择合适的变步长算法。对于这个简单模型,推荐先用离散仿真跑通再对比。
Simulink 模型窗口菜单栏选择 Simulation -> Model Configuration Parameters,求解器选择ode23tb,如果离散仿真遇到收敛问题,再降低相对误差或步长。
5. 故障场景设置与仿真运行
5.1 Three-Phase Fault 模块配置
这是整个仿真模型的关键模块。双击 Three-Phase Fault 模块,配置以下参数。
三相短路故障:
| 参数项 | 设置值 |
|---|---|
| Fault A / Fault B / Fault C | 全部勾选 |
| Fault timing | [0.02 0.07] |
| Fault resistance Ron | 0.001 Ω |
| Ground resistance Rg | 1e6 Ω(不接地) |
故障时间[0.02 0.07]表示 0.02 秒时故障发生,0.07 秒时故障切除。这样在 0.1 秒的仿真窗口里,前面有 0.02 秒正常运行波形,中间 0.05 秒故障状态,后面 0.03 秒恢复过程,波形上可以清楚区分三个阶段。
两相短路故障(以 A、B 两相短路为例):
| 参数项 | 设置值 |
|---|---|
| Fault A | 勾选 |
| Fault B | 勾选 |
| Fault C | 不勾选 |
| Ground | 不勾选 |
单相接地故障(以 A 相接地为例):
| 参数项 | 设置值 |
|---|---|
| Fault A | 勾选 |
| Fault B | 不勾选 |
| Fault C | 不勾选 |
| Ground | 勾选 |
| Ground resistance Rg | 0.01 Ω |
如果需要模拟经过渡电阻接地,把 Rg 从 0.01 Ω 改成 5 Ω、10 Ω、20 Ω 等不同值即可。
5.2 运行仿真
在 Simulink 模型窗口里设置 Stop Time 为 0.1 秒:
set_param('grid_fault', 'StopTime', '0.1')然后点击 Run 按钮。如果模型参数配置正确,Scope 里会直接显示三相电流和电压波形。
这里给一个简单脚本调用模型的示例:
mdl = 'grid_fault'; load_system(mdl); set_param(mdl, 'StopTime', '0.1'); simOut = sim(mdl);5.3 预期结果
不同故障类型的电流波形有明显差异,可以从波形形状上做快速判断。
三相短路时,三相电流对称增大,故障电流幅值最大。由于线路存在电感,电流波形中存在衰减的非周期分量,表现为波形相对时间轴不对称偏移,随时间推移逐渐衰减到对称的稳态短路电流。
两相短路时,故障相电流明显增大,非故障相电流基本维持负载水平;故障相电流相位相反,幅值比三相短路电流小。
单相接地时,只有故障相电流增大,非故障相电流接近正常负载电流;接地故障电流的大小受中性点接地方式、接地电阻、零序阻抗影响很大,这也是配电网单相接地故障分析的难点之一。
判断仿真是否成功的标准,是故障发生时刻前后波形是否发生突变,故障期间电流幅值是否符合三种故障类型的相对关系,故障切除后电流是否恢复到接近正常水平。
6. 故障电流分析与后处理
6.1 从 Scope 观察波形
Scope 展示的是三相瞬时电流。先看整体趋势,再看故障区间细节。
如果想把故障区间单独放大观察,可以调整 Scope 显示范围,或者使用 Pause 后调整时间轴。但更推荐的做法是把数据导出到 MATLAB 后用脚本绘图,这样更容易控制格式、叠加多条曲线对比。
6.2 用 To Workspace 导出数据
在模型中加入 To Workspace 模块,连接到 Three-Phase V-I Measurement 的电流输出端。设置变量名为Iabc,保存格式选Timeseries。
仿真结束后,MATLAB 工作区会生成Iabc变量。绘图脚本如下:
% 绘制三相电流波形 time = Iabc.Time; % 时间轴 currents = Iabc.Data; % 345x3 或 Nx3 的电流数据 plot(time, currents(:,1), 'r', 'LineWidth', 1.2); hold on; plot(time, currents(:,2), 'g', 'LineWidth', 1.2); plot(time, currents(:,3), 'b', 'LineWidth', 1.2); hold off; legend('A相', 'B相', 'C相'); xlabel('时间 / s'); ylabel('电流 / A'); title('配电网三相短路故障电流波形'); grid on;6.3 计算短路电流峰值和稳态值
故障电流分析中,冲击电流峰值和稳态周期分量是两个关键特征量。可以从导出的数据中直接提取。
用下面这个脚本完成故障时段截取、峰值提取和有效值计算:
% 从 Iabc 中截取故障时段 t_start = 0.02; % 故障开始时间 t_end = 0.07; % 故障结束时间 idx = time >= t_start & time <= t_start + 0.02; % 取故障后两个周波的数据(0.02s 对应 1 个周波) idx_peak = time >= t_start & time <= t_start + 0.04; % 求三相电流各自的最大绝对值 for phase = 1:3 phase_max(phase) = max(abs(currents(idx_peak, phase))); end % 计算三相电流 RMS(按最后一个周波) idx_steady = time >= t_end - 0.02 & time <= t_end; for phase = 1:3 phase_rms(phase) = rms(currents(idx_steady, phase)); end % 输出结果 disp('故障电流峰值(A):'); disp(phase_max); disp('稳态故障电流有效值(A):'); disp(phase_rms);注意rms函数在 MATLAB 信号处理工具箱中可用,如果没有该工具箱,可以手动实现:
% 手动计算 RMS for phase = 1:3 phase_rms(phase) = sqrt(mean(currents(idx_steady, phase).^2)); end6.4 FFT 谐波分析
故障电流通常不是标准的正弦波,尤其是含有直流衰减分量时,波形会发生偏移。可以用 Powergui 模块里的 FFT Analysis 工具查看电流谐波含量。
操作路径:双击 Powergui -> Tools -> FFT Analysis -> 选择 Iabc 信号 -> 设置起始时间和周期数 -> Display。
这里的关注点不是谐波本身(配电网短路电流以基波为主),而是通过 FFT 工具确认直流分量的存在和衰减趋势。实际操作时,选取故障初期一个周期做 FFT,可以看到明显的非基波成分;故障后期一个周期再 FFT,非基波成分明显下降。
7. 批量仿真与故障参数扫描
7.1 用 SimulationInput 批量修改故障电阻
单个故障类型只能看一条曲线,要分析过渡电阻对故障电流的影响,需要批量修改 Rg 并重复仿真。
批量仿真的推荐做法是把 Three-Phase Fault 模块的 Ground resistance 参数设置为变量,然后在 MATALB 脚本中用Simulink.SimulationInput批量传入变量值。
把故障接地电阻参数改为变量FaultResistance,这样批量扫描脚本如下:
mdl = 'grid_fault'; load_system(mdl); rg_values = 0.01:5:50; % 故障电阻扫描范围:0.01Ω 到 50Ω num_cases = length(rg_values); for i = 1:num_cases simIn(i) = Simulink.SimulationInput(mdl); simIn(i) = simIn(i).setVariable('FaultResistance', rg_values(i)); end % 批量执行 simOut = sim(simIn, 'ShowProgress', 'on');simIn数组只做了一次变量传递,没有循环内部重复启动 MATLAB 进程,效率高很多。
7.2 批量提取特征值
批量仿真结束后,从每次仿真的输出中提取峰值电流和稳态电流,完成“过渡电阻—故障电流”映射。
peak_currents = zeros(num_cases, 3); steady_currents = zeros(num_cases, 3); for i = 1:num_cases Iabc_i = simOut(i).get('Iabc'); time_i = Iabc_i.Time; data_i = Iabc_i.Data; idx_peak = time_i >= 0.02 & time_i <= 0.06; idx_steady = time_i >= 0.05 & time_i <= 0.07; for phase = 1:3 peak_currents(i, phase) = max(abs(data_i(idx_peak, phase))); steady_currents(i, phase) = sqrt(mean(data_i(idx_steady, phase).^2)); end end % 绘制 A 相峰值电流随过渡电阻变化曲线 figure; plot(rg_values, peak_currents(:,1), 'ro-', 'LineWidth', 1.5); xlabel('过渡电阻 / Ω'); ylabel('A相故障电流峰值 / A'); title('过渡电阻对单相接地故障电流的影响'); grid on;7.3 扩展扫描维度
同样的思路不只可以扫描过渡电阻,还可以扫描:
| 扫描维度 | 实现方式 |
|---|---|
| 故障类型 | 修改 Fault A/B/C、Ground 勾选状态 |
| 故障发生时刻 | 修改 Fault timing 的起始时间 |
| 故障持续时间 | 修改 Fault timing 的结束时间 |
| 负载大小 | 修改 RLC Load 的有功功率变量 |
| 线路长度 | 修改 PI Line 的长度变量 |
把多个关键参数都设置为模型变量,脚本扫描的灵活性会大幅提高。这也是后期做课程设计“参数影响分析”章节最省力的方式。
8. 资源占用与性能观察
8.1 显存与显卡
很多第一次做 Simulink 仿真的同学会关心显卡占用。这个项目对显卡没有任何要求,模型完全在 CPU 上运行,不需要 CUDA 或独立显卡。核显处理 Scope 图形显示已经足够。
8.2 CPU 与仿真速度
Simulink 离散仿真主要吃 CPU 单核性能。对于这个简单配电网模型,0.1 秒仿真时间、10 微秒离散步长,意味着 10000 个时间步,每个步长需要求解一次网络方程,常见电脑几秒钟就能完成。
如果模型中没有示波器但是脚本传参使用大量内存,可以观察任务管理器里 MATLAB 进程的内存占用。通常这个模型的内存占用只有几百 MB,远低于图像分类、大模型推理这类应用。
8.3 影响仿真速度的主要因素
| 影响因素 | 说明 |
|---|---|
| 仿真停止时间 | 时间越长,计算步数越多 |
| 离散采样时间 | 步长越小,单次仿真越慢 |
| 模型节点数 | 变压器、线路、负载越多,网络方程规模越大 |
| 输出存储 | To Workspace 记录的数据点越多,内存占用越大 |
8.4 如何降低仿真负担
降低仿真负担可以从几个方向优化。增大离散采样时间,从 1e-5 改为 5e-5,波形精度可能略有下降,但计算量大幅减少;缩短停止时间,如果只关注故障暂态,0.06 秒就够了;减少 To Workspace 记录变量,只记录故障电流,不记录全部状态量;关闭调试模式,批量仿真时不要打开 Scope 界面显示。
9. 常见问题与排查方法
这里把搭建和运行 Simulink 配电网故障模型时最常见的几类问题整理成排查表。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 模块库找不到 Three-Phase Fault | 没有安装 Simscape Electrical 工具箱 | ver('simscape')检查工具箱版本 | 重新安装工具箱 |
| 打开模型报错“Library not found” | 模型版本与当前 MATLAB 不兼容 | 查看报错中的库名称 | 升级 MATLAB 或降级模型版本 |
| 提示缺少 Powergui | 模型中未拖入 Powergui 模块 | 查看模型是否包含 Powergui 图标 | 从 Specialized Power Systems 库中拖入 Powergui |
| Scope 中没有波形 | 信号线未连接或测量模块未接 | 检查连线是否完整 | 将 V-I Measurement 的输出连接到 Scope |
| 故障时刻后波形没有变化 | 故障时间设置不对,或故障模块未使能 | 检查 Fault timing 是否在仿真时间内 | 将 Fault timing 设为 0.02~0.07 |
| 电流波形毛刺严重 | 离散步长太大 | 查看波形毛刺是否随时间持续存在 | 减小 Sample time,如从 1e-4 改为 1e-5 |
| 仿真速度很慢 | 步长过小或 StopTime 过长 | 检查 Model Configuration Parameters | 增大步长或缩短停止时间 |
| 批量仿真结果全部相同 | SimulationInput 变量名与模型参数名不一致 | 检查 setVariable 使用的变量名是否等于模型中填写的变量名 | 统一变量命名 |
| To Workspace 变量为空 | 保存格式不是 Timeseries | 查看模块参数设置 | 将保存格式改为 Timeseries |
| MATLAB R2022b 启动报 error 9 | 图形渲染、Java 环境或驱动问题 | 查看错误堆栈,确认触发时机 | 重置 MATLAB 偏好设置、更新显卡驱动、排查杀毒软件拦截,具体按官方错误信息处理 |
| 模型保存后打不开,提示版本过高 | 其他电脑 MATLAB 版本低 | 查看模型创建版本 | 在更高版本 MATLAB 中另存为较早版本格式 |
| 中文路径下模型加载异常 | MATLAB 对中文路径解析出错 | 检查模型文件路径 | 将工程目录改为纯英文路径 |
10. 最佳实践与使用建议
10.1 参数变量化
这是最值得养成的一个习惯。搭建模型时不要直接在模块参数里填数字,而是填变量名。
以故障电阻为例,在 Three-Phase Fault 模块的 Ground resistance 中填入FaultResistance,然后在 MATLAB 工作区或脚本中给变量赋值:
FaultResistance = 0.01;这样做的最大好处是:批量仿真时不用打开模型界面改参数,而是通过Simulink.SimulationInput.setVariable传入不同数值,几十组扫描任务一次跑完。
10.2 建立分层模型
模型不要都堆在一个页面上。可以用 Subsystem 或 Bus 把电源部分、线路部分、负载部分封装起来。故障模块单独放在一个 Subsystem 里,更换故障类型和参数时只需要修改子系统内部,不需要改动外部连线。
对于一个简单配电网模型,分层设计可能看不出太大优势,但一旦扩展到含分布式电源、多段线路、多负载节点时,分层带来的是可维护性和可读性的提升。
10.3 保留数据输出到工作区
所有需要分析的电流、电压信号都通过 To Workspace 导出。仿真结果不导出的话,Scope 里看过的波形关掉就没了,后续想重新分析就要重新跑一遍仿真。
建议把 To Workspace 模块的变量名统一命名为Iabc、Vabc等,方便脚本循环处理。
10.4 加入日志和进度显示
批量扫描时,在脚本里加一行进度显示,避免长时间仿真时无法判断运行状态:
for i = 1:num_cases fprintf('Running case %d/%d\n', i, num_cases); simOut(i) = sim(simIn(i)); end10.5 合规提醒
使用故障仿真数据时,要确认数据来源和参数来源。如果模型参数来自真实台区或实测数据,注意脱敏;如果来自教材或论文算例,在报告中注明参考来源。仿真结论不要直接作为真实继电保护定值依据,实际工程必须经过专业计算和现场调试。
11. 总结与下一步
这个配电网故障电流 Simulink 仿真模型,最值得尝试的点在于用图形化方式把短路电流从公式变成了波形,让三相短路、两相短路、单相接地直接看得见、算得出。
第一次上手时,建议先验证三件事:模型能否正常跑完 0.1 秒仿真;故障发生后三相电流波形是否出现明显幅值突变;三相短路、两相短路、单相接地的故障电流幅值关系是否符合基本规律。这三件事跑通,整个模型就基本可靠了。
容易踩的坑集中在三个地方:Simscape Electrical 工具箱没装全、Three-Phase Fault 的 Fault timing 没有覆盖仿真时间、模型变量名和脚本变量名不一致。把这三点提前检查好,可以省下大量排查时间。
后续想继续深入,可以考虑几个扩展方向:把单电源放射状网络改成含分布式电源的双端网络,分析分布式电源接入对故障电流水平的影响;在故障点增加测量模块,提取零序电流分量,为小电流接地选线算法提供训练数据;结合 MATLAB 脚本实现故障类型自动识别,比如用短路电流特征做简单的分类器;接入 Simscape 微电网模型,研究孤岛运行下逆变器限流特性对短路电流的影响。
建议在做课程设计或毕业设计之前,先把这套模型跑熟,后续无论扩展方向怎么选,基础都能稳住。