Relay Lab - это библиотека, предназначенная для простой работы с аварийными осциллограммами в формате COMTRADE в jupiter notebook. Предназначана для исследовательских и учебных целей, когда программы просмотра осциллограмм не обеспечивают необходимую гибкость в работе с осциллограммами.
Библиотека позволяет:
- загружать осциллограммы в формате comtrade;
- генерировать сигналы тока и напряжения;
- выполнять манипуляции с аналоговыми и логическими сигналами: сложение, вычитание, расчет диф. токов, сопротивлений, сравнение с уставками и пр.
- строить интерактивные графики сигналов и характеристики срабатывания защит.
В составе библиотеки находится набор осциллограмм, типичных для энергосистемы.
Для предварительного просмотра примеров on-line перейдите по ссылке на nbviewer.
В примерах, в которых применяется элемент widget, обеспечивающий интерактивность, графики при предварительном просмотре не отображаются. Для полноценного взаимодействия необходимо выполнить одно из действий на выбор:
- установить программу Anaconda c Jupiter Notebook, согласно инструкции ниже;
- открыть jupiter notebook online в предварительном просмотре на сервисе nbviewer (кнопка Execute on Binder в правом верхнем углу).
- Anaconda преставляет собой дистрибутив, включающий набор популярных библиотек для анализа данных. Мы будем пользоваться программой jupiter notebook.
- plotly 5.18.0 или более новая.
- Загружаем дистрибутив Anaconda
- Создаем рабочую папку. В нее помещаем папку 'notebooks', которую загружаем из репозитория. В данной папке находятся примеры файлов jupiter notebook в которых выполнен анализ типичных осциллограмм.
- Запускаем jupiter notebook, который установился при установке Anaconda. В интерфейсе jupiter notebook выбираем рабочую папку. Открываем или создаем новый файл.
- Загружаем библиотеку relaylab:
pip install https://github.com/selkovevgeny/RelayLab/archive/master.zip
Допустимо копировать папку relaylab из репозитория в рабочую папку.
5. Подключаем функцию подсказки и дополнения кода. Ссылка на инструкцию: https://russianblogs.com/article/40391171020/
Пример загрузки осциллограммы:
from relay_lab import equipment as eqp, signals as sg, record, characteristics, functions as func
from relay_lab.signals import color
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import numpy as np
rec = record.examples.transformer_short_circuit_out_zone
print(rec)
Больше примеров смотрите в папке 'notebooks', которую можно загрузить из репозитория.
При обнаружении ошибок или наличии предложений по развитию библиотеки обращайтесь в профиль ВК или пишите на email.
Библиотека доступна на GitHub под лицензией MIT.