Skip to content

第 9 周讲义:系统集成与接口设计

一、本周学习目标

本周的核心任务,是理解 MES 为什么不能孤立运行,以及它如何通过接口与其他系统协同工作。学习完成后,应能够回答以下问题:

  1. ERP、MES、WMS、QMS、设备系统之间为什么必须集成。
  2. 什么是入站接口,什么是出站接口。
  3. 一条接口设计通常要说明哪些关键要素。
  4. 在电子装配工厂中,主数据、工单、状态、结果通常是如何跨系统流动的。

二、本周导入

前 8 周,我们已经逐步建立了对 MES 内部世界的认识:

  • 现场对象是什么。
  • 系统边界如何划分。
  • 订单如何转成工单。
  • 工单如何执行。
  • 工艺路线如何控制流转。
  • 追溯如何建立。
  • 质量和 OEE 如何形成。
  • 主数据如何支撑整个系统。

到这一步,很容易产生第二种错觉:

只要 MES 自己设计完整,工厂就能运转起来。

但真实情况是,MES 永远不是孤岛。它既不拥有全部主数据,也不产生全部业务结果,更不直接控制所有设备动作。它必须与上层计划系统、横向业务系统以及下层设备系统持续交换数据。

因此,第 9 周要解决的核心问题是:MES 与其他系统之间,到底交换什么、为什么交换、什么时候交换。

这一周其实是建立在第 8 周之上的:如果产品、工位、设备、版本这些对象在各系统中没有统一口径,那么接口即使打通,业务也照样会错。因此,系统集成并不是从“连通”开始,而是从“同一个对象在多系统中被一致理解”开始。


三、系统集成的整体认识

在制造企业里,不同系统各自承担不同职责,但业务流程并不会因为系统边界而自动中断。只要一个流程跨越多个系统,就需要集成。

以 MES 为中心看,最常见的集成方向包括:

  • ERP → MES:下发主数据、订单、工单、计划信息。
  • MES → ERP:回传完工、产量、执行结果。
  • MES ↔ WMS:同步备料、发料、入库、库存状态。
  • MES ↔ QMS:交换质量结果、异常状态、检验信息。
  • MES ↔ 设备系统 / SCADA / PLC:采集状态、测试结果、停机事件、设备信号。

这说明,系统集成的本质不是“把两个系统连起来”,而是让跨系统业务链保持连续、准确、可解释


四、为什么 MES 不能孤立运行

MES 虽然位于制造执行层,但它既不是数据源的唯一中心,也不是结果输出的唯一终点。

1. 没有 ERP,MES 不知道为什么生产

ERP 通常掌握订单、计划、产品主数据和经营约束。如果没有 ERP 下发信息,MES 就很难知道:

  • 生产什么
  • 生产多少
  • 何时完成
  • 对应哪个客户或交付需求

2. 没有 WMS,MES 很难掌握仓储动作

MES 关心生产执行,但仓储库存、库位移动、收发料精细动作通常由 WMS 管理。如果 MES 和 WMS 断开,就容易出现“系统显示可做,现场其实无料”的问题。

3. 没有 QMS,质量闭环容易不完整

MES 可以记录现场质量结果,但更完整的质量规范、不合格流程、整改管理往往由 QMS 承担。两者如果不协同,质量数据就会断层。

4. 没有设备系统,MES 很多执行记录会失真

设备状态、测试结果、停机事件、安灯信号,很多都来自设备接口或 SCADA/PLC。如果没有这些底层数据,MES 只能依赖人工录入,实时性和准确性都会下降。

因此,MES 不只是“一个系统”,而是制造执行层的数据枢纽。


五、核心概念讲解

1. 入站接口

入站接口是指“数据进入 MES”的接口。典型场景包括:

  • ERP 下发产品主数据
  • ERP 下发工单
  • WMS 回传物料齐套状态
  • 设备系统上传测试结果或状态信号

入站接口的核心作用,是让 MES 获得执行所必需的信息。

2. 出站接口

