1. 程式人生 > >基於直流潮流法的電力系統潮流計算程式設計

基於直流潮流法的電力系統潮流計算程式設計

一、設計題目

基於直流潮流法的電力系統潮流計算程式設計

二、計算方法

直流潮流法

三、設計要求

掌握基於直流潮流法的電力系統潮流計算理論,建立直流潮流法的潮流計算數學模型,制定直流潮流法的潮流計算步驟,編寫直流潮流法的潮流計算程式。具體要求:根據直流潮流法計算IEEE 30節點的潮流分佈,計算各支路電壓相位和支路有功功率。

四、原始資料

IEEE-30節點電力系統如圖1所示。節點資料如表1所示,變壓器資料如表2所示,並聯電容資料如表3所示,線路資料如表4所示。

 

圖1 IEEE-30節點系統接線圖

 

五、參考資料

王錫凡《現代電力系統分析》。

 

表1 節點資料

節點號

節點型別

節點電壓

節點相角

發電機有功

發電機無功

負荷有功)

負荷無功

1

SN

1.05

0

 

 

 

 

2

PV

1.045

 

0.8

 

0.217

 

3

PQ

1

 

0

0

0.024

0.012

4

PQ

1

 

0

0

0.076

0.016

5

PV

1.01

 

0.5

 

0.942

 

6

PQ

1

 

0

0

0

0

7

PQ

1

 

0

0

0.228

0.109

8

PV

1.01

 

0.2

 

0.3

 

9

PQ

1

 

0

0

0

0

10

PQ

1

 

0

0

0.058

0.02

11

PV

1.05

 

0.2

 

0

 

12

PQ

1

 

0

0

0.112

0.075

13

PV

1.05

 

0.2

 

0

 

14

PQ

1

 

0

0

0.062

0.016

15

PQ

1

 

0

0

0.082

0.025

16

PQ

1

 

0

0

0.035

0.018

17

PQ

1

 

0

0

0.09

0.058

18

PQ

1

 

0

0

0.032

0.009

19

PQ

1

 

0

0

0.095

0.034

20

PQ

1

 

0

0

0.022

0.007

21

PQ

1

 

0

0

0.175

0.112

22

PQ

1

 

0

0

0

0

23

PQ

1

 

0

0

0.032

0.016

24

PQ

1

 

0

0

0.087

0.067

25

PQ

1

 

0

0

0

0

26

PQ

1

 

0

0

0.035

0.023

27

PQ

1

 

0

0

0

0

28

PQ

1

 

0

0

0

0

29

PQ

1

 

0

0

0.024

0.009

30

PQ

1

 

0

0

0.106

0.019

表2 變壓器資料

支路號

首端節點號

末端節點號

電阻

電抗

變比

1

6

9

0

0.208

0.978

2

6

10

0

0.556

0.969

3

4

12

0

0.256

0.932

4

28

27

0

0.396

0.968

表3 並聯電容資料

節點號

電鈉(標么值)

10

0.19

24

0.04

表3 線路資料

支路號

首端節點號

末端節點號

支路電阻

支路電抗

對地電納/2

1

1

2

0.0192

0.0575

0.0264

2

1

3

0.0452

0.1852

0.0204

3

2

4

0.057

0.1737

0.0184

4

3

4

0.0132

0.0379

0.0042

5

2

5

0.0472

0.1983

0.0209

6

2

6

0.0581

0.1763

0.0187

7

4

6

0.0119

0.0414

0.0023

8

5

7

0.046

0.116

0.0102

9

6

7

0.0267

0.082

0.0085

10

6

8

0.012

0.042

0.0045

11

9

11

0

0.208

0

12

9

10

0

0.11

0

13

12

13

0

0.14

0

14

12

14

0.1231

0.2559

0

15

12

15

0.0662

0.1304

0

16

12

16

0.0945

0.1987

0

17

14

15

0.221

0.1997

0

18

16

17

0.0824

0.1932

0

19

15

18

0.107

0.2185

0

20

18

