4. 数字化对象建模基础
在工厂数字化中,我们并不是把现实世界“拍照”存进系统,而是把值得管理的事物抽象成可计算、可关联、可追踪的模型。对象建模就是这套抽象方法的核心。它回答四个问题:工厂里有哪些值得管理的事物?每个事物需要记录什么?事物之间如何关联?事物会经历哪些变化、由什么触发?
一、对象:从现实事物到可管理实体
对象是对现实世界中具有独立身份、需要被持续管理的事物的抽象。在工厂语境中,典型对象包括:设备(如注塑机、AGV、空压机)、物料(如原料批次、半成品)、订单(如生产工单)、人员(如操作工、维修工)、位置(如工位、库位)、工艺路线、质量检验单等。
判断一个事物是否应建模为对象,关键看三点:是否有唯一标识、是否需要独立记录状态与历史、是否会被其他对象引用。例如“温度”通常不是对象,而是设备对象的属性;“注塑机A01”则是对象,因为它有唯一编号、有运行状态、会被工单引用。
二、属性:对象的静态描述
属性描述对象的特征与参数。属性可分为三类:标识属性(如设备编号、物料批次号)、描述属性(如设备型号、额定功率、物料名称)、管理属性(如所属车间、责任人、启用日期)。属性设计要避免两个极端:过少导致无法区分和追溯,过多导致维护成本高、数据失真。
以注塑机为例,合理的属性集可包括:设备编号、型号、额定锁模力、所属产线、安装日期、当前状态、累计运行小时数。其中“当前状态”虽然会变化,但它描述的是对象在某一时刻的快照,仍属于属性;而状态的变化过程则由状态与事件机制管理。
三、关系:对象之间的连接
关系定义对象之间如何关联。常见关系类型包括:组成关系(产线由多台设备组成)、归属关系(设备属于某车间)、引用关系(工单引用物料批次)、时序关系(工序A先于工序B)。关系通常带有方向与基数,例如“一条产线包含1到N台设备”“一个工单引用1到N个物料批次”。
关系建模的价值在于:它让数据从孤立记录变成网络。当设备故障时,系统可以通过关系快速定位受影响的工单、物料批次和下游工序,而不是靠人工翻表。
四、行为、状态与事件:对象的动态面
行为是对象可以执行或接受的操作,如“启动”“停机”“报工”“质检”。状态是对象在生命周期中所处的阶段,如设备处于“待机、运行、故障、维修”之一。事件是触发状态迁移的外部或内部信号,如“按下启动按钮”“温度超限”“维修完成”。
三者关系可以概括为:事件触发行为,行为导致状态迁移。例如:设备当前状态为“待机”;操作工按下启动按钮(事件);系统执行“启动”行为;设备状态迁移为“运行”。这一机制是后续实现设备状态监控、OEE统计和异常报警的基础。
五、对象模型、数据模型与业务模型的关系
三者容易混淆,但职责不同。对象模型回答“工厂里有什么、它们如何关联、如何变化”,是面向业务语义的抽象;数据模型回答“这些对象在数据库中如何存储”,关注表结构、主外键、索引、数据类型;业务模型回答“这些对象在具体业务场景中如何协同”,关注流程、规则、角色和权限。
以工单为例:对象模型定义工单有编号、状态、计划数量、关联设备与物料;数据模型将其落地为工单表、工单设备关联表、工单物料明细表;业务模型则定义工单从“创建→派工→开工→报工→完工→关闭”的流转规则,以及谁在什么状态下可以执行什么操作。
三者的正确关系是:对象模型是骨架,数据模型是载体,业务模型是场景化应用。对象模型不稳定,数据模型和业务模型都会反复返工。因此在实际项目中,建议先梳理对象清单与关系,再设计数据表,最后配置业务流程。
六、一个可执行的建模检查清单
以下清单可直接用于工厂数字化项目初期的对象建模评审。每识别一个候选对象,逐项确认:
| 检查项 | 判断标准 | 示例(注塑机A01) |
|---|---|---|
| 唯一标识 | 是否有全局唯一编号 | 设备编号 EQ-A01 |
| 属性完整性 | 标识、描述、管理属性是否齐全 | 型号、锁模力、所属产线、责任人 |
| 关系明确 | 与哪些对象存在组成/归属/引用关系 | 属于注塑产线,被工单引用 |
| 行为可枚举 | 可执行操作是否可列出 | 启动、停机、报修、保养 |
| 状态可定义 | 生命周期状态是否互斥且可观测 | 待机、运行、故障、维修 |
| 事件可捕获 | 触发状态迁移的信号是否可采集 | 按钮信号、温度超限报警 |
掌握对象、属性、关系、行为、状态、事件这六个概念,以及对象模型、数据模型、业务模型的分工,就具备了把工厂现实转化为数字化系统的第一层能力。后续的设备建模、工单建模、物料追溯,都是这套方法在不同对象上的具体应用。