出站接口是指“数据从 MES 发出去”的接口。典型场景包括:

  • MES 向 ERP 回传完工结果
  • MES 向 WMS 发出入库或领料结果
  • MES 向 QMS 推送不良或检验结果
  • MES 向上层报表平台输出统计数据

出站接口的核心作用,是把执行结果传递给其他系统继续使用。

3. 主数据同步

主数据同步是集成中最基础、也最容易被低估的环节。它解决的问题不是“传一次数据”,而是“多系统是否对同一个对象有一致理解”。

例如:

  • 产品编码是否一致
  • 工位编码是否一致
  • 设备编码是否一致
  • 版本是否一致

如果主数据不同步,后续所有业务接口都会出问题。

4. 状态与结果同步

除了主数据,系统还需要交换过程状态和执行结果。例如:

  • 工单是否已开工
  • 某批产品是否已完工
  • 某次测试是否通过
  • 某批次是否允许入库

这类数据通常具有更强的时序性和业务触发性。


六、接口设计时必须回答的几个问题

一条接口设计,如果只写“ERP 对接 MES”,几乎没有任何执行价值。真正可落地的接口设计,至少要回答以下问题:

1. 谁是来源系统,谁是目标系统

例如:ERP → MES,MES → WMS。

2. 传什么数据

例如:工单主信息、物料清单、报工结果、测试结果、停机事件。

3. 什么时候触发

例如:

  • 工单审核后触发
  • 完工报工后触发
  • 测试完成后触发
  • 状态变化时实时触发

4. 按什么频率传

可能是:

  • 实时
  • 准实时
  • 批量定时

5. 失败后怎么处理

例如:

  • 重试机制
  • 人工补发
  • 错误日志记录
  • 状态回滚或告警

也就是说,接口设计不是“字段对字段”的搬运,而是“业务时序 + 数据语义 + 错误处理”的完整定义。


七、案例映射:电子装配工厂中的跨系统数据流

继续沿用电子装配工厂案例。可以把主要数据流理解为以下几条主线:

1. ERP → MES

ERP 把产品主数据、工单和计划信息下发给 MES,MES 才知道今天做什么、做多少、按哪套规则做。

2. MES ↔ WMS

MES 根据工单执行需要,与 WMS 协同确认物料是否齐套、是否已发到线边,以及完工后是否允许入库。

3. MES ↔ QMS

MES 记录现场质量结果和异常事件,必要时把检验结果或不良信息传给 QMS,用于后续更完整的质量管理闭环。

4. MES ↔ 设备系统

MES 从设备、SCADA 或测试平台获取状态、停机、测试结果等数据,同时把产品身份、测试任务或工艺要求下发给设备侧。

5. MES → ERP

当工单执行完成后,MES 将产量、完工数量、不良数量或完工状态回传给 ERP,用于经营层和计划层更新。

这说明,MES 实际上处于多条业务数据流的交汇点。


八、系统数据流图

图示解读

  • ERP 提供计划与主数据,MES 回传执行结果。
  • WMS 负责仓储动作,MES 负责执行侧物料使用。
  • QMS 负责更高层级质量闭环,MES 负责现场质量记录。
  • 设备系统提供现场实时数据,MES 负责把业务语义与现场状态关联起来。

这张图主要看 MES 作为数据枢纽的跨系统流向。 这张图不展开单条接口的字段映射和报文细节。 它是后续第 10 周实施阶段中“接口联调”和“主数据同步”工作的直接输入。

这张图说明,MES 并不是只向上汇报或只向下采集,而是多向交换数据。


九、接口清单示例

接口来源系统目标系统数据内容触发时机备注
产品主数据同步ERPMES产品编码、型号、版本主数据变更后保证对象口径一致
工单下发ERPMES工单号、数量、计划时间、产品版本工单审核通过后MES 执行起点
齐套状态反馈WMSMES齐套状态、缺料信息备料确认后决定是否可开工
测试结果上传测试设备 / SCADAMESSN、程序版本、测试结果、参数测试完成后用于放行与追溯
不良信息推送MESQMSSN、不良类型、工位、时间不良确认后支撑质量闭环
完工结果回传MESERP合格数、不良数、完工状态工单完工后更新经营与计划状态
入库结果同步MESWMS完工批次、数量、入库请求包装或完工确认后衔接仓储环节
停机事件采集设备系统MES设备状态、停机开始/结束、原因状态变化时支撑 OEE 与异常分析

