В3 Программа и методика испытаний дистанционной защиты (ДЗ) для линий напряжением до 35 кВ¶
В данном примере реализована модель тестовой сети для выполнения функциональных испытаний ДЗ для линий напряжением до 35 кВ из приложения В3 СТО 56947007-29.120.70.241-2017. Технические требования к микропроцессорным устройствам РЗА. В данном примере содержится 9 моделей с именем B3_X.engee, где X — номер или диапазон номеров опытов. Модель была адаптирована и протестирована для запуска на КПМ РИТМ. Более подробно о использовании КПМ РИТМ можно узнать в примерах КПМ РИТМ: быстрый старт и КПМ РИТМ: работа в реальном времени. Примеры опытов сделаны для демонстрации без подключения реального оборудования, необходимо самостоятельно его подключить. Для подключения терминала РЗА нужно добавить в модель блоки ЦАП и цифровых входов/выходов из библиотеки блоков РИТМ, затем подключить терминал к КПМ РИТМ. Схема моделируемой сети:
Система 1:
ЭДС – 38,5 кВ
Сопротивление прямой последовательности — 0,286 + j2,7 Ом
Фазовый угол ЭДС – 0°
Система 2:
ЭДС – 37,2 кВ
Сопротивление прямой последовательности — 0,456 + j4,3 Ом
Фазовый угол ЭДС – -5°
ВЛ13:
Длина — 16 км
Марка провода — АС-95
Сопротивление прям. посл. — 4,816 + j6,736 Ом
Сопротивление нул. посл. — 7,224 + j20,208 Ом
Емк. ток ОЗЗ — 1,6 А
ВЛ32:
Длина — 12 км
Марка провода — АС-95
Сопротивление прям. посл. — 3,612 + j5,052 Ом
Сопротивление нул. посл. — 5,418 + j15,156 Ом
Емк. ток ОЗЗ — 1,2 А
ВЛ12 (ПС1-ПС4):
Длина — 6 км
Марка провода — АС-120
Сопротивление прям. посл. — 1,464 + j2,484 Ом
Сопротивление нул. посл. — 2,196 + j7,452 Ом
Емк. ток ОЗЗ — 0,6 А
ВЛ12 (ПС4-ПС2):
Длина — 8 км
Марка провода — АС-120
Сопротивление прям. посл. — 1,952 + j3,312 Ом
Сопротивление нул. посл. — 2,928 + j9,936 Ом
Емк. ток ОЗЗ — 0,8 А
Измерительные трансформаторы тока:
ТФЗМ-35Б-1
кт = 300 / 5 А
Z2ном = 0,8 Ом (cos φ = 0,8)
K10 = 30
Qмагн = 19,2 см2
Lср = 0,82 м
W_1 = 4
W2 = 239
R2обм = 0,45 Ом
Проверка первой зоны ДЗ¶
Определяется зона срабатывания первой ступени ДЗ при трехфазном КЗ путем имитации КЗ на защищаемой линии. От установки РИТМ на терминал подается токи и напряжения линии ВЛ13. Фиксируется результат: 95% уставки – срабатывает первая ступень ДЗ, 105% уставки – не срабатывает первая ступень ДЗ. Условия испытания:
- К(3) на расстоянии, равном 95 % первой зоны.
- К(3) на расстоянии, равном 105 % первой зоны.
В модели ВЛ13 поделена на пополам (два отрезка по 8 км). Для определения зоны срабатывания первой ступени ДЗ необходимо изменить длину отрезков в соответствии с уставкой терминала.
model_name = "B3_first_zone"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Vector{Any}(undef, 3)
result = engee.run(model_name);
results[1] = stack(collect(result["I1"].value[:])[!,:value])';
results[2] = stack(collect(result["I2"].value[:])[!,:value])';
results[3] = stack(collect(result["V1"].value[:])[!,:value])';
sim_time = collect(result["I1"].time[:])[!,:time];
Отображение результатов:
gr()
p1 = plot(sim_time, results[1], title = "ТТ1",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[2], title = "ТТ2",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p3 = plot(sim_time, results[3], title = "ТН1",xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, p3, layout=(3,1), size = (800, 600))
Опыты 1-2¶
Проверка работу ДЗ при различных видах внутренних КЗ.
Условия испытания:
- Место КЗ: точка: К1.
- Вид КЗ: К (2)ВС, К (3)
Параметры опытов:
В модели задан опыт №1. Для проведения опыта №2 необходимо изменить вид КЗ и переместить блок КЗ в точку К3.
model_name = "B3_1_2"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Vector{Any}(undef, 3)
result = engee.run(model_name);
results[1] = stack(collect(result["I1"].value[:])[!,:value])';
results[2] = stack(collect(result["I2"].value[:])[!,:value])';
results[3] = stack(collect(result["V1"].value[:])[!,:value])';
sim_time = collect(result["I1"].time[:])[!,:time];
Отображение результатов:
gr()
p1 = plot(sim_time, results[1], title = "ТТ1",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[2], title = "ТТ2",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p3 = plot(sim_time, results[3], title = "ТН1",xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, p3, layout=(3,1), size = (800, 600))
Опыты 3-4¶
Проверка работы ДЗ по «памяти» при внешних трехфазных КЗ на шинах.
Условия испытания:
- Место КЗ: точка К4.
- Вид КЗ: К(3)АВС, К(2)ВС
Параметры опытов:
В модели задан опыт №3. Для проведения опыта №4 необходимо изменить вид в блоке КЗ.
model_name = "B3_3_4"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Vector{Any}(undef, 3)
result = engee.run(model_name);
results[1] = stack(collect(result["I1"].value[:])[!,:value])';
results[2] = stack(collect(result["I2"].value[:])[!,:value])';
results[3] = stack(collect(result["V1"].value[:])[!,:value])';
sim_time = collect(result["I1"].time[:])[!,:time];
Отображение результатов:
gr()
p1 = plot(sim_time, results[1], title = "ТТ1",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[2], title = "ТТ2",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p3 = plot(sim_time, results[3], title = "ТН1",xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, p3, layout=(3,1), size = (800, 600))
Опыт 5-16¶
Проверка работы ДЗ на каждой ВЛ при двойных замыканиях на землю.
Условия испытания:
- Место КЗ и место установки защиты: согласно таблице.
- Вид КЗ: К(1)А и К(1)В
В модели задан опыт №5. Для проведения других опытов необходимо переместить блоки КЗ в требуемые точки и изменить вид КЗ в блоках.
model_name = "B3_5_16"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Vector{Any}(undef, 3)
result = engee.run(model_name);
results[1] = stack(collect(result["I1"].value[:])[!,:value])';
results[2] = stack(collect(result["I2"].value[:])[!,:value])';
results[3] = stack(collect(result["V1"].value[:])[!,:value])';
sim_time = collect(result["I1"].time[:])[!,:time];
Отображение результатов:
gr()
p1 = plot(sim_time, results[1], title = "ТТ1",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[2], title = "ТТ2",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p3 = plot(sim_time, results[3], title = "ТН1",xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, p3, layout=(3,1), size = (800, 600))
Опыт 17-18¶
Проверка работы защиты при внутреннем КЗ с успешным ТАПВ. Условия испытания:
- Место КЗ: середина ВЛ13 (точка К6).
- Вид КЗ: К^(3)АВС, К(2)ВС
Последовательность событий:
- 0-0,4 с Нормальный режим нагрузки, предшествующий КЗ
- 0,4 с Возникновение КЗ в середине ВЛ.
- 0,5 с Трехфазное отключение линии защитами с двух сторон. Бестоковая пауза (1,5 с)
- 1 с Исчезновение КЗ
- 2 с ТАПВ со стороны ПС 1
- 2,5 с ТАПВ со стороны ПС 3.
В модели задан опыт №17. Для проведения опыта №18 необходимо изменить вид КЗ в блоке КЗ.
model_name = "B3_17_18"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Vector{Any}(undef, 3)
result = engee.run(model_name);
results[1] = stack(collect(result["I1"].value[:])[!,:value])';
results[2] = stack(collect(result["I2"].value[:])[!,:value])';
results[3] = stack(collect(result["V1"].value[:])[!,:value])';
sim_time = collect(result["I1"].time[:])[!,:time];
Отображение результатов:
gr()
p1 = plot(sim_time, results[1], title = "ТТ1",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[2], title = "ТТ2",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p3 = plot(sim_time, results[3], title = "ТН1",xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, p3, layout=(3,1), size = (800, 600))
Опыты 19-20¶
Проверка работы защиты при внутреннем КЗ с неуспешным ТАПВ. Условия испытания:
- Место КЗ: середина ВЛ13 (точка К6).
- Вид КЗ: К(3)АВС, К(2)ВС
Последовательность событий:
- 0-0,4 с Нормальный режим нагрузки, предшествующий КЗ
- 0,4 с Возникновение КЗ в середине ВЛ.
- 0,5 с Трехфазное отключение линии защитами с двух сторон. Бестоковая пауза (1,5 с)
- 2 с ТАПВ со стороны ПС 1
- 2,5 с ТАПВ со стороны ПС 3.
В модели задан опыт №19. Для опыта №20 необходимо изменить вид КЗ в блоке КЗ.
model_name = "B3_19_20"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Vector{Any}(undef, 3)
result = engee.run(model_name);
results[1] = stack(collect(result["I1"].value[:])[!,:value])';
results[2] = stack(collect(result["I2"].value[:])[!,:value])';
results[3] = stack(collect(result["V1"].value[:])[!,:value])';
sim_time = collect(result["I1"].time[:])[!,:time];
Отображение результатов:
gr()
p1 = plot(sim_time, results[1], title = "ТТ1",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[2], title = "ТТ2",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p3 = plot(sim_time, results[3], title = "ТН1",xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, p3, layout=(3,1), size = (800, 600))
Опыты 21-24¶
Качания с центром качаний на линии ВЛ13
Условия испытания:
- Центр качаний: на линии ВЛ13.
- Частота качаний: 1 Гц и повышение до отказа срабатывания блокировки при качаниях.
В модели задан опыт №21. Для проведения других опытов необходимо изменить параметры амплитуды и частоты блока "Синусоидальная функция" из подсистемы "Частота". Для опыта №21 задан угол качания ЭДС на ПС 2 ±180° от установившего режима. С 0 по 0,5 секунд система работает в установившемся режиме, с 0,5 с частота начинает изменяться. Амплитуду нужно увеличивать пропорционально частоте качаний.
model_name = "B3_21_24"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Vector{Any}(undef, 3)
result = engee.run(model_name);
results[1] = stack(collect(result["I1"].value[:])[!,:value])';
results[2] = stack(collect(result["I2"].value[:])[!,:value])';
results[3] = stack(collect(result["V1"].value[:])[!,:value])';
sim_time = collect(result["I1"].time[:])[!,:time];
Отображение результатов:
gr()
p1 = plot(sim_time, results[1], title = "ТТ1",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[2], title = "ТТ2",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p3 = plot(sim_time, results[3], title = "ТН1",xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, p3, layout=(3,1), size = (800, 600))
Опыт 25-26¶
Качания с центром качаний на линии ВЛ13 и КЗ в зоне действия.
Условия испытания:
- Центр качаний: на линии ВЛ13 на расстоянии 60% длины линии от подстанции ПС3.
- Частота качаний: 2 Гц
- Место КЗ: на линии ВЛ13 на расстоянии 40% длины линии от подстанции ПС3.
- Вид КЗ: К (3)ABC, К (2)BС.
В модели задан опыт №25. Для проведения опыта №26 необходимо изменить вид КЗ в блоке КЗ. Для опыта №25 задан угол качания ЭДС на ПС 2 ±180° от установившего режима. С 0 по 0,5 секунд система работает в установившемся режиме, с 0,5 с частота начинает изменяться, в 1,125 с происходит КЗ в точке К6.
model_name = "B3_25_26"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Vector{Any}(undef, 3)
result = engee.run(model_name);
results[1] = stack(collect(result["I1"].value[:])[!,:value])';
results[2] = stack(collect(result["I2"].value[:])[!,:value])';
results[3] = stack(collect(result["V1"].value[:])[!,:value])';
sim_time = collect(result["I1"].time[:])[!,:time];
Отображение результатов:
gr()
p1 = plot(sim_time, results[1], title = "ТТ1",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[2], title = "ТТ2",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p3 = plot(sim_time, results[3], title = "ТН1",xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, p3, layout=(3,1), size = (800, 600))
Опыт 27¶
Работа защиты при внешнем КЗ, переходящим во внутреннее.
Условия испытания:
- Вид КЗ: К (3)
- Место КЗ: шинах ПС1 (точка К4), внутреннее на ВЛ 13 (точка К3).
- Нагрузка по линии: нормальный режим.
Последовательность режимов:
- КЗ фаз АВС на шинах ПС1 (0,5 с).
- Через 60 мс КЗ переходит на защищаемую линию ВЛ13 (от точки К4 в точку К3)
model_name = "B3_27"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Vector{Any}(undef, 3)
result = engee.run(model_name);
results[1] = stack(collect(result["I1"].value[:])[!,:value])';
results[2] = stack(collect(result["I2"].value[:])[!,:value])';
results[3] = stack(collect(result["V1"].value[:])[!,:value])';
sim_time = collect(result["I1"].time[:])[!,:time];
Отображение результатов:
gr()
p1 = plot(sim_time, results[1], title = "ТТ1",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[2], title = "ТТ2",xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p3 = plot(sim_time, results[3], title = "ТН1",xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, p3, layout=(3,1), size = (800, 600))