电力系统短路故障的计算机算法程序设计课程设计_第1页
电力系统短路故障的计算机算法程序设计课程设计_第2页
电力系统短路故障的计算机算法程序设计课程设计_第3页
电力系统短路故障的计算机算法程序设计课程设计_第4页
电力系统短路故障的计算机算法程序设计课程设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息工程系信息工程系 2011-20122011-2012 学年度下学期电力系统分析课程设计学年度下学期电力系统分析课程设计 电力系统短路故障的计算机 算法程序设计姓 名 学 号 班 级 指导教师 信息工程学院课程设计任务书信息工程学院课程设计任务书学生姓名 学 号 成 绩设计题目 电力系统短路故障的计算机算法程序设计设计内容电力系统故障的计算程序设计及编制和调试。 1计算机计算原理 2电力系统短路计算计算机算法(1)对称短路计算(2)简单不对称短路计算设计要求1在对称短路计算、简单不对称短路计算中任选一种计算作为计算作业。2计算机语言自选。3设计、编制、调试出相关的通用计算程序。4输入输出数

2、据一律以文件格式形成。 (1)对称短路计算的输入输出数据 (2)简单不对称短路计算的输入输出数据5要求计算的题目(1)采用所编制的程序进行电力系统分析例 6-3 题,习题 6-10、6-11 对称短路计算;时间安排周一:分析短路计算的原因、类型、后果。周二:电力系统短路电流计算。周三:画出程序流程图。周四:写出程序。周五:实例计算。参考资料(1) 电力系统分析 (上册) 华中科技大学出版社 何仰赞(2) 电力系统故障的计算机辅助分析 重庆大学出版社 米麟书等(3) 电力系统故障分析 清华大学出版社 周荣光(4) 短路电流实用计算方法 电力工业出版社 西安交通大学等(5) 电网计算与程序设计 湖

3、南科学技术出版社 周作仁等(6) 电力系统计算 水利电力出版社 周孝信等(7) 电力系统计算 水利电力出版社 西安交通大学等电力系统短路故障的计算机算法程序设计电力系统短路故障的计算机算法程序设计 目录1 前言41.1 短路的原因41.2 短路的类型41.3 短路计算的目的41.4 短路的后果52 电力系统三相短路电流计算62.1 电力系统网络的原始参数62.2 制定等值网络及参数计算62.2.1 标幺制的概念62.2.2 有三级电压的的网络中各元件参数标幺值的计算72.2.3 计算各元件的电抗标幺值72.2.4 系统的等值网络图 103 程序设计 113.1 主流程图 113.2 详细流程图

4、 12 3.2.1 创建系统流程图 123.2.2 加载系统函数流程图 133.2.3 计算子函数流程图 143.2.4 改变短路点流程图 153.3 数据及变量说明 153.4 程序代码及注释 163.5 测试例子 174 结论 235 参考文献 241 1 前言前言因为它们会破坏对用户的供电和电气设备的正常工作,而且还可能对人生命财产产生威胁。从在电力系统的设计和运行中,都必须考虑到可能发生的故障和不正常运行的情况,电力系统的实际运行情况看,这些故障绝大多数多数是由短路引起的,因此除了对电力系统的短路故障有一较深刻的认识外,还必须熟练掌握电力系统的短路计算。短路是电力系统的严重故障。所谓短

5、路,是指一切不正常的相与相之间或相与地(对于中性点接地的系统)发生通路的情况。1.11.1 短路的原因短路的原因产生短路的原因很多,主要有如下几个方面:(1)元件损坏,例如绝缘材料的自然老化、设计、安装及维护不良所带来的设备缺陷发展成短路等;(2)气象条件恶劣,例如雷击造成的网络放电或避雷器动作,架空线路由于大风或导线覆冰引起电杆倒塌等;(3)违规操作,例如运行人员带负荷拉闸,线路或设备检修后未拆除接地线就加上电压等;(4)其他,如挖沟损伤电缆,鸟兽跨接在裸露的载流部分等。1.21.2 短路的类型短路的类型在三相系统中,可能发生的短路有:三相短路、两相短路、两相短路接地和单相接地短路。三相短路

6、也称为对称短路,系统各项与正常运行时一样仍处于对称状态。其他类型的短路都是不对称短路。 电力系统的运行经验表明,在各种类型的短路中,单相短路占大多数,两相短路较少,三相短路的机会最少。三相短路虽然很少发生,但情况较严重,应给予足够的重视。况且,从短路计算方法来看,一切不对称短路的计算,在采用对称分量法后,都归结为对称短路的计算。因此,对三相短路的的研究是具有重要意义的。1.31.3 短路计算的目的短路计算的目的在电力系统的设计和电气设备的运行中,短路计算是解决一系列问题的不可缺少的基本计算,这些问题主要是:(1)选择有足够机械稳定度和热稳定度的电气设备,例如断路器、互感器、瓷瓶、母线、电缆等,