19

0.0639

0.1292

0

21

19

20

0.034

0.068

0

22

10

20

0.0936

0.209

0

23

10

17

0.0324

0.0845

0

24

10

21

0.0348

0.0749

0

25

10

22

0.0727

0.1499

0

26

21

22

0.0116

0.0236

0

27

15

23

0.1

0.202

0

28

22

24

0.115

0.179

0

29

23

24

0.132

0.27

0

30

24

25

0.1885

0.3292

0

31

25

26

0.2544

0.38

0

32

25

27

0.1093

0.2087

0

33

27

29

0.2198

0.4153

0

34

27

30

0.3202

0.6027

0

35

29

30

0.2399

0.4533

0

36

8

28

0.0636

0.2

0.0214

37

6

28

0.0169

0.0599

0.0065

 

首件匯入原始資料:

%因為是直流法,所以可以只統計節點有功內容
%內容中只包含節點發電機有功和負荷有功,算出節點的淨有功
Bus.con=[...
1 0    0;
2 0.8    0.217;
3 0    0.024;
4 0    0.076;
5 0.5    0.942;
6 0    0;
7 0    0.228;
8 0.2    0.3;
9 0    0;
10 0    0.058;
11 0.2    0;
12 0    0.112;
13 0.2    0;
14 0    0.062;
15 0    0.082;
16 0    0.035;
17 0    0.09;
18 0    0.032;
19 0    0.095;
20 0    0.022;
21 0    0.175;
22 0    0;
23 0    0.032;
24 0    0.087;
25 0    0;
26 0    0.035;
27 0    0;
28 0    0;
29 0    0.024;
30 0    0.106;];
%線路資料(不考慮電阻)XL,Y/2
Line.con=[... 
1    2    0.0575    0.0264;
1    3    0.1852    0.0204;
2    4    0.1737    0.0184;
3    4    0.0379    0.0042;
2    5    0.1983    0.0209;
2    6    0.1763    0.0187;
4    6    0.0414    0.0023;
5    7    0.116    0.0102;
6    7    0.082    0.0085;
6    8    0.042    0.0045;
9    11    0.208    0;
9    10    0.11    0;
12    13    0.14    0;
12    14    0.2559    0;
12    15    0.1304    0;
12    16    0.1987    0;
14    15    0.1997    0;
16    17    0.1932    0;
15    18    0.2185    0;
18    19    0.1292    0;
19    20    0.068    0;
10    20    0.209    0;
10    17    0.0845    0;
10    21    0.0749    0;
10    22    0.1499    0;
21    22    0.0236    0;
15    23    0.202    0;
22    24    0.179    0;
23    24    0.27    0;
24    25    0.3292    0;
25    26    0.38    0;
25    27    0.2087    0;
27    29    0.4153    0;
27    30    0.6027    0;
29    30    0.4533    0;
8    28    0.2    0.0214;
6    28    0.0599    0.0065;];
%並聯電容資料
CN.con=[...
    10 0.19;
    24 0.04;];
%變壓器資料(首,末,電抗,變比)
Transformer.con=[...
6    9    0.208    0.978;
6    10    0.556    0.969;
4    12    0.256    0.932;
28    27    0.396    0.968;];
%節點命名
Bus.names = {... 
  'Bus 1'; 'Bus 2'; 'Bus 3'; 'Bus 4'; 'Bus 5'; 
  'Bus 6'; 'Bus 7'; 'Bus 8'; 'Bus 9';'Bus 10';
  'Bus 11'; 'Bus 12'; 'Bus 13'; 'Bus 14'; 'Bus 15';
  'Bus 16'; 'Bus 17'; 'Bus 18';'Bus 19';'Bus 20';
  'Bus 21'; 'Bus 22'; 'Bus 23'; 'Bus 24'; 'Bus 25'; 
  'Bus 26'; 'Bus 27'; 'Bus 28'; 'Bus 29';'Bus 30'};

之後進行資料的簡化和數學模型的搭建,並最終形成導納矩陣方便計算:

