Skip to main content

Python-пакет для взаимодействия с RastrWin3

Project description

PyRastrWin

Python-пакет для взаимодействия с ПВК RastrWin3 x64(x32)

🚀 Описание проекта

PyRastrWin — это Python-библиотека, разработанная для взаимодействия с программным комплексом RastrWin3, который используется для моделирования и анализа электроэнергетических систем. Программный комплекс RastrWin3 предназначен для решения задач по расчету, анализу и оптимизации режимов электрических сетей и систем.

RastrWin используется более чем в 150 организациях на территории:

  • России
  • Казахстана
  • Киргизии
  • Беларуси
  • Молдовы
  • Монголии
  • Сербии

В России основными пользователями являются Системный Оператор Единой Энергетической Системы (СО ЕЭС) и его филиалы, Федеральная Сетевая Компания (ФСК), МРСК, проектные и научно-исследовательские институты (Энер-госетьпроект, ВНИИЭ, НИИПТ и т.д.).

Программные комплексы RastrWin, RastrWin3, Bars, Lincor, Rustab, RastrKZ, RastrMDP.

Пакет позволяет автоматизировать задачи, такие как:

  • Загрузка файлов с автоматическим определением шаблона в RastrWin3
  • Сохранение файлов с автоматическим определением шаблона в RastrWin3
  • Чтение и запись данных из таблиц RastrWin3
  • Интеграция с другими Python-инструментами для анализа данных и визуализации

🎯 Возможности

✅ Подключение к RastrWin3 через COM-интерфейс

✅ Чтение данных из таблиц (например, узловых данных, ветвей, генераторов)

✅ Запуск расчетов и анализ результатов

✅ Поддержка сценариев для автоматизации рутинных задач

🛠️ Требования

  • Python 3.10+

  • RastrWin3 (установленный и активированный)

  • Windows OS

🧩 Зависимости

  • pywin32 — для взаимодействия с COM-интерфейсом Windows

📦 Установка

Вы можете установить пакет с помощью pip:

pip install PyRastrWin

Или напрямую из репозитория:

pip install git+https://gitverse.ru/Shurik412/PyRastrWin.git

🚀 Примеры использования

📊 1. Подключение к RastrWin3

from PyRastrWin import RastrWin

# Создаем объект для взаимодействия
rastr = RastrWin()

# Открываем файл с моделью *.rst или любой другой шаблон 
rastr.load(filename="C:\\tmp\\test9.rst")

# Запускаем расчет режима клавиша `F5`
rastr.rgm()

# Сохраняем файл
rastr.save()

#
# Либо можно импортировать отдельные функции 

# import PyRastrWin
from PyRastrWin import rgm, load, save

# import pywin32
from win32com.client import Dispatch

# Создаем объект RastrWin с помощью lib pywin32
RASTR = Dispatch("Astra.Rastr")

# Открываем файл с моделью *.rst или любой другой шаблон
# Шаблон определяется через расширение загружаемого файла
load(rastr_win=RASTR, filename="C:\\tmp\\test9.rst")
# также можно загрузить по своему шаблону
# load(rastr_win=RASTR, filename="C:\\tmp\\test9.rst", name_template="режим")

# Запускаем расчет режима клавиша `F5`
rgm(rastr_win=RASTR)

# Сохраняем файл
# Шаблон определяется через расширение загружаемого файла
save(rastr_win=RASTR, filename="C:\\tmp\\test9.rst")

⚡ 2. Получение данных из модели

# Получение параметра "Мощность генерации P" узла по порядковому номеру 
value_param = rastr.get_node(param="pg", row=0)
print(value_param) # 50.0

⚡ 3. Изменение данных в модели

# Получение параметра "Мощность генерации P" узла по порядковому номеру
value_param_before = rastr.get_node(param="pg", row=0)
print(value_param_before) # 50.0

rastr.chenge_node(param="pg", row=0, value=60.0)

value_param_after = rastr.get_node(param="pg", row=0)
print(value_param_after) # 60.0

📚 Документация

Полная документация доступна по ссылке:
📖 Документация RastrPy

🤝 Вклад в проект

Мы приветствуем ваши идеи, исправления и новые функции!

Присылайте свои идеи на эл. почту shurik412@mail.ru.

Создавайте Issues или присылайте Pull Requests.

