Ключевое звено всего производства: чего не хватало прокатному стану 2000

Первый агрегат в линии стана — вертикальный окалиноломатель. Это вертикальные валки, которые создают минимальное обжатие сляба и надламывают окалину. Далее с помощью гидросбива эта окалина смывается.

Первый агрегат в линии стана — вертикальный окалиноломатель. Это вертикальные валки, которые создают минимальное обжатие сляба и надламывают окалину. Далее с помощью гидросбива эта окалина смывается.

У нас есть прокатный Стан-2000. 2 000 — это не год создания, а длина бочки рабочего валка в миллиметрах, а значит, ширина стальной полосы. Стан раскатывает металлический слиток под названием сляб (примерно 25 тонн, толщиной 25 см и длиной — 10–12 м) в стальную полосу длиной до 1,5 км. 

Всё, что входит в стан с одной стороны, проедет целых 1 500 метров до самых моталок, будет раскатано и смотано в готовый рулон. На выходе толщина полосы — минимум 1,45 мм, а в среднем — около 3 мм. Поскольку стан длиннющий, на нём едет сразу несколько слябов/полос: пока одна полоса в конце стана сматывается в рулон, другая катается, и ещё пара слябов уже выходит на стан из печи. 

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

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

  1. Чтобы слябы не догоняли друг друга, потому что тогда будет пробка и всё остановится.

  2. Чтобы разрыв между слябами был минимальным, то есть подаваться они должны почти впритык.  

Задача сводится к пониманию того идеального момента, когда надо подавать на стан следующий сляб. 

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

Ведь сложность ещё и в том, что в зависимости от того, какой типоразмер полосы нужно получить, прокатывать нужно с разной скоростью. А ещё есть совершенно неалгоритмизируемые факторы типа «как-то не так дрожит полоса» и «что-то мне звук не нравится» — их мы пока не можем выделить для полной автоматизации. 

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

Это участок горячего проката: перед тем как металл попадает на прокатный стан, он нагревается в печи и обретает мягкость и пластичность, необходимые для обработки. 

40351b341c6a46915ae1113195c9715e.png

Это выдача раскалённых слябов из печи, т. е. начало процесса проката:  

13460cc6f60513216b25d332409ad5ba.pngf3be95932940148359c860bc2302090b.png

Это одна из пяти печей, в которых доготавливаются слябы. «Доготавливаются», а не «готовятся», потому что выплавлены они были раньше в другом цехе, про который мы уже писали, а здесь их нужно либо разогреть после промежуточного хранения, либо удержать температуру в нужном диапазоне до того, как они попадут в валки стана. 

Тут видно, как открывается печь и «вилка» забирает сляб из печи

Тут видно, как открывается печь и «вилка» забирает сляб из печи

Печи расположены в ряд и действуют по очереди. Это как барабан револьвера, откуда слябы, как пули в ствол, подаются на стан. Но в отличие от револьвера у нас тут не барабан, а вытянутая структура, поэтому время подъезда каждого сляба к стану от разных печей разное: из ближайшей печи ехать недалеко, из дальней — на 10–15 секунд дольше, и система учитывает это расхождение для правильного темпа подачи слябов в стан.

Вот эти пять печей на схеме. В каждой — до 40 слябов, и у них разные кривые нагрева в зависимости от химии металла. Недодержать сляб в печи нельзя, а вот немного передержать можно: это затраты энергии, но это не так критично, как не попасть в температуру и выдать на стан холодный сляб. Но с точки зрения нашего участка все печи — это просто «чёрный ящик» со свойством «дайте сляб через N секунд». 

Интерфейс показывает оператору заданную и фактическую паузу и темп прокатки 

Интерфейс показывает оператору заданную и фактическую паузу и темп прокатки 

Измерение пауз между полосами происходит перед шестой клетью — это начало чистовой группы клетей. К слову, всего в стане — 12 клетей.

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

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

Чем темп отличается от паузы

Хороший пример — автобусы. Темп — это время между прибытием одного автобуса и прибытием второго. А пауза — это время между отъездом одного автобуса и приездом следующего.

Как сляб становится полосой

