资源描述
信息工程学院
电力系统分析课程设计报告书
题目:电力系统短路故障计算机算法程序设计
专 业:电气工程及其自动化
班 级: 0309407
学 号:
学生姓名: 刘堃
指引教师: 钟建伟
年 3 月 5 日
信息工程学院课程设计任务书
学生姓名
刘堃
学 号
成 绩
设计题目
电力系统短路故障计算机算法程序设计
设
计
内
容
电力系统故障计算程序设计及编制和调试。依照所给电力系统,编制短路电流计算程序,通过计算机进行调试,最后完毕一种切实可行电力系记录算应用程序。通过自己设计电力系记录算程序对电力系统分析有进一步理解,同步加强计算机实际应用能力训练。
设
计
要
求
1、运用合理计算办法,就是规定所选用计算办法能迅速精确地得出对的成果,同步还应规定在解算过程中占用内存少,以利提高计算机解题规模。
2、选取适当语言编写程序,就是一方面拟定用什么计算机语言来编制程序;另一方面是作出计算流程图;第三依照流程图用选取语言编写计算程序。
3、考虑影响问题重要因素,而忽视某些次要因素,使数学模型既能对的地反映实际问题,又使计算但是于复杂。
时
间
安
排
1、先熟悉编程语言一周时间
2、复习电力系统分析有关内容一周时间
3、建立模型,拟定算法,编程,完毕任务
参
考
资
料
(1)《电力系统分析》(上册) 华中科技大学出版社 何仰赞
(2)《电力系统故障计算机辅助分析》 重庆大学出版社 米麟书等
(3)《电力系统故障分析》 清华大学出版社 周荣光
(4)《短路电流实用计算办法》 电力工业出版社 西安交通大学等
目 录
1 任务提出与方案论证 1
1.1 任务提出 1
1.2 方案论证 1
2设计思路 2
2.1 项目分析 2
3 详细设计 4
3.1 VB界面制作详细程序 4
3.2 测试算例 9
4 总 结 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 Double
Dim cnt%
Private Sub cmmd1_Click()
n = Val(Text1.Text)
f = Val(Text2.Text)
If n <> 0 And f <> 0 Then
cmmd1.Enabled = False
Cmmd3.Enabled = True
Lab1.Caption = "总共" & Str(n) & "个节点" & Space(5) & "当前输入" & Str(cnt) & "个"
End If
ReDim z_data(n,n) '重定义大小
End Sub
Private Sub cmmd2_Click()
n = 0
f = 0
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
cmmd1.Enabled = True
Cmmd3.Enabled = False
Cmmd4.Visible = False
Lab1.Caption = ""
Pic.Cls
Pic.Cls
End Sub
Private Sub Cmmd3_Click()
Dim I%
If (cnt < n) Then
For I = 0 To n - 1
z_data(cnt,I) = Val(Split(Text3.Text,",")(I))
Next
End If
cnt = cnt + 1
Lab1.Caption = "总共" & Str(n) & "个节点" & Space(5) & "当前输入" & Str(cnt) & "个"
If (cnt = n) Then
cmmd1.Enabled = False
cmmd2.Enabled = False
Cmmd4.Visible = True
cnt = 0
Text3.Text = ""
End If
End Sub
Private Sub Cmmd4_Click()
Dim Y As Variant
Dim I1 As Variant
Dim I As Variant
Dim X As Integer
Dim j As Integer
Dim qiu As New current_c.current
Dim temp As Double
Call qiu.curren_cat(3,Y,I1,I,n,f,z_data)
Pic.Print
Pic.Print "导纳矩阵:"
Dim strout As String
Dim 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 X
Pic.Print
Pic.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 = True
End Sub
Private Sub Command1_Click()
Dim stra As String
Dim Y%
Dim d%
Dim temp() As String
Dim tdata() As Double
With CommonDialog1
.CancelError = True
.InitDir = App.Path '予设存档途径
.Filter = "文档文献(*.txt)|*.txt"
.ShowSave '或commonDialog1.Action = 2 保存文献
End With
Open CommonDialog1.FileName For Input As #1
stra = StrConv(InputB$(LOF(1),#1),vbUnicode)
Close #1
temp = Split(stra,",")
ReDim tdata(UBound(temp))
For Y = 0 To UBound(temp)
tdata(Y) = Val(temp(Y))
Next
n = tdata(0)
f = tdata(1)
Text1.Text = n
Text2.Text = f
For Y = 2 To UBound(tdata)
tdata(Y - 2) = tdata(Y)
Next
ReDim z_data(n,n)
For Y = 0 To n - 1
For d = 0 To n - 1
z_data(Y,d) = tdata(Y * n + d)
Next
Next
Cmmd4.Enabled = True
Cmmd4.Visible = True
cmmd1.Enabled = False
End Sub
Private Sub Form_Load()
Cmmd3.Enabled = False
Cmmd4.Visible = False
cnt = 0
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If
End Sub
3.2 测试算例
【例6-3】在如图3-5所示电力系统中分别在节点1和节点5接入发电机支路,其标幺值参数为:
。在节点3发生三相短路,计算短路电流及网络中电流分布。线路电阻和电容略去不计,变压器标幺变比等于1。各元件参数标幺值如下:
图3-5 电力系统等值网络图
其三相短路时等值网络图如图3-6所示。
图3-6 三相短路时等值网络图
由以上网络图可得计算过程如下:
(1)、形成输入文献:
系统参数如下所示:
1.系统节点数为5
2.系统支路数为5
3.系统短路点为3
支路电抗参数如下
z12=0.1050 z23=0.0650 z24=0.0800 z43=0.0500 z54=0.1840
发电机接入点及其电抗如下:共2台发电机进入系统
z1=0.1500 z5=0.2200
e1=1.0000 e5=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、短路节点是:3
4、短路电流:If=5.3767
5、各节点电压:
V1=0.5152 V2=0.1758 V3=0 V4=0.1336 V5=0.5282
6、发电机支路电流如下:
Ig[1][0]=-3.2321
Ig[5][0]=-2.1445
7、各支路电流:
I12=-3.2321 I23=-2.7046 I24=-0.5275 I43=-2.6720 I54=-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.8×10-6 S/km
线路长度 L-1:120 km,L-2:80 km,L-3:70 km
取SB = 120 MVA,VB = Vav
G
G
G-1
G-2
T-1
T-2
L-1
L-2
L-3
1
2
3
4
5
图3-8 电力系统网络图
其三相短路时等值网络图如图3-9所示。
图3-9 三相短路时等值网络图
由以上网络图可得计算过程如下:
(1)、形成输入文献:
系统参数如下所示:
1.系统节点数为:5
2.系统支路数为:5
3.系统短路点为:5
支路电抗参数如下:
z3 5=0.29036 z4 5=0.25406 z3 4=0.43554 z1 3=0.1050 z2 4=0.2100
发电机接入点及其电抗如下:共2台发电机进入系统:
z1=0.2300 z2=0.2800
e1=1.0500 e2=1.0500
共3个节点有接地电容:
Y3=-32.372299 Y4=-34.077000 Y5=-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、短路节点是:5
4、短路电流:If=3.1263
5、各节点电压:
V1=0.6471 V2=0.6723 V3=0.4632 V4=0.3890 V5=0
6、发电机支路电流如下:
Ig[1][0]=-1.7516
Ig[2][0]=-1.3491
7、各支路电流:
I35=-1.5954 I45=-1.5310 I34=-0.1705 I13=-1.7516 I24=-1.3491
程序运营成果如图3-10所示。
图3-10 程序运营成果
【习题6-11】电力系统等值电路如图3-11所示,支路阻抗标幺值已注明图中。
(1)形成节点导纳矩阵(或节点阻抗矩阵),并用以计算节点3三相短路电流。
(2)另选一种办法计算短路电流,并用以验证(1)计算成果。
图3-11 电力系统等值电路图
由以上网络图可得计算过程如下:
(1)、形成输入文献:
系统参数如下所示:
1.系统节点数为:3
2.系统支路数为:2
3.系统短路点为:3
支路电抗参数如下:
z1 2=0. z2 3=0.1000
发电机接入点及其电抗如下:共2台发电机进入系统:
z1=0. z3=0.130435
e1=1.0500 e3=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、短路节点是:3
4、短路电流:If=9.1875
5、各节点电压:
V1=0.6344 V2=0.2188 V3=0
6、发电机支路电流如下:
Ig[1][0]=-2.0781
Ig[3][0]=-7.0000
7、各支路电流:
I12=-2.0781 I23=-2.1875
运营成果如图3-12所示。
图3-12 程序运营成果
程序运营成果与算例原则答案同样,阐明本程序计算办法和思路精确性,程序基本符合设计规定。
4 总 结
本次课程设计让我受益匪浅,由于要做好这一门课程设计需要比较夯实电力系统分析和MATLAB以及VB程序设计,此前学这几门学时候都学得比较肤浅,为了做设计,我必要进一步再次学习这几门课程,这在无形之中巩固了我电力系统分析和VB编程能力和实际运用能力,同步用我所学知识解决了实际问题,增强了我自信心。我觉得作为一种电气人应当有自学和运用知识解决实际问题能力,在实践中学习,在学习中进步。同步这次课程设计也让我充分结识到自己知识能力水平局限性,有种书到用时方恨少迷茫,需要在后来学习中不断提高自己。这次设计可以最后完毕,教师耐心指引起了很大作用,让我在学习和实践过程中没有感到非常吃力,从而可以稳中求进,最后完毕任务。
参 考 文 献
[1]何仰赞. 电力系统分析(上册). 武汉:华中科技大学出版社,
[2]米麟书等. 电力系统故障计算机辅助分析. 重庆:重庆大学出版社,1992
[3]周作仁等. 电网计算与程序设计. 长沙:湖南科学技术出版社,1983
[4]Visual Basic 程序设计教程. 北京:人民邮电出版社,.2
[5]康华光,陈大钦. 电子技术基本—模仿某些(第五版)[M].北京:高等教诲出版社,
[6]皮文兵. 一种宽输入范畴Gillbert模仿乘法器设计[J]. 电子设计应用..13
[7] 焦春生.新型绿色能效D类音频放大器设计应用[EB/OL]
[8] 张筑生. 微分半动力系统不变集 [D]. 北京:北京大学数学系数学研究所,1983
[9] MATLAB 7.0从入门到精通(修订版). 北京:人民邮电出版社 ,.5
附 录
重要数据变量阐明如下:
n :总节点数
f :短路点
z :系统阻抗矩阵
:节点i和节点j之间阻抗,如无连接,则=0
Z :系统阻抗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
end
for 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);
end
end
Z=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);
end
for i=1:n
for j=1:n
I(i,j)=(V(j)-V(i))*Y(i,j); 求出各支路电流,公式来源(6-9)
end
end
Y=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程序设计
展开阅读全文