В информационных системах российских распределительных сетей трудностей немало, одна из самых весомых — отсутствие достоверных данных о распределительной сети 0.4-20 кВ, важных для формирования обоснованной инвестиционной программы.

В СИГМЕ комплексные задачки любят. Поэтому отдел решений по автоматизации расчетов технических условий, чья работа напрямую зависит от достоверности данных, взялся за создание универсального инструмента для их выверки. И начали мы с разработки механизма загрузки и выгрузки данных с помощью конструктора на базе стандартов CIM (Common Information Model, electricity).

Команда работала над модулем выверки в рамках СИГМА СУС — решения нашей компании для управления распределительными электрическими сетями. Однако созданный конструктор и наши рекомендации будут полезны не только тем, кто занимается выверкой данных в распределительных электросетевых компаниях, но и тем, кто работает с показателями на других проектах.  

С чего мы начали

За годы работы мы накопили неплохой опыт по загрузке и верификации данных из следующих информационных систем: РТП-3, Omnis, Quasy-Q3, СУПА на базе SAP, КГИС Горизонт, ИВК-СЭС, Пирамида, VISIO и других. Но нашим знаниям стандартов и методологии CIM не хватало глубины.

В первую очередь, мы изучили российские стандарты ГОСТ Р 58651.1-2019 и ГОСТ Р 58651.2−2019. Но с учетом их направленности преимущественно на высоковольтные сети (110кВ и выше), а также длительных сроков утверждения, мы обратили внимание на европейские стандарты от IEC. Основным документом CIM, выбранным для изучения, стал IEC 61970-301:2016.

Загрузка данных

За несколько лет нам удалось разработать специальные шаблоны Excel, на которых базируется ручная выверка данных, проводимая операторами и аналитиками. Нам было важно сохранить этот опыт, поэтому мы решили создать программу разбора CIM XML файлов, в которой бы на первом этапе динамически создавались именно плоские таблицы (под плоскими понимаются таблицы без иерархической структуры) со всем атрибутивным составом с последующей записью в них исходных данных в полном объеме.

С точки зрения программирования любой приходящий файл мы, в первую очередь, представляем как шаблон. В нашем случае шаблонов оказалось два: DMS[1] и TM[2]. Соответственно, для формирования шаблона типовой файл должен содержать максимальное количество структурных элементов.

Ниже представлен небольшой фрагмент полученного (типового) XML файла типа TM:

Чтобы контролировать и обеспечивать целостность данных, мы обратились к существующим стандартам с описанием базисных классов (структурных элементов).

На сегодняшний день мы обрабатываем следующие классы. Расшифровка классов:

Наименование

Примечание

1. 

Substation

Подстанция

2. 

Bay

Группа коммутационного оборудования

3. 

BaseVoltage

Стандартное номинальное напряжение

4. 

PowerTransformer

Силовой трансформатор

5. 

PowerTransformerEnd

Электрический вывод силового трансформатора

6. 

VoltageLevel

Распределительное устройство

7. 

BusbarSection

Секция шин

8. 

Disconnector

Разъединитель

9. 

Breaker

Выключатель

10. 

LoadBreakSwitch

Выключатель нагрузки

11. 

GroundDisconnector

Заземляющий разъединитель

12. 

Fuse

Предохранитель

13. 

Line

ЛЭП

14. 

ACLineSegment

Сегмент линии переменного тока

15. 

ConnectivityNode

Соединительный узел

16. 

Terminal

Полюс электропроводящего оборудования

17. 

EnergyConsumer

Точка потребления (потребитель электрической энергии)

18. 

SubGeographicalRegion

Административно-территориальная единица

19. 

CurrentTransformer

Трансформатор тока

20. 

PotentialTransformer

Трансформатор напряжения

21. 

LoadBreakSwitch

Выключатель нагрузки

22. 

ExtNetworkInJection

Внешняя сеть

В краткой форме наш функционал по разбору полученного CIM XML файла и загрузке в плоские таблицы выглядит так:

В результате обработки файлов мы получили таблицы с классами (GUID, атрибуты, свойства и ассоциации с другими классами) и сформировали итоговую количественную аналитику:

Количество таблиц с классами

18

Перечень классов

Substation, Bay, BaseVoltage, PowerTransformer, PowerTransformerEnd, VoltageLevel, BusbarSection, Disconnector, Breaker, LoadBreakSwitch, GroundDisconnector, Fuse, Line, ACLineSegment, ConnectivityNode, Terminal, EnergyConsumer

Классы, которые отсутствуют в выгрузке полностью

SubGeographicalRegion, CurrentTransformer, PotentialTransformer

Классы, которые используются частично

LoadBreakSwitch, ExtNetworkInJection

Выгрузка данных

Мы разобрались в стандартах и классах CIM, создали функционал загрузки и распределения данных, после чего приступили к работе над инструментом для выгрузки данных. Проверив внутренние данные СИГМА СУС на соответствие стандартам CIM, пришли к выводу, что при формировании объектов исходной системы в формате CIM могут возникнуть задачи, связанные с несоответствием классов, структуры, смыслового наполнения системы и стандарта CIM. Для каждой системы это индивидуально.