7、必须以短路计算作为依据。这里包括计算冲击电流以校验设备的电动力稳定度;计算若干时刻的短路电流周期分量以校验设备的热稳定度;计算指定时刻的短路电流有效值以校验断路器的断流能力等。 (2)为了合理地配置各种继电保护和自动装置并确定其参数,必须对电力网中发生的各种短路进行计算和分析。在这些计算中不但要知道故障支路中的电流值,还必须知道电流在网络中的分布情况。有时还要知道系统中某些节点的电压值。 (3)在设计和选择发电厂和电力系统主接线时,为了比较各种不同方案的接线图,确定是否需要采取限制短路电流的措施等,都要进行必要的短路电流计算。 (4)进行电力系统暂态稳定计算,研究短路对用户工作的影响等,也含有

8、一部分短路计算的内容此外,确定输电线路对通讯的干扰,对已发生故障进行分析,都必须进行短路计算。在实际工作中,根据一定的任务进行短路计算时,必须首先确定计算条件。所谓计算条件,一般包括,短路发生时系统的运行方式,短路的类型好发生的地点,以及短路发生后所采取的措施等。从短路计算的角度来看,系统运行方式指的是系统中投入运行的发电、变电、输电、用电的设备的多少以及它们之间相互联接的情况,计算不对称短路时,还包括中性点的运行状态。对于不同的计算目的,所采用的计算条件是不同的。1.41.4 短路的后果短路的后果随着短路类型、发生地点和持续时间的不同,短路的后果可能指破坏局部地区的正常供电,也可能威胁整个系

9、统的安全运行。短路的危险后果一般有以下的几个方面:(1)短路故障使短路点附近的支路中出现比正常值大许多倍的电流,由于短路电流的电动力效应,导体间将产生很大的机械应力,可能使导体和它们的支架遭到破坏。(2)短路电流使设备发热增加,短路持续时间较长时,设备可能过热以致损坏。(3)短路时系统电压大幅度下降,对用户影响很大。系统中最主要的电力负荷是异步电动机,它的电磁转矩同端电压的平方成正比,电压下降时,电动机的电磁转矩显著减小,转速随之下降。当电压大幅度下降时,电动机甚至可能停转,造成产品报废,设备损坏等严重后果。(4)当短路发生地点离电源不远而持续时间又较长时,并列运行的发电厂可能失去同步,破坏系

10、统稳定,造成大片地区停电。这是短路故障最严重后果。(5)发生不对称短路时,不平衡电流能产生足够的磁通在邻近的电路内感应出很大的电动势,这对于架设在高压电力线附近的通讯线路或铁道讯号系统等会产生严重的影响。2 2 电力系统三相短路电流计算电力系统三相短路电流计算2.12.1 电力系统网络的原始参数电力系统网络的原始参数:s1:s2230kv345kvf2f1:g1:g2:g3t4t1t2t3f3l1l3l215.75kv图 2.1 电力系统接线图电力系统接线如上图所示。s1 ,s2 为无穷大电源系统,电抗为零。发电机 g1 -g2 为汽轮发电机,每台 400mva,xd=0.285,负序电抗 x

11、2 =0.29;发电机 g3 为水轮发电机,280mva,xd=0.203,负序电抗 x2 =0.22;变压器 t1 、t2 ,每台 410mva,vs %=14.6,x0 x1 ;t3变压器,260mva,vs %=14.1,x0 x1 ; t4变压器,360mva,vs %=8.3,x0 x1 ;l1 线路,180km,x1 =0.405/km,x0 3x1 ;l2 线路,220km,x1 =0.33/km,x0 3x1 ;l3 线路,95km,x1 =0.405/km,x0 3x1 ;2.22.2 制定等值网络及参数计算制定等值网络及参数计算2.2.12.2.1 标幺制的概念标幺制的概念

