← 制造业系统 / 系统拆解

工业数据平台、数字孪生与 Agent 接入

从一座可旋转的示意工厂出发,梳理工业数据平台如何保留原始事件、关联设备与工单、构建带时间的孪生视图,并说明 Agent 查询证据和执行业务动作的边界。

打开工厂三维页面,点中一台机床,看见“运行中”。接着追问:它正在加工哪个工单?刚才的停机影响了哪些在制品?旁边那批料能不能投产?画面上的绿色,很快就不够用了。

上一篇补齐了人员、文件和服务记录。本篇把前面各系统的数据接到同一组工厂对象上,讨论工业数据平台如何保存和解释这些记录,以及 Agent 可以怎样使用它们。先从下面这座小工厂看起。布局、设备、编号和后文事件均为教学示意,页面没有连接现场系统。

从工厂区域找到业务对象

这座工厂分为收货、仓储、加工、装配、质检、包装发运和公用工程七个区域。选择区域可以查看对应系统和业务对象;拖动可旋转,滚轮可缩放,也可以切到俯视布局。手机上可直接使用区域按钮阅读说明。

示意工厂的七个区域独立窗口浏览 ↗
参考本地 Factory Twin 2.0 的设备几何与布局表达制作。只提供浏览和区域选择,未接入实时状态;设备模型沿用 MIT 许可。

区域提供入口,单据解释发生了什么

模型中的收货区标识为 RCV,加工区为 MCH。这些标识让区域按钮、地面色块和说明指向同一个对象。实际接入时,还需要把空间对象映射到企业已有的工厂、车间、工作中心、库位和设备主数据。

区域需要关联的对象需要回到原系统确认的问题
收货到货单、物料批次、来料检验单到货是否登记,是否允许入可用库存
仓储库位、容器、库存状态物料是否冻结,是否已被任务占用
加工设备、工单、工序、采集点当时执行什么任务,停机属于哪个区间
装配序列号、组件批次、BOM 版本实际投入哪些组件,采用什么执行依据
质检样品、检验任务、结果、量具结果是否有效,是否已经完成处置或放行
包装发运包装单元、发运单、运单是否装车,是否交接,是否签收
公用工程设备、供能回路、计量点服务哪些区域,能耗按什么边界计量

空间模型适合展示位置、邻近关系和区域归属。业务关系还包括“这批料投入了哪个序列号”“这个工单采用哪个工艺版本”。它们需要单独的数据记录,不能靠设备放得近、输送线画得相连来推断。

微软的 Azure Digital Twins 对象图说明把孪生对象及其关系组织成图。这里借用对象与关系的表达方式;本站的小模型只做区域浏览,尚未实现状态同步、历史回放或工厂仿真。

模型版本和对象身份分开维护

假设设备 EQ-CNC-01 从加工区西侧搬到东侧。设备身份保持不变,位置关系从搬迁生效时刻开始变化。查询搬迁前的工单时,应能找到当时的区域和位置。

反过来,同一个模型位置换了新设备,也不能沿用旧设备的维修历史。空间网格、渲染节点名、设备资产号和采集点地址各有用途。映射表至少记录对象 ID、来源系统、来源键、关系类型、生效区间和映射版本;不能把三维引擎自动生成的节点编号直接当作企业设备编码。

原始事件进入平台以后怎样保真

工业数据平台通常要处理设备采样、报警、业务变更、文件和历史批量数据。它们的粒度和时效不同:温度测点每秒可能产生多条记录,质量处置可能几小时才发生一次,工艺文件还带着批准版本和适用范围。

接收时间不能覆盖发生时间

设一个独立模拟事件:EQ-CNC-01 在 09:12:04 报告停机,边缘网络中断,平台到 09:14:20 才收到。若按接收时间关联工单,就可能把停机算到下一项任务。

原始记录应保留源事件 ID、来源标识、源时间、接收时间、值、单位、质量码和载荷版本。设备时钟是否可靠也需要记录;没有可信源时间时,可以采用明确的替代规则并标注不确定性,不能悄悄补出一个看似精确的发生时刻。

OPC UA 的 SourceTimestamp 定义说明了源侧时间戳的含义,并要求转发相同数据值时保留原源时间。具体接入仍要确认设备、网关和连接器实际提供了哪些字段。

数据层保留内容修正方式
原始事件源载荷、来源、接收信息、质量标记保留原记录,追加修正依据
标准化数据单位换算、字段映射、时间处理结果保存处理规则版本,可从原始数据重算
业务关联结果设备、工单、工序、批次及关联区间映射变更后重建受影响范围
展示投影区域当前状态、摘要、异常提示可重新生成,保留数据截止时间

“当前没有新值”与“设备已经停止”是两种情况。读数过期时,页面应显示数据截至何时、是否失联或质量不确定;上一条正常读数不能无限期显示为当前正常。质量码异常的值也不能不加区分地参加业务指标计算。

重复、乱序和补传要有处理规则

边缘补传和消费者重试会带来重复记录。可优先用来源与源事件 ID 去重;没有稳定 ID 的采样源,需要结合来源序列号等字段设计策略。简单地按“设备加时间”去重,可能吞掉同一时刻的不同事件。

乱序事件进入后,当前状态更新和历史区间重算要分开。09:12 的停机迟到,不能覆盖 09:20 已经确认的开机状态,但它可能改变 09:12 至 09:20 的历史停机区间。衍生指标需标明本次计算的截止时间和规则版本,让后续修正有迹可查。

