基于MATLAB的电力系统短路电流计算与GUI仿真系统
项目简介
本项目是一套基于MATLAB环境开发的电力系统短路电流交互式计算软件。利用MATLAB强大的矩阵运算优势,该项目解决了传统人工计算电力系统短路电流时过程繁琐、易出错的问题。软件集成了图形用户界面(GUI),允许用户自定义网络拓扑参数,并利用对称分量法原理自动完成三相短路、单相接地、两相短路及两相接地短路的精确计算。系统不仅能输出短路点的电流相量,还能计算电网中各节点的残余电压分布,适用于电力系统课程教学、工程初步设计及运行分析。
功能特性
- 交互式GUI环境:完全基于代码构建的图形界面,无需Simulink或其他工具箱,包含参数设置、数据录入、结果报告和图形显示四个主要面板。
- 自动化拓扑建模:支持以表格形式输入发电机、变压器及线路参数,程序自动根据输入数据构建系统的节点导纳矩阵(Ybus)和节点阻抗矩阵(Zbus)。
- 全类型故障支持:核心算法覆盖了电力系统四种基本故障类型:
* 三相短路 (f-3)
* 单相接地短路 (f-1)
* 两相短路 (f-2)
* 两相接地短路 (f-1.1)
- 精确的复数运算:基于标么值系统进行复数域的矩阵运算,自动处理过渡电阻的影响。
- 详细的计算报告:除计算故障点电流外,还利用序分量合成反算全网各节点的故障后电压,并自动将标么值转换为有名值(kA/kV)。
系统与运行要求
- 运行环境:MATLAB R2016a及以上版本(代码主要依赖基础矩阵库和UI组件,兼容性较好)。
- 工具箱依赖:无强制依赖特定专业工具箱,核心算法通过原生矩阵运算实现。
使用方法
- 启动程序:运行程序入口函数
main。 - 配置网络参数:
* 在界面的“网络拓扑数据”面板中,直接编辑“支路参数表”和“发电机/节点参数”表格。
* 支持动态修改节点编号、电阻、电抗(正序/零序)及电纳参数。
- 设置仿真条件:
* 设定系统的基准容量(Base MVA)。
* 选择具体的故障类型(如单相接地短路)。
* 指定故障发生的节点编号。
* 设置过渡电阻(Rf,单位为标么值)。
- 执行计算:点击“开始计算”按钮,程序将进行矩阵求解。
- 查看结果:计算结果报告将显示在右侧文本框中,包含故障电流幅值、相角以及各节点电压状态。如需恢复初始演示数据,可点击“重置数据”按钮。
核心算法与代码实现分析
该项目的核心逻辑封装在 main.m 文件中,主要通过回调函数驱动计算流程。以下是对代码具体实现逻辑的详细分析:
1. 数据结构与初始化
程序使用全局变量存储系统状态,初始化时加载一套基于IEEE 3节点系统的默认演示数据。
- 支路数据模型:采用标准的
[首节点, 末节点, R1, X1, B1, R0, X0, B0] 格式存储正序和零序参数。 - 发电机数据模型:存储
[节点号, 额定电压, 正序电抗Xd", 零序电抗X0],用于确定电源接入点和零序通路。
2. 网络矩阵构建逻辑
在点击计算按钮后,程序首先提取表格数据,并根据节点数量动态构建网络矩阵:
- 节点导纳矩阵 (Ybus):程序分别构建正序网络导纳矩阵
Y1 和零序网络导纳矩阵 Y0。代码逻辑默认假设负序参数与正序参数相同,即 Y2 = Y1。 - 节点阻抗矩阵 (Zbus):核心计算采用直接求逆法(
inv函数),将导纳矩阵转换为阻抗矩阵。这允许程序直接读取矩阵对角线元素($Z_{kk}$)作为故障点的戴维南等效阻抗。
3. 对称分量法故障计算
程序在复数域内通过硬编码的公式实现不对称故障计算,遵循经典的对称分量法:
- 故障前状态:假设全网处于平启动状态,故障点故障前电压设为 $1.0 angle 0^{circ}$。
- 序阻抗获取:直接从Zbus矩阵中提取故障节点 $k$ 的自阻抗 $Z_{kk1}, Z_{kk2}, Z_{kk0}$。
- 故障类型处理 logic:
*
三相短路:仅涉及正序网络,计算公式为 $I_1 = V / (Z_1 + R_f)$,负序和零序分量强制为0。
*
单相接地:通过序网串联计算,分母为正序、负序、零序阻抗之和加上3倍过渡电阻。
*
两相短路:通过正负序网并联计算,无需零序分量参与。
*
两相接地:采用复合序网逻辑,计算并联部分的等效阻抗,并利用分流公式计算各序分量电流。
- 相量合成:利用旋转算子 $a = e^{j120^{circ}}$ 构建变换矩阵
A_mat,将计算出的序分量电流 ($I_{012}$) 转换为相分量电流 ($I_{abc}$)。
4. 故障后全网电压解算
代码不仅计算故障点电流,还完整实现了故障后电压的重构:
- 叠加原理:利用公式 $V_{post} = V_{pre} - Z_{bus} times I_f$ 计算所有节点的序电压变化量。
- 全网遍历:循环遍历每一个系统节点,分别计算正序、负序和零序电压降,再叠加到故障前电压上。
- 结果转换:最后通过相序变换矩阵将各节点的序电压还原为三相电压,供输出分析。
5. 结果处理与单位转换
- 程序动态查找故障节点的额定电压基准值。
- 根据设定的基准容量
Sb 和节点基准电压,计算基准电流 I_base。 - 输出报告中同时提供标么值(p.u.)和有名值(kA),并包含幅值和相位的极坐标形式。