工厂里的工业软件怎么咬合:ERP、PLM、MES、APS、SCADA、WMS 的边界与数据流

工厂里的工业软件怎么咬合:ERP、PLM、MES、APS、SCADA、WMS 的边界与数据流

一、800 万信息化,月底还是 Excel 对账

老周在苏州开了一家 300 人的精密机加工厂,给医疗器械和新能源车做配套。去年他痛下决心"搞数字化",一年内上了四套系统:一套 ERP 管进销存和财务,一套 MES 管车间报工,一套 WMS 管立体库,产线上还装了 SCADA 采集机床状态。连软件带硬件带实施,花了 800 多万。

年底我去他厂里喝茶,问他效果怎么样。他给我看财务月底的工作桌面:一张巨大的 Excel,左边是 ERP 导出来的入库单,中间是 MES 导出来的报工记录,右边是 WMS 的库存余额,小姑娘正在一行行 vlookup。

"四个系统四个数,"老周叹气,"ERP 说仓库有 1200 件,WMS 说 1170 件,MES 说这单已经完工 1300 件。谁对谁错,没人说得清。"

我打开他的系统架构图看了一眼,问题一目了然:四套系统都上线了,但它们之间没有咬合。ERP 下了工单直接丢给车间纸质流转,MES 的报工不回写 ERP,WMS 的入库和 ERP 的采购到货是两条独立的流水,SCADA 采上来的机床数据只在一块大屏上闪烁,谁也不用。

这不叫数字化,这叫把原来的信息孤岛从 Excel 搬进了浏览器。

后来我帮不少制造企业做过系统规划和自研落地,越来越确信一件事:工厂里的工业软件,单看每一套都不难讲清楚,真正难的是它们之间的边界和数据流。这篇文章我就把这件事一次说透——从经营层到设备层,每一层管什么、不管什么,数据怎么一层一层流下去、再一层一层回上来。

二、一张分层图:工厂软件的四层金字塔

我习惯把工厂里的软件分成四层。越往上越偏"经营和钱",越往下越偏"动作和设备"。

层级系统核心对象时间粒度使用者
经营决策层ERP、全面预算、BI订单、采购单、库存账、应收应付、成本天 / 月老板、财务、商务
协同设计层PLM、SCM/供应链计划、CRM、SRMBOM、图纸、工程变更、需求预测、供应商周 / 项目研发、工艺、采购、计划
生产执行层MES、APS、WMS、QMS、TMS工单、排程、库位、批次、质检单、运单小时 / 班车间主任、计划员、仓管、质检
设备控制层SCADA、DCS、PLC、设备网关、时序库传感器点位、设备状态、工艺参数秒 / 毫秒设备、自动化工程师

这个分层有一个朴素的判断标准:数据沿着金字塔往下走是"指令",往上走是"事实"。

销售订单进了 ERP,MRP 跑出物料需求和建议工单,这是指令往下;APS 把工单排成机台和班次的甘特图,MES 把工序派到工位,这还是指令往下;PLC 控制机床动作,这是指令落到物理世界。然后机床的转速、产量、报警通过 SCADA 采上来,MES 据此做报工和进度追踪,WMS 确认入库,ERP 据此结转成本、确认收入——这是事实往上。

四层之间最忌讳两件事:越界和断层。

越界是指上面的系统想管下面的事——比如有人想在 ERP 里排产到具体机台、想在 MES 里做财务凭证。短期看是"一个系统全搞定",长期一定做成谁都用不好的四不像。断层就是老周厂这种:层与层之间靠人工和 Excel 搬运,指令传着传着变形,事实报上来已经是几天前的旧账。

三、逐个数:每层系统到底管什么

1. ERP:企业的"账本",不是车间的"指挥棒"

ERP(Enterprise Resource Planning)的核心是三个字:单、账、钱。

  • 单:销售订单、采购订单、生产工单(注意,是工单的"账",不是工序级执行)。
  • 账:库存台账(进、销、存三栏账)、应收应付、固定资产。
  • 钱:成本核算、收入确认、财务凭证、月结报表。

ERP 的库存账是财务视角的数量账,回答"账上应该有多少",它并不关心货在仓库的哪个库位、是哪个批次、质检放行了没有。后者是 WMS 和 QMS 的事。同理,ERP 里的生产工单只回答"要生产什么、多少数量、物料清单是什么",至于这道工序先上哪台机床、换型要多久、插单怎么重排,ERP 不该管——那是 APS 和 MES 的地盘。

我自研进销存的时候给自己立过一条规矩:ERP 的任何一张单据,都必须能推导出财务分录。采购入库对应暂估应付和存货增加,销售出库对应成本结转,生产领料对应存货从原材料转到在制品。凡是不能映射到钱的操作,就不该进 ERP,让它待在执行层。

商业软件里 SAP Business One、用友 U9、金蝶云星空都在这一层;预算有限又想把代码攥在自己手里的,开源方向有 Odoo 和 ERPNext。

2. PLM:产品数据的"源头"和变更的"指挥部"

