4. 生产系统功能层级与数据流

ISA-95 的核心贡献之一,是把制造企业的信息系统按“时间尺度”和“决策职责”切成五个功能层级。理解这五层,关键不是背名字,而是看清每一层“管什么时间窗、做什么决策、和上下层交换什么数据”。一旦层级职责混淆,接口边界就会模糊,最终表现为数据重复录入、口径不一致、系统之间互相推责。

五层功能定义与时间尺度

Level 0 是物理生产过程本身:传感器、执行器、电机、阀门、物料在物理世界中真实发生的状态变化。它没有“软件功能”,但它是所有数据的源头。Level 1 是传感与执行层,负责把物理量转换为电信号、把控制输出转换为动作,典型设备是变送器、I/O 模块、变频器、伺服驱动。Level 2 是控制层,承担毫秒到秒级的闭环控制与联锁,典型对象是 PLC、DCS 控制器、安全仪表系统。Level 3 是制造运行管理层,时间尺度从分钟到班次,负责工单执行、批次管理、物料追溯、设备状态、质量判定,典型系统是 MES、WMS、LIMS。Level 4 是企业经营层,时间尺度从天到月,负责订单、采购、财务、库存计划、销售,典型系统是 ERP、SCM、CRM。

这里有一个常被忽略的判据:层级由决策时间窗决定,而不是由软件部署位置决定。一台运行在服务器上的排产算法,如果它按班次滚动、直接下发工单到产线,它属于 Level 3;如果它按周做产能规划、只输出计划量给 ERP,它属于 Level 4。把这条判据记住,接口边界识别就有了统一标尺。

ISA-95 五层功能与典型数据交换 Level 4 · 企业经营层(ERP / SCM) 时间尺度:天~月 | 职责:订单、采购、财务、库存计划、销售预测 决策:计划量、成本、交付承诺 Level 3 · 制造运行管理层(MES / WMS / LIMS) 时间尺度:分钟~班次 | 职责:工单执行、批次追溯、物料移动、质量判定、设备状态 决策:派工、放行、追溯 Level 2 · 控制层(PLC / DCS / SIS) 时间尺度:毫秒~秒 | 职责:闭环控制、联锁、顺序控制、PID 调节 决策:设定值、输出、报警 Level 1 · 传感与执行层(变送器 / I/O / 驱动) 时间尺度:微秒~毫秒 | 职责:信号采集、A/D 转换、功率输出 Level 0 · 物理生产过程(设备 / 物料 / 能量) 时间尺度:连续 | 职责:真实状态变化,所有数据的源头 计划/工单/配方 派工/参数/设定值 控制输出/指令 执行动作 产量/消耗/绩效 批次/质量/追溯 过程值/报警/状态 物理量/信号 接口边界 A:ERP ↔ MES(计划与执行的分界) 接口边界 B:MES ↔ 控制层(运行管理与实时控制的分界) 接口边界 C:控制层 ↔ 传感执行层(控制与信号的分界)

典型数据交换:每层之间到底传什么

Level 4 到 Level 3 的下行数据,核心是“要做什么”:生产订单、需求数量、交期、物料清单、工艺路线、成本中心。上行数据是“做成了什么”:完工数量、废品数量、实际消耗、工时、批次谱系。这一层的接口边界最容易出问题的地方是数量口径:ERP 关心的是“入库数量”,MES 关心的是“合格产出数量”,两者之间还夹着“返工数量”和“报废数量”。如果接口字段只写一个“数量”,对账时必然扯皮。工程上通常要求接口明确区分 plannedQty、producedQty、scrapQty、reworkQty 四个字段。

Level 3 到 Level 2 的下行数据,核心是“怎么做”:工单号、批次号、配方版本、设定值、设备选择、参数下装。上行数据是“做得怎么样”:过程值、报警、设备状态、批次开始/结束事件、实际工艺参数。这一层的关键边界是谁持有配方。ISA-95 的推荐做法是:配方的主数据在 Level 3 管理,Level 2 只接收“已下装的参数集”并执行。这样配方变更走 MES 审批流,控制器不承担版本管理职责。

Level 2 到 Level 1 的下行是控制输出,上行是过程变量。这一层通常由现场总线和 I/O 完成,接口边界相对清晰,但要注意信号质量位:一个 4-20mA 信号读到 3.8mA,是故障还是量程下限?质量位(Good/Bad/Uncertain)必须随值一起上传,否则 Level 3 拿到一个“看起来正常”的数值,会做出错误的质量判定。

接口边界识别的三个实操判据

第一个判据是时间窗归属。问一句:这个决策在多长时间内必须做出?如果答案是“本班次内”,它属于 Level 3;如果答案是“本周内”,它属于 Level 4。把时间窗写进接口文档,比写“由 MES 负责”更可执行。

第二个判据是数据主责方。每个关键数据对象只能有一个“主责系统”,其他系统只能引用或订阅。例如物料批次的主责方是 Level 3,Level 4 只接收汇总后的批次消耗;设备主数据的主责方通常是 Level 4 的资产模块,Level 3 只接收设备编号和位置。主责方不明确,就会出现两边都能改、两边都不认的局面。

第三个判据是异常回退路径。正常数据流容易画,异常路径才是接口设计的试金石。例如 Level 3 向 Level 2 下装配方时网络中断,控制器应该继续用上一版配方运行,还是停机等待?这个决策必须在接口边界上写清楚,并配套超时时间和默认动作。下面给出一个接口边界识别检查表的示例,可直接用于项目评审。

接口边界 下行关键数据 上行关键数据 主责方 异常回退
A:ERP ↔ MES 生产订单、需求数量、交期、BOM 版本 完工数量、报废数量、实际消耗、批次谱系 订单主责 ERP,执行主责 MES ERP 不可用时 MES 按已接收订单继续执行,完工数据本地缓存后补传
B:MES ↔ 控制层 工单号、批次号、配方版本、设定值 过程值、报警、设备状态、批次事件 配方主责 MES,实时控制主责 PLC/DCS 下装失败时控制器保持上一版配方,MES 产生下装异常告警
C:控制层 ↔ 传感执行层 控制输出、阀门指令、速度给定 过程变量、质量位、诊断状态 控制逻辑主责 Level 2,信号采集主责 Level 1 信号质量位为 Bad 时,控制层切手动并报警,不参与自动调节
评审提示:接口边界评审时,不要只问“数据传了吗”,要问三个问题——时间窗归属哪一层?主责方是谁?异常时默认动作是什么?这三个问题答不上来,接口就还没有设计完。

把五层功能和三条接口边界放在一起看,ISA-95 的价值就清楚了:它不是要求企业必须买五套系统,而是要求企业在做系统集成时,先明确每一层的决策职责和数据主责,再谈接口协议和报文格式。层级清晰之后,OPC UA、REST、数据库直连都只是实现手段;层级不清,再先进的协议也解决不了口径冲突。