基于 MATLAB 和 App Designer 的 UI 交互框架开发的一款电力系统潮流计算工具

news2025/1/25 4:42:34

基于 MATLAB 和 App Designer 的 UI 交互框架开发的一款电力系统潮流计算工具

文章目录

  • 基于 MATLAB 和 App Designer 的 UI 交互框架开发的一款电力系统潮流计算工具
    • 一、软件介绍
    • 二、软件功能
      • 1、数据输入
    • 2、潮流作业设置
    • 3、 潮流结果报表及可视化
    • 三、 软件设计思路
      • 1 、牛顿拉夫逊法潮流计算
      • 2、 PQ 分解法潮流计算
      • 3、 数据预处理
      • 4、 结果可视化
      • 5、连续潮流计算分析
      • 6、UI 交互设计
    • 四、 算例及测试结果
    • 五、源程序及测试数据下载

一、软件介绍

本工具是一款面向初学者的电力系统潮流仿真工具,数据输入格式和操作方法与 PSASP 电力系统分析软件类似,但功能更加精简,专注于电力系统潮流计算。目前软件可支持常规潮流计算(PQ 分解法、牛顿拉夫逊法)功能、潮流计算结果输出报表功能和连续潮流计算分析功能。目前软件已在 WSCC9 节点系统进行测试,潮流计算结果与 PSASP 相比,误差在 1e-4~1e-5 数量级左右,此计算精度证明了软件后端代码的正确性。
软件后端基于 MATLAB 开发,自定义函数包括 PQ 分解法、牛顿拉夫逊法潮流计算函数、节点导纳矩阵生成函数、数据预处理函数等。软件前端采用 MATLAB App Designer 工具设计,利用系统控件回调函数实现 UI 互。
在这里插入图片描述

二、软件功能

1、数据输入

在软件主界面左侧栏可以输入系统数据信息,包括母线信息(母线名称、基准电压、节点类型)、交流线信息(交流线名称、I、J 两侧连接母线名称、交流线阻抗参数和对地导纳参数)、变压器信息(变压器名称、I、J 两侧连接母线名称、变压器变比、阻抗参数)、发电机信息(发电机名称、所连接母线名称、有功出力和机端电压)、负荷信息(负荷名称、所连接母线名称、有功和无功消耗)。此外,与 PSASP 软件不同的是,PowerFlower 在系统数据信息输入方面还包括转移节点信息,转移节点是一类没有注入功率的节点,一般是发电机升压变压器的高压侧母线,在 PowerFlower 的计算中视为 P=0,Q=0 的 PQ 节点。节点(母线)信息输入:在左下角输入母线名称、基准电压、节点类型,点击确定按钮,输入信息将在系统数据信息中的母线表格中呈现,可以检查输入是否正确。
在这里插入图片描述

2、潮流作业设置

在软件主界面中间侧单线图下方可定义潮流作业,设置信息有计算电压上限、计算电压下限、计算方法、最大允许误差、最大迭代上限。当计算过程中电压超过上下限时,将停止迭代。计算方法可选择 PQ_DeCoupled(PQ 分解法)或 Newton(牛顿法),PQ 分解法的计算速度较快,但所用迭代次数相比于 Newton 法更多。其中最大允许误差可控制潮流计算结果的精度,最大允许误差越小,精度越高,但计算代价更大。当程序达最大迭代次数上限时,如果计算结果仍不满足精度要求,则跳出迭代,认为此次潮流作业不收敛,数据存在较大的错误。
在这里插入图片描述

3、 潮流结果报表及可视化

完成潮流作业设置后,选择确定按钮,即可开始潮流计算。若潮流计算结果正确收敛,则跳出弹框显示潮流计算用时,如图 所示,如果潮流计算未能正常收敛,迭代次数已达到最大迭代上限,则跳出警告弹窗。
在这里插入图片描述
当潮流计算作业完成后,可选择主界面右侧结果输出报表按钮,潮流计算结果将在右侧表格中显示,目前仅设置了母线和交流线潮流报表。同时,节点(母线)电压幅值和相角计算结果将在主界面中间的系统单线图中呈现。
在这里插入图片描述

三、 软件设计思路

1 、牛顿拉夫逊法潮流计算

牛顿拉夫逊法的潮流计算主要由函数 powerFlowNewtonCalcu.m 实现,其中函数的输入包括总节点数量、PQ 节点数量、PV 节点数量、Slack 节点数量、节点电压初值、节点相角初值、节点导纳矩阵的实部虚部、初始给定有功和无功功率以及容许的最大误差,输出为节点电压赋值和相角的终值以及每次迭代过程中的节点电压赋值及相角的值,反映迭代过程。

2、 PQ 分解法潮流计算

