跳到主要内容

3.2 属性

属性定义了元素的可测量特性。它是物理资产行为与 TDengine TSDB 中存储数据之间的桥梁——将原始数值转化为有名称、有类型、有物理单位的工程量。

3.2.1 什么是属性

属性是元素的一个命名特性,用于保存或引用某个值。对于泵元素,属性可能包括流量、出口压力、电机温度和运行状态;对于智能电表,属性可能包括电流、电压、功率和设备 ID。

属性为原始数据赋予了上下文。用户和应用程序无需通过技术字段名查询数据库列,而是可以在清晰的资产层次结构中,通过有意义的属性名来引用数据。

3.2.2 属性类型

数据引用类型决定了属性值的来源。共有四种类型:

TDengine 指标

引用 TDengine TSDB 表中的指标列(时序测量列)。属性值随新数据写入而实时更新。适用于随时间变化的值,如温度、压力、流量、电流、电压等。

数据引用设置的格式为:

连接名/数据库名/表名/列名

示例:TDengine/idmp_sample_utility/em-12/current

TDengine 标签

引用 TDengine TSDB 表中的标签值。标签是附加在表上的静态元数据字段(如设备 ID、位置或安装楼层)。适用于值来源于 TSDB 标签而非时序列的属性。

格式与 TDengine 指标相同:

连接名/数据库名/表名/标签名

示例:TDengine/idmp_sample_utility/em-17/location

公式

计算型属性,其值由引用同一元素其他属性的表达式推导得出。表达式会被转换为 TDengine SQL 表达式,并在 TDengine TSDB 上执行。输出必须为数值类型。

示例表达式:

log(current) * voltage + 10

可使用特殊替换参数 TIME,它会被替换为当前本地时间对应的毫秒数。您可以在表达式编辑器中点击评估,在保存前测试并验证公式。完整的表达式编辑器说明请参见 3.2.9 节

备注

公式属性只能引用同一元素的属性。如需使用其他元素的值,请在当前元素上新增一个属性,使其指向相同的数据源。

字符串构建器

与公式类似,但输出为字符串。输入可以是当前元素的任意属性(不限于数值类型)。常用函数包括:

  • CONCAT(...) — 拼接多个字符串
  • SUBSTR(str, start, length) — 截取子字符串
  • CAST(value AS varchar) — 将非字符串类型转换为字符串

TIME 外,字符串构建器还支持更多替换参数,例如当前元素名、当前属性名和模板名。

示例表达式:

备注

不能使用加号拼接字符串,请使用 CONCAT() 函数。CONCAT() 的每个参数都必须是字符串类型,请先使用 CAST() 将数值属性转换为字符串再传入 CONCAT()

3.2.3 属性特性

每个属性都具有以下可配置特性:

基础字段

