Моделирование токовой направленной защиты нулевой последовательности ЛЭП 220 кВ#

 В продолжении темы моделирования устройств РЗиА (см. практическое руководство Дифференциально-токовая защита силового трансформатора) в данном практическом руководстве приводится обзор модели токовой направленной защиты нулевой последовательности (ТНЗНП) линии электропередач (ЛЭП) и воспроизведение её работы в рамках модели двухмашинной энергосистемы. Рассматриваемая модель ТНЗНП доступна в разделе Демо проекты.

Примечание

При рассмотрении практического руководства рекомендуем ознакомиться с демо проектом [DEMO] Токовая направленная защита нулевой последовательности ЛЭП 220кВ.

 В рамках данного практического руководства будут рассмотрены:

  • логика работы ТНЗНП ЛЭП на базе шкафа ШЭ2607 016 фирмы «ЭКРА» и ее реализация в REPEAT VISION;

  • построение векторных диаграмм реле направления мощности нулевой последовательности (РНМНП) с помощью встроенного в REPEAT VISION ноутбука JupyterLite;

  • функционирование разработанной модели ТНЗНП при различных возмущениях в тестовой схеме энергосистемы.

1.  Модель ТНЗНП#

1.1.  Описание модели энергосистемы#

 На рис. 1 приведена структурная схема двухмашинной энергосистемы с ТНЗНП линии электропередач.

Рис. 1 Структурная схема энергосистемы для исследования работы ТНЗНП ЛЭП

Рис. 1 Структурная схема энергосистемы для исследования работы ТНЗНП ЛЭП#

 Энергосистема на рис. 1 содержит:

  • два источника напряжением 220 [кВ];

  • две ЛЭП протяженностью 90 [км] и 30 [км];

  • нагрузку мощностью (80 + j60) [МВА];

  • силовые выключатели;

  • измерительные трансформатор тока (ТТ) и трансформатор напряжения (ТН).

 Защищаемый объект – ЛЭП 220 [кВ] суммарной протяженностью 90 [км] (для моделирования КЗ линия разбита на 3 участка длиной по 30 [км] каждый). На защищаемой ЛЭП установлено 2 комплекта защиты:

  • комплект A со стороны источника A;

  • комплект B – со стороны источника B.

Примечание

На рис. 1 обозначены также зоны срабатывания для каждого комплекта защиты с учетом направленности защит в линию.

 Параметры элементов схемы приведены в таблицах 1 – 2.

Таблица 1 Параметры для моделирования источника питания [1], (таблица 3.8)

Источник

\(U_{ном}\) [кВ]

Длина линии связи, [км]

Марка провода

Каталожные данные \(r_0\), [Ом/км]

Каталожные данные \(x_0\), [Ом/км]

Расчётные параметры \(l_0\), [Гн/км]

Расчётные параметры R, [Ом]

Расчётные параметры L, [Гн]

Источник A

220\(\cdot\)0.9

20

АС-240/32

0.118

0.435

0.001385

2.36

0.0277

Источник В

220\(\cdot\)0.9

100

АС-240/32

0.118

0.435

0.001385

11.8

0.1385

Таблица 2 Параметры для моделирования ЛЭП [1], (таблица 3.8)

Длина, [км]

Марка провода

Каталожные данные \(r_0\), [Ом/км]

Каталожные данные \(x_0\), [Ом/км]

Каталожные данные \(b_0\), [См/км]

Расчётные параметры \(l_0\), [Гн/км]

Расчётные параметры \(c_0\), [Ф/км]

90

АС-240/32

0.118

0.435

2.604\(\cdot10^{-6}\)

0.001385

8.289\(\cdot10^{-9}\)

30

АС-240/32

0.118

0.435

2.604\(\cdot10^{-6}\)

0.001375

8.289\(\cdot10^{-9}\)

