【MES系统】MES如何协同AGV与立体仓库?从ISA-95重新思考生产物流协同架构

【MES系统】MES如何协同AGV与立体仓库?从ISA-95重新思考生产物流协同架构 当立体仓库、AGV、加工设备都有自己的系统但彼此之间没有形成协同工厂的自动化程度可能很高生产物流却依然依赖人工。我们最近遇到的一个项目就是这样一个典型场景。一、一个真实的项目场景系统都自动化了物流却还靠人工客户厂区已经具备比较完整的自动化基础自动化立体仓库AGV无人搬运小车多条自动化加工产线MES生产管理系统但是目前这些系统基本都是独立运行的。立体仓库有自己的WMS/WCS系统。AGV有自己的RCS调度系统。加工设备由PLC和设备控制系统负责。每套系统本身都能够正常运行但系统之间没有形成完整的业务协同。目前实际的生产流程大致是生产人员查看生产任务 ↓ 人工确认生产需要什么物料 ↓ 人工在立体仓库系统中查找物料 ↓ 人工确认并执行出库 ↓ 人工通知AGV ↓ 人工给AGV下发运输指令 ↓ AGV将物料运输到生产设备 ↓ 设备开始生产所以虽然现场已经有立体仓库和AGV但整个生产物流过程仍然依赖人工将多个系统串联起来。客户希望实现的是MES产生生产任务后系统能够自动计算物料需求自动触发立体仓库出库再自动调度AGV将物料运输到指定生产设备最终形成完整的生产物流闭环。这时候问题就不再只是MES如何对接AGV而是MES如何把生产任务与仓储、物流、设备真正协同起来二、先用ISA-95确定系统的整体位置ISA-95可以简单理解为工业企业信息系统与自动化系统的分层参考模型。Level 4 ERP 企业经营管理 订单 / 采购 / 销售 / 财务 ↓ Level 3 MES / MOM 制造运营管理 生产计划 / 生产执行 / 质量 / 物料 ↓ Level 2 SCADA / DCS 生产过程监控与协调 ↓ Level 1 PLC / CNC 设备控制 ↓ Level 0 Physical Process 实际物理过程简单来说Level 4关注企业经营Level 3关注制造运营Level 2以下关注生产过程和设备控制。因此在这个项目中ERP 企业经营计划 ↓ MES 生产计划 / 生产执行 / 物料需求 ↓ SCADA / 产线控制 ↓ PLC / CNC ↓ 物理设备但实际项目比传统的MES设备架构复杂得多。因为现场还存在立体仓库 ↓ WMS / WCS AGV ↓ RCS 生产设备 ↓ PLC / 设备控制系统这些系统各自负责自己的专业领域但生产任务又需要同时驱动它们。因此我们认为这里真正缺少的并不是一个简单的接口而是Level 3制造运营管理层中的一个独立业务域——生产物流协同。三、生产物流协同应该属于Level 3而不是新增一个ISA-95层级这里需要特别说明生产物流协同不是ISA-95定义的一个新的Level。我们更准确的理解是生产物流协同属于ISA-95 Level 3制造运营管理层是MES/MOM体系中的一个独立业务域。重新来看整个架构┌──────────────────────────────────────┐ │ Level 4 │ │ ERP │ │ 企业经营管理 │ │ 订单 / 采购 / 销售 / 财务 │ └──────────────────┬───────────────────┘ ↓ ┌──────────────────────────────────────┐ │ Level 3 │ │ Manufacturing Operations │ │ 制造运营管理层 │ │ │ │ ┌──────────────┐ ┌───────────────┐ │ │ │ Production │ │ Production │ │ │ │ Operations │ │ Logistics │ │ │ │ 生产运营 │ │ Coordination │ │ │ │ │ │ 生产物流协同 │ │ │ └──────────────┘ └───────────────┘ │ │ │ │ 生产执行 / 质量 / 物料 / 维护等 │ └──────────────────┬───────────────────┘ ↓ ┌──────────────────────────────────────┐ │ Level 2 │ │ 执行与监控系统 │ │ │ │ WCS / RCS / SCADA / DCS │ │ 立库执行 / AGV调度 / 产线监控 │ └──────────────────┬───────────────────┘ ↓ ┌──────────────────────────────────────┐ │ Level 1 │ │ PLC / CNC │ └──────────────────┬───────────────────┘ ↓ ┌──────────────────────────────────────┐ │ Level 0 │ │ 设备 / AGV / 堆垛机 / 物理过程 │ └──────────────────────────────────────┘这里的核心变化是生产物流协同不再被理解成MES和AGV之间的一个接口层而是Level 3制造运营管理体系中的一个业务能力域。它与生产运营、质量运营、维护运营等能力一样属于制造运营管理的一部分。它解决的是生产任务产生的物流需求如何跨越仓储、运输、缓存和设备实现全过程协同。四、生产物流协同到底负责什么我们可以把几个系统的职责简单划分为MES 负责 生产什么 什么时候生产 生产多少 生产物流协同 负责 需要什么物料 什么时候需要 从哪里来 送到哪里 如何协调仓储、AGV和设备 WMS / WCS 负责 物料在哪里 如何完成仓储作业 RCS 负责 哪台AGV执行 如何完成运输 PLC / 设备控制系统 负责 设备如何动作因此生产物流协同的核心职责可以概括为将生产任务产生的物料需求转化为可执行的物流任务并协调仓储、运输、缓存和生产设备完成物料配送。例如MES产生一个生产任务生产任务P001 产品产品A 数量1000件 生产设备产线01MES根据BOM计算出物料A 数量1000kg 批次B001 需求时间10:00 目标位置产线01生产物流协同将其转换成物流任务L001 物料A 批次B001 数量1000kg 来源立体仓库 目标产线01 需求时间10:00接下来MES ↓ 生产物流协同 ↓ WMS / WCS 完成出库 ↓ RCS 调度AGV ↓ AGV 完成运输 ↓ 生产设备 确认物料到位 ↓ MES 继续生产执行这样MES关注的是生产任务而生产物流协同负责把生产任务背后的物料需求真正落实下来。五、为什么不应该让MES直接管理AGV和立体仓库如果没有独立的生产物流协同能力最简单的做法就是让MES直接对接所有系统MES │ ┌──────────────┼──────────────┐ ↓ ↓ ↓ AGV 立库 设备 │ │ │ RCS WCS PLC项目初期看起来很简单。但随着系统不断增加MES很快就会出现AGV接口 WMS接口 WCS接口 RCS接口 PLC协议 设备协议 缓存区逻辑 物流调度逻辑 异常重试逻辑最终MES会逐渐变成一个巨大的系统集成中心。而生产物流相关的业务逻辑也会不断侵入MES。最终可能变成MES ├── 生产管理 ├── 生产执行 ├── 质量管理 ├── 物料管理 ├── AGV调度逻辑 ├── 立库业务逻辑 ├── 物流任务逻辑 ├── 缓存区管理 ├── 设备配送逻辑 └── 各种设备接口这显然不是一个理想的架构。因此我们更倾向于MES 生产运营 ↓ 生产物流协同 物流业务协同 ↓ WMS / WCS / RCS / 设备系统 具体执行这样MES负责生产运营生产物流协同负责物流运营下面的系统负责具体执行。六、生产物流协同的业务架构从业务架构来看可以设计成MES │ 生产任务 / 物料需求 │ ↓ ┌──────────────────────┐ │ 生产物流协同 │ │ │ │ 物流需求管理 │ │ ↓ │ │ 物流任务编排 │ │ ↓ │ │ 任务调度与协同 │ │ ↓ │ │ 任务状态管理 │ │ ↓ │ │ 异常处理与重试 │ └──────────┬───────────┘ │ ┌──────────────┼──────────────┐ ↓ ↓ ↓ WMS/WCS RCS 设备系统 立体仓库 AGV 生产线 │ │ │ ↓ ↓ ↓ 仓储执行 物流运输 生产执行核心业务流程是生产任务 ↓ 物料需求 ↓ 生成物流任务 ↓ 仓储出库 ↓ AGV运输 ↓ 物料配送 ↓ 设备接收 ↓ 任务完成 ↓ 反馈MES生产物流协同层负责的是整个任务生命周期。例如CREATED ↓ WAITING_WAREHOUSE ↓ WAREHOUSE_EXECUTING ↓ READY_FOR_TRANSPORT ↓ WAITING_AGV ↓ AGV_EXECUTING ↓ ARRIVED ↓ DELIVERED ↓ COMPLETED如果发生异常EXECUTING ↓ FAILED ↓ RETRY ↓ EXECUTING这样MES不需要理解WMS、WCS和RCS内部复杂的状态只需要知道这批物料是否已经按照生产需求完成配送。七、进入技术架构设计业务架构确定以后下一步就是技术架构。我们不建议让MES直接连接所有系统而是将生产物流协同作为独立的技术能力建设。整体技术架构可以设计为┌─────────────────────────────────────────────┐ │ Business Layer │ │ 业务系统层 │ │ │ │ ERP MES │ │ │ │ │ │ └────────┬───────┘ │ │ ↓ │ │ 生产任务 / 物料需求 │ └─────────────────┬───────────────────────────┘ ↓ ┌─────────────────────────────────────────────┐ │ Production Logistics Platform │ │ 生产物流协同平台 │ │ │ │ ┌─────────────────────────────────────┐ │ │ │ Logistics Demand │ │ │ │ 物流需求管理 │ │ │ └──────────────────┬──────────────────┘ │ │ ↓ │ │ ┌─────────────────────────────────────┐ │ │ │ Logistics Task Orchestration │ │ │ │ 物流任务编排 │ │ │ └──────────────────┬──────────────────┘ │ │ ↓ │ │ ┌─────────────────────────────────────┐ │ │ │ Task State Machine │ │ │ │ 物流任务状态机 │ │ │ └──────────────────┬──────────────────┘ │ │ ↓ │ │ ┌─────────────────────────────────────┐ │ │ │ Event Message Bus │ │ │ │ 事件与消息总线 │ │ │ └──────────────────┬──────────────────┘ │ └─────────────────────┼───────────────────────┘ ↓ ┌─────────────────────────────────────────────┐ │ Integration Layer │ │ 系统适配层 │ │ │ │ WMS Adapter RCS Adapter Equipment │ │ │ │ Adapter │ │ ↓ ↓ ↓ │ └──────┼─────────────┼─────────────┼──────────┘ ↓ ↓ ↓ WMS/WCS RCS PLC/设备 立体仓库 AGV 生产线这里最重要的设计思想是上层使用统一的物流任务模型下层通过适配器对接不同厂商的系统。例如统一定义LogisticsTask TaskId Material Batch Quantity Source Destination Priority RequiredTime生产物流协同平台只处理统一的业务模型。至于下面的系统使用什么协议WMS API WCS API RCS API HTTP MQTT OPC UA Modbus 厂商私有协议都由具体的Adapter负责。这样就可以把业务逻辑与系统集成逻辑彻底分离。八、最终形成完整的生产物流协同体系回到最初的项目。客户原来的模式是生产任务 ↓ 人工确认物料 ↓ 人工操作立库 ↓ 人工通知AGV ↓ 人工操作AGV ↓ 人工确认送达 ↓ 开始生产经过架构设计后可以变成ERP ↓ MES 生产计划与执行 ↓ ┌─────────────────────────┐ │ Production Logistics │ │ Coordination │ │ 生产物流协同 │ └────────────┬────────────┘ ↓ 统一物流任务 ↓ ┌───────────┼───────────┐ ↓ ↓ ↓ WMS/WCS RCS 设备系统 立体仓库 AGV 生产线 ↓ ↓ ↓ 自动出库 自动运输 自动生产 └───────────┼───────────┘ ↓ MES 状态反馈从ISA-95的角度来看生产物流协同属于Level 3制造运营管理层是MES/MOM体系中的一个独立业务域。从业务架构来看MES负责生产运营生产物流协同负责生产物流运营WMS/WCS、RCS和设备系统负责具体执行。从技术架构来看统一物流任务模型负责业务抽象状态机负责任务生命周期事件总线负责跨系统协同Adapter负责不同系统的协议适配。这样一来我们解决的就不再只是MES如何连接AGV而是进一步解决了如何让生产任务驱动仓储、物流和设备形成完整的生产物流闭环。这也是我们在实际项目中逐渐形成的一个思路当工厂从“设备自动化”走向“全流程自动化”时MES需要关注的已经不只是生产本身还需要向生产物流运营延伸。而生产物流协同可能正是MES/MOM在智能工厂中一个值得独立建设的业务能力域。最终形成ERP 企业经营 ↓ MES 生产运营 ↓ 生产物流协同 物流运营 ↓ WMS / WCS / RCS / SCADA 专业执行 ↓ PLC / AGV / 设备 现场控制让生产计划真正驱动物料流动让物料流动真正服务于生产。这可能就是生产物流协同最核心的价值。