%%本程式選擇以30節點為例進行直流潮流分析,並選取1節點為基準點
%function flow_calculation,讀取原始資料檔案
clear;clc;
tic
eval('IEEE_30_mdl')
%計算節點淨有功,組成新的矩陣
P=zeros(30,1);
for i=1:30
    P(i,1)=Bus.con(i,2)-Bus.con(i,3);
end
%簡化變壓器模型,根據節點生成新矩陣,首末節點、ZT/K,ZT/1-k,ZT/k(k-1)
T=zeros(4,5);
for m=1:4
    T(m,1)=Transformer.con(m,1);
    T(m,2)=Transformer.con(m,2);
    T(m,3)=Transformer.con(m,3)/Transformer.con(m,4);
    T(m,4)=Transformer.con(m,3)/(1-Transformer.con(m,4));
    T(m,5)=-T(m,4)/Transformer.con(m,4);
end
%生成30個點的對應的電容補償矩陣
C=zeros(30,1);
C(10,1)=0.19;
C(24,1)=0.04;
line=size(Line.con,1);%支路數目

n=30;%節點數

Y=zeros(n);%建立導納矩陣Y
%% 計算導納矩陣
for m=1:line
    a=Line.con(m,1);%首節點a
    b=Line.con(m,2);%末節點b
    z=Line.con(m,3);%節點ab間的電抗
    y2=1i*Line.con(m,4);%導納/2
    
    Y(a,b)=-1/z;%ab間互導納
    Y(b,a)=Y(a,b);
    %Y(a,a)=Y(a,a)+y2+1/z;%求自導納
    Y(a,a)=Y(a,a)+1/z;
    %Y(b,b)=Y(b,b)+y2+1/z;
    Y(b,b)=Y(b,b)+1/z;
    C(a)=C(a,1);%輸入節點a,b的補償電容導納
    C(b)=C(b,1);
    Y(a,a)=Y(a,a)+C(a);
    Y(b,b)=Y(b,b)+C(b);
    %考慮變壓器
    for k=1:4
        if T(k,1)==a
           %Y(a,a)=Y(a,a)+T(k,4)+1/T(k,3);
           Y(a,a)=Y(a,a)+1/T(k,3);
           Y(a,b)=Y(a,b)-T(k,3);
           Y(b,a)=Y(a,b);
        end
        if T(k,2)==b
           %Y(b,b)=Y(b,b)+T(k,5)+1/T(k,3);
           Y(b,b)=Y(b,b)+1/T(k,3);
           Y(b,a)=Y(b,a)-T(k,3);
           Y(b,a)=Y(a,b);
        end
    end
end
%儲存基準點導納相關資料
Row=Y(1,:);
Y(1,:)=[];%刪除第一行
Line=Y(:,1);
%去除基準點導納資料,取第一點為基準點
Y(:,1)=[];%刪除第一列
Bus1=P(1,1);%暫存第一個點的有功
%去除基準點有功
P(1,:)=[];
%轉化為相角矩陣
A=inv(Y)*P;
%加入基準點相角
A0=[0];
A=[A0;A];
%轉化為角度
th=zeros(n,3);
for i=1:n
th(i,:)=[i 1 A(i,1)*180/pi];
end
%加入基準點有功
P=[Bus1;P];
%加入基準點導納資訊
Y=[Line Y];
Y=[Row;Y];
%構建有功矩陣
AP=zeros(30);
for n=1:30
    for m=1:30
        AP(n,m)=(A(n)-A(m))*(-Y(n,m));
    end
end
%節點相角輸出
tab1=[{'節點'},{'節點電壓'},{'節點相角'}];
tab2=[ th(:,1) th(:,2) th(:,3) ];
xlswrite('zhiliu.xls',tab1,1,'A1');
xlswrite('zhiliu.xls',tab2,1,'A2');

本程式適用於直流潮流法計算,並且針對IEEE-30節點jin進行分析,如果有其他型別潮流分析需考慮迭代等方法。