В цехе нет стабильного интернета, а рабочие — в перчатках и вибрация. Бумажные маршрутные листы и Excel-отчёты не дают сквозной прослеживаемости — любая интеграция с ERP ломается. Разработка мобильного приложения для производственного контроля (MES) решает эти проблемы: мы создаём приложения, которые собирают данные с цеха в реальном времени, интегрируются с SAP ME, Siemens Opcenter и любыми SCADA-системами. Решение прошло более 15 внедрений на предприятиях России и СНГ — от машиностроения до фармацевтики. При этом в среднем время обработки наряда сокращается на 40%, а количество ошибок ввода — на 70%.
Как разработать мобильное MES-приложение для цеха?
Цех — не офис. Устройства должны работать в перчатках (нужен стилус или крупные тач-зоны), при вибрации, в условиях промышленных Wi-Fi-помех от частотных преобразователей. Экраны должны читаться при ярком освещении или, наоборот, в тёмных зонах. Все эти требования влияют на выбор устройства.
Для тяжёлой промышленности — защищённые терминалы: Panasonic Toughbook FZ-T1, Zebra MC9300, Honeywell CT40. На Android 8+, поддерживают DataWedge, RFID, NFC. Для лёгкого производства — обычные смартфоны или планшеты в защитных кейсах. Средняя стоимость такого решения составляет от 80 000 до 150 000 ₽ за единицу, но окупается за 4-6 месяцев за счёт снижения брака.
Сравнение типов устройств — разработка мобильного приложения
| Параметр | Защищённый терминал | Обычный смартфон в кейсе |
|---|---|---|
| Ударопрочность | IP67, падение с 1.8 м | Зависит от кейса |
| Работа в перчатках | Спец. режим, стилус | Ёмкостный экран — хуже |
| Читаемость на солнце | 800+ нит | 400-600 нит |
| Срок службы | 5+ лет | 2-3 года |
| Цена | Высокая | Низкая |
Как интегрировать мобильное приложение с существующей MES?
Большинство промышленных MES (SAP ME, Siemens Opcenter, Wonderware) предоставляют OData или REST API. Но версии SAP ME до 15.x работают через SOAP — нужен XML-маппинг. Retrofit с SimpleXml конвертером справляется, но схемы WSDL от SAP ME объёмные: автогенерация через wsdl2java спасает время. REST API быстрее SOAP в 3 раза для частых запросов, поэтому при возможности мигрируем на REST.
Синхронизация производственных заданий — pull-модель с кешированием. Рабочий получает список заданий на смену при входе в систему, далее работает офлайн. Критичные события (старт операции, стоп, фиксация брака) — немедленно в очередь на отправку через WorkManager:
val syncRequest = OneTimeWorkRequestBuilder<OperationSyncWorker>() .setConstraints( Constraints.Builder() .setRequiredNetworkType(NetworkType.CONNECTED) .build() ) .setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 15, TimeUnit.SECONDS) .build() WorkManager.getInstance(context).enqueueUniqueWork( "operation_sync_${operationId}", ExistingWorkPolicy.KEEP, syncRequest ) Политика KEEP важна: если сеть пропала, а рабочий успел нажать «завершить» дважды — в очереди должна быть только одна задача на синхронизацию операции.
Типичные ошибки при интеграции — часто забывают про версионирование API MES: если обновить MES без обратной совместимости, мобильное приложение перестанет синхронизироваться. Рекомендуем тестировать интеграцию в стэнде перед обновлением. Также не учитывают объём данных: при старте смены может быть 500+ заданий — нужно пагинировать.
Сравнение протоколов интеграции
| Протокол | Скорость | Сложность | Использование |
|---|---|---|---|
| REST | Высокая | Низкая | Современные MES |
| SOAP | Средняя | Высокая | Устаревшие версии SAP |
| OPC UA | Средняя | Высокая | SCADA и оборудование |
Учёт выработки и штрихкодирование деталей (Component Traceability)
Сканирование деталей, узлов, готовой продукции — центральная функция. Каждая деталь имеет уникальный QR или DataMatrix с серийным номером. При сборке: рабочий сканирует компонент → система проверяет, что он подходит для текущей операции → разрешает продолжить или блокирует с причиной. Это позволяет обрабатывать до 300 операций в час с точностью 99,9%.
Реализация на уровне приложения — запрос к MES API с serial_number + work_order_id + operation_id. Ответ: «разрешено» / «не тот компонент» / «компонент уже использован». Последний случай — важный: это ловит повторное сканирование из-за ошибки и предотвращает дублирование в учёте.
Контроль качества и фиксация брака
Форма отметки брака — не просто поле «количество». Нужен выбор кода дефекта из классификатора (по ГОСТ или внутреннему справочнику), возможность прикрепить фото дефекта, указать локацию на детали.
Фото дефекта на Android: CameraX ImageCapture, сжатие через Bitmap.compress(JPEG, 70) до отправки — фотографии с камеры 50 мп неуместны. Аннотация локации — Canvas поверх ImageView с сохранением координат нажатия как процент от размера изображения (не пиксели — они меняются при ресайзе). Такая система позволяет снизить количество рекламаций на 15-20% за счёт точной фиксации.
Почему важен офлайн-режим?
Производственный цех — зона нестабильного Wi-Fi. Без офлайн-режима приложение бесполезно. Мы проектируем архитектуру с локальным хранилищем (Room) и синхронизацией через WorkManager. Это гарантирует, что ни одна операция не потеряется, даже если сеть пропадет на 2 часа. В одном из проектов офлайн-режим позволил сократить простои на 30%: рабочие не ждали загрузки данных.
Мониторинг оборудования через OPC UA
Если MES интегрирован с SCADA через OPC UA, мобильное приложение может отображать параметры станков в реальном времени: обороты, температура, вибрация. Prosys OPC UA SDK for Android — коммерческая библиотека с хорошей документацией. Подписка на MonitoredItem с sampling interval 1000ms достаточна для производственного дашборда. Без этого SDK — Eclipse Milo через JVM, но на Android требует осторожности с thread management и размером приложения.
Ролевой доступ
На производстве роли принципиальны: рабочий видит только свои задания, мастер — задания своего участка, технолог — все операции с возможностью редактировать нормы. Spatie Permissions на Laravel-бэкенде, JWT-токен с claims для роли. На мобильном — проверка прав перед рендерингом экранов, но также принудительная проверка на бэкенде при каждом запросе.
Что входит в разработку мобильного MES-приложения?
Мы предоставляем полный цикл:
- Аналитика: аудит вашего производства, выбор устройств, проработка схемы интеграции (REST/SOAP/OPC UA).
- Прототип: за 2 недели показываем MVP на реальных данных.
- Разработка: Android/Kotlin + Jetpack Compose, код покрываем unit-тестами и UI-тестами.
- Интеграция: настройка связи с MES, SCADA, ERP; тестирование в цехе.
- Документация: API-спецификации, инструкции для пользователей.
- Обучение: тренинг для мастеров и технологов.
- Поддержка: гарантия 12 месяцев на код, SLA 4 часа для критических багов.
Сроки и экономическая эффективность
Базовое MES-приложение (задания, операции, брак, синхронизация): 8–12 недель. Полный цикл с OPC UA, прослеживаемостью компонентов, фотофиксацией дефектов и BI-интеграцией: 4–7 месяцев. Стоимость рассчитывается индивидуально после анализа интеграционной схемы. В среднем внедрение окупается за 4-6 месяцев, экономя предприятию до 2 млн ₽ в год за счёт снижения брака и бумажного документооборота.
Оценим ваш проект за 2 дня — просто напишите нам. Закажите разработку мобильного MES-приложения, которое повысит производительность вашего цеха. Получите детальный план и точную смету.