特性说明
名称属性在其元素内的唯一名称
描述对该属性所测量或代表内容的可读说明
类别用于在属性选项卡中对属性进行分组和筛选的一个或多个标签
值类型值的数据类型:FloatDoubleIntBigIntTinyIntSmallIntBoolNcharVarcharTimestamp
默认值当数据源无可用数据时返回的值
计量单位分类物理量类别(如电流、温度、压力)。选择计量单位分类后,默认计量单位和显示计量单位的可用选项会相应筛选。
默认计量单位属性值存储时使用的单位(如安培、°C、bar)
显示计量单位在面板和仪表板中显示值时使用的单位,可以与默认计量单位不同——IDMP 会自动进行换算。
显示精度显示值时保留的小数位数
数据引用类型属性值的来源:TDengine 指标、TDengine 标签或无(参见 3.2.2
数据引用设置指向 TDengine TSDB 数据源的路径,格式为 数据库/表名/列名
路径属性在资产模型中的完整路径(只读,自动生成)

极限值配置

为属性定义运行阈值。每个极限值有名称和数值:

极限值含义
最小值物理上可能或可接受的最低值
低低限低低报警阈值——严重低值状态
低限低报警阈值——警告低值状态
目标值期望的设定点或正常运行值
高限高报警阈值——警告高值状态
高高限高高报警阈值——严重高值状态
最大值物理上可能或可接受的最高值

每个极限值还有一个可选的属性字段——您可以将极限值关联到另一个属性而非固定数值,从而实现基于实时状态动态变化的极限值。

预测配置

为该属性配置基于 AI 的预测:

选项说明
TDgpt使用 TDengine 内置的时序预测引擎(TDgpt)预测未来值
外部通过已配置的端点连接外部预测服务
不启用预测(默认)

附加特性

用于存储属性自定义元数据的自由键值对(如仪表标签、校准日期、传感器型号)。点击 + 添加新条目。

配置标志

标志说明
常量将该属性标记为常量——其值不随时间变化
隐藏在默认属性列表中隐藏该属性。隐藏属性仅在启用显示隐藏属性开关时可见。
不包含将该属性排除在分析和 AI 生成洞察之外

3.2.4 浏览属性

查看某个元素的属性:

  1. 在元素树中选中该元素。
  2. 在元素详情面板中点击属性选项卡。

属性列表显示:名称、描述、当前值、值类型、数据引用类型、最后更新时间和数据引用设置。

使用类别下拉框按类别筛选。开启显示隐藏属性可查看标记为隐藏的属性。

点击任意属性名称可打开其详情视图。

3.2.5 创建属性

为元素新增属性:

  1. 选中元素并点击属性选项卡。
  2. 点击工具栏中的 + 图标(属性选项卡右上角)。
  3. 填写属性表单:
    • 输入名称描述
    • 选择值类型,如需要可设置默认值
    • 选择计量单位分类,然后选择默认计量单位显示计量单位
    • 设置显示精度
    • 选择数据引用类型并输入数据引用设置路径。
    • 可选择展开并配置极限值配置预测配置附加特性
    • 根据需要设置配置标志(隐藏、不包含)。
  4. 点击保存

3.2.6 编辑属性

编辑属性有两种方式:

方式一:从属性详情视图编辑

  1. 点击列表中的属性名称,打开其详情视图。
  2. 点击工具栏中的编辑图标(铅笔)。
  3. 修改所需字段后点击保存

方式二:从属性列表的 ⋮ 菜单编辑

  1. 在属性列表中,点击属性行上的 菜单。
  2. 选择编辑
  3. 修改所需字段后点击保存

3.2.7 删除属性

删除属性有两种方式:

方式一:从属性详情视图删除

  1. 点击属性名称,打开其详情视图。
  2. 点击右上角工具栏中的删除图标(垃圾桶)。
  3. 确认删除。

方式二:从属性列表的 ⋮ 菜单删除

  1. 在属性列表中,点击属性行上的 菜单。
  2. 选择删除并确认。
注意

删除属性会从 TDengine IDMP 中移除其配置及所有关联元数据。TDengine TSDB 中的底层时序数据不受影响。引用了被删除属性的仪表板、分析或事件规则可能停止正常工作,需要相应更新。

3.2.8 其他属性操作

属性列表中的 菜单还提供以下操作:

操作说明
查看打开属性详情视图
复制复制属性配置。复制的属性可粘贴为同一元素或其他元素上的新属性。
上移 / 下移在列表中调整属性顺序
添加到趋势图快速将该属性添加到新的趋势图面板
历史值查看该属性的历史时序数据

3.2.9 表达式编辑器

表达式编辑器是 IDMP 中凡需配置表达式的地方都会用到的共用 UI 组件——包括公式和字符串构建器属性定义、分析输出属性,以及分析触发条件(预过滤和事件窗口表达式)。点击表达式输入框时,它会以弹窗形式打开。

表达式的使用场景

使用位置用途
公式属性 — 数据引用设置定义由同一元素其他属性推导而来的计算属性值
字符串构建器属性 — 数据引用设置通过字符串函数组合属性值,构建字符串
分析 — 输出属性,表达式列每次分析触发时,计算并写入元素或事件属性的结果
分析 — 触发条件,预过滤在触发条件评估前过滤数据行
分析 — 事件窗口触发,开始/结束条件定义事件窗口的开启和关闭时机

表达式编辑器布局

弹窗分为三个面板:

属性面板(左侧) — 浏览并将元素属性插入表达式。属性按以下分组展示:

分组内容
指标时序指标属性(如电流、电压、功率)
标签标签(维度)属性——静态元数据字段
其他属性元素上定义的其他属性
替换参数系统级替换值,如 TIME(当前本地时间毫秒数)、当前元素名、属性名和模板名

顶部的过滤输入框可按名称搜索。点击属性或参数,将其插入表达式的光标位置。

表达式编辑器(中间) — 用于编写表达式的代码编辑器。顶部的运算符快捷栏提供常用运算符的一键插入:

+  -  *  /  =  <  >  >=  <=  !=  <>  &  |

函数面板(右侧) — 按类别浏览并插入函数。过滤输入框可按函数名搜索。点击函数名将其插入表达式的光标位置。

函数分类

分类示例函数
数学函数ABS, CEIL, FLOOR, ROUND, SQRT, LOG, POW, SIN, COS, ...
字符串函数CONCAT, LENGTH, LOWER, UPPER, SUBSTR, TRIM, LTRIM, RTRIM, ...
转换函数CAST, TO_ISO8601, TO_TIMESTAMP, ...
时间和日期函数NOW, TODAY, TIMEZONE, TIMETRUNCATE, ...
聚合函数AVG, COUNT, SUM, STDDEV, STDDEV_POP, PERCENTILE, SPREAD, ELAPSED, HISTOGRAM, ...
选择函数MAX, MIN, FIRST, LAST, LAST_ROW, TOP, BOTTOM, UNIQUE, MODE, SAMPLE, ...
时序专用函数MAVG, DERIVATIVE, DIFF, IRATE, CSUM, INTERP, TWA, STATECOUNT, STATEDURATION, ...

评估表达式

在支持评估的场景(公式和字符串构建器属性定义)中,编辑器中间面板底部会显示评估按钮和评估结果区域。点击评估可对元素当前数据运行表达式,在保存前验证结果。

点击弹窗中的保存应用表达式,点击取消放弃更改。

3.2.10 属性模板

属性模板将一个标准属性——包括名称、数据类型、计量单位和数据引用绑定——定义为元素模板的一部分。从模板创建元素时,所有属性模板会自动实例化,替换字符串会解析为该元素的实际值。

创建属性模板

  1. 基础库中,打开要添加属性的元素模板。
  2. 点击模板详情页顶部的属性模板选项卡。
  3. 点击 + 打开属性模板创建表单。
  4. 填写属性字段并配置数据引用绑定(见下文)。

属性模板字段

字段说明
名称属性名称
描述可选描述
配置附加配置标志(如隐藏、常量)
类别类别标签
值类型数据类型:Float、Int、Varchar、Bool 等
默认值可选默认值
默认计量单位存储时使用的计量单位
显示计量单位UI 中显示时使用的计量单位(可与存储单位不同)
显示精度UI 中显示的小数位数
数据引用类型属性与 TDengine TSDB 数据的绑定方式(见下文)
数据引用设置解析后的绑定路径,如 TDengine/idmp_sample_utility/${KEYWORD1}/current
极限值配置可选的高/低报警阈值
预测配置可选的 TDgpt 预测配置

数据引用绑定

数据引用类型决定属性如何连接到 TDengine TSDB 中的时序数据:

数据引用类型用途
无 TSDB 绑定——属性仅保存静态或计算值。
TDengine 指标将属性绑定到 TDengine 超级表中的时序指标列。
TDengine 标签将属性绑定到 TDengine 超级表中的标签列。

选择 TDengine 指标TDengine 标签后,通过指定 TDengine 连接、数据库、子表名(使用 ${KEYWORD1} 等替换字符串,使每个元素绑定到各自的表)和列名来配置绑定。数据引用设置的形式为:

TDengine/<数据库名>/${KEYWORD1}/<列名>

点击检查可验证绑定是否能正确解析。