IEEE9节点系统的BPA仿真DAT数据:
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 |
(POWERFLOW,CASEID=IEEE9,PROJECT=IEEE_9BUS_TEST_SYSTEM) /SOL_ITER,DECOUPLED=2,NEWTON=15,OPITM=0\ ./P_INPUT_LIST,ZONES=ALL\ /P_OUTPUT_LIST,ZONES=ALL\ /RPT_SORT=ZONE\ /NEW_BASE,FILE=IEEE90.BSE\ /PF_MAP,FILE = IEEE90.MAP\ /NETWORK_DATA\ BS 发电机1 16.501 999. 999. 1.01 B 母线1 230.01 B 母线A 230.01 125. 70.0 20. B 母线B 230.01 90. 40.0 10. B 母线C 230.01 100. 55.0 20. B 母线2 230.01 35.0 10.0 BE 发电机2 18.001 163. 999 1.01 B 母线3 230.01 BE 发电机3 13.801 85. 999. 1.01 .L ----------------- transmission lines ---------------------------- L 母线1 230. 母线A 230. .0100 .0850 .0440 L 母线1 230. 母线B 230. .0170 .0920 .0395 L 母线A 230. 母线2 230. .0320 .1610 .0765 L 母线B 230. 母线3 230. .0390 .1700 .0895 L 母线2 230. 母线C 230. .0085 .0720 .03725 L 母线C 230. 母线3 230. .0119 .1008 .05225 .T ----- transformers --------- T 发电机1 16.5 母线1 230. .0567 16.5 242. T 发电机2 18.0 母线2 230. .0625 18.0 242. T 发电机3 13.8 母线3 230. .0586 13.8 242. (END) |
节点数据信息:
节点名称 | 电压等级_kV | 类型 | 恒定有功负荷_MW | 恒定无功负荷_Mvar | 并联有功负荷_MW | 并联无功负荷_Mvar | 有功出力_MW | 最大无功出力_Mvar | 安排电压标幺值_pu |
---|---|---|---|---|---|---|---|---|---|
Gen1 | 16.5 | Vθ | 999 | 1.01 | |||||
Gen2 | 18 | PV | 163 | 999 | 1.01 | ||||
Gen3 | 13.8 | PV | 85 | 999 | 1.01 | ||||
Bus1 | 230 | PQ | |||||||
Bus2 | 230 | PQ | 35 | 10 | |||||
Bus3 | 230 | PQ | |||||||
BusA | 230 | PQ | 125 | 70 | 20 | ||||
BusB | 230 | PQ | 90 | 40 | 10 | ||||
BusC | 230 | PQ | 100 | 55 | 20 |
pandapower.create_ext_grid()函数用来创建Slack平衡节点,pandapower.create_gen()函数用来创建PV节点。并联无功负荷若是容性无功,则pandapower.create_shunt()函数中的q_mvar参数填写的值为负。
变压器支路数据信息:
首端 | 电压等级_kV | 末端 | 电压等级_kV | 铜损电阻_pu | 漏抗_pu | 铁损电导_pu | 激磁电纳_pu | 首端抽头_kV | 末端抽头_kV |
---|---|---|---|---|---|---|---|---|---|
Gen1 | 16.5 | Bus1 | 230 | 0.0567 | 16.5 | 242 | |||
Gen2 | 18 | Bus2 | 230 | 0.0625 | 18 | 242 | |||
Gen3 | 13.8 | Bus3 | 230 | 0.0586 | 13.8 | 242 |
BPA数据中,变压器的容量基准值与系统容量基准值取值一样,为100MW。因末端分接头位置在242kV,需要设置分接头位置,若242kV对应分接头位置在+3档,则每档调节电压百分比为(242-230)/230/3=1.74%。
线路支路数据信息:
首端 | 电压等级_kV | 末端 | 电压等级_kV | 长度_km | 电阻_pu | 电阻_Ω/km | 电抗_pu | 电抗_Ω/km | 1/2对地电纳_pu | 对地电容_nF/km |
---|---|---|---|---|---|---|---|---|---|---|
Bus1 | 230 | BusA | 230 | 1 | 0.01 | 5.29 | 0.085 | 44.965 | 0.044 | 530 |
Bus1 | 230 | BusB | 230 | 1 | 0.017 | 8.993 | 0.092 | 48.668 | 0.0395 | 475 |
Bus2 | 230 | BusA | 230 | 1 | 0.032 | 16.928 | 0.161 | 85.169 | 0.0765 | 921 |
Bus2 | 230 | BusC | 230 | 1 | 0.0085 | 4.4965 | 0.072 | 38.088 | 0.03725 | 448 |
Bus3 | 230 | BusB | 230 | 1 | 0.039 | 20.631 | 0.17 | 89.93 | 0.0895 | 1077 |
Bus3 | 230 | BusC | 230 | 1 | 0.0119 | 6.2951 | 0.1008 | 53.3232 | 0.05225 | 629 |
BPA数据中,支路参数中的电阻(pu)、电抗(pu)、1/2对地电纳(pu)填写的是整条线路的集中参数,而不是单位长度参数,若设线路长度为1km,则BPA线路参数可认为是单位长度参数,若长度值设为其它,则需要根据原填写的BPA数据折算出单位长度参数填写至pandapower.create_line_from_parameters()中创建线路。在此,所有线路长度设为1km,参数不用折算,对仿真结果无影响。在计算线路参数有名值时,功率基准值为100MW,电压基准值为230kV,阻抗基准值为529Ω。
使用pandapower仿真IEEE9节点系统的潮流程序如下:
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# -*- coding: utf-8 -*- import pandapower as pp import pandapower.plotting # 1.6->2.0的变化: # [CHANGED] units from kW/kVAr/kVA to MW/MVAr/MVA in all elements #73 net = pp.create_empty_network(f_hz=50.0, sn_mva=100.) # 母线节点参数 GEN1 = pp.create_bus(net, vn_kv=16.5, name="GEN 1", geodata=(0,0)) GEN2 = pp.create_bus(net, vn_kv=18.0, name="GEN 2", geodata=(6,0)) GEN3 = pp.create_bus(net, vn_kv=13.8, name="GEN 3", geodata=(3,-5)) BUS1 = pp.create_bus(net, vn_kv=230., name="BUS 1", geodata=(1,0)) BUS2 = pp.create_bus(net, vn_kv=230., name="BUS 2", geodata=(5,0)) BUS3 = pp.create_bus(net, vn_kv=230., name="BUS 3", geodata=(3,-4)) BUSA = pp.create_bus(net, vn_kv=230., name="BUS A", geodata=(3,0)) BUSB = pp.create_bus(net, vn_kv=230., name="BUS B", geodata=(2,-2)) BUSC = pp.create_bus(net, vn_kv=230., name="BUS C", geodata=(4,-2)) # 发电机参数 pp.create_ext_grid(net, bus=GEN1, vm_pu=1.01, name="Gen 1") # Slack # 在1.6中,p_mw取负值;在2.0中,p_mw取正值 # [CHANGED] signing system from load to generation in gen, sgen and ext_grid #208 pp.create_gen(net, bus=GEN2, p_mw=163, vm_pu=1.01) # PV pp.create_gen(net, bus=GEN3, p_mw=85, vm_pu=1.01) # PV # 负荷参数 pp.create_load(net, bus=BUSA, p_mw=125, q_mvar=70, name="Load 1") pp.create_load(net, bus=BUS2, p_mw=35, q_mvar=10, name="Load 2") pp.create_load(net, bus=BUSB, p_mw=90, q_mvar=40, name="Load 3") pp.create_load(net, bus=BUSC, p_mw=100, q_mvar=55, name="Load 4") # 并联导纳无功负荷 pp.create_shunt(net, BUSA, q_mvar=-20) pp.create_shunt(net, BUSB, q_mvar=-10) pp.create_shunt(net, BUSC, q_mvar=-20) # 变压器参数 # 1.6->2.0的变化: # [CHANGED] all trafo tap parameters from ‘tp’ to ‘tap’, tp_mid to tap_neutral #246 # [CHANGED] all trafo short-circuit voltage parameter names from “vsc” to “vk” #246 T1 = pp.create_transformer_from_parameters(net, sn_mva=100, hv_bus=BUS1, lv_bus=GEN1, vn_hv_kv=230, vn_lv_kv=16.5, vk_percent=5.67, vkr_percent=0, i0_percent=0, pfe_kw=0, tap_side='hv', tap_pos=3, tap_neutral=0, tap_step_percent=1.74, name="Trafo 1") T2 = pp.create_transformer_from_parameters(net, sn_mva=100, hv_bus=BUS2, lv_bus=GEN2, vn_hv_kv=230, vn_lv_kv=18, vk_percent=6.25, vkr_percent=0, i0_percent=0, pfe_kw=0, tap_side='hv', tap_pos=3, tap_neutral=0, tap_step_percent=1.74, name="Trafo 2") T3 = pp.create_transformer_from_parameters(net, sn_mva=100, hv_bus=BUS3, lv_bus=GEN3, vn_hv_kv=230, vn_lv_kv=13.8, vk_percent=5.86, vkr_percent=0, i0_percent=0, pfe_kw=0, tap_side='hv', tap_pos=3, tap_neutral=0, tap_step_percent=1.74, name="Trafo 3") # 线路参数 L1A = pp.create_line_from_parameters(net, from_bus=BUS1, to_bus=BUSA, length_km=1, r_ohm_per_km=5.29, x_ohm_per_km=44.965, c_nf_per_km=530, max_i_ka=1, name="Line 1A", geodata=[[1,0],[3,0]]) L1B = pp.create_line_from_parameters(net, from_bus=BUS1, to_bus=BUSB, length_km=1, r_ohm_per_km=8.993, x_ohm_per_km=48.668, c_nf_per_km=475, max_i_ka=1, name="Line 1B", geodata=[[1,0],[1,-1],[2,-1],[2,-2]]) L2A = pp.create_line_from_parameters(net, from_bus=BUS2, to_bus=BUSA, length_km=1, r_ohm_per_km=16.928, x_ohm_per_km=85.169, c_nf_per_km=921, max_i_ka=1, name="Line 2A", geodata=[[5,0],[3,0]]) L2C = pp.create_line_from_parameters(net, from_bus=BUS2, to_bus=BUSC, length_km=1, r_ohm_per_km=4.4965, x_ohm_per_km=38.088, c_nf_per_km=448, max_i_ka=1, name="Line 2C", geodata=[[5,0],[5,-1],[4,-1],[4,-2]]) L3B = pp.create_line_from_parameters(net, from_bus=BUS3, to_bus=BUSB, length_km=1, r_ohm_per_km=20.631, x_ohm_per_km=89.93, c_nf_per_km=1077, max_i_ka=1, name="Line 3B", geodata=[[3,-4],[2,-4],[2,-2]]) L3C = pp.create_line_from_parameters(net, from_bus=BUS3, to_bus=BUSC, length_km=1, r_ohm_per_km=6.2951, x_ohm_per_km=53.3232, c_nf_per_km=628, max_i_ka=1, name="Line 3C", geodata=[[3,-4],[4,-4],[4,-2]]) # 其它:开关 # 1.6->2.0的变化: # [ADDED] z_ohm parameter in net.switch to assign resistance to switches #259 pp.create_switch(net, bus=GEN1, element=T1, et='t', closed=True, type='CB') pp.create_switch(net, bus=GEN2, element=T2, et='t', closed=True, type='CB') pp.create_switch(net, bus=GEN3, element=T3, et='t', closed=True, type='CB') pp.create_switch(net, bus=BUS1, element=T1, et='t', closed=True, type='CB') pp.create_switch(net, bus=BUS1, element=L1A, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUS1, element=L1B, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUS2, element=T2, et='t', closed=True, type='CB') pp.create_switch(net, bus=BUS2, element=L2A, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUS2, element=L2C, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUS3, element=T3, et='t', closed=True, type='CB') pp.create_switch(net, bus=BUS3, element=L3B, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUS3, element=L3C, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUSA, element=L1A, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUSA, element=L2A, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUSB, element=L1B, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUSB, element=L3B, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUSC, element=L2C, et='l', closed=True, type='CB') pp.create_switch(net, bus=BUSC, element=L3C, et='l', closed=True, type='CB') pp.runpp(net, max_iteration=15) pandapower.plotting.simple_plot(net, plot_line_switches=True) pp.to_excel(net, "IEEE9.xlsx") |
潮流计算结果与https://wenku.baidu.com/view/4ab6c30d7cd184254b3535a1.html一致,绘图结果如下:
Speak Your Mind