配电网潮流计算

配电网潮流计算

Copyright© 2018
The PSHPC Authors

功能描述

此服务用于配电网潮流计算,支持前推回推法[1]和回路电流法[2]两种计算方式。本服务同时支持文本数据流输入和对象输入两种方式。
原始算例数据来自PES TestFeeders

[1]: Shirmohammadi D, Hong H W, Semlyen A, et al. A com-pensation-based power flow method for weakly meshed distribution and transmission networks[J]. IEEE Transac-tions on Power Systems, 1988, 3(2):753-762.

[2]: 董树锋, 章杜锡, 周飞,等. 一种基于回路电流法的有源配电网潮流算法[J]. 电力自动化设备, 2018, 38(2):9-17.

服务信息

服务请求

1
2
3
4
service DspfService {
rpc doDspf (DspfData) returns (DspfReply) {
}
}

输入数据封装类为DspfData,输出结果封装类为DspfReply。

输入数据

proto文件定义如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
message DspfData {
bool is_stream = 1;
bytes input_file_stream = 2;
bytes feeder_conf_stream = 3;
repeated OneFeederData feeder_data = 4;
string length_unit = 5; //线路长度单位
repeated OneSpotLoadData spot_load_data = 6;
repeated OneDisLoadData dis_load_data = 7;
repeated OneShuntCapacitorData shunt_capacitor_data = 8;
repeated OneTransformerData transformer_data = 9;
repeated OneRegulatorData regulator_data = 10;
repeated OneDgData dg_data = 11;
repeated OneSwitchData switch_data = 12;
repeated OneFeederConfData feeder_conf_data = 13;
string kV_base = 14;
string slackCnId = 15;
string conf_length_unit = 16;
bool is_lcb_method = 17;
}

在该输入数据中,若采用文件数据流方式,则只需要1、2、3、14、15号数据;若采用对象方式则需要1、4-16号数据。
具体含义如下:

  1. is_stream:是否采用流传输方式
  2. input_file_stream:输入文件的字节流
  3. feeder_conf_stream:线路参数文件的字节流
  4. feeder_data:线路数据
    1. connected_node:相连节点编号
    2. line_length:线路长度
    3. line_configure:对应的线路参数
1
2
3
4
5
message OneFeederData { 
string connected_node = 1;
string line_length = 2;
string line_configure = 3;
}
  1. length_unit:线路长度单位,主要有feetmilemeterkilometer
  2. spot_load_data:负荷数据
    1. connected_node:相连节点编号
    2. load_model:负荷类型,主要有Y-PQY-IY-ZD-PQD-ID-Z
    3. load_kW1:A相有功功率
    4. load_kVar1:A相无功功率
    5. load_kW2:B相有功功率
    6. load_kVar2:B相无功功率
    7. load_kW3:C相有功功率
    8. load_kVar3:C相无功功率B
1
2
3
4
5
6
7
8
9
10
message OneSpotLoadData { 
string connected_node = 1;
string load_model = 2; //负荷类型
string load_kW1 = 3; //A相有功
string load_kVar1 = 4; //A相无功
string load_kW2 = 5;
string load_kVar2 = 6;
string load_kW3 = 7;
string load_kVar3 = 8;
}
  1. dis_load_data:分布式负荷数据
    1. connected_node:相连节点编号,两个节点用-进行连接
    2. load_model:负荷类型,主要有Y-PQY-IY-ZD-PQD-ID-Z
    3. load_kW1:A相有功功率
    4. load_kVar1:A相无功功率
    5. load_kW2:B相有功功率
    6. load_kVar2:B相无功功率
    7. load_kW3:C相有功功率
    8. load_kVar3:C相无功功率B
