(完整版)电力系统潮流程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

潮流程序的设计与开发

1 数据结构的设计

要求:将设备铭牌参数和有名值作为原始输入数据,潮流结果以有名值的形式输出。

PQ PV ⎧⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪

⎪⎪⎧⎪⎪⎪⎪⎨⎪

⎪⎪⎪

⎩⎩⎪

⎪⎧⎪⎪⎪⎪⎪⎪⎨

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪

⎪⎪⎨⎪

⎪⎪

⎪⎪

⎪⎧⎪

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩⎩⎩

各节点编号

节点电压的幅值节点电压的相角注入发电功率节点数据负荷功率

平衡节点节点类型节点节点输入数据支路编号支路两端节点编号支路数据支路阻抗支路对地导纳变比短路损耗变压器数据短路电压百分数空载损耗空载电流百分数 支路数据与节点数据分别以一个矩阵的形式输入,矩阵的每一行表示每一个节点或每一条支路,矩阵的每一列表示不同的参数数据。

⎧⎧⎨⎪⎪⎩⎨⎧⎪⎨⎪

⎩⎩

各节点电压幅值

电压各节点电压相角

输出数据平衡点功率

功率各支路功率

2 变量命名设计

3 程序流程图

启动

输入原始数据

形成节点导纳矩阵

设节点电压初值

计算有功功率和无功功率的不平衡量

Jacobian矩阵是否形成,i>n?

N

计算Jacobian矩阵元素

增大节点编号i=i+1

N

Y

解修正方程式,得

到各电压的修正量

判断是否收敛

Y

计算平衡节点功率

和线路功率

停止

4 程序代码

4.1 主程序

n=input('请输入节点数:n=');

l=input('请输入支路数:l=');

%支路数不要包括三绕组变压器

sw=input('请输入平衡节点号:sw=');

ac=input('请输入误差精度:ac=');

SB=input('请输入基准功率:SB=');

B1=input('请输入支路参数:B1=')

%支路参数节点参数和对地支路参数均以矩阵形式储存

%第一列储存支路编号

%第二列与第三列分别储存支路的两个端点,分别为p,q

%第四列储存支路阻抗

%第五列储存支路对地导纳,注意对地导纳不要除以2

%第六列储存该支路是否含有变压器,有为1,无为0

%第七列储存变压器变比k,p指向q的变压器变比为k:1,且k大于等于1 %第八列储存变压器短路损耗

%第九列储存变压器短路电压百分数

%第十列储存变压器空载损耗

%第十一列储存变压器空载电流百分数

%第十二列储存变压器低压侧电压

%第十三列储存变压器额定功率

%第十四列储存归算所取基准电压

%注意,将三绕组变压器转换为双绕组变压器输入

A1=input('请输入节点参数:A1=');

%第一列为节点编号

%第二列为注入发电功率

%第三列为负荷功率

%第四列为节点电压幅值,为方便起见,以标幺值形式表示

%第五列为节点电压相角

%第六列储存节点对地导纳

%第七列为节点的类型,1为PQ节点,2为PV节点,3为平衡节点

%%%首先求解双绕组变压器参数

for i=1:l

if B1(i,6)==1

Zt(i)=B1(i,8)*B1(i,12)^2/(1000*B1(i,13)^2);

Xt(i)=B1(i,9)*B1(i,12)^2/(100*B1(i,13));

Gt(i)=B1(i,10)/(1000*B1(i,12)^2);

Bt(i)=B1(i,11)*B1(i,13)/(100*B1(i,12)^2);

end

end

B2(:,1:7)=B1(:,1:7);

for i=1:l

B2(i,8)=Zt(i);

B2(i,9)=Xt(i);

end

for i=1:l

if B1(i,6)~=1

ZB(i)=B1(i,14)^2/SB;

YB(i)=1/ZB(i);

B2(i,4)=B1(i,4)/ZB(i);

B2(i,5)=B1(i,5)/YB(i);

end

end

for i=1:l

if B1(i,6)==1

ZB(i)=B1(i,14)^2/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);

for i=1:n

if A1(i,6)~=0

Y(i,i)=A1(i,6);

end

end

B3=B2;

for i=1:l

p=B3(i,2);

q=B3(i,3);

if B3(i,6)==1 %%%含有变压器支路支路

Y(p,p)=Y(p,p)+1./((B3(i,8)+B3(i,9)*(1i))*B3(i,7)^2);

Y(p,q)=Y(p,q)-1./((B3(i,8)+B3(i,9)*(1i))*B3(i,7));

Y(q,p)=Y(p,q);

Y(q,q)=Y(q,q)+1./((B3(i,8)+B3(i,9)*(1i)));

else%%% 无变压器支路

Y(p,p)=Y(p,p)+1./B3(i,4)+B3(i,5)/2;

Y(p,q)=Y(p,q)-1./B3(i,4);

Y(q,p)=Y(p,q);

Y(q,q)=Y(q,q)+1./B3(i,4)+B3(i,5)/2;

end

end

Y

相关文档
最新文档