1.2.  Описание модели ТНЗНП#

 Токовая направленная защита нулевой последовательности применяется в качестве резервной защиты от КЗ на землю в составе комплекта защиты ЛЭП напряжением 110 [кВ] и выше. ТНЗНП является защитой с относительной селективностью (т.е. реагирует как на повреждения в зоне защищаемой линии, так и в зоне смежной линии / трансформатора) и включает несколько ступеней с различным охватом защищаемой линии и ступенчатыми характеристиками выдержек времени [2].

 Логика работы ТНЗНП реализована на базе шкафа защиты линии типа ШЭ2607 016 фирмы «ЭКРА» [3]. Упрощенная функциональная схема логической части ТНЗНП [4] приведена на рис. 2.

Рис. 2 Упрощенная функциональная схема логической части ТНЗНП ШЭ2607 016

Рис. 2 Упрощенная функциональная схема логической части ТНЗНП ШЭ2607 016#

 Исследуемая защита выполнена четырехступенчатой, все ступени имеют направленность (т.е. срабатывают при определенном направлении мощности нулевой последовательности, которое определяется РНМНП). Направленность I и II ступеней обеспечивается срабатыванием разрешающего реле мощности (элементы 84 и 87), направленность III и IV ступеней – срабатыванием разрешающего или несрабатыванием блокирующего реле мощности (элементы 91 и 100).

Примечание

Блокирующее реле применяется в случае, когда чувствительность разрешающего РНМНП может быть недостаточной (например, на протяженных ЛЭП, отходящих от мощных источников питания; при малых сопротивлениях нулевой последовательности системы, примыкающей к месту установки защиты) [2]. Стоит отметить, что в рассматриваемой модели ТНЗНП применение блокирующего реле не связано с чувствительностью разрешающего РНМНП.

 Логика работы схемы на рис. 2 следующая: значение утроенного тока нулевой последовательности \(3I_0\) сравнивается с уставкой по току \(3I_0\) каждой ступени. При превышении уставки для какой-либо ступени срабатывает реле тока (РТ). Если также обеспечивается требуемая направленность мощности нулевой последовательности (на выходе элементов 84, 87, 91, 100 появляется логическая единица), то формируется сигнал на отключение выключателя (элементы 85, 88, 92, 101) с заданной выдержкой времени (элементы 86, 89, 96, 102).

Примечание

На рис. 2 также приведены элементы для формирования сигнала на отключение выключателя при оперативном ускорении (элементы 97, 103, 98) и ускорении защиты при включении выключателя (элементы 93, 94, 95). В рассматриваемой модели ТНЗНП эти функции не реализованы, но при необходимости Вы можете добавить их самостоятельно.

 Рассматриваемая далее модель ТНЗНП реализована в REPEAT VISION с помощью блока Jython, блоков библиотек Автоматика и Электроника. Последние применяются для моделирования токовых цепей в терминале защиты.

1.3.  Формирование утроенного тока и напряжения нулевой последовательности#

Рис. 3 Формирование 3I0 и 3U0 в схеме ТНЗНП

Рис. 3 Формирование 3I0 и 3U0 в схеме ТНЗНП#

 На рис. 3 приведен фрагмент схемы ТНЗНП, в котором происходит получение действующего значения и фазы утроенного тока и напряжения нулевой последовательности с помощью блоков Ряд Фурье блоки №11 и №552 и Усилитель (блоки №12 и №553 с коэффициентом усиления 1/√2). При этом значение \(3I_0\) получается расчетным путем из фазных токов по формуле (1) :

(1)#\[3 \dot I_0= \dot I_{А-НН}+ \dot I_{В-НН}+ \dot I_{С-НН}\]

где \( \dot I_{А-НН}, \dot I_{В-НН}, \dot I_{С-НН}\) – векторы фазных токов вторичных обмоток ТТ.

Значение \(3U_0\) формируется соединением третичной обмотки ТН по схеме «разомкнутый треугольник» (см. п. 2).