PQ 分解法的潮流计算主要由函数 powerFlowPQCalcu.m 实现,其中函数的输入包括总节点数量、PQ 节点数量、PV 节点数量、Slack 节点数量、节点电压初值、节点相角初值、节点导纳矩阵的实部虚部、初始给定有功和无功功率以及容许的最大误差,输出为节点电压赋值和相角的终值以及每次迭代过程中的节点电压赋值及相角的值,反映迭代过程。
程序设计总体思路与牛顿拉夫逊法类似,不同的是,牛顿拉夫逊法需要求解的线性方程组的系数矩阵(雅可比矩阵)是随着迭代过程而变化的,PQ 分解法需要分别求解两组系数矩阵(B’ B”)固定不变的线性方程组。由于需要反复求解系数矩阵固定的线性方程组,考虑算法速度的情况下,可以采用 LU 分解的方法提高算法度。

3、 数据预处理

数据预处理的作用是通过软件输入信息获得总节点数量、PQ 节点数量、PV 节点数量、Slack 节点数量、节点电压初值、节点相角初值信息,同时由于用户输入不能确保按照 PQ 节点、PV 节点、平衡节点的顺序输入,而在之后的潮流计算中又按照 PQ节点、PV 节点、平衡节点的顺序形成修正方程式(8)和(16),因此还需要对用户输入的节点(母线)信息进行排序。

4、 结果可视化

潮流计算结果包括节点电压幅值和相角信息、交流线上的有功潮流和无功潮流信息。可以采用报表输出和显示在单线图中两种方式进行展示。系统单线图绘制采用 graph 函数,可以通过输入节点对构造图,也就是交流线的I 侧连接母线和 J 侧连接母线的信息。在 graph 构造的图中可以对节点进行标注,从而可以用来显示节点电压幅值和相角信息。同时,可以通过 MATLAB 内置的 writematrix 函数将节点电压幅值和相角信息写入 txt 文本文件。

5、连续潮流计算分析

连续潮流计算分析包括观察调整发电机有功出力、调整负荷有功或无功消耗等措施对潮流的影响。由于单次潮流计算由函数 powerFlowPQCalcu 或 powerFlowNewtonCalcu 控制,因此只需要借助 for 循环,每次循环开始时按设置的步长更新系统参数,即可得到连续潮流结果。连续潮流结果的绘制借助 matlab 的绘图工具包完成。

6、UI 交互设计

MATLAB AppDesigner 工具可以实现由源码到 App 的设计,从而使得程序具有可交互性。AppDesigner 是一种面向对象的开发方式,其中 UI 交互界面的设计可以通过AppDesigner 软件左侧的组件以拖拽的方式形成软件主界面。当拖拽组件到主界面时,MATLAB 自动为该组件类创建了一个对象,一般会包含位置、字体和颜色、交互性等属性,可以通过编写回调函数(BackCall Function)实现交互功能。

四、 算例及测试结果

本程序中采用 WSCC9 节点系统作为测试算例,从计算精度、计算速度方面与PSASP 软件计算结果对比,并 进行 WSCC9 节点系统潮流分析。

五、源程序及测试数据下载

源程序及测试数据下载地址:基于 MATLAB 和 App Designer 的 UI 交互框架开发的一款电力系统潮流计算工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1586668.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯备考day4