1
2
3
4
5
6
7
8
9
10
message OneDisLoadData { 
string connected_node = 1;
string load_model = 2;
string load_kW1 = 3;
string load_kVar1 = 4;
string load_kW2 = 5;
string load_kVar2 = 6;
string load_kW3 = 7;
string load_kVar3 = 8;
}
  1. shunt_capacitor_data:并联电容器数据
    1. connected_node:相连节点编号
    2. load_kVar1:A相无功功率
    3. load_kVar2:B相无功功率
    4. load_kVar3:C相无功功率
1
2
3
4
5
6
message OneShuntCapacitorData { 
string connected_node = 1;
string load_kVar1 = 2;
string load_kVar2 = 3;
string load_kVar3 = 4;
}
  1. transformer_data:变压器数据
    1. connected_node:相连节点编号
    2. kVA_s_tf:额定容量
    3. connect_type:连接类型,主要有Gr.Y-Gr.YD-DD-Gr.YY-D
    4. kV_high:高压侧额定电压
    5. kV_low:低压侧额定电压
    6. pu_r_tf:短路电阻标幺值
    7. pu_x_tf:短路电抗标幺值
1
2
3
4
5
6
7
8
9
message OneTransformerData { 
string connected_node = 1;
string kVA_s_tf = 2;
string connect_type = 3;
string kV_high = 4;
string kV_low = 5;
string pu_r_tf = 6;
string pu_x_tf = 7;
}
  1. regulator_data:调压器数据
    1. connected_node:相连节点编号
    2. location:放置地点
    3. phases:相
    4. connect_type:连接类型
    5. monitoring_phases:测量相
    6. bandwidth:带宽
    7. rg_pt_num:电压互感器匝数比
    8. rg_ct_num:电流互感器匝数比
    9. ra_rg:A相等值电阻
    10. xa_rg:A相等值电抗
    11. rb_rg:B相等值电阻
    12. xb_rg:B相等值电抗
    13. rc_rg:C相等值电阻
    14. xc_rg:C相等值电抗
    15. vla_rg:A相期望调节点的电压
    16. vlb_rg:B相期望调节点的电压
    17. vlc_rg:C相期望调节点的电压
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
message OneRegulatorData { 
string connected_node = 1;
string location = 2;
string phases = 3;
string connect_type = 4;
string monitoring_phases = 5;
string bandwidth = 6;
string rg_pt_num = 7;
string rg_ct_num = 8;
string ra_rg = 9;
string xa_rg = 10;
string rb_rg = 11;
string xb_rg = 12;
string rc_rg = 13;
string xc_rg = 14;
string vla_rg = 15;
string vlb_rg = 16;
string vlc_rg = 17;
}
  1. dg_data:分布式电源数据
    1. connected_node:相连节点编号
    2. dg_model:分布式电源类型,主要有IMPV
    3. connect_type:连接方式
      对于PV节点有:
    4. pv_p_kW1:A相有功
    5. pv_p_kW2:B相有功
    6. pv_p_kW3:C相有功
    7. pv_v_kV1:A相电压
    8. pv_v_kV2:B相电压
    9. pv_v_kV3:C相电压
      对于异步电机有:
    10. im_base_kVA:额定容量
    11. im_base_kV:额定电压
    12. im_p:额定出力
    13. im_rs:定子侧等效电阻
    14. im_xs:定子侧等效电抗
    15. im_rr:转子侧等效电阻
    16. im_xr:转子侧等效电抗
    17. im_xm:励磁电抗
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
message OneDgData {
string connected_node = 1;
string dg_model = 2;
string connect_type = 3;
string pv_p_kW1 = 4;
string pv_p_kW2 = 5;
string pv_p_kW3 = 6;
string pv_v_kV1 = 7;
string pv_v_kV2 = 8;
string pv_v_kV3 = 9;
string im_base_kVA = 10;
string im_base_kV = 11;
string im_p = 12;
string im_rs = 13;
string im_xs = 14;
string im_rr = 15;
string im_xr = 16;
string im_xm = 17;
}
  1. switch_data:开关数据
    1. connected_node:相连节点编号
    2. switch_status:开关状态,分为onoff
