Software Journal:
Theory and Applications

Send article

Entrance Registration

Формирование топологической модели электроэнергетической системы корабля для оценки ее функционирования

Одним из разделов систем информационной поддержки борьбы за живучесть корабля является оценка возможности функционирования его боевых и технических средств (БиТС), а основным элементом, влияющим на работоспособность комплексов БиТС, – электроэнергетическая система корабля (ЭСК). Под ЭСК понимается совокупность источников электроэнергии, преобразователей, распределительных
и регулирующих устройств и кабелей, объединенных процессом производства, преобразования и распределения электроэнергии [1]. При моделировании функционирования ЭСК при авариях и боевых воздействиях возникает задача определения наличия питания на приборах, обеспечивающих работу меха-
низмов той или иной корабельной системы, формирование перечня мероприятий предотвращения
повторных возгораний и обеспечения безопасности личного состава аварийных партий от поражения электрическим током. Последняя задача решается на основе выработки рекомендаций по обесточиванию помещений. Начальным этапом является выявление отказавших элементов помещения в результате
воздействия первичных поражающих факторов аварийной ситуации с последующим определением автоматов в электрощитах для обесточивания этих элементов. Решение этих задач невозможно без анализа описания отношений (зависимостей) между объектами (описания топологии системы). Одним из эффективных методов описания топологии электрических систем для их анализа является использование графовых моделей [2–8]. То есть G=(V, E) – граф, соответствующий структуре системы, где G – граф,
V – его вершины, E – ребра.

В качестве вершин данного графа могут выступать электроприборы, а в качестве ребер – коммуникационные составные части, а именно кабели. По существу корабельная электроэнергетическая сеть при ряде допущений может быть описана направленным топологическим орграфом, например, в виде, приведенном на рисунке 1.

Однако из-за большого количества элементов ЭСК формирование графа – весьма трудоемкая задача, требующая длительного времени при ручном вводе даже при наличии специальных программ, предлагаемых рядом авторов. В связи с этим задача автоматизации построения графа, описывающего топологию электроэнергетической системы, является весьма актуальной.

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

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

Как видно на рисунке 1, ряд элементов могут получать питание от различных приборов, что позволяет определить альтернативные цепи питания (резервное питание или питание различного напряжения или частоты).

Как известно [9], существуют различные способы представления графов в памяти компьютера, которые различаются объемом занимаемой памяти и скоростью выполнения операций над графами. Одним из вариантов является представление графа с помощью квадратной булевой матрицы, называемой матрицей смежности, а именно матрицы M[i, j]:

Размерность матрицы смежности n (p, q), где р – число вершин, a q – число ребер.

Орграф может быть представлен матрицей инцидентности, где для ориентированного графа H[i, j]

Несмотря на то, что возможно применение методов минимизации объема памяти для хранения матриц, количество колонок зависит от количества элементов, что затрудняет применение матриц при хранении данных в реляционных БД, где количество колонок статично. Заранее определить количество элементов ЭСК весьма затруднительно.

Топология корабельной электросети в виде направленного орграфа может храниться в реляционной БД, например, в виде списка смежных вершин (Adjacency List).

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

Следует отметить, что реляционные БД наиболее приспособлены для работы с множествами на основе выполнения операций реляционной алгебры. Корень дерева – множество, содержащее все другие множества, и отношения предок–потомок описываются принадлежностью множества потомков множеству предка. Пример вложенных множеств приведен на рисунке 3.

Для реализации древовидных структур в виде вложенных множеств используют алгоритмы Nested Sets. Каждый подход к способу хранения дерева в БД имеет свои достоинства и недостатки. Сравнение способов хранения дерева в БД не является предметом данной статьи. Отметим лишь, что первично, как правило, дерево строится в виде списка смежных вершин, а затем может быть расширено до формы Nested Sets.

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

