Тема: Модуль для расчета места повреждения на ЛЭП на 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 км