PLM(Product Lifecycle Management)管的是产品从概念到停产的全部工程数据:物料与图纸、EBOM/MBOM、工艺路线、工程变更单(ECO)、版本和生命周期状态。

PLM 的产出是工厂里几乎所有下游系统的"主数据源头":

  • 一个新物料,在 PLM 里立项、挂图纸、定规格,审批发布后才允许同步给 ERP 成为可采购、可库存的物料;
  • 一张设计 BOM 在 PLM 里成型,工艺工程师在它的基础上加工成制造 BOM,再下发给 ERP 跑需求、给 MES 做执行;
  • 一次工程变更(比如把某个零件的材质从 ADC12 换成 A380)在 PLM 里走完评审,发布动作像 Git 的 merge 一样把变更合并到主干,然后推送到 ERP、MES、QMS,触发旧料停采、在制品甄别、检验标准更新。

一句话:PLM 回答"产品应该是什么样",ERP 回答"为了做出来要花多少钱、进多少料",MES 回答"此刻正在怎么做、做到了哪一步"。很多小厂没有独立 PLM,把 BOM 和图纸塞在 ERP 里管,产品简单时能凑合,一旦进入多品种、多版本、频繁变更的阶段,ERP 的 BOM 没有严格的版本和生效期概念,必然乱套。

3. APS:把"要做什么"变成"几点在哪台机上做"

ERP 跑出的工单只有数量和交期,APS(Advanced Planning and Scheduling,高级计划排程)要解决的是一个带约束的优化问题:有限产能下,把每道工序排到具体设备、具体班次,满足交期同时尽量少换型、少等待。

它要建模的约束包括:设备日历(这台注塑机周三保养)、人员班次、模具和治具的共用关系、产品换型矩阵(浅色转深色清洗 2 小时,深色转浅色 4 小时)、物料齐套情况、工序前后置关系。然后用构造启发式或者求解器(我做 APS 时用的是 Timefold Solver)先排出一个可行解,再迭代优化。

APS 的排程结果是 MES 的派工依据,也是 ERP 交期承诺的依据。销售在 ERP 里接单时问"这单 20 号能不能交",靠谱的答案不是拍脑袋,而是 APS 根据当前负荷算出的可承诺交期(ATP/CTP)。

4. MES:车间执行的"黑盒记录仪"

MES(Manufacturing Execution System)是指令下沉和事实上报的枢纽。从 APS/ERP 接到工单后,MES 负责:

  • 派工和开工报工,过站扫描(上料、开工、完工、入库四个节点);
  • 执行层工艺控制:电子 SOP、扭矩/温湿度等关键参数的强制采集;
  • 在制品(WIP)追踪、批次/序列号谱系(哪批成品用了哪批原材料);
  • 与 QMS 联动:首检、巡检、终检的结果决定批次放行还是隔离;
  • 与 SCADA 联动:自动计数、设备状态(运行/空闲/报警/保养)、节拍和 OEE 计算。

ERP 的粒度是"工单",MES 的粒度是"工序 + 批次 + 过站事件"。这是两者最本质的区别。一张 1000 件的工单,在 ERP 里只有一行;在 MES 里可能是 3 道工序、5 次过站、2 万条扫码记录。

5. WMS、QMS、TMS:执行层的三个专科

  • **WMS(仓储管理)**管"货在物理空间的位置和动作":库位、上架策略、波次拣货、先进先出、盘点。ERP 库存账和 WMS 库存的关系是"账与物":WMS 确认实物入库后,ERP 才记存货增加。
  • **QMS(质量管理)**管"合格与否的判定和证据链":检验标准(IQC/IPQC/OQC)、不良代码、8D 报告、批次追溯。QMS 不放行,WMS 不能把货从待检区移到合格库位,这道卡口必须硬。
  • **TMS(运输管理)**管"出厂之后的物理移动":运单、调度配载、在途轨迹、回单和运费结算。电商和流通企业重 TMS,工厂里它往往只在发货环节被用到。

6. SCADA:设备与数字世界之间的"翻译官"

SCADA(Supervisory Control And Data Acquisition)通过 OPC UA / Modbus / 西门子 S7 等协议从 PLC、传感器采数据:温度、压力、转速、电流、报警码、计数器。典型架构是"边缘网关采集 → 消息队列削峰 → 时序数据库(TDengine/InfluxDB)存储 → 看板和上层规则消费"。

SCADA 不直接产生业务单据,它的价值是把"人说做了 1000 件"变成"设备记了 1000 件,其中 980 件节拍正常、20 件发生在报警后"。MES 的自动报工、OEE、安灯报警,都依赖这层数据喂上来。没有 SCADA 的 MES,所有数据靠人手敲,可信度和实时性都要打折。

四、主干数据流:一张订单的完整旅程