1.4.  Реализация логики работы разрешающего и блокирующего реле направления мощности нулевой последовательности#

 На рис. 4 приведен фрагмент схемы ТНЗНП с логикой работы разрешающего РНМНП. На рис. 5 приведены векторные диаграммы, поясняющие работу РНМНП.

Рис. 4 Реализация логики работы разрешающего РНМНП в схеме ТНЗНП

Рис. 4 Реализация логики работы разрешающего РНМНП в схеме ТНЗНП#

Рис. 5 Векторные диаграммы разрешающего (а) и блокирующего (б) РНМНП

Рис. 5 Векторные диаграммы разрешающего (а) и блокирующего (б) РНМНП#

Примечание

  • Векторная диаграмма строится относительно вектора напряжения \(3U_0\), вектор тока \(3I_0\), может занимать относительно него различные положения;

  • \(\phi_{м \hspace{1mm} ч}\) – угол максимальной чувствительности – угол между вектором напряжения \(3U_0\) и линией максимальных моментов;

  • Линия нулевых моментов – линия, расположенная перпендикулярно линии максимальных моментов;

  • Зона заклинивания реле заштрихована серым цветом;

  • Зона работы реле – это все, что не заштриховано серым цветом.

Пуск реле мощности происходит при превышении \(3I_0\) блок №551 и \(3U_0\) блок №544 тока блок №18 и напряжения блок №19 срабатывания реле соответственно. При этом для срабатывания реле необходимо также, чтобы сработал орган направления – из векторных диаграмм на рис. 5 это значит, что вектор тока \(3I_0\) должен находиться в зоне работы.

 Орган направления проверяет, попадает ли угол между векторами напряжения \(3U_0\) и тока \(3I_0\) в диапазон \(\phi_{м \hspace{1mm} ч}\) ± 90°. В используемом терминале для разрешающего реле \(\phi_{м \hspace{1mm} ч}\)=250°, для блокирующего – \(\phi_{м \hspace{1mm} ч}\)=70°. Логика сравнения расчетного угла с требуемым диапазоном реализована с помощью блока Jython блок №550, код блока (вкладка Код расчета) приведён ниже.

res_ph = in_1 # Угол между 3U0 и 3I0
ph_max = in_2 # Угол максимальной чувствительности

if res_ph >= 0.0: # Условие неотрицательности угла
    if (ph_max - 90) < res_ph < (ph_max + 90): # Условие срабатывания реле
        signal = 1.0
    else:
        signal = 0.0
else:
    if (ph_max - 90) < res_ph + 360 < (ph_max + 90):  # Условие срабатывания реле
        signal = 1.0
    else:
        signal = 0.0 

out_1 = signal

 Рассмотренная схема работы разрешающего реле справедлива также для блокирующего реле, различия заключаются в значении угла \(\phi_{м \hspace{1mm} ч}\).

1.5.  Реализация логики работы четырехступенчатой ТНЗНП#

 На рис. 6 приведена реализация в REPEAT VISION 4 ступеней срабатывания ТНЗНП в соответствии с логической схемой, приведенной на рис. 2.

Рис. 6 Реализация логики работы четырехступенчатой ТНЗНП

Рис. 6 Реализация логики работы четырехступенчатой ТНЗНП#

Для каждой ступени реализовано сравнение измеренного тока \(3I_0\) с уставкой (например, для 1 ступени это блок №5, блоки №8 и №9), проверка наличия сигнала от РНМНП (блоки №13, №509, №519, №521 для ступеней соответственно) и выдержка времени (блоки №15, №510, №520, №522 для ступеней соответственно). Сигналы от каждой ступени поступают на блок №30 Логическое ИЛИ и, если сработала хотя бы одна ступень, формируется сигнал на отключение выключателя. RS-триггер блок №488 и Задержка по включению блок №22 применяются для моделирования действия автоматического повторного включения (АПВ) линии.

