Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Всем привет. Меня зовут Александр и я химик тестировщик аналитик данных. Как и многие люди моего поколения, я работаю не по специальности. После химфака МГУ и пяти лет работы младшим научным сотрудником в области химической технологии я переметнулся в IT и стал тестировщиком ПО. Помню, как мама говорила мне, чтобы я попробовал найти работу, где будут сочетаться химия и информационные технологии, но в тот момент я считал, что такого не бывает.
Ну и как это часто бывает, жизнь подбросила новые возможности и вот я в здесь – в компании Datana, где неожиданно для самого себя успешно сочетаю несочетаемое: анализ данных и знание химии.
Основное направление работы Datana сейчас – оптимизация непрерывных промышленных процессов на отечественных производствах. Пока что мы сосредоточились в основном на чёрной металлургии и начинаем расширяться на цветную. Мы далеко не первые в этой отрасли, в ней уже присутствует несколько известных IT-игроков (и много менее известных). Кроме того, многие крупные металлургические компании, такие как Северсталь и НЛМК, активно развивают компетенции анализа данных внутри себя. Однако спрос на “цифровизацию” промышленности постоянно растёт, так что работы тут хватает на всех.
За полтора года Datana проделала большой путь от успешного пилотного проекта до десятка проработанных кейсов и нескольких параллельных крупных проектов в работе. По дороге мы подробно разобрались в современных технологиях производства стали, побывали на многих металлургических заводах, а самое главное – основательно изучили особенности анализа производственных данных.
В этой статье я хочу рассказать о развитии технологий выплавки стали и современном положении вещей в этой области, а также об особенностях работы с производственными данными.
Железо известно человечеству очень давно, это один из семи “металлов древности”, наряду с золотом, серебром, медью, свинцом, оловом и ртутью. Поначалу люди имело дело только с самородным железом, источником которого были ядра железно-никелевых метеоритов. Понятное дело, встречались они не очень часто, так что метеоритное железо было довольно редким и дорогим материалом и использовалось в основном в ритуальных целях. Извлекать железо из руды люди научились сильно позже, но тоже довольно давно. Принято считать, что чёрная металлургия возникла с началом железного века в Средней Азии и появлением первых железных орудий около 3000 лет назад. Причём, в других регионах железный век наступал позже, иногда на тысячелетия. Технология кочевала по планете, её забывали и “открывали” вновь.
Первым способом выплавки железа считается сырое дутьё. В глиняную сыродутную печь загружали шихту – прокалённую в костре и размолотую железную руду, смешанную с древесным углём. Шихту поджигали и, так как воздух в печь поступал самотёком, как в обычный костёр, горение шло медленно, около суток. В процессе из печи вытекал шлак, выносящий из шихты до 80% железа. В конце концов получалась крица (или сыродутное железо) – большой кусок твёрдого железа с включениями из застывшего шлака и недогоревшего угля. Крица получалась больше размером, чем отверстие для загрузки шихты и поддува, так что извлечь её без разрушения стенки печи было невозможно. Но почему же не сделать отверстие побольше? Потому что тогда в печи не будет тяги и шихта не будет гореть. Так что печь каждый раз частично разрушали, чтобы извлечь крицу, которую затем ковали, чтобы механически выбить из неё куски шлака и угля. Придание крице нужной формы было только побочным результатом ковки. Печь потом восстанавливали, благо это относительно просто – она же глиняная.
Из кричного железа делали примитивные орудия труда, которые, однако, превосходили деревянные. Затем, само собой, начали изготавливать оружие, которое было прочнее и дешевле бронзового – произошёл переход от бронзового века к железному.
За прошедшие с тех пор несколько тысяч лет железо стало одной из основ человеческой цивилизации. Чёрная металлургия прошла долгий путь от метеоритного железа и первых сыродутных печей до современного сталелитейного производства. Основные вехи этого пути я собрал в таймлайн.
На некоторых этапах я хочу остановиться подробнее.
Например, примечательна история дамасской стали и булата, это пример технологии, в чём-то опередившей своё время, но оказавшейся тупиковой ветвью. В погоне за высоким качеством металла древние металлурги, действуя методом проб и ошибок, нащупали несколько способов повысить качество кричного железа. Булат получается, если соединить между собой высокоуглеродистый чугун и железо так, чтобы содержание углерода в объёме было неоднородным. Это был сложный и ненадёжный способ и по мере развития технологии о нём забыли. В XIX веке технология была восстановлена, но признана нетехнологичной и неактуальной. С дамасской сталью история похожая, отличие в том, что неоднородность состава достигалась многократной перековкой и послойной сваркой чугуна с железом. Ко времени открытия и булат и дамаск значительно опережали по качеству обычное кричное железо, но получать их было сложно и дорого, секрет технологии тщательно оберегался и постепенно затерялся. Но мифы остались, поначалу вполне обоснованные, но по мере развития основной технологии они становились всё менее правдоподобными.
Примерно до XVII века развитие чёрной металлургии было количественным: увеличивался объём печей и высота труб, росла температура внутри; оптимизировались операции загрузки шихты и выгрузки крицы. По сути, переломным моментом стало достижение в печи температуры плавления чугуна (1300°C), а затем и стали (~1500°C).
Для заинтересовавшихся историей применения железа: на Вики есть отличная статья, откуда и взяты все факты для таймлайна.
Устоявшаяся технологическая цепочка получения стали на верхнем уровне состоит из следующих стадий:
К концу XIX века оформились три основных технологии, применяемых для передела: конвертерный, мартеновский и электротермический процессы.
Конвертерный процесс
Он же бессмеровский, прямой наследник сырого дутья. Чугун, полученный в доменной печи, переливают в конвертер, где продувают воздухом, лишний углерод выгорает с выделением тепла и образуется жидкая сталь, которую не нужно механически очищать от шлака и угля, а остаётся только отлить в нужную форму. За прошедшие с тех пор более 150 лет конвертерный процесс почти не изменился, главное отличие в том, что сейчас вместо воздуха через чугун продувается чистый кислород под давлением.
Мартеновский процесс
В мартеновскую печь кроме чугуна помещали железную руду и металлический лом. Имея некоторые преимущества над конвертерным (возможность переработки металлолома и простота контроля химического состава стали), мартеновский процесс обладает критическим недостатком – большой продолжительностью. В современном кислородном конвертере чугун превращается в сталь за 30 минут, а в мартеновской печи это занимает несколько часов. Так что сейчас в мире уже практически не осталось действующих мартеновских печей, воспетых в советском искусстве.
Электротермический процесс
В конвертерном процессе нагрев шихты происходит за счёт экзотермических химических реакций. Но благодаря одному из важнейших открытий эпохи Просвещения – электричеству – появился новый способ: электродуговой нагрев. Причём, электричество одинаково эффективно нагревает как чугун, так и металлолом, так что дополнительным преимуществом этого подхода стала возможность его переработки.
Поначалу доступных источников электричества достаточной мощности в мире просто не было и примерно до середины XX века бал правили конвертеры и мартены, но как только настала эпоха дешёвого электричества, электротермический способ начал бурно развиваться.
Доменный процесс в целом сохранился с XIX века без существенных качественных изменений. Само собой, количественно он сильно продвинулся, но на многих заводах до сих пор работают доменные печи, построенные сто и больше лет назад.
Для передела чугуна в сталь применяются две технологии выплавки из трёх, описанных в предыдущем разделе: конвертерный и электротермический процессы. Соответственно, в основе современного сталелитейного цеха находится либо кислородный конвертер (КК), либо дуговая сталеплавильная печь (ДСП, не путать с ДСП).
Эти процессы мирно сосуществуют, не вытесняя друг друга, так как имеют дополняющие друг друга особенности.
Кое-где ещё работают мартены, но в целом этот способ производства стали отходит в историю. В 2018 году в России была остановлена последняя крупная мартеновская печь на Выксунском металлургическом заводе. Кстати, один из не так давно остановленных мартеновских цехов находится на территории Ашинского металлургического завода (АМЗ), где команда Datana работала в 2018 – 2019 годах и о чём на Хабре опубликовано уже несколько статей. Первая из трёх мартеновских печей проработала там ровно 100 лет, с 1910 до ноября 2010 года.
Рядом с мартеновским цехом в АМЗ построен новый электросталеплавильный цех №2 (ЭСПЦ 2), где работает современная ДСП-120. Кстати, именно на АМЗ сталь получают исключительно из металлолома, доменный цех там остановлен ещё в 1986 году.
А вот на Магнитогорском металлургическом комбинате (ММК) передел чугуна в сталь происходит в кислородно-конвертерном цеху (ККЦ), где мы работаем с конца 2019 года и реализуем ряд кейсов на разных участках и агрегатах.
Так что наша команда не понаслышке знакома с обеими основными технологиями получения стали. И, само собой, мы хорошо знакомы с особенностями реальных производственных данных, о чём и поговорим дальше.
По нашему опыту предприятия “реального сектора экономики” пока что не очень дружат с миром IT. Приведу пример из опыта личного. Когда в 2006 – 2011 я годах работал в производственном НИИ, локальная сеть в нашей лаборатории была построена на коаксиальном кабеле с топологией “кольцо”. Основным портативным носителем данных во всём институте была дискета 3.5”, а флешки были чем-то диковинным и подозрительным. Своим первым достижением в IT я считаю замену коаксиалки на витую пару. Это положение вещей со временем меняется в лучшую сторону, но в целом проникновение цифровых технологий в производство в нашей стране идёт довольно медленно и неравномерно. Это приводит к целому ряду особенностей и проблем, возникающих при работе с данными “с завода”.
В наших руках побывали данные из разных цехов нескольких заводов как чёрной, так и цветной металлургии, что позволило составить список признаков, отличающих производственные данные от других.
Тёплый аналоговый сигнал
Данные откуда-то берутся, так что начнём с источников данных и их пути к хранилищу. Например, в веб-аналитике данные собираются через стандартные API и аккуратно складываются, скажем, в ClickHouse или Cassandra и всегда доступны в удобном виде… Ладно, само собой, так не бывает почти никогда. Но всё же на производстве значительная часть данных рождается в аналоговых датчиках, фиксирующих те или иные физические или химические параметры процесса, поэтому сначала имеют форму электрического импульса. Разнообразие применяемых датчиков очень велико: простые механические контакты, электроизмерительные приборы, расходомеры (для газов, жидкостей и порошков), термопары, тензодатчики, вибродатчики и многие другие. На одном агрегате может быть несколько сотен датчиков разной сложности, сигналы с них собираются контроллерами, причём многие — в реальном времени (с дискретностью в десятки и единицы миллисекунд), и отправляются в АСУ ТП (автоматизированная система управления технологическим процессом), а оттуда уже попадают в базу данных. Или не попадают, но об этом чуть позже.
Кроме датчиков источниками данных могут быть более сложные приборы, начиная с более-менее привычных всем видеокамер (часто с помощью ИК-камер измеряют температуру) и заканчивая спектрометрами и рентгеновскими потоковыми химическими анализаторами. Почти все производители сложного оборудования используют свои собственные форматы данных, так что в промышленных системах мы имеем дело с целым зоопарком: xml, json или, например, iba; промышленные протоколы вроде PROFINET или PROFIBUS; более привычные дампы Oracle и MS SQL. Иногда дамп БД предоставляется в распакованном виде, как набор текстовых файлов со списками CREATE-ов и INSERT-ов, которые мы парсим и запускаем. Бывает, что данные существуют исключительно в виде файлов, которые проприетарная система сохраняет на сервер, в этом случае боевая интеграция с источником данных может представлять собой bash-скрипт со стороны производства, который по расписанию кладёт в общую папку новый файлик, и скрипт с нашей стороны, который вычитывает этот файлик, парсит его и преобразует данные в более удобную для работы форму.
Ручной ввод
Но, к сожалению, пока что очень трудно встретить производство, где все технологические процессы оцифрованы полностью. Так что на всех производствах, с которыми мы работали, есть ручной ввод данных. Либо лаборант вручную вводит в Excel результаты химического анализа, либо старший смены вручную вводит номер плавки. Или, например, технолог каждый день вручную составляет в Excel табличку, по которой подготавливают исходное сырьё для загрузки в печь (это называется “паспорт шихты”). Чтобы не вбивать каждый день всё заново он копирует табличку и нет-нет да и пропустит случайно пару ячеек, оставив там вчерашние данные. Или прошлогодние.
Часто инженерам доступно редактирование данных в БД, даже попавших туда автоматически.
В большинстве случаев ручной ввод приводит к непреднамеренным ошибкам, но иногда “человеческий фактор” становится вполне преднамеренным, особенно, когда дело касается показателей, от которых зависит размер премии…
Объём и глубина
В большинстве случаев хранилища на производстве не идут ни в какое сравнение с объёмами систем хранения данных дата-центров традиционных “айтишных” направлений или, например, банковского сектора. Поэтому заглянуть на год назад обычно можно, но набор показателей сильно прорежен по сравнению с доступным в реальном времени. А данные глубже одного года обычно не получается назвать большими даже с натяжкой, если они вообще имеются.
Сюда же можно отнести тот самый случай, когда данные с датчиков идут, но так и не добираются до хранилища. Это происходит, когда объём доступной информации для завода избыточен и не собирается. Например, на заводе провели модернизацию, установили новый агрегат, со своей проприетарной информационной системой, которая собирает массу информации о ходе процесса. Мы видим список сигналов, радуемся изобилию, но не тут-то было: заводу почти всё это не нужно, поэтому большая часть не интегрирована с АСУ ТП, а часто даже и сотрудники производства не в курсе, что именно там есть, а чего нет.
Пропуски, ошибки и задержки
Набор реальных данных без пропусков встретить сложно, вопрос в том, сколько их. Пропуски возникают по разным причинам, самая простая из них – отсутствие данных в конкретный момент времени или случайная ошибка при записи в БД. Но в условиях производства появляются дополнительные источники потери данных. Например, отошедший контакт у одного из сотен датчиков, сигнал которого не критичен для ведения процесса, но жизненно необходим для моделирования, может привести к непригодности массива данных на значительном интервале.
Часто пропуски связаны с вводом данных вручную, который мы обсудили выше.
Ошибки в данных, в целом, возникают по тем же причинам, что и пропуски. Например, мы постоянно встречаемся с нулевыми или даже отрицательными значениями параметра “вес”. Однократный сбой датчика весов – и мы уже не можем узнать, сколько именно феррохрома было “отдано” в печь в ходе конкретной плавки. Нулевой вес несложно отследить и отбросить, но если весы просто неправильно откалиброваны – мы можем про это узнать чисто случайно или вообще не узнать.
А бывают ошибки просто необъяснимые. Из недавнего: загружал заводские данные в нашу базу и запрос в какой-то момент упал. Начал разбираться и обнаружил, что в данных есть некоторое количество записей за 31 ноября, и умный Postgres такую дату в поле с типом Date вставлять не захотел. Как оно так получилось и какая дата там должна быть я не знаю. Вероятно, в заводской БД дата хранится в поле с общим текстовым типом и в какой-то момент дата поплыла.
Обычно новые данные доступны в реальном времени и мы боремся максимум за считанные секунды запаздывания. Но на производстве бывает, что какой-то нужный показатель попадает в информационные системы завода через несколько часов или даже дней. Идёт плавка, берётся проба шлака на химический анализ, а его результат будет занесён в систему только вечером. А если плавка ночная, то вообще через сутки. Это не критично, когда мы исследуем исторические данные и обучаем модели, но когда нам нужно формировать рекомендации по ведению процесса в реальном времени – это бывает важно.
Смысл данных
Если вы отраслевой эксперт и прекрасно понимаете специфику производства, вы отлично понимаете, что значит тот или иной параметр в базе. Но если нет, то показатели вроде таких могут поставить вас в тупик:
Система поднятия сосуда. Управляющий клапан подвижной площадки 1. Вверх
Торкретмашина.Режим торкретирования.Манипулятор/Ручная фурма
Мы работаем в плотном контакте с технологами и у нас есть документация, так что все показатели уже стали нам более-менее понятны, но поначалу подобные примеры вызывали у нас нервный смех.
Кто-то может сказать: “ну мы же аналитики данных, засунем всё в модель и она сама расставит веса показателям и отбросит ненужные, зачем нам разбираться вообще?!” – и будет неправ.
Понимание смысла показателей позволит сформировать первичное ограниченное пространство признаков, представленных в наиболее адекватном виде для максимально объективного моделирования производственных процессов. При необходимости пространство можно будет расширить, но с пониманием смысла данных можно сразу отбросить те показатели, которые не будут оказывать большое влияние на условную (или фактическую) целевую метку. Кроме того, часть показателей могут быть заведомо зависимы. И часто бывает, что для выявления таких скрытых зависимостей выгоднее применить экспертные знания, а не статистический анализ.
На мой взгляд, главный вывод, который можно сделать относительно производственных данных – они есть! Ещё относительно недавно получить данные с завода в “цифровом” виде было утопией. Они либо были аналоговые, либо оцифровка была фрагментарной, что в целом не позволяло с ними нормально работать. Но сейчас данные в промышленности есть, и с ними можно работать. Само собой, перечисленные выше особенности не облегчают анализ этих данных, но и не делают его невозможным. Если подходить к этой задаче комплексно, сочетая приёмы анализа данных с пониманием физико-химических основ процессов и погружаясь в отраслевую специфику, результат будет сравним с классическими для анализа данных направлениями.
Весь мир постепенно становится цифровым. В сфере развлечений и потребительских услуг это происходит интенсивнее, в сфере производства более осторожно. Но я уже встречал формулировку “Сельское хозяйство 4.0” пару лет назад, так что тенденция, думаю, очевидна всем. Так что всем нам предстоит освоение многих неожиданных специальностей и областей знания, и это замечательно! К моменту публикации этой статьи я, скорее всего, уже побываю в командировке на Челябинском цинковом заводе в качестве аналитика и отраслевого эксперта, ведь вслед за чёрной металлургией мы уже начали освоение цветной.
P.S. По прошествии нескольких часов вижу, что интерес к статье есть, но к обсуждению она не побуждает:)
Читая Хабр уже больше 10 лет, я впервые написал что-то сам, так что буду рад любой обратной связи. Я готов рассказать больше подробностей, ответить на вопросы, обсудить опыт читателей!
Ну и как это часто бывает, жизнь подбросила новые возможности и вот я в здесь – в компании Datana, где неожиданно для самого себя успешно сочетаю несочетаемое: анализ данных и знание химии.
Основное направление работы Datana сейчас – оптимизация непрерывных промышленных процессов на отечественных производствах. Пока что мы сосредоточились в основном на чёрной металлургии и начинаем расширяться на цветную. Мы далеко не первые в этой отрасли, в ней уже присутствует несколько известных IT-игроков (и много менее известных). Кроме того, многие крупные металлургические компании, такие как Северсталь и НЛМК, активно развивают компетенции анализа данных внутри себя. Однако спрос на “цифровизацию” промышленности постоянно растёт, так что работы тут хватает на всех.
За полтора года Datana проделала большой путь от успешного пилотного проекта до десятка проработанных кейсов и нескольких параллельных крупных проектов в работе. По дороге мы подробно разобрались в современных технологиях производства стали, побывали на многих металлургических заводах, а самое главное – основательно изучили особенности анализа производственных данных.
В этой статье я хочу рассказать о развитии технологий выплавки стали и современном положении вещей в этой области, а также об особенностях работы с производственными данными.
Краткая история чёрной металлургии
Железо известно человечеству очень давно, это один из семи “металлов древности”, наряду с золотом, серебром, медью, свинцом, оловом и ртутью. Поначалу люди имело дело только с самородным железом, источником которого были ядра железно-никелевых метеоритов. Понятное дело, встречались они не очень часто, так что метеоритное железо было довольно редким и дорогим материалом и использовалось в основном в ритуальных целях. Извлекать железо из руды люди научились сильно позже, но тоже довольно давно. Принято считать, что чёрная металлургия возникла с началом железного века в Средней Азии и появлением первых железных орудий около 3000 лет назад. Причём, в других регионах железный век наступал позже, иногда на тысячелетия. Технология кочевала по планете, её забывали и “открывали” вновь.
Первым способом выплавки железа считается сырое дутьё. В глиняную сыродутную печь загружали шихту – прокалённую в костре и размолотую железную руду, смешанную с древесным углём. Шихту поджигали и, так как воздух в печь поступал самотёком, как в обычный костёр, горение шло медленно, около суток. В процессе из печи вытекал шлак, выносящий из шихты до 80% железа. В конце концов получалась крица (или сыродутное железо) – большой кусок твёрдого железа с включениями из застывшего шлака и недогоревшего угля. Крица получалась больше размером, чем отверстие для загрузки шихты и поддува, так что извлечь её без разрушения стенки печи было невозможно. Но почему же не сделать отверстие побольше? Потому что тогда в печи не будет тяги и шихта не будет гореть. Так что печь каждый раз частично разрушали, чтобы извлечь крицу, которую затем ковали, чтобы механически выбить из неё куски шлака и угля. Придание крице нужной формы было только побочным результатом ковки. Печь потом восстанавливали, благо это относительно просто – она же глиняная.
Из кричного железа делали примитивные орудия труда, которые, однако, превосходили деревянные. Затем, само собой, начали изготавливать оружие, которое было прочнее и дешевле бронзового – произошёл переход от бронзового века к железному.
За прошедшие с тех пор несколько тысяч лет железо стало одной из основ человеческой цивилизации. Чёрная металлургия прошла долгий путь от метеоритного железа и первых сыродутных печей до современного сталелитейного производства. Основные вехи этого пути я собрал в таймлайн.
На некоторых этапах я хочу остановиться подробнее.
Например, примечательна история дамасской стали и булата, это пример технологии, в чём-то опередившей своё время, но оказавшейся тупиковой ветвью. В погоне за высоким качеством металла древние металлурги, действуя методом проб и ошибок, нащупали несколько способов повысить качество кричного железа. Булат получается, если соединить между собой высокоуглеродистый чугун и железо так, чтобы содержание углерода в объёме было неоднородным. Это был сложный и ненадёжный способ и по мере развития технологии о нём забыли. В XIX веке технология была восстановлена, но признана нетехнологичной и неактуальной. С дамасской сталью история похожая, отличие в том, что неоднородность состава достигалась многократной перековкой и послойной сваркой чугуна с железом. Ко времени открытия и булат и дамаск значительно опережали по качеству обычное кричное железо, но получать их было сложно и дорого, секрет технологии тщательно оберегался и постепенно затерялся. Но мифы остались, поначалу вполне обоснованные, но по мере развития основной технологии они становились всё менее правдоподобными.
Примерно до XVII века развитие чёрной металлургии было количественным: увеличивался объём печей и высота труб, росла температура внутри; оптимизировались операции загрузки шихты и выгрузки крицы. По сути, переломным моментом стало достижение в печи температуры плавления чугуна (1300°C), а затем и стали (~1500°C).
Для заинтересовавшихся историей применения железа: на Вики есть отличная статья, откуда и взяты все факты для таймлайна.
Чёрная металлургия сегодня
Устоявшаяся технологическая цепочка получения стали на верхнем уровне состоит из следующих стадий:
- Дóбыча и обогащение руды
- Восстановление железа из руды коксом в доменной печи с получением чугуна
- Передел чугуна в сталь
- Обработка стали (горячий или холодный прокат)
К концу XIX века оформились три основных технологии, применяемых для передела: конвертерный, мартеновский и электротермический процессы.
Конвертерный процесс
Он же бессмеровский, прямой наследник сырого дутья. Чугун, полученный в доменной печи, переливают в конвертер, где продувают воздухом, лишний углерод выгорает с выделением тепла и образуется жидкая сталь, которую не нужно механически очищать от шлака и угля, а остаётся только отлить в нужную форму. За прошедшие с тех пор более 150 лет конвертерный процесс почти не изменился, главное отличие в том, что сейчас вместо воздуха через чугун продувается чистый кислород под давлением.
Мартеновский процесс
В мартеновскую печь кроме чугуна помещали железную руду и металлический лом. Имея некоторые преимущества над конвертерным (возможность переработки металлолома и простота контроля химического состава стали), мартеновский процесс обладает критическим недостатком – большой продолжительностью. В современном кислородном конвертере чугун превращается в сталь за 30 минут, а в мартеновской печи это занимает несколько часов. Так что сейчас в мире уже практически не осталось действующих мартеновских печей, воспетых в советском искусстве.
Электротермический процесс
В конвертерном процессе нагрев шихты происходит за счёт экзотермических химических реакций. Но благодаря одному из важнейших открытий эпохи Просвещения – электричеству – появился новый способ: электродуговой нагрев. Причём, электричество одинаково эффективно нагревает как чугун, так и металлолом, так что дополнительным преимуществом этого подхода стала возможность его переработки.
Поначалу доступных источников электричества достаточной мощности в мире просто не было и примерно до середины XX века бал правили конвертеры и мартены, но как только настала эпоха дешёвого электричества, электротермический способ начал бурно развиваться.
Доменный процесс в целом сохранился с XIX века без существенных качественных изменений. Само собой, количественно он сильно продвинулся, но на многих заводах до сих пор работают доменные печи, построенные сто и больше лет назад.
Для передела чугуна в сталь применяются две технологии выплавки из трёх, описанных в предыдущем разделе: конвертерный и электротермический процессы. Соответственно, в основе современного сталелитейного цеха находится либо кислородный конвертер (КК), либо дуговая сталеплавильная печь (ДСП, не путать с ДСП).
Эти процессы мирно сосуществуют, не вытесняя друг друга, так как имеют дополняющие друг друга особенности.
Кое-где ещё работают мартены, но в целом этот способ производства стали отходит в историю. В 2018 году в России была остановлена последняя крупная мартеновская печь на Выксунском металлургическом заводе. Кстати, один из не так давно остановленных мартеновских цехов находится на территории Ашинского металлургического завода (АМЗ), где команда Datana работала в 2018 – 2019 годах и о чём на Хабре опубликовано уже несколько статей. Первая из трёх мартеновских печей проработала там ровно 100 лет, с 1910 до ноября 2010 года.
Рядом с мартеновским цехом в АМЗ построен новый электросталеплавильный цех №2 (ЭСПЦ 2), где работает современная ДСП-120. Кстати, именно на АМЗ сталь получают исключительно из металлолома, доменный цех там остановлен ещё в 1986 году.
А вот на Магнитогорском металлургическом комбинате (ММК) передел чугуна в сталь происходит в кислородно-конвертерном цеху (ККЦ), где мы работаем с конца 2019 года и реализуем ряд кейсов на разных участках и агрегатах.
Так что наша команда не понаслышке знакома с обеими основными технологиями получения стали. И, само собой, мы хорошо знакомы с особенностями реальных производственных данных, о чём и поговорим дальше.
Производственные данные
По нашему опыту предприятия “реального сектора экономики” пока что не очень дружат с миром IT. Приведу пример из опыта личного. Когда в 2006 – 2011 я годах работал в производственном НИИ, локальная сеть в нашей лаборатории была построена на коаксиальном кабеле с топологией “кольцо”. Основным портативным носителем данных во всём институте была дискета 3.5”, а флешки были чем-то диковинным и подозрительным. Своим первым достижением в IT я считаю замену коаксиалки на витую пару. Это положение вещей со временем меняется в лучшую сторону, но в целом проникновение цифровых технологий в производство в нашей стране идёт довольно медленно и неравномерно. Это приводит к целому ряду особенностей и проблем, возникающих при работе с данными “с завода”.
В наших руках побывали данные из разных цехов нескольких заводов как чёрной, так и цветной металлургии, что позволило составить список признаков, отличающих производственные данные от других.
Особенности и проблемы промышленных данных
Источники и преобразования
Тёплый аналоговый сигнал
Данные откуда-то берутся, так что начнём с источников данных и их пути к хранилищу. Например, в веб-аналитике данные собираются через стандартные API и аккуратно складываются, скажем, в ClickHouse или Cassandra и всегда доступны в удобном виде… Ладно, само собой, так не бывает почти никогда. Но всё же на производстве значительная часть данных рождается в аналоговых датчиках, фиксирующих те или иные физические или химические параметры процесса, поэтому сначала имеют форму электрического импульса. Разнообразие применяемых датчиков очень велико: простые механические контакты, электроизмерительные приборы, расходомеры (для газов, жидкостей и порошков), термопары, тензодатчики, вибродатчики и многие другие. На одном агрегате может быть несколько сотен датчиков разной сложности, сигналы с них собираются контроллерами, причём многие — в реальном времени (с дискретностью в десятки и единицы миллисекунд), и отправляются в АСУ ТП (автоматизированная система управления технологическим процессом), а оттуда уже попадают в базу данных. Или не попадают, но об этом чуть позже.
Кроме датчиков источниками данных могут быть более сложные приборы, начиная с более-менее привычных всем видеокамер (часто с помощью ИК-камер измеряют температуру) и заканчивая спектрометрами и рентгеновскими потоковыми химическими анализаторами. Почти все производители сложного оборудования используют свои собственные форматы данных, так что в промышленных системах мы имеем дело с целым зоопарком: xml, json или, например, iba; промышленные протоколы вроде PROFINET или PROFIBUS; более привычные дампы Oracle и MS SQL. Иногда дамп БД предоставляется в распакованном виде, как набор текстовых файлов со списками CREATE-ов и INSERT-ов, которые мы парсим и запускаем. Бывает, что данные существуют исключительно в виде файлов, которые проприетарная система сохраняет на сервер, в этом случае боевая интеграция с источником данных может представлять собой bash-скрипт со стороны производства, который по расписанию кладёт в общую папку новый файлик, и скрипт с нашей стороны, который вычитывает этот файлик, парсит его и преобразует данные в более удобную для работы форму.
Ручной ввод
Но, к сожалению, пока что очень трудно встретить производство, где все технологические процессы оцифрованы полностью. Так что на всех производствах, с которыми мы работали, есть ручной ввод данных. Либо лаборант вручную вводит в Excel результаты химического анализа, либо старший смены вручную вводит номер плавки. Или, например, технолог каждый день вручную составляет в Excel табличку, по которой подготавливают исходное сырьё для загрузки в печь (это называется “паспорт шихты”). Чтобы не вбивать каждый день всё заново он копирует табличку и нет-нет да и пропустит случайно пару ячеек, оставив там вчерашние данные. Или прошлогодние.
Часто инженерам доступно редактирование данных в БД, даже попавших туда автоматически.
В большинстве случаев ручной ввод приводит к непреднамеренным ошибкам, но иногда “человеческий фактор” становится вполне преднамеренным, особенно, когда дело касается показателей, от которых зависит размер премии…
Качество данных
Объём и глубина
В большинстве случаев хранилища на производстве не идут ни в какое сравнение с объёмами систем хранения данных дата-центров традиционных “айтишных” направлений или, например, банковского сектора. Поэтому заглянуть на год назад обычно можно, но набор показателей сильно прорежен по сравнению с доступным в реальном времени. А данные глубже одного года обычно не получается назвать большими даже с натяжкой, если они вообще имеются.
Сюда же можно отнести тот самый случай, когда данные с датчиков идут, но так и не добираются до хранилища. Это происходит, когда объём доступной информации для завода избыточен и не собирается. Например, на заводе провели модернизацию, установили новый агрегат, со своей проприетарной информационной системой, которая собирает массу информации о ходе процесса. Мы видим список сигналов, радуемся изобилию, но не тут-то было: заводу почти всё это не нужно, поэтому большая часть не интегрирована с АСУ ТП, а часто даже и сотрудники производства не в курсе, что именно там есть, а чего нет.
Пропуски, ошибки и задержки
Набор реальных данных без пропусков встретить сложно, вопрос в том, сколько их. Пропуски возникают по разным причинам, самая простая из них – отсутствие данных в конкретный момент времени или случайная ошибка при записи в БД. Но в условиях производства появляются дополнительные источники потери данных. Например, отошедший контакт у одного из сотен датчиков, сигнал которого не критичен для ведения процесса, но жизненно необходим для моделирования, может привести к непригодности массива данных на значительном интервале.
Часто пропуски связаны с вводом данных вручную, который мы обсудили выше.
Ошибки в данных, в целом, возникают по тем же причинам, что и пропуски. Например, мы постоянно встречаемся с нулевыми или даже отрицательными значениями параметра “вес”. Однократный сбой датчика весов – и мы уже не можем узнать, сколько именно феррохрома было “отдано” в печь в ходе конкретной плавки. Нулевой вес несложно отследить и отбросить, но если весы просто неправильно откалиброваны – мы можем про это узнать чисто случайно или вообще не узнать.
А бывают ошибки просто необъяснимые. Из недавнего: загружал заводские данные в нашу базу и запрос в какой-то момент упал. Начал разбираться и обнаружил, что в данных есть некоторое количество записей за 31 ноября, и умный Postgres такую дату в поле с типом Date вставлять не захотел. Как оно так получилось и какая дата там должна быть я не знаю. Вероятно, в заводской БД дата хранится в поле с общим текстовым типом и в какой-то момент дата поплыла.
Обычно новые данные доступны в реальном времени и мы боремся максимум за считанные секунды запаздывания. Но на производстве бывает, что какой-то нужный показатель попадает в информационные системы завода через несколько часов или даже дней. Идёт плавка, берётся проба шлака на химический анализ, а его результат будет занесён в систему только вечером. А если плавка ночная, то вообще через сутки. Это не критично, когда мы исследуем исторические данные и обучаем модели, но когда нам нужно формировать рекомендации по ведению процесса в реальном времени – это бывает важно.
Смысл данных
Если вы отраслевой эксперт и прекрасно понимаете специфику производства, вы отлично понимаете, что значит тот или иной параметр в базе. Но если нет, то показатели вроде таких могут поставить вас в тупик:
Система поднятия сосуда. Управляющий клапан подвижной площадки 1. Вверх
Торкретмашина.Режим торкретирования.Манипулятор/Ручная фурма
Мы работаем в плотном контакте с технологами и у нас есть документация, так что все показатели уже стали нам более-менее понятны, но поначалу подобные примеры вызывали у нас нервный смех.
Кто-то может сказать: “ну мы же аналитики данных, засунем всё в модель и она сама расставит веса показателям и отбросит ненужные, зачем нам разбираться вообще?!” – и будет неправ.
Понимание смысла показателей позволит сформировать первичное ограниченное пространство признаков, представленных в наиболее адекватном виде для максимально объективного моделирования производственных процессов. При необходимости пространство можно будет расширить, но с пониманием смысла данных можно сразу отбросить те показатели, которые не будут оказывать большое влияние на условную (или фактическую) целевую метку. Кроме того, часть показателей могут быть заведомо зависимы. И часто бывает, что для выявления таких скрытых зависимостей выгоднее применить экспертные знания, а не статистический анализ.
Как с этим жить
На мой взгляд, главный вывод, который можно сделать относительно производственных данных – они есть! Ещё относительно недавно получить данные с завода в “цифровом” виде было утопией. Они либо были аналоговые, либо оцифровка была фрагментарной, что в целом не позволяло с ними нормально работать. Но сейчас данные в промышленности есть, и с ними можно работать. Само собой, перечисленные выше особенности не облегчают анализ этих данных, но и не делают его невозможным. Если подходить к этой задаче комплексно, сочетая приёмы анализа данных с пониманием физико-химических основ процессов и погружаясь в отраслевую специфику, результат будет сравним с классическими для анализа данных направлениями.
Весь мир постепенно становится цифровым. В сфере развлечений и потребительских услуг это происходит интенсивнее, в сфере производства более осторожно. Но я уже встречал формулировку “Сельское хозяйство 4.0” пару лет назад, так что тенденция, думаю, очевидна всем. Так что всем нам предстоит освоение многих неожиданных специальностей и областей знания, и это замечательно! К моменту публикации этой статьи я, скорее всего, уже побываю в командировке на Челябинском цинковом заводе в качестве аналитика и отраслевого эксперта, ведь вслед за чёрной металлургией мы уже начали освоение цветной.
P.S. По прошествии нескольких часов вижу, что интерес к статье есть, но к обсуждению она не побуждает:)
Читая Хабр уже больше 10 лет, я впервые написал что-то сам, так что буду рад любой обратной связи. Я готов рассказать больше подробностей, ответить на вопросы, обсудить опыт читателей!