Моделирование и анализ данных
2024. Том 14. № 1. С. 155–169
doi:10.17759/mda.2024140110
ISSN: 2219-3758 / 2311-9454 (online)
Создание специализированного программного обеспечения для оперативного подсчета объемов потерь углеводородов в резервуарах
Аннотация
Обеспечение современного хранения углеводородов не является тривиальной задачей. Существующие требования, налагаемые природоохранным и противопожарным законодательством, а также экономика производства обязывают собственников резервуарных парков предпринимать меры по учету и сокращению потерь нефтепродуктов. Для решения этой задачи сформирована группа расчетных методик, позволяющая определить объем потерь углеводородов в ходе больших и малых дыханий в резервуарных парках. При этом проведение расчетов и подбор соответствующего оборудования по сокращению потерь довольно затруднено для инженерно-технического персонала нефтебаз. В связи с этим на основе методов расчета В.И. Черникина, Ф.Ф. Абузовой и Н.Н. Константинова было создано программное обеспечение по расчету потерь углеводородов в резервуарах от больших и малых дыханий, с возможностью хранения данных в течение месяца посуточно и с выдачей системой рекомендаций относительно применения средств сокращения потерь углеводородов. Для написания программного кода был использован C# в Visual Studio 2022. Демоверсия программы позволяет рассчитывать объемы потерь нефтепродуктов в вертикальных стальных резервуарах различного объема и при меняющихся условиях внешней среды, а также на основе заложенной базы данных рекомендовать необходимые средства сокращения потерь к установке на рассматриваемый резервуар.
Общая информация
Ключевые слова: потери углеводородов, резервуар, управление качеством, новые технологии, разработка информационных систем
Рубрика издания: Комплексы программ
Тип материала: научная статья
DOI: https://doi.org/10.17759/mda.2024140110
Получена: 26.03.2024
Для цитаты: Щербань П.С., Абу-Хамди Р.В. Создание специализированного программного обеспечения для оперативного подсчета объемов потерь углеводородов в резервуарах // Моделирование и анализ данных. 2024. Том 14. № 1. С. 155–169. DOI: 10.17759/mda.2024140110
Полный текст
Введение
В ходе функционирования резервуаров по хранению углеводородов возникают потери различного рода. Среди них можно выделить две основные группы: потери, обусловленные нарушением правил эксплуатации резервуаров и технологические потери. Нарушение правил эксплуатации предполагает возникновение проливов, смешивания, утечек и находиться за пределами настоящей работы, технологические же потери обуславливаются большими и малыми дыханиями, возникающими в ходе естественной эксплуатации резервуара [1]. Большие дыхания возникают при наполнении резервуара, когда поднимающийся столб нефтепродукта вытесняет паровоздушную смесь углеводородов через систему клапанов. Малые дыхания обусловлены входом воздуха и выходом паровоздушной смеси из резервуара при изменении параметров окружающей среды (температура, освещенность, давление).
Учитывая физические характеристики (материал и его теплопроводность, интенсивность солнечного излучения, температуру окружающей среды и давление, объем нефтепродукта и размер резервуара) и химические характеристики (вид нефтепродукта, количество примесей) – можно произвести расчет объемов потерь как при малых, так и при больших дыханиях [2]. Суммируя эти данные, варьирующиеся в течении определенного интервала времени, можно установить суммарный объем потерь. Исходя из получаемого суммарного объема – могут быть подобраны соответствующие средства сокращения потерь углеводородов. Для начала представим аналитические методы расчета больших и малых дыханий, после чего перейдем к разработке соответствующего программного обеспечения, позволяющего значительно снизить трудоемкость задачи, для инженерного персонала, по учету потерь углеводородов в резервуарном парке, а также упростить работу проектировщиков при возникновении запроса на модернизацию нефтебазы.
Методики расчета больших дыханий в вертикальных стальных резервуарах
При опорожнении вертикального стального резервуара, в него начинает поступать атмосферный воздух, что приводит к снижению давления паров и началу испарения нефтепродукта до тех пор, пока газовое пространство не насытится [3]. Далее при наполнении резервуара – паровоздушная смесь с находящимися в виде взвеси углеводородами выталкивается из резервуара и возникают потери. Размер потерь от «больших дыханий» напрямую зависит от частоты процесса слива и заполнения резервуара нефтепродуктом и пропорционален объему нефтепродукта, который был помещен в резервуар [4].
Малые дыхания возникают в основном в ходе нагрева резервуара в дневные часы и охлаждения в ночные. Дневной нагрев приводит к увеличению скорости испарения углеводородов и повышению их концентрации в паровоздушной смеси, а, следовательно, увеличению давления в резервуаре [5]. Для снижения избыточного давления часть паровоздушной смеси стравливается системой клапанов в атмосферу [6].
Рис.1. Большие и малые дыхания в вертикальных стальных резервуарах.
1 - стенка; 2 - днище; 3 - стационарная крыша; 4 - дыхательный клапан; Нг1 - высота газового пространства резервуара перед закачкой нефтепродуктов; Нг2 - высота газового пространства резервуара после закачки нефтепродуктов; Нвзл1 – высота взлива нефтепродуктов; υв - скорость выхода паровоздушной смеси через дыхательный клапан; Vг - объём газового пространства резервуара перед закачкой нефтепродукта
Как уже отмечалось существует несколько методик подсчета объема потерь углеводородов во время больших и малых дыханий. В случае с большими дыханиями в работе принято решение рассматривать методики Ф.Ф. Абузовой и В.И. Черникина (как более точную) для сверки [7].
Отметим, что метод Ф.Ф. Абузовой основан на вычислении коэффициента массоотдачи, но предложенное уравнение некорректно при расчете потерь при низких расходах закачки-откачки. Кроме того, наличие газового пространства и его высоты и диаметра является спорными характеристиками для расчёта массоотдачи в различных условиях и средах. По данным исследования С.А. Коршака подобный метод расчета допускает среднеквадратичное отклонение на 20 %, поэтому для программной реализации расчета потерь нефтепродуктов будем использовать метод В.И. Черникина [8]. Представленные же результаты по методу Ф.Ф. Абузовой оставим как справочные.
где: ∆V - объем паровоздушной смеси, вышедшей при заполнении резервуара, м3; Vг - объём газового пространства резервуара перед закачкой нефтепродукта, м3; Р1 - абсолютное давление газового пространства в начале закачки, Па; Р2 - абсолютное давление газового пространства в конце закачки, Па; Ру – среднее расчётное парциальное давление паров нефтепродукта при закачке, Па; ρу – плотность нефти, т/м3
Необходимо отметить, что расчеты по формуле В.И. Черникина еще более трудоемки, чем по методике Ф.Ф. Абузовой, и привести все формульные расчеты по каждой из методик (более 40 формул) в рамках настоящей статьи – не представляется возможным в виду объема. В результате по расчету больших дыханий приводятся лишь итоговые расчетные формулы. В целом обе методики расчетов требуют определения большого числа показателей, в связи с чем их автоматизация крайне востребована.
Для наиболее полного учета всех потерь углеводородов в резервуарах необходимо и установить объемы выбросов при малых дыханиях. Наиболее полной, обоснованной и практически подтвержденной методикой в этом отношении является методика Н.Н. Константинова.
Методика расчета малых дыханий в вертикальных стальных резервуарах
При изменении температуры и атмосферного давления, давление в газовом пространстве резервуара увеличивается, что может привести к малым дыханиям резервуара [7].
где: - среднее массовое содержание паров нефтепродукта в паровоздушной смеси. ∆V – вытесняемый объем паровоздушной смеси.
где: Rп – газовая постоянная паров бензина, Дж/(моль·К) Tгmin, Tгmax – минимальная и максимальная температура газового пространства резервуара в течение суток, К; Рmin, Рmax – минимальное и максимальное парциальное давление нефтепродукта в газовом пространстве резервуара в течение суток, Па.
где: Ра – атмосферное давление, Па; Рк.в – вакуум в газовом пространстве, соответствующий нагрузке вакуумного клапана, Па; Рк.д – избыточное давление в газовом пространстве, соответствующее нагрузке клапана давления, Па; Vг – объем газового пространства, м; ∆V – вытесняемый объем паровоздушной смеси, м.
Представленные расчеты требуют большого количества времени от персонала резервуарных парков по учету объема потерь нефтепродуктов при проведении проверок и в особенности проверки на соответствие нормам естественной убыли. Для оптимизации данного процесса было принято решение на основе изложенных методик создать демоверсию специализированной компьютерной программы, которая позволяет сократить и облегчить процедуру расчета для персонала резервуарных парков.
Создание программного обеспечения для расчета объема потерь от больших и малых дыханий в резервуарах
Решение задач по расчёту потерь углеводородов при «больших» и «малых» дыханиях может быть упрощено с помощью программных средств автоматического расчета. Одним из наиболее эффективных способов решения проблемы является использование компьютерной программы, которая позволяет изменять технические характеристики исходной задачи и автоматически рассчитывать потери (Рисунок 2).
Основной задачей такой программы является расчет значений потерь при «больших» и «малых» дыханиях на основе введенных пользователем значений параметров, сохранение результатов расчета на протяжении периода наблюдений, и на основе собранных данных предоставление аналитики – рекомендаций по установке систем сокращения потерь и графика, отображающего динамику потерь за период наблюдения. В соответствии с задачей программы – алгоритм расчета должен быстро и точно получать необходимые значения и выводить их на экран [9].
Необходимо разработать алгоритм таким образом, чтобы расчеты значений потерь не блокировали главный поток программы, отвечающий за графический интерфейс. Такого эффекта можно добиться, заметив, что расчеты в каждой из формул не зависят друг от друга, а значит могут выполнятся параллельно [10].
Разработанный алгоритм получает на вход данные из полей, заполненных пользователем, затем запускает три параллельные задачи – по одной на вычисление каждого значения потерь. Запущенные задачи по завершению, каждая и независимо, обновляет свою часть экрана рассчитанным значением, после чего алгоритм завершается и будет ожидать новых входных данных [11].
Рис. 2. Блок-схема компьютерной программы
Параллельное выполнение происходит именно посредством вычисления значений на разных потоках, так как потоки имеют общую память, что позволяет избежать затрат на копирование данных, которое необходимо при запуске параллельных процессов [12].
На этапе проектирования была составлена блок-схема программного кода, отражающая взаимосвязь начальных значений, необходимых для реализации программного обеспечения и программные этапы расчета, представленные на Рисунке 2. Для расчета потерь при «больших» и «малых» дыханий была разработана компьютерная программа на языке программирования C# в Visual Studio 2022 [13]. Далее на основе приведенного алгоритма был создан удобный пользовательский графический интерфейс (Рисунки 3, 4).
Рис. 3. Интерфейс компьютерной программы
Он позволяет регулировать условия расчета, такие как начальная и конечная высота взлива и производительность закачки или габариты РВС, а также изменить плотность хранимого нефтепродукта в резервуаре. Благодаря этому, программа может рассчитывать потери для различных РВС. Начальные значения могут быть указаны в свободном вводе, либо с помощью автоматического выбора типа резервуара.
При нажатии на кнопку «выполнить расчет» пользователь получает результат количества потерь легких фракций углеводорода при «больших» дыханиях по двум методам: методу расчета В.И. Черникина и Ф.Ф. Абузовой, и «малых» дыханиях по методу расчета Н.Н. Константинова.
Рис. 4. Расчет потерь программным методом и вывод рекомендаций по внедрению средств сокращения потерь
Т.к. расчет «малых» дыханий зависит от количества операций закачивания нефтепродукта в резервуар и его выкачки за одни сутки, программой предусмотрено сохранение предыдущих результатов расчета. В блоке «Потери нефтепродукта при хранении в резервуаре» отражается сумма значений потерь от «больших дыханий» по методу В.И. Черникина методом сложения текущих и предыдущих результатов, а также потерь при «малых» дыханиях, рассчитанных на месяц. На основе полученных с помощью программы значений потерь углеводородов от «больших» и «малых» дыханий при хранении в резервуарах нефтебазы, и сравнения полученных результатов с нормами потерь углеводородов (имеющихся в базе данных программы) даются рекомендации по внедрению современных методов уменьшения потерь при эксплуатации резервуаров, исходя из объема резервуара (Рисунок 4).
При этом учитывая вид средства сокращения потерь и его усредненную эффективность, а также объем углеводородов, теряемых резервуаром, рассчитывается предварительный объем сокращения потерь по резервуару от установки того или иного средства. Это производиться путем обращения программы к базе данных, в которой содержится статистика по сокращению потерь углеводородов различными техническими решениями (Рисунок 5).
База данных программы была разработана с учетом сценариев ее использования [14]. Среди таких сценариев – запись данных о потерях резервуара в определенный день, сопоставление системой оптимального метода сокращения потерь в конкретный день наблюдения, и формирование ряда данных для аналитики и визуализации [15]. Спроектированная и реализованная база состоит из двух основных таблиц и одной связующей [16].
Таблица «Резервуар» позволяет программе отслеживать конкретные резервуары через их идентификатор. Таблица «Метод сокращения потерь» является справочником, содержащим необходимую информацию о доступных методах сокращения потерь. Связная таблица «Метод сокращения потерь_Резервуар» содержит информацию о конкретных наблюдениях потерь резервуара в определенный день. Такая структура базы данных соответствует требованиям четвертой нормальной формы так как не содержит многозначных зависимостей [17]. Такая структура позволяет легко выполнить основные запросы, которые необходимы для работы программы, в частности запись данных производится по средством добавления строки в таблицу «Метод сокращения потерь_Резервуар», а формирование данных для визуализации выполняется запросом вида:
SELECT ‘Потери от большого дыхания Черникин’, ‘Потери от малого дыхания’ FROM ‘Метод сокращения потерь_Резервуар’ INNER JOIN ‘Резервуар’ ON ‘Резервуар’.’ ID Резервуар’ == ‘Метод сокращения потерь_Резервуар’.’ ID Резервуар’ WHERE ’ ID Резервуар’ = x.
В качестве СУБД был выбран SQLite в силу небольшого объема хранимых данных и несложной структуры базы данных [18]. SQLite позволяет работать с базой данных в виде локального файла, благодаря этому, пользователю нет необходимости устанавливать сервер СУБД для работы с программой [19].
Рис. 5. Информационно-логическая база данных программы
Финальным блоком программы является вкладка инфографика. В ней отображаются в виде гистограммы результаты расчета потерь углеводородов по методикам Ф.Ф. Абузовой, В.И. Черникина и Н.Н. Константинова (Рисунок 6). Представленная разработка является по своей сути базовой, пилотной версией программного обеспечения. Учитывая ее простую модульную архитектуру, она может быть эффективно расширена и дополнена [20].
Рис. 6. Сравнение результатов подсчета объема ежедневных потерь АИ-92 (за неделю) в резервуаре РВС-2000 методами В.И. Черникина и Ф.Ф. Абузовой с учетом малых дыханий
Предложенная демоверсия значительно упрощает процедуры вычислений объемов потерь по резервуару, сокращает трудовые затраты инженерно-технического персонала и уменьшает риск возникновения случайной ошибки.
Выводы
В результате работы получена демоверсия программы, позволяющая используя язык C# рассчитывать объемы потерь углеводородов в резервуарах РВС-1000, РВС-2000, РВС-5000, РВС-10000 от больших и малых дыханий на основе методик Ф.Ф. Абузовой, В.И. Черникина и Н.Н. Константинова. Алгоритм программы и созданная база данных позволяют рассчитывать ежедневные потери по резервуару, формировать массив данных за несколько дней (до месяца), выдавать предварительные рекомендации по подбору средств сокращения потерь (в зависимости от их объема).
Разработанная демоверсия может служить ядром расширенной программы. Для ее наполнения необходимо укрупнение базы данных по характеристикам резервуаров различных типоразмеров, по эффективности методов сокращения потерь. Возможно создание дополнительных надстроек под моделирование работы каждого из средств сокращения потерь и отображения результатов на инфографике, а также по соотнесению полученных результатов с требованиями норм естественной убыли нефтепродуктов. Возможно также расширение программных возможностей в части проведения одновременного расчета для нескольких резервуаров.
Литература
- Юрьев В. И., Петров А. П., Швырков С. А., Воробьев В. В. К оценке пожарной опасности "больших" дыханий резервуаров типа РВС // Технологии техносферной безопасности. – 2017. – № 4(74). – С. 54-58. – EDN LBNPXV.
- Лесных К. Е., Коршак. А.А, Хафизов Н. Н., Кузнецов А. А. Методические подходы к моделированию условий образования технологических потерь нефти и нефтепродуктов при испарениях из резервуаров // Наука и технологии трубопроводного транспорта нефти и нефтепродуктов. – 2020. – Т. 10, № 4. – С. 386-393. – DOI 10.28999/2541-9595-2020-10-4-386-393. – EDN MPJJBP.
- Коршак, А. А. Прогнозирование потерь нефти и нефтепродуктов от испарения / А. А. Коршак. – Новосибирск : Академиздат, 2022. – 252 с. – ISBN 978-5-6048425-3-9. – EDN VCTWGX.
- Юрьев В. И., Петров А. П., Шейкина В. А., Трубицына А. А. Проблема аналитической оценки величины давления насыщенных паров бензинов при анализе пожарной опасности "больших" дыханий резервуаров // Проблемы техносферной безопасности: материалы международной научно-практической конференции молодых учёных и специалистов. – 2017. – № 6. – С. 148-153. – EDN GGKCYN.
- Тютяев, А. В. Исследования причин воспламенения газовоздушной смеси нефтепродуктов при заполнении резервуаров дизельным топливом / А. В. Тютяев, А. С. Должиков, И. С. Зверева // Фундаментальные исследования. – 2013. – № 6-4. – С. 873-876. – EDN QASRHB.
- Плешаков, А. В. Анализ существующих средств сокращения потерь от испарений в резервуарах / А. В. Плешаков // Научный электронный журнал Меридиан. – 2019. – № 10(28). – С. 150-152. – EDN YGRASX.
- Левицкий И. Н., Силинский А. В., Батраев А. В. Сравнительный анализ методик расчета потерь нефтепродуктов из резервуаров // Современные фундаментальные и прикладные исследования. – 2017. – № 4-1(27). – С. 146-150. – EDN YPBVCI.
- Коршак, А. А. Актуализация методики прогнозирования потерь нефтепродуктов от "малых дыханий" резервуаров / А. А. Коршак, И. М. Руфанова // Проблемы сбора, подготовки и транспорта нефти и нефтепродуктов. – 2021. – № 2(130). – С. 60-69. – DOI 10.17122/ntj-oil-2021-2-60-69. – EDN LLBBSR.
- Цвинкайло, П. С. Автоматизация инженерных расчётов / П. С. Цвинкайло // Экономика и социум. – 2022. – № 3-1(94). – С. 524-532. – EDN ACQWHP.
- Коробейников, А. Г. Разработка и исследование многомерных математических моделей с использованием систем компьютерной алгебры / А. Г. Коробейников, А. Ю. Гришенцев. – Санкт-Петербург: Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, 2014. – 100 с. – EDN VZPXLT.
- Городняя, Л. В. Функциональное программирование. Парадигма, модели и методы / Л. В. Городняя ; Российская академия наук, Сибирское отделение институт систем информатики им. А. П. Ершова . – Новосибирск : Сибирское отделение РАН, 2022. – 482 с. – ISBN 978-5-6047823-0-9. – DOI 10.53954/9785604782309. – EDN FOUPRH.
- Луценко, Е. В. Инженерия знаний и интеллектуальные системы : учебник / Е. В. Луценко. – Краснодар : Виртуальный центр системно-когнитивных исследований "Эйдос", 2020. – 642 с. – DOI 10.13140/RG.2.2.28085.91364. – EDN GXJMAO.
- Ткаченко, К. Программная реализация инструментального средства поддержки расчетов информационных характеристик физических систем на C# и Windows Forms / К. Ткаченко // Системный администратор. – 2021. – № 12(229). – С. 34-49. – EDN AAEGZW.
- Смоленцев, Н. К. Программирование на Visual C#, Borland C#, JBuilder, VBA (2-е издание) : Учебный курс / Н. К. Смоленцев. – Москва : ДМК Пресс, 2014. – 456 с. – ISBN 978-5-94074-771-0. – EDN UGOZYP.
- Кудрина, Е. В. Основы алгоритмизации и программирования на языке C# / Е. В. Кудрина, М. В. Огнева. – Москва : Общество с ограниченной ответственностью "Издательство ЮРАЙТ", 2019. – 322 с. – (Профессиональное образование). – ISBN 978-5-534-10772-2. – EDN PDPFXO.
- Трофимов В. В., Ильина О. П., Саитов А. В. Информатика: Учебник в 2 томах Под ред. профессора В.В. Трофимова. – 3-е издание, переработанное и дополненное. – Москва : Общество с ограниченной ответственностью "Издательство ЮРАЙТ", 2017. – 406 с. – (Профессиональное образование; 2). – ISBN 978-5-534-02519-4. – EDN ZSXFZN.
- Кореневский, Н. А. Автоматизированные системы управления химико-технологическими процессами : Учебник / Н. А. Кореневский, Л. П. Лазурина, Л. В. Стародубцева. – Старый Оскол : ООО «Тонкие наукоемкие технологии», 2021. – 244 с. – ISBN 978-5-94178-717-3. – EDN YYXULK.
- Иванова, А. К. Базы данных. Системы управления базами данных / А. К. Иванова, А. Л. Куленцан // Сборник научных трудов вузов России "Проблемы экономики, финансов и управления производством". – 2023. – № 52. – С. 110-114. – EDN GVIXFD.
- Лазицкас, Е. А. Базы данных и системы управления базами данных : Учебное пособие / Е. А. Лазицкас, И. Н. Загуменникова, П. Г. Гилевский. – Минск : Республиканский институт профессионального образования (РИПО), 2016. – 268 с. – ISBN 978-985-503-558-0. – EDN ZUZHKH.
- Окуловский, Д. В. Оптимизация работы резервуарного парка / Д. В. Окуловский, Р. Е. Левитин // Интернаука. – 2020. – № 47-1(176). – С. 91-93. – EDN UQPRSD.
Информация об авторах
Метрики
Просмотров
Всего: 100
В прошлом месяце: 14
В текущем месяце: 11
Скачиваний
Всего: 53
В прошлом месяце: 6
В текущем месяце: 1