Найти в Дзене
Виктор Геронимус

Почему ваш «Умный завод» всё ещё работает в Excel: записки злого инженера

Честно говоря, я ни разу не видел завода, который работал бы так, как нарисовано в презентациях интеграторов. Обычно это выглядит так: в красивом кабинете на 5-м этаже висит дашборд с графиками, который показывает «рост эффективности», а в цеху мастер Петрович материт планшет, потому что тот завис, и пишет сменный отчет в засаленную тетрадку. А потом девочка-оператор перебивает эти цифры в Excel. Вот это и есть реальная автоматизация. Мы тратим миллионы на лицензии, сервера и «цифровых двойников», а производство живет своей жизнью, параллельной IT-ландшафту. В какой-то момент мне надоело натягивать теоретическую сову стандарта ISA-95 на глобус реального российского цеха, где сварка дает наводки на витую пару, а Wi-Fi ловит только если встать на табуретку. Давайте честно поговорим о том, почему классические MES-системы (Manufacturing Execution System) часто превращаются в дорогой чемодан без ручки, и как с этим жить инженеру. Когда теория разбивается о суровую практику Главная проблема

Честно говоря, я ни разу не видел завода, который работал бы так, как нарисовано в презентациях интеграторов. Обычно это выглядит так: в красивом кабинете на 5-м этаже висит дашборд с графиками, который показывает «рост эффективности», а в цеху мастер Петрович материт планшет, потому что тот завис, и пишет сменный отчет в засаленную тетрадку. А потом девочка-оператор перебивает эти цифры в Excel.

Вот это и есть реальная автоматизация. Мы тратим миллионы на лицензии, сервера и «цифровых двойников», а производство живет своей жизнью, параллельной IT-ландшафту.

В какой-то момент мне надоело натягивать теоретическую сову стандарта ISA-95 на глобус реального российского цеха, где сварка дает наводки на витую пару, а Wi-Fi ловит только если встать на табуретку. Давайте честно поговорим о том, почему классические MES-системы (Manufacturing Execution System) часто превращаются в дорогой чемодан без ручки, и как с этим жить инженеру.

Когда теория разбивается о суровую практику

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

На практике же мы имеем «зоопарк». Тут у нас старый станок Siemens, который говорит только на Profibus, там — новый китаец с кривым Modbus-ом, а в углу стоит советский пресс, с которого данные можно снять только примотав синей изолентой датчик вибрации.

Попытка связать это всё в единую систему обычно заканчивается «интеграционным спагетти». SCADA отдельно, MES отдельно, ERP отдельно. И между ними — скрипты-костыли, написанные студентом, который уволился три года назад. Один раз у нас встала линия отгрузки просто потому что к примеру, в скрипте перекладки данных в вашей ERP системе переполнился лог-файл. Три часа простоя, убытков на миллионы, а причина — текстовый файлик.

Еще одна боль — это «мертвые» данные. Классическая MES показывает вам OEE (общую эффективность оборудования) постфактум. Вы узнаете, что линия работала на 60% мощности, только в конце месяца. Ну и что вам с этой цифрой делать? В рамочку повесить? Вам нужно знать, что прямо сейчас у фасовочного автомата растет температура двигателя, а оператор Вася третий раз за час ушел курить, блокируя датчик наличия тары спичкой.

Архитектура здорового человека: Технический разбор

Если мы хотим систему, которая реально помогает, а не просто жрет ресурсы сервера, нужно менять подход к архитектуре. Забудьте про пирамиду автоматизации, где данные ползут снизу вверх по полдня.

Что реально работает в цеху:

· Единая модель данных. Не должно быть такого, что в SCADA насос называется PUMP_01, в MES — Агрегат-12, а в бухгалтерии — ОС-3498. Это должен быть один объект с набором атрибутов. Изменили уставку в MES — она тут же улетела в контроллер. Без промежуточных шлюзов и молебнов богам OPC UA.

