1. 课程导入

在制造与流通企业的数字化体系中,WMS、WCS、ERP、MES 并不是四个孤立软件,而是一条从“经营计划”到“实物执行”的连续信息链。很多项目失败并非因为某个系统功能不足,而是因为四者边界模糊、接口语义不一致、时序错位:ERP 认为库存已扣减,WMS 却还在等待上架确认;MES 已报工完成,WCS 的输送线却因任务未下发而堵塞。本课程的目标,是让你具备把这四个系统“接起来、跑得稳、查得清”的工程能力。

学习目标

  • 能准确说出 WMS、WCS、ERP、MES 各自的职责边界与不做什么。
  • 能画出四系统之间的主数据流、业务流与异常回传路径。
  • 掌握接口设计的基本方法:单据模型、状态机、幂等、对账与补偿。
  • 能识别集成工程中的典型故障:重复下发、状态回滚、库存不平、任务丢失。
  • 形成从需求调研、接口定义、联调测试到上线运维的完整工程路径。

四大系统定位:谁管什么,谁不管什么

ERP 是企业资源计划层,关注“钱、账、计划”。它管理采购订单、销售订单、生产订单、物料主数据、财务库存与成本。ERP 的库存通常是“账面库存”,用于财务核算与计划运算,不直接感知货架位置和巷道拥堵。

MES 是制造执行层,关注“工单、工序、设备、质量”。它把 ERP 的生产订单拆成工序任务,采集报工、良率、设备状态,并向 ERP 回传产出与消耗。MES 不负责成品仓库内的库位分配,也不直接驱动堆垛机。

WMS 是仓储管理层,关注“收货、上架、拣选、复核、发运、盘点”。它管理库位、批次、效期、库存状态,是仓库实物账的权威来源。WMS 决定“做什么”,但不直接控制电机与输送线。

WCS 是仓储控制层,关注“设备调度与任务执行”。它接收 WMS 下发的搬运任务,拆解为输送线、堆垛机、AGV、穿梭车的动作指令,并实时回传任务状态。WCS 不决定业务优先级,只负责把任务安全、高效地执行到位。

一句话记忆:ERP 管账,MES 管做,WMS 管货,WCS 管动。四者通过接口形成“计划—执行—反馈”的闭环。

四系统集成工程全景:计划层 → 执行层 → 控制层 ERP 采购/销售/生产订单 物料主数据 · 财务库存 MES 工单/工序/报工 质量 · 设备 · 追溯 WMS 收货/上架/拣选/发运 库位 · 批次 · 实物账 WCS 任务调度 · 设备指令 堆垛机 · AGV · 输送线 集成总线 / 接口中间件 API · 消息队列 · 文件交换 · 数据库中间表 统一单据号 · 状态机 · 幂等 · 对账 · 补偿 生产订单 领料/入库 搬运任务 任务状态 报工/消耗 库存/凭证 数据流方向:ERP 下达计划 → MES/WMS 执行 → WCS 驱动设备 → 状态逐级回传 → ERP 记账闭环 关键原则:单一数据源、状态可追溯、接口可重放、异常可补偿

集成工程整体框架:从接口到闭环

集成工程不是“把接口调通”就结束,而是一个分层推进的工程体系。可以把它分为五层:

  1. 主数据层:物料、库位、供应商、客户、BOM、工序编码必须统一。主数据不一致,后面所有单据都会“对不上”。
  2. 单据层:采购订单、生产订单、销售订单、出入库单、盘点单、报工单,需要定义唯一单据号与行项目号。
  3. 接口层:API、消息队列、文件、中间表,选择取决于实时性、可靠性与既有系统能力。
  4. 状态层:每个单据必须有明确状态机,例如“已创建→已下发→执行中→已完成→已取消”,并支持回滚与重试。
  5. 对账层:定时比对 ERP 账面库存与 WMS 实物库存,MES 产出与 ERP 入库,WCS 任务与 WMS 任务。
系统 核心职责 典型数据 不负责
ERP 计划、财务、账面库存 采购/销售/生产订单、物料主数据 库位分配、设备调度
MES 工单执行、质量、追溯 工序任务、报工、良率、设备状态 成品库位管理、输送线控制
WMS 仓储实物账、作业管理 库位、批次、效期、出入库任务 电机控制、PLC 指令
WCS 设备调度、任务执行 搬运任务、设备状态、任务回传 业务优先级、库存账务

典型场景:一张生产领料单的旅程

假设 ERP 下达一张生产订单,需要领用 500 个物料 A。ERP 将生产订单同步给 MES,MES 生成领料申请并发送给 WMS。WMS 根据库位、批次、效期策略生成拣选任务,下发给 WCS。WCS 调度 AGV 将物料从立库送到线边仓,回传“任务完成”。WMS 扣减库位库存并回传 MES,MES 确认领料后回传 ERP,ERP 完成账面库存扣减与成本归集。

这条链路中,任何一步失败都会导致“账实不符”。例如 WCS 任务完成但 WMS 未收到回传,WMS 库存未扣,ERP 却已扣账,盘点时就会出现差异。因此,接口必须支持重试、幂等与对账。

接口示例:WMS 向 WCS 下发搬运任务
{
  "taskId": "WMS-TASK-20240521-0001",
  "taskType": "PICK_TO_LINE",
  "fromLocation": "A-01-02-03",
  "toLocation": "LINE-01-BUFFER",
  "sku": "MAT-A",
  "batch": "B20240520",
  "qty": 500,
  "priority": 5,
  "callbackUrl": "/wcs/task/callback"
}

工程提示:接口设计时,务必让 taskId 由 WMS 生成并全局唯一,WCS 回传时原样带回。这样即使消息重复,WMS 也能通过幂等表识别并丢弃重复回传。

常见误区与复盘

  • 误区一:把 WMS 当 WCS 用。WMS 直接控制 PLC 或堆垛机,会导致业务逻辑与设备逻辑耦合,后期换设备几乎重写。
  • 误区二:接口只传结果不传状态。只传“完成”不传“执行中/失败/取消”,异常时无法定位。
  • 误区三:主数据各自维护。物料编码在 ERP、WMS、MES 中不一致,导致接口匹配失败。
  • 误区四:没有对账机制。上线后库存差异越积越大,最终只能停线盘点。

复盘结论:集成工程的核心不是“连通”,而是“可追溯、可重放、可对账”。任何一条接口,都要能回答三个问题:谁发的?发了几次?对方收到没有?

学习路径建议

本课程将按“定位→接口→联调→运维”推进。建议你先建立四系统边界感,再动手设计一张接口单据,最后通过模拟异常场景验证你的对账与补偿逻辑。每章都会围绕真实工程问题展开,帮助你从“知道”走向“做到”。