Представьте себе, что вы — владелец кофейни, которая работает на доставку. У вас широкий ассортимент и много постоянных клиентов. Но есть одна ужасно странная странность: каждый из них требует доставить напиток строго определенной температуры. У вас есть курьеры разной быстроты, сложные маршруты, пробки, погода, в конце концов… Слишком холодный кофе — клиент уходит, а разогревать «с запасом» невыгодно и тоже не соответствует заказу. По идее на этом месте вы должны понять, что вам нужна математическая модель, которая все рассчитает.



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



Человеку в такой задаче трудно достичь идеальной точности, поэтому у нас работает цифровой сервис, который называется «Заказ температуры».

Меня зовут Михаил Чмель. Я работаю в Группе НЛМК уже 8 лет. Точнее, я работаю на предприятии НЛМК-Калуга в электросталеплавильном цехе. До этого работал на Челябинском металлургическом комбинате, а потом прислал резюме на новый завод. Пригласили, понравилось, переехал в Калугу насовсем.



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


Это я на своем рабочем месте

Моя задача: обеспечить максимально безопасное производство стали с нужной производительностью — к примеру, сделать за смену 17 плавок.

В марте 2020 года мы с командой провели небольшой штурм на тему «какой цифровой сервис облегчит и улучшит нашу работу». Идею предложили дирекции по цифровой трансформации. Так что официально именно я – product-owner сервиса. Разработка началась в первых числах мая, а к эксплуатации мы приступили уже в октябре.



Разумеется, со стороны производства проектом занимался не только я. Целая команда технологов генерировала входные данные, рассказывала, как устроен процесс, что уже оцифровано, а что нет. Я собирал информацию, аккумулировал ее и передавал в IT.

Что мы хотели получить от сервиса


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

  1. В дуговую сталеплавильную печь (ДСП) загружается порядка 145 тонн металлолома. Полученный в результате плавки «жидкий полупродукт» попадает в сталеразливочный ковш и отправляется на установку ковш-печь (УКП).
  2. На УКП металл путем добавления ферросплавов и нагрева с помощью графитовых электродов доводится до требуемого химического состава и температуры.
  3. Далее расплавленный металл на сталеразливочном ковше доставляется к машине непрерывной разливки стали (МНЛЗ), которая производит финальный продукт — непрерывно литую заготовку (НЛЗ).

Наиболее интересным для оптимизации и автоматизации нам показался этап №2, а именно доведение стали до нужной температуры перед отправкой на МНЛЗ.


Так стальные заготовки выходят из ручьев МНЛЗ (машины непрерывного литься заготовок)

В идеале сталь должна быть на 20-30 градусов Цельсия горячее температуры ее плавления — в рамках liquidus. Как доставить её из пункта А в пункт Б, учитывая все издержки?



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

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


Так заготовки выглядят остывшем виде

Внутренняя подготовка к разработке решения


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

Состояние футеровки также влияет на температуру — поэтому мастер обязан указать, производился ли ее ремонт, и если да, то в какое время.

Первое время мы подготавливали необходимый пакет данных для сервиса и проводили мониторинг со стороны data science: собирали историческую информацию за 2 года, изучали, какие именно параметры требуются, искали закономерности. Основная цель этого этапа была в том, чтобы понять, насколько можно снизить температуру и, соответственно, какова будет экономическая выгода от этого понижения.

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

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

Данные агрегировались сначала на уровне БД, затем — непосредственно в приложении, которое выдает рекомендации. Новые датчики устанавливать не пришлось, все необходимое уже было. Из АСУ ТП мы получали детальную информацию по плавкам. Дополнительные данные — сведения по ковшам, материал футеровки и прочее — брались из MES. На данном этапе большое спасибо за активное участие и неравнодушие к делу представителям IT от НЛМК-Калуга Семену Денисову, Павлу Лебедеву, Виктору Никулину и Евгении Смолкиной.

Этапы разработки


Процесс разработки у нас был стандартный:

  • Мы изучили идею со всех сторон, подбили экономику, проверили концепцию — что есть необходимые данные, возможности интеграции, а модель в принципе осуществима и применима.
  • На техсовете подтвердили цифры предварительной плановой эффективности и постановили, что гипотеза имеет право на реализацию в MVP.
  • Разработали и внедрили продукт. Уже больше года сервис работает и приносит пользу. Сейчас он развернут на мощностях в Липецке, Калуге и Ревде.

Партнером по разработке для нас стали коллеги из компании Accenture.

Процесс был разбит на 6 спринтов по две недели:

  1. После определения источников, состава данных и способов интеграции подрядчику были предоставлены исторические данные за 2 года. На инфраструктуре НЛМК развернуты компоненты будущего сервиса.
  2. Сформирован сценарий использования и спроектирован интерфейс сервиса. Настроены подключения к источникам данных.
  3. Разработаны интеграция с СИ, интерфейс экрана сталевара и подготовлена первая пользовательская инструкция.
  4. Построен аналитический модуль, прогнозирующий теплопотери и выдающий рекомендации по температуре выдачи на УКП. Разработан порядок проведения тестирования системы.
  5. Подготовлены спецификации на аналитическое решение и интеграцию с источниками с описанием интеграционных потоков.
  6. Произведена оценка фактического экономического эффекта.

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


