1

Тема: Модуль для расчета места повреждения на ЛЭП на Python3

Модуль для расчета места повреждения на ЛЭП на Python3

Две с небольшим недели назад или около того на форуме был поднят вопрос об учете тока параллельной линии при расчете ОМП.
В одном из ответов была ссылка на книгу Аржанникова Е.А. Лукоянова В.Ю. Мисриханова М.Ш. Определение места короткого замыкания на высоковольтных линиях электропередачи / Под ред. В.А. Шуина. - М: Энергоатомиздат, 2003.
Мне по работе частенько приходится использовать ручные способы ОМП, что то простенькое я реализовывал в Smath Studio, а после изучения вышеуказанной книги у меня возникло желание реализовать содержащиеся в данной книге упрощенные алгоритмы ОМП на языке Python 3.

Результатом неспешного кодирования стал следующий, крошечный по сравнению с МРТКЗ и MPVL, модуль MOMP - https://github.com/aspirmk/omp.

Алгоритм функционирования:
Заключается в использовании упрощенных формул ОМП и, при необходимости, переноса расчета на начало следующего участка, если результат расчета на предыдущем вышел за его длину.

Возможности:
- Как и многие приборы ОМП он позволяет разбивать линию на ряд участков (количество участков не ограничено)...
- Позволяет учитывать ток нулевой последовательности одной параллельной линии, подключенной к той же секции шин.
- Позволяет считать ОМП при всех видах КЗ (однофазных на землю (двухфазных на землю), двухфазных и трехфазных).
- Вид КЗ необходимо задавать вручную.
- Для КЗ на землю позволяет использовать различные поляризующие вектора (вектор нулевой последовательности, вектор обратной последовательности и вектор аварийной составляющей тока прямой последовательности)

Применение:
Код шаблона по применению модуля momp содержится в файле momp_primer.py
Он состоит из трех частей:
1. Задание мат.модели линии, что включает в себя:
1.1 создание объекта ЛЭП с помощью конструктора omp.lin(namе), где name - Наименование ВЛ;
1.2 поочередной создание объектов участков ВЛ omp.uch(line, name, L, Z1, Z0, Z0otv=0, M0=0, Z0otvpl=0, I1n=0)
line - ссылка на объект линии к которой будет добавлен данный участок
name - наименование участка ВЛ
L - длина участка линии, км
Z1 - удельное сопротивление прямой последовательности участка ВЛ
Z0 - удельное сопротивление нулевой последовательности участка ВЛ
Z0otv - сопротивление нулевой последовательности на землю отпайки с трансформатором с глухозаземленной нейтралью
M0 - удельное сопротивление взаимоиндукции нулевой последовательности с параллельной ВЛ, предполагается, что данная параллельная ВЛ подключена к той же секции шин и обладает соответствующим удельным сопротивлением нулевой последовательности
Z0otvpl - сопротивление нулевой последовательности на землю отпайки с трансформатором с глухозаземленной нейтралью от параллельной ВЛ
I1n - вектор  тока нагрузки подстанции фазы А
2. Задание типа повреждения и параметров предаварийного (вектор тока прямой последовательности) и аварийного режимов (векторов фазных токов и фазных напряжений и утроенного тока нулевой последовательности влияющей параллельной ЛЭП).
3. Запуск расчета c помощью метода calc объекта ЛЭП, в который в качестве параметров передаются вид КЗ и параметры предаварийного и аварийного режимов.

# -*- coding: utf-8 -*-
"""
Шаблон по применению модуля ОМП
"""
import momp as omp
import numpy as np


#ЗАДАНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ ВЛ
VL = omp.lin('Тестовая ВЛ')
U1 = omp.uch(VL, 'Участок 1', 10, 0.2+0.4j, 0.4+1.2j, M0=0.15+0.9j, Z0otvpl=60j, I1n=0)
U2 = omp.uch(VL, 'Участок 2', 15, 0.3+0.4j, 0.5+1.3j, Z0otv=60j, M0=0.15+0.85j, Z0otvpl=60j)
U3 = omp.uch(VL, 'Участок 3', 15, 0.3+0.4j, 0.5+1.3j, Z0otv=60j, I1n=0)


#ЗАДАНИЕ ПАРАМЕТРОВ АВАРИЙНОГО РЕЖИМА ДЛЯ РАСЧЕТА ОМП

''' Вид КЗ и тип поляризующего тока
'ABC' - Для расчета ОМП при трехфазных КЗ
'AB', 'BC', 'CA' - Для расчета ОМП при междуфазных КЗ, в качестве
    поляризующего тока используется составляющая тока обратной
    последовательности неповрежденной фазы
'A0', 'B0', 'C0' - Для расчета ОМП при КЗ на землю, в качестве
    поляризующего тока используется составляющая тока нулевой
    последовательности
'A0I2', 'B0I2', 'C0I2' - Для расчета ОМП при КЗ на землю, в качестве
    поляризующего тока используется составляющая тока обратной
    последовательности
'A0I1av', 'B0I1av', 'C0I1av' - Для расчета ОМП при КЗ на землю, в качестве
    поляризующего тока используется аварийная составляющая тока
    прямой последовательности'''
vidKZ = 'A0I1av'

# Вектор фазы А предаварийного тока
I1prav = 0 * np.exp((np.pi*1j/180) * (0))

# Вектора напряжений Ua,Ub,Uc в момент КЗ, В
Ua = 58084 * np.exp((np.pi*1j/180) * (-2.6))
Ub = 63820 * np.exp((np.pi*1j/180) * (-119.8))
Uc = 61966 * np.exp((np.pi*1j/180) * (116.8))

# Вектора токов Ia,Ib,Ic в момент КЗ, А
Ia = 4120 * np.exp((np.pi*1j/180) * (-64.6))
Ib = 525 * np.exp((np.pi*1j/180) * (132.8))
Ic = 2529 * np.exp((np.pi*1j/180) * (76.8))

# Вектор тока 3I0 параллельной ВЛ, А
I03pl = 1117 * np.exp((np.pi*1j/180) * (163.1))


# РАСЧЕТ ОМП И ВЫВОД РЕЗУЛЬТАТА
VL.calc(vidKZ, [Ua,Ub,Uc], [Ia,Ib,Ic], I1prav, I03pl)

Результатом выполнения данного кода является вывод предаварийного и аварийного режимов в начале линии и результат расчета ОМП в км:

РАСЧЕТ МЕСТА ПОВРЕЖДЕНИЯ ВЛ
Наименование ВЛ: Тестовая ВЛ
Параметры предаварийного и аварийного режимов:
I1пр.ав =       0 ∠    0.0
| UA  =   58084 ∠   -2.6 | UB  =   63820 ∠ -119.8 | UC  =   61966 ∠  116.8 |
| U1  =   61269 ∠   -1.8 | U2  =    2679 ∠  175.2 | 3U0 =    3160 ∠ -121.1 |
| UAB =  104094 ∠   30.4 | UBC =  110755 ∠  -92.0 | UCA =  103669 ∠  146.0 |
| IA  =    4120 ∠  -64.6 | IB  =     525 ∠  132.8 | IC  =    2529 ∠   76.8 |
| I1  =    2295 ∠  -59.9 | I2  =    1446 ∠  -91.9 | 3I0 =    2172 ∠  -23.7 |
| IAB =    4624 ∠  -62.7 | IBC =    2277 ∠ -114.2 | ICA =    6297 ∠  100.9 |
3I0пар.вл =    1117 ∠  163.1
Результат расчета ОМП для вида КЗ вида A0I1av -  25.62 км