潮流课设matlab编程,10kV配电网络简单潮流计算程序——电力系统分析课设2018(matlab...

10kV配电网络简单潮流计算程序——电力系统分析课设2018(matlab

10kV配电网络简单潮流计算程序——电力系统分析课设2018(matlab)

10kV配电网络简单潮流计算程序——电力系统分析课设2018

2dee7b2ad8a607ab41235ddd5e2fe984.png

7c43fbf57b0e74593555b0d82ce83b6a.png

ed433422ec9f64b618f473763440317a.png

3f4dcc7ada5be6c2c09bf0e432997e08.png

9991bd9bd45f7a89ce2b35a53879964b.png

主程序文件说明

% 适用于考虑变压器,已知根节点电压与叶节点负荷,多节点,节点数目不确定,树状网络的潮流计算,输入文件的第一个节点必须是根节点

ldt=dlmread(‘network.txt’);%读输入文件

network.txt,将支路数据读入ldt矩阵

nf=ldt(:,1);%存放支路的首节点

nt=ldt(:,2);%存放支路的末节点

r=ldt(:,3);%存放支路的电阻

x=ldt(:,4);%存放支路的电抗

k=ldt(:,5);%存放支路理想变压器的变比

z=r+1jx;% 将网络参数读入各数组,忽略线路导纳

branchnum=length(nf);%存放支路数目

busnum=max([nf’,nt’]);%存放节点数目

bnm=busnum;%存放节点数目

% 计算支路数与节点数

sgl=setxor(nf,nt);%存放包含根节点与叶子节点的单节点

sglnum=length(sgl);%存放单节点数

leaf=[sgl(2:sglnum,1)]’;% 存放叶子节点

leafnum=length(leaf);%存放叶子节点数

% 找出叶子节点并计算叶子节点数

bdt=dlmread(‘Bus.txt’);%读输入文件Bus.txt,将支路数据读入bdt矩阵

bus=bdt(:,1);%存放全网节点

p=bdt(:,2);%存放节点有功负荷

q=bdt(:,3);%存放节点无功负荷

U=bdt(:,4);%存放节点电压

SD=p+1jq;%存放节点复负荷

SDD=SD;%存放节点复负荷,为每一次迭代时的节点负荷赋初值

% 将节点参数读入各数组

Node=zeros(busnum,2);%存放节点输出信息的输出矩阵

Node(:,1)=bus’;Node(:,2)=U’;%节点参数输出矩阵,记录节点电压

Brch=zeros(branchnum,9);%存放支路输出信息的输出矩阵

Brch(:,1)=nf’;Brch(:,2)=nt’;% 支路参数输出矩阵,记录支路损耗与电压降落以及支路首末端功率,列具体含义见输入文件

s=zeros(branchnum,1);%存放各支路损耗的数组

c=zeros(leafnum,1);%记录各叶节点的父节点

circle=0;%存放迭代次数

US=[U(2),U(2)+1]%存放每次迭代前后的第二节点电压值,为迭代收敛判据使用

%赋初值使循环开始

while(abs(US(2)-US(1))>=0.003)%以第二点电压两次迭代中计算结果之差小于0.003做迭代收敛判据US(2)=US(1);

while(isequal(leafnum,0)==0)%判断是否还存在叶节点,存在则执行循环

for m=1:1:leafnum

for n=1:1:branchnum

if(nt(n)==leaf(m))

s(n)=powerloss(SD(leaf(m)),U(leaf(m))k(n),z(n))%考虑变压器计算各支路电压损耗

Brch(n,3)=real(SD(leaf(m))+s(n))

Brch(n,4)=imag(SD(leaf(m))+s(n)) %记录叶节点相关支路首端有功与无功

Brch(n,7)=real(s(n))

Brch(n,8)=imag(s(n)) %记录叶节点相关支路有功与无功损耗

Brch(n,5)=p(leaf(m))

Brch(n,6)=q(leaf(m))

c(m)=nf(n)

end;

end;

end;%计算与叶节点相关的支路参数

g=unique©;%g中存放与叶节点相连的待剪叶的父节点

gnum=length(g);%g中存放的与叶节点相连的待剪叶父节点数目

t=zeros(gnum+1,1);%t数组中存放新的可能的叶节点

for m=1:1:gnum

for n=1:1:branchnum

if(nf(n)==g(m))

if(isempty(intersect(leaf,nt(n))))

t(m)=g(m);%t数组中存放新的可能的叶节点

break;

else SD(g(m))=SD(g(m))+Brch(n,3)+1jBrch(n,4); %计算各节点处负荷

end

end

end

end%剪叶预处理,计算各父节点处去掉叶节点后的负荷

clear sgl;

clear c;

clear leaf;%清除叶节点相关的变量

sgl=setxor(t,g);

sglnum=length(sgl);

leaf=[sgl(2:sglnum,1)]’;%剪叶得到新的叶节点

leafnum=length(leaf);%新的叶节点数

c=zeros(leafnum,1);%找出新的叶节点

endS=Brch(:,3)+1j*Brch(:,4);%存放各支路首端功率

u=zeros(branchnum,1);%存放各支路电压降落

for m=1:1:branchnum

for n=1:1:busnum

if(bus(n)nf(m))

u(m)=voltagesags(S(m),Node(n,2),z(m));%计算各支路损耗

Brch(m,9)=u(m);%刷新输出矩阵支路损耗

U(nt(m))=(U(nf(m))-u(m))/k(m);%逆推刷新各节点电压

Node(nt(m),2)=U(nt(m));%刷新输出矩阵Node中的节点电压

end

end

end%通过首端功率与电压逆推线路各节点电压

SD=SDD;%为下一次迭代做准备

US(1)=U(2);

circle=circle+1;%迭代次数加1

end

Umin=min([U’]);%存放全网最低电压

for n=1:1:busnum

if(U(n)Umin)

N=n;%全网电压最低点

end;

end;

PF=Brch(1,3);%总电源有功

QF=Brch(1,4);%总电源无功

fid=fopen(‘Branchresult.txt’,‘wt’);%写入文件路径

[m,n]=size(Brch);

for i=1:1:m

for j=1:1:n

if jn

fprintf(fid,’%g\n’,Brch(i,j));

else

fprintf(fid,’%g\t’,Brch(i,j));

end

end

end

fclose(fid);%将潮流计算支路计算结果输出到Branchresult.txt

fid=fopen(‘Noderesult.txt’,‘wt’);%写入文件路径

[m,n]=size(Node);

for i=1:1:m

for j=1:1:n

if jn

fprintf(fid,’%g\n’,Node(i,j));

else

fprintf(fid,’%g\t’,Node(i,j));

end

end

end

fclose(fid); %将节点潮流计算结果输出到Noderesult.txt

fid=fopen(‘result.txt’,‘wt’);%写入文件路径

fprintf(fid,‘迭代次数%g\n’,circle);

fprintf(fid,‘最低电压%6.3fkv\n’,Umin);

fprintf(fid,‘最低电压点%g\n’,N);

fprintf(fid,‘总电源有功%6.3fMW\n’,PF);

fprintf(fid,‘总电源无功%6.3fMvar\n’,QF);

fclose(fid); %将潮流计算全网信息结果输出到result.txt

电压降落计算子程序文件说明

function u=voltagesags(S,U,z)% 本程序求解各支路的电压降落,忽略横分量

% 用演示MATLAB函数帮助的实现方法

r=real(z);

x=imag(z);

p=real(S);

q=imag(S);% 将传递参数虚实部分解

u=(pr+qx)/U;

end

功率损耗计算子程序文件说明

function s=powerloss(S,U,z)%本程序求解各支路的功率损耗

% 用演示MATLAB函数帮助的实现方法R=(real(S)2+imag(S)2)*real(z)/(U2);I=(real(S)2+imag(S)2)*imag(z)/(U2);

s=complex(R,I);

end

10kV配电网络简单潮流计算程序——电力系统分析课设2018(matlab相关教程

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先说明该文件有安装包和完整的代码。打开运行时需要添加(或者更新)Visio。如果电脑没有visio可以装一个。下载绝对超值。 本项目通过用C#进行Visio进行二次开发,实现了绘制电气接线图, 并能实现潮流计算。 0 前言 中国电力行业属于垄断行业。从目前来看,改革我国电力行业,打破垄断引入竞争已成为大势所趋,但是,电力行业与其他垄断行业不同,至少有三个特点: 电力行业与其他垄断行业服务对象不同。其他垄断行业服务对象都是部分群体,如民航、铁路它们的服务对象只是人们群众中的一部分,不像电力行业与所有人有关,不论城市或农村,不论生产或生活,不论信息传递或网络联系,家庭生活都离不开电,对社会是全方位的覆盖。一个国家电气化水平越高,电力在全社会作用越大。一旦发生问题,小则引起局部瘫痪,大则引起全社会瘫痪。因为它既是国民经济中的骨干行业,又是全社会的吃穿住行和人们生活需要的公用产品,这是其他垄断行业无法比拟的。 电力行业另一个特点是它的产品不能储存,发电量超过需要量会形成浪费,发电量不足,会影响生产和生活的需要。而且,社会对电量的需要是一个不定量,它会随着地区、时间、季节、气候、人们生活等方面的变化而变化。这种不能储备,需要量又是瞬息万变的行业,就要求对供给和需求要有精确的掌握,以便及时进行调整和控制,才不至于出现象美国加州那样长期电力危机。 中国电力行业还有它自己的特点。中国电力行业的垄断说到底是非经济型的行政性的垄断,情况非常复杂,这在国外也少见。在所有制上,有国家所有制、地方政府所有制、合资企业、集体所有制,国家担保贷款企业、股份制,等等。发电厂有火电、水电、核电。区域电价上差别也相当大。电网有国家投资,地方政府投资,企事业单位投资等等。在进行厂网分开竞价上网过程中,必须对电力企业的产权有所界定,对不同电价有所处理,以及今后电价的监督,等等问题,都需要政府介入。 但是,电力行业不可能彻底打破垄断,完全自由竞争,这是电力行业的特点决定的,即便在西方市场经济条件下,所有的竞争也不是完全的自由竞争(美国的电力自由化程度也不高,相对来说欧洲电力市场的自由最高,但也没有完全市场化),只能是有限的竞争。何况在我们这样大的一个国家,电力行业这么重要,政府不可能放手不管完全自由竞争,问题在于垄断和竞争的度如何掌握,二者如何结合,这是我们电力行业面临的挑战。 电力行业已经开始从生产导向型向市场导向型的巨大转变。电力行业运作继续关注在电厂和电网方面,并面临提高运行可靠性的强烈需求。当今,我们需要用崭新的视角来透视市场状况,一些术语,如竞争能力、产品 质量、收益率、效率及客户服务等都已经被赋予了全新的理念。只有清楚地分析、理解当前的形势并及时、勇敢地采取行动,才能应对这些挑战。 在21世纪,计算机显得越来越重要,在电力行业中,计算机也得到了 越来越广泛的运用。而且随着社会的进步,电力行业已经抛弃了手工绘制电气接线图和手工计算潮流。 本系统就是在基于以上原因,开发了一款利用Visio进行二次开发,将C#与Visio想结合,能绘制电气接线图,并能打开已有的电气接线,保存所绘制的接线图等功能,并能在接线图的基础上,进行潮流计算。 1 绪论 1.1 课题的研究背景与意义 1.1.1 课题的研究背景 随着国民经济的发展,我国电力系统的规模越来越庞大,其网络结构越来越复杂,因而电力系统基础分析计算的工作量也越来越大。图形是工程中最简洁的语言,用图形来描述电力系统网络结构,图形会起到一目了然的作用,这也逐渐成为用户对电力系统分析计算软件的基本要求。光只能绘图并不能满足需求,将绘制接线图与潮流计算结合起来才能使软件更贴近需求。 Microsoft Visio是当今优秀的绘图软件,也是近年国内外最流行的图形化解决方案开发平台之一,具有强大的图形操作功能,它还提供了二次开发功能。能够建立电力系统计算软件的图形平台框架,在此平台上绘制和编辑基于电力系统电气接线图,对电网拓扑结构进行自动识别,完成了电力网络图形元件各参数输入和设置,并实现了电力网络操作的图形化模拟、仿真和潮流计算。 1.1.2 课题的研究意义 本项目实现的电气接线图的绘制和潮流计算。Visio是当今最优秀的绘图软件之一,它将强大的功能和易用性完美结合,可广泛应用于电子、机械、通信、建筑、软件设计和企业管理等众多领域。使用该软件可以完成各类专业图纸的制作,例如程序流程图、网络拓扑图、数据分布图、地图、室内布置图、规划图、线路图等,可见功能十分的强大。Visio软件有助于学生以及各种专业人员轻松地可视化、分析和交流复杂信息。这能够将难以理解的复杂文本和表格转换为一目了然的Visio图表,增加工作学习的效率。 1.2 问题的定义及内容简介 1.2.1 问题的定义 本系统是为了电力公司运行管理设计的。实现系统的准备工作如下: 1、搜集和查阅电力公司的相关资料、信息,调研、分析对项目开发有益的相关网站和软件系统; 2、学习和掌握VS2005技术,建立合适的开发环境; 3、综合运用所学专业知识,完成系统的总体设计和详细设计; 4、系统要完成的主要功能包括: (1) 通过VS2005对Visio控制绘图过程,处理图形元素。 (2) 使用VS2005建立并能在绘制的接线图基础上进行潮流计算。 (3) 系统可以对绘制的图另存为,并能将潮流计算结果保存到TXT文本中,方便以后查看。 1.2.2 问题的内容简介 本系统主要实现绘制接线图和潮流计算。 1、绘制接线图:在C#中调用Visio控件,并能将绘制电力系统图的相关Visio控件调用到该项目中,能绘制、打开、另存为。 2、潮流计算:因为网络节点不一定,故该功能先确定网络节点,并确定PQ节点个数,在依次录入线路参数和节点数据,最好进行计算。 1.3 问题的调研 在本系统开发之初,为了做好系统需求分析工作,我做了充分的调研,从而认识到完成本系统需做到以下几点: 1、对VISIO二次开发的可行性与价值进行充分的考查和调研。 2、了解在电力公司运行管理系统的需求和现状。 3、熟悉VS开发环境,熟练掌握C#操作TXT,掌握C#的编程语言。 4、系统具体运行环境及配置要求再做详细调查研究并与指导老师面谈。 在充分了解、调查情况的基础上,本人开发了这一项目。 2 可行性分析 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。 系统的可行性分析主要包括经济上的可行性,技术上的可行性和操作上的可行性。本系统的可行性分析如下: 2.1 经济可行性 本系统作为信息与电气工程学院的创新项目,开发所需要投入的人力物力资源并不是很大。人力方面只需开发人员本人经过几个月的时间进行分析设计与实现,而在软硬件方面只需一台计算机和相关的软件即可。在整个开发过程中充分考虑了各个模块之间的独立性和可维护性,开发成本和运行成本以及维护成本都比较低。所以在经济上本系统的开发是可行的。 2.2 技术可行性 本系统的开发环境是微软的Visual Studio 2005开发系统,使用的语言是C#语言,运用TXT作为数据库。Visual Studio 2005是建立在公共语言运行库上的编程框架,是一个集成开发环境,其支持的语言有二十几种。所以利用这项成熟的技术开发这个系统在技术上是可行的。 2.3 操作可行性 本系统是基于Visio的二次开发,用户无需经过专业的培训即可以完成系统的安装操作及使用,运行十分的方便。所以在操作上本系统是可行的。 3 系统设计 3.1 系统总体功能结构 根据此系统所需要实现的功能,我们将该系统设计成主要两部分。设计了如下图所示的系统结构: 图3.1 系统结构图 3.2 系统数据库 鉴于本级软件主要考察的不是数据库,故此次设计我主要用于了TXT来保存结果。系统默认的数据库在安装文件夹下,名为data.txt的文本文件里。 txt文件是微软在操作系统上附带的一种文本格式,是最常见的一种文件格式 ,早在DOS时代应用就很多,主要存文本信息,即为文字信息,在微软在操作系统等于直接存,就是它了,现在多用的操作系统得使用记事本等程序保存,大多数软件可以查看如记事本,浏览器等等。 5 系统评价 5.1 系统特色/优点介绍 本系统是在做了许多考查和调研的基础上编写制作的,从界面设计到系统设置都是从方便用户的角度出发,系统具有以下几点特色: 1、 在调查和了解了网络教学的基本需求与应用现状的前提下设计开发了此程序,切合实际,具有较强的实用性。 2、本系统不需要通过网络即可运行,系统运行要求较低。并且系统可以在多种操作系统平台上(Windows NT/Windows 2000/Windows XP)运行。数据库采用TXT文本,移植性很强。。 3、 在重要的Visio画图板块,可以通过增加相应VSS模具的形式任意增加Visio画图的类型,十分方便。 5、 及时全面地处理各种错误异常,在潮流计算时有错误提醒机制,避免用户输入错误。 6、采用TXT作为数据库,便于移植,且操作快捷方便。 7、用户界面比较友好,操作简单,使用方便。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值