3. WMS 任务生成机制

WMS 的核心职责不是“记录库存”,而是把业务意图翻译成可被 WCS 和 AMR 执行的任务。业务单据(出库单、入库单、移库申请、盘点计划、补货建议)本身不能直接驱动设备,必须经过任务生成机制:确定任务类型、绑定库存与库位、计算优先级、决定是否合入波次、分配执行资源,最终输出带明确起点、终点、物料、数量的任务指令。本节围绕这条转化链展开。

一、五类业务到任务的映射关系

不同业务生成的任务在“起点—终点—库存影响”上有本质差异,这是后续优先级和分配逻辑的基础:

  • 出库:起点为存储/拣选库位,终点为出库站台或集货位,库存减少。任务粒度通常是“SKU + 数量 + 目标站台”。
  • 入库:起点为收货月台/暂存位,终点为目标存储库位,库存增加。需先做上架推荐(库位分配),再生成搬运任务。
  • 移库:起点与终点均为库内库位,库存总量不变,仅位置变化。常见于库位整理、ABC 调整、通道拥堵疏解。
  • 盘点:起点为被盘库位,终点为盘点站或原地核验,产生“账面—实盘”差异记录,不直接改变库存,差异确认后才触发调整任务。
  • 补货:起点为存储区/补货源库位,终点为拣选面库位,库存总量不变,但改变了“可拣库存”的分布。

可以看到,出库/入库改变库存数量,移库/补货/盘点只改变库存位置或状态。任务生成时必须携带库存事务类型,否则 WCS 无法判断任务完成后是否需要回写库存。

业务单据 → 可执行任务的转化链 出库单 库存 − 入库单 库存 + 移库申请 位置变 盘点计划 差异核验 补货建议 拣选面补足 任务生成引擎 ① 库存分配 ② 库位推荐 ③ 优先级计算 ④ 波次归集 ⑤ 任务拆分/合并 ⑥ 资源匹配 ⑦ 生成任务指令 ⑧ 下发 WCS 携带:起点/终点/物料/数量 优先级/波次号/事务类型 可执行任务 T-001 出库 T-002 入库 T-003 移库 T-004 盘点 T-005 补货 状态:待分配 → 已分配 → 执行中 → 已完成 WCS 路径规划 交通管制 AMR 调度 状态回传 关键约束: • 库存分配必须满足“可用量 ≥ 需求量”,否则任务挂起或部分生成 • 同一库位同一时刻只允许一个任务占用,避免并发冲突 • 任务优先级决定 WCS 调度顺序,波次号决定任务聚合与释放时机

二、库存分配逻辑:先锁库存,再生成任务

任务生成的第一步是库存分配。WMS 不会直接拿“账面库存”去生成任务,而是基于可用库存 = 账面库存 − 已分配量 − 冻结量进行判断。以出库为例,假设某 SKU 在 A-01-03 库位有 120 件,其中 30 件已被其他订单分配,则可用量为 90 件。若当前订单需要 100 件,系统会:

  1. 先分配 A-01-03 的 90 件,生成一条任务;
  2. 剩余 10 件继续查找其他库位,若找到则生成第二条任务;
  3. 若全仓可用量不足,则订单进入“缺货挂起”状态,不生成任务。

分配策略通常按先进先出(FIFO)、先到期先出(FEFO)或就近拣选排序。例如冷链场景优先 FEFO,电商大促优先就近拣选以缩短 AMR 行走距离。分配完成后,库存被“预占”,此时任务已生成但尚未下发,直到波次释放或优先级触发才进入 WCS。

三、优先级计算:让紧急任务先走

优先级不是单一字段,而是多因子加权结果。一个可落地的计算方式是:

优先级得分 = 业务权重 × 0.4
           + 时效紧迫度 × 0.3
           + 任务等待时长 × 0.2
           + 设备匹配度 × 0.1

其中业务权重可设为:出库 80、补货 70、入库 60、移库 40、盘点 30;时效紧迫度按“距截止时间”分档,越近得分越高;等待时长用于防止低优先级任务饿死;设备匹配度考虑 AMR 载具类型是否与任务容器匹配。得分越高,WCS 调度时越优先派车。实际项目中,优先级通常映射为 1~9 级,1 级最高,由 WMS 在任务生成时写入任务头。

四、波次策略:把零散任务聚合成高效批次

波次的核心目的是减少 AMR 空驶和重复行走。常见波次策略包括:

  • 定时波次:每 15 分钟释放一批,适合出库节奏稳定的场景。
  • 订单量波次:累计到 50 行或 30 单释放一次,适合电商大促。
  • 区域波次:按库区或巷道聚合,同一波次任务集中在相邻区域,缩短 AMR 行程。
  • 优先级波次:高优先级任务单独成波,立即释放,不等待凑量。

波次释放时,WMS 将波次内任务按“拣选路径最短”排序,再批量下发给 WCS。注意:波次只影响释放时机和顺序,不改变任务本身的起点、终点和库存分配结果。

五、任务拆分与合并的边界

一个业务单据可能生成多条任务,也可能多条单据合并为一条任务。判断依据是:

  • 拆分:当单库位库存不足、或容器容量限制、或需要跨区搬运时,必须拆成多条任务。
  • 合并:当多个出库行指向同一库位、同一容器、同一目标站台时,可合并为一条“多行任务”,减少 AMR 往返次数。

合并的前提是不破坏库存分配的独立性——每条明细仍需保留自己的分配记录,以便后续回写和差异追溯。

教学示例:某仓库 A-01-03 库位有 SKU-1001 共 120 件,订单 X 需 100 件,订单 Y 需 50 件。系统先为 X 分配 90 件(剩余 30 件被 Y 预占),X 剩余 10 件从 B-02-01 补足;Y 的 50 件中 30 件来自 A-01-03、20 件来自 B-02-01。最终生成 4 条任务明细,但可合并为 2 条搬运任务(按起点库位合并),分别发往同一出库站台。

六、任务状态与异常处理

任务生成后进入状态机:待分配 → 已分配 → 执行中 → 已完成,异常时进入挂起或取消。常见异常包括:库存被冻结、目标库位被占用、AMR 故障导致任务超时。WMS 需要提供“任务重分配”能力:将挂起任务重新走一遍库存分配和库位推荐,而不是简单重发原任务。判断任务是否真正完成的依据是 WCS 回传的到位确认 + 库存事务回写成功,两者缺一不可。

综上,WMS 任务生成机制的本质是:用库存分配锁定资源,用优先级决定顺序,用波次聚合效率,用状态机保证闭环。只有这四者协同,出库、入库、移库、盘点、补货才能从业务单据稳定转化为 AMR 可执行的任务流。