В настоящее время практически во всех конструкторских бюро, занимающихся проектированием кораблей, используются автоматизированные системы проектирования, такие как AVEVA Marine, TRIBON, FORAN, CATIA и др. Опыт взаимодействия с конструкторскими бюро показал возможность выгрузки данных из систем проектантов в форматах, пригодных для их загрузки в БД бортовой информационной системы борьбы за живучесть.

Основным информационным элементом, позволяющим автома-
тизировать процесс построения направленного орграфа, описывающего топологию сетей корабельных систем, является информация о каждом кабеле (силовом, информационном и др.) с указанием электроприборов, которые он соединяет, в виде таблицы БД, приведенной на рисунке 4. Как правило, информацию о том, какой прибор является источником электроэнергии, информации и др., то есть направление связи, получить не удается.

Если исходить из того, что основными энергетическими источниками на корабле являются дизель-генераторы (как правило, непосредственно соединяющиеся с главным распределительным щитом (ГРЩ) и в связи с этим являющиеся основными источниками электроэнергии), щиты питания с берега и для некоторых видов потребителей аккумуляторные батареи для резервного питания, то эти источники электроэнергии могут быть приняты за элементы корня направленного орграфа топологии корабельной электрической сети. Например, элементы 1, 2, 3, 4 на рисунке 1 могут быть распределительными секциями СР1 ГРЩ1
и ГРЩ2, СР2 ГРЩ1 и ГРЩ2 соответственно, где элементы 5 и 6 – автоматические переключатели сети. Тогда может быть построен циклический (рекурсивный) алгоритм для формирования иерархического орграфа топологии корабельной электросети с записью данных в таблицу (сущность), приведенную на рисунке 2. В реляционной БД для решения задач используются операции с множествами. В этом случае
А – исходное множество кабелей и приборов, приведенное на рисунке 4, используется для построения топологического графа В, структура которого приведена на рисунке 2. Алгоритм процедуры заполнения приведен на рисунке 5.

Текст процедуры заполнения таблицы на языке PL/pgSQL СУБД Postgres (Линтер 7) приведен далее. По существу, начиная с корневого прибора, осуществляется поиск записи с этим прибором, и на противоположном конце кабеля находится присоединенный прибор.

Полученный орграф топологии корабельной электросети позволяет решать задачи обесточивания элементов электросети выборками информации из таблицы средствами языка SQL СУБД как к корню дерева от заданного элемента для поиска электрощита, где можно выполнить отключение, так и вниз для определения перечня обесточенных приборов в результате отключения автомата на выбранном электрощите. По сути мы имеем таблицу, где есть зависимость одного элемента от другого. В перспективе данный подход может быть распространен и на другие системы, например, водоотливной, пожарной, комплексов БиТС и др. В этом случае возможна оценка работоспособности агрегатов всех систем и как следствие – оценка работоспособности совокупности корабельных систем, а не выборочно взятых.

Однако следует иметь в виду, что связи между системами могут приводить к появлению циклов. Разрешение этой коллизии возможно формальными методами, но решение данной задачи в рамках настоящей статьи не рассматривается. Опыт формирования графа показал, что в случаях подачи питания или сигналов на прибор какой-либо системы БиТС от нескольких приборов (щитов, трансформаторов) могут возникать ошибки направления соединения. Для разрешения этой коллизии предлагается считать, что направление связи может быть только от прибора силовой электросети. Последнее учтено в алгоритме процедуры, приведенном далее.

CREATE OR REPLACE FUNCTION tree_eqvipment()

  RETURNS void AS

$BODY$

/* cab_eqv  -таблица с кабелем и приборами, где: cod_stor1 -прибор 1;

          cod_stor2 – прибор 2;

          tree_pow – таблица хранения графа

 

CREATE TABLE tree_pow ( eqvip_id integer,

  pre_eqvip_id integer,

  lev integer,

  id serial NOT NULL,

   CONSTRAINT pk_tree PRIMARY KEY (id))

После создания таблицы необходимо в нее добавить приборы 0-го уровня (например, секции ГРЩ)

technical_specifics.equipment – таблица приборов

 */

