特性规则创建说明¶
在模型管理中,特性规则 是用于定义模型之间或模型内部数据映射和转换的规则,确保数据能够正确传递和使用。
本文介绍创建特性规则的应用场景、创建原则及示例。
关键概念 ¶
了解以下概念有助于理解特性规则的作用:
设备:能够通过网络传输数据并与物联网平台交互的实体,数据的字段命名和格式由设备厂商决定。
模型:屏蔽设备差异和复杂业务逻辑,在不同场景中可承担不同用途。
继承链:模型间的父子级关系链路,例如:
A1为父模型,A1-1为其子模型,A1的祖父模型和A1-1的子孙模型都在同一继承链上。表达式:数据映射的计算逻辑。在跨模型特性规则中,根据数据的传输方向,表达式可分为:
上行表达式:“映射模型 → 当前模型”的映射逻辑,例如设备测点上送时,接入模型向业务模型的映射逻辑。
下行表达式:“当前模型 → 映射模型”的映射逻辑,例如云端控制命令下发时,业务模型向接入模型的映射逻辑。
有关表达式的更多信息,参见 特性规则表达式说明。
何时需要创建特性规则¶
特性规则分为两类:
默认规则:模型内的特性规则,用于轻量级计算与字段增强,适用于在同一模型内对原始字段做轻量处理。
示例:通过规则
power_kW = power_W / 1000,可将功率字段power_W转换为power_kW,完成单位换算。跨模型规则:当不同模型共享同一设备数据时,需要在模型间做字段映射与语义转换。
示例:设备通过模型 A 接入,而终端应用消费模型 B 的数据,此时为模型 A 与模型 B 建立映射,使应用能以模型 B 的语义消费设备数据。
跨模型规则创建原则¶
创建跨模型特性规则时,需遵循以下原则:
父模型先行
单向配置,双向映射
在目标模型中配置映射规则,在同一规则中配置上下行表达式,避免双向链路混淆。
例:如需把
A1.temperature映射到B1.roomTemp,需进入 B1 的特性规则配置页,选择 A1 为映射模型,新增规则并填写上下行表达式。
避免重复映射
字段兼容
字段类型、语义需兼容(例如数值型映射到数值型),并符合数据方向(上行/下行)要求。
例:设备上报
power(W),业务模型需Power(kW),规则表达式里用Power = power / 1000来兼容语义与单位。
来源唯一:一个目标字段只能有一个上游来源,避免二义性与竞争。
示例¶
默认规则示例¶
设备字段:
voltage(电压,单位 V)current(电流,单位 A)
模型 A 字段:
voltage:与设备一致current:与设备一致power_W(功率,单位 W)
此时在模型 A 中配置默认特性规则,表达式为:
power_W = voltage * current
跨模型规则示例¶
设备端字段:
voltage(电压,单位 V)current(电流,单位 A)P_set(设定功率,单位 W,支持写入)
模型 A 字段:
voltage:与设备一致current:与设备一致P_set_W:与设备一致power_W(功率,单位 W):默认规则power_W = voltage * current
模型 B 字段:
power_KW(功率,单位 kW)powerSetpoint_kW(设定功率,单位 kW)
此时在模型 B 中创建跨模型特性规则:
上行表达式:
power_kW = A.power_W / 1000下行表达式:
A.P_set_W = B.powerSetpoint_kW * 1000
创建后,数据将按照特性规则传递:
上行:
设备上送数据:voltage = 500 V, current = 10 A
↓
模型 A:power_W = 500 * 10 = 5000 W(模型内规则)
↓
模型 B:power_kW = 5000 / 1000 = 5 kW(跨模型上行表达式)
下行:
模型 B:powerSetpoint_kW = 6(应用下发控制命令)
↓
模型 A:A.P_set_W = 6 * 1000 = 6000 W(跨模型下行表达式)
↓
设备接收控制:P_set = 6000 W
通过以上配置,设备上送 voltage 与 current 时,系统与应用即可获得 power_kW;当应用下发 powerSetpoint_kW 时,设备能收到对应的 P_set。上行与下行均在同一条规则中得到维护。