Примечание

В данной модели реализована примитивная логика АПВ без контроля или улавливания синхронизма, контроля наличия напряжения на линии. В данном случае АПВ применяется для моделирования нескольких КЗ в разных местах схемы в течение длительного времени моделирования.

2.  Математическая модель для верификации алгоритма ТНЗНП#

 На рис. 7 приведена реализованная в REPEAT VISION модель двухмашинной энергосистемы с ТНЗНП ЛЭП 220 [кВ], структурная схема которой отражена на рис. 1.

Рис. 7 Схема для исследования работы ТНЗНП в REPEAT VISION

Рис. 7 Схема для исследования работы ТНЗНП в REPEAT VISION#

 Для моделирования приведенной энергосистемы использовались блоки библиотеки Электроника. ЛЭП представлены с помощью блоков Однофазная линия электропередачи, ТТ – Идеальный двухобмоточный трансформатор (коэффициент трансформации 600/5), ТН – Идеальный трёхобмоточный трансформатор (коэффициент трансформации (220/√3) / (0,1/√3)).

 Для лучшего восприятия топологии сети модель ТНЗНП сгруппирована и приведена в блоках №17 (комплект A) и №23 (комплект B). Также модель содержит три группы блоки №6, №21, №47, в которых приведены блоки для моделирования короткого замыкания, и две группы блоки №16 и №22 с блоками для моделирования трёхфазных ТН. На рис. 8 приведена одна из моделей трёхфазного ТН.

Рис. 8 Модель трёхфазного трансформатора напряжения

Рис. 8 Модель трёхфазного трансформатора напряжения#

Для первичной и вторичной обмоток реализована схема соединения «звезда», для третичной обмотки – «разомкнутый треугольник». Как отмечалось ранее, последняя схема позволяет измерить между двумя полученными выводами блоки №17 и №18 напряжение нулевой последовательности.

 В рамках данной схемы согласно [2] были рассчитаны параметры срабатывания комплектов защиты. Уставки по току и напряжения срабатывания разрешающего и блокирующего РНМНП для комплектов защиты одинаковы и равны соответственно 0.34 [А] и 1 [В] во вторичных величинах. Результаты расчетов других параметров защит во вторичных величинах приведены в таблицах 3 и 4.

Таблица 3 Результаты расчета параметров срабатывания комплекта A ТНЗНП

№ ступени

Уставка по току срабатывания, [А]

Выдержка времени, [с]

I

28.55

0.1

II

17.87

0.75

III

10.81

1.05

IV

9.31

1.35

Таблица 4 Результаты расчета параметров срабатывания комплекта В ТНЗНП

№ ступени

Уставка по току срабатывания, [А]

Выдержка времени, [с]

I

17.66

0.1

II

9.25

0.75

III

5.46

1.05

IV

5.4

1.35

3.  Реализация программы для построения векторной диаграммы РНМНП#

 Для анализа результатов работы модели с помощью встроенного в REPEAT VISION ноутбука JupyterLite была создана программа, код которой приведен в Приложении.

 Данная программа позволяет построить в зависимости от значения угла \(\phi_{м \hspace{1mm} ч}\) векторные диаграммы разрешающего (\(\phi_{м \hspace{1mm} ч}\) = 250°, рис. 9, а) или блокирующего (\(\phi_{м \hspace{1mm} ч}\) = 70°, рис. 9, б) реле направления мощности нулевой последовательности.

Рис. 9 Векторные диаграммы разрешающего (а) и блокирующего (б) РНМНП, построенные с помощью JupyterLite

Рис. 9 Векторные диаграммы разрешающего (а) и блокирующего (б) РНМНП, построенные с помощью JupyterLite#

