基于Visual Basic和MATLAB联合编成的电力系统课程设计

上传人:xins****2008 文档编号:51175517 上传时间:2022-01-24 格式:DOCX 页数:25 大小:269.33KB
返回 下载 相关 举报
基于Visual Basic和MATLAB联合编成的电力系统课程设计_第1页
第1页 / 共25页
基于Visual Basic和MATLAB联合编成的电力系统课程设计_第2页
第2页 / 共25页
基于Visual Basic和MATLAB联合编成的电力系统课程设计_第3页
第3页 / 共25页
点击查看更多>>
资源描述
信息工程学院 电力系统分析课程设计报告书 题目: 电力系统短路故障的计算机算法程序设计 专 业:电气工程及其自动化 班 级: 0309407 学 号: 030940733 学生姓名: 刘堃 指导教师: 钟建伟 2012 年 3 月 5 日 信息工程学院课程设计任务书学生姓名刘堃学 号030940733成 绩设计题目 电力系统短路故障的计算机算法程序设计设计内容 电力系统故障的计算程序设计及编制和调试。根据所给的电力系统,编制短路电流计算程序,通过计算机进行调试,最后完成一个切实可行的电力系统计算应用程序。通过自己设计电力系统计算程序对电力系统分析有进一步理解,同时加强计算机实际应用能力的训练。设计要求1、运用合理的计算方法,就是要求所选用的计算方法能快速准确地得出正确结果,同时还应要求在解算过程中占用内存少,以利提高计算机的解题规模。2、选择合适的语言编写程序,就是首先确定用什么计算机语言来编制程序;其次是作出计算的流程图;第三根据流程图用选择的语言编写计算程序。3、考虑影响问题的主要因素,而忽略一些次要因素,使数学模型既能正确地反映实际问题,又使计算不过于复杂。时间安排 1、先熟悉编程语言一周时间 2、复习电力系统分析相关内容一周时间 3、建立模型,确定算法,编程,完成任务参考资料(1)电力系统分析(上册) 华中科技大学出版社 何仰赞(2)电力系统故障的计算机辅助分析 重庆大学出版社 米麟书等(3)电力系统故障分析 清华大学出版社 周荣光(4)短路电流实用计算方法 电力工业出版社 西安交通大学等 目 录1 任务提出与方案论证11.1 任务提出11.2 方案论证12设计思路22.1 项目分析23 详细设计43.1 VB界面制作详细程序43.2 测试算例94 总 结19参 考 文 献20 信息工程学院课程设计(论文) 1 任务提出与方案论证1.1 任务提出随着社会的发展,电能已成为现代社会最重要的能源之一,电网的覆盖面积已逐渐遍布世界各个角落,电力系统也随之变得庞大和复杂,而电力系统的计算也变得重要和繁琐,如果仅靠人工计算不仅困难而且容易出错,于是基于计算机的电力系统算法程序便应运而生。电力系统的故障有很多种,而短路则是最为严重的一种,包括一相短路接地,两相短路,两相短路接地,三相短路,其中三相短路在电力系统中虽然发生的概率很小,但一旦发生产生的影响非常严重,电力系统中设备的动稳定和热稳定校验都要以三相短路电流为依据,因此我选择做电力系统三相短路的计算程序更有意义。1.2 方案论证本课程设计根据电力系统分析课程中所讲的基于节点方程的三相短路计算的原理和方法,编程实现了三相短路计算。本程序输入含有网络拓扑信息和电器元件的参数,输出三相短路的短路电流和短路后网络各节点的电压参数和各支路的电流参数,并以文件的形式保存,方便用户的读取、打印,实现了设计的要求。对于编程语言的选择有很多种,目前比较流行的是C语言和MATLAB两种,因为这两种语言相对较简单,而MATLAB作为专门的数学软件又更具简介性和直观性,是一种基于解释的语言,目标在于用户方便,开发简单,但编译器则承担了更大重任,因此程序执行效率方面也有损失。VB语言是目前世界上最为流行使用最为广泛的面向对象设计语言用他来设计界面,很多软件的界面都使用VB编写的,能起到美化界面的作用,就我个人而言,我学过VB课程,相对于其他语言来说,VB的运用更为熟悉和了解,因此,在本课程设计中我选择VB语言进行界面的美化,MATLAB在后台调用函数对电力系统对称短路计算,从而实现VB和MATLAB联合编程。2设计思路2.1 项目分析电力系统短路电流的实际工程计算中,许多实际问题的解决并不需要十分精确地结果,因此采用近似计算法,在建立系统节点方程时,采用网络模型和参数做简化处理,等值电路的制定通常将发电机作为含源支路,表示为节点注入电流源和节点电抗的形式,系统中存在同步发电机时,按发电机支路处理,同时忽略发电机、变压器和输电线路的电阻,不计线路的电容,略去变压器的励磁电流,负荷忽略不计,在标幺参数计算时,选取各级平均额定电压作为基准电压,忽略元件的额定电压和平局电压的差别,认为变压器变比的标幺值为1,假定所有的发电机的电势具有相同的相位,所有的元件仅用电抗表示,避免复数运算。本课程设计的关键部分是利用系统节点导纳矩阵形成节点阻抗矩阵,本程序采用LDU分解法,然后利用节点导纳矩阵和阻抗矩阵的乘积为单位矩阵列些方程,节点导纳矩阵经LDU分解后,回代求解系统阻抗矩阵。利用节点阻抗矩阵进行短路计算,首先利用故障前的节点注入电流和系统节点阻抗矩阵求取故障前系统的各节点电压,然后利用金属短路时短路点残压为0、对地点电阻为0,计算短路点电流,最后利用故障前节点电压、节点阻抗和短路点电流求得短路后各节点电压和各支路电流。应用计算机进行电力系统计算,首先要建立电力系统相应的数学模型,如建立电力系统等效网络和节点方程,其次是运用合理的计算方法计算结果,如三角分解发,LDU分解法等,第三则是选择合适的计算机语言编制计算程序,实现程序的准确性,提高精确度。本设计利用节点方程来实现电力系统三相短路计算。首先,根据给定的电力系统运行方式制定系统的一相等值网络,计算出各元器件的参数,其次根据网络方程利用变压器和线路参数形成不含发电机和负荷的节点导纳矩阵Y,然后利用系统形成的节点导纳矩阵求解系统阻抗矩阵Z,最后应用节点阻抗矩阵计算短路电流。 2.2 总流程图程序的总流程图如图2-1所示。 3 详细设计3.1 VB界面制作详细程序Dim n%Dim f%Dim z_data() As DoubleDim cnt%Private Sub cmmd1_Click()n = Val(Text1.Text)f = Val(Text2.Text)If n 0 And f 0 Thencmmd1.Enabled = FalseCmmd3.Enabled = TrueLab1.Caption = 总共 & Str(n) & 个节点 & Space(5) & 当前输入 & Str(cnt) & 个End IfReDim z_data(n, n) 重定义大小End SubPrivate Sub cmmd2_Click()n = 0f = 0Text1.Text = Text2.Text = Text3.Text = cmmd1.Enabled = TrueCmmd3.Enabled = FalseCmmd4.Visible = FalseLab1.Caption = Pic.ClsPic.ClsEnd SubPrivate Sub Cmmd3_Click()Dim I%If (cnt n) Then For I = 0 To n - 1 z_data(cnt, I) = Val(Split(Text3.Text, ,)(I) NextEnd Ifcnt = cnt + 1Lab1.Caption = 总共 & Str(n) & 个节点 & Space(5) & 当前输入 & Str(cnt) & 个If (cnt = n) Thencmmd1.Enabled = Falsecmmd2.Enabled = FalseCmmd4.Visible = Truecnt = 0Text3.Text = End IfEnd SubPrivate Sub Cmmd4_Click()Dim Y As VariantDim I1 As VariantDim I As VariantDim X As IntegerDim j As IntegerDim qiu As New current_c.currentDim temp As DoubleCall qiu.curren_cat(3, Y, I1, I, n, f, z_data)Pic.PrintPic.Print 导纳矩阵:Dim strout As StringDim s As String For X = 1 To n For j = 1 To n temp = Round(Y(X, j), 4) s = Str(temp) If Abs(temp) 1 And temp 0 Then s = Str(Abs(temp) If temp 0 Then s = 0 & Trim(s) Else s = -0 & Trim(s) End If End If Pic.Print s, Next j Pic.Print s = Next XPic.PrintPic.Print 各支路电流:Pic.Print For X = 1 To n For j = 1 To n temp = Round(I(X, j), 4) s = Str(temp) If Abs(temp) 1 And temp 0 Then s = Str(Abs(temp) If temp 0 Then s = 0 & Trim(s) Else s = -0 & Trim(s) End If End If Pic.Print s, Next j Pic.Print s = Next X Pic.Print strout = Chr(10) & Str(Round(I1, 4) Pic.Print 短路点电流:, strout Cmmd4.Enabled = False cmmd2.Enabled = TrueEnd SubPrivate Sub Command1_Click()Dim stra As StringDim Y%Dim d%Dim temp() As StringDim tdata() As DoubleWith CommonDialog1 .CancelError = True .InitDir = App.Path 予设存档路径 .Filter = 文档文件(*.txt)|*.txt .ShowSave 或commonDialog1.Action = 2 保存文件 End WithOpen CommonDialog1.FileName For Input As #1stra = StrConv(InputB$(LOF(1), #1), vbUnicode)Close #1temp = Split(stra, ,)ReDim tdata(UBound(temp)For Y = 0 To UBound(temp)tdata(Y) = Val(temp(Y)Nextn = tdata(0)f = tdata(1)Text1.Text = nText2.Text = fFor Y = 2 To UBound(tdata)tdata(Y - 2) = tdata(Y)NextReDim z_data(n, n)For Y = 0 To n - 1 For d = 0 To n - 1 z_data(Y, d) = tdata(Y * n + d) NextNextCmmd4.Enabled = TrueCmmd4.Visible = Truecmmd1.Enabled = FalseEnd SubPrivate Sub Form_Load()Cmmd3.Enabled = FalseCmmd4.Visible = Falsecnt = 0End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii Asc(9) Then KeyAscii = 0 End If End SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii 57 Then KeyAscii = 0 End If End Sub3.2 测试算例【例6-3】在如图3-5所示的电力系统中分别在节点1和节点5接入发电机支路,其标幺值参数为:。在节点3发生三相短路,计算短路电流及网络中的电流分布。线路的电阻和电容略去不计,变压器的标幺变比等于1。各元件参数的标幺值如下:图3-5 电力系统等值网络图其三相短路时的等值网络图如图3-6所示。 图3-6 三相短路时的等值网络图由以上网络图可得计算过程如下:(1)、形成输入文件:系统参数如下所示: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.0000 -37.9348 5.4348 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、短路节点是:34、短路电流:If=5.37675、各节点电压:V1=0.5152V2=0.1758V3=0V4=0.1336V5=0.52826、发电机支路电流如下:Ig10=-3.2321Ig50=-2.14457、各支路电流:I12=-3.2321I23=-2.7046I24=-0.5275I43=-2.6720I54=-2.1445程序运行结果如图3-7所示。图3-7 程序运行结果 【习题6-10】如图3-8所示网络,略去负荷,试用节点阻抗矩阵法求节点5发生三相短路时,短路点的短路电流及线路L-2、L-3的电流。已知各元件参数如下:发电机G-1: SN = 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 = VavGGG-1G-2T-1T-2L-1L-2L-312345图3-8 电力系统网络图其三相短路时的等值网络图如图3-9所示。图3-9 三相短路时的等值网络图由以上网络图可得计算过程如下:(1)、形成输入文件:系统参数如下所示:1.系统的节点数为:52.系统的支路数为:53.系统的短路点为:5支路电抗参数如下:z3 5=0.29036 z4 5=0.25406 z3 4=0.43554z1 3=0.1050z2 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.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 0.1326 0.1242 0.1932 0.2174 0.3427 3、短路节点是:54、短路电流:If=3.12635、各节点电压:V1=0.6471V2=0.6723V3=0.4632V4=0.3890V5=06、发电机支路电流如下:Ig10=-1.7516Ig20=-1.34917、各支路电流:I35=-1.5954I45=-1.5310I34=-0.1705I13=-1.7516I24=-1.3491程序运行结果如图3-10所示。图3-10 程序运行结果【习题6-11】电力系统等值电路如图3-11所示,支路阻抗的标幺值已注明图中。(1)形成节点导纳矩阵(或节点阻抗矩阵),并用以计算节点3的三相短路电流。(2)另选一种方法计算短路电流,并用以验证(1)的计算结果。图3-11 电力系统等值电路图由以上网络图可得计算过程如下:(1)、形成输入文件:系统参数如下所示:1.系统的节点数为:32.系统的支路数为:23.系统的短路点为:3支路电抗参数如下:z1 2=0.2000z2 3=0.1000发电机接入点及其电抗如下:共2台发电机进入系统:z1=0.2000z3=0.130435e1=1.0500e3=0.913043共1个节点有接地电容:Y2=-2.000000(2)、得到的输出文件:计算结果如下:1、节点导纳矩阵:-10.0000 5.0000 5.0000 -14.5000 10.0000 10.0000 -17.6667 2、节点阻抗矩阵: 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、发电机支路电流如下:Ig10=-2.0781Ig30=-7.00007、各支路电流:I12=-2.0781I23=-2.1875运行结果如图3-12所示。图3-12 程序运行结果 程序运行结果与算例标准答案一样,说明本程序的计算方法和思路的准确性,程序基本符合设计的要求。4 总 结本次课程设计让我受益匪浅,因为要做好这一门课程设计需要比较扎实的电力系统分析和MATLAB以及VB程序设计,以前学这几门课的时候都学得比较肤浅,为了做设计,我必须深入的再次学习这几门课程,这在无形之中巩固了我的电力系统分析和VB的编程能力和实际运用能力,同时用我所学的知识解决了实际问题,增强了我的自信心。我觉得作为一个电气人应该有自学和运用知识解决实际问题的能力,在实践中学习,在学习中进步。同时这次课程设计也让我充分认识到自己知识能力水平的不足,有种书到用时方恨少的迷茫,需要在以后的学习中不断提高自己。这次设计能够最终完成,老师耐心的指导起了很大作用,让我在学习和实践的过程中没有感到非常吃力,从而能够稳中求进,最终完成任务。参 考 文 献1何仰赞. 电力系统分析(上册). 武汉:华中科技大学出版社,20022米麟书等. 电力系统故障的计算机辅助分析. 重庆:重庆大学出版社,19923周作仁等. 电网计算与程序设计. 长沙:湖南科学技术出版社,19834Visual Basic 程序设计教程. 北京:人民邮电出版社,2007.25康华光,陈大钦. 电子技术基础模拟部分(第五版)M.北京:高等教育出版社,20056皮文兵. 一种宽输入范围的Gillbert模拟乘法器设计J. 电子设计应用.2007.137 焦春生.新型绿色能效D类音频放大器设计应用EB/OL8 张筑生. 微分半动力系统的不变集 D. 北京: 北京大学数学系数学研究所, 19839 MATLAB 7.0从入门到精通(修订版). 北京:人民邮电出版社 ,2010.5附 录主要数据变量说明如下:n :总节点数f :短路点z :系统阻抗矩阵 :节点i和节点j之间的阻抗,如无连接,则0Z :系统的阻抗Z矩阵Y :系统的导纳矩阵If :短路电流 :短路后节点i电压的向量 :短路后节点i和j之间的支路电流计算主程序如下:load impedance.dat; 载入阻抗矩阵 load point.dat; 载入短路节点,节点总数 n=point(1,2); 赋节点总数值f=point(1,1); 赋短路节点值z=1j.*impedance;Y=zeros(n,n); I=zeros(n,n); 初始定义Y,I阵为零矩阵for i=1:n for j=1:n if z(i,j)=0 Y(i,i)=Y(i,i)+1/z(i,j); 求出Y阵中的对角线上元素,自导纳 end end endfor i=1:n for j=i+1:n if z(i,j)=0 Y(i,j)=0; else Y(i,j)=-1/z(i,j); 求出Y阵中非对角线上元素,互导纳 end Y(j,i)=Y(i,j); endendZ=inv(Y); 导纳矩阵求逆,得出阻抗矩阵If=1/Z(f,f); 计算短路电流,公式来源(6-10)V=ones(1,n); 产生长度为n的全1行数组,定义各节点电压为额定制for i=1:n 求解短路后各节点电压,公式来源(6-8) V(i)=V(i)-If*Z(i,f); endfor i=1:n for j=1:n I(i,j)=(V(j)-V(i)*Y(i,j); 求出各支路电流,公式来源(6-9) endendY=imag(Y); 取出导纳矩阵的虚部为导纳矩阵Z=imag(Z);If=imag(If);I=imag(I);save daona.dat Y -ascii 保存Y阵结果存于daona文件中save zukang.dat Z -ascii 保存Z阵结果存于zukang文件中save current.dat I -ascii 保存支路电流存于currrent文件中save voltage.dat V -ascii 保存各节点电压存于voltage文件中save d-currentt.dat If -ascii 保存短路电流信息存于d-current文件中save zong.m Y Z I V If -ascii 保存所有信息于总文件中 以上附录程序均基于MATLAB程序设计21
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 销售管理


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!