去年我去一家做机械加工的客户现场做调研,车间的信息化负责人问了我一个问题:好不容易把ERP跑顺了,为什么还要折腾MES、WMS、EMS、SRM,甚至连WCS都拉了进来?当时我没直接回答,而是带他到原料仓门口站了十分钟。
仓管员正拿着一沓纸质领料单,在几十个货架中间来回跑。ERP里的库存数字看上去挺准,但那是昨晚关账后的结果;现场真正能用的料在哪一排货架、哪个托盘上、哪一批次先到,系统里根本查不到。生产计划员早上排的工单,到了下午因为缺料又要重排。车间主任手里的“数字化”是一块大屏,大屏上只有设备开了几台,至于这台设备正在加工哪个工单、耗了多少电、什么时候该保养,又是一堆Excel。
这就是大多数制造业工厂的真实状态。上了ERP不代表车间就数字化了,采购下了单不代表物料就真的能准时出现在工位上。要让一张销售订单从供应商送货、入库上架、工单领料、生产报工、能源消耗、设备维保,一直到成品出库这些环节都串成一条不断线的数据链,光靠一套软件是不够的,得有分工明确又能互相协作的系统组合——MES管生产执行,WMS管仓储账实,WCS管自动化设备动作,EMS管能源和设备状态,SRM管供应商协同。把它们集成在一起,这件事本身就值得好好聊一聊。
1. 为什么一套ERP不够,还要搬出MES、WMS、EMS、SRM和WCS
1.1 一个看似能算出“库存”的系统,却算不出“此刻车间能用哪一托料”
我见过不少企业,选型的时候觉得ERP大而全,恨不得把车间执行、仓库库位、设备点检全部塞进去。结果用下来发现,ERP的逻辑天生是“事后记账”和“周期结算”,它适合回答“这个月总共发了多少料、产生了多少成本”,但不适合回答“现在3号产线的这个工单,还需要什么料、料在哪个巷道、AGV几分钟能送到”。
比如说ERP里的库存,通常是一个物料号加一个工厂加一个库存地点的汇总数量。它不知道这批料拆成了多少个批次,有的批次带有出厂检验报告,有的是供应商特采放行,有的快过保质期了。而车间现场最关心的恰恰是批次、库位、状态这些细颗粒度信息——这正好是WMS的地盘。
同样道理,ERP里的生产工单虽然下达到了车间,但工单在哪个工序、哪个工位、哪台设备上执行到什么程度,操作工有没有按工艺参数作业,首检记录在哪儿,ERP不关心,也管不过来。这些事归MES管。
而能源消耗、设备运行状态、什么时候该做预防性维护,传统ERP里的设备模块往往只是一个资产台账,根本没有任何实时数据。车间想搞懂“这个订单到底耗了多少电、设备空转浪费了多少”,就得靠EMS配合设备层的数据采集来解决。供应商送货的协同,以及仓库收货时怎么跟采购订单对上账,这就是SRM和WMS在接口层面要做的事。
所以答案很清楚:不是ERP不行,而是每个系统的“管理颗粒度”不一样。智能工厂需要的不是用一套大软件包打天下,而是把MES、WMS、EMS、SRM、WCS这些不同颗粒度的系统,按业务逻辑组合成一个整体。
1.2 先给五套系统画一张“责任田”地图
我每次做方案,都会先逼客户团队用一张表把系统的边界写清楚。这张表看起来简单,但它能避免后面至少一半的扯皮。
| 系统 | 核心管理对象 | 一句话定位 | 主要用户 |
|---|---|---|---|
| MES | 工单、工序、工艺、质量 | 管车间“这单怎么干、干到哪、干得怎么样” | 计划员、车间主任、工艺员 |
| WMS | 库位、批次、库存、出入库单据 | 管“料在哪儿、账实是否一致、先出哪批” | 仓管员、物流主管 |
| WCS | 堆垛机、AGV、输送线、RGV | 管“用什么设备、走什么路径、怎么动作” | 自动化设备运维 |
| EMS | 水电气、设备状态、维护计划 | 管“能耗多少、设备健康度、何时保养” | 能源管理员、设备科 |
| SRM | 供应商、询报价、采购订单、送货协同 | 管“向谁买、什么时候送、送了没有” | 采购员、供应商 |
这张表不是随便写写的。实际调研时你会发现,很多工厂的MES项目做到一半,突然发现WMS也要跟着改,因为MES工单领料的料号、批次和WMS出库的批次对不上;EMS项目看着要上线了,但设备启停的事件没有从MES同步过来,能耗根本分摊不到工单上。系统边界画得越早,后面集成就越顺。
我曾经在一个项目里见过一个特别典型的案例:客户上线了WMS之后,觉得自动化立库的堆垛机已经“被管起来了”,于是没上WCS,让WMS直接跟PLC通信。结果WMS每下发一个指令,底层PLC就把整个巷道停下,等完成后再去执行下一条。仓库作业慢得像蜗牛,调度策略完全展不开。后来我才帮他们补上了一层WCS,把任务的拆解、优先级和路径规划从WMS里剥了出来,才算真正跑通。
这个案例说明什么?系统不是越多越好,而是每个系统的职责要单一、边界要清晰。WMS管好“账”和“策略”,WCS管好“动作”和“执行”,分层协作才是自动化仓储的正道。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 一体化集成架构的搭建思路:先从分层开始
2.1 数据流先画出来,再谈接口怎么连
很多人在设计集成架构时,第一反应是问“MES和WMS是API直连还是走中间表”,这其实问早了。真正该先做的是画业务数据流——把一张采购订单从SRM进来之后,到最终变成MES里的成本归集,中间经过哪些系统、每一步产生的关键数据是什么、谁需要消费这些数据,全部画清楚。
我习惯把集成架构分成三层来看:
- 管理层:ERP、SRM,主要处理采购计划、供应商协同、财务成本。
- 执行层:MES、WMS,主要处理生产工单、出入库单据、质量数据、库存状态。
- 设备与采集层:WCS、PLC、传感器、智能仪表、EMS采集网关,主要处理设备动作、实时状态、能耗数据。
这里最容易犯的错误,是把执行层的系统直接跟设备层的PLC点对点相连。MES里产生了一个叫料信号,不要直接通过Socket发给某台AGV,更不要直接写PLC寄存器。正确做法是:MES把叫料需求发给WMS,WMS生成拣货/出库任务,再传给WCS,由WCS结合当前设备忙闲状态去调度具体的车辆。每一层只跟相邻层打交道,这样任何一层调整都不会牵连全局。
设备数据也一样。EMS要采集几十台设备电流、电压、功率,不会让每台设备直接跟EMS数据库建