Это электроды, которыми при необходимости можно разогреть плавку

Тестирование сервиса


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

Теплое тестирование происходило так: мы включали сервис, и он начинал выдавать рекомендации. Сталевары субъективно оценивали их адекватность и давали обратную связь о качестве рекомендаций и работе сервиса в общем.

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

Как работает сервис


Для лучшего понимания логики работы сервиса взгляните на эту схему:


Как видно из схемы, сервис состоит из 4-х подсистем.

  1. Подсистема интеграции данных отвечает за загрузку данных из источника, а также обмен данными между подсистемой хранения данных и другими подсистемами. Реализована на базе Apache Nifi (вот, кстати, статья нашего гуру по этой системе) и Apache Kafka.
  2. Аналитическая подсистема отвечает за оценку оптимальной температуры разливки, прогнозирование целевой температуры на МНЛЗ, а также за обновление моделей (дообучение).
  3. Подсистема хранения данных обеспечивает операционное хранение необходимого для расчетов объема исходных данных, результатов расчетов подсистемы анализа данных, а также статус выполнения рекомендаций оператором. Реализована на СУБД PostgreSQL.
  4. Подсистема визуализации данных отвечает за визуализацию ключевых индикаторов на основе расчетов аналитической подсистемы, отображение рекомендуемых параметров. Реализована на React + TypeScript.

Вот так это работает на более высоком уровне:



Обратите внимание: система не управляет температурой напрямую, а выдает рекомендации мастерам.

В процессе выдачи рекомендаций участвуют сразу 2 математические модели:

  • линейная регрессия ловит общий тренд по теплопотерям;
  • бустинг позволяет осуществлять точную донастройку тренда.

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

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

Чем все закончилось (или нет?)


Нам удалось снизить среднюю температуру стали в промковшах на 2 ºC. Казалось бы, совсем незначительная цифра. Однако уже первые тесты показали, что экономия электроэнергии и графитовых электродов на УКП составила более 500 тысяч рублей в месяц. Мы ожидаем, что после окончательной стабилизации сервиса, подключения новых площадок и полном охвате технологических карт и плавок эффективность его применения вырастет в 2-2,5 раза.


В НЛМК-Калуга жидкая сталь, которую мы перевозим в ковшах, в конце концов становится арматурой


…или стланым уголком

Поначалу новый сервис вызвал массу скепсиса и непонимания. Людям казалось, что это всего лишь дань моде на оцифровку данных, которая не принесет практической пользы. Однако спустя короткое время, когда наши цеховые специалисты привыкли к сервису и начали учитывать его рекомендации, наметился существенный прогресс. Снизился риск возникновения «человеческой» ошибки, возросла экономическая эффективность производства. Особая благодарность за поддержку внедрения начальнику электросталеплавильного цеха (ЭСПЦ) Артему Ивахнюку и начальнику участка выплавки стали Николаю Бугуеву.

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

Еще один спорный момент (я касался его вскользь в самом начале статьи) — «Как могут непосвященные в металлургию люди (т.е. айтишники) разрабатывать для нас алгоритмы и процессы? Они же ничего подобного в жизни не видели!» Коллеги не понимали, каким образом математические модели могут спрогнозировать специфические цифры на сложном производстве. У многих это в голове не укладывалось. Я лично верил, что всё получится, потому сам объяснял IT-команде, как все работает, видел, что ребята движутся в правильном направлении. Помогали сотрудники нашего производственно-технического отдела Сергей Вербный и Вадим Конюхов — обсуждали, как строить гипотезу, какие данные передавать и сам механизм работы сервиса.

Ребята из IT шутили: мол, я для них — «глаза», камера в цехе, с помощью которой можно рассмотреть любые процессы. Им даже не приходилось выезжать на производство — они были только один раз, перед самым запуском. Пандемия все-таки, меньше ездишь — здоровее будешь. Хотя датасаентисты прекрасно видят мир через призму данных, я был их «камерой» в реальном цехе :)

Над проектом мы работали фактически 24/7 — И мы, и коллеги из Accenture подключались в любое время. Производство у нас непрерывное и ценный фидбэк может прийти в том числе от сотрудников, заступивших на ночную смену. Все идеи мы старались отрабатывать максимально быстро. Бывало, на этапе испытаний сервис не всегда выдавал корректные рекомендации. Мы вместе изучали цифры: и в 11 вечера, и в полночь собирались. Плавки-то идут каждый час — нужно отслеживать, какую рекомендацию сервис в 22:00 выдал, какую — в 23:00 и дальше.

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

Сейчас система постоянно совершенствуется и дорабатывается — ее потенциал все еще не раскрыт до конца. Мы можем еще сильнее снизить температуру в стальковшах и обеспечить еще более точное прогнозирование. Продуктовая команда круглосуточно отслеживает работу сервиса и отмечает дополнительные точки роста его функциональности. Отдельное спасибо лидеру продуктовой команды Андрею Фимушину! Без него наш продукт бы никогда не получился, ему очень круто удалось объединить столь разную по своим качествам, возрасту и профессиональным навыкам команду.

