2. 生产任务在MES中的生命周期
在AGV与MES联动的工程实践中,AGV并不是“接到一个搬运指令就动”的孤立设备,它的每一次取放货动作,本质上都是对MES中某个生产任务状态变化的物理响应。因此,理解生产任务在MES中的完整生命周期,是判断AGV应该在什么时刻、以什么方式介入的前提。本节围绕工单下发、工序拆分、派工、报工、完工与异常闭环六个阶段展开,并逐一标注AGV可介入的任务节点。
一、工单下发:任务的诞生
工单(Work Order)是MES中生产任务的最小管理单元,通常由ERP根据销售订单或生产计划生成后下发给MES,也可能由MES的计划模块直接创建。一张工单至少包含以下关键字段:工单号、产品编码、计划数量、计划开工/完工时间、目标产线或工作中心、BOM版本、工艺路线编号。
工单下发阶段,任务状态通常为“已创建”或“已下达”。此时物料尚未齐套,工序尚未拆分,AGV没有可执行的搬运目标。但这一阶段对AGV联动并非毫无意义——MES可以在此刻触发齐套性检查,判断该工单所需物料是否已在对应线边库或原料暂存区。如果物料缺失,MES可提前生成补料搬运需求,让AGV在工单正式开工前完成物料前置,避免“人等料、料等车”的连锁等待。
二、工序拆分:把工单拆成可执行的任务链
工单本身是一个“总量”概念,真正能被设备、工位和AGV执行的是工序级任务。工序拆分依据工艺路线(Routing)进行,把一张工单拆解为若干道工序,每道工序对应一个工作中心、一台设备或一个装配工位,并带有标准工时、前后置关系、所需物料清单和质检要求。
例如,一张数量为100件的工单,工艺路线为“下料→机加工→清洗→装配→检测”,拆分后形成5道工序任务,每道工序数量均为100件,但工序之间存在严格的先后约束:机加工必须在全部下料完成后才能开始,装配必须在清洗完成后才能开始。这种前后置关系直接决定了AGV搬运的时序——AGV不能把机加工后的半成品提前送到装配工位,否则会造成线边库存积压和工位堵塞。
工序拆分阶段,MES会为每道工序生成唯一的工序任务号,并绑定物料需求。此时AGV可介入的节点是工序间在制品(WIP)的流转需求生成:当上一道工序报工完成、下一道工序具备开工条件时,MES生成一条“工序间搬运任务”,AGV据此执行半成品从上一工位到下一工位的转运。
三、派工:任务落到具体资源
派工(Dispatching)是把工序任务分配给具体设备、工位或人员的过程。MES根据设备状态、人员技能、工装夹具可用性、当前排队任务量等因素,选择最合适的执行资源,并把任务推送到该资源的终端或设备控制器。
派工阶段是AGV介入最密集的节点。因为一旦某道工序被派工到具体工位,该工位就产生了明确的物料需求:需要什么物料、需要多少、什么时间需要。MES据此生成线边配送任务,AGV调度系统接收后,结合AGV当前位置、电量、路径拥堵情况,选择最优车辆执行配送。
以装配工位为例:派工后,MES向AGV系统下发“将A物料20件从原料库送至装配线3号工位”的任务。AGV到达原料库后,通过库位管理系统确认取货位置,完成取货后按路径规划行驶至装配工位,工位操作员通过扫码或按钮确认收货,MES将物料状态更新为“已上线”。
四、报工:实际消耗与产出的确认
报工是操作员或设备在完成一定数量的加工后,向MES反馈实际产出数量、合格数量、不合格数量、实际工时和物料消耗的过程。报工数据是MES更新工单进度、计算OEE、触发下一道工序任务的依据。
报工对AGV联动的意义在于:报工完成是下一道工序搬运任务生成的触发条件。例如,机加工工序报工完成100件后,MES判断清洗工序已具备开工条件,立即生成“机加工→清洗”的工序间搬运任务,AGV将100件半成品从机加工工位转运至清洗工位。如果报工数量不足(如只完成80件),MES可以只生成80件的搬运任务,剩余20件待补报后再触发。
此外,报工时的物料消耗数据会反向更新线边库存。当某物料线边库存低于安全阈值时,MES自动生成补料搬运任务,AGV执行补料。这一机制把“报工—库存—补料—AGV”串成了闭环。
五、完工:工单收尾与成品入库
当工单的所有工序任务均报工完成,且最终检验合格后,MES将工单状态置为“完工”。完工阶段涉及两个AGV可介入的节点:
- 成品下线搬运:最后一道工序(如检测)完成后,成品需要从产线末端转运至成品库或发货暂存区。MES生成成品入库搬运任务,AGV执行下线转运。
- 空载具/空托盘回收:成品取下后,空托盘或空料车需要从产线末端返回原料库或清洗区。MES可生成空载具回收任务,由AGV顺路带回,减少空驶。
完工阶段的AGV任务通常批量生成,调度系统需要做路径优化,避免多台AGV在产线末端拥堵。工程上常采用“先到先服务+最短路径”策略,或按产线节拍分批放行。
六、异常闭环:任务中断与恢复
生产任务在生命周期中随时可能遇到异常:设备故障、物料短缺、质量不合格、AGV故障或路径阻塞。MES需要具备异常上报、异常处理、任务挂起与恢复的闭环能力。
从AGV联动角度看,异常闭环的关键在于任务状态的同步。例如,当AGV在配送途中发生故障,AGV调度系统将故障事件上报MES,MES将该搬运任务标记为“异常挂起”,并通知目标工位“物料延迟”。工位可根据延迟时间决定是否切换备用物料或调整生产顺序。当AGV故障排除后,MES恢复任务,AGV继续执行或重新分配车辆。
另一类典型异常是报工数量与搬运数量不一致。例如,MES生成100件搬运任务,但AGV实际只搬运了95件,剩余5件因工位暂存区满而被拒绝。此时MES需要记录差异,生成补搬运任务,并通知工位操作员处理。异常闭环的目标不是“不出异常”,而是“异常发生后,任务状态、物料状态和AGV状态始终一致,不丢任务、不重复搬运”。
七、AGV可介入节点总览
把上述六个阶段中AGV可介入的节点汇总,可以用下面的信号—任务关系图表示。图中横向为MES任务生命周期阶段,纵向为AGV可介入的搬运任务类型,箭头表示触发关系。
从工程落地角度看,AGV与MES的联动接口通常围绕上述节点设计。MES对外提供任务创建、任务取消、任务状态查询等接口,AGV调度系统通过轮询或消息推送获取任务,并在执行过程中回传“已接单、已取货、已送达、异常”等状态。只有把工单、工序、派工、报工、完工和异常闭环中的每一个AGV介入节点都定义清楚,才能避免“MES以为AGV在搬、AGV以为MES没派”的脱节问题。
实际项目中,建议在MES中为每类AGV任务建立独立的任务类型编码,例如“WIP_TRANSFER”表示工序间流转、“LINE_FEED”表示线边配送、“FG_INBOUND”表示成品入库、“EMPTY_RETURN”表示空载具回收。任务类型编码与AGV调度系统的任务模板一一对应,便于日志追溯和异常定位。同时,每个任务应携带源工位、目标工位、物料编码、数量、批次号、时间窗等字段,确保AGV在执行时不需要额外查询即可完成取放货确认。
最后需要强调的是,异常闭环不是生命周期的“附加项”,而是贯穿六个阶段的保障机制。无论是工单取消、工序跳转、派工变更、报工差异还是完工后的成品滞留,MES都应能生成对应的AGV任务调整指令——取消、挂起、重派或新增。只有任务状态在MES与AGV之间始终保持一致,生产任务的生命周期才算真正闭环。