От Excel к MES/APS: создали инструмент управления заводом
Наш клиент — крупный завод металлической упаковки полного цикла. Производство работает круглосуточно, в две смены по 12 часов, и выполняет сотни заказов в месяц. Недельный план вручную составлял в Excel один сотрудник завода. Данные о выпуске собирали из бумажных журналов и таблиц участков.
Мы сделали для завода систему учёта и контроля производства. Она планирует работу цехов на неделю, перед каждой сменой сверяет план с тем, что уже сделано, не пускает в работу неготовый заказ и следит за каждой пачкой заготовок. Теперь все участки производства работают по одному плану: если один из них задерживается, на следующем узнают об этом до начала смены и успевают перестроиться.
Какие проблемы были у завода с планированием и учётом
На заводе металл проходит несколько этапов: рулон режут на листы, на листы наносят покрытие и печать, затем из них штампуют детали и собирают упаковку. Все сборочные линии получают заготовки с одних и тех же участков. Один заказ обычно включает десятки тысяч изделий.
Каждый участок завода ждёт заготовки от предыдущего, поэтому изменение в плане одного участка быстро меняет загрузку остальных.
Очередь работ менялась из-за срочных заказов, неподписанных макетов, поломки или отсутствия специалиста. Планировщик корректировал недельный план вручную, а следующие участки узнавали об изменениях по факту.
Правила планирования знал только один сотрудник. Если бы он заболел или уволился, составлять план было бы некому.
Узкое место завода — участок печати. Когда он не успевает выпустить полуфабрикат, ждут все следующие участки. Например, в одни выходные завод отменил четыре смены сборки, то есть двое суток работы, потому что печать не успевала отдать заготовки.
Страдала отгрузка. Машины под готовую продукцию коммерческая служба заказывала за день, не зная точно, что цеха успеют сделать. Бывало, что машина приезжала, грузить было нечего, а рейс уже оплачен.
Данные о производстве хранились в не связанных друг с другом журналах и таблицах. У каждого участка были свои формы, и, по оценке сотрудников завода, около 40% полей в них повторялись: номер заказа, изделие, количество. Каждое утро сменные мастера сборки тратили больше часа, чтобы выяснить, какие заготовки пришли с печати. Выпуск диспетчер вносил в 1С вручную раз в сутки, а в выходные задержка росла.
Брак оформляли бумажным ярлыком несоответствия. Партию с дефектом снимали с остатка, а бланк несли в заводоуправление за подписями: пустить продукцию с отклонением, доработать, переделать или списать. На решение уходило до недели, и бланк мог потеряться.
Во что обходится производство без MES и APS
Такие потери типичны для заводов, где план и учёт ведутся в таблицах. Мы изучили исследования MESA International и LNS Research по 214 производителям. У тех, кто работает с MES, доля своевременных и полноценных отгрузок росла на 22% в год. Затраты на единицу продукции без учёта материалов у пользователей MES сокращались на 22,5% в год.
Для планирования учли данные BCG X: у клиентов компании через 8 недель работы APS-система принесла 30 минут дополнительного выпуска в день. Трудозатраты на составление расписания снизились почти вдвое.
Как мы сделали систему за 12 недель
Часть норм и допусков на заводе ещё не была утверждена, а к идее, что алгоритм справится с работой опытного планировщика, относились осторожно. Поэтому мы начали с того, как завод работает на самом деле.
Разобрали, как работает завод
Встречи с планировщиком, мастерами и технологами, рабочие таблицы Excel и документы завода
Провели заказ через весь завод
Первый сквозной сценарий:
от плана до факта на линии
Перевели опыт планировщика в правила
Очередь, совместимость партий, переналадки — по этим правилам система рассчитывает расписание
Пересобрали систему на чистой основе
Сохранили всё, что узнали о заводе, и за 5 дней вернули модель производства, планирование и работу цеха
Довели результат
вместе с цехом
По обратной связи от завода: рабочие места,
пересчёт плана по участку, доставка пачек,
сигналы оборудования
новые данные →
решение →
работающая функция за дни
Мы провели 40 встреч с планировщиком, мастерами, технологами и сотрудниками участков. Планировщик по видеосвязи показал, как строит неделю в Excel, а завод передал нам рабочие файлы. Из расшифровок встреч мы выделили около 1400 тезисов со ссылкой на место в записи. AI-агенты помогали обрабатывать материалы и находить противоречия, а спорные моменты обсуждали с заказчиком.
Параллельно мы разобрали код ведущих open-source MES- и APS-систем: Carbon, OpenMES, qcadoo, ERPNext, Odoo, frePPLe, OR-Tools и других. Из них мы взяли лучшие решения по моделям данных, архитектуре и интерфейсам. Опирались и на отраслевые стандарты ISA-95 и ISO 22400. Для расчёта расписания сразу выбрали оптимизатор Timefold: с такими солверами мы работали в других проектах.
Систему собрали на собственном фреймворке — Mini, он написан на Python и React. Он берёт на себя технологическую рутину — формы, операции с данными, права доступа, журнал действий — и служит рабочей средой для AI-агентов. Поэтому с первого дня мы занимались логикой завода.
Из встреч, рабочих таблиц и лучших практик отрасли мы собрали модель того, как завод работает сейчас. Сначала описали процессы, структуры данных и статусы: заказ, перевозка пачки, план и решение по браку меняют статус только разрешённым действием. Аналитики проверили модель вручную. Затем мы спроектировали ключевые экраны, от главных к второстепенным, и перешли к работе по обратной связи: на каждой встрече показывали заводу новую версию, а правки вносили за сутки.
Система составляет план на неделю и пересчитывает его перед каждой сменой
Раньше неделю раскладывал планировщик. Он получал потребность от коммерческой службы, проверял макеты и краски, ставил подряд позиции с одинаковым форматом и покрытием и каждый день поправлял план по факту.
Мы записали эти правила в систему, и теперь расписание по ним считает оптимизатор Timefold. В первую очередь расчёт укладывает план в сроки и не оставляет участки без заготовок, а уже потом сокращает переналадки. Задания, которые цеха уже получили, он без необходимости не меняет.
Перед сменой система пересчитывает остаток недели по факту: начатая работа остаётся на месте, переносится только невыполненная часть. Планировщик может разложить заказы вручную или запустить автоматический расчёт, а потом проверяет изменения и публикует план для цеха. Если в расчёте участвуют неутверждённые нормы или допуски, план помечается для ручной проверки и без планировщика в цех не уходит.
Неготовый заказ не идёт в работу
Смену срывала и неготовность самого заказа: на старте выяснялось, что макет не подписан, линия не выбрана, люди не вышли на смену или партия заблокирована ОТК.
Теперь система заранее проверяет каждое из этих условий и показывает, кто за него отвечает. Неготовый заказ виден до смены, и планировщик успевает поставить на линию другой.
Учёт выпуска, расхода и брака ведётся в одной системе
Теперь выпуск, расход и остатки учитываются в одном месте, а рабочие места открываются в обычном браузере. Оператор видит своё задание и отмечает начало и конец операции, расход и выпуск. Мастер видит все линии участка и то, что им мешает. Контролёр ОТК оформляет брак в системе вместо бумажного ярлыка. Факт вносят один раз, и его сразу видят планирование, логистика и руководство.
Например, на порезке встала линия. Раньше начальник цеха мог не знать об этом, пока линию чинили, а следующие участки ждали заготовки. Теперь остановку сразу видят все, кто связан с порезкой, а план пересчитывается так, чтобы участки взяли в работу заказы, для которых заготовки уже есть.
Как вы ведёте учёт на производстве?
Покажите, как устроен ваш учёт на рабочих местах завода. Предложим первый сквозной сценарий без бумажных журналов
Система отслеживает каждую пачку заготовок
По накладной пачка могла числиться переданной и при этом стоять на участке, где её сделали. О перевозке знал только водитель, и недовоз всплывал на утренней планёрке.
Теперь на каждую пачку печатается маршрутный лист с QR-кодом. Водитель погрузчика сканирует его в мобильном веб-приложении, когда забирает пачку и когда выгружает её на следующем участке. Приложение ставится на телефон и работает даже при плохой связи. Мастер сразу видит, сколько доставлено и сколько осталось у отправителя, а план учитывает, где лежит полуфабрикат.
Цифровой двойник показывает все участки, линии и заказы производства
Цифровой двойник — главный экран руководителя производства. Колонки на нём — участки, внутри них линии и заказы, которые на этих линиях идут.
Заказ сам переходит из колонки в колонку, когда оператор отмечает работу на своём месте или водитель погрузчика сканирует QR-код пачки. Вручную карточки никто не двигает.
По каждому заказу видно, сколько сделано на предыдущих шагах и сколько планировалось: например, на порезке должны были нарезать 10 000 листов, а нарезали 9800. Сигнал оборудования из SCADA показан рядом с заказом, а причину простоя вносит сотрудник. План при этом можно посмотреть и в виде диаграммы Ганта.
Руководитель может отслеживать актуальный статус заказа
На экране «Где заказ» видно, какой объём прошёл каждый этап — от порезки до склада и отгрузки, — где заказ сейчас и какие простои по нему уже были. Руководитель может вмешаться до того, как отклонение от плана выпуска сорвёт сроки. Коммерческая служба видит, сколько продукции готово, и заказывает машины под реальный объём.
Как система обменивается данными со SCADA и 1С
SCADA-система завода знает, работает линия или стоит, и считает выпуск, но не знает, какой заказ на ней идёт. Наша система добавляет этот смысловой слой: она знает, какой заказ и какое изделие сейчас в работе. Данные SCADA система получает по протоколу OPC UA через отдельную виртуальную машину и станками не управляет.
Два этих потока расходятся по времени: оператор может отметить начало заказа чуть раньше, чем запустили конвейер, или чуть позже. Мы сделали алгоритм, который с учётом этой погрешности сопоставляет работу и простои линий с заказами в исполнении. Для стыковки SCADA и MES это типичная задача.
Из 1С система забирает номенклатуру, технологические карты и остатки. Реальные остатки сверяются раз в месяц, а между сверками система сама ведёт учёт материалов: что поступило, что ушло в производство, что выпущено и что забраковано. При сверке видно расхождение, и за истину принимаются данные 1С. После производства система отправляет в 1С данные о выполненных заказах. Для обмена развёрнута промежуточная база PostgreSQL, данные в ней синхронизируются в обе стороны.
Как мы проверили, что система учитывает каждый шаг заказа
Мы разобрали рабочие книги Excel до листов, формул и действий пользователя и каждый элемент встроили в новую систему. Потом прогнали сквозной сценарий шести станций и мастера: начать операцию, списать расход, отметить выпуск, провести пачку через следующую операцию, упаковать, передать и принять частично. В конце сценария материальный баланс сходится: та же пачка не удваивает запас, а непринятый остаток числится в пути.
Что получил завод
Вместо разрозненных таблиц и журналов у завода одна система для планирования и учёта производства.
- Брак оформляют в системе, а не на бумаге.
- Единый план на неделю для всех участков. Его можно составить вручную или рассчитать автоматически, а перед каждой сменой система пересчитывает остаток по факту.
- Информацию вносят один раз на рабочем месте. Мастерам не нужно сводить цифры по утрам, а выпуск сразу попадает в учёт.
- Каждый заказ и каждую пачку видно: где они, сколько сделано и что мешает. Неготовый заказ и риск по сроку заметны заранее.
- Правила планирования записаны и больше не зависят от одного человека: расчёт делает система, решение остаётся за планировщиком.
Каждая операция, простой и переналадка попадают в журнал, поэтому рост выпуска и экономию завод считает на своих данных. По этим же данным уточняют нормы: ответственные сотрудники сравнивают плановую и фактическую длительность операций и меняют параметры расчёта в настройках системы.
Каким производствам подойдёт такая система
Такая система подойдёт заводу, если:
- план и учёт ведутся в Excel;
- нет MES или нормальной системы планирования, ни автоматической, ни ручной;
- 1С или ERP ведёт учёт, но не показывает, что происходит на линиях в течение смены;
- заказы нужно сдавать в жёсткие сроки, а за просрочку завод платит штрафы;
- система есть, но это устаревшее решение, которое работает неэффективно и теряет время и материалы на стыках между участками.
Новую систему подключаем к 1С, SCADA и другим системам завода. Планировать можно вручную или автоматически — под цель, которую выбирает завод: сроки, загрузку узкого места, число переналадок.
Похожая цепочка участков есть не только на заводах упаковки. Она есть в типографиях, на мебельных фабриках, в металлообработке, на заводах стройматериалов и на пищевых производствах с фасовкой. Везде заготовка проходит несколько участков, прежде чем стать изделием.
На первой встрече разберём, как заказ проходит через ваше производство, и скажем, подойдёт ли вам такая система.