P.S. А еще из трудностей: «айтишники» придумали для наших внутренних терминов свой жаргон. Для нас прямо дико звучало, когда мы слышали что-то типа «сталевар жарит плавку» или «истопил электроды». Бомбило, но юмор таки победил)

Комментарии (17)


  1. amarao
    02.02.2022 13:11
    +1

    Насколько процент брака вырос?


    1. Chmel_MV Автор
      02.02.2022 14:53
      +1

      Брак не вырос – сервис на брак никак не влияет. Я понимаю, может быть вы представили, что сервис вообще неправильно рассчитал температуру, что сталь на ходу замерзла, но это из области фантастики.


      1. amarao
        02.02.2022 15:50
        +3

        Нет, я себе представил, что будет, если вы температуру на 6° опустите, и задумался, сумеете ли вы это заметить в качестве продукции. Если не сумеете, то вы не заметите изменений от 2° в качестве продукции так же.

        Я подвбрасываю в форумном режиме, да, но вопросы-то вполне серьёзные (и, надеюсь, полезные).


        1. Chmel_MV Автор
          02.02.2022 16:10
          +1

          Спасибо за вопрос! Всегда интересно обсуждать и делиться. 

          Но мы температуру даже не снижаем, а скорее нормализуем, потому что людям свойственно перестраховываться и они ее завышали. Мы это точно мониторили. Теперь температура в норме. Бояться, что мы что-то упустим и от этого продолжать завышать температуру – так сервис не умеет.


          1. amarao
            02.02.2022 21:09
            +4

            Я ничего не понимаю в стали и не собираюсь, но я точно знаю, что у любого улучшения процесса должны быть метрики, и помимо улучшения расхода энергии (достаточного условия) нужно ещё иметь отрицательный признак ухудшения (необходимое условие). Улучшение должно показать улучшение положительной метрики и неухудшение отрицательной. Потому что без отрицательной метрики я вам могу ОЧЕНЬ много электричества сэкономить. Не грейте сталь вообще - положительная метрика (экономия) зашкаливает. А что сталь не плавится - так условия-то "плавить хорошо" нет, все вопросы к сове и зайчику (комикс про менеджмент, гуглябельно).


      1. tdalex
        03.02.2022 12:52

        Более дорогие электроды для сталеплавильной печи, там это актуальнее.

        Я вижу проблему в следовании рекомендациям этой системы в том, что не заложен форс мажор, например прорыв какого-то ручья на МНЛЗ, и уже температуры не хватит для завершения разливки, ковш отдавать назад некуда, там на подходе другой ковш для обработки....придется всю серию задерживать. Получатеся что лучше не ходить по грани и дать температуру на несколько градусов выше.
        P.S. Есть другая более выгодная тема для экономии электричества на ДСП, это расплавить металл дугой, а дальше работать кислородом, без электродов....но это уже совсем другая история.


  1. don_ki_hot
    02.02.2022 14:20
    +1

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


    1. Chmel_MV Автор
      02.02.2022 14:51
      +1

      Действительно, у разной стали чуть-чуть разная температура Ликвидус. Но мы не подбираем марки стали под экономию, а выпускаем ту сталь, которая нужна нашим клиентам. А разницу в марках стали наш сервис учитывает, так как это одна из переменных для математической модели.


  1. burst777
    02.02.2022 16:01
    +1

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


  1. SoluS
    02.02.2022 16:59
    +2

    Вопрос не по теме, но интересно:
    >В дуговую сталеплавильную печь (ДСП) загружается порядка 145 тонн металлолома.
    А как получают нужный состав добавок в результирующей стали при работе с металлоломом? Т.е. если например, нужно на выходе получить сталь с 1% хрома, а в металлоломе привезли чёрт знает что. Может там нержавейка сплошная с 18% хрома.


    1. Chmel_MV Автор
      02.02.2022 18:59
      +3

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


      1. dragonnur
        03.02.2022 15:26

        Скажите, пожалуйста, УКП у вас аргоном поддутая? Азот же тоже для стали не айс


    1. Chmel_MV Автор
      02.02.2022 19:00
      +3

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


      1. SoluS
        02.02.2022 21:43
        +2

        Спасибо, пишите, почитаем. Интересно, как сортируют лом. Понятно, что у большой детали можно взять кусок на анализ. Но я вот в металлолом недавно сдавал банки с метизами — не будут же каждый шурупчик анализировать на содержание веществ…


        1. eimrine
          02.02.2022 23:50
          +2

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


  1. roginvs
    02.02.2022 17:56

    Над проектом мы работали фактически 24/7

    Вот и стоило оно того, еще не выгорели?


    1. Chmel_MV Автор
      02.02.2022 18:56
      +5

      Лично для меня самое страшное – это рутина. Ну спал бы я чуть побольше, и что? Некоторые вообще по жизни спят. А тут и люди интересные, и новое всё, и статья даже эта. Не скучно. Лично для меня приток энергии.