Подсказка

  • Серый вектор на диаграмме строится под углом \(\phi_{м \hspace{1mm} ч}\) к вектору напряжения \(3U_0\). Следовательно, полуплоскость, в которой лежит этот вектор, является зоной работы реле.

  • При расположении вектора тока \(3I_0\), как на рис. 9, произойдет срабатывание разрешающего реле.

 Для наглядности векторные диаграммы реле также содержат векторы вторичных фазных напряжений. Для их построения в схему демо примера [DEMO] Токовая направленная защита нулевой последовательности ЛЭП 220кВ необходимо добавить блоки Ряд Фурье и Усилитель с коэффициентом усиления 1/√2 для получения действующего значения и фазы векторов. Добавление блоков для комплектов A (а) и B (б) отражено на рис. 10.

Рис. 10 Добавление блоков в модель для построения векторных диаграмм

Рис. 10 Добавление блоков в модель для построения векторных диаграмм#

4.  Проведение моделирования и оценка результатов#

 В приведенной энергосистеме были выполнены следующие расчётные эксперименты:

  1. Двухфазное КЗ на землю в точках К1 и К3;

  2. Однофазное КЗ в точке К2;

  3. Обрыв фазы B в точке К2;

  4. Двухфазное КЗ в точке К1.

4.1.  Двухфазное КЗ на землю#

 На рис. 11, 12, 13 и 14 приведены осциллограммы токов выключателей и векторные диаграммы при двухфазном КЗ на землю в исследуемой модели энергосистемы.

Рис. 11 Осциллограммы токов выключателей A (а) и B (б) (двухфазное КЗ на землю в точке К1)

Рис. 11 Осциллограммы токов выключателей A (а) и B (б) (двухфазное КЗ на землю в точке К1)#

Рис. 12 Векторные диаграммы блокирующего РНМНП комплекта A (а) и разрешающего РНМНП комплекта B (б) (двухфазное КЗ на землю в точке К1)

Рис. 12 Векторные диаграммы блокирующего РНМНП комплекта A (а) и разрешающего РНМНП комплекта B (б) (двухфазное КЗ на землю в точке К1)#

 КЗ в точке К1 находится в зоне работы комплекта защиты B (см. рис. 1), однако оно также расположено в непосредственной близости от комплекта A. В таком случае сработает блокирующее реле комплекта A (рис. 12, а) и выключатель A не будет отключен. Одновременно с этим срабатывает разрешающее РНМНП комплекта B (рис. 12, б) – происходит отключение выключателя B по факту срабатывания 2 ступени комплекта защиты B.

Примечание

Полученная векторная диаграмма фазных напряжений (рис. 12, а) совпадает с теоретической для двухфазного КЗ на землю в фазах B и C, что подтверждает корректность разработанной программы для построения векторной диаграммы.

Рис. 13 Осциллограммы токов выключателей A (а) и B (б) (двухфазное КЗ на землю в точке К3)

Рис. 13 Осциллограммы токов выключателей A (а) и B (б) (двухфазное КЗ на землю в точке К3)#

Рис. 14 Векторные диаграммы разрешающего РНМНП комплекта A (а) и блокирующего РНМНП комплекта B (б) (двухфазное КЗ на землю в точке К3)

Рис. 14 Векторные диаграммы разрешающего РНМНП комплекта A (а) и блокирующего РНМНП комплекта B (б) (двухфазное КЗ на землю в точке К3)#

Точка КЗ находится в зоне срабатывания комплекта A (см. рис. 1) и расположена близко к комплекту B. Однако при КЗ в этой точке выключатель B не отключается из-за срабатывания блокирующего реле, соответствующего комплекта (рис. 14, б). В тоже время, срабатывает разрешающее реле комплекта A (рис. 14, а) и по факту срабатывания 3 ступени защиты этого комплекта отключается выключатель A.

4.2.  Однофазное КЗ#

 На рис. 15 и 16 приведены осциллограммы токов выключателей и векторные диаграммы при однофазном КЗ в точке К2.