12、 在一般的电路计算中,电压、电流、功率和阻抗的单位分别用 v,a,w, 表示,这种用实际有名单位表示物理量的方法称为有名单位制。在电力系统计算中,还广泛的使用标幺制。标幺制是相对单位制的一种,在标幺制中各物理量都用标幺值表示。标幺值定义由下式给出:标幺值=(2-1)位)基准值(与有名值同单)实际有名值(任意单位由此可见,标幺值是一个没有量纲的数值,对于同一个实际的有名值,基准值选得不同,其标幺值也就不同。因此,当我们说明一个量的标幺值时,必须同时说明它的基准值,否则,标幺值的意义是不明确的。当选定电压、电流、功率和阻抗的基准值分别为,和时,相应的标幺值bvbibsbz如下: *22bbbbbb

13、bbbbvvviiispjqpqsjpjqsssszrjxrxzjrjxzzzz222.2.22.2.2 标幺值的选择标幺值的选择 在电力系统分析中,主要涉及对称三相电路计算。计算时习惯上多采用线电压 v,线电流 i,三相功率 s 和一相等值阻抗 z,各物理量之间存在下列关系:(2)svppvisziv3333 同单相电路一样,应使各量基准值之间的关系与其有名值间的关系具有相同的方程式: (3)sivivsvizvbpbbpbbbbpbbb33333选择在标幺制中便有: (4)sivsvizvpp* 由此可见,在标幺制中,三相电路的计算公式与单相电路的计算公式完全相同,线电压和相电压的标幺值相

14、等,三相功率和单相功率的标幺值相等。在选择基准值时,习惯上也只选 vb和 sb 。由此得: svivzbbbbb23vsibbb3这样,电流和阻抗的标幺值则为: (5)vsvsxrzzsviibbbbbbbbjxrjjxrii22*3 采用标幺值进行计算,所得结果最后还要换算成有名值,其换算公式为:(6)svxrssvsiiivvbbbbbbbjzsiv2*)(32.2.22.2.2 有三级电压的的网络中各元件参数标幺值的计算有三级电压的的网络中各元件参数标幺值的计算 t-1t-2k1:1k2:1k1*:1k2*:1grcxgxt1xlxt2xrxcxg *xt1*xl*xt2*xr*xc*l

15、iiiiii(a)(b)(c)图 2.2 有三段不同电压等级的输电系统电力系统中有许多不同电压等级的线路段,它们由变压器来耦联。图 2.2(a)表示了由三个不同电压等级的电路经两台变压器耦联所组成的输电系统,略去各元件的电阻和变压器的励磁支路,可以算出各元件的实际有名值,变压器的漏抗均按原方绕组电压计算,这样我们就得到各元件电抗用实际有名值表示的等值电路,如图 2.2(b)所示,图中 , ,svxxngngngg)(2)()*(svxxnnntttt)(2)()*(1111vvtntntk)()(11i1 , ,ivxxnrnrrr)(2)(3100%svxxnntnttt)(2)()*(22

16、22vvtntntk)()(2iii2ii2 xl和 xc分别是架空线路 l 和电缆线路 c 的实际电抗。百分值也是一种相对单位制,对于同一物理量,如果基准值相同,则百分值=100标幺值,对于变压器,其标幺电抗 xt(n)*常用下式计算:100%)*(vxsnt 由于三段电路的电压等级不同,彼此间只是通过磁路耦合而没有直接的电气联系,可以对各段电路分别选基准电压。假定分别选 vb(),vb(),vb(),至于功率,整个输电系统用统一,所以各段的基准功率都为 sb。 选定基准电压后,可对每一元件都按各段的基准电压用公式(5)将其电抗的实际有名值换算成标幺值,即 , ,vsxxbbgg2)(*vs

17、xxbbtt2)(1*1vsxxbbll2)(* ,vsxsbbtt2)(2*2vsxxbbrr2)(* , vvvvkkkbbnnbtttt)()()()(111*1)(vvvvkkkbbnnbtttt)()()()(222*2)((7) 用标幺参数表示的等值电路如图(c)所示,其中变压器 kb(-)=vb()/vb()为第i 段和第 ii 段的基准电压之比,称为基准变比。 通常选择适当基准电压,使变压器电路得到简化,比如选择 i,ii 段基准电压之比kb(-),等于变压器下的变比 kt1,i,ii 段的基准电压之比等于变压器 t2的变比 kt2,则可得 kt1*=1,kt2*=1,这样在标

18、幺参数的电路中就不需串联理想变压器了。 在实际的计算中,总是把基准电压选得等于(或接近于)该电压级的额定电压。这样可以从计算结果清晰地看到实际电压偏离额定值的成程度。为了解决上述的困难,在工程计算中规定,各个电压等级都以其平均额定电压 vav作为基准电压,根据我国现行的电压等级,各级平均额定电压规定为:3.15,6.3,10.5,15.75,37,115,230,345,525(kv) 在分段计算中以上述平均额定电压作为各级基准电压。2.2.32.2.3 计算各元件的电抗标幺值计算各元件的电抗标幺值在本次实验中,选取 sb=1000mva,vb=vav7125. 04001000285. 02

19、1)(2)(1*)(1*2*1vssvxxxbbngggggnn7250. 02801000203. 023)(2)(3*)(3*3vssvxxbbnggggnn3561. 04101000146. 0100%2)(21)(1)(112*1vssvvxxtnnbbttstt5423. 02601000141. 0100%2)(23)(3)(33*3vssvvxtnnbbttst2306. 03601000083. 0100%2)(24)(4)(44*4vssvvxtnnbbttst3780. 12301000180405. 022)(11*1vsxxlbbll6100. 03451000220

20、33. 022)(22*2vsxxlbbll7273. 0260100095405. 022)(33*3vsxxlbbll2.2.42.2.4 系统的等值网络图系统的等值网络图1.37800.35610.71250.35610.71250.72730.23060.61000.54230.7250s1s2321图 2.3 电力系统的等值网3 3 程序设计程序设计3.13.1主体流程图主体流程图图 3-1 主体流程图3.23.2详细流程图详细流程图3.2.13.2.1 创建系统(创建系统(createcreate)流程图)流程图开始欢迎使用用户选择操作,按键123进入创建系统子函数(create)

21、进入加载系统子函数(load)进入退出子函数进入计算子函数(calculate)改短路点子函数(change)是否改路点?结束是图 3-2 create 函数流程图3.2.23.2.2 加载系统函数(加载系统函数(loadload)流程图)流程图图 3-3 节点导纳矩阵形成流程图3.2.3 计算子函数(calculate)流程图 输入系统文件名输出查看系统参数选择进入下一个子函数输入文件名输入电抗支路参数结束输入节点数、支路数、故障节点输入发电机支路参数输入电容支路参数图 3-4 计算子函数流程图3.2.4 改变短路节点(change)流程图文件读入电路参数求取 ldu 分解的因子表矩阵下三角

22、求取 duzj 向量求解完毕?否是结束求取节点阻抗矩阵列向量根据支路参数建立节点导纳矩阵求取短路点电流求取节点电压求取支路电流建立文件存储计算结果结束图 3-5 change 函数流程图3.33.3数据及变量说明数据及变量说明本程序中将电路的支路分为三类:电抗支路、电流支路、发电机直流,数据输入时分开输入格式如下:电抗支路:支路数、节点首端好、节点末端好,支路电抗值。发电机支路:发电机台数、发电机接入点,发电机电势、发电机之路电抗。电容支路:支路数、电容节点号,电容支路电抗值。程序中的变量定义如下: file *fp; /文件指针 float if; /短路电流 float v010; /节点

23、电压初值 float in10; /注入电流 float v10; /节点电压 float i10; /支路电流int count210; /数组用于储存支路号float z1010; /储存支路电抗值float yjs1010; /存放计算导纳矩阵中的中间值float ye10; /储存发电机支路导纳float y1010; /节点导纳矩阵float z1010; /阻抗矩阵float dk; /电抗值int e110;float yc10; /节点对地电抗float ycjs10;int e10; /发电机接入点float e10; float ig10;float emid10;floa

24、t ze10; /储存发电机支路导纳int m,n,a,f,i=0,j=0,sd,md,butn,times,timesc;/*n 是节点数,a 是支路数,f 是短输入短路点从新读取文件中的参数选择进入下一个子函数计算路点,i 为行标,j 为列标*/1、文件读入程序如下: printf(请输入系统的节点数,支路数,故障节点n); scanf(%d%d%d,&n,&a,&f); fp=fopen(name,w+); fprintf(fp,系统参数如下所示:nn); fprintf(fp,1.系统的节点数为%dn2.系统的支路数为%dn3.系统的短路点为%dnn,n,a,f); fprintf(f

25、p,支路电抗参数如下n);2、计算主程序如下: (1)、 if=v0f-1/zf-1f-1;(短路电流计算) for(i=0;in;i+) vi=v0i-zif-1*if; (2)、for(i=0;in;i+)(导纳矩阵计算) for(j=0;jn;j+) yii=yii-yjsij; yii=yii-yei-ycjsi; for(i=0;in;i+) for(j=i+1;jn;j+) yij=yjsij; yji=yjsij; 3.43.4程序代码及注释程序代码及注释 具体源程序代码及其注释见附录。3.53.5测试算例测试算例【例 6-3】在如图 3-5 所示的电力系统中分别在节点 1 和节

26、点 5 接入发电机支路,其标幺值参数为:22. 0,15. 0, 0 . 15151jzjzee。在节点 3 发生三相短路,计算短路电流及网络中的电流分布。线路的电阻和电容略去不计,变压器的标幺变比等于 1。各元件参数的标幺值如下:013. 0,016. 0,02. 0,05. 0018. 0,065. 0024. 0,08. 003. 0,96. 0,184. 0,05. 1,105. 043034032023042024034232445451212jyyjyyjyyjzjzjzkjzkjz图 3-6 电力系统等值网络图图 3-7 三相短路时的等值网络图由以上网络图可得计算过程如下:(1)

27、 、形成输入文件:系统参数如下所示:1.系统的节点数为 52.系统的支路数为 53.系统的短路点为 3支路电抗参数如下z12=0.1050z23=0.0650z24=0.0800z43=0.0500z54=0.1840发电机接入点及其电抗如下:共 2 台发电机进入系统z1=0.1500z5=0.2200e1=1.0000e5=1.0000共 0 个节点有接地电容(2) 、计算后得到的输出文件:计算结果如下:1、节点导纳矩阵:-16.1905 9.5238 9.5238 -37.4084 15.3846 12.5000 15.3846 -35.3846 20.0000 12.5000 20.00

28、00 -37.9348 5.4348 1e5e1z5z12z24z23z34z45z1234512z23z24z34z45z230y320y240y420y340y430y12:1 k1:45k 5.4348 -9.9802 2、节点阻抗矩阵: 0.1181 0.0958 0.0902 0.0858 0.0467 0.0958 0.1629 0.1533 0.1459 0.0794 0.0902 0.1533 0.1860 0.1611 0.0877 0.0858 0.1459 0.1611 0.1729 0.0941 0.0467 0.0794 0.0877 0.0941 0.1515 3、

29、短路节点是:34、短路电流:if=5.37675、各节点电压:v1=0.5152v2=0.1758v3=0v4=0.1336v5=0.52826、发电机支路电流如下:ig10=-3.2321ig50=-2.14457、各支路电流:i12=-3.2321 i23=-2.7046 i24=-0.5275 i43=-2.6720 i54=-2.1445图 3-8 对称短路计算结果图 3-8 改变短路点后计算结果【习题 6-10】如图 3-9 所示网络,略去负荷,试用节点阻抗矩阵法求节点 5 发生三相短路时,短路点的短路电流及线路 l-2、l-3 的电流。已知各元件参数如下:发电机 g-1: sn =

30、 120 mva, x”d = 0.23; g-2: sn = 60 mva, x”d = 0.14变压器 t-1: sn = 120 mva, vs = 10.5%; t-2: sn = 60 mva, vs = 10.5%线路参数 x1 = 0.4/km, b1 = 2.810-6 s/km线路长度 l-1: 120 km, l-2: 80 km, l-3: 70 km取sb = 120 mva, vb = vav图 3-9 电力系统网络图ggg-1g-2t-1t-2l-1l-2l-312345图 3-10 三相短路时的等值网络图(1) 、形成输入文件:系统参数如下所示:1.系统的节点数为

31、:52.系统的支路数为:53.系统的短路点为:5支路电抗参数如下:z3 5=0.29036 z4 5=0.25406 z3 4=0.43554z1 3=0.1050 z2 4=0.2100发电机接入点及其电抗如下:共 2 台发电机进入系统:z1=0.2300z2=0.2800e1=1.0500e2=1.0500共 3 个节点有接地电容:y3=-32.372299y4=-34.077000y5=-43.185200(2) 、得到的输出文件:计算结果如下:1、节点导纳矩阵:-13.8716 9.5238 -8.3333 4.7619 9.5238 -15.2329 2.2960 3.4440 4.

32、7619 2.2960 -10.9646 3.9361 3.4440 3.9361 -7.3569 2、节点阻抗矩阵: 0.1819 0.0616 0.1600 0.1079 0.1326 0.0616 0.2078 0.0898 0.1536 0.1242 0.1600 0.0898 0.2330 0.1571 0.1932 0.1079 0.1536 0.1571 0.2689 0.2174 1e2e1gz2gz1tz1lz2lz3lz2tz132452/1ly2/1ly2/2ly2/2ly2/3ly2/3ly 0.1326 0.1242 0.1932 0.2174 0.3427 3、短路

33、节点是:54、短路电流:if=3.12635、各节点电压:v1=0.6471v2=0.6723v3=0.4632v4=0.3890v5=06、发电机支路电流如下:ig10=-1.7516ig20=-1.34917、各支路电流:i35=-1.5954 i45=-1.5310 i34=-0.1705 i13=-1.7516 i24=-1.3491图 3-11 对称短路计算结果【习题 6-11】电力系统等值电路如图 3-13 所示,支路阻抗的标幺值已注明图中。(1)形成节点导纳矩阵(或节点阻抗矩阵) ,并用以计算节点 3 的三相短路电流。(2)另选一种方法计算短路电流,并用以验证(1)的计算结果。0

34、5. 11e05. 12e2 . 0j15. 0j2 . 0 j1 . 0j2j1 j132图 3-12 电力系统等值电路图图 3-13 经 norton 变换后的等值电路图图 3-13 最终计算等值电路图由以上网络可得输入文件如下:系统参数如下所示:1.系统的节点数为:32.系统的支路数为:23.系统的短路点为:3支路电抗参数如下:z1 2=0.2000 z2 3=0.1000发电机接入点及其电抗如下:共 2 台发电机进入系统:z1=0.2000z3=0.130435e1=1.0500e3=0.913043共 1 个节点有接地电容:y2=-2.000000(2) 、得到的输出文件:计算结果如

35、下:1、节点导纳矩阵:-10.0000 5.0000 5.0000 -14.5000 10.0000 10.0000 -17.6667 2、节点阻抗矩阵:05. 11e9128. 02e2 . 0j2 . 0 j1 . 0j2j132130435. 0j1 . 0j32 . 0j2j1272ji25. 51ji2 . 0j130435. 0j 0.1394 0.0789 0.0446 0.0789 0.1577 0.0893 0.0446 0.0893 0.1071 3、短路节点是:34、短路电流:if=9.18755、各节点电压:v1=0.6344v2=0.2188v3=06、发电机支路电流

36、如下:ig10=-2.0781ig30=-7.00007、各支路电流:i12=-2.0781 i23=-2.1875图 3-15 对称短路计算结果4 4 设计总结设计总结通过计算结果与算例答案的对比,计算结果与算例标准答案一样,说明了程序计算方法和思路的准确性。说明本次课程设计基本达到了设计的要求。通过本次课程设计让自己学到了很多东西,包括电力系统分析、和 c 语言的很知识。通过做课程设计自己又仔细的将两门课程相关章节看了一遍,特别是 c 语言,几乎把整个课本都看了一遍,并自学了很多相关的知识,重新看书的时候才发现,虽然以前学过,但几年不用已经忘得差不多啦!当然,重新看书也发现了许多新的知识,

37、学到不少的东西。本次做课程设计老师给我们留了充足的时间,让我们耐心去学习知识,而不像以前一样赶任务。通过这次课程设计,我更好的掌握了电力系统短路计算的方法。我想作为一个学电气的人这是非常关键的。在刚接到题目时,我感觉很迷茫,觉得很难,当我仔细准备的时候发现这也不是想象中的难,最终通过自己的努力和通过学的帮助完成了课程设计。这次设计给我最大的收获并不仅仅是相关的专业知识,这是我第一次做这种要几门课结合的课程设计,我觉得这使自己应用知识的能力得到了锻炼,本次课程设计用 c 语言编程序实现了电力系统的三相短路计算。虽然程序能够计算,但我也知道还有很多的问题。还需要努力。第一次不自己学的知识结合在一起

38、,觉得很有用,自己没白学。在答辩的过程老师对程序提出了修改意见,是自己的程序更加实用,在这里感谢老师的指导。5 参考文献参考文献1 何仰赞电力系统分析m武昌:华中科技大学出版社,19952 曹绳敏电力系统课程设计及毕业设计参考资料m北京:中国电力出版社 1998.33 纪雯.电力系统设计手册m.北京:中国电力出版社,1998.64 戈东方.电力工程电气设计手册m.北京:中国电力出版社,1998.125 何仰赞,温增银电力系统分析(上册)(第三版)武汉:华中科技大学出版社,20026 何仰赞,温增银电力系统分析题解(上、下)(第三版)武汉:华中科技大学出版社,20027 郑平安,曾大亮编程序设计

39、基础(c 语言)第二版北京:清华大学出版社,20066 6 附录附录主程序及注释(这里只给出主要计算程序):#include #include #include 声明外部函数 extern void create(); extern void load(); extern void quit();extern void change(char name20); extern void calculate(char name20) file *fp; /文件指针 float if; /短路电流 float v010; /节点电压初值 float in10; /注入电流 float v10; /节

40、点电压 float i10; /支路电流int count210; /数组用于储存支路号float z1010; /储存支路电抗值float yjs1010; /存放计算导纳矩阵中的中间值float ye10; /储存发电机支路导纳float y1010; /节点导纳矩阵float z1010; /阻抗矩阵float dk; /电抗值int e110;float yc10; /节点对地电抗float ycjs10;int e10; /发电机接入点float e10; float ig10;float emid10;float ze10; /储存发电机支路导纳int m,n,a,f,g,i=0,

41、j=0,sd,md,butn,times,timesc;/*n是节点数,a是支路数,f是短路点,i为行标,j为列标for(i=0;i10;i+)yci=0; ycjsi=0; ei=0; emidi=0;for(i=0;i10;i+) /初始赋 v0i=0; for(j=0;j10;j+) zij=0; yij=0; /*读取系统参数*/ fp=fopen(name,r); fscanf(fp,系统参数如下所示:nn); fscanf(fp,1.系统的节点数为%dn2.系统的支路数为%dn3.系统的短路点为%dnn,&n,&a,&f); /*读电抗*/ fscanf(fp,支路电抗参数如下n)

42、; for(m=0;ma;m+) fscanf(fp,z%d %d=%ft,&sd,&md,&dk); i=sd-1; j=md-1; count0m=sd; count1m=md; zij=dk; zji=dk; printf(系统支路电抗如下:n); for(m=0;ma;m+) i=count0m-1; j=count1m-1; printf(z%d%d = %.4fn,count0m,count1m,zij); fscanf(fp,nn发电机接入点及其电抗如下:); fscanf(fp,共%d台发电机进入系统n,×); for(m=0;mtimes;m+) fscanf(fp

43、,z%d=%ft,&em,&zem); fscanf(fp,n); for(m=0;mtimes;m+) fscanf(fp,e%d=%ft,&em,&em); printf(输入的发电机支路电抗为n); for(m=0;mtimes;m+) printf(z%d=%ft,em,zem); for(m=0;mtimes;m+) for(m=0;mtimes;m+) printf(e%d=%ft,em,em); for(m=0;m0) for(m=0;mtimesc;m+) fscanf(fp,y%d=%ft,&e1m,&ycm); printf(n系统有%d个节点电容n,timesc); fo

44、r(m=0;mtimesc;m+) printf(z%d0=%f ,e1m,ycm); fclose(fp);/*计算节点阻抗矩阵*/ for(m=0;m10;m+) yem=0; for(m=0;mtimes;m+) for(j=0;jn;j+) if(j=(em-1) yej=1/zem; emidj=em; for(m=0;mtimesc;m+) for(j=0;jn;j+) if(j=(e1m-1) ycjsj=1/ycm; /*系统支路导纳*/ for(i=0;in;i+) for(j=0;jn;j+) if(zij=0) yjsij=0; else yjsij=1/zij; /*导

45、纳矩阵*/ for(i=0;in;i+) for(j=0;jn;j+) yii=yii-yjsij; yii=yii-yei-ycjsi; for(i=0;in;i+) for(j=i+1;jn;j+) yij=yjsij; yji=yjsij; printf(nn节点导纳矩阵为); for(i=0;in;i+) printf(n); for(j=0;jn;j+) if(yij=0) printf( ); else printf(%8.4f ,yij); float l1010; float d1010; float u1010; int kk; float sum; for(i=0;i10;

46、i+) for(j=0;j10;j+) lij=0; dij=0; uij=0; for(i=0;i10;i+) lii=1; uii=1; /*迭代法求解*/ for(i=0;in;i+) sum=0; if(i1) dii=yii; else for(kk=0;kki;kk+) sum=sum+ukki*ukki*dkkkk; dii=yii-sum; for(j=i+1;jn;j+) sum=0; if(i1) uij=yij/dii; else for(kk=0;kki;kk+) sum=sum+ukki*ukkj*dkkkk; uij=(yij-sum)/dii; /*ldu屏幕显示

47、*/ printf(nd矩阵如下所示); for(i=0;in;i+) printf(n); for(j=0;jn;j+) if(dij=0) printf( ); else printf(%8.4f ,dij); printf(nu矩阵如下所示); for(i=0;in;i+) printf(n); for(j=0;jn;j+) if(uij=0) printf( ); else printf(%8.4f,uij); printf(n节点阻抗矩阵如下所示); float fi10; float h10; for(j=0;j10;j+) fij=0; hj=0; for(j=0;jn;j+)

48、for(i=0;in;i+) if(i-j)0) fii=0; else if(i-j)=0) fii=1; else sum=0; for(kk=0;kki;kk+) sum=sum-ukki*fikk; fii=sum; for(i=0;in;i+) if(i=0;i-) if(i=(n-1) zij=hi; else sum=0; for(kk=i+1;kkn;kk+) sum=sum-uikk*zkkj; zij=hi+sum ; for(i=0;in;i+) for(j=0;jn;j+) zij=-zij; for(i=0;in;i+) printf(n); for(j=0;jn;j

49、+) printf(%.4f ,zij); getch(); system(cls);/*计算短路电压电流网络中电流分布*/ /*注入电流计算*/ printf(tttt短路计算结果如下nn); for(i=0;in;i+) ini=(emidi)*(yei);/*注入节点电压初值*/ for(i=0;in;i+) for(j=0;jn;j+) v0i=v0i+inj*zji; /*节点电压初值*/ if=v0f-1/zf-1f-1; for(i=0;in;i+) vi=v0i-zif-1*if; printf(1、短路电流:nif=%.4fn*n2、各节点电压为n,if); for(i=0;

50、in;i+) if(if-1) printf(v%d=%.4fn,i+1,vi); else printf(v%d=0.0000n,i+1,vi); printf(*n); printf(3、发电机支路电流如下:n); for(m=0;mtimes;m+) for(i=0;in;i+) if(i+1=em)igem=-(em-vi)/zem;printf(ig%d0=%.4fn,em,igem); printf(*n4、各支路电流为n); for(m=0;ma;m+) i=count0m-1; j=count1m-1; ii=(vj-vi)/zij; printf(i%d%d=%.4fn,co

51、unt1m,count0m,ii); /*储存文件*/ printf(是否保存文件,保存请按,不保存按);scanf(%d,&g);switch(g) case 1: char outputname20; printf(5、你输入一个文件名用以保存数据n); scanf(%s,outputname); fp=fopen(outputname,w+); fprintf(fp,计算结果如下:n1、节点导纳矩阵:); for(i=0;in;i+) fprintf(fp,n); for(j=0;jn;j+) if(yij=0) fprintf(fp, ); else fprintf(fp,%8.4f

52、,yij); fprintf(fp,n2、节点阻抗矩阵:);for(i=0;in;i+) fprintf(fp,n); for(j=0;jn;j+) fprintf(fp,%7.4f ,zij); fprintf(fp,n3、短路节点是:%d,f); fprintf(fp,n4、短路电流:if=%.4f,if);fprintf(fp,n5、各节点电压:n); for(i=0;in;i+) if(if-1) fprintf(fp,v%d=%.4ft,i+1,vi); else fprintf(fp,v%d=0t,i+1,vi); fprintf(fp,n6、发电机支路电流如下:n); for(m

53、=0;mtimes;m+) for(i=0;in;i+) if(i+1=em)igem=-(em-vi)/zem;fprintf(fp,ig%d0=%.4fn,em,igem); fprintf(fp,n6、各支路电流:n); for(m=0;mvj) ii=(vj-vi)/zij; fprintf(fp,i%d%d=%.4ft,count0m,count1m,ii); else ii=(vi-vj)/zij; fprintf(fp,i%d%d=%.4ft,count1m,count0m,ii); fclose(fp);break; /*短路计算完成,选择操作*/ printf(*n); pr

54、intf(短路计算已经完成,请选择下列操作n 新建一个系统请按); printf(n 加载已保存的系统请按n 更改原系统短路点请按); printf(n 退出请按); scanf(%d,&butn); system(cls); switch(butn) case 1: create(); break; case 2: load(); break; case 3: change(name); break; case 4: quit(); break; void create() char name20; char answer; file *fp; int n,a,f,i=0,j=0,sd,md

55、,butn,times,nodeexist;/n,a,f分别为节点数、支路数、短路点 float dk; int e10; /储存发电机接入节点 float ae10; /对应的发电机电势 float b10; /发电机支路电抗 /*输入文件*/ printf(请输入您想要创建系统名称(如xx.txt)用以保存系统参数n); scanf(%s,name); /输入文件名 /*输入系统参数*/ printf(请输入系统的节点数,支路数,故障节点n); scanf(%d%d%d,&n,&a,&f); fp=fopen(name,w+); fprintf(fp,系统参数如下所示:nn); fprin

56、tf(fp,1.系统的节点数为%dn2.系统的支路数为%dn3.系统的短路点为%dnn,n,a,f); fprintf(fp,支路电抗参数如下n); printf(请输入支路首端号、支路末端号、支路电抗值n); for(i=0;ia;i+) scanf(%d%d%f,&sd,&md,&dk); fprintf(fp,z%d %d=%.4ft,sd,md,dk); /*发电机电抗*/ fprintf(fp,nn发电机接入点及其电抗如下:); printf(请输入发电机台数:n); scanf(%d,×); printf(请输入发电机接入点、电势以及支路电抗n); for(i=0;itimes;i+) scanf(%d%f%f,&ei,&aei,&bi); /*写入文件*/ fprintf(fp,共%d台发电机进入系统n,times); for(i=0;itimes;i+) printf(%fn,aei); getch(); for(i=0;itimes;i+) fprintf(fp,z%d=%.4ft,ei,bi); fprintf(fp,n); for(i=0;itimes;i+) fprintf(fp,e%d=%.4ft,ei,aei); /*节点对地电容*/ print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论