Расчёт установившегося режима pandapower — различия между версиями
Kovalenik (обсуждение | вклад) |
Windsl (обсуждение | вклад) (→Расчёт установившегося режима) |
||
(не показано 9 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
[[Файл:Рассматриваемая сеть.png|мини|600px| Рис. 1 - Рассматриваемая сеть]] | [[Файл:Рассматриваемая сеть.png|мини|600px| Рис. 1 - Рассматриваемая сеть]] | ||
− | В данной статье приводится описание примера расчёта установившегося режима с использованием Python библиотеки [[ | + | В данной статье приводится описание примера расчёта [[Установившийся режим|установившегося режима]] с использованием Python библиотеки [[pandapower]]. |
− | Структура данных pandapower основана на библиотекe python-a pandas. | + | Структура данных [[pandapower]] основана на библиотекe python-a pandas. Электрическая сеть [[pandapower]] состоит из таблиц для каждого типа элемента сети. Например, отдельная таблица для [[трансформатор]]ов, отдельная для [[Линия электропередачи|линий электропередачи]] и т.д. Каждая таблица элементов сети состоит из столбца для каждого параметра и строки для каждого элемента сети. С помощью программного кода можно генерировать различные элементы сети. |
− | Данный пример содержит все наиболее распространенные элементы, поддерживаемые | + | Данный пример содержит все наиболее распространенные элементы, поддерживаемые [[pandapower]] (рис.1). Для создания сети предварительно необходимо импортировать библиотеку и создать объект “PandapowerNet”, который будет содержать в себе всю необходимую информацию об [[Электрическая сеть|электрической сети]] и её элементах. |
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
Строка 14: | Строка 14: | ||
== 1. Bus (узел, шина) == | == 1. Bus (узел, шина) == | ||
− | [[Файл:Таблица1. Список узлов.png|мини| | + | [[Файл:Таблица1. Список узлов.png|мини|400px| Таблица 1. Список узлов]] |
Необходимо создать три высоковольтных (vn_kv = 110) и шесть шин среднего напряжения (vn_kv = 20): | Необходимо создать три высоковольтных (vn_kv = 110) и шесть шин среднего напряжения (vn_kv = 20): | ||
Строка 33: | Строка 33: | ||
== 2. External Grid (внешняя сеть) == | == 2. External Grid (внешняя сеть) == | ||
− | [[Файл: | + | [[Файл:Список внешних сетей.png|мини|500px| Таблица 2. Список внешних сетей]] |
− | Теперь создадим внешнюю сеть, которая служит балансирующим узлом для вычисления потока мощности. Напряжение внешней сети устанавливается 1,02 о.е. и с углом | + | Теперь создадим внешнюю сеть, которая служит [[Балансирующий узел|балансирующим узлом]] для вычисления потока мощности. Напряжение внешней сети устанавливается 1,02 о.е. и с углом 50 градусов: |
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
Строка 46: | Строка 46: | ||
== 3. Transformer (трансформатор) == | == 3. Transformer (трансформатор) == | ||
− | [[Файл: | + | [[Файл:Список трансформаторов.png|мини|500px| Таблица 3. Список трансформаторов]] |
− | + | [[Трансформатор]]ы могут быть созданы либо из библиотеки стандартных типов (create_transformer), либо с помощью настраиваемых значений (create_transformer_from_parameters). | |
− | Высоковольтная | + | Высоковольтная вывод обмотки [[трансформатор]]а подключен к узлу "bus3", а на стороне среднего напряжения [[трансформатор]] связан с "bus4". Выбран стандартный тип «25 MVA 110/20 kV v1.4.3 and older» из базовой библиотеки стандартного типа [[pandapower]]: |
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
Строка 61: | Строка 61: | ||
== 4. Lines (линии) == | == 4. Lines (линии) == | ||
− | [[Файл: | + | [[Файл:Список линий.png|мини|500px| Таблица 4. Список линий]] |
− | Линии, также как и | + | [[Линия электропередачи|Линии электропередачи]], также как и [[трансформатор]]ы, могут быть созданы либо из библиотеки стандартных типов (create_line), либо с помощью настраиваемых значений (create_line_from_parameters). |
Сеть включает в себя три линии среднего напряжения и одну линию высокого напряжения: | Сеть включает в себя три линии среднего напряжения и одну линию высокого напряжения: | ||
Строка 79: | Строка 79: | ||
== 5. Switches (выключатели) == | == 5. Switches (выключатели) == | ||
− | [[Файл: | + | [[Файл:Список выключателей.png|мини|500px| Таблица 5. Список выключателей]] |
− | Выключатель может соединять либо две шины (bus-bus switch) либо шину с концом линии / | + | [[Выключатель]] может соединять либо две шины (bus-bus switch) либо шину с концом линии / [[трансформатор]]ом (bus-element switch). |
− | На стороне высокого и низкого напряжения | + | На стороне высокого и низкого напряжения [[трансформатор]]а имеются два выключателя, которые соединяют две шины (Bus2-Bus3 и Bus4-Bus5). Эти переключатели шины могут быть определены с помощью et = "b": |
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
Строка 94: | Строка 94: | ||
== 6. Load (нагрузка) == | == 6. Load (нагрузка) == | ||
− | [[Файл: | + | [[Файл:Список нагрузок.png|мини|500px| Таблица 6. Список нагрузок]] |
− | Элемент нагрузки по умолчанию используется для моделирования постоянной активной и реактивной мощности. Мы создаем нагрузку 2 МВт + 4 | + | Элемент нагрузки по умолчанию используется для моделирования постоянной активной и реактивной мощности. Мы создаем нагрузку 2 МВт + 4 Мвар с коэффициентом масштабирования 0,6: |
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
Строка 107: | Строка 107: | ||
== 7. Static generator (статический генератор) == | == 7. Static generator (статический генератор) == | ||
− | [[Файл: | + | [[Файл:Список статических генераторов.png|мини|500px| Таблица 7. Список статических генераторов]] |
− | Статические генераторы моделируются как отрицательные нагрузки PQ. Этот элемент используется для моделирования генераторов с постоянным | + | Статические генераторы моделируются как отрицательные нагрузки PQ. Этот элемент используется для моделирования генераторов с постоянным значением активной и реактивной мощости. Мощность генерации задается со знаком «-»: |
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
Строка 116: | Строка 116: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | После обращения к таблице с исходными данными по статическим | + | После обращения к таблице с исходными данными по статическим [[генератор]]ам появится таблица 7. |
== 8. Voltage controlled generator (генератор) == | == 8. Voltage controlled generator (генератор) == | ||
− | [[Файл: | + | [[Файл:Список генераторов.png|мини|500px| Таблица 8. Список генераторов]] |
− | Генератор используется для моделирования генерации мощности с заданным значением величины напряжения и фиксированной выдачей активной мощности. Точное соблюдение величины напряжения при | + | Генератор используется для моделирования генерации мощности с заданным значением величины модуля напряжения и фиксированной выдачей активной мощности. Точное соблюдение величины напряжения при расчёте потокораспределения достигается настройкой шины генератора в качестве узла PV: |
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
Строка 133: | Строка 133: | ||
== 9. Shunt (шунт) == | == 9. Shunt (шунт) == | ||
− | [[Файл: | + | [[Файл:Список шунтов.png|мини|500px| Таблица 9. Список шунтов]] |
Шунт определяется его активным и реактивным потреблением мощности при номинальном напряжении: | Шунт определяется его активным и реактивным потреблением мощности при номинальном напряжении: | ||
Строка 144: | Строка 144: | ||
После обращения к таблице с исходными данными по шунтам появится таблица 9. | После обращения к таблице с исходными данными по шунтам появится таблица 9. | ||
− | == | + | == Расчёт установившегося режима == |
− | [[Файл: | + | [[Файл:Расчет установившегося режима по узлам.png|мини|500px| Таблица 10. Результат установившегося режима по узлам]] |
− | [[Файл: | + | [[Файл:Расчет установившегося режима по линиям.png|мини|600px| Таблица 11. Результат установившегося режима по линиям]] |
− | Расчет установившегося режима запускается следующим образом: | + | Расчет [[Установившийся режим|установившегося режима]] запускается следующим образом: |
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
− | pp.runpp(net)#запуск | + | pp.runpp(net)#запуск расчёта |
net.res_bus #показать напряжения узлов | net.res_bus #показать напряжения узлов | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 165: | Строка 165: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | После обращения к таблице с результатами установившегося режима по линиям появится таблица 11. | + | После обращения к таблице с результатами расчёта [[Установившийся режим|установившегося режима]] по линиям появится таблица 11. |
− | Также можно отобразить и другие результаты установившегося режима: результат по внешней сети (res_ext_grid); результат по нагрузке (res_load); результат по статическим | + | Также можно отобразить и другие результаты расчёта [[Установившийся режим|установившегося режима]]: результат по внешней сети (res_ext_grid); результат по [[Нагрузка|нагрузке]] (res_load); результат по статическим [[генератор]]ам (res_sgen); результат по шунтам (res_shunt); результат по генераторам (res_gen); результат по [[трансформатор]]ам (res_trafo). |
− | [[Категория: | + | |
+ | [[Категория:Pandapower]] |
Текущая версия на 20:08, 12 декабря 2018
В данной статье приводится описание примера расчёта установившегося режима с использованием Python библиотеки pandapower.
Структура данных pandapower основана на библиотекe python-a pandas. Электрическая сеть pandapower состоит из таблиц для каждого типа элемента сети. Например, отдельная таблица для трансформаторов, отдельная для линий электропередачи и т.д. Каждая таблица элементов сети состоит из столбца для каждого параметра и строки для каждого элемента сети. С помощью программного кода можно генерировать различные элементы сети.
Данный пример содержит все наиболее распространенные элементы, поддерживаемые pandapower (рис.1). Для создания сети предварительно необходимо импортировать библиотеку и создать объект “PandapowerNet”, который будет содержать в себе всю необходимую информацию об электрической сети и её элементах.
import pandapower as pp #импорт библиотеки pandapower
net = pp.create_empty_network()#создание объекта "pandapowerNet" с именем net
Содержание
1. Bus (узел, шина)
Необходимо создать три высоковольтных (vn_kv = 110) и шесть шин среднего напряжения (vn_kv = 20):
bus1 = pp.create_bus(net, name="HV Busbar", vn_kv=110, type="b") #создание шины
bus2 = pp.create_bus(net, name="HV Busbar 2", vn_kv=110, type="b")
bus3 = pp.create_bus(net, name="HV Transformer Bus", vn_kv=110, type="n")
bus4 = pp.create_bus(net, name="MV Transformer Bus", vn_kv=20, type="n")
bus5 = pp.create_bus(net, name="MV Main Bus", vn_kv=20, type="b")
bus6 = pp.create_bus(net, name="MV Bus 1", vn_kv=20, type="b")
bus7 = pp.create_bus(net, name="MV Bus 2", vn_kv=20, type="b")
net.bus #показать таблицу узлов
После обращения к таблице с исходными данными по узлам появится таблица 1.
2. External Grid (внешняя сеть)
Теперь создадим внешнюю сеть, которая служит балансирующим узлом для вычисления потока мощности. Напряжение внешней сети устанавливается 1,02 о.е. и с углом 50 градусов:
pp.create_ext_grid(net, bus1, vm_pu=1.02, va_degree=50) #cоздание внешней сети
net.ext_grid #показать таблицу внешних сетей
После обращения к таблице с исходными данными по внешним связям появится таблица 2.
3. Transformer (трансформатор)
Трансформаторы могут быть созданы либо из библиотеки стандартных типов (create_transformer), либо с помощью настраиваемых значений (create_transformer_from_parameters).
Высоковольтная вывод обмотки трансформатора подключен к узлу "bus3", а на стороне среднего напряжения трансформатор связан с "bus4". Выбран стандартный тип «25 MVA 110/20 kV v1.4.3 and older» из базовой библиотеки стандартного типа pandapower:
trafo = pp.create_transformer(net, hv_bus=bus3, lv_bus=bus4, std_type="25 MVA 110/20 kV v1.4.3 and older", name="Trafo") #cоздание трансформатора
net.trafo #показать таблицу трансформаторов
После обращения к таблице с исходными данными по трансформторам появится таблица 3.
4. Lines (линии)
Линии электропередачи, также как и трансформаторы, могут быть созданы либо из библиотеки стандартных типов (create_line), либо с помощью настраиваемых значений (create_line_from_parameters).
Сеть включает в себя три линии среднего напряжения и одну линию высокого напряжения:
line1 = pp.create_line(net, bus1, bus2, length_km=10, std_type="N2XS(FL)2Y 1x300 RM/35 64/110 kV", name="Line 1")#cоздание линии
line2 = pp.create_line(net, bus5, bus6, length_km=2.0, std_type="NA2XS2Y 1x240 RM/25 12/20 kV", name="Line 2")
line3 = pp.create_line(net, bus6, bus7, length_km=3.5, std_type="48-AL1/8-ST1A 20.0", name="Line 3")
line4 = pp.create_line(net, bus7, bus5, length_km=2.5, std_type="NA2XS2Y 1x240 RM/25 12/20 kV", name="Line 4")
net.line #показать таблицу линий
После обращения к таблице с исходными данными по линиям появится таблица 4.
5. Switches (выключатели)
Выключатель может соединять либо две шины (bus-bus switch) либо шину с концом линии / трансформатором (bus-element switch).
На стороне высокого и низкого напряжения трансформатора имеются два выключателя, которые соединяют две шины (Bus2-Bus3 и Bus4-Bus5). Эти переключатели шины могут быть определены с помощью et = "b":
sw1 = pp.create_switch(net, bus2, bus3, et="b", type="CB", closed=True) #создание выключателя
sw2 = pp.create_switch(net, bus4, bus5, et="b", type="CB", closed=True)
После обращения к таблице с исходными данными по выключателям появится таблица 5.
6. Load (нагрузка)
Элемент нагрузки по умолчанию используется для моделирования постоянной активной и реактивной мощности. Мы создаем нагрузку 2 МВт + 4 Мвар с коэффициентом масштабирования 0,6:
pp.create_load(net, bus7, p_kw=2000, q_kvar=4000, scaling=0.6, name="load") #cоздание нагрузки
net.load #показать таблицу нагрузок
После обращения к таблице с исходными данными по нагрузкам появится таблица 6.
7. Static generator (статический генератор)
Статические генераторы моделируются как отрицательные нагрузки PQ. Этот элемент используется для моделирования генераторов с постоянным значением активной и реактивной мощости. Мощность генерации задается со знаком «-»:
pp.create_sgen(net, bus7, p_kw=-2000, q_kvar=500, name="static generator") #создание статического генератора
net.sgen #показать таблицу статических генераторов
После обращения к таблице с исходными данными по статическим генераторам появится таблица 7.
8. Voltage controlled generator (генератор)
Генератор используется для моделирования генерации мощности с заданным значением величины модуля напряжения и фиксированной выдачей активной мощности. Точное соблюдение величины напряжения при расчёте потокораспределения достигается настройкой шины генератора в качестве узла PV:
pp.create_gen(net, bus6, p_kw=-6000, max_q_kvar=3000, min_q_kvar=-3000, vm_pu=1.03, name="generator") #создание генератора
net.gen #показать таблицу генераторов
После обращения к таблице с исходными данными по генераторам появится таблица 8.
9. Shunt (шунт)
Шунт определяется его активным и реактивным потреблением мощности при номинальном напряжении:
pp.create_shunt(net, bus3, q_kvar=-960, p_kw=0, name='Shunt') #создаем шунт
net.shunt #показать таблицу шунтов
После обращения к таблице с исходными данными по шунтам появится таблица 9.
Расчёт установившегося режима
Расчет установившегося режима запускается следующим образом:
pp.runpp(net)#запуск расчёта
net.res_bus #показать напряжения узлов
После обращения к таблице с результатами по напряжениям узлов появится таблица 10.
Отобразить потоки по линиям можно следующим образом:
net.res_line
После обращения к таблице с результатами расчёта установившегося режима по линиям появится таблица 11.
Также можно отобразить и другие результаты расчёта установившегося режима: результат по внешней сети (res_ext_grid); результат по нагрузке (res_load); результат по статическим генераторам (res_sgen); результат по шунтам (res_shunt); результат по генераторам (res_gen); результат по трансформаторам (res_trafo).