Как организовать интеграцию MES и ERP
Интеграция MES и ERP начинается не с формата сообщения, а с договорённости о владельцах данных, идентификаторах и реакции на ошибки.
Интеграция MES и ERP связывает планирование и учёт с фактической работой производства. ERP передаёт, что нужно изготовить. MES уточняет, что происходит с заданием на участке, и возвращает подтверждённый результат.
Самая трудная часть такого обмена обычно находится не в протоколе. Системы должны одинаково понимать задание, материал, операцию, оборудование, количество, статус и время события.
Зачем нужен согласованный обмен
Без интеграции одно и то же задание приходится переносить вручную, а факт производства — повторно вводить в учётную систему. Это создаёт задержки и расхождения. Но автоматический обмен не исправляет неопределённые правила: он только быстрее передаёт их последствия.
Сначала полезно разделить ответственность систем. На странице «Где заканчивается ERP и начинается MES» этот вопрос разобран с точки зрения назначения. Здесь речь о том, как провести данные через границу.
Что ERP передаёт в MES
Состав зависит от производственной модели, но обычно MES нужны производственные задания и данные, без которых их нельзя исполнить:
- идентификатор и версия задания;
- номенклатура и требуемое количество;
- технологический маршрут и операции;
- связанные спецификации и нормативы;
- приоритет, сроки и допустимые ограничения.
Важно договориться, какие изменения задания разрешены после передачи. Иначе MES может выполнять одну версию, пока ERP уже считает действующей другую.
Что MES возвращает в ERP
Обратно передаётся подтверждённый производственный факт: выполненное количество, статус операции или задания, расход материалов, трудозатраты, брак и результаты контроля — в том составе, который нужен учётному контуру. Подробнее ожидания ERP разобраны в статье «Что ERP ждёт от цеха».
Для каждого факта нужно определить момент передачи. Событие может быть предварительным, подтверждённым или скорректированным. Если статусы смешаны, системы начинают показывать разные версии одного процесса.
Справочники и единые идентификаторы
Название объекта удобно человеку, но для обмена нужен устойчивый идентификатор. Это относится к номенклатуре, оборудованию, подразделениям, операциям, единицам измерения и причинам отклонений.
У каждого справочника должен быть владелец и правило распространения изменений. Простое копирование таблиц между системами не решает вопрос версий, удалений и переименований.
Время и последовательность событий
Интеграция должна различать время возникновения события и время его получения. После восстановления связи несколько накопленных сообщений могут прийти одновременно. Если сортировать их только по времени приёма, последовательность производства будет искажена. Этой теме посвящён отдельный материал о времени в MES и производственных данных.
Что делать при ошибке обмена
Ошибка должна оставлять понятный след: какое сообщение не принято, на каком правиле оно остановилось, можно ли отправить его повторно и кто отвечает за разбор.
Повторная передача
Повтор не должен создавать второй выпуск или второе списание. Для этого у сообщения нужен ключ, а у принимающей стороны — правило идемпотентной обработки.
Сверка факта
Нужен способ сравнить состояния систем по одному заданию или периоду. Итоговый отчёт без возможности дойти до исходного сообщения затрудняет поиск причины.
Корректировка
Следует заранее определить, где исправляется первичный факт и как изменение доходит до второй системы. Ручная правка сразу в двух местах скрывает источник расхождения.
Как тестировать интеграцию
Кроме штатного обмена проверяются повторные сообщения, нарушение порядка, недоступность одной системы, неверный справочник, изменение задания и восстановление после ошибки. Сквозной сценарий заканчивается не фактом отправки, а одинаковым и объяснимым состоянием в обеих системах.
Что согласовать до разработки
- владельца каждого набора данных;
- состав и версии сообщений;
- единые идентификаторы и единицы измерения;
- статусы и допустимые переходы;
- правила повторной передачи и защиты от дублей;
- мониторинг, журналирование и порядок разбора ошибок;
- критерии сквозных испытаний.
Интеграция является частью общего процесса внедрения MES. Чем раньше определены её правила, тем меньше решений приходится восстанавливать уже после запуска.