Рис. 15 Осциллограммы токов выключателей A (а) и B (б) (однофазное КЗ в точке К2)

Рис. 15 Осциллограммы токов выключателей A (а) и B (б) (однофазное КЗ в точке К2)#

Рис. 16 Векторные диаграммы разрешающего РНМНП комплекта A (а) и разрешающего РНМНП комплекта B (б) (однофазное КЗ в точке К2)

Рис. 16 Векторные диаграммы разрешающего РНМНП комплекта A (а) и разрешающего РНМНП комплекта B (б) (однофазное КЗ в точке К2)#

 КЗ в точке К2 находится в зоне срабатывания обоих комплектов защиты (см. рис. 1), следовательно, срабатывают оба комплекта. Поскольку место КЗ расположено ближе к месту установки защиты A, отключение выключателя A происходит по факту срабатывания 1 ступени защиты комплекта A, отключение выключателя B – по факту срабатывания 2 ступени комплекта защиты B.

4.3.  Обрыв фазы#

 Для моделирования обрыва фазы B в точке К2 использовалась группа блоков, которая приведена на рис. 17.

Рис. 17 Блоки для моделирования обрыва фазы с замыканием на землю с одной стороны

Рис. 17 Блоки для моделирования обрыва фазы с замыканием на землю с одной стороны#

В данном эксперименте рассмотрен случай обрыва фазного провода у гирлянды изоляторов на анкерной опоре [5]. Это значит, что конец провода с одной стороны опоры (в данном случае со стороны источника A) падает на землю – происходит замыкание на землю. С другой стороны опоры (со стороны источника B) из-за крепления на опоре и натяжения конец провода остаётся в подвешенном состоянии – возникает неполнофазный (несимметричный) режим работы.

 На рис. 18, 19 и 20 приведены осциллограммы токов выключателей, действующие значения токов \(3I_0\) и векторные диаграммы при обрыве фазы B в точке К2.

Рис. 18 Осциллограммы токов выключателей A (а) и B (б) (обрыв фазы B в точке К2)

Рис. 18 Осциллограммы токов выключателей A (а) и B (б) (обрыв фазы B в точке К2)#

Рис. 19 Действующие значения токов  комплектов A (а) и B (б) (обрыв фазы B в точке К2)

Рис. 19 Действующие значения токов \(3I_0\) комплектов A (а) и B (б) (обрыв фазы B в точке К2)#

Рис. 20 Векторные диаграммы разрешающего РНМНП комплекта A (а) и разрешающего РНМНП комплекта B (б, масштаб векторов 3U0 и 3I0 – 20:1) (обрыв фазы B в точке К2)

Рис. 20 Векторные диаграммы разрешающего РНМНП комплекта A (а) и разрешающего РНМНП комплекта B (б, масштаб векторов 3U0 и 3I0 – 20:1) (обрыв фазы B в точке К2)#

Несмотря на то, что точка К2 находится в области срабатывания обеих защит, срабатывает только комплект A, поскольку именно с его стороны наблюдается замыкание на землю – по факту срабатывания 1 ступени защиты (рис. 19, а) и разрешающего реле (рис. 20, а) отключается выключатель A. Со стороны комплекта B также срабатывает разрешающее РНМНП (рис. 20, б), однако величина тока нулевой последовательности \(3I_0\) оказывается недостаточной для срабатывания ступеней защиты (рис. 19, б), поэтому выключатель B остаётся в работе.

4.4.  Двухфазное КЗ#

 На рис. 21 – 22 приведены осциллограммы токов выключателей и действующие значения \(3U_0\) и \(3I_0\) при двухфазном КЗ в точке К1.

Рис. 21 Осциллограммы токов выключателей A (а) и B (б) (двухфазное КЗ в точке К1)

Рис. 21 Осциллограммы токов выключателей A (а) и B (б) (двухфазное КЗ в точке К1)#

