节点类型 标号
PQ节点 1
PV节点 2 发电机节点 bus data中
slack节点 3 V
case14
发电机节点
%% generator data
% bus Pg Qg Qmax Qmin Vg mBase status Pmax Pmin Pc1 Pc2 Qc1min Qc1max Qc2min Qc2max ramp_agc ramp_10 ramp_30 ramp_q apf
mpc.gen = [
1 232.4 -16.9 10 0 1.06 100 1 332.4 0 0 0 0 0 0 0 0 0 0 0 0;
2 40 42.4 50 -40 1.045 100 1 140 0 0 0 0 0 0 0 0 0 0 0 0;
3 0 23.4 40 0 1.01 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0;
6 0 12.2 24 -6 1.07 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0;
8 0 17.4 24 -6 1.09 100 1 100 0 0 0 0 0 0 0 0 0 0 0 0;
发电机节点:
Pg Qg :发电机的初始出力
Qmax Qmin:无功大小(只有在无功充足的情况下,才能保持端电压不变)
Vg:端电压 mBase:基准功率
status:发电机的状态 1代表开机 0 检修状态
Pmax Pmin:发电机有功出力的上下限
后边的数据代表机组在特殊情况下功率上下限(做潮流,不用管后边的)
支路数据
%% branch data
% fbus tbus r x b rateA rateB rateC ratio angle status angmin angmax
mpc.branch = [
1 2 0.01938 0.05917 0.0528 0 0 0 0 0 1 -360 360;
1 5 0.05403 0.22304 0.0492 0 0 0 0 0 1 -360 360;
2 3 0.04699 0.19797 0.0438 0 0 0 0 0 1 -360 360;
2 4 0.05811 0.17632 0.034 0 0 0 0 0 1 -360 360;
2 5 0.05695 0.17388 0.0346 0 0 0 0 0 1 -360 360;
3 4 0.06701 0.17103 0.0128 0 0 0 0 0 1 -360 360;
4 5 0.01335 0.04211 0 0 0 0 0 0 1 -360 360;
4 7 0 0.20912 0 0 0 0 0.978 0 1 -360 360;
4 9 0 0.55618 0 0 0 0 0.969 0 1 -360 360;
5 6 0 0.25202 0 0 0 0 0.932 0 1 -360 360;
6 11 0.09498 0.1989 0 0 0 0 0 0 1 -360 360;
6 12 0.12291 0.25581 0 0 0 0 0 0 1 -360 360;
6 13 0.06615 0.13027 0 0 0 0 0 0 1 -360 360;
7 8 0 0.17615 0 0 0 0 0 0 1 -360 360;
7 9 0 0.11001 0 0 0 0 0 0 1 -360 360;
9 10 0.03181 0.0845 0 0 0 0 0 0 1 -360 360;
9 14 0.12711 0.27038 0 0 0 0 0 0 1 -360 360;
10 11 0.08205 0.19207 0 0 0 0 0 0 1 -360 360;
12 13 0.22092 0.19988 0 0 0 0 0 0 1 -360 360;
13 14 0.17093 0.34802 0 0 0 0 0 0 1 -360 360;
];
fbus tbus:首段和某段节点 1 2 表示 12之间有一条支路相连接
r x b : 电阻 电抗 电纳
rateA rateB rateC:平时 紧急 事故 情况下 可以流过的最大载流量(风险分析会用到)
ratio:变压器变比
status:支路状态 1 支路闭合 0 模拟故障断开
发电机经济性参数
%% generator cost data
% 1 startup shutdown n x1 y1 ... xn yn
% 2 startup shutdown n c(n-1) ... c0
mpc.gencost = [
2 0 0 3 0.0430292599 20 0;
2 0 0 3 0.25 20 0;
2 0 0 3 0.01 40 0;
2 0 0 3 0.01 40 0;
2 0 0 3 0.01 40 0;
];
第一行 2:分段线性化分成两段
2 3 行: 启停机的费用
4 5 6 行: 线性化 ,发电机燃料费用为二次函数p^2+bp+ac(课本 等耗量微增率)
runpf('case14') 运行结果讲解
节点数:14个
发电机最大功率是:P 772.4 (MW) 负荷 259.0
网损: Losses (I^2 * Z) 有功 13.39 无功 54.54
变压器 :3台
电压幅值最小的点1.010 p.u. 在3节点
最大有功网损 无功网损 发生在1-2支路
电压幅值 相角
发电机 有功无功
负载有功无功
以及他们的累计值
节点情况能看出电压是否越线(0.95 1.05)
支路情况 可以看出 注入支路功率是多少 以及流出功率
From Bus Injection --- To Bus Injection === Loss
单独一条支路的叫线路损耗,加一起叫网络损耗
想知道节点电压、支路潮流 怎么做?????
这些字段描述了潮流分析(power flow analysis)的结果,各个字段的具体含义如下:
results.success
:成功标志,1 表示成功,0 表示失败。results.et
:求解所需的计算时间。results.iterations
:求解所需的迭代次数。results.order
:关于该字段的详细信息请参见ext2int
帮助。results.bus(:, VM)
:节点电压幅值。 第8列results.bus(:, VA)
:节点电压角度。results.gen(:, PG)
:发电机有功功率注入量。第2列results.gen(:, QG)
:发电机无功功率注入量。第3列results.branch(:, PF)
:支路起点有功功率注入量。第14列results.branch(:, PT)
:支路终点有功功率注入量。第16列results.branch(:, QF)
:支路起点无功功率注入量。第15列results.branch(:, QT)
:支路终点无功功率注入量。第17列
results = runpf('case14');
figure
%bar(results.bus(:, 9)) %相角
bar(results.bus(:, 8)) %幅值
xlabel('节点')
ylabel('电压 p.u.') %标幺值
title('case14 的电压情况')
支路潮流
P_br = max(abs(results.branch(:, 14)), abs(results.branch(:, 16)));
figure
plot(P_br, 'k-o')
xlabel('支路编号')
ylabel('有功功率p.u.')
title('case14的电压情况')
%%输出网损
P_bloss = results.branch(:, 14)+results.branch(:, 16);
figure
plot(P_br, 'k-o')
xlabel('支路编号')
ylabel('有功功率p.u.')
title('case14的潮流情况')
disp('电网网络损耗')
ssum(P_bloss)