电力系统潮流程序设计.docx
- 文档编号:5015678
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:17
- 大小:60.32KB
电力系统潮流程序设计.docx
《电力系统潮流程序设计.docx》由会员分享,可在线阅读,更多相关《电力系统潮流程序设计.docx(17页珍藏版)》请在冰豆网上搜索。
电力系统潮流程序设计
潮流程序的设计与开发
1数据结构的设计
要求:
将设备铭牌参数和有名值作为原始输入数据,潮流结果以有名值的形
式输出
各节点编号
节点电压的幅值节点电压的相角
平衡节点
节点类型PQ节点
PV节点
输入数据
支路编号
支路两端节点编号
支路数据支路阻抗
支路对地导纳
变比
短路损耗
变压器数据短路电压百分数
空载损耗
空载电流百分数
支路数据与节点数据分别以一个矩阵的形式输入,矩阵的每一行表示每一个
节点或每一条支路,矩阵的每一列表示不同的参数数据。
电压
输出数据
功率
各节点电压幅值
各节点电压相角
平衡点功率
各支路功率
2变量命名设计
变量名称
程序变量表示
变量名称
程序变量表示
节点导纳矩阵
Y
无功功率
Q
电导
G
视在功率
S
电钠
B
雅克比矩阵
J
电压幅值
V
平衡节点编号
SW
电压相角
delta
有功不平衡量
dP
有功功率
P
无功不平衡量
dQ
电压相角修正量
ddelta
电压幅值修正量
dV
3程序流程图
启动
输入原始数据
形成节点导纳矩阵
设节点电压初值
计算有功功率和无功功率的不平衡量
解修正方程式,得
到各电压的修正量
V判断是否收敛
Y
计算平衡节点功率
和线路功率
停止
4程序代码
4.1主程序
n=input('请输入节点数:
n=');
l=input('请输入支路数:
1=');
%支路数不要包括三绕组变压器
sw=input('请输入平衡节点号:
sw=');
ac=input('请输入误差精度:
ac=');
SB=input('请输入基准功率:
SB=');
B仁input('请输入支路参数:
B仁')
%支路参数节点参数和对地支路参数均以矩阵形式储存
%第一列储存支路编号
%第二列与第三列分别储存支路的两个端点,分别为p,q
%第四列储存支路阻抗
%第五列储存支路对地导纳,注意对地导纳不要除以2
%第六列储存该支路是否含有变压器,有为1,无为0
%第七列储存变压器变比k,p指向q的变压器变比为k:
1,且k大于等于1
%第八列储存变压器短路损耗
%第九列储存变压器短路电压百分数
%第十列储存变压器空载损耗
%第十一列储存变压器空载电流百分数
%第十二列储存变压器低压侧电压
%第十三列储存变压器额定功率
%第十四列储存归算所取基准电压
%注意,将三绕组变压器转换为双绕组变压器输入
A1=input('请输入节点参数:
A仁');
%第一列为节点编号
%第二列为注入发电功率
%第三列为负荷功率
%第四列为节点电压幅值,为方便起见,以标幺值形式表示
%第五列为节点电压相角
%第六列储存节点对地导纳
%第七列为节点的类型,1为PQ节点,2为PV节点,3为平衡节点
%%%首先求解双绕组变压器参数
fori=1:
ifB1(i,6)==1
Zt(i)=B1(i,8)*B1(i,12F2心000*B1(i,13F2);
Xt(i)=B1(i,9)*B1(i,12)A2/(100*B1(i,13));
Gt(i)=B1(i,10)/(1000*B1(i,12)A2);
Bt(i)=B1(i,11)*B1(i,13)/(100*B1(i,12)A2);
end
end
B2(:
1:
7)=B1(:
1:
7);
fori=1:
l
B2(i,8)=Zt(i);
B2(i,9)=Xt(i);
end
fori=1:
l
ifB1(i,6)~=1
ZB(i)=B1(i,14)A2/SB;
YB(i)=1/ZB(i);
B2(i,4)=B1(i,4)/ZB(i);
B2(i,5)=B1(i,5)/YB(i);
end
end
fori=1:
l
ifB1(i,6)==1
ZB(i)=B1(i,14)A2/SB;
YB(i)=1/ZB(i);
B2(i,8)=B2(i,8)/ZB(i);
B2(i,9)=B2(i,9)/ZB(i);
Gt(i)=Gt(i)/YB(i);
Bt(i)=Bt(i)/YB(i);
A1(B1(i,3),6)=Gt(i)-Bt(i)*(1i);
end
end
%%%下面求解节点导纳矩阵
Y=zeros(n);
fori=1:
n
ifA1(i,6)~=0
丫(i,i)=A1(i,6);
end
end
B3=B2;
fori=1:
l
P=B3(i,2);
q=B3(i,3);
ifB3(i,6)==1%%%含有变压器支路支路
丫(p,p)=Y(p,p)+1./((B3(i,8)+B3(i,9)*(1i))*B3(i,7F2);
丫(p,q)=Y(p,q)-1./((B3(i,8)+B3(i,9)*(1i))*B3(i,7));
丫(q,p)=Y(p,q);
丫(q,q)=Y(q,q)+1./((B3(i,8)+B3(i,9)*(1i)));
else%%%无变压器支路
丫(p,p)=Y(p,p)+1./B3(i,4)+B3(i,5)/2;
丫(p,q)=Y(p,q)-1./B3(i,4);
Y(q,p)=Y(p,q);
丫(q,q)=Y(q,q)+1./B3(i,4)+B3(i,5)/2;
end
end
A2=A1;
A2(:
2)=A1(:
2)/SB;
A2(:
3)=A1(:
3)/SB;%功率参数标幺化
G=real(Y);
B=imag(Y);
S=A2(:
2)-A2(:
3)
P=real(S);
Q=imag(S);
V=A2(:
4);
delta=A2(:
5);
DeltaS=bphl(n,sw,A2,V,G,delta,B,P,Q);
J=jcb(G,B,V,delta,n,B3,A2,sw);
[ddelta,dV]=xzl(n,J,DeltaS,A2);
e=1;
while(max(ddelta)>ac|max(dV)>ac)
a=0;
b=0;
fori=1:
n
switchA2(i,7)
case1
delta(i)=delta(i)+ddelta(i-b);
V(i)=V(i)+dV(i-a-b);
case2
delta(i)=delta(i)+ddelta(i-b);
V(i)=V(i);
a=a+1;
case3
delta(i)=delta(i);
V(i)=V(i);
b=b+1;
end
end
DeltaS=bphl(n,sw,A2,V,G,delta,B,P,Q);
J=jcb(G,B,V,delta,n,B3,A2,sw);
[ddelta,dV]=xzl(n,J,DeltaS,A2);
e=e+1;
end
V
delta
e
%%%%下面求平衡节点功率
v=V.*cos(delta)+V.*sin(delta)*(1i);
forj=1:
n
yu(j)=conj(Y(sw,j))*conj(v(j));
end
S(sw)=sum(yu)*v(sw);
input('平衡节点的功率为');
S(sw)
B2(sw,1)=S(sw);
%%%%下面求解线路功率
fori=1:
n
forj=1:
n
Sl(i,j)=v(i)*(conj(v(i))*conj(A2(i,6))+conj(v(i)-v(j))*conj(-Y(i,j)));end
end
input('线路功率为');
SI
%%%%线路上损耗的功率
fori=1:
n
forj=1:
n
DertaS1(i,j)=(SI(i,j)+SI(j,i))/2;
end
end
input('线路上损耗的功率为');
DertaSz=sum(sum(DertaS1))
4.2计算功率不平衡量程序
functionDeltaS=bphl(n,sw,A2,V,G,delta,B,P,Q)
%计算功率不平衡量
fori=1:
n
ifA2(i,7)~=sw
EP(i)=0;
EQ(i)=0;
forj=1:
n
EP(i)=EP(i)+V(i)*V(j)*(G(i,j)*cos(delta(i)-delta(j))+B(i,j)*sin(delta(i)-delta(j)));
EQ(i)=EQ(i)+V(i)*V(j)*(G(i,j)*sin(delta(i)-delta(j))-B(i,j)*cos(delta(i)-delta(j)));
end
P仁EP(i);
Q1=EQ(i);
ifA2(i,7)==1%PQ节点p=2*i-1;
DeltaS(p)=P(i)-P1;p=p+1;
DeltaS(p)=Q(i)-Q1;else
p=2*i-1;
DeltaS(p)=P(i)-P1;p=p+1;
DeltaS(p)=0;
end
end
end
DeltaS(2*sw-1)=[];
DeltaS(2*sw-1)=[];
fori=1:
n
ifA2(i,7)==2
DeltaS(2*i)=[];
end
end
DeltaS=DeltaS';
End
4.3计算雅克比矩阵程序
function[J]=jcb(G,B,V,delta,n,B3,A2,sw)
%计算雅克比矩阵
fori=1:
n
ifA2(i,7)==1%PQ节点
forj=1:
n
ifj〜=i&j〜=sw
H=V(i)*V(j)*(G(i,j)*sin(delta(i)-delta(j))-B(i,j)*cos(delta(i)-delta(j)));
J仁-V(i)*V(j)*(G(i,j)*cos(delta(i)-delta(j))+B(i,j)*sin(delta(i)-delta(j)));
N=V(i)*V(j)*(G(i,j)*cos(delta(i)-
delta(j))+B(i,j)*sin(delta(i)-delta(j)));
L=V(i)*V(j)*(G(i,j)*sin(delta(i)-delta(j))-B(i,j)*cos(delta(i)-delta(j)));
p=2*i-1;
q=2*j-1;
J(p,q)=H;
m=p+1;
J(m,q)=J1;
q=q+1;
J(p,q)=N;
J(m,q)=L;
elseifj==i&j~=sw
H仁0;
forh=1:
n
H仁H1+(-V(i)*V(h)*(G(i,h)*sin(delta(i)-delta(h))-B(i,h)*cos(delta(i)-delta(h))));
end
H=H1+V(i)*V(i)*(-B(i,i));
J2=0;
forh=1:
n
J2=J2+(V(i)*V(h)*(G(i,h)*cos(delta(i)-delta(h))+B(i,h)*sin(delta(i)-delta(h))));
end
J仁J2-V(i)*V(i)*G(i,i);
N仁0;
forh=1:
n
N仁N1+(V(i)*V(h)*(G(i,h)*cos(delta(i)-delta(h))+B(i,h)*sin(delta(i)-delta(h))));
end
N=N1-V(i)*V(i)*G(i,i)+2*V(i)*V(i)*G(i,i);
L仁0;
forh=1:
n
L仁L1+(V(i)*V(h)*(G(i,h)*sin(delta(i)-delta(h))-B(i,h)*cos(delta(i)-delta(h))));
end
L=L1-V(i)*V(i)*(-B(i,i))-2*V(i)*V(i)*B(i,i);
p=2*i-1;
q=2*j-1;
J(p,q)=H;
m=p+1;
J(m,q)=J1;
q=q+1;
J(p,q)=N;
J(m,q)=L;
end
end
end
end
ifA2(i,7)==2%PV节点
forj=1:
n
ifj〜=i&j〜=sw
H=V(i)*V(j)*(G(i,j)*sin(delta(i)-delta(j))-B(i,j)*cos(delta(i)-
delta(j)));
J仁0;
N=V(i)*V(j)*(G(i,j)*cos(delta(i)-delta(j))+B(i,j)*sin(delta(i)-delta(j)));
L=0;
p=2*i-1;
q=2*j-1;
J(p,q)=H;
m=p+1;
J(m,q)=J1;
q=q+1;
J(p,q)=N;
J(m,q)=L;
elseifj==i&j~=sw
H仁0;
forh=1:
n
H仁H1+(-V(i)*V(h)*(G(i,h)*sin(delta(i)-delta(h))-B(i,h)*cos(delta(i)-delta(h))));
end
H=H1+V(i)*V(i)*(-B(i,i));
J仁0;
N仁0;
forh=1:
n
N仁N1+(V(i)*V(h)*(G(i,h)*cos(delta(i)-delta(h))+B(i,h)*sin(delta(i)-delta(h))));
end
N=N1-V(i)*V(i)*G(i,i)+2*V(i)*V(i)*G(i,i);
L=0;
p=2*i-1;
q=2*j-1;
J(p,q)=H;m=p+1;
J(m,q)=J1;q=q+1;J(p,q)=N;J(m,q)=L;
end
end
end
end
end
a=0;
fori=1:
n
switchA2(i,7)
case1case2
a=a+1;
J(2*i,:
)=[];
J(:
2*i)=[];
case3
J(2*i-1-a,:
)=[];
J(2*i-1-a,:
)=[];
J(:
2*i-1-a)=[];
J(:
2*i-1-a)=[];
end
end
end
4.4计算电压修正量的程序
function[ddelta,dV]=xzl(n,JQeltaS,A2)
%求取电压不平衡量
dX=J\DeltaS;
a=2;
fori=1:
n
switchA2(i,7)
case1
ddelta(i)=dX(a-1);
dV(i)=dX(a);
a=a-0;
a=a+2;
case2
ddelta(i)=dX(a-1);
dV(i)=0;
a=a-1;
a=a+2;
case3
ddelta(i)=0;
dV(i)=0;
a=a-2;
a=a+2;
end
end
a=0;
fori=1:
n
switchA2(i,7)
case1
case2
a=a+1;dV(i)=[];
case3
ddelta(i)=[];dV(i-a)=[];
end
end
end
5程序调试
首先,在MATLAB命令窗口输入主函数名“shuangraozU运行程序,结果
如下:
1力刍盯皆11
3
进而根据提示输入相应参数如下:
eLi3.1£LL1azzu
幷■■去留料:
1=-
iE\TFt5-耳;、t
ilHA?
決壬年應-沈aotn
吐圻■/星电5昌1上“化|
/*iRiV去洱驶穷汀:
输入支路参数矩阵如下:
[1210011665.214189.60.29915.7524615.75;
2232.12+17.2i1.176e-4i00000000220;
3262.65+21.5i1.47e-4i00000000220;
4361.59+12.9i8.82e-5i00000000220;
5370011395.6513.8574.750.044410.518010.5;
6470011243.25-0.950010.518010.5;
7570011256.759.150010.518010.5]
随后输入节点参数矩阵如下:
[115001002;
20100+100i1001;
3001001;
40100+80i1001;
5020+15i1001;
6001003;
7001001]
程序运行计算可得节点导纳矩阵如下:
可见与手算潮流例题中所得的节点导纳矩阵基本一致
计算初次功率不平衡量矩阵如下:
DsltaS=
1.4M1
-1.fl(MO
-th2MO-
计算第一次迭代的雅克比矩阵如下:
1■-ES4B
-i7.ms
-4.3)93
00
0
0
0
◎
0
4
7二584P
r?
・tfifli
-37-TIBM
-3,4]®S
0
0
0
0>
a
G.33S3
-乩4*B9
«7.3)00
3F4tK
0
0
0
Q
0
0
0
-a7bT1B4
-3,416^
77.«9€
B.177S
C
0
0
◎
-12.M3l
-0-2012
0
X410S
»r,7i*4
-8-177#
7T.&6M
C
0
0
0
0.2062
-12,S93i
0
0
a
冲
2S.4183
0
me.7L»
0
0
a
0
d
亠如4⑻
~L«Bi47»6
0
尊
ISB4?
]W
Q
0
9
Q
打
0
Q
-19.«7<
■ELM强
Q
0
QI
0
0
0
D
-aMW
LB<5«74
0.»w
-IB.657X
0
0
a
-I2rW•丸
-Q«20€3
3B&-TLK
-26.41«
-山3H6
-LI3.ass
Q
a
QI
Q-:
05:
-]2+W3l
135.7155
ame
-IB.W74
-Wi9JIL
-153+C5S
计算第一次迭代的电压修正量矩阵如下:
ddeIta=
0.0374QB幽-0.»I55-d.IO«'OULIP・0UMT
曲=
-*.00427-e.(H74-0」<1監-0.](JW
通过收敛条件判断电压修正量是否满足精度要求,若满足,则输出结果,若
不满足,继续迭代。
迭代4次后,满足精度要求,输入电压结果如下:
¥=
1.MC0
a.9730
a
6拥】卩
o.mu
1.0000
a.&7BD
delta■
Q.%03
X期』
-0.0157
-fl.】拗
0
-fl.1239
可见,机算潮流迭代4次后得到的电压结果与手算潮流迭代两次所得的潮流计算结果虽有一定误差,但是收敛的方向和趋势基本相同,进而验证了程序的正确性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电力系统 潮流 程序设计
![提示](https://static.bdocx.com/images/bang_tan.gif)