Рис. 22 Действующие значения напряжений 3U0 (а) и токов 3I0 (б) комплектов A и B (двухфазное КЗ в точке К1)

Рис. 22 Действующие значения напряжений 3U0 (а) и токов 3I0 (б) комплектов A и B (двухфазное КЗ в точке К1)#

Комплекты защит не срабатывают, поскольку в случае междуфазного КЗ отсутствует связь с землёй и, как следствие, ток нулевой последовательности. Поэтому значения напряжений \(3U_0\) (рис. 22, а) и токов \(3I_0\) (рис. 22, б) практически не изменяются по сравнению с нормальным режимом работы энергосистемы.

5.  Выводы#

 В рамках данного практического руководства было приведено описание и реализация:

  • алгоритма работы ТНЗНП ЛЭП 220 [кВ] на базе шкафа ШЭ2607 016 фирмы «ЭКРА»;

  • энергосистемы для верификации алгоритма защиты;

  • программы для построения векторных диаграмм разрешающего и блокирующего РНМПН с помощью ноутбука JupyterLite;

  • опытов для проверки функционирования разработанной модели ТНЗНП.

 Анализ результатов экспериментов позволяет сделать вывод о корректном функционировании разработанной модели защиты. Данную модель ТНЗНП можно использовать не только в рамках приведённой энергосистемы, но и в других моделях для защиты линий электропередачи классом напряжения 110 [кВ] и выше, сохранив её в качестве пользовательского блока. При необходимости Вы также можете дополнить данную модель (например, усложнить логику АПВ) или разработать на её основе собственную модель защиты.

6.  Приложение#

 Для использования приведённого кода необходимо:

  • указать свой API ключ (переменная user) и номер проекта (переменная project);

  • указать корректное время моделирования проекта (переменная t_interval) и временную метку для построения векторной диаграммы (переменная TIME_MS);

  • задать пользовательские наименования выходных портов для действующих значений и фаз тока и напряжения нулевой последовательности, фазных напряжений при запуске модели на расчёт. В данном случае параметры задаются либо для комплекта A, либо для комплекта B.


#Импорт необходимых библиотек
import numpy as np
import matplotlib.pyplot as plt

#Импорт и установка пакета для соединения с рабочей областью в REPEAT VISION
import piplite
await piplite.install('repeat')
from repeat import User, Application, TimeInterval

#Подключение к профилю
user = User ('Ваш API ключ')
app = Application(user)
#Подключение к рабочей области
project = 68828
t_interval = TimeInterval(start = 0, end = 9000) # Время моделирования проекта
model = app.get_exploration_model(project,t_interval)

# Запуск расчёта и получение данных выходных портов из модели
with model as md:
    md.run(model.existing_variables)
    I0A_value = md.get_results('к.A_Действующее значение 3I0, А')
    I0A_phase = md.get_results('к.A_Фаза 3I0, град')
    U0A_value = md.get_results('к.A_Действующее значение 3U0, В')
    U0A_phase = md.get_results('к.A_Фаза 3U0, град')
    Ua_value = md.get_results('к.A_Действующее значение Ua, В')
    Ua_phase = md.get_results('к.A_Фаза Ua, град')
    Ub_value = md.get_results('к.A_Действующее значение Ub, В')
    Ub_phase = md.get_results('к.A_Фаза Ub, град')
    Uc_value = md.get_results('к.A_Действующее значение Uc, В')
    Uc_phase = md.get_results('к.A_Фаза Uc, град')

TIME_MS = 7550  # Время в мс для построения векторов
PHI_MAX_CH = 70  # Угол максимальной чувствительности (250 для разрешающего реле, 70 для блокирующего)
VECTOR_SCALE = 1  # Масштаб для векторов 3U0 и 3I0
X_PLOT_LIMITS = (-60, 60)  # Границы графика по оси X
Y_PLOT_LIMITS = (-60, 60)  # Границы графика по оси Y