1
2
3
4
message OneSwitchData { 
string connected_node = 1;
string switch_status = 2;
}
  1. feeder_conf_data:线路参数数据
    1. line_configure:线路参数标记,这里对应OneFeederData的第三个类型
    2. r11~`r33`:单位线路阻抗矩阵的实部
    3. x11~`x33`:单位线路阻抗矩阵的虚部
    4. b11~`b33`:单位线路对地电纳矩阵
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
message OneFeederConfData { 
string line_configure = 1;
string r11 = 2;
string x11 = 3;
string r12 = 4;
string x12 = 5;
string r13 = 6;
string x13 = 7;
string r21 = 8;
string x21 = 9;
string r22 = 10;
string x22 = 11;
string r23 = 12;
string x23 = 13;
string r31 = 14;
string x31 = 15;
string r32 = 16;
string x32 = 17;
string r33 = 18;
string x33 = 19;
string b11 = 20;
string b12 = 21;
string b13 = 22;
string b21 = 23;
string b22 = 24;
string b23 = 25;
string b31 = 26;
string b32 = 27;
string b33 = 28;
}
  1. kV_base:基准电压
  2. slackCnId:根节点编号
  3. conf_length_unit:单位线路参数的长度单位,主要有feetmilemeterkilometer
  4. is_lcb_method:是否为回路电流法,若为false则使用前推回推法

输出数据

proto文件定义如下:

1
2
3
4
5
message DspfReply { 
repeated OneBusVResult busV_result = 1;
repeated OneBranchResult branch_result = 2;
bool is_converged = 3;
}

具体含义如下:

  1. busV_result:节点电压计算结果
    1. node:相连节点编号
    2. voltage_kV1:A相电压幅值
    3. voltage_kV2:B相电压幅值
    4. voltage_kV3:C相电压幅值
    5. theta_1:A相电压相角
    6. theta_2:B相电压相角
    7. theta_3:C相电压相角
1
2
3
4
5
6
7
8
9
message OneBusVResult { 
string node = 1;
string voltage_kV1 = 2;
string voltage_kV2 = 3;
string voltage_kV3 = 4;
string theta_1 = 5;
string theta_2 = 6;
string theta_3 = 7;
}
  1. branch_result:线路潮流计算结果
    1. branch:线路编号
    2. from_kW1:始端A相有功功率
    3. from_kVar1:始端A相无功功率
    4. from_kW2:始端B相有功功率
    5. from_kVar2:始端B相无功功率
    6. from_kW3:始端C相有功功率
    7. from_kVar3:始端C相无功功率
    8. to_kW1:末端A相有功功率
    9. to_kVar1:末端A相无功功率
    10. to_kW2:末端B相有功功率
    11. to_kVar2:末端B相无功功率
    12. to_kW3:末端C相有功功率
    13. to_kVar3:末端C相无功功率
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
message OneBranchResult { 
string branch = 1;
string from_kW1 = 2;
string from_kVar1 = 3;
string from_kW2 = 4;
string from_kVar2 = 5;
string from_kW3 = 6;
string from_kVar3 = 7;
string to_kW1 = 8;
string to_kVar1 = 9;
string to_kW2 = 10;
string to_kVar2 = 11;
string to_kW3 = 12;
string to_kVar3 = 13;
}
  1. is_converged:是否收敛

错误信息

不同类型异常抛出含义如下:

  1. FileFormatException:算例输入文件格式异常
  2. FeederConfFormatException:线路数据格式异常
  3. CaseTooLargeException:算例超出计算规模限制
  4. NotConvergedException:计算不收敛
  5. OtherErrorException:其他异常

注意事项

  1. 本服务暂为试运行状态,可能存在潜在的正确性和稳定性问题。
  2. 若对于本服务有任何疑问或者建议,请联系作者garrybest@foxmail.com