· Событийная модель. Данные — это не просто записи в базе раз в секунду. Это поток событий. Открыли люк, нажали кнопку, упало давление, мастер ввел комментарий «сырье сырое». Система должна уметь переваривать этот поток в реальном времени, коррелируя машинные данные (вибрация) с человеческими (заявка на ремонт).

· Гибкие «Классы» объектов. Жестко зашитая структура базы данных — это смерть. Сегодня вы выпускаете трубы, завтра — фитинги, послезавтра вам нужно добавить параметр «цвет маркировки». В нормальной системе вы просто создаете новый класс объекта или добавляете атрибут к существующему на лету. Без остановки базы и переписывания кода.

· Linux и независимость. В 2025 году ставить ядро производства на Windows, ожидая, когда прилетит очередное обновление и перезагрузит сервер посреди плавки — это безумие. Ядро должно быть легковесным, работать хоть на сервере, хоть на Raspberry Pi в шкафу управления, и не зависеть от капризов вендоров ОС.

Сравним подходы «Было — Стало»

Давайте посмотрим правде в глаза. Вот как мы привыкли жить с «коробочными» решениями и как должно быть в нормальной архитектуре.

1. Когда нужно изменить процесс

• Как обычно: Пишем ТЗ интегратору, ждем два месяца оценки, получаем счет на полмиллиона и еще полгода ждем внедрения.

• Как надо: Инженер открывает Low-code редактор и меняет логику за 15 минут. Бесплатно.

2. Когда подключаем новое оборудование

• Как обычно: Ждем драйвер от вендора, платим за каждую сотню тегов, ругаемся с техподдержкой.

• Как надо: Система понимает любой протокол. Если протокол совсем дикий — парсим сырые байты сами скриптом, но подключаем железо сразу.

3. Реакция на сбои

• Как обычно: «Смотрите логи завтра утром, разберемся».

• Как надо: Реакция в реальном времени. Если параметр вышел за уставку — скрипт аварии запускается мгновенно, еще до того, как оператор успел испугаться.

Как мы это строим (без маркетинга)

Я для себя вывел формулу: идеальная производственная система — это конструктор. Мы берем платформу, которая умеет общаться с железом (драйверы), умеет хранить быстрые данные (временные ряды) и умеет управлять бизнес-логикой (BPM).

Например, управление простоями. Это не просто фиксация «стоим / работаем». Это алгоритм.
Станок встал. Система ждет 30 секунд (фильтр микропростоев). Если не запустился — выводит на экран оператору окно: «Почему стоим?». Оператор тыкает: «Нет тары». Это событие летит начальнику склада в Telegram. Если простой больше 15 минут — создается заявка в ТОиР. И всё это — один связный процесс, а не три разные программы.

Или прослеживаемость (Traceability). Мы не просто пишем «партия №5». Мы собираем граф: из какого сырья, на каких режимах, какой оператор, какая влажность была в цеху в этот момент. Когда через месяц придет рекламация от клиента, мы в один клик размотаем этот клубок и поймем, что проблема была не в станке, а в том, что партию перегрели на складе.

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

В сухом остатке

Внедрение нормального производственного модуля — это не про «цифровую трансформацию». Это про прозрачность. Вы начинаете видеть, где реально теряете деньги. Не в отчетах за прошлый месяц, а прямо сейчас.

Что это дает инженеру и бизнесу:

1. Скорость изменений. Захотели новую метрику? Настроили за час. Не надо звать программистов.

2. Правда. Система не врет. Если станок работал 4 часа из 8, никакие приписки в журнале это не скроют.

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

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

«Автоматизация хаоса приводит только к автоматизированному хаосу. Сначала строим процесс, потом накладываем цифру».

Есть вопросы по архитектуре? Заходите обсудить: https://fincom.tech
Или смотрите наши разборы на Rutube:
https://rutube.ru/channel/32683271/