2. 基础知识
在APS与ERP、MES的集成工程中,很多实施失败并非因为算法不够先进,而是因为三方对同一术语的理解不一致。ERP说的“工单”、MES说的“工单”、APS说的“任务”,在数据粒度、时间属性和状态语义上往往并不相同。因此,在进入接口设计之前,必须先建立一套共享的概念坐标系。
一、核心概念:三层系统的职责边界
ERP、APS、MES构成了制造运营的“计划—排程—执行”三层结构。理解它们各自的职责边界,是集成设计的第一原则。
- ERP(企业资源计划):面向订单与资源,回答“要做什么、有多少料、成本多少”。核心对象是销售订单、生产订单、物料、BOM、库存、采购单。
- APS(高级计划与排程):面向产能与约束,回答“什么时候做、在哪台设备做、顺序如何”。核心对象是资源、工艺路线、工序、排程任务、约束、优化目标。
- MES(制造执行系统):面向现场与执行,回答“实际做得怎么样”。核心对象是工单、工序派工、报工、设备状态、质量数据、批次追溯。
三者的关系可以概括为:ERP管“账”,APS管“序”,MES管“实”。集成工程本质上是在这三层之间建立稳定的数据契约。
二、常见术语与语义对齐
集成工程中最容易出问题的不是技术,而是术语的“同名不同义”。下表列出了三方系统中最常见的术语及其语义差异,实施时应作为接口字典的基础。
| 术语 | ERP 语义 | APS 语义 | MES 语义 | 集成要点 |
|---|---|---|---|---|
| 工单 / 订单 | 生产订单,含数量、交期、成本 | 排程输入,拆分为工序任务 | 执行单元,含派工与报工 | 需统一订单号与工序号编码 |
| 工序 | BOM 中的工艺步骤 | 排程最小单位,绑定资源 | 派工与报工的最小单位 | 工序编码必须三方一致 |
| 资源 | 成本中心 / 工作中心 | 可排程的产能对象 | 设备 / 产线 / 工位 | 需建立资源映射表 |
| 交期 | 订单承诺日期 | 排程约束或优化目标 | 工单计划完成时间 | 区分“承诺交期”与“计划完成” |
| 状态 | 已下达 / 已完工 / 已关闭 | 已排程 / 未排程 / 冲突 | 待派工 / 生产中 / 已报工 | 需建立状态映射矩阵 |
三、典型应用场景
APS与ERP、MES的集成并非在所有场景下都必要。以下四类场景是集成价值最突出的典型:
- 多品种小批量排产:订单频繁变更,人工排产无法兼顾交期与换型成本,需要APS在ERP订单池与MES产能之间做动态优化。
- 瓶颈资源调度:当某台设备或某条产线成为瓶颈时,APS需要基于MES实时设备状态重新排程,并将调整结果回传ERP更新交期。
- 插单与急单响应:销售插单后,ERP触发APS重排,APS输出新的工序顺序,MES按新派工执行,形成闭环。
- 交期承诺与可承诺量:ERP接单时调用APS的产能模拟能力,给出可承诺交期,避免盲目承诺。
集成闭环的核心逻辑:ERP下达订单 → APS排程 → MES执行 → MES反馈实际进度 → APS重排 → ERP更新交期与库存。这个闭环的每一环都依赖统一的数据契约。
四、常见误区与复盘
在实际项目中,以下误区反复出现,值得在集成设计阶段就加以规避:
- 误区一:把APS当成MES的排产模块。APS是计划层工具,不直接控制设备;MES是执行层系统,不负责全局优化。两者职责不能混用。
- 误区二:接口只传结果,不传上下文。只传排程结果而不传约束条件、优先级和版本号,会导致MES无法判断结果是否仍然有效。
- 误区三:忽略时间粒度差异。ERP以天为单位,APS以分钟为单位,MES以秒为单位。时间粒度不统一会造成排程结果无法落地。
- 误区四:状态机各自为政。三方系统各自维护状态,没有统一的状态映射,导致“ERP显示已完工、MES显示生产中”的数据矛盾。
实施建议:在项目启动阶段,先建立一份《三方术语与状态对照表》,明确每个字段的来源系统、目标系统、更新频率和冲突处理规则。这份表比任何接口文档都更重要。
# 集成接口字典示例(片段)
order_id: ERP生产订单号 → APS排程输入 → MES工单号
operation_code: ERP工序编码 → APS工序任务 → MES派工单工序
resource_id: ERP工作中心 → APS资源对象 → MES设备/产线
planned_start: APS排程开始时间 → MES计划开始
planned_end: APS排程结束时间 → MES计划结束
actual_start: MES实际开始 → APS进度反馈 → ERP完工确认
status_map:
ERP: 已下达 → APS: 待排程 → MES: 待派工
ERP: 已完工 → APS: 已完成 → MES: 已报工