DECLARE

         LV integer:=0;--Счетчик уровня

BEGIN

     LOOP 

         IF LV=40 THEN  --уровень, до которого ведется поиск

--Удаление циклов после завершения формирования графа-----------------------------------------

DELETE FROM tree_pow where id in (

SELECT id FROM tree_pow where id in ( select CASE  WHEN id>id1 THEN id ELSE id1 END FROM  (

SELECT eqvip_id1,(SELECT equ_name FROM technical_specifics.equipment where equipment_id=eqvip_id1),pre_eqvip_id1,

(SELECT equ_name FROM technical_specifics.equipment where equipment_id=pre_eqvip_id1),lev1,id1, eqvip_id,

(SELECT equ_name FROM technical_specifics.equipment where equipment_id=eqvip_id),pre_eqvip_id,

(SELECT equ_name FROM technical_specifics.equipment where equipment_id=pre_eqvip_id),lev,id,col

FROM (SELECT a.eqvip_id as eqvip_id1,a.pre_eqvip_id as pre_eqvip_id1,a.id as id1,a.lev as lev1,b.eqvip_id,b.pre_eqvip_id,b.id,b.lev FROM tree_pow a, 

(SELECT eqvip_id,pre_eqvip_id,id,lev,col FROM tree_pow_fun group by 1,2,3,4,5  ) b

where a.pre_eqvip_id=b.eqvip_id and b.pre_eqvip_id=a.eqvip_id) as f) as dd) and lev>0)

-----------------------------------------------------------------------------------------------------------------------------

                        EXIT ;

         END IF;

--Формирование графа---------------------------------------------------------------------------------------------

 INSERT INTO tree_pow ( eqvip_id, pre_eqvip_id, lev)

 SELECT cod_stor1,cod_stor2,levl FROM (

 -- Выборка записей по кодам справа  из таблицы пар агрегатов, соединенных кабелем

 SELECT    cod_stor1,cod_stor2,LV+1 as levl   FROM  technical_specifics.cab_eqv a  

where cod_stor2 in (SELECT eqvip_id FROM tree_pow where lev =LV) --выбираем из таблицы кабелей записи с агрегатами, которые справа от кабеля и попали в дерево на предыдущем уровне

  and not (cod_stor1=cod_stor2) -- исключаем записи, где кабели внутри агрегата

  --Пытаемся исключить записи, которые уже содержат пары агрегатов на верхних уровнях

and (cod_stor1,cod_stor2)  not in (SELECT  eqvip_id,pre_eqvip_id FROM tree_pow   where lev <=LV+1)

and (cod_stor1,cod_stor2) not in (SELECT  pre_eqvip_id,eqvip_id FROM tree_pow   where lev <=LV+1)

 union

 -- Выборка записей по кодам слева  из таблицы пар агрегатов, соединенных кабелем

SELECT    a.cod_stor2,a.cod_stor1,LV+1  FROM  technical_specifics.cab_eqv a

where a.cod_stor1 in (SELECT eqvip_id FROM tree_pow  where lev =LV)

and not (cod_stor1=cod_stor2)

and (cod_stor1,cod_stor2)  not in (SELECT  eqvip_id,pre_eqvip_id FROM tree_pow   where lev <=LV+1) 

and (cod_stor1,cod_stor2) not in (SELECT  pre_eqvip_id,eqvip_id FROM tree_pow   where lev <=LV+1)

 and (cod_stor1,cod_stor2) not in (SELECT cod_stor1,cod_stor2 FROM (

 -- Выборка записей по кодам справа  из таблицы пар агрегатов, соединенных кабелем

 SELECT    cod_stor1,cod_stor2,LV+1 as lev 

  FROM  technical_specifics.cab_eqv a   where cod_stor2 in (SELECT eqvip_id FROM tree_pow_fun_new  where lev =LV) --выбираем из таблицы кабелей записи с агрегатами, которые справа от кабеля и попали в дерево на предыдущем уровне

  and not (cod_stor1=cod_stor2) -- исключаем записи, где кабели внутри агрегата 

  --Исключить записи, которые уже содержат пары агрегатов на  верхних уровнях

and (cod_stor1,cod_stor2)  not in (SELECT  eqvip_id,pre_eqvip_id FROM tree_pow_fun_new   where lev <=LV+1)

and (cod_stor1,cod_stor2) not in (SELECT  pre_eqvip_id,eqvip_id FROM tree_pow_fun_new   where lev <=LV+1)) as ff )

group by 2,1 order by 2,1 ) as z,technical_specifics.equipment q,technical_specifics.equipment f where cod_stor1=q.equipment_id and cod_stor2=f.equipment_id

 