十、时序理解:为什么接口不仅是“传数据”,更是“传时机”

很多接口问题,并不是字段少了,而是时机错了。

例如:

  • 工单太早下发,现场还未准备好。
  • 完工结果太晚回传,ERP 仍以为未完成。
  • 测试结果未及时上传,导致产品已流到下一站。
  • 齐套状态延迟同步,导致现场开工后才发现缺料。

因此,接口设计不能只问“传什么”,还必须问“什么时候传、传晚了会怎样、传失败了怎么办”。

这也是为什么系统集成常常比页面功能更难,因为它同时涉及:

  • 对象口径
  • 业务时序
  • 异常处理
  • 多系统协同责任划分

十一、为什么主数据同步往往是集成的起点

从项目经验看,很多集成问题最终并不是接口程序本身的问题,而是上游和下游系统对对象理解不一致。

例如:

  • ERP 里的产品版本和 MES 里的工艺版本不是一回事。
  • WMS 里的库位定义和 MES 里的线边位置没有一一对应。
  • 设备系统里的设备编码和 MES 里的设备编号不一致。

一旦对象口径不一致,接口即使通了,业务也仍然会错。

因此,系统集成的第一步往往不是写接口,而是统一:

  • 编码
  • 版本
  • 状态定义
  • 触发规则

这也是上一周“主数据与数据模型”会直接影响本周学习的原因。


十二、本周小结

本周完成的是 MES 学习中的“跨系统协同”训练。重点已经从“系统内部如何运转”扩展到“系统之间如何协同”。

通过本周内容,应当建立以下认识:

  • MES 无法孤立运行,必须与 ERP、WMS、QMS 和设备系统集成。
  • 接口设计不只是数据传输,更是业务对象、时序和异常处理的定义。
  • 入站接口解决“MES 需要知道什么”,出站接口解决“MES 产生了什么结果”。
  • 主数据同步通常是所有集成的起点。
  • 电子装配工厂中的制造执行,本质上是一组跨系统数据流共同支撑的结果。

本周输出建议

  • 画一张 ERP、MES、WMS、QMS、设备系统数据流图。
  • 整理一张关键接口清单。
  • 按电子装配案例写出 3 条最关键接口的触发时机和目的。

本周练习建议

  1. 回答:为什么接口设计不能只写“ERP 对接 MES”?
  2. 举例说明一条“时机错了”的接口会造成什么现场问题。
  3. 回答:为什么系统集成的起点通常不是写代码,而是统一对象口径?

只有把这一层理解清楚,后续学习实施方法论和最终方案设计时,才会知道为什么 MES 项目往往是“业务 + 数据 + 集成”三件事一起做。


十三、本周掌握标准

目前我应当能够讲清的内容

  • ERP、MES、WMS、QMS、设备系统之间为什么必须集成。
  • 入站接口与出站接口的区别。
  • 一条接口设计至少要说明哪些关键内容。
  • 电子装配工厂案例中,主数据、工单、状态和结果是如何跨系统流动的。

仍需在后续深化的问题

  • 实时接口与批量接口在不同场景下如何取舍。
  • 接口失败时,如何设计重试、补发和告警机制。
  • 不同系统的状态定义冲突,如何在项目中被统一。

通过 / 未通过检查

  • [x] 能用自己的话解释本周主题
  • [x] 已产出至少 1 张图
  • [x] 已产出至少 1 个结构化表格或清单
  • [x] 已映射到电子装配工厂案例

自检结果

已通过本周检查。当前可以在 5 分钟内解释:

  • MES 为什么不能脱离其他系统独立运行。
  • ERP→MES、MES→ERP、MES↔WMS、MES↔QMS、MES↔设备系统的典型数据流。
  • 为什么接口设计既要关注数据内容,也要关注触发时机和异常处理。

离散制造 MES 系统化学习课程