УДК 303.732.4
Л. В. Плотникова, А. А. Звегинцев, Л. А. Кашипова, Р. А. Ишмуратов, Н. К. Нуриев
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СИСТЕМНОГО АНАЛИЗА
СЛОЖНОСТРУКТУРИРОВАННОЙ ХИМИКО-ТЕХНОЛОГИЧЕСКОЙ СХЕМЫ
НЕФТЕХИМИЧЕСКОГО ПРОИЗВОДСТВА
Ключевые слова: системный анализ, этилен.
Разработана универсальная прикладная программа для проведения системного анализа сложноструктурированных схем, позволяющая наглядно получать промежуточные и окончательные результаты ее работы. Программа разработана в среде с возможностью дополнения программы расчетными блоками. Получены результаты работы программы на примере технологической схемы выделения этилена методом ректификации. Выявлены системы контуров и условно разрываемые потоки, обеспечивающие полный последовательный расчет схемы. Определена упрощенная последовательность расчета технологической схемы выделения этилена методом ректификации.
Keywords: system analysis, ethylene.
The universal application of systems analysis for complex structured schemes that help to illustrate receive interim and final results of its work. The program was developed in an environment with the ability to supplement the program design block. The results of the program as an example of the technological scheme ethylene evolution by rectification. System revealed contours and conditional splittable flows, giving full serial calculation scheme. Defined sequence of simplified calculation process flowsheet ethylene evolution by rectification.
Введение
Предприятия нефтехимической отрасли промышленности относятся к числу крупных потребителей топливно-энергетических ресурсов, а также характеризуются значительными потерями энергии, в частности, в виде так называемых вторичных энергетических ресурсов (ВЭР) или вторичной энергии.
Перспективным направлением повышения энергоэффективности нефтехимических производств является организация систем утилизации вторичной энергии. При организации энергоэффективных промышленных систем в форме систем утилизации ВЭР возникает необходимость использования актуальных методик анализа и потребность упорядочивания сложных расчетов химико-технологических схем. Это обусловлено значительным количеством элементов в таких схемах, а также наличием так называемых обратных связей, то есть возвратных потоков энергии и вещества, которые превращают технологическую линию производства в многоконтурную сложноструктурированную схему. В таком случае параметры потоков, исходящих из аппаратов, могут влиять на входные параметры тех же аппаратов и, как следствие, сами на себя. Для того, чтобы избежать многочисленных итераций, предлагается использовать вариацию системного анализа - структурный анализ.
Таким образом, для проведения системного анализа сложноструктурированных химико-технологических схем, позволяющего реализовать первый этап структурно-термодинамического моделирования с целью дальнейшей организации энергоэффективной системы производства, актуальна разработка прикладной программы. Такую программу можно использовать для организации эффективной структуры многоконтурных схем различных нефтехимических производств, а также для анализа и оптимизации схем в прочих отраслях промышленности,
экономики, в экологии и т.п., где может иметь место проблема сложной структуры объекта.
Теоретическая часть
Схема применения алгоритмов системного анализа для решения поставленных выше задач, а также для различных задач подобного типа, в которых объект - многоконтурная схема или с математической точки зрения - граф, представляет собой следующую последовательность: 1. алгоритм выделения путей, который в графе выделяет все пути, связывающие заданную пару вершин; 2. алгоритм выделения комплексов и циклов; 3. алгоритм разрыва циклов, который выдает некоторую совокупность дуг, разрыв которых превращает замкнутый граф в соответствующий разомкнутый; 4. алгоритм упорядочивания вершин разомкнутого графа, который строит вычислительную последовательность разомкнутой схемы, отвечающей данному графу [1].
На первом этапе анализа строится информационная блок-схема (ИБС) в форме ориентированного графа, где материальный или энергетический поток схемы - это дуга графа, а элемент оборудования - это вершина графа или вычислительный информационный блок (математическая модель в виде балансовых уравнений), в котором на основе входных параметров определяются выход-ные[1 - 5]. Также на данном этапе используется алгоритм умножения матриц по правилам булевой алгебры в связи с тем, что одним из наиболее удобных способов представления ИБС для идентификации имеющихся контуров является представление ИБС в виде матрицы смежности [1-5]. Наличие единицы в матрице смежности означает наличие потока, направляющегося из элемента оборудования, номер которого соответствует номеру строки матрицы, в элемент, номер которого
соответствует номеру столбца матрицы. Последующее умножение матрицы саму на себя или, другими словами, возведение матрицы в степень, позволяет определить связи или пути между вершинами графа. Так, при первом умножении матрицы на себя определяются связи между вершинами графа в виде двух потоков между ними, при втором умножении - в виде трех и т.п. В результате анализа существующих алгоритмов перемножения матриц, таких как алгоритм Штрассена, Алгоритм Пана, Бини, Шёнхаге, Коппер-смита-Винограда выбор остановлен на традиционном способе перемножения матриц в связи с его универсальностью, возможностью встраивания в алгоритм поставленной выше задачи и, соответственно, в разрабатываемую прикладную программу, несмотря на невысокую скорость реализации по сравнению с вышеперечисленными способами.
На следующем этапе анализа выделяются циклы (контуры), то есть замкнутые цепочки элементов, выявленные в результате перемножения матриц, а также комплексы или системы контуров в результате удаления из зоны рассмотрения незамкнутых последовательностей элементов. Другими словами, осуществляется декомпозия исходной технологической схемы.
На третьем этапе для каждой системы контуров выявляются потоки, условный разрыв которых позволит превратить такие системы в незамкнутые последовательности элементов в виде разветвленных сложных древовидных графов. Выбор осуществляется из условия, что количество таких потоков должно быть минимальным в каждой системе контуров, а также «разрыву» подлежат потоки с наибольшей частотой, входящие в контуры наименьшего ранга [2]. Под рангом контура подразумевается количество потоков, образующих данный контур.
На последнем этапе анализа производится формирование последовательности расчета разомкнутой схемы.
Прикладная программа проведения системного анализа
Для осуществления системного анализа на языке C# разработана программа в среде MicrosoftVisualStudio.
Важнейшая часть вышеприведенного алгоритма - функция возведения булевых матриц в степень, в основе которой заложен цикл for. Такой подход позволяет реализовать в этом же блоке программы осуществить и подсчет количества контуров, что делает код программы более простым. Алгоритм возведения булевой матрицы в степень реализован на языке C# следующим образом:
private static bool[,] Mul(bool[,] left, bool[,]
right)
{
if (left.GetLength(1) != right.GetLength(O)) throw new ArgumentException();
var result = new bool[left.GetLength(0), right. GetLength( 1)];
for (var i = 0; i <result.GetLength(0); i++) for (var j = 0; j <result.GetLength(1); j++)
{
result[i, j] = false;
for (var k = 0; k <left.GetLength(1); k++)
result[i, j] |= left[i, k] && right[k, j];
}
returnresult; }
Рассмотрим интерфейс программы. При запуске программы появляется основное окно (рис. 1), созданное в виде приложения Form. С помощью свойств, доступных в классе Form, определены размер, цвет, внешний вид, компоненты управления создаваемого окна. С использованием свойства Text сформирован заголовок окна. Положение окна и размер определены с использованием свойств Size и DesktopLocation. Свойства FormBorderStyle, MinimizeBox и MaximizeBox использованы для управлять возможностью свертывания, развертывания окна [6].
Рис. 1 - Интерфейс программы при запуске
Основное пространство в окне программы уделено таблице для ввода исходных данных. Данные вводятся в численном виде в таблицу, при
помощи класса DataGridView. {
dataGridView 1.Columns.Clear(); //удаляем ранее созданые столбцы
f = (int)numericUpDownl.Value; //размер матрицы
matrix = new bool[f, f]; //создаем
матрицу
for (int i = 0; i < f; i++) {
dataGridView1.Columns.Add("column" + i, "column" + i); //добавляем столбцы
dataGridView1.Rows.Add();
//добавляем строки }
for (int i = 0; i < f; i++)
{
for (int j = 0; j < f; j++) {
if (i == j) {
dataGridView 1 .Rows [j ]. Cells [i]. Style .BackColor = Color.LightGray;
dataGridViewLReadOnly=tme;//Для запрета ввода в диагонали матрицы
}
}
}
}
С использованием элемента управления DataGridView сформирована таблицу для отображения данных. Строки, столбцы настроены с помощью DefaultCellStyle, ColumnHeadersDefaultCellStyle, CellBorderStyle и GridColor.
Для реализации в программе булевой логики необходимо оперировать соответствующими булевыми переменными «true» и «false». Но подобный ввод крайне неудобен для пользователя. Поэтому в разработанной программе ввод данных осуществляется через дополнительную переменную. Такой способ позволяет вводить вместо булевых переменных простые числа, что существенно облегчает операцию ввода. При введении числа, отличного от «0» или «1», появляется всплывающее окно «Ввведен неверный символ!» и блокируется кнопка считывания введенной матрицы. После нажатия кнопки «ОК», следует исправить некорректный элемент (рис. 2). Данную функцию реализует следующий код:
inttemp =
Convert.ToInt32(dataGridView 1[e.ColumnIndex, e.RowIndex].Value); //получаем введенное значение
if (temp< 0 || temp> 1) //если это не 0 или 1 {
MessageBox.Show("Введен неверный
символ!"); //выводим предупреждение
button3.Enabled = false; //отключаем кнопку }
else //если все ок {
button3.Enabled = true; //включаем
кнопку
}
Рис. 2 - Всплывающее окно некорректного символа
С помощью окна ввода «Размер матрицы», расположенного в левой части формы, можно задать размерность рассчитываемой матрицы. Это можно сделать как прямым вводом числа с клавиатуры, так и выбором соответствующего числа с помощью мыши. Данный объект реализован с помощью элемента управления NumericUpDowa
Элемент управления NumericUpDown содержит одно значение, которое можно увеличить или наоборот уменьшить, щелкая кнопки «вверх», «вниз» элемента управления. Можно также ввести значение, если только значение свойства ReadOnly не равно true.
dataGridView 1 .Rows [j ]. Cells [i]. Style .BackColor = Color.LightGray;
dataGridView1.ReadOnly=true;//Для запрета ввода в диагонали матрицы.
Форматирование численного отображения осуществляется с помощью свойств DecimalPlaces, Hexadecimal и ThousandsSeparator.
Для задания допустимого диапазона значений элемента управления присвоены значения свойствам Minimum и Maximum. Чтобы задать значение, используемое для увеличения или уменьшения свойства Value, когда пользователь нажимает кнопку «вверх» или кнопку «вниз», следует установить значение Increment. Скорость изменения чисел в элементе управления при постоянно нажатой пользователем кнопке со стрелкой вверх или вниз можно увеличить, задав свойство Accelerations.
Результат выводится в элемент управления TextBox, Элемент управления TextBox используется для отображения или ввода одной строки текста. В рассматриваемом случае требуется многострочный ввод-вывод данных, поэтому использованы свойства Multiline и ScrollBars, позволяющие отображать или вводить несколько строк текста [6].
Верхнее меню программы реализовано с помощью элемента управления MenuStrip.
В нижней части окна находятся кнопки управление программой, запускающие следующие действия: «Считывание данных в массив для дальнейшего расчета», «Расчет данных», «Очистка формы», «Выход из программы».
На рис. 3 показан результат работы программы, где ниже матрицы смежности выводится состав выявленных контуров. Если на диагонали результирующей матрицы появилась единица, то можно сделать вывод о наличии замкнутого контура в ИБС. Все прочие появляющиеся единицы в результирующей матрице говорят о наличии связи между элементами, соответствующими номерам строки и столбца матрицы, через количество других элементов схемы, равное текущему значению степени перемножения матрицы.
Реализация описанной выше программы позволяет выявить связи между элементами исследуемой сложноструктурированной химико-технологической схемы через различное количество потоков, в частности, позволяет выявить замкнутые (контуры) и разомкнутые последовательности элементов. Анализ систем замкнутых контуров сложноструктурированного графа позволит рассчитать эти контуры, предварительно «разорвав» по одному из их потоков, а затем провести итерационное согласование условно входных и выходных переменных, определяющих значение параметров потока [1-5]. Кроме того, в процессе рабо-
ты программа позволяет исключить из области анализа те элементы оборудования, которые не входят в состав контуров. Такой подход облегчает проведение расчетов практически любой химико-технологической схемы, как и прочих сложноструктурированных схем.
Рис. 3 - Вывод на экран состава контуров
Результаты
Результаты работы программы структурного анализа получены для химико-технологической схемы выделения этилена методом ректификации как участка технологической схемы газоразделения в производстве этилена.
Производство этилена является одним из наиболее энергоемких предприятий нефтехимической отрасли, технологическая схема которого представляет собой сложное объединение, состоящее из множества различных взаимозависимых элементов, различающихся по назначению, конструкции, по структуре включения в технологическую линию с учетом взаимодействия с системами энергообеспечения. Работа каждого аппарата схемы влияет на графики энергопотребления и выхода ВЭР в той технологической линии, к которой относится данный элемент [5, 7].
На верхнем иерархической уровне при проведении структурного анализа производства этилена произведена декомпозиция химико-технологической схемы на две большие группы - участок пиролиза [7] и участок газоразделения [8]. Далее при проведении структурного анализа схемы газоразделения в производстве этилена был определен приоритетный участок схемы для дальнейшего рассмотрения - схема выделения этилена методом ректификации. Приоритет определен тем, что на этом участке после процедуры декомпозиции было выявлено большее количество циклов, а также данный участок является наиболее энергоемким и имеющим потенциал для эффективного использования ВЭР на участке газоразделения в производстве этилена.
На рис. 4 представлен фрагмент схемы выделения этилена методом ректификации в виде соответствующей ИБС. Матрица смежности, отражающая связи в данной ИБС, представлена в виде таблицы 1.
Рис. 4 - Фрагмент ИБС выделения этилена методом ректификации
Таблица 1 - Матрица смежности ИБС выделения этилена методом ректификации
Номер блока, в который направляется поток Сумма исходящих потоков
1 2 3 4 5 24 25
Но мер блока, из которого выходит поток 1 1 1 2
2 1 1
3 1 1 2
4 1 1
5 2
24 1 1
25 0
Сумма потоков, входящих в блок 1 1 2 1 3 2 2
На основе представленных исходных данных для химико-технологической схемы выделения этилена методом ректификации с использованием разработанной прикладной программы были получены следующие результаты. Определена необходимая для нахождения всех контуров в схеме степень перемножения матрицы смежности, равная 6. Количество контуров, сформированных элементами схемы, равно 9. Наибольший ранг контуров или количество элементов в контуре равен 7.
В результате проведения анализа структуры связей ИБС участка выделения этилена методом ректификации (или участка разделения этан-этиленовой фракции) выявлено 5 контуров второго ранга, 2 контура третьего ранга, 1 контур пятого ранга, 1 контур 7 ранга. Информация о поэлементном составе и ранге каждого контура представлена в таблице 2.
Условно разрываемые потоки в ИБС участка разделения этан-этиленовой фракции (номер потока - номер выходного блока/номер входного
блока): 2 - 2/1, 7 - 4/3, 22 - 10/9, 27 - 12/11, 34 - 17/18, 13 - 7/5, 19 - 9/5, 36 - 18/19.
Таблица 2 - Поэлементный состав и ранг контуров
№ кон- Элементы, входящие в Ранг
тура контур контура
1 1-2-1 2
2 3-4-3 2
3 9-10-9 2
4 11-12-11 2
5 17-18-17 2
6 5-6-7-5 3
7 5-8-9-5 3
8 11-18-19-20-21-11 5
9 11-13-17-18-19-20-21-11 7
Проведенный структурный анализ ИБС стадии выделения этилена методом ректификации позволяет выявить оптимальную последовательность расчета тепловых процессов, т.е. провести на следующем этапе последовательный упрощенный расчет химико-технологической схемы для анализа эффективности теплопотребления существующей технологии [5, 9].
Порядок расчета технологической схемы выделения этилена методом ректификации, определенный в результате структурного анализа, следующий: отделитель 2, конденсатор 1, итеративное согласование условно входных и условно выходных параметров потока 2, отделитель 4, конденсатор 3, итеративное согласование условно входных и условно выходных параметров потока 7, кипятильник 10, ректификационная колонна 9, итеративное согласование условно входных и условно выходных параметров потока 22, кипятильник 12, ректификационная колонна 11, итеративное согласование условно входных и условно выходных параметров потока 27, участок разветвления потоков 17, дефлегматор 18, итеративное согласование условно входных и условно выходных
параметров потока 34, ресивер 7, ректификационная колонна 5, итеративное согласование условно входных и условно выходных параметров потока 13, ректификационная колонна 9, ректификационная колонна 5, итеративное согласование условно входных и условно выходных параметров потока 19, дефлегматор 18, насос 19, итеративное согласование условно входных и условно выходных параметров потока 36.
Полученная упрощенная последовательность расчета химико-технологической схемы выделения этилена методом ректификации позволит провести расчет термодинамической эффективности схемы и оценить эффективность мероприятий по рекуперации вторичной энергии на рассматриваемом участке.
Литература
1. Г.М. Островский, Ю.М. Волин, Моделирование сложных химико-технологических схем. Химия, Москва, 1974. 310 с.
2. Ю.Г. Назмеев, И.А. Конахина, Организация энерготехнологических комплексов в нефтехимической промышленности. Издательство МЭИ, Москва, 2001. 364 с.
3. В.В. Плотников, Л.В. Плотникова, О.Г. Петрова, Известия высших учебных заведений. Проблемы энергетики, 9-10, 21-27 (2010).
4. Г.Р. Мингалеева, Ю.Н. Зацаринная, Ю.Г. Назмеев, Известия РАН. Энергетика, 2, 67-73 (2006).
5. Л.В. Михайлова (Плотникова). Дисс. канд. техн. наук, ИЦПЭ КазНЦ РАН, Казань, 2005, 170 с.
6. В.В. Зиборов, Visual С# 2012 на примерах. БХВ-Петербург, Санкт-Петербург, 2012. 480 с.
7. Л.В. Плотникова. Известия РАН. Энергетика, 6, 6979 (2005).
8. С.И. Исламова (Иванова), Э.В. Шамсутдинов. Энергосбережение и водоподготовка, 2, 37-38 (2007).
9. В.В. Плотников, О.Г. Петрова, Л.В. Плотникова, Вестник Казанского технологического университета, 9, 170-177 (2010).
© Л. В. Плотникова, доцент каф. «Информатика и информационно-управляющие системы» КГЭУ, доцент каф. Информатики и прикладной математики КНИТУ, mikhailovalv@mail.ru; А. А. Звегинцев., аспирант Лаборатории моделирования систем производства энергии Казанского научного центра РАН, andrey.zvegintsev@gmail.com; Л. А. Кашипова, аспирант кафедры «Информатика и информационно-управляющие системы» КГЭУ, lubko0@yandex.ru; Р. А. Ишмуратов, доцент кафедры Радиофизики К(П)ФУ, доцент каф. «Информатика и информационно-управляющие системы» КГЭУ, rash-i@mail.ru; Н К. Нуриев, профессор кафедры Информатики и прикладной математики ФГБОУ ВПО «Казанский национальный исследовательский технологический университет», nurievnk@mail.ru.
© L. V. Plotnikova , associate Professor of the Department «Informatics and information-management system» Kazan State Power Engineering University, associate Professor of the Department of Informatics and applied mathematics Kazan National Research Technological University, mikhailovalv@mail.ru; A. A. Zvegintsev, postgraduate student of the laboratory of modeling energy production systems of Institution of the Russian Academy of Sciences of the Kazan Scientific Centre of the RAS, andrey.zvegintsev@gmail.com; L. A. Kashipova, postgraduate student of the Department «Informatics and information-management system» Kazan State Power Engineering University, lubko0@yandex.ru; R. A. Ishmuratov, associate Professor of the Department of Radiophysics Kazan (Volga region) Federal University, associate Professor of the Department «Informatics and information-management system» Kazan State Power Engineering University, rash-i@mail.ru; N. K. Nuriev, Professor at the Department of Informatics and applied mathematics Kazan National Research Technological University, nurievnk@mail.ru.