3. MES系统功能与数据模型

在ThingWorx与MES集成的语境下,理解MES不能停留在“它有哪些菜单”这一层,而要看清它内部由哪些核心模块构成、这些模块之间通过什么数据对象发生关系。MES本质上是围绕“工单”这一执行主线,把物料、BOM、工艺路线、设备与质量数据组织成一条可追溯的制造数据链。ThingWorx要接入的,正是这条链上的关键对象与状态变化。

一、核心模块与数据主线

典型MES可划分为计划排产、工单执行、物料与库存、工艺与BOM、设备管理、质量管理、数据采集与追溯等模块。它们并非彼此孤立,而是共享同一套主数据:工单是执行对象,物料是消耗与产出对象,BOM定义“用什么造”,工艺路线定义“按什么顺序造”,设备提供“在哪造”的资源约束,质量数据则记录“造得是否合格”。

从集成视角看,ThingWorx通常通过REST API、数据库中间表或消息队列与MES交互。例如,ThingWorx侧的设备状态变化需要写入MES的设备数据模型,而MES下发的工单状态又需要回传到ThingWorx的工单看板。因此,必须先明确各数据模型的主键、状态字段和时间戳,才能设计稳定的集成映射。

MES核心数据模型关系图 工单为主线,BOM/工艺/设备/质量围绕执行过程关联 工单 WorkOrder 工单号 | 产品编码 | 数量 状态 | 计划/实际时间 BOM 物料清单 父件编码 | 子件编码 单位用量 | 损耗率 版本 | 生效日期 工艺路线 Routing 工序号 | 工序名称 工作中心 | 标准工时 前后置关系 | 版本 物料 Material 物料编码 | 名称规格 批次 | 库存地点 可用量 | 冻结量 设备 Equipment 设备编号 | 名称 所属工作中心 状态 | 节拍 质量数据 Quality 检验单号 | 工单号 检验项 | 实测值 | 判定 缺陷代码 | 处置方式 消耗/引用 按序执行 领料/入库 资源占用 检验触发 集成要点:工单号、物料编码、工序号、设备编号、检验单号是ThingWorx与MES映射的关键主键

二、工单模型:执行状态的载体

工单是MES执行层最核心的对象。一个工单通常包含工单号、产品编码、计划数量、已完工数量、工单状态、计划开始/结束时间、实际开始/结束时间、优先级等字段。状态机一般经历“创建→下达→开工→完工→关闭”,部分场景还有“暂停”“取消”。

在ThingWorx集成中,工单状态是触发业务逻辑的关键。例如,当MES中工单状态由“下达”变为“开工”时,ThingWorx可自动向对应设备下发配方参数;当工单完工时,ThingWorx汇总设备采集的产量与MES报工数量进行比对。示例映射可设计为:MES字段 WO_STATUS 取值 RELEASED、STARTED、FINISHED,分别映射到ThingWorx工单Thing的 status 属性值 released、running、done。这种映射必须在集成前以表格形式固化,避免状态语义漂移。

三、物料与BOM模型:定义消耗关系

物料主数据描述“有什么”,BOM描述“产品由哪些物料按什么用量组成”。BOM通常按父件、子件、单位用量、损耗率、版本、生效日期组织。一个工单下达后,MES根据产品编码和BOM版本展开物料需求,生成领料清单。

实际集成中,ThingWorx侧常需要根据BOM计算理论消耗,再与设备实际消耗对比,识别异常损耗。例如某工单计划生产100件,BOM中某子件单位用量为2.5,损耗率3%,则理论需求为 100 × 2.5 × (1 + 0.03) = 257.5,取整258件。若设备实际领用270件,则偏差约4.8%,可触发ThingWorx告警。这里的关键是BOM版本必须与工单绑定,否则用量基准会错。

四、工艺路线模型:定义执行顺序

工艺路线描述产品经过的工序序列,每个工序包含工序号、工序名称、工作中心、标准工时、前后置关系等。工单执行时,MES按工艺路线逐工序派工、报工和检验。工艺路线与BOM共同构成“怎么做、用什么做”的制造知识。

在ThingWorx中,工艺路线可用于驱动设备侧的顺序控制。例如工序10为“上料”,工序20为“焊接”,工序30为“检测”,ThingWorx可依据当前工序号切换设备参数组。若MES报工显示工序20完成,ThingWorx即可解锁工序30的检测程序。这种联动要求工序号在MES与ThingWorx中保持同一编码体系。

五、设备与质量数据模型:记录资源与结果

设备模型记录设备编号、名称、所属工作中心、状态、节拍、可用率等。质量模型记录检验单号、工单号、检验项、实测值、判定结果、缺陷代码和处置方式。两者通过工单号与工序号关联,形成“哪台设备、在哪道工序、产生了什么质量结果”的追溯链。

ThingWorx接入设备数据时,通常将设备实时状态(运行、停机、故障)写入MES设备状态表,同时把质量检验结果从MES拉取到ThingWorx质量看板。例如,当某工序连续3件判定为不合格时,ThingWorx可自动触发停线指令并通知MES冻结该工单后续报工。这种规则需要明确质量判定字段的取值约定,如 PASS、FAIL、REWORK。

集成设计建议:先梳理MES侧工单、物料、BOM、工艺路线、设备、质量六类对象的主键与状态字段,再在ThingWorx中建立对应的Thing模板与属性映射,最后通过服务编排实现状态同步与异常联动。主键不一致是集成失败最常见的原因。

六、数据模型之间的关联与集成检查

六类模型并非平铺,而是以工单为中心:工单引用BOM确定物料需求,引用工艺路线确定工序顺序,工序绑定工作中心与设备,执行过程中产生质量数据。ThingWorx集成时,应重点检查以下关系是否闭合:工单号能否关联到具体BOM版本;工序号能否关联到设备编号;质量检验单能否回溯到工单与工序;物料批次能否追溯到消耗工单。

一个可执行的检查清单如下:确认工单状态字段取值集合;确认BOM版本与工单绑定关系;确认工艺路线工序号编码规则;确认设备编号与工作中心对应关系;确认质量判定字段与缺陷代码字典;确认所有时间戳时区一致。完成这些检查后,再进入接口开发与联调,可显著降低返工成本。

掌握这些数据模型及其关系,是后续在ThingWorx中构建工单看板、设备OEE、质量追溯和物料消耗分析的基础。只有模型对齐,集成后的数据才具备业务意义,而不是一堆无法解释的字段。