# Расчет угла поворота векторов относительно 3U0
gamma = 90 - U0A_phase.iloc[TIME_MS]

# Определение граничного значения для заливки области несрабатывания
if PHI_MAX_CH == 250:
    x_limit = 70
elif PHI_MAX_CH == 70:
    x_limit = -70


def get_vector(length, phase, scale=1, color='black', name=None):
    """Построение вектора с заданными параметрами."""
    angle_rad = np.deg2rad(phase + gamma)
    x, y = length * np.cos(angle_rad), length * np.sin(angle_rad)
    plt.quiver(0, 0, x, y, angles='xy', scale_units='xy', scale=scale,
               color=color)

    if name:  # Определение оптимального размещения подписи вектора
        offset = 1.1
        ha_options = ['left', 'right']
        va_options = ['bottom', 'top']

        # Выравнивание подписи по положению вектора
        ha = ha_options[int(np.cos(angle_rad) < 0)]
        va = va_options[int(np.sin(angle_rad) < 0)]

        # Смещение подписи
        offset_x = offset if ha == 'left' else -offset
        offset_y = offset if va == 'bottom' else -offset

        plt.text(x / scale + offset_x, y / scale + offset_y, name,
                 color=color, fontsize=12, va=va, ha=ha,
                 bbox=dict(facecolor='white', alpha=0.7, edgecolor='none',
                           pad=1))


def plot_line(angle_deg, vector_length=60, linestyle='--', color='gray',
              label=None):
    """Построение прямой и вектора с заданным углом."""
    angle_rad = np.deg2rad(U0A_phase.iloc[TIME_MS] + angle_deg + gamma)
    x_line = np.linspace(*X_PLOT_LIMITS, 120)
    y_line = np.tan(angle_rad) * x_line
    plt.plot(x_line, y_line, linestyle=linestyle, color=color, label=label)

    if vector_length:  # Построение вектора, сонаправленного с линией
        x_vec, y_vec = vector_length * np.cos(
            angle_rad), vector_length * np.sin(angle_rad)
        plt.quiver(0, 0, x_vec, y_vec, angles='xy', scale_units='xy', scale=1,
                   color=color)


# Построение линий максимального и минимального моментов
plot_line(-PHI_MAX_CH, label='Линия максимальных моментов')
plot_line(-PHI_MAX_CH - 90, vector_length=None, color='red',
          label='Линия нулевых моментов')

# Заливка области несрабатывания реле
x_line = np.linspace(*X_PLOT_LIMITS, 120)
y_line = np.tan(
    np.deg2rad(U0A_phase.iloc[TIME_MS] - PHI_MAX_CH - 90 + gamma)) * x_line
plt.fill_between(x_line, y_line, x_limit, alpha=0.5, color='gray')

# Построение векторов фазных напряжений
data = {
    'Ua': {'value': Ua_value, 'phase': Ua_phase},
    'Ub': {'value': Ub_value, 'phase': Ub_phase},
    'Uc': {'value': Uc_value, 'phase': Uc_phase}
}

for vec_name, vec_data in data.items():
    get_vector(vec_data['value'].iloc[TIME_MS],
               vec_data['phase'].iloc[TIME_MS],
               color='blue',
               name=vec_name)

# Построение векторов 3U0 и 3I0
get_vector(U0A_value.iloc[TIME_MS], U0A_phase.iloc[TIME_MS], VECTOR_SCALE,
           'crimson', '3U0')
get_vector(I0A_value.iloc[TIME_MS], I0A_phase.iloc[TIME_MS], VECTOR_SCALE,
           'green', '3I0')

# Настройка графика
plt.gca().set_aspect('equal', adjustable='box')
plt.xlim(X_PLOT_LIMITS)
plt.ylim(Y_PLOT_LIMITS)
plt.legend(loc='lower left')
plt.grid(linewidth=0.3)
plt.show()

7.  Источники#