Зачем предприятию MES: разбор на данных одного завода
MES возвращает производству наблюдаемость. До неё цех знает, сколько выпущено, но не знает, где потерял: остановки не записаны, скорость не измерена, брак разнесён по бумагам. Первое, что даёт система, — не экономия, а факты, на которых экономию можно посчитать.
Ниже — разбор на данных завода непрерывного производства с тремя линиями. Все абсолютные объёмы и названия скрыты, приведены доли и результаты замеров.
Что такое MES
MES (Manufacturing Execution System) — система управления производственными процессами на уровне цеха. Она собирает данные с оборудования, ведёт сменные отчёты, фиксирует остановки и брак, показывает выполнение плана в реальном времени. От ERP отличается горизонтом: ERP планирует ресурсы предприятия, MES отвечает за то, что происходит на линии прямо сейчас. Стандарты, задающие рамку, — ISA-95 и ISO 22400.
Практическая формулировка из технического задания нашего проекта: отчёт строится по ходу смены автоматически, и к её концу работник с мастером не составляют его заново, а закрывают список незавершённых действий.
Что показал ручной учёт: 36,6 % потерь
Первый расчёт делали по восьми месяцам сменных рапортов — тем самым, что заполняли вручную. Потери считали посменно, а не по дням: сменных записей 810, они покрывают 99 % выпуска, а расчёт по дням даёт абсурд, потому что многие дни односменные.
| Составляющая потерь | Доля от выпуска |
|---|---|
| Брак | 2,34 % |
| Недовыпуск из-за остановок | 15,9 % |
| Недовыпуск из-за отставания от нормативной скорости | 18,3 % |
| Итого | 36,6 % |
Больше трети выпуска не доходит до отгрузки, и ни одна из трёх составляющих не измерялась. Норматив скорости брали не из паспорта оборудования, а из самих рапортов — самое частое значение колонки «скорость»; где встречались два частых значения, принимали меньшее, в пользу предприятия.
Отдельная линия восемь месяцев подряд держала брак вчетверо выше внутреннего норматива, в отдельные месяцы — впятеро. Фактическая скорость по линиям — 82–90 % от норматива.
Почему потери не видели
Дело не в халатности. Ручной учёт устроен так, что потери в него не помещаются.
Данные вводит тот, кого они оценивают. Мастер вносит и выпуск, и брак, и время остановок — и по этим же цифрам оценивают его смену.
Причины остановок не кодируются. Их пишут словами в свободной форме. В разобранном массиве одно и то же событие записано 3 099 разными формулировками. Свести такую таблицу в статистику нельзя: 13,8 % всех часов простоя попали в группу «не поддаётся классификации».
Ошибки не с чем сверить. В 42 днях из 482 ручной итог не сходится с суммой строк того же листа. Данные одного месяца оказались побайтовой копией другой линии — 733 ячейки, ноль различий. В одном месте единица измерения времени перепутана, из-за чего скорость занижена на два порядка. Ни одна из этих ошибок не была замечена, потому что проверять было нечем.
Половина работы — переписывание. Из десяти полей сменного рапорта пять — старт, стоп, скорость и показания счётчика на начало и конец — контроллер линии выдаёт сам. Человек перепечатывает их с экрана в таблицу.
Структура причин простоя, когда её всё-таки восстановили из текстовых записей: сырьё и материалы 21,9 % часов, упаковка 17,7 %, не классифицировано 13,8 %, обрыв материала 11,3 %, ремонт и поломки 10,0 %.
Что изменилось после подключения: замеры
Здесь важно не обещать лишнего. Система на заводе работает не полный цикл: автоматический сбор идёт, а ручной контур операторы ещё не заполняют. Поэтому сравнивать «простои до и после» пока не с чем — и мы этого не делаем.
Зато измеримо главное — сколько событий производство перестало терять. Замеры сняты запросом к рабочей базе:
| Что считаем | Значение |
|---|---|
| Событий остановок, заведённых вручную, за всё время | 1 |
| Аварийных событий, зафиксированных системой за 17 дней | 12 095 |
| То же в пересчёте на сутки | 756 |
| Снимков состояния счётчиков линий | 252 126 |
| Автоматических срезов смены | 51 |
| Минут «затыков», не заведённых человеком ни разу | 3 471 |
Разрыв между 1 и 12 095 — это и есть цена наблюдаемости. За неделю на одной линии автоматика насчитала 52 остановки общей длительностью 1 366 минут: вручную из них не была заведена ни одна. В другой смене 41 минута реальных остановок пришлась на ноль записей в журнале.
Второе, что даёт автоматический сбор, — причина вместо описания. Событие приходит с кодом узла и текстом от контроллера, а не формулировкой уставшего человека в конце смены. Три самые частые группы дали 27 % всех срабатываний — по ним сразу видно, куда идти наладчику.
Из чего состоит система
Работающий контур — 18 разделов и пять ролей: рабочий, мастер, лаборатория, руководство, специалист по маркировке. Роль приходит из корпоративного портала, а не назначается внутри приложения, и определяет, какие разделы человек видит.
| Роль | Что делает | Что видит на старте |
|---|---|---|
| Рабочий | Вносит данные смены, сообщает о простое | Свою смену: выпуск, брак, план |
| Мастер | Проверяет и подтверждает рапорт, классифицирует простои | Смену и контроль отклонений |
| Лаборатория | Ведёт пробы и заключения | Очередь проб |
| Руководство | Сравнивает линии и бригады | Производственный рапорт по всем линиям |
| Маркировка | Отслеживает нанесение и агрегацию кодов | Партию и ошибки маркировки |
Ключевой приём интерфейса: пока форма не заполнена, кнопка неактивна, и экран прямо пишет, что заблокировано, чего не хватает и что сделать. Это снимает главную болезнь ручного учёта — отчёт, сданный «как получилось».
С чего начинать: чеклист
- Снять данные с контроллеров раньше, чем проектировать отчёты: пока сигналы безымянны, считать нечего.
- Закрепить справочник причин остановок кодами, а не свободным текстом.
- Развести того, кто вводит данные, и того, кого по ним оценивают.
- Считать потери посменно, а не по дням.
- Норматив скорости брать из фактических рапортов, а не из паспорта.
- Сначала измерить текущее состояние, потом обещать эффект.
- Проверять чтение оборудования тестом, а не доверять выгрузкам.
- Не запускать ручной контур, пока автоматический не подтверждён замерами.
Как выстроить нижний слой — сбор сигналов с контроллера — разобрано отдельно в материале о карте сигналов PLC. Требования к данным для аналитических моделей — в разборе, какие данные нужны для цифрового двойника, а стыковка с производственными системами — в материале об интеграции AI-модуля в MES/SCADA. Как вывести собранные показатели на экран смены, разобрано в настройке мониторинга на Grafana и ClickHouse, а что нужно знать о сигнале, чтобы отчёт объяснял причину, — в материале о подготовке станка к ML.
Частые ошибки
Начинать с отчётности, а не с наблюдаемости. Красивый дашборд поверх ручных данных наследует все их ошибки, включая копию месяца с соседней линии.
Обещать процент экономии до первого замера. Пока нет измерения «до», любая цифра «после» недоказуема. Честная последовательность — сначала видимость, потом счёт.
Оставлять причины простоя свободным текстом. Три тысячи формулировок одного события — это не данные, это переписка.
Считать, что MES заменит предиктивное обслуживание или детекцию аномалий. Это разные слои: MES даёт фактуру, на которой они потом работают.
Запускать ручной ввод одновременно с автоматическим. Люди перестают доверять обоим источникам, когда те расходятся, а расходиться они будут.
Что делать дальше
Посчитайте на своём производстве одну величину: сколько остановок за прошлую неделю попало в журнал с указанной причиной, и сколько их зафиксировало оборудование. Разница между этими числами — ваш текущий размер слепой зоны, и она же определяет, что внедрять первым. Если журнал пуст, а счётчики полны, вопрос стоит не про оптимизацию ТОиР и не про модели, а про сбор данных.