Сляб (напомню: это 25-тонный металлический брусок), проходя через первую часть стана (черновую группу, пять первых клетей), раскатывается на толщину до тридцати миллиметров и становится длиннее. Дальше это уже не сляб, а полоса, и она заезжает во вторую группу — семь чистовых клетей. В каждой клети сталь обжимается валками, за счёт чего становится тоньше и длиннее. Происходит это не то чтобы непредсказуемо, но с вариативностью по массе параметров, которые влияют на время высвобождения того или иного участка стана.  

b93f3ff27dbe994c69159696b0134be5.png

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

Риск против производительности

Каждый типоразмер полосы прокатывается разное количество времени. Даже в одном размере машинное время может отличаться. 

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

Конечно, бригада заинтересована в максимальной производительности, но чем больше она увеличивает скорость, тем выше риск застревания полосы в стане (полный абзац). И тогда всплывает, что тише едешь — дальше будешь.

Чем медленнее, тем, конечно, меньше рисков, но и производительность падает — вот такая получается палка о двух концах и вечное перетягивание мнений.

Вот так выглядит охлаждение полосы

Вот так выглядит охлаждение полосы

Оператор и стан

Ещё скорость прокатки (фактическая, а даже не та, которую хотим задать) зависит от того, смещается полоса или нет, насколько хорошо работает каждое гидронажимное устройство, а ещё — с каким звуком полоса заходит в клети, что вообще сейчас происходит в целом со станом, насколько бригада сегодня бодра и уверена в себе и так далее. В горячей прокатке нет «автопилота», ответственность — на операторе. 

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

Но мы ни в коем случае не пытаемся бригады унифицировать. Основная задача — не продиктовать операторам стана, какие задать параметры, а попытаться предсказать, за сколько времени проедет каждая полоса при параметрах, которые зададут операторы. 

Чтобы предсказывать, у нас есть статистика, как катали разные бригады разные сортаменты стали при разных состояниях стана. 

d14b25a92bc58794985c4e7dd562e06f.png

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

Как это работает теперь

На входе в процесс у нас суточный график прокатки. В графике — всё, что будет изготавливаться. 

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

Это контринтуитивно, но слябы из второй и пятой печей могут попасть на рольганг одновременно, однако из-за разных расстояния и времени обработки они приедут по очереди с требуемым разрывом. 

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

Затем мы учитываем телеметрию стана. За 10 минут с датчиков на всём протяжении стана собирается около 100 Мб «сырых» данных. Вся эта уйма данных нам не нужна, а необходимы только основные опорные точки и агрегаты, на которых мы строили обучающую выборку для нашего «умного» сервиса. 

Их мы долго складывали в хранилище и копили, а потом анализировали. Из этих данных мы узнаём, кто прокатывал, в каком состоянии было оборудование. Это и позволяет предсказать, сколько будет прокатываться текущий заказ на текущем же состоянии оборудования. Модель делает прогноз времени прокатки, добавляет безопасный интервал в десять секунд, и мы получаем данные для заказа сляба из печи. 

Считается пять моделей LightGBM:

  1. Прогноз времени прохода полосы в черновой группе клетей.

  2. Прогноз ошибки модели по черновой группе.

  3. Прогноз реверса.

  4. Прогноз времени прохода полосы в чистовой группе клетей.

  5. Прогноз ошибки модели по чистовой группе.

Считается всё это на обычном сервере с CPU, даже GPU-сервер не понадобился.

Оператор и сервис

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

377adda175dd622e50ff777979ba4a57.png

В среднем ошибка моделей — 1,5 секунды. Это значит, что модель ошибается примерно настолько же, насколько ошибается человек с 30-летним опытом. Но это именно в среднем. Дело в том, что на популярных сортаментах (80% прокатываемых) модель имеет точность 0,5–0,8 секунды, то есть даёт существенно больший выигрыш. А вот непопулярные сложные техкарты — это накопление данных для последующего переобучения. В черновой группе процент предсказания лучше, в чистовой — хуже, есть куда улучшать модель. 

В начале внедрения операторы, понятно, не очень доверяли значениям сервиса. Но мы старались объяснить и вовлечь — постепенно люди стали помогать сервису стать точнее: вовремя сообщать об ошибках и участвовать в анализе их причин, а теперь просто пользуются.   

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

© Habrahabr.ru