А пускай этот газ ещё поработает: генерируем электричество из газа доменной печи

image

Чугун мы делаем в доменной печи. Сверху засыпаем руду и кокс в качестве топлива, снизу задуваем воздух, который обеспечивает горение. В результате получаем чугун и доменный газ. Доменный газ можно сжечь где-то ещё и получить энергию. Собственно, мы так и делаем, только смешиваем его с природным газом, потому что у доменного «гуляет» калорийность.

Но доменный газ обладает ещё одним важным качеством: он выходит из печи очень горячим и под давлением. Очень глупо охлаждать его просто так, обогревая атмосферу. Гораздо лучше потратить эту энергию с пользой, ведь она отлично превращается в кинетическую энергию, которая может двигать все что угодно. Вот мы и поставили на двух доменных печах турбины, их вращает этот самый доменный газ, чтобы они генерировали электричество, пока мы отдаём газ на генерацию электричества. Это не шутка, мощность на турбинах на границе выхода в рабочий режим 6 и 8 МВт, а рабочая — выше 12 МВт.

Но, конечно, не всё так просто. У турбины есть лопатки, которые нужно постоянно регулировать, менять угол их наклона и т.д., т.к. они прямо влияют на расход газа, а значит на давление в системе, а значит на производительность электроэнергии. Тут-то и понадобились кое-какие ИТ-доработки.

Где находится бескомпрессорная газовая турбина


Вот довольно «простая» принципиальная схема агрегата:

image

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

image

Не смотрите, что тут много всего, интересующий нас участок — это выход из доменной печи, затем газопровод до турбины (ГУБТ — газовая утилизационная бескомпрессорная турбина) и связь с генератором. Еще на схеме не указан обходной путь через турбину — байпасный клапан, очень нужный и важный элемент для безопасности установки.

Турбина — это совершенно обычая турбина, такой высокотехнологичный вал с лопатками-лопастями, которые крутятся, когда через проточную часть проходит газ. В свою очередь, этот же вал жёстко соединён с валом генератора.

image

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

С другой стороны, нам интересно держать давление близким к верхней границе: это позволяет генерировать энергию наиболее стабильно. В итоге получается так, что регулирование степени открытия лопастей турбины определяет, сколько газа будет использовано с пользой, а сколько просто пронесётся мимо турбины через клапан и систему газопроводов. Зачем нам эти потери, когда можно нарастить пользу?

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

Задача казалась сложной, потому что давление в системе меняется постоянно: процессы в домне не самые стабильные с точки зрения калорийности доменного газа. Стрелки дёргаются туда-сюда каждую секунду. Собственно, автоматизацию не ставили в том числе и по этой причине: нужно прогнозировать изменение давления перед ГУБТ и понимать, что будет происходить дальше. Реагировать в реальном времени нельзя, потому что 1% изменения угла открытия — это 5–10 минут. То есть быстро переигрывать лопатками — плохая идея с точки зрения правильности эксплуатации.

Мы решили, что нам нужно создать такой алгоритм, с помощью которого оператор мог бы отслеживать режимы работы турбине в онлайне. То есть оцифровать текущую логику, чтобы решение постоянно искал сам алгоритм, а не оператор. Ему остается лишь чуть приоткрыть или призакрыть лопасти. Вторая, более сложная задача — прогнозировать изменение давления перед ГУБТ и управлять лопастями предиктивно.

image

В этом то и заключается наш гибридный подход рекомендательной системы: сначала мы разработали реальный алгоритм на основе физики процессов, а затем «прикрутили» ещё один алгоритм по прогнозу давления перед ГУБТ.

Что мы сделали


Сначала вытащили схему из головы операторов и переложили её в алгоритм. Если правильно подобрать магические константы под конкретную печь и турбину, то алгоритм будет выглядеть довольно просто:

image
Это вариант для ГУБТ-1 и соответствующей ей доменной печи

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

