Appearance
第 9 周讲义:系统集成与接口设计
一、本周学习目标
本周的核心任务,是理解 MES 为什么不能孤立运行,以及它如何通过接口与其他系统协同工作。学习完成后,应能够回答以下问题:
- ERP、MES、WMS、QMS、设备系统之间为什么必须集成。
- 什么是入站接口,什么是出站接口。
- 一条接口设计通常要说明哪些关键要素。
- 在电子装配工厂中,主数据、工单、状态、结果通常是如何跨系统流动的。
二、本周导入
前 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 并不是只向上汇报或只向下采集,而是多向交换数据。
九、接口清单示例
| 接口 | 来源系统 | 目标系统 | 数据内容 | 触发时机 | 备注 |
|---|---|---|---|---|---|
| 产品主数据同步 | ERP | MES | 产品编码、型号、版本 | 主数据变更后 | 保证对象口径一致 |
| 工单下发 | ERP | MES | 工单号、数量、计划时间、产品版本 | 工单审核通过后 | MES 执行起点 |
| 齐套状态反馈 | WMS | MES | 齐套状态、缺料信息 | 备料确认后 | 决定是否可开工 |
| 测试结果上传 | 测试设备 / SCADA | MES | SN、程序版本、测试结果、参数 | 测试完成后 | 用于放行与追溯 |
| 不良信息推送 | MES | QMS | SN、不良类型、工位、时间 | 不良确认后 | 支撑质量闭环 |
| 完工结果回传 | MES | ERP | 合格数、不良数、完工状态 | 工单完工后 | 更新经营与计划状态 |
| 入库结果同步 | MES | WMS | 完工批次、数量、入库请求 | 包装或完工确认后 | 衔接仓储环节 |
| 停机事件采集 | 设备系统 | MES | 设备状态、停机开始/结束、原因 | 状态变化时 | 支撑 OEE 与异常分析 |
十、时序理解:为什么接口不仅是“传数据”,更是“传时机”
很多接口问题,并不是字段少了,而是时机错了。
例如:
- 工单太早下发,现场还未准备好。
- 完工结果太晚回传,ERP 仍以为未完成。
- 测试结果未及时上传,导致产品已流到下一站。
- 齐套状态延迟同步,导致现场开工后才发现缺料。
因此,接口设计不能只问“传什么”,还必须问“什么时候传、传晚了会怎样、传失败了怎么办”。
这也是为什么系统集成常常比页面功能更难,因为它同时涉及:
- 对象口径
- 业务时序
- 异常处理
- 多系统协同责任划分
十一、为什么主数据同步往往是集成的起点
从项目经验看,很多集成问题最终并不是接口程序本身的问题,而是上游和下游系统对对象理解不一致。
例如:
- ERP 里的产品版本和 MES 里的工艺版本不是一回事。
- WMS 里的库位定义和 MES 里的线边位置没有一一对应。
- 设备系统里的设备编码和 MES 里的设备编号不一致。
一旦对象口径不一致,接口即使通了,业务也仍然会错。
因此,系统集成的第一步往往不是写接口,而是统一:
- 编码
- 版本
- 状态定义
- 触发规则
这也是上一周“主数据与数据模型”会直接影响本周学习的原因。
十二、本周小结
本周完成的是 MES 学习中的“跨系统协同”训练。重点已经从“系统内部如何运转”扩展到“系统之间如何协同”。
通过本周内容,应当建立以下认识:
- MES 无法孤立运行,必须与 ERP、WMS、QMS 和设备系统集成。
- 接口设计不只是数据传输,更是业务对象、时序和异常处理的定义。
- 入站接口解决“MES 需要知道什么”,出站接口解决“MES 产生了什么结果”。
- 主数据同步通常是所有集成的起点。
- 电子装配工厂中的制造执行,本质上是一组跨系统数据流共同支撑的结果。
本周输出建议
- 画一张 ERP、MES、WMS、QMS、设备系统数据流图。
- 整理一张关键接口清单。
- 按电子装配案例写出 3 条最关键接口的触发时机和目的。
本周练习建议
- 回答:为什么接口设计不能只写“ERP 对接 MES”?
- 举例说明一条“时机错了”的接口会造成什么现场问题。
- 回答:为什么系统集成的起点通常不是写代码,而是统一对象口径?
只有把这一层理解清楚,后续学习实施方法论和最终方案设计时,才会知道为什么 MES 项目往往是“业务 + 数据 + 集成”三件事一起做。
十三、本周掌握标准
目前我应当能够讲清的内容
- ERP、MES、WMS、QMS、设备系统之间为什么必须集成。
- 入站接口与出站接口的区别。
- 一条接口设计至少要说明哪些关键内容。
- 电子装配工厂案例中,主数据、工单、状态和结果是如何跨系统流动的。
仍需在后续深化的问题
- 实时接口与批量接口在不同场景下如何取舍。
- 接口失败时,如何设计重试、补发和告警机制。
- 不同系统的状态定义冲突,如何在项目中被统一。
通过 / 未通过检查
- [x] 能用自己的话解释本周主题
- [x] 已产出至少 1 张图
- [x] 已产出至少 1 个结构化表格或清单
- [x] 已映射到电子装配工厂案例
自检结果
已通过本周检查。当前可以在 5 分钟内解释:
- MES 为什么不能脱离其他系统独立运行。
- ERP→MES、MES→ERP、MES↔WMS、MES↔QMS、MES↔设备系统的典型数据流。
- 为什么接口设计既要关注数据内容,也要关注触发时机和异常处理。