Тестирование устройств релейной защиты ЛЭП в переходных режимах, сопровождающихся насыщением тока. ГОСТ 70358-2022 модель А4.2
Введение
В данном примере представлена модель энергосистемы класса напряжения 500 кВ, предназначенная для тестирования устройств релейной защиты на соответствие требованиям ГОСТ 70358-2022 «Требования к работе устройств релейной защиты линий электропередачи классом напряжения 110 кВ и выше в переходных режимах, сопровождающихся насыщением трансформаторов тока». Модель разработана в соответствии с приложением А4.2 указанного стандарта.
В составе примера также включён скрипт, который программно редактирует модель в соответствии с программой испытаний устройств релейной защиты. Программа испытаний приведена в пункте А4.3 ГОСТа. В примере демонстрируются по одному опыту для всех испытаний базовой кратности и апериодической составляющей.
Тестирование устройств релейной защиты проводится на устройствах моделирования в реальном времени. Но для ознакомления с примером вы можете запускать модель как в Engee, так и на КПМ РИТМ с подключением и настройкой тестируемого устройства.
Описание модели
Параметры и схема модели взяты из приложения А пункт 4.2 стандарта.
Откроем модель энергосистемы:
model_name = "gost_70358_model_A4.engee"
engee.open(model_name); # Открываем модель
model = engee.load(model_name); # Загрузим модель для быстрого доступа
path = engee.gcm().name; # Наименование модели
Инициализация параметров модели
Стандарт требует проводить тестирование на базовых параметрах и с изменением:
- Постоянной времени затухания апериодической составляющей источников (.)
- Кратности составляющей тока КЗ от источников ()
Для начала инициализируем базовые параметры модели.
# Период дискретизации
SampleTime = 50e-6;
# Базовая ВАХ
V_base = [0 25 50 75 80 85 90 95 99 100 108];
I_base = [0 0.00215 0.0043 0.00675 0.0075 0.00868 0.011 0.02 0.044 0.05 10];
# Параметры трансформатора тока (ТТ)
I1 = 1000
I2 = 1
R2 = 5
# Относительное растояние до точки КЗ
k_line = 0.0001
# Базовые активные сопротивления системы
R1s1_base = 0.229;
R0s1_base = 0.574;
R1s2_base = 0.18;
R0s2_base = 0.403;
# Базовые индуктивные сопротивления системы
X1s1_base = 28.87;
X0s1_base = 72.16;
X1s2_base = 22.7;
X0s2_base = 50.59;
# Путь для сохранения результатов в форматн COMTRADE
results_path = "COMTRADE/Испытание 1.1/Насыщение фазы A";
# Создаём каталог
mkpath(results_path);
results_path = results_path * "/AG";
Код ниже позволяет варьировать параметры энергосистем в соответствии с указаниями стандарта. Сейчас код задаёт параметры в соответствии с базовой моделью: кратность и .
# --- Варьирование и передача в модель параметров системы ---
kl = 1; # кратность
# Варирование кратности тока от С1
R1s1 = R1s1_base * kl;
X1s1 = X1s1_base * kl;
R0s1 = R0s1_base * kl;
X0s1 = X0s1_base * kl;
# Варирование кратности тока от С2
R1s2 = R1s2_base * kl;
X1s2 = X1s2_base * kl;
R0s2 = R0s2_base * kl;
X0s2 = X0s2_base * kl;
# --- Варирование апереодической составляющей относительно базовой модели ---
Tp = 400e-3;
kTp = 400e-3 / Tp;
w = 2 * pi * 50;
R1s1 = X1s1_base / (w * Tp);
R0s1 = X0s1_base / (w * Tp);
R1s2 = X1s2_base / (w * Tp);
R0s2 = X0s2_base / (w * Tp);
После выполнения ячеек выше модель готова к запуску.
Создание сценариев
Для удобства формирования сценариев в соответствии с программой испытаний реализован набор вспомогательных методов, собранных в файле ScenarioModule.jl. В этом же файле определены конструкторы специализированных структур, предназначенных для хранения параметров модели.
Ниже пример создания экземпляров этих структур:
# Подгрузим модуль
include("ScenarioModule.jl")
# Создаём экземпляры структур
# Saturation_Characteristic хранит параметры для пересчёта ВАХ к каждому опыту
satur = ScenarioModule.Saturation_Characteristic(V_base, I_base, I1, I2, R2, 0.025);
# Scenario хранит информацию о текущем сценарии.
# При инициализации требует на вход экземпляр Saturation_Characteristic
scenario = ScenarioModule.Scenario(engee.gcs().path, "RITM 1", satur);
Так как короткое замыкание возникает в одном и том же временном промежутке (в зависимости от момента перехода напряжения через ноль), использование данных методов позволяет автоматически задавать остаточную намагниченность по фазам, в которых насыщение трансформатора тока не моделируется.
Так, при коротком замыкании в фазе A в двух остальных фазах задаётся остаточная намагниченность, равная , со знаком, противоположенным апериодической составляющей.
Внутри модуля содержится документация ко всем методам. Чтобы ознакомиться с описанием любого метода, вызовите справку непосредственно из кода:
? ScenarioModule.set_fault_type!
Методы из ScenarioModule.jl будут использоваться в ходе создания сценариев испытаний.
Для передачи параметров сценария и пересчитанной вольт-амперной характеристики (ВАХ) в модель предусмотрен метод save_mode!(). Метод принимает на вход отредактированную структуру Scenario и сохраняет соответствующие параметры в модель.
function save_mode!(s::ScenarioModule.Scenario)
# Передача параметров точек КЗ
engee.set_param!(s.path * "/K1", "type" => s.K1)
engee.set_param!(s.path * "/K2_4", "type" => s.K2_4)
engee.set_param!(s.path * "/K_delayed", "type" => s.K_delayed)
# Передаётся задрежка КЗ
if s.delay == 0
engee.set_param!(s.path * "/K1_delay", "time_delay_off" => 2)
else
engee.set_param!(s.path * "/K1_delay", "time_delay_off" => s.delay)
end
engee.set_param!(s.path * "/K2_4_delay", "time_delay_on" => s.delay)
# Передаётся скоректированной ВАХ
engee.set_param!(s.path * "/CT", "V" => s.Vabc,
"I" => s.Iabc, "V_strt" => s.V_strt)
# Передаётся фаза контроля перехода напряжения через 0
engee.set_param!(s.path * "/U_control/ctrl_phase", "Value" => s.controlled_phase)
# Передаётся фаза в блок определения времени насыщения
engee.set_param!(s.path * "/Определение времени насыщения", "phase" => s.controlled_phase)
end;
Запуск модели на КПМ РИТМ или в среде Engee
Модель подготовлена для запуска на КПМ РИТМ. Если вы запускаете модель на КПМ РИТМ, то предварительно необходимо установить пакеты для программного управления моделированием. Дальше в ходе испытаний запускайте модель не в Engee, а на подключенной машине РИТМ. Подробнее: начало работы и пример использования программного управления для работы с КПМ «РИТМ».
Для подключения РИТМ раскомментируйте блоки РИТМа в модели и выполните код ниже:
# # Если требуется установите поддержку блоков РИТМ и пакет поддержки внешнего оборудования:
# engee.package.install("RITM-Engee-Blocks");
# engee.package.install("Engee-Device-Manager");
# engee.package.start("Engee-Device-Manager")
# using Main.EngeeDeviceManager.Targets
# using Main.EngeeDeviceManager.Targets.RITM
# using Main.EngeeDeviceManager.Targets.RITM_API
# ritm = Targets.RITM.Ritm();
# ritm.set_url("http://192.168.56.3:8000/")
Для запуска моделирования на РИТМе смените среду среду расчёта c Engee на Target Hardware и запустите расчёт. Результаты моделирования отобразятся в Инспекторе данных и вкладке Визуализация сигналов.
Ошибки отображения графиков
Если у вас появляются ошибки при отображение результатов моделирования, уменьшите количество логируемых сигналов и проводите логирование через блок Rate Transition на большем шаге расчёта. Точные результаты вы всегда можете получить, выгрузив результаты в формате COMTRADE.
Также вы можете запустить моделирование, используя программное управление, например для последовательного запуска всех испытаний. Для этого воспользуйтесь командой ниже. Аргумент is_external_mode = true позволит выполнить расчёт в режиме интерактивного выполнения. Подробнее про режимы выполнения.
# Targets.build_deploy_start(ritm, engee.gcm(), is_external_mode=true)
Если у вас не подключен РИТМ, то вы можете протестировать модель, используя среду Engee.
Проведение испытаний
Испытание 1
В испытание 1 местом КЗ является точка - К2. Установим соответствующие расстояние до КЗ в параметр k_line:
k_line = 0.0001;
Испытание 1.1
Испытание направлено на проверку срабатывания защиты при всех типах коротких замыканий. Повреждения моделируются без переходного сопротивления. В ходе испытания последовательно перебираются все точки КЗ, а также все фазы, для которых предусмотрено моделирование насыщения трансформатора тока.
Для пересчёта вольт-амперной характеристики трансформатора тока при вызове метода set_controlled_phase!() необходимо передать величину постоянной апериодической составляющей и величину периодической составляющей тока КЗ . Для стандартной модели эти значения были вычислены заранее. Нагрузка на трансформатор тока составляет 5 Ом. Остаточная намагниченность для целевой фазы принимается равной нулю.
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 1.1/Насыщение фазы A"
# Создаём каталог
mkpath(results_path)
# Переменная, содержащая путь до каталога, передаётся в блок To COMTRADE
results_path = results_path * "/AG"
# Задаём тип КЗ в точку K2
ScenarioModule.set_fault_type!(scenario, "K2_4", "AG");
# Задаём контролируемую фазу (фаза с насыщением)
ScenarioModule.set_controlled_phase!(scenario, 6675, 0.4, phase='A', Rn=5, Kr=0.0);
# В этом испытание задержки отсувствуют (можно не задавать)
ScenarioModule.set_delay!(scenario, 0);
# Сохраняем полученный сценарий
save_mode!(scenario)
Примечание
При симуляции на КПМ РИТМ необходимо передавать полный путь файла, например,
results_path = joinpath("/home/ritm/build", engee.gcm().name, "build/AG")
После создания и передачи в модель сценария можем запустить моделирование.
results = engee.run(model);
Примечание
В последующих испытаниях, приведённых в данном примере, расчёт модели может запускаться как с использованием программного управления, так и вручную.
Полученные результаты можно рассмотреть в самой модели через Визуализацию или Инспектор данных. Результаты моделирования также записаны в формате COMTRADE и сохранены в каталоге, который соответствует параметрам испытания.
gr()
plot(
results["I_TT"].time,
reduce(hcat, results["I_TT"].value)',
label = ["Фаза А" "Фаза В" "Фаза С"],
xlabel = "t, c",
ylabel = "I, А",
title = "Испытание 1.1; Насыщение фазы A; Тип КЗ: AG",
color = ["goldenrod" "green" "red"],
size = (1100, 400),
xlimits = (0.95, 1.2),
legend = :bottomright
)
Испытание 1.2
Развивающиеся КЗ. Второе КЗ появляется с задержкой в 10 мс в точке K_delayed.
Так как второе КЗ появляется через пол периода после первого, значения остаточного намагничивания для фаз второй точки повреждения требуют зеркалирования (так как остаточная намагниченность должна быть противоположенного знака апериодической составляющей).
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 1.2/Насыщение фазы B"
mkpath(results_path)
results_path = results_path * "/BG + CAG"
ScenarioModule.set_delay!(scenario, 10);
# КЗ в двух точках
ScenarioModule.set_fault_type!(scenario, "K2_4", "BG", "K_delayed", "CAG");
ScenarioModule.set_controlled_phase!(scenario, 6675, 0.157, phase='B');
# Зеркалируем неповреждённые фазы
scenario.V_strt = [-scenario.V_strt[1], scenario.V_strt[2], -scenario.V_strt[3]];
# Сохраняем сценарий
save_mode!(scenario)
engee.run(model); # Запуск симуляции
Испытание 1.3
Несимметричные КЗ. Оба КЗ возникают одновременно.
Проведём опыт с замыканием через переходное сопротивление. Для этого дополнительно передадим величину переходного сопротивления (в соответствии со стандартом - 2 Ом) во вторую точку КЗ.
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 1.3/Насыщение фазы C"
mkpath(results_path)
results_path = results_path * "/CG + ABG"
# Сбрасываем задержки
ScenarioModule.set_delay!(scenario, 0);
# КЗ в двух точках
ScenarioModule.set_fault_type!(scenario, "K2_4", "CG", "K_delayed", "ABG");
ScenarioModule.set_controlled_phase!(scenario, 9875, 0.292, phase='C');
# Сохраняем сценарий
save_mode!(scenario)
engee.set_param!(scenario.path * "/K_delayed",
"R_pn" => Dict("unit" => "Ohm", "value" => 2),
"R_ng" => Dict("unit" => "Ohm", "value" => 2))
engee.run(model); # Запуск симуляции
После проведения испытания вернём исходные значения переходных сопротивлений:
engee.set_param!(scenario.path * "/K_delayed",
"R_pn" => Dict("unit" => "Ohm", "value" => 1e-3),
"R_ng" => Dict("unit" => "Ohm", "value" => 1e-3))
Испытание 2
В испытание 2 местом КЗ является точка - К3.2. Опыты аналогичны испытанию 1.1. Ожидается срабатывание ДЗ и корректное определение фаз.
# Точка К3.2
k_line = 0.85 * 0.9;
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 2/Насыщение фазы A"
mkpath(results_path)
results_path = results_path * "/CAG"
# Задаём тип КЗ в точку K2_4
ScenarioModule.set_fault_type!(scenario, "K2_4", "CAG");
# Задаём контролируемую фазу (фаза с насыщением)
ScenarioModule.set_controlled_phase!(scenario, 7559, 0.147, phase='A');
# Сохраняем полученный сценарий
save_mode!(scenario)
engee.run(model); # Запуск симуляции
Испытания 3
В испытание 3 выполняется проверка cрабатывания ТНЗНП. Набор опытов аналогичен испытанию 2. Точка КЗ - К3.1, расположение которой определяется по результатам настройки ТНЗНП.
Испытания 4
В испытание 4 местом КЗ является точка КЗ - К4. Ожидается отсутствие срабатывания первой ступени ДЗ, срабатывание ТУ ДЗ.
Испытание 4.1
Опыты аналогичны испытанию 1.1.
# Точка К4
k_line = 0.85 * 1.1;
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 4.1/Насыщение фазы C"
mkpath(results_path)
results_path = results_path * "/CA"
# Задаём тип КЗ в точку K2_4
ScenarioModule.set_fault_type!(scenario, "K2_4", "CA");
# Задаём контролируемую фазу (фаза с насыщением)
ScenarioModule.set_controlled_phase!(scenario, 6921, 0.136, phase='C');
# Сохраняем полученный сценарий
save_mode!(scenario)
engee.run(model); # Запуск симуляции
Испытание 4.2
ДКЗ + ОКЗ, насыщение в одной из фаз ДКЗ.
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 4.2/Насыщение фазы B"
mkpath(results_path)
results_path = results_path * "/BC + AG"
# Задаём тип КЗ в точку K2_4
ScenarioModule.set_fault_type!(scenario, "K2_4", "BC", "K_delayed", "AG");
# Задаём контролируемую фазу (фаза с насыщением)
ScenarioModule.set_controlled_phase!(scenario, 6921, 0.136, phase='B');
# Сохраняем полученный сценарий
save_mode!(scenario)
engee.run(model); # Запуск симуляции
Испытания 5
В испытание 5 местом КЗ является точка - К1. Ожидается отсутствие срабатывания защит и срабатывание логики реверса ТУ ДЗ и ТУ ТНЗНП.
Испытание проводится в отдельной модели, в которой присутствуют два блока КЗ в точке К1.
КЗ отключается выключателем Q1 через 100 мс. В блок константы Q1 Switch задано значение 1.0 для перевода переключателя Switcher на внутренний сигнал отключения.
Откроем модель:
engee.open("test_5.engee"); # Открываем модель
scenario.path = engee.gcs().path; # В сценарии обновляем имя модели
Испытания 5.1
Опыты аналогичны испытанию 1.1. Через 100 мс после момента КЗ срабатывает Q1.
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 5.1/Насыщение фазы A"
mkpath(results_path)
results_path = results_path * "/ABC"
# Задаём тип КЗ в точку K1
ScenarioModule.set_fault_type!(scenario, "K1", "ABC");
# Задаём контролируемую фазу (фаза с насыщением)
ScenarioModule.set_controlled_phase!(scenario, 10000, 0.118, phase='A');
# КЗ за спиной (реверс мощности), поэтому значения остаточной
# намагниченности необходимо зеркалировать.
# Фаза в которой моделируется насыщение остаётся прежней
scenario.V_strt = [scenario.V_strt[1], -scenario.V_strt[2], -scenario.V_strt[3]];
# Сохраняем полученный сценарий
save_mode!(scenario)
engee.run("test_5"); # Запуск симуляции
Испытания 5.2
Несимметричные КЗ в одно время. Через 100 мс после момента КЗ срабатывает Q1.
ОКЗ + ДКЗ на землю через переходное сопротивление с насыщением в фазе ОКЗ.
ДКЗ + ОКЗ c тем же повреждением, что и в одной из фаз ДКЗ с насыщением этой фазы.
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 5.2/Насыщение фазы A"
mkpath(results_path)
results_path = results_path * "/AB + AG"
# КЗ в двух точках
ScenarioModule.set_fault_type!(scenario, "K1", "AB", "K1_add", "AG");
ScenarioModule.set_controlled_phase!(scenario, 9113, 0.109, phase='A');
# КЗ за спиной (реверс мощности), поэтому значения остаточной
# намагниченности необходимо зеркалировать.
# Фаза в которой моделируется насыщение остаётся прежней
scenario.V_strt = [scenario.V_strt[1], -scenario.V_strt[2], -scenario.V_strt[3]];
# Сохраняем сценарий
save_mode!(scenario)
# КЗ в доп точке сохраянется отдельно
engee.set_param!(scenario.path * "/K1_add", "type" => scenario.K1_add)
engee.run("test_5"); # Запуск симуляции
После проведения испытания переключаемся на основную модель.
engee.open(model_name); # Переключаемся на основную модель
scenario.path = engee.gcs().path; # В сценарии обновляем имя модели
Испытания 6
В испытание 6 участвуют две точки КЗ - К1 и К2. Внешнее КЗ переходит во внутреннее. Ожидается срабатывание защит менее чем за 60 мс и правильное определение повреждённых фаз.
При переходе КЗ из К1 в К2, КЗ в К1 отключается. Для этого проводится переключение Switcher Start KZ на пропускание сигнала Start_KZ_add, который отключает КЗ через заданную выдержку времени.
engee.set_param!(scenario.path * "/KZ Switch", "Value" => 0.0)
Испытание 6.1
Переход ОКЗ из внешнего во внутреннее.
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 6.1/Насыщение фазы B"
mkpath(results_path)
results_path = results_path * "/BG"
ScenarioModule.set_delay!(scenario, 100);
# КЗ в двух точках
ScenarioModule.set_fault_type!(scenario, "K1", "BG", "K_delayed", "BG");
ScenarioModule.set_controlled_phase!(scenario, 6675, 0.087, phase='B');
# Сохраняем сценарий
save_mode!(scenario)
engee.run(model); # Запуск симуляции
Испытание 6.2
Переход ОКЗ из внешнего во внутреннее с КЗ на другой фазе.
Первое КЗ (внешнее) происходит в иной фазе, нежели фаза внутреннего КЗ. Насыщение моделируется для фазы внутреннего КЗ. Поэтому контроль перехода через ноль осуществляется для фазы внешнего КЗ, а остаточное намагниченность принимается как для внутреннего КЗ с поправкой на знак апериодической составляющей.
Для внутреннего КЗ в фазе C, знак остаточной намагниченности фазы B (внешнее КЗ) меняется на противоположенный.
Примечание
Для испытания 6.2 и последующих испытаний подсистема Определение времени насыщения не функционирует.
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 6.2/Насыщение фазы C"
mkpath(results_path)
results_path = results_path * "/BG + CG"
ScenarioModule.set_delay!(scenario, 35);
# КЗ в двух точках
ScenarioModule.set_fault_type!(scenario, "K1", "BG", "K_delayed", "CG");
ScenarioModule.set_controlled_phase!(scenario, 6675, 0.087, phase='C');
# Фаза контроля прехода U через ноль - повреждённая фаза внешнего КЗ
scenario.controlled_phase = 2;
scenario.V_strt = [scenario.V_strt[1], -scenario.V_strt[2], scenario.V_strt[3]];
# Сохраняем сценарий
save_mode!(scenario)
engee.run(model); # Запуск симуляции
Обратное редактирование параметров после испытания:
engee.set_param!(scenario.path * "/KZ Switch", "Value" => 1.0)
Испытания 7
В испытание 7 участвуют две точки КЗ - К1 и К2. Внутреннее КЗ на фоне внешнего. Ожидается срабатывание защит менее чем за 60 мс и правильное определение повреждённых фаз.
КЗ в к К2 возникает через задержку после К1.
Первое КЗ (внешнее) происходит в иной фазе, нежели фаза внутреннего КЗ. Насыщение моделируется для фазы внутреннего КЗ. Поэтому контроль перехода через ноль осуществляется для фазы внешнего КЗ, а остаточное намагниченность принимается как для внутреннего КЗ с поправкой на знак апериодической составляющей.
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 7/Насыщение фазы B"
mkpath(results_path)
results_path = results_path * "/AG + BG"
ScenarioModule.set_delay!(scenario, 105);
# КЗ в двух точках
ScenarioModule.set_fault_type!(scenario, "K1", "AG", "K_delayed", "BG");
ScenarioModule.set_controlled_phase!(scenario, 6675, 0.087, phase='B');
# Фаза контроля прехода U через ноль — повреждённая фаза внешнего КЗ
scenario.controlled_phase = 1;
scenario.V_strt = [-scenario.V_strt[1], scenario.V_strt[2], -scenario.V_strt[3]];
# Сохраняем сценарий
save_mode!(scenario)
engee.run(model); # Запуск симуляции
Испытания 8
В испытание 8 точка КЗ - К1. Внешнее КЗ с насыщением ТТ в неповреждённой фазе. Ожидается несрабатывание защит.
Для испытания нужно внести следующие изменения в модель:
-
Изменить положение Switcher на отключение через выдержку в 100 мс
-
Включить сопротивление в нулевом проводе ТТ
-
Задать угол фазы A ноль градусов в S1
engee.set_param!(scenario.path * "/Q1 Switch", "Value" => 1.0)
engee.set_param!(scenario.path * "/CT", "use_R0" => true)
engee.set_param!(scenario.path * "/S1", "shift" => Dict("unit" => "deg", "value" => 0.0))
# Сохраняем результаты моделирования в соответсвующем каталоге
results_path = "COMTRADE/Испытание 8/Насыщение фазы A"
mkpath(results_path)
results_path = results_path * "/BCG"
ScenarioModule.set_delay!(scenario, 0);
# Задаём тип КЗ в точку K1
ScenarioModule.set_fault_type!(scenario, "K1", "BCG");
# Задаём контролируемую фазу (фаза с насыщением)
ScenarioModule.set_controlled_phase!(scenario, 8923, 0.108, phase='A', Kr=0.86);
# Сохраняем сценарий
save_mode!(scenario)
engee.run(model); # Запуск симуляции
Обратное редактирование параметров после испытания:
engee.set_param!(scenario.path * "/Q1 Switch", "Value" => 0.0)
engee.set_param!(scenario.path * "/CT", "use_R0" => false)
engee.set_param!(scenario.path * "/S1", "shift" => Dict("unit" => "deg", "value" => 6.86))
Заключение
В примере было рассмотрен ход тестирования устройства релейной защиты на соответствие требованиям ГОСТ-70358 в модели из приложения А4.2.
Вы можете дополнительно автоматизировать программу испытаний для вариации насыщаемых фаз, типов КЗ, кратностей токов и апериодических составляющих. Для моделирования насыщения предварительно потребуется собрать данные для пересчёта Вольт-Амперной характеристики ТТ.
Далее соберите все испытания в один скрипт, который с помощью цикла перебирает параметры модели в рамках испытаний и через программное управление запускает моделирование РИТМе.
Стандарт требует запись результатов испытаний в формате COMTRADE, в модели также представлены инструменты для записи результатов моделирования.
.png)