Engee 文档
Notebook

具有接地中性线的网络中的电源线短路

模型描述

这个例子考虑了一个带有死地中性线的电力系统,该系统由两条带双向电源的架空线路和一条死端线路组成,在该线路末端发生短路(短路),然后断开(默认情况下,该模型在a相中有一个单相接地短路)。 展示了使用命令控制从脚本开发环境启动模型、处理仿真结果、计算对称分量、可视化仿真结果以及提供与模型独立工作的场景的过程。 记录三个测量点的电流和电压值,显示它们的时间图和矢量图,并执行Fortescue变换以计算对称分量。 模型的外观:

grounded_neutral_network_fault--1728649612571.png

系统由[电压源]模块建模(Three-Phase)](https://engee.com/helpcenter/stable/ru/fmod-electricity-sources/voltage-source-three-phase.html),稳态模式通过设置电流线电压和相移来设置。 架空线路由[三相PI段]块建模Line](https://engee.com/helpcenter/stable/ru/fmod-electricity-lines/three-phase-pi-section-line.html)。短路由[Fault]块建模(Three-Phase)](https://engee.com/helpcenter/stable/ru/fmod-electricity-utilities/fault-three-phase.html)在该块的设置中,使用*故障模式*下拉菜单,您可以选择短路的类型。 使用[断路器]块禁用短路。 (Three-Phase)](https://engee.com/helpcenter/stable/ru/fmod-electricity-switches-breakers/circuit-breaker-three-phase.html),其模拟继电保护的操作。 短路关断持续时间是根据单向供电死端线路保护的运行时间和关断时间选择的,并根据2003年起《电力系统稳定性方法指南》[1],在110kv短路关断持续时间上限设定为0.18s。 负载由[Wye-Connected]块建模Load](https://engee.com/helpcenter/stable/ru/fmod-electricity-rlc-assemblies/wye-connected-load.html).
系统参数[2]:
/元素/参数|
| ----------- | ----------- |
/系统1号/平衡节点
|
/系统2|

|
/装载|
|
/1号线/AC185/29
|
/2号线/AC185/29
|
/3号线/AC150/24
|

启动模型

我们将导入处理图形、表格和浮窗傅立叶变换函数所需的模块。:

In [ ]:
using Plots
using DataFrames
include("$(@__DIR__)/fourie_func.jl")
gr();

加载模型:

In [ ]:
model_name = "grounded_neutral_network_fault"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");

启动上传的模型:

In [ ]:
results = engee.run(model_name);

模拟结果

为了导入仿真结果,预先启用了必要信号的记录,并设置了它们的名称。 将results变量的电流和电压的瞬时值转换为单独的矢量:

In [ ]:
# вектор времени симуляции
sim_time = results["i_a_1"].time;
# вектор токов в точке измерения №1
i_1 = hcat(results["i_a_1"].value,results["i_b_1"].value,results["i_c_1"].value);
# вектор токов в точке измерения №2
i_2 = hcat(results["i_a_2"].value,results["i_b_2"].value,results["i_c_2"].value);
# вектор токов в точке измерения №3
i_3 = hcat(results["i_a_3"].value,results["i_b_3"].value,results["i_c_3"].value);
# вектор напряжений в точке измерения №1
v_1 = hcat(results["v_a_1"].value,results["v_b_1"].value,results["v_c_1"].value);
# вектор напряжений в точке измерения №2
v_2 = hcat(results["v_a_2"].value,results["v_b_2"].value,results["v_c_2"].value);
# вектор напряжений в точке измерения №3
v_3 = hcat(results["v_a_3"].value,results["v_b_3"].value,results["v_c_3"].value);

1号测量点的电流和电压曲线图:

In [ ]:
p1 = Plots.plot(sim_time, v_1./1e3, label = [L"U_a" L"U_b" L"U_c"],
title = "Напряжения", ylabel = "U, кВ", xlabel="Время, c");
p2 = Plots.plot(sim_time, i_1, label = [L"I_a" L"I_b" L"I_c"],
title = "Токи", ylabel = "I, А", xlabel="Время, c")
plot(p1, p2, layout=(2,1), legend = true, linecolor = [:orange :green :red], size = (700,440))
Out[0]:

2号测量点的电流和电压曲线图:

In [ ]:
p1 = Plots.plot(sim_time, v_2./1e3, label = [L"U_a" L"U_b" L"U_c"],
title = "Напряжения", ylabel = "U, кВ", xlabel="Время, c");
p2 = Plots.plot(sim_time, i_2, label = [L"I_a" L"I_b" L"I_c"],
title = "Токи", ylabel = "I, А", xlabel="Время, c")
plot(p1, p2, layout=(2,1), legend = true, linecolor = [:orange :green :red], size = (700,440))
Out[0]:

3号测量点的电流和电压曲线图

In [ ]:
p1 = Plots.plot(sim_time, v_3./1e3, label = [L"U_a" L"U_b" L"U_c"],
title = "Напряжения", ylabel = "U, кВ", xlabel="Время, c");
p2 = Plots.plot(sim_time, i_3, label = [L"I_a" L"I_b" L"I_c"],
title = "Токи", ylabel = "I, А", xlabel="Время, c")
plot(p1, p2, layout=(2,1),legend = true, linecolor = [:orange :green :red], size = (700,440))
Out[0]:

作为单相短路的结果,损坏相的电压降低并且电流增加。 请注意,当您远离损坏部位时,损坏相的电压会增加。

结果处理

我们来评估短路对电流不对称性的影响。 使用Fortescue变换计算对称分量[3]:

为此,我们使用带有浮动窗口的傅里叶变换对电流进行矢量化,以隔离振幅和相位。
与此同时,我们不会使用内置函数,而是使用该函数[4]:

In [ ]:
# Переменные для хранения векторов
v_1_Xmag, v_2_Xmag, v_3_Xmag, i_1_Xmag, i_2_Xmag, i_3_Xmag,
v_1_Xphase, v_2_Xphase, v_3_Xphase, i_1_Xphase, i_2_Xphase, i_3_Xphase = [zeros(length(sim_time),3) for _ = 1:12];

for (Xmag, Xphase, signal) in zip(
    (v_1_Xmag, v_2_Xmag, v_3_Xmag, i_1_Xmag, i_2_Xmag, i_3_Xmag),
    (v_1_Xphase, v_2_Xphase, v_3_Xphase, i_1_Xphase, i_2_Xphase, i_3_Xphase),
    (v_1, v_2, v_3, i_1, i_2, i_3))
    Xmag, Xphase = moving_fourie(Xmag, Xphase, sim_time, signal);
end

短路前和短路期间3号测点电流矢量图:

In [ ]:
# поиск индексов моментов до и после КЗ (0.1 с и 0.3 с)
nom_reg_ind = indexin(0.1, sim_time);
kz_ind = indexin(0.3, sim_time);
# ампитуды и фазы токов
i_a_NR_mag, i_a_NR_ang = round(i_3_Xmag[nom_reg_ind,1][1], digits=1), round(i_3_Xphase[nom_reg_ind,1][1], digits=1)
i_b_NR_mag, i_b_NR_ang = round(i_3_Xmag[nom_reg_ind,2][1], digits=1), round(i_3_Xphase[nom_reg_ind,2][1], digits=1)
i_c_NR_mag, i_c_NR_ang = round(i_3_Xmag[nom_reg_ind,3][1], digits=1), round(i_3_Xphase[nom_reg_ind,3][1], digits=1)
i_a_SC_mag, i_a_SC_ang = round(i_3_Xmag[kz_ind,1][1], digits=1), round(i_3_Xphase[kz_ind,1][1], digits=1)
i_b_SC_mag, i_b_SC_ang = round(i_3_Xmag[kz_ind,2][1], digits=1), round(i_3_Xphase[kz_ind,2][1], digits=1)
i_c_SC_mag, i_c_SC_ang = round(i_3_Xmag[kz_ind,3][1], digits=1), round(i_3_Xphase[kz_ind,3][1], digits=1)

p1 = plot([0;i_a_NR_ang*pi/180], [0;i_a_NR_mag], arrow=true, proj = :polar, linecolor = :orange, 
label = L"I_a = %$i_a_NR_mag \angle\, %$i_a_NR_ang \degree А", title = "Токи до КЗ")

plot!([0;i_b_NR_ang*pi/180], [0;i_b_NR_mag], arrow=true, proj = :polar, linecolor = :green,
label = L"I_b = %$i_b_NR_mag \angle\, %$i_b_NR_ang \degree А")

plot!([0;i_c_NR_ang*pi/180], [0;i_c_NR_mag], arrow=true, proj = :polar, linecolor = :red,
label = L"I_с = %$i_c_NR_mag \angle\, %$i_c_NR_ang \degree А")

p2 = plot([0;i_a_SC_ang*pi/180], [0;i_a_SC_mag], arrow=true, proj = :polar, linecolor = :orange,
label = L"I_a = %$i_a_SC_mag \angle\, %$i_a_SC_ang \degree А", title = "Токи во время КЗ")

plot!([0;i_b_SC_ang*pi/180], [0;i_b_SC_mag], arrow=true, proj = :polar, linecolor = :green,
label = L"I_b = %$i_b_SC_mag \angle\, %$i_b_SC_ang \degree А")

plot!([0;i_c_SC_ang*pi/180], [0;i_c_SC_mag], arrow=true, proj = :polar, linecolor = :red,
label = L"I_с = %$i_c_SC_mag \angle\, %$i_c_SC_ang \degree А")

plot(p1, p2, layout=(1,2), legend = :outerbottom, legendfontsize=10, size = (800,450))
Out[0]:

考虑矢量图中短路时1-3号线交界处A相的电流分布:

In [ ]:
# вектора токов в комплексных числах
i_a_1_mag, i_a_1_ang = round(i_1_Xmag[kz_ind,1][1], digits=1), round(i_1_Xphase[kz_ind,1][1], digits=1)
i_a_2_mag, i_a_2_ang = round(i_2_Xmag[kz_ind,1][1], digits=1), round(i_2_Xphase[kz_ind,1][1], digits=1)
i_a_3_mag, i_a_3_ang = round(i_3_Xmag[kz_ind,1][1], digits=1), round(i_3_Xphase[kz_ind,1][1], digits=1)
ia1 = i_a_1_mag*exp(1im*i_a_1_ang*pi/180)
ia2 = i_a_2_mag*exp(1im*i_a_2_ang*pi/180)
ia3 = i_a_3_mag*exp(1im*i_a_3_ang*pi/180)

plot([0;angle(ia1)], [0;abs(ia1)],
 arrow=true, proj = :polar, linecolor = :orange, label =  L"I_{a1} = %$i_a_1_mag \angle\, %$i_a_1_ang \degree А")

plot!([0;angle(ia2)], [0;abs(ia1)],
 arrow=true, proj = :polar, linecolor = :green, label = L"I_{a2} = %$i_a_2_mag \angle\, %$i_a_2_ang \degree А")

plot!([0;angle(ia3)], [0;abs(ia3)],
 arrow=true, proj = :polar, linecolor = :red, label = L"I_{a3} = %$i_a_3_mag \angle\, %$i_a_3_ang \degree А")

# вспомогательный вектор Ia3+Ia1
plot!([angle(ia3);angle(ia3+ia1)], [abs(ia3);abs(ia3+ia1)],
 arrow=true, proj = :polar, linecolor = :orange, label = L"I'_{a1} = %$i_a_1_mag \angle\, %$i_a_1_ang \degree А",
  ls = :dash, linewidth=0.3)

# вспомогательный вектор Ia3+Ia1+Ia2
plot!([angle(ia3+ia1);angle(ia3+ia1+ia2)], [abs(ia3+ia1);abs(ia3+ia1+ia2)], arrow=true, proj = :polar, linecolor = :green,
label = L"I'_{a2} = %$i_a_2_mag \angle\, %$i_a_2_ang \degree А", ls = :dash, linewidth=0.3, legendfontsize=10, legend = :outerbottom)
Out[0]:

矢量图显示电流的几何和为 等于电流 ,并且所有的电流加起来为0。 该图显示了基尔霍夫对节点的第一定律的实现。

计算电流的对称分量:

In [ ]:
a = exp(2pi*1im/3)
a_matr = [1 1 1;
         a a^2 1;
         a^2 a 1;]
# симметричные составляющие: [I1 I2 I0]
i_3_sym = 1/3*(i_3_Xmag .* exp.(1im .* i_3_Xphase .* (pi/180)))*a_matr;

让我们将短路前和短路期间电流(3号测量点)的振幅和对称分量的值列成表格。:

In [ ]:
# Токи №3
println("\n"*"Токи в точке измерения №3")
println(DataFrame([["Ном.реж.", "КЗ"], 
round.([i_3_Xmag[nom_reg_ind,1][1]; i_3_Xmag[kz_ind,1][1]],digits = 1),
round.([i_3_Xmag[nom_reg_ind,2][1]; i_3_Xmag[kz_ind,2][1]],digits = 1),
round.([i_3_Xmag[nom_reg_ind,3][1]; i_3_Xmag[kz_ind,3][1]],digits = 1),
round.(abs.([i_3_sym[nom_reg_ind,1][1]; i_3_sym[kz_ind,1][1]]),digits = 1),
round.(abs.([i_3_sym[nom_reg_ind,2][1]; i_3_sym[kz_ind,2][1]]),digits = 1),
round.(abs.([i_3_sym[nom_reg_ind,3][1]; i_3_sym[kz_ind,3][1]]),digits = 1)], 
["Режимы", "I_a (А)", "I_b (А)", "I_c (А)", "I_1 (А)", "I_2 (А)", "I_0 (А)"]))
Токи в точке измерения №3
2×7 DataFrame
 Row  Режимы    I_a (А)  I_b (А)  I_c (А)  I_1 (А)  I_2 (А)  I_0 (А) 
      String    Float64  Float64  Float64  Float64  Float64  Float64 
─────┼────────────────────────────────────────────────────────────────
   1 │ Ном.реж.     73.6     73.6     73.6     73.6      0.0      0.0
   2 │ КЗ         1562.2     89.6     86.8    563.0    508.5    493.1

通过单相对地短路,出现反向和零序的分量,它们实际上彼此相等。 值的微小差异是由于在3号线末端存在负载。

此外

尝试自己更改以下模型参数,并研究这对电力系统运行模式的影响:

  1. 3号线长度为60公里;
  2. 故障(三相)块中的故障类型;
  3. 故障(三相)块中0.1欧姆处的短路过渡电阻的值;
  4. 3000MVA电源的3相短路电源-*电压源(三相)*单位。

结论

在本例中,工具用于Engee模型的命令管理和上传仿真结果,并显示了使用PlotsDataFrames模块的工作。 测量的电流和电压从result变量导入工作区,然后显示在时间图上。 然后使用带有浮动窗口的傅立叶变换对它们进行矢量化,并显示在矢量图上。 基于使用Fortescue变换获得的电流和电压矢量,计算并制表对称分量。

连结

  1. 关于能源系统稳定性的方法指南。
    由俄罗斯能源部2003年6月30日N277的命令批准。
  2. 电气网络设计手册 /
    d.L.faybisovich编辑。 –第4版。,修订和增加。 -M.:ENAS,2012。 -376页:生病了。
  3. Zeveke G.V.,Ionkin P.A.,Netushil A.V.,Strakhov S.V.电路理论基础(第4版。, 1975).
  4. 微处理器继电器:一本教科书/A.A.Nikitin;俄罗斯联邦教育和科学部,联邦教育机构,联邦国家教育机构高等教育"以I.N.Ulyanov命名的楚瓦什州立大学"。 Cheboksary:楚瓦什大学出版社,2006。 447页;ISBN5-7677-1051-1