В процессе работы мы столкнулись с необходимостью урегулировать задачи по соответствию, наличию классов и определению соединительных узлов. Решалась эта проблема объединением классов в группы, созданием дополнительных таблиц и использованием вспомогательных атрибутов объектов СИГМА СУС.

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

Ниже перечислили названия основных таблиц конструктора и их описание:

Наименование таблицы

Описание

CLASS_REFERENCE

Перечень классов Q3 и соответствующие им группы классов СИГМА СУС. Также описание начала и конца блока для каждого класса, описание конструкции записи полной ссылки ассоциации для класса. Классы Q3 могут повторяться несколько раз, при этом соответствовать разным группам СИГМА СУС. Это связано с несоответствием классов двух систем.

CONSTRUCTOR

Перечень классов Q3 и группа СИГМА СУС, с указанием классов-свойств или классов, которые наследуют те или иные свойства. Указывается таблица, с которой работаем по объектам (текущая строка). Также указывается тип класса 0 или 1. Это принятое нами деление классов на условные — 0, которым нет соответствующего класса СИГМА СУС, и вещественные — 1.

CLASS_ATTRIBUTES

Перечень атрибутов с указанием наименования поля, из которого берется значение.

CLASS_PROPERTY

Перечень свойств с указанием класса Q3, к которому относится то или иное свойство. Наименование поля, из которого берется значение свойства. Описание начала и конца конструкции, а также указание на тип класса.

ASSOCIATION

Перечень ассоциаций объектов, с указанием начального, конечного классов, наименования ассоциации, таблицы, из которой берется GUID.

CONNECTIONS

Перечень связей объектов СИГМА СУС между собой, как условных, так и вещественных. С указанием таблицы, поля или комбинации полей, по котором связаны объекты.

LIMIT

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

RESULT_XML

Таблица с результатом отработки кода конструктора.

AS_OBJECTS

Таблица, в которой запросом отбираются объекты СИГМА СУС с необходимым набором полей, с которыми работаем. Также на данном этапе формируются записи наименований, которые попадают в блоки итоговой таблицы RESULT_XML

Также делимся моделью конструктора:

В итоге данные из таблицы RESULT_XML представляются в виде файла XML. Делимся фрагментом полученного XML-файла:

В итоге

Мы сделали первый шаг на пути к созданию модуля выверки данных на базе форматов CIM: собрали конструктор, который можно адаптировать и использовать в различных проектах, где требуется работа с данными, их выгрузка и систематизация. Сейчас мы в минимальные сроки можем загрузить данные из цифровых источников, которые есть у любой сетевой компании, и выполнить их выверку, но пока в полуручном режиме.

Куда хотим двигаться дальше?

  1. Автоматически создавать непротиворечивые схемы нормального режима любой сетевой компании с помощью СИГМА СУС. Сопоставлять данные, для которых есть однозначное соответствие; формировать таблицы связей между различными источниками данных; выявлять противоречия (без ручной выверки) и возвращать информацию с рекомендациями по исправлению данных источнику.

  2. Запускать автоматический расчет технических условий на присоединение потребителей до 150 кВт с подключением к сайту Госуслуг. Что в свою очередь создаст спрос на достоверные данные и может запустить процесс формирования достоверной цифровой модели всех электрических сетей России.

  3. Формировать обоснованную инвестиционную программу с привязкой каждого титула к местности и перспективной схеме нормального режима.

Делимся стандартами, которые рекомендуем изучить:

Наименование

Перевод

CHF

Ссылка

IEC 61970-301:2016 Part 301: Common information model (CIM) base

Интерфейс прикладных программ системы управления производством и передачи электроэнергии (EMS-API) — Общая информационная модель – базовая часть

455

https://webstore.iec.ch/publication/59669

IEC TS 61970-401:2005 Part 401: Component interface specification (CIS) framework

Общая информационная модель – расчет динамической устойчивости

100

https://webstore.iec.ch/publication/6211

IEC 61970-453:2014+AMD1:2018 CSV

Part 453: Diagram layout profile

Профиль обмена графической информацией

250

https://webstore.iec.ch/publication/64268

IEC 61970-452:2017

Part 452: CIM static transmission network model profiles

Профили статических моделей электрических сетей

350

https://webstore.iec.ch/publication/30444

IEC 61970-456:2018

Part 456: Solved power system state profiles

Профили для вычисленных состояний энергосистем

300

https://webstore.iec.ch/publication/60483

IEC 61970-552:2016 Part 552: CIM XML Model exchange format

Описание формата обмена моделями CIM XML

200

https://webstore.iec.ch/publication/25939

 

 

2110

 

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

Автор: Дарья Думкина


[1] DMS (Distribution Management System) — непосредственное описание распределительной сети

[2] ТМ (Техническое Место) — объекты CIM с привязанным кодом ТМ SAP

Комментарии (2)


  1. dcs_pls
    15.07.2022 14:00

    Запускать автоматический расчет технических условий на присоединение потребителей до 150 кВт с подключением к сайту Госуслуг.

    Т.е. ваша цель распространить систему на всю страну?


    1. SIGMA_team Автор
      15.07.2022 14:00

      Да, все верно