4. MES执行协同的功能边界

APS解决的是“有限产能下应该先做什么、在哪台设备做、什么时候做”的问题,而MES解决的是“现场实际怎么做、做到哪一步、做出来合不合格”的问题。两者之间不是简单的上下级关系,而是一条计划意图向下传递、执行实绩向上回馈的双向协同链。理解这条链的关键,是先划清MES各执行环节的功能边界,再明确每个环节与APS交换什么数据、在什么时机交换、以谁为准。

一、六个执行环节的功能边界

MES的执行协同通常覆盖六个环节,每个环节的职责边界如下:

  • 工单下达:把APS排程结果转化为现场可执行的工单,确定工单号、产品、数量、目标产线/设备、计划开始与结束时间。MES负责工单的生成、拆分、冻结与释放,APS负责提供排程时间窗和资源指派。
  • 派工:把工单进一步分配到具体机台、班组或人员,形成工序级作业指令。派工是MES的现场调度权,APS只给出建议资源,不直接指挥到人。
  • 报工:采集开工、完工、合格数、不良数、实际工时、实际设备等实绩数据。报工是MES的核心数据源,也是APS滚动重排的输入。
  • 物料拉动:根据工单齐套情况和线边库存,触发领料、配送或叫料。MES判断“能不能开工”,APS判断“该不该现在开工”。
  • 质量拦截:在关键工序设置检验点,不合格品触发返工、报废或停线。质量拦截会改变工单状态和可用产能,必须回传APS。
  • 设备状态采集:通过SCADA/PLC采集运行、停机、换型、故障等状态,形成设备可用性数据,是APS产能模型的实际校验依据。

二、APS与MES的接口关系

从数据流向看,APS向MES下发的是计划层数据:排程工单、资源指派、计划时间窗、优先级、工艺路线约束。MES向APS回传的是执行层数据:工单实际状态、报工实绩、设备状态、质量结果、物料齐套情况。两者通过接口表或消息中间件交互,典型接口包括工单同步接口、报工回传接口、设备状态接口、质量事件接口和物料齐套接口。

接口设计中最容易出问题的是时间基准与状态口径。例如APS的计划开始时间精确到分钟,而MES报工时间可能精确到秒;APS认为“已下达”即占用产能,MES认为“已开工”才占用产能。如果不统一口径,重排结果就会与现场实际严重偏离。因此建议在接口规范中明确:计划时间以APS为准,实际时间以MES为准;工单状态采用统一状态机(已下达→已派工→已开工→已完工→已关闭),双方按同一状态码交互。

APS与MES执行协同接口关系图 APS 有限产能排程 排程工单 / 资源指派 计划开始·结束时间窗 优先级 / 工艺路线约束 瓶颈资源占用计划 产能模型 / 换型矩阵 设备可用性假设 滚动重排触发条件 异常事件响应策略 计划达成率 / 偏差分析 排程绩效指标 MES 执行协同 工单下达 / 派工 机台·班组·人员分配 报工采集 开工·完工·合格·不良 物料拉动 齐套检查·线边库存·叫料 质量拦截 检验点·返工·报废·停线 设备状态采集 运行·停机·换型·故障 接口通道 工单同步接口(APS→MES) 报工回传接口(MES→APS) 设备状态接口(MES→APS) 质量事件接口(MES→APS) 物料齐套接口(MES→APS) 计划时间以APS为准 · 实际时间以MES为准 计划下发 实绩回传 接口边界

三、关键接口的交互时机与判断逻辑

接口不是“有数据就传”,而要定义触发时机。以工单下达为例:APS完成排程后,将工单以“已下达”状态推送到MES;MES收到后先做齐套校验,若物料不齐套则工单停留在“待料”状态,不占用现场产能,同时向APS回传“物料未齐套”事件,APS据此决定是否将该工单后移或替换。只有齐套校验通过,MES才允许派工和开工。

报工回传的时机同样关键。建议采用事件驱动+定时汇总结合的方式:开工、完工、质量拦截等关键事件实时回传;工时、产量等统计类数据按5~15分钟批量回传。这样既保证APS能及时感知异常,又避免高频接口造成系统压力。

设备状态采集与APS的接口需要区分计划停机和非计划停机。计划停机(如保养、换型)在APS产能模型中已作为不可用时间扣除;非计划停机(如故障)则需要实时回传,触发APS对该设备后续工单的重新分配。如果MES只回传“设备停机”而不区分原因,APS就无法判断是应该等待恢复还是立即改排。

四、一个可参考的接口字段示例

以下是一个工单同步接口的字段示例,用于说明APS与MES之间需要交换的最小数据集。字段命名和取值可根据实际系统调整,但核心语义应保持一致。

{
  "interface": "WO_SYNC",
  "direction": "APS_TO_MES",
  "trigger": "schedule_released",
  "payload": {
    "wo_id": "WO-20250612-001",
    "product_code": "P-A100",
    "qty": 500,
    "route_id": "RT-A100-STD",
    "assigned_resource": "LINE-03",
    "plan_start": "2025-06-12T08:00:00",
    "plan_end": "2025-06-12T16:30:00",
    "priority": 2,
    "status": "RELEASED",
    "aps_version": "SCH-20250612-003"
  }
}

MES收到后,应回传确认消息,并在工单状态变化时通过报工回传接口更新actual_start、actual_end、good_qty、scrap_qty、actual_resource等字段。APS侧则根据这些实绩数据判断是否需要触发滚动重排。

接口联调时,建议先用“影子模式”运行:APS照常排程,MES照常执行,但双方只记录接口数据不实际驱动业务。运行1~2周后对比计划与实际的偏差分布,确认时间口径、状态口径和资源编码一致后,再切换为正式驱动模式。

五、边界划分的三条原则

第一,计划归APS,执行归MES。APS不直接向机台下指令,MES不擅自修改排程顺序。第二,异常分级处理。小偏差(如报工延迟10分钟)由MES内部消化,不触发重排;大偏差(如设备故障导致工单无法完成)必须实时上报APS。第三,数据单一来源。计划时间、资源指派以APS为唯一来源;实际时间、实际资源、质量结果以MES为唯一来源。双方都不维护对方的“副本数据”,避免口径分裂。

只有把功能边界划清楚,接口才不会变成“什么都传、什么都对不上”的糊涂账。工单下达、派工、报工、物料拉动、质量拦截、设备状态采集这六个环节,各自守住自己的职责,同时通过明确定义的接口与APS交换必要数据,才能形成计划与执行之间的闭环协同。