1.1 二分查找模板 bool check(int x) {// 进行某些操作 } // 二分查找函数 int binarySearch() {int l 1, r n; // 初始化左右边界while (r - l > 1) // 当右边界与左边界相差大于1时{int mid (l r) >> 1; // 取中间位置if (check(mid)) // 如果满足条件r mid; …

[目标检测] OCR: 文字检测、文字识别、text spotter

概述 OCR技术存在两个步骤:文字检测和文字识别,而end-to-end完成这两个步骤的方法就是text spotter。 文字检测数据集摘要 daaset语言体量特色MTWI中英文20k源于网络图像,主要由合成图像,产品描述,网络广告(淘宝)MS…

AcWing-直方图中最大的矩形

131. 直方图中最大的矩形 - AcWing题库 所需知识:单调栈 思路:要求最大矩形,所以需要使矩形的高与长的乘积最大即可,依次从左到右将每一列当作中心列,向两边扩散,直到两边的高都小于该列的高,…

Prj文件的几种制作方式

0.序: 多数平面坐标的设计成果,不论是CAD文件,还是BIM模型,还是投影单独存储的tif影像,还是国土部门申请的平面坐标的文本文件,要想和底图叠加,都需要通过正确的投影匹配起来。 多数软件都提供…

解决源 “MySQL 8.0 Community Server“ 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。

源 “MySQL 8.0 Community Server” 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。 失败的软件包是:mysql-community-server-8.0.31-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql…

8. 托盘图标与菜单

内容概要: 托盘图标的设置与事件 右键菜单的相关操作 窗口组件: 1.组件的属性 组件属性:位置 组件属性:可视 2.组件的事件 窗口_托盘事件-带有参数的事件的使用方法 3.组件的方法 置托盘图标 菜单的操作 1.创建菜单 …

模型训练----apex库报错IndexError: tuple index out of range

问题描述 在训练模型的过程中遇到了apex库的报错IndexError: tuple index out of range导致无法训练。在github查询后找到了解决方法 问题解决 需要修改/apex-master/apex/amp/utils.py这个文件的代码 从93行开始修改 if x in cache:cached_x cache[x]next_functions_ava…

nvm更新node版本

1、nvm安装和管理多个 Node.js 版本:NVM 允许用户在计算机上同时安装多个不同版本的 Node.js。这使得开发人员可以轻松地在不同的项目中使用不同的 Node.js 版本,而无需手动安装或卸载。 2、nvm切换 Node.js 版本:通过 NVM,用户可…

软考122-上午题-【软件工程】-需求分析

一、软件需求 在进行需求获取之前,首先要明确需要获取什么,也就是需求包含哪些内容。 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通常,这些需求包括功能需求、性能需求、用户或人的因素、环境需求、界面需…

深入探索力扣第12题:整数转罗马数字的算法之旅

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作http://t.csdnimg.cn/Q59WX作者专栏每日更新: LeetCode解锁1000题: 打…

国家统计局行政区划获取及入库ES实践

我们先看下最终效果: 1. ES索引新建 PUT administrative_division {"mappings": {"properties": {"province": {"type": "keyword"},"province_code": {"type": "keyword"},&q…

Factory Method 工厂方法

意图 定义一个用户创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到其子类 结构 其中 Product定义工厂方法做创建的对象的接口。ConcreteProduct实现Product接口Creator声明工厂方法,该方法返回一个Product…

海外软文通稿代发 - 大舍传媒

引言 在当今高度信息化的时代,企业和个人品牌形象的塑造与传播变得越来越重要。为了在国际舞台上获得更大的竞争优势,许多企业和品牌纷纷将视线投向了国外市场。而在这个过程中,专业的软文通稿代发服务成为了他们的得力助手。本文将向您介绍…

milvus各组件的结构体分析

milvus各组件的结构体分析 各组件启动,需要构建各组件的结构体,一共8个。 runComponent(ctx, localMsg, wg, components.NewRootCoord, metrics.RegisterRootCoord) runComponent(ctx, localMsg, wg, components.NewProxy, metrics.RegisterProxy) run…

HTTPS证书是什么?申请方法是什么?

HTTPS证书是互联网上由权威证书颁发机构(CA)签发的数字文件,用于证明网站的身份,并通过其中包含的公钥为网站启用HTTPS加密连接,确保用户与网站间的通信数据安全且不可被第三方窃取或篡改。 怎么申请? 一&…

什么是云原生

什么是云原生 云原生的定义 aws: 云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。现代公司希望构建高度可伸缩、灵活和有弹性的应用程序,以便能够快速更新以满足客户需求。为此,他们使用了支持云基础设施上应用程序开发的现…

【低成本-点云采集】使用XRFoundation实现点云采集

使用XR Foundation 现基于XR Foundation的接口实现渲染和采集 关键类 ARPointCloudManager 介绍 ARPointCloudManager:ARTrackedObjects的管理器。使用XRDepthSubsystem来识别和跟踪物理环境中的深度数据。 属性 NameDescriptiongameObjectNameThe name to b…

接口自动化入门: Requests请求头设置详解!

在进行接口自动化测试时,设置请求头是非常重要的一步。请求头可以包含各种信息,例如身份验证、内容类型、接受语言等。在实际的测试中,我们使用Python的Requests库来发送HTTP请求,并设置请求头来模拟不同的场景和需求。 下面将通…

【炒股Zero To Hero】MACD金叉死叉到底是否有效,加上这个指标回报率增加197倍

移动平均收敛散度(MACD - Moving Average Convergence Divergence)是一种趋势跟踪动量指标,显示了证券价格的两个移动平均之间的关系。它用于识别趋势的方向和强度,属于技术分析中振荡器的一类。 MACD如何衡量股票及其趋势 有两…

一天300收入打底,​一个适合任何人的创业项目!

共享旅游卡项目,一天300收入打底,一个适合任何人的创业项目! 只要你不懒,生活总过得不会太差。只要你不贪,就算不能大富大贵,至少不会负债累累。 人性最难戒掉的两个字:一个是懒,另…