模型与资产建模¶
在 EnOS 中,建模是将资产进一步抽象为数字化对象的关键步骤。模型通过定义资产的特征和行为,将物理世界与数字平台连接起来,支持数据管理与业务应用。根据业务需求,资产可以抽象为设备资产或逻辑资产,本文将详细介绍其设计与实现方式。
设计模型¶
模型通过 属性、测点 和 命令 反映物理资产的特征和功能:
模型要素 |
定义 |
现实映射 |
示例 |
---|---|---|---|
属性 |
资产的静态信息,在运行中很少变化。 |
物理资产的基本信息或固定参数,通常由制造商或安装时确定。 |
型号、安装位置、额定功率 |
测点 |
资产运行时产生的动态时间序列数据,用于监控和分析。 |
物理资产的运行状态或环境数据,通常由传感器采集。 |
风速、温度、电流 |
命令 |
资产可响应的控制指令或操作,可能是一个简单的动作,或一系列复杂的逻辑。 |
物理资产的可执行功能或行为,通常与执行器相关。 |
启动电机、关闭设备 |
抽象资产¶
按照是否对应一个物理设备,资产分为设备资产和逻辑资产。以下表格对比了两者的区别:
维度 |
设备资产 |
逻辑资产 |
---|---|---|
对应的现实对象 |
物理设备 |
业务实体或聚合对象 |
数据来源 |
直接来自设备传感器 |
聚合或计算得出 |
模型来源 |
设备模型,取决于硬件特性 |
业务模型,取决于业务需求 |
以风机为例,从外观看,风机是一个整体,而风机内部包含了许多设备。在物联网平台上,可根据业务需求选择将风机抽象为设备资产,还是抽象为逻辑资产。下表有助于你选择合适的抽象方式:
考虑因素 |
定义为设备资产 |
定义为逻辑资产 |
---|---|---|
管理粒度 |
整体管理,不关注内部组件 |
精细化管理,关注内部组件 |
数据需求 |
只需整体数据(如发电量、风速) |
需要组件单独数据(如发电机温度) |
控制需求 |
整体控制(如启停风机) |
组件独立控制(如调整叶片角度) |
维护需求 |
整体维护,不关注组件故障 |
组件独立维护,关注组件故障 |
系统复杂度 |
简单,适合小型风电场 |
复杂,适合大型风电场 |
设备资产和设备模型¶
将风机定义为一个独立的设备,意味着风机作为一个设备实例,绑定一个模型,风机内部的组件(如发电机、叶片、传感器等)的数据将作为该设备的属性、测点或命令。
在这种场景下,你只需要准备 1 个风机模型,该模型示例如下:
属性 |
测点 |
命令 |
---|---|---|
|
|
|
逻辑资产与业务模型¶
将风机定义为设备的组合,意味着风机是一个逻辑资产,绑定一个业务模型。而其内部的发电机、叶片、传感器等则作为独立设备,分别绑定设备模型。每个模型都定义了各自的属性、测点和命令。同时,风机模型和这些设备模型的数据之间存在映射关系。
在这种场景下,风机对应 1 个业务模型,内部组件(假设有发电机、叶片、传感器 3 类组件)分别对应 1 个设备模型,因此你需要设计 4 个模型,以及这 4 个模型之间的映射关系。
1. 设计业务模型
业务模型定义风机的全局特性。以下是 1 个风机业务模型的示例:
属性 |
测点 |
命令 |
---|---|---|
|
|
|
2. 设计设备模型
每个子设备都有自己的模型,定义了各自的属性、测点和命令。这些子设备的模型可以通过 添加组件 的方式聚合到风机中,也可以通过 创建资产树 的方式,构建拓扑结构的同时保留设备的独立性。
以下是 3 个设备模型的示例:
设备模型 |
属性 |
测点 |
命令 |
---|---|---|---|
发电机 |
|
|
|
叶片 |
|
|
|
传感器 |
|
|
|
3. 配置映射规则
无论你将 3 类设备设为组件,还是资产树的子节点,你都可以在风机模型中为属性和测点 配置特性映射规则。以下是风机模型与 3 个设备模型之间的映射关系示例:
风机模型的特性 |
设备模型的特性 |
特性映射规则 |
---|---|---|
属性:风机编号 |
无 |
无,逻辑资产自有属性 |
属性:地理位置 |
无 |
无,逻辑资产自有属性 |
属性:安装日期 |
无 |
无,逻辑资产自有属性 |
属性:发电机型号 |
发电机属性:发电机型号 |
风机.发电机型号 = 发电机.型号 |
属性:叶片数量 |
叶片属性:叶片数量 |
风机.叶片数量 = 叶片.数量 |
属性:传感器类型 |
传感器属性:传感器类型 |
风机.传感器类型 = 传感器.类型 |
测点:全场发电量 |
发电机测点:发电机功率 |
风机.全场发电量 = SUM(发电机1.功率, 发电机2.功率, …, 发电机N.功率) |
测点:全场风速 |
传感器测点:风速 |
风机.全场风速 = AVG(传感器1.风速, 传感器2.风速, …, 传感器N.风速) |
测点:全场振动频率 |
叶片测点:叶片振动频率 |
风机.全场振动频率 = MAX(叶片1.振动频率, 叶片2.振动频率, …, 叶片N.振动频率) |