您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 华中科技大学电气09级《电力系统分析》课程设计报告
1(仅供参考学习之用,请勿抄袭)此为16开的纸张,打印的时候直接缩放到A4规格,不需要重新排版。2011-2012第二学期课程设计电力系统短路故障的计算机算法程序设计姓名学号班级电气09xx班指导教师王丹老师2目录一、课程设计说明……………………………………………3二、选择所用计算机语言的理由……………………………3三、程序主框图、子框图及主要数据变量说明……………4四、三道计算题及网络图…………………………………8五、设计体会…………………………………………………15六、参考文献…………………………………………………16七、附录(主程序及其注释)………………………………173电分课设报告一、课程设计说明根据所给的电力系统,编制短路电流计算程序,通过计算机进行调试,最后完成一个切实可行的电力系统计算应用程序。通过自己设计电力系统计算程序使同学对电力系统分析有进一步理解,同时加强计算机实际应用能力的训练。所谓短路,是指电力系统正常运行情况以外的相与相之间或相与地之间的“短接”。在电力系统正常运行时,除中性点外,相与相或相与地之间是绝缘的。如果由于某种原因使其绝缘破坏而构成了通路,我们就称电力系统是发生了短路故障。在三相系统中,短路故障可分为两大类:即对称短路(三相短路)和不对称短路(两相短路、两相接地短路、单相接地短路)。其中三相短路虽然发生的机会较少,但情况严重,又是研究其它短路的基础。所以我们先研究最简单的三相短路电流的暂态变化规律。二、选择所用计算机语言的理由我使用的是第四代计算机语言的MATLAB,利用其丰富的函数资源,它的优点如下:1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。47)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signlproceessingtoolbox,commumnicationtoolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。三、程序主框图、子框图及主要数据变量说明算法说明:利用节点阻抗矩阵计算短路电流如图所示,假定系统中的节点f经过过渡阻抗发生短路。对于正常状态的网络而言,发生短路相当于在故障节点f增加了一个注入电流。因此,网络中任一节点i的电压可表示为:由式可见,任一节点电压i的电压都由两项叠加而成。第一项是当时由网络内所有电源在节点i产生的电压,也就是短路前瞬间正常运行状态下的节点电压,记为。第二项是当网络中所有电流源都断开,电势源都短接时,仅仅由短路电流在节点i产生的电压。这两个分量的叠加,就等于发生短路后节点i的实际电压,即公式二公式二也适用于故障节点f,于是有GjfifjijiIZIZV)0(iVfIfifiiIZVV)0(fffffIZVV)0(fI5是故障节点f的自阻抗,也称输入阻抗。方程式含有两个未知量,根据故障的边界条件:由以上两个方程式解出:而各节点初始电压GjjjijGjjijizEZIZV)0(求出fI后,节点i电压)0()0()0(ffffifififiiVzZZVIZVV为了得到精确计算结果,本程序计算过程中,使用精确算法。任一支路的电流pqqppqzVkVI对于非变压器支路,令k=1即可。fzffIfzf有源网络ZNfIfV(0)fVffZffZffIV,0fffIzVfffffzZVI)0(6程序主框图:7其中计算模块包含一个子流程图:主要数据变量说明:程序中:n节点数f短路节点序号z任意节点间阻抗矩阵g_z发电厂阻抗矩阵g_v发电厂电压矩阵louy网络漏抗导纳矩阵Z网络节点阻抗矩阵Y网络节点导纳矩阵If短路点电流V网络节点电压矩阵I网络支路电流矩阵A文件导入时存入的矩阵名称p发电机阻抗矩阵存放在A中的行序号,所以p-1就是发电机台数Q漏抗导纳矩阵存放在A中的行序号,所以q-1就是漏抗数8四、三道计算题及网络图①例题6-3其中3号节点发生三相短路。输入数据及说明:节点总数n=5短路节点序号f=3输入节点间阻抗矩阵z=j*发电机阻抗矩阵(第一列是发电厂节点序号,第二列是发电厂阻抗,第三列为发电厂电压)g_z=Inf0.1050InfInfInf0.1050Inf0.06500.0800InfInf0.0650Inf0.0500InfInf0.08000.0500Inf0.1840InfInfInf0.1840Inf10.1500150.220019输出数据及说明:短路点电流fI-5.3767各支路电流矩阵I=j*各节点电压矩阵V=节点导纳矩阵Y=j*节点阻抗矩阵Z=j*03.2321000-3.232102.70460.527500-2.70460-2.672000-0.52752.67200-2.14450002.144500.51520.175800.13360.5282-16.19059.52380009.5238-37.408415.384612.50000015.3846-35.3846200012.500020-37.93485.43480005.4348-9.98020.11810.09580.09020.08580.04670.09580.16290.15330.14590.07940.09020.15330.18600.16110.08770.08580.14590.16110.17290.09410.04670.07940.08770.09410.151510软件界面显示(打码处遮挡为一个edittext,里面可以默认放置姓名班级学号信息)11②习题6-10其中节点5发生三相短路输入数据及说明:节点总数n=5短路节点序号f=5输入节点间阻阵z=j*发电机阻抗矩阵(第一列是发电厂节点序号,第二列是发电厂阻抗,第三列为发电厂电压)g_z=漏导纳矩阵(第一列为漏导纳节点号,第二列为漏导纳数值)louy=InfInf0.1050InfInfInfInfInf0.2100Inf0.1050InfInf0.43550.2904Inf0.21000.4355Inf0.2541InfInf0.29040.2541Inf10.23001.050020.28001.050030.030950.023140.029312输出数据及说明:短路点电流fI-3.1263各支路电流矩阵I=j*各节点电压矩阵V=节点导纳矩阵Y=j*节点阻抗矩阵Z=j*00-1.751600000-1.349101.751600-0.1705-1.595301.34910.17050-1.5310001.59531.531000.64710.67230.46320.38900-13.871609.5238000-8.333304.761909.52380-15.23302.29603.444004.76192.2960-10.96473.9361003.44403.9361-7.35690.18190.06160.16000.10790.13260.06160.20780.08980.15360.12420.16000.08980.23300.15710.19320.10790.15360.15710.26890.21740.13260.12420.19320.21740.342713软件界面显示③习题6-11其中节点3发生三相短路。输入数据及说明:节点总数n=3短路节点序号f=3输入节点间阻抗矩阵z=j*发电机阻抗矩阵(第一列是发电厂节点序号,第二列是发电厂阻抗,第三列为Inf0.2000Inf0.2000Inf0.1000Inf0.1000Inf14发电厂电压)g_z=漏导纳矩阵(第一列为漏导纳节点号,第二列为漏导纳数值)louy=输出数据及说明:短路点电流fI-9.1875各支路电流矩阵I=j*各节点电压矩阵V=节点导纳矩阵Y=j*节点阻抗矩阵Z=j*软件界面显示10.20001.050030.15001.050020.50003-10-2.078102.07810-2.187502.187500.63440.21870-10505-14.500010010-17.66670.13940.07890.04460.07890.15770.08930.04460.08930.107115五、设计体会这次电分课设的主题是电力系统短路故障的计算机算法程序设计,我选择了对称短路计算来研究。经过不懈努力与完善,最终形成的可执行文件可以对各种简单电力网络的对称短路故障进行分析计算,取得了较为满意的效果。我编写了9个回流函数,分别执行不同的功能:1.读取函数select_file:读取.csv文件,读取成功有提示。确定参数矩阵后,在右上侧显示各种已知参数。各种读取结果申公共。2.计算函数calculate_start:精确算法,计算完毕将结果显示在右下侧。各种计算结果申公共。3.导入函数input1:可任意修改短路点序号、小z矩阵,支持报错功能。手动导入过程人性化,可以下标自动加1。4.导入函数input2:可任意修改发电厂矩阵,支持报错功能。同样,下标也能自动加1。5.导入函数input3:可以任意修改漏抗导纳矩阵,下标也能自动加1.通过以上三个导入函数,还能实现不导入文件,完全手动输入所有参数。6.存储函数save_result_csv:以文件形式存储短路计算结果,仍以工程上常用16的.csv文件保存。7.存储函数save_result_txt:详细地以文本形式,记录网络参数与短路计算结果,汉字说明与数字结果夹杂混排。8.重置函数clear_all:重置所有矩阵和显示框,将程序复位到最初状态。9.点选函数setHvisible以及附带的pushbutton1-3:可以自由切换I、Y、Z矩阵显示。在设计程序的时候,我还特意设置了输入报错功能,当输入节点序号超出节点总数,程序将会报错,以防没发现造成最后结果错误。在设计程序的过程中,碰到了很多困难,但是我也从中发现问题,解决问题。往往是,检查了很多遍的程序,在运行中还是会报错。MATLAB有着非常好的问题诊断功能,在编写过程中,它就会自动检查程序中潜在的问题,并用红色下划线标注出来,让编程者从源
本文标题:华中科技大学电气09级《电力系统分析》课程设计报告
链接地址:https://www.777doc.com/doc-6380312 .html