Мы создали рекомендательный сервис для них. По сути, это мониторинг с довольно простой математикой принятия решения и простой математикой расчёта ожидаемого давления (используется модель машинного обучения от Microsoft LightGBM, которая показала себя лучше, чем, например, обычные линейные модели). Дальше алгоритм подсказывает, как стоит изменить угол положения лопаток.

Вот интерфейс:

image
Здесь зафиксирована рекомендация в режиме онлайн, но в интерфейсе программы можно проанализировать и исторический период, то есть посмотреть, когда и какие были рекомендации

Если турбина находится в режиме запуска или переходном режиме — то, согласно алгоритму, мы ничего не рекомендуем. Запускается турбина следующим образом: сначала делает 15 оборотов за счет внешней нагрузки, потом лопасти статора вручную управляются оператором и подаётся газ, который постепенно раскручивает турбину, и в момент, когда она достигнуты три тысячи оборотов в минуту, начинается стабильная генерация — в нашем случае при данном режиме порядка 6–10 МВт.

Если турбина работает хорошо, алгоритм смотрит на байпасный клапан. Если в среднем за 10 минут он был открыт больше, чем на 6%, то дальше он проверяет угол открытия байпасного клапана в режиме реального времени и проверяет текущую разницу между уставкой и давлением перед турбиной. Если она меньше 4кПа — алгоритм рекомендует приоткрыть угол лопаток турбины, чтобы направить больше потока через турбину. Если клапан закрыт, а разница давлений высокая — то требуется уменьшить угол лопаток турбины, чтобы пропускать меньше газа.

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

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

По байпасному клапану минимальный порог обуславливается: для первой турбины — опасностью заклинивания клапана при его полностью закрытом положении; для второй — неточной работой позиционера, то есть при полном закрытии он показывает 3% вместо 0%. Минимальные границы взяты чуть больше, чтобы также не «гонять» рекомендации слишком часто.

Вот конкретный пример решения:

image
У нас мощность более 6 Мвт и в среднем за 10 минут клапан был открыт меньше чем на 6%. Дальше смотрим среднюю разность за 10 минут между уставкой и фактом. Она больше 4 кПа, поэтому смотрим текущую разницу между уставкой и фактом, т.к. она больше 4 кПа, то принимаем решение прикрыть угол лопаток на 1%

image
Так выглядит рекомендация для операторов

image
На правом нижнем графике видно, как понизился угол лопаток, т.е. рекомендация сервиса была принята (голубая линия — это рекомендация, а зеленая линия — факт)

В чем же заключается гибридное моделирование? В алгоритме присутствует фактическое давление перед ГУБТ, для которого мы и построили прогноз на минуту вперед. Это усовершенствует физическую модель алгоритма. Ниже результаты визуализация того, как работает модель прогноза давления.

image
Прогноз давления перед ГУБТ. Зелёный — факт, оранжевый — прогноз на 1 минуту вперёд

В январе 2022 года начали собирать статистику. Внедрили чуть раньше, но тут отчёт за год. Сначала подсказкой машинисты пользовались не так часто, как могли. Рекомендации выполнялись поначалу не всегда сразу, поэтому на гистограммах мы наблюдаем низкий процент в начале периода по отношению ко всему. Сейчас, спустя год, сервисом пользуются более уверенно и эффективно.

image
Статистика работы четырёх бригад за январь-ноябрь 2022 года

Для сравнения работы с сервисом и без сервиса мы построили ещё одну модель (обычная линейная регрессия), которая выявляла зависимость выработки электроэнергии ГУБТ от изменений ряда параметров. И смоделировали процесс работы ГУБТ при условии, если бы операторы тогда пользовались сервисом. Расчётный эффект составил порядка 0,7 МВт дополнительной электроэнергии. Это фактически то, что иначе «стравили» бы в байпас.

image
Щит управления доменной печью

В итоге сейчас у нас работает физико-математическая модель, которая даёт рекомендации в режиме онлайн.

© Habrahabr.ru