把上面这些系统串起来,跟着一张客户订单走一遍,咬合关系就全清楚了。

  1. 接单(ERP/CRM):销售订单录入 ERP,做可用量和信用检查。复杂离散制造还会调用 APS 做交期承诺。
  2. 需求与计划(ERP + APS):MRP 依据 BOM、库存、在途采购展开物料需求,产生采购建议和计划工单;APS 对工单做有限产能排程,排出机台级甘特图。
  3. 备料(WMS + ERP):按排程结果生成备料波次,WMS 拣货、齐套检查,ERP 做领料出库、存货从原材料转在制。
  4. 派工执行(MES + SCADA):MES 把工序任务派到工位,电子 SOP 下发;SCADA 采集设备状态与参数,自动过站报工,进度和异常实时可见。
  5. 质量卡口(QMS):首检通过才允许批量生产,巡检异常触发安灯,终检合格的批次才允许入库,不合格的隔离评审。
  6. 成品入库(WMS → ERP):WMS 确认实物上架,回传 ERP 完工入库,存货从在制转产成品。
  7. 发运(WMS + TMS):按销售订单波次拣货发货,TMS 调度车辆、追踪在途、收回单。
  8. 结算(ERP):出库结转主营业务成本,开票确认收入,采购入库做暂估和发票结算,月结出三大报表。
  9. 变更随时切入(PLM):贯穿全程——任何工程变更从 PLM 发起,发布后更新 ERP 物料/BOM、MES 工艺和在制品甄别规则、QMS 检验标准。

注意第 6 步的方向:是 WMS 确认事实,ERP 记账,而不是反过来。老周厂里账实不符,根子就是把这个顺序做反了——ERP 凭采购单做账,实物到没到、质检过没过,账上不管。

五、最容易打起来的三个系统边界

落地的时候,冲突永远发生在边界上。我见过最多的是这三处。

边界一:PLM ↔ ERP——BOM 和物料到底谁说了算

最常见的乱象是物料号两边各建一套:研发在 PLM 里建了一个物料,采购嫌同步麻烦在 ERP 里又建了一个,规格描述差两个字,系统认为是两个东西,于是同一物料有两笔库存、两个价格。

正确的原则只有一条:单一数据源。物料和 BOM 的创建权、版本权在 PLM,ERP 是消费方;PLM 发布 = 对下游的契约,ERP 只接收已发布版本,并保留生效期和失效期。这一块展开讲能说很多,我单独写过一篇《PLM 和 ERP 到底谁管 BOM》细聊。

边界二:ERP ↔ MES——工单、领料和报工的对账

ERP 工单下达到 MES 后,执行过程中一定会出现偏差:领多了、退料了、部分入库了、返修拆批了。如果 MES 不按事件实时回写,月底就是 ERP 在制品成本一笔糊涂账。

可靠的做法是单据级集成而不是结果级集成:领料、退料、补料、工序外协、按订单或批次的完工入库,每一笔执行动作都生成带时间戳的事务流水回传 ERP,ERP 的成本卷积只认这些流水。月底对账时,ERP 在制金额必须能拆到每一张未关闭工单。

边界三:MES ↔ SCADA——"设备说的"和"系统记的"谁说了算

自动计数对不上人工报工是常态:空转打了计数件、调试件被计入良品、报警后自动产出的零件要不要算。这里需要的是规则层:SCADA 只负责如实上报原始信号(计数脉冲、报警区间、程序号),MES 根据明确的业务规则折算有效产出,并且所有折算规则可视化、可追溯。千万别在 SCADA 侧写业务逻辑,那会变成没人敢动的黑盒。

六、给选型的企业:别信"一体化",按节奏长出来

最后说点掏心窝的选型建议。

第一,别一上来就买全家桶。 软件厂商最爱讲"一体化平台打通数据孤岛",但一体化的另一面是每个模块都只有 60 分,而且你被一家锁死。系统应该按企业当下最痛的环节逐个上:贸易型企业先把 ERP 的进销存和财务跑通;有工厂的先上 WMS 或 MES 解决账实和追溯;多品种小批量、交期总出问题的再上 APS;研发驱动、变更频繁的才需要 PLM。

第二,每上一个系统,先想清楚它和相邻系统的接口,再签合同。 我的清单是四个问题:主数据谁是源头、单据怎么传、多久传一次、对不上以谁为准。这四个问题没有答案,宁可推迟上线。

第三,数据流要自动化,但第一版允许简陋。 消息队列、事件总线听起来很美,但很多小厂第一步用定时任务 + 一张接口表(staging table)就够了——源系统写入,目标系统消费,每条记录带状态和重试次数,出问题能查能补。简陋但可靠,远胜于优雅但没人敢信。

第四,SCADA 和设备联网是体力活,预算要留足。 协议适配、边缘网关、老旧设备改造,这部分没有捷径,也别指望软件供应商送。

这两年我自己陆陆续续把这条链路上的系统都动手实现了一遍:电芯工厂的 MES、数字孪生巡检、ERP 进销存与订单中台、SCADA 采集平台、APS 智能排产、QMS 质量追溯、WMS 仓储、TMS 运输调度,直到基于 Cascadia PLM 的产品生命周期管理和基于 frePPLe 的供应链计划。写完这一圈最大的体会是:工业软件没有黑魔法,它的复杂度几乎全部来自边界——物料在 PLM 和 ERP 之间的边界、账与物的边界、指令与事实的边界。

把边界划清楚、把数据的方向和口径定下来,800 万的信息化才不会变成 800 万的 Excel 搬家。