Найти тему
Геннадий Антонов

Big data и парсинг файлов РЗА Sepam

Друзья, давайте сегодня поговорим о больших данных в области релейной защиты и автоматики.

Для тех кто не знает, микропроцессорные устройства релейной защиты и автоматики Sepam, хранят свою конфигурацию в файле настроек, с расширением, которое соответствует его типу.

Разумеется, производитель оборудования предоставляет свою программу, для работы с файлом конфигурации - SFT2841.

Как обычно, данное ПО имеет ряд таких ограничений как:

1) Можно работать только с одним файлом

2) Выгрузить настройки можно только в pdf и там такой неудобочитаемый формат

3) Какой то анализ большого количества файлов там невозможен

а также многое другое.

Словом это обычное ПО расчитанное на обычный "ручной" труд инженера электрика, перед которым жизнь ставит "интересные" задачи :)

Например, у нас имеется 300 устройств Sepam.

Устройства типов S81, S82, B83, M81 и T82.

300 файлов настроек Sepam, которые нужно проанализировать
300 файлов настроек Sepam, которые нужно проанализировать

Допустим также, что у нас поставлена задача проанализировать данные настройки ВСЕХ защит, которые имеются на таком количестве устройств.

Ситуация осложняется тем, что настройки одних и тех же защит везде разные.

Нам же нужна полная картина - с каким настройками одна и та же защита установлена на разных присоединениях.

Лучше всего, если бы настройки всех защит свести в таблицу Excel и там удобно отфильтровывать нужные параметры в несколько кликов.

Вариант с SQL я пока не рассматриваю, Excel для такого количества хватит выше крыши.

Теперь давайте прикинем.

Для устройств Sepam этих 5 типов возможно всего 25 типов уникальных защит.

То есть, например на типе Sepam T82 - 19 типов защит, на Sepam M81 - 21 доступный тип защит для активации.

Есть защиты одинаковые, есть защиты специфичные для определенного типа устройств Sepam, мы берем только уникальные - 25 штук.

Методом анализа (как, об это чуть позже), определяем, что для из 25 возможных типов защит, используется 14.

Каждая настройка защиты может принимать, как 1 значение (например ток, напряжение, время), так и несколько значений, вплоть до 18 - например типы кривых защит.

При выгрузке настроек, для 300 устройств 14 типов защит получается 104 700 параметров.

Немало.

А если посчитать количество всех возможных значений, который может принять тот или иной параметр?

Для 14 типов защит, если брать все ступени, а нам нужны все, получается 8801 возможных значений.

8801 умножаем на 300 устройств, получаем 2 640 300 возможных значений, которые нам нужно не только оценить, но еще что нибудь с ними сделать.

Если взять среднюю повесть в 70 000 слов, а 1 параметр за 1 слово, то нам нужно прочитать примерно 37 повестей.

Как-то многовато для одного человека, не правда ли?

Ладно бы еще эти 37 повестей были бы интересные, так ведь там одни сухие цифры ....

При этом неплохо было бы сравнить старые настройки защит и новые между собой, а это еще такое же количество значений ложится плюсом сверху.

Но это совершенно не проблема, если мы подключим навыки программирования и средства автоматизации на Python.

Однако хватит пугать, давайте перейдем к реализации такого автоматизированного подхода.

Файлы релейной защиты Sepam имеют одну интересную особенность - они хранят свои данные в текстовом виде, в котором настройки защит имеют вид обычных слов, а возможные значения этих настроек - числа.

Файл конфигурации Sepam, открытый в обычном блокноте. Настройки для защиты 50/51
Файл конфигурации Sepam, открытый в обычном блокноте. Настройки для защиты 50/51

Программа SFT2841 кодирует эти параметры для защит способом, который никак не документирован. Тем не менее я выяснил эти способы, потратив достаточное количество времени на исследовательскую работу.

Благодаря этой особенности Sepam, мы можем извлечь из файлов конфигураций все необходимые данные о защитах и других параметрах.

Разумеется, если имеются на руках все файлы конфигурации.

Скрипт проходит по всем файлам конфигурации и выделяет наши возможные 14 типов защит в табличный вид Excel.

Программа на Питон для парсинга файлов Sepam в работе
Программа на Питон для парсинга файлов Sepam в работе

Сформированный отчет файл Excel
Сформированный отчет файл Excel
строки с данными в количестве 10920
строки с данными в количестве 10920

Имея данные настроек защит в таблице, пользуясь фильтрами, даже визуально очень легко отследить любые возможные отклонения от нормы - ошибки.

фильтр по защите 50/51
фильтр по защите 50/51

отклонение от нормы в типе кривой. Возможная ошибка.
отклонение от нормы в типе кривой. Возможная ошибка.

Не говоря уже о том, что можно использовать множество других автоматизированных методов для анализа.

Также, с помощью средств автоматизации, можно легко сравнить два набора файлов конфигураций - старый и новый, и отметить те настройки, которые были изменены.