🧑‍💻 Авторы

  • Александр Охрименко — разработка и поддержка.
  • Служба электрических режимов/Филиал АО «СО ЕЭС» «Объединенное диспетчерское управление энергосистемы Центра»

⚖️ Лицензия

Этот проект лицензирован под GitVerse 1.0

Подробнее см. GitVerse 1.0.

Changelog

Все заметные изменения в этом проекте документируются в этом файле.

[0.1.5] - 2025-01-26

Added in [0.1.5]

  • Добавлены импорты
from PyRastrWin import rgm        # функция для расчета режима;
from PyRastrWin import calc_i_dop # функция пересчитывает допустимые токи нагрузки (ТНВ) на основе температуры воздуха и процента перегрузки по току;
from PyRastrWin import run        # Запускает расчет ЭМПП в режиме аналогичном, используемому командой пользовательского интерфейса «Динамика».;
from PyRastrWin import run_ems    # Проводит расчет и возвращает результат расчета ЭМПП в EMS-режиме;
from PyRastrWin import mdp        # Функция для расчета МДП;
from PyRastrWin import ekv        # Функция для Эквивалентирования модели;

Changed

  • Улучшена документация для API (README.md).

Fixed

[0.1.4] - 2025-01-08

Added in [0.1.4]

  • Добавлена возможность сохранять загруженный файл на выбор ползователя.
  • Добавлена возможноть получени и изменения параметров в таблице node (Узлы).
# Получение параметра "Мощность генерации P" узла по порядковому номеру
value_param_before = rastr.get_node(param="pg", row=0)
print(value_param_before) # 50.0

# Изменение параметра "Мощность генерации P" узла по порядковому номеру
rastr.chenge_node(param="pg", row=0, value=60.0)

value_param_after = rastr.get_node(param="pg", row=0)
print(value_param_after) # 60.0

[0.1.3] - 2025-01-08

Changed

  • Улучшена документация для API (README.md).

[0.1.2] - 2025-01-07

Added in [0.1.2]

  • Добавлена документация для API (README.md).

Fixed

  • Исправлены ошибки при импорте модуля logger.

[0.1.1] - 2025-01-07

Added in [0.1.1]

  • Первый релиз проекта.
  • Добавлены основные функции: загрузка и сохранение модели. Запуск расчета: Уст. режима, ЭМехПП в режиме Run и EMS, эквивалетирование.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrastrwin-0.1.5.tar.gz (32.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

PyRastrWin-0.1.5-py3-none-win_amd64.whl (38.0 kB view details)

Uploaded Python 3Windows x86-64

PyRastrWin-0.1.5-py3-none-win32.whl (38.0 kB view details)

Uploaded Python 3Windows x86

File details

Details for the file pyrastrwin-0.1.5.tar.gz.

File metadata

  • Download URL: pyrastrwin-0.1.5.tar.gz
  • Upload date:
  • Size: 32.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for pyrastrwin-0.1.5.tar.gz
Algorithm Hash digest
SHA256 094368324b98b78e7f7658a3e61b4bbcedf00ebb6e2d3c3055b2771885d481c1
MD5 2a4a52d60f4944706969110b5fe6361b
BLAKE2b-256 f59ec40e85db1f99b3576c71b460cc38547120d3fe1952a0548ca40325295979

See more details on using hashes here.

File details

Details for the file PyRastrWin-0.1.5-py3-none-win_amd64.whl.

File metadata

  • Download URL: PyRastrWin-0.1.5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for PyRastrWin-0.1.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a332991cd4ad588c8b02034e7ca537aae36ec9e137ed0b811c415c04ba77f915
MD5 44762957b3a48b06ef26496ab8f723c9
BLAKE2b-256 36e543cf078c06b1e81bd453a83a3f72b6afb72a9699b8b6999499aba7c02660

See more details on using hashes here.

File details

Details for the file PyRastrWin-0.1.5-py3-none-win32.whl.

File metadata

  • Download URL: PyRastrWin-0.1.5-py3-none-win32.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for PyRastrWin-0.1.5-py3-none-win32.whl
Algorithm Hash digest
SHA256 5e273ead7373cb56b914403664484261492460986a6e7b1118c2b903a40dac2e
MD5 9776d4363e6f08d022183b2113b017ed
BLAKE2b-256 7f392eec8d99b23ce8b98c4e69249197b81624fd2e057e65c84628870f71c710

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page