habrahabr

40 000 тегов и ни одного пароля: как мы спасли завод от остановки

  • суббота, 5 апреля 2025 г. в 00:00:43
https://habr.com/ru/companies/k2tech/articles/895760/

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

Я Иван Балашов, в интеграторе К2Тех руковожу направлением цифрового производства и внедряю цифровые решения в промышленности. В этом кейсе расскажу, как мы собирали пазл из обрывков информации о настройках систем, внедряли российскую SCADA взамен западной, мигрировали функционал MES, и все это без остановки производства.

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

Цена остановки — построить новый завод

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

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

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

Импортозамещение наживую

SCADA-система на заводе работала по инерции (что в принципе нормально, если она работает стабильно и из нее не надо доставать ничего нового) — без обновлений, техподдержки и, что хуже всего, в отсутствии доступа к ее конфигурации (паролей администратора не было). К началу проекта она дышала на ладан: любой сбой даже в железе (новый ключик лицензии сгенерить нельзя) мог стать фатальным, восстановить ее было бы уже невозможно. С MES-уровнем ситуация была тоже не айс - данные системы разъехались с фактом…. Найти причину и собрать конфигурацию обратно (восстановить) не представлялось возможным (доступ был только к просмотру , пользователи были без прав). 

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

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

Аудит с пристрастием

Перед созданием новой системы управления требовалось понять, где можно позволить себе какие-то эксперименты, не рискуя обрушить производство, а где категорически этого делать не стоит. Мы начали с тщательного исследования существующей скады и объектов управления.

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

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

Отдельная сложность заключалась в особенности части оборудования, к которому нужно было подключиться. Вариантов драйверов под виндоус - уйма, а вот найти драйвера под российскую операционку - был тот еще квест. 

Отказоустойчивость и безопасный доступ 

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

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

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

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

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

Сначала собрали серверную стойку и развернули скаду, что позволило пусконаладчикам немедленно приступить к работе по воссозданию конфигурации из заводских систем и знаний сотрудников. Следом развернули MES, и окунулись в омут описания и формирования связей с головой.

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

Инженерка

Когда работа с данными уже шла полным ходом, мы занялись инженерными системами и слаботочкой. Благодаря тщательной подготовке и отсутствию типичных проблем вроде некапитальных стен, этот этап занял всего полторы недели. За это время мы полностью обновили инфраструктуру: развесили более 10 шкафов, протянули 8 километров оптоволокна и установили больше 20 коммутаторов.

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

На что всегда стоит смотреть отдельно: есть ли у заказчика физическая возможность для создания “копии” системы чтобы потом осуществить на нее переезд?

С миру по нитке: коммуникация с персоналом

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

Интерфейс управления Common DP с различными параметрами. С первого взгляда понятно, что ничего непонятно
Интерфейс управления Common DP с различными параметрами. С первого взгляда понятно, что ничего непонятно

Порой восстановление логики расчета одного-единственного показателя в системе растягивалось на 2–3 недели. Не всегда параметры считались по очевидной формуле. Думаешь, что параметр считается одним способом, проверяешь — не совпадает с фактическими данными... приходится искать другой подход. 

Мы тщательно сравнивали результаты расчетов в  новой и старой скадах и в ряде случаев считали задачу решенной только тогда, когда значения полностью совпадали. В остальных случаях задача была решена, когда мы слышали от заводчан: “Вот! Наконец-то он считается так, как нам надо!”

Теги превращаются… 

Заказчик сам определил первоначальный объем тегов которые нужно было воссоздать в новой системе, и мы, когда входили в проект, приняли эту цифру как данность. Вот только когда оказались уже на объекте и смогли увидеть систему вживую, а также получили возможность поговорить с сотрудниками завода, выяснили, что реальное количество тегов оказалось в пять раз больше изначально заявленного. В итоге работа с тегами стала, пожалуй, одним из самых длительных, сложных и ответственных этапов проекта. Нам потребовалось около 5 месяцев, чтобы собрать всю необходимую информацию из более чем 40 000 тегов и корректно отобразить ее в новой системе. Заодно пришлось пересматривать бюджет проекта, так как потребовались дополнительные лицензии. 

С MES повезло больше — ситуация оказалась предсказуемее, хотя и здесь без сюрпризов не обошлось. По ходу внедрения заказчик осознал необходимость переработки содержания отчетов относительно первоначальных требований . В процессе этого осознания количество отчетов (и сложность некоторых из них), обязательных к реализации, колебалось от Х до 4Х… Ну, шутки ради, все закончилось на цифре 4Х-2:)

Кстати, с системой мониторинга вышла забавная история. Изначально она не была включена в ТЗ. Но здравый смысл и опытная эксплуатация быстро показала суровую реальность — без мониторинга как без рук. Решение было изящным, но сложным в реализации - подключались к существующей у заказчика системе мониторинга в головном офисе. Какие сложности были - мы не могли сами лезть в систему заказчика руками и все наши действия и “реализацию пожеланий” выполняли руками людей, которые не имели к проекту никакого отношения.

«Лоскутная» миграция

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

На этапе внедрения оборудования мы с заказчиком собрали L3-стык, через который забирали данные из OPC-сервера старой скады в новую. Этот же стык использовали во время миграции. Отключали элементы от старой сети и включали в новую порциями. Когда миграция завершилась, стык благополучно ликвидировали. Сам процесс выглядел почти как в кино. Рубильник, кабель и новая скада в работе. Мы переставляли кабели и затаив дыхание ждали, появится ли линк в новой системе в течение критичных 10–15 секунд. Линк есть — переключение успешно. Кажется простым, но стоит учесть, что переключались мы участками по всему заводу в разное время. Требовалась идеальная координация - всего-то 200-250 пунктов по плану миграции, которые надо сделать по секундомеру. У нас все получилось:)

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

Итоги проекта: полный контроль, стабильность и возможность развития

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

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

Хотя К2Тех и занимается подобными задачами регулярно, такие проекты встречаются нечасто. Когда одной команде нужно «затащить» всю совокупность систем MES, скада, инженерку, сеть передачи данных, взамен существующего и закрытого - это всегда вызов. 

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