--в системе код силовой сети в таблице technical_specifics.equipment равен 117 и выполняется проверка для формирования правильного направления связи

and 1=(CASE WHEN  q.sys_n=117 and not f.sys_n=117 THEN 2 ELSE 1END) ;

---------------------------------------------------------------------------------------------------------------

         LV:=LV+1;

    END LOOP; -- конец цикла выборки

END

$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;

ALTER FUNCTION tree_eqvipment()

  OWNER TO postgres;

COMMENT ON FUNCTION tree_eqvipment() IS 'Построение дерева оборудования';

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

Использование процедуры формирования графа на языке PL/pgSQL, приведенной выше, и таблиц (рис. 2, 4) позволяет выполнить формирование графа, описывающего топологию ЭСК за несколько секунд. Получение данных из конструкторских бюро в электронном виде, программ загрузки данных (ETL и ELT) и описанной процедуры позволило существенным образом сократить трудозатраты при формировании графа, описывающего топологию сети для ряда проектов кораблей ВМФ в интересах решения задач обесточивания и оценки функционирования корабельных систем в рамках бортовых систем информационной поддержки борьбы за живучесть.

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

Литература

1. Иванов В.Г., Ляпидов К.С., Недзельский В.Е., Турусов С.Н. Создание «электрического» корабля – основное направление развития корабельной энергетики // Судостроение. 2013. № 5 (810). С. 13–20.

2. Ершов Г.А., Щербина Н.Я. Математический анализ аварийных происшествий на кораблях. URL: http://www.proatom.ru/modules.php?name=News&file=article&sid=2875 (дата обращения: 10.10.2016).

3. Поленин В.И., Гладкова И.А. Логико-детерминированные разделы структурно-логического анализа сложных систем. URL: http://www.szma.com/polenin_gladkova.pdf (дата обращения: 10.10.2016).

4. Михайлов А.Н., Иконников С.Е. О расчете пропускной способности электрической сети. URL: http://fetmag.mrsu.ru/2009-1/ (дата обращения: 10.10.2016).

5. Рожков П.П., Полякова Т.В. Линейная модель оптимизации конфигурации электрической сети // Світлотехніка та Електроенергетика. 2006. № 7-8. С. 96–101.

6. Сизганов Н.В. Моделирование топологии схем электрических сетей на основе матриц инциденций с применением пакета MathCAD // Молодежь и наука: сб. матер. VIII Всеросс. научн.-технич. конф. студентов, аспирантов и молодых ученых, посвящ. 155-летию со дня рожд. К.Э. Циолковского. Красноярск: Сибирский федер. ун-т, 2012. URL: http://elib.sfu-kras.ru/handle/2311/6464 (дата обращения: 8.10.2016).

7. Сарычев Д.С., Скворцов А.В., Слюсаренко С.Г. Применение графовых моделей для анализа инженерных сетей // Вестн. Томск. гос. ун-та. 2001. № 275. С. 70–74.

8. Зыков А.А. Основы теории графов. М.: Наука, 1987. 384 с.

9. Новиков Ф.А. Дискретная математика для программистов. СПб: Питер, 2009. 384 с.

Comments

There are no comments