时序库适合保存和查询采样序列,事件库保留业务变化,文件或对象存储承载文档与大载荷。平台可以组合这些存储能力;是否需要数据湖、流计算或图数据库,要由查询量、数据规模、历史重算和关系查询需求决定。

孪生视图如何关联生产上下文

同一条停机信号,要回答“影响哪张工单”,至少还要知道设备身份、任务执行区间和当时有效的映射。原始信号与上下文是两路输入,任何一路缺失都应在结果中体现。

现场事件与生产上下文独立窗口查看 ↗
点击节点查看关联路径;使用动态按钮播放数据流。该图为接入设计示例,工厂模型尚未连接这些数据。

按发生时刻关联任务

继续使用上述模拟事件。MES 记录设备在 09:00 至 09:13 执行 WO-TWIN-001 / OP020,09:13 后切到另一项任务。平台拿 09:12:04 的源时间去匹配执行区间,再检查设备映射在该时刻有效,才能把这次停机列入第一项任务的影响分析。

如果 MES 的两项任务区间重叠,关联结果应标成冲突;如果设备时钟偏差大到跨过换单边界,则标成待核对。自动挑一张工单虽然能让报表变得整齐,却会把数据问题转成错误的生产结论。

这里得到的是停机与任务的时间关联。是否造成产品缺陷,还需要工艺条件、物料暴露区间、质量结果和处置判断。不能仅凭停机发生在加工期间,就自动把整张工单判为不合格。

投影负责读,原系统负责业务状态

孪生视图可以把设备、工单、区域和质量提示合成一个查询结果,同时保存每项信息的来源、版本和更新时间。读者点开异常时,应能追到 MES 执行记录、QMS 处置依据或 EAM 维修工单。

微软的数据进出说明也将外部事件接入、孪生更新与向外部服务传递数据分开处理。三维页面只是其中一个消费者;分析报表和 Agent 可以读取同一套有来源的业务投影。

当 QMS 将某批料冻结,平台可以更新相关区域和库存的提示。解除冻结仍需经 QMS 的业务入口完成。直接改三维对象上的 status,最多改变显示属性,不能据此宣称质量业务已经完成变更。

Agent 沿着证据查询与提出动作

一个适合先接入的问题是:“加工区刚才的停机可能影响了哪些工单?有哪些记录还需要核对?”查询目标明确,结果可以由人检查,也能暴露平台在身份映射、时间和证据完整性上的缺口。

查询结果同时带回出处和时效

Agent 接收问题后先确定用户身份、工厂和数据范围,再调用受限查询工具。工具返回结构化对象、证据链接、时间区间、数据质量和缺失项。即使检索到了文档,也要检查它的版本和适用范围。

一次回答可以分成三部分:已查到的关联记录、根据这些记录作出的推断、仍然缺失的依据。例如“停机事件与工单时间区间重合”属于查询结果,“该工单可能延迟”属于推断,“尚缺本班次剩余产能”属于缺失条件。不要把三者揉成一个确定结论。

Agent 的证据与动作入口独立窗口查看 ↗
普通查询返回证据与解释。涉及状态变更的建议需要经过独立执行核验,拒绝条件和回执处理见图中说明。

查询权限不自动延伸到执行权限

读取维修记录和创建维修工单是不同动作。若希望 Agent 提交维修申请,应通过业务系统提供的受控命令入口,明确目标设备、理由、请求 ID、预期对象版本,以及该动作要求的审批依据。

执行前再核对一次权限与当前状态。模型生成建议之后,设备可能已恢复,工单可能已关闭,原授权也可能失效。业务入口应在这些条件不满足时拒绝请求,并返回可解释原因。

对存在审批要求的动作,审批记录要覆盖本次对象、动作和有效期;不能把聊天中的一句泛化认可当成所有后续动作的授权。查询工具也应在服务端限制工厂、字段和租户范围,不能把过滤完全交给模型。

执行超时后先按请求 ID 查询回执。只有确认未执行且重试条件满足时才重试;使用幂等机制防止重复创建。没有回执就说明结果待核对,避免将“工具调用已发出”写成“业务已完成”。生产控制和设备安全联锁继续由其专用控制链路承担,本篇的 Agent 接入范围是业务查询和经核验的业务命令。

从一个区域验证整条链路

落地时可以先选加工区的一台设备、一类停机事件和一项查询。先把身份、时间、质量码、工单区间及证据入口接通,再扩大到库存、质量和能耗。首轮验收用已知结果的模拟记录和受控样本,比只看三维页面是否会变色更容易定位问题。

验收场景应看到的结果
相同源事件重传两次原始接收可追踪,业务结果不重复计数
停机消息晚于恢复消息到达当前状态保持恢复,历史停机区间补齐
设备跨区域搬迁当前视图使用新位置,历史任务仍可追到旧归属
工单执行区间重叠关联结果提示冲突,不静默任选一条
源时间不可信或读数过期显示质量与时效问题,不继续显示确定的正常状态
用户查询权限不足工具层拒绝越权范围,不把数据交给模型后再过滤
建议提交后对象版本变化执行前核验拒绝,要求重新评估
执行超时并重复提交按请求 ID 查回执,幂等处理,未知结果明确标识

本页现有的区域 ID 和设备模型,可以作为后续接入的小样本。下一步若加入状态展示,先为一个对象补上来源、时间和质量信息;随后再让区域说明链接到可核对的业务记录。每增加一种颜色或一个指标,都应能回答它依据哪条记录、何时有效、由哪个系统负责。

系列入口:制造业系统数据地图 · 全部文章与规划