Замыкания на ЛЭП в сети с заземленной нейтралью¶
Описание модели¶
В этом примере рассматривается энергосистема с глухозаземлённой нейтралью состоящая из двух воздушных линий с двухсторонним питанием и одной тупиковой линии на конце которой происходит короткое замыкание (КЗ) с последующим отключением (по умолчанию в модели установлено однофазное КЗ на землю в фазе А). Показаны процесс запуска модели из среды разработки скрипта с помощью командного управления, обработка результатов моделирования, расчёт симметричных составляющих, визуализация результатов моделирования и предложены сценарии для самостоятельной работы с моделью. Осуществляется логгирование значений токов и напряжений в трёх точках измерения, показаны их временные графики и векторные диаграммы и выполнено преобразование Фортескью для рассчета симметричных составляющих. Внешний вид модели:
Системы моделируются блоками Voltage Source (Three-Phase), установившийся режим выставлен с помощью задания действующего линейного напряжения и фазового сдвига. Воздушные линии моделируются блоками Three-Phase PI Section Line. Короткое замыкание моделируется блоком Fault (Three-Phase), в настройках данного блока с помощью выпадающего меню Failure mode можно выбрать вид КЗ. Отключение КЗ происходит с помощью блока Circuit Breaker (Three-Phase), который имитирует работу релейной защиты. Длительность отключения КЗ выбрана на основании времени работы защит тупиковой линии с односторонним питанием и временем отключения выключателя, и установлена 0,18 с по верхней границе длительности отключения КЗ для 110 кВ в соответствии с Методическими указаниями по устойчивости энергосистем от 2003 г. [1]. Нагрузка моделируется блоком Wye-Connected Load. Параметры системы [2]:
Элемент | Параметр |
---|---|
Система №1 | Балансирующий узел $U_{ном} = 110 кВ$ |
Система №2 | $U_{ном} = 110 кВ$ $P_{нагр} = 50 МВт$ $Q_{нагр} = -27.5 МВар$ |
Нагрузка | $P_{нагр} = 9 МВт$ $Q_{нагр} = 4.8 МВар$ |
Линия №1 | АС 185/29 $L_1 = 45 км$ |
Линия №2 | АС 185/29 $L_2 = 65 км$ |
Линия №3 | АС 150/24 $L_3 = 30 км$ |
Запуск модели¶
Импортируем необходимые модули для работы с графиками, таблицами и функцию преобразования Фурье с плавающим окном:
using Plots
using DataFrames
include("$(@__DIR__)/fourie_func.jl")
gr();
Загрузка модели:
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");
Запуск загруженной модели:
results = engee.run(model_name);
Результаты моделирования¶
Для импорта результатов моделирования было заранее включено логгирование необходимых сигналов и заданы их имена. Преобразуем мгновенные значения токов и напряжений переменной results в отдельные вектора:
# вектор времени симуляции
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:
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))
Графики токов и напряжений в точке измерения №2:
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))
Графики токов и напряжений в точке измерения №3
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))
В результате однофазного КЗ напряжение поврежденной фазы снижается, а ток повышается. Обратите внимание, что напряжение поврежденной фазы растет по мере удаления от места повреждения.
Обработка результатов¶
Оценим влияние КЗ на несимметрию токов. Расчёт симметричных составляющих с помощью преобразования Фортескью [3]: $$\underline{I}_1=\frac{1}{3}(\underline{I}_a+a\underline{I}_b+a^2\underline{I}_c)$$ $$\underline{I}_2=\frac{1}{3}(\underline{I}_a+a^2\underline{I}_b+a\underline{I}_c)$$ $$\underline{I}_0=\frac{1}{3}(\underline{I}_a+\underline{I}_b+\underline{I}_c)$$ $$где a=e^{j\frac{2\pi}{3}}$$
Для этого выполним векторизацию токов с помощью преобразования Фурье с плавающим окном для выделения амплитуд и фаз. При этом не будем пользоваться встроенными функциями и будем использовать функцию [4]: $$\underline{I}_1(nT_д)={\frac{2j}{N}}\sum_{\substack{k=n-N+1\\n=0...N-1}}^{n}i(kT_д)e^{-jw_1(k+N-n-1)T_д}$$
# Переменные для хранения векторов
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 до и во время КЗ:
# поиск индексов моментов до и после КЗ (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))
Рассмотрим токораспределение фазы А в узле соединения линии №1-3 во время КЗ на векторной диаграмме:
# вектора токов в комплексных числах
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)
На векторной диаграмме видно, что геометрическая сумма токов $I_{a1}$ и $I_{a2}$ равна току $I_{a3}$, а все токи в сумме дают 0. Данная диаграмма показывает выполнение первого закона Кирхгофа для узла.
Рассчитаем симметричные составляющие токов:
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) до и во время КЗ:
# Токи №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.
Дополнение¶
Попробуйте самостоятельно изменить следующие параметры модели и исследовать, как это влияет на режим работы энергосистемы:
- длину линии №3 на 60 км;
- вид КЗ в блоке Fault (Three-Phase);
- значение переходного сопротивления КЗ на 0.1 Ом в блоке Fault (Three-Phase);
- мощность 3-ф КЗ на 3000 МВА источников питания - блоки Voltage Source (Three-Phase).
Выводы¶
В данном примере были использованы инструменты для командного управления моделью Engee и выгрузки результатов моделирования, показана работа с модулями Plots и DataFrames. Измеренные токи и напряжения были импортированы в Рабочую область из переменной result и затем выведены на временные графики. Затем они были векторизованы с помощью преобразования Фурье с плавающим окном и показаны на векторных диаграммах. На основании полученных векторов токов и напряжений с помощью преобразования Фортескью рассчитаны симметричные составляющие и сведены в таблицы.
Ссылки¶
- Методические указания по устойчивости энергосистем. Утверждены приказом Минэнерго России от 30 июня 2003 г. N 277.
- Справочник по проектированию электрических сетей / под ред. Д. Л. Файбисовича. – 4-е изд., перераб. и доп. – М. : ЭНАС, 2012. – 376 с. : ил.
- Зевеке Г.В., Ионкин П.А., Нетушил А.В., Страхов С.В. Основы теории цепей (4-е изд., 1975).
- Микропроцессорные реле : учебное пособие / А. А. Никитин ; М-во образования и науки Российской Федерации, Федеральное агентство по образованию, Федеральное гос. образовательное учреждение высш. проф. образования "Чувашский гос. ун-т им. И. Н. Ульянова". - Чебоксары : Изд-во Чувашского ун-та, 2006. - 447 с.; ISBN 5-7677-1051-1