Appearance
数据表结构
1、介绍
主要针对数据库表结构和字段进行说明。
openPlant 采用分层树形存储,层级自上而下:数据库根节点(DATABASE) → 业务节点(NODE) → 监测测点(POINT)
- NODE、POINT 属于静态元数据,创建后部分核心字段不可修改;
- Realtime、Archive、Alarm、AAlarm表存储动态时序数据和报警信息,随采集持续更新。
2、使用说明
| 表 | 描述 | SELECT | INSERT | UPDATE | DELETE |
|---|---|---|---|---|---|
| DATABASE | 数据库表 | √ | √ | √ | √ |
| NODE | 节点表 | √ | √ | √ | √ |
| POINT | 点表 | √ | √ | √ | √ |
| REALTIME | 实时数据表 | √ | √ | √ | × |
| ARCHIVE | 历史数据表 | √ | √ | √ | √ |
| STAT | 历史统计表 | √ | × | × | × |
| ALARM | 实时报警表 | √ | × | × | × |
| AALARM | 历史报警表 | √ | × | × | × |
3、点表:point
| 字段 | 类型 | 说明 | 样式 | 变更影响 |
|---|---|---|---|---|
| ID | int32 | 点标识 | 静态 | 无法变更 |
| UD | int64 | UUID | 静态 | 无法变更 |
| ND | int32 | 父节点标识 | 静态 | 无法变更 |
| PT | int8 | 点的来源 | 静态 | 无影响 |
| RT | int8 | 点的类型,0~7分别对应:AX/DX/I2/I4/R8/Long/Text/Blob | 静态 | 无法变更 |
| PN | char(32) | 点名,支持数字、字母和特殊字符-、特殊字符#、特殊字符_、特殊字符:和特殊字符@ | 静态 | 无法变更 |
| AN | char(32) | 别名 | 静态 | 无影响 |
| ED | char(60) | 描述 | 静态 | 无影响 |
| KR | char(16) | 特征字 | 静态 | 无影响 |
| SG | binary(4) | 安全组 | 静态 | 无影响 |
| FQ | int16 | 分辨率 | 静态 | 影响超时状态 |
| CP | int16 | 处理器 | 静态 | 无影响 |
| HW | int32 | 模块地址 | 静态 | 无影响 |
| BP | int16 | 通道号 | 静态 | 无影响 |
| LC | int8 | 报警类型 | 静态 | 影响报警 |
| AP | int8 | 报警优先级 | 静态 | 影响报警 |
| AR | int8 | 存档 | 静态 | 影响历史存储 |
| FL | int32 | 标志位 | 静态 | 影响实时处理 |
| ST | char(6) | 值为1时的描述 | 静态 | 无影响 |
| RS | char(6) | 值为0时的描述 | 静态 | 无影响 |
| EU | char(12) | 单位 | 静态 | 影响显示 |
| FM | int16 | 显示小数位 | 静态 | 影响客户端显示 |
| IV | float | 初始值 | 静态 | 未启用 |
| TV | float | 量程上限 | 静态 | 影响显示 |
| BV | float | 量程下限 | 静态 | 影响显示 |
| LL | float | 报警低限 | 静态 | 影响报警 |
| HL | float | 报警高限 | 静态 | 影响报警 |
| ZL | float | 报警低2限 | 静态 | 影响报警 |
| ZH | float | 报警高2限 | 静态 | 影响报警 |
| L3 | float | 报警低3限 | 静态 | 影响报警 |
| H3 | float | 报警高3限 | 静态 | 影响报警 |
| L4 | float | 报警低3限 | 静态 | 影响报警 |
| H4 | float | 报警高3限 | 静态 | 影响报警 |
| DB | float | 死区 | 静态 | 影响数据存储 |
| DT | int8 | 死区类型 | 静态 | 影响数据存储 |
| KZ | int8 | 压缩类型,0:死区压缩,1:线性压缩,2:无压缩 | 静态 | 影响数据存储 |
| KT | int8 | 计算类型,0:变化计算,1:每秒计算 | 静态 | 影响计算点 |
| CT | datetime | 修改时间 | 静态 | 无法变更 |
| EX | string | 计算表达式 | 静态 | 影响计算点 |
| KO | int8 | 计算顺序 | 静态 | 影响计算点 |
| GN | string | 全局名称 | 静态 | 无法变更 |
注:
1:PN规则适配数据库V5.0.6+和V4.0.24版本,更早版本不支持-。
点名合法字符包括:字母、数字、下划线_、中划线-、中冒号:、#号和@符号。
点名转换规则:
1)如果测点在外部系统的名称中包含各种特殊符号如:"'()[]{}!$%&*+<=>?^`~ 空格等,在将测点导入到openPlant时需要将特殊符号转换为_;
2)如果测点在外部系统的名称中包含各种特殊符号如:,;|./等,在将测点导入到openPlant时需要将特殊符号转换为:。
2:KO字段适配V5.0.10+版本。
3:RT测点数据类型枚举
| 值 | 类型名称 | 释义 |
|---|---|---|
| 0 | AX | 模拟量浮点数值 |
| 1 | DX | 数字开关量(0/1) |
| 2 | I2 | 16 位短整型 |
| 3 | I4 | 32 位长整型 |
| 4 | R8 | 双精度浮点 |
| 5 | LONG | 64 位长整数 |
| 6 | TEXT | 文本字符串测点 |
| 7 | BLOB | 二进制测点 |
4、点表:node
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int32 | 点标识 |
| UD | int64 | UUID |
| ND | int32 | 父节点标识 |
| PN | char(24) | 名称,支持数字、字母和支持数字、字母和特殊字符-、特殊字符#、特殊字符_、特殊字符:和特殊字符@ |
| ED | char(60) | 描述 |
| FQ | int32 | 分辨率 |
| LC | int32 | 报警类型 |
| AR | int8 | 存档 |
| OF | int8 | 离线 |
| CT | datetime | 修改时间 |
| GN | string | 全局名称 |
| 注: | ||
| 1:PN规则适配数据库V5.0.6+和V4.0.24版本,更早版本不支持-。 | ||
| 2:删除 NODE 节点时,会级联删除该节点下全部 POINT 测点。 |
5、实时表:Realtime
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int32 | 测点ID |
| GN | string | 测点名称,如W3.TEST.AX001 |
| TM | datetime | 测点更新时间 |
| DS | int16 | 测点状态 |
| AV | blob | 测点数值 |
6、历史表:Archive
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int32 | 测点ID |
| GN | string | 测点名称,如W3.TEST.AX001 |
| TM | datetime | 测点数据更新时间 |
| DS | int16 | 测点状态 |
| AV | blob | 测点数值 |
| MODE | hidden text | raw:原始值(加开始结束时间),arch:原始值, span:等间距, plot:绘图值, flow:流量值, max:最大值, min:最小值, avg:几何平均值, mean:算术平均值 |
| INTERVAL | hidden text | 时间间隔:1h,1m,1s |
| QTYPE | hidden tinyint | 质量过滤:0-不过滤,1-去除坏点, 2-去除超时,3-同时去除坏点和去除超时 |
注:
1:QTYPE 数据质量过滤规则
| 值 | 过滤规则 | 说明 |
|---|---|---|
| 0 | 不过滤 | 返回区间全部原始数据 |
| 1 | 剔除坏点 | 过滤 DS 异常状态的无效数据 |
| 2 | 剔除超时点 | 过滤采集超时失效数据 |
| 3 | 双重过滤 | 同时剔除坏点 + 超时数据 |
| 2:Archive表MODE 查询模式枚举 | ||
| 模式值 | 名称 | 返回数据规则 |
| :-: | :-: | :-: |
| raw | 原始插值模式 | 返回区间原始存储点 + 首尾线性插值补全 |
| arch | 归档原始模式 | 仅返回数据库真实存储的原始采集点,无插值 |
| span | 等间距插值模式 | 按 INTERVAL 间隔线性插值生成均匀时序数据 |
| plot | 绘图优化模式 | 原始点 + 区间极值点,适用于前端曲线渲染 |
| max/min | 极值模式 | 仅返回区间最大值 / 最小值单行记录 |
| mean | 算术平均 | 返回区间算术平均值 |
| avg | 几何平均 | 返回区间几何面积平均值 |
| flow | 积分流量 | 返回区间累计积分流量值 |
7、历史统计表:Stat
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int32 | 测点ID |
| GN | string | 测点名称,如W3.TEST.AX001 |
| TM | datetime | 测点更新时间,从1970-1-1到当前的秒数 |
| DS | int16 | 测点状态 |
| FLOW | double | 流量值(积分) |
| AVGV | double | 时均平均值 |
| MAXV | double | 最大值 |
| MINV | double | 最小值 |
| MAXTIME | datetime | 最大值时间 |
| MINTIME | datetime | 最小值时间 |
| INTERVAL | hidden text | 时间间隔:1h,1m,1s |
| QTYPE | hidden tinyint | 质量过滤:0-不过滤,1-去除坏点, 2-去除超时,3-去除1/2 |
8、报警表:Alarm(实时),AAlarm(历史)
| 字段 | 类型 | 说明 |
|---|---|---|
| ID | int32 | 测点ID |
| GN | string | 测点名称,如W3.TEST.AX001 |
| RT | int8 | 测点类型:AX,DX,I2,I4,R8 |
| AL | int8 | 报警优先级 |
| AC | int32 | 报警颜色 |
| TF | datetime | 首次报警时间 |
| TA | datetime | 报警时间 |
| TM | datetime | 测点更新时间,从1970-1-1到当前的秒数 |
| DS | int16 | 测点状态 |
| AV | blob | 测点数值 |
9、用户表:User(V5.0.4+)
| 字段 | 类型 | 说明 |
|---|---|---|
| US | text | 用户信息,包括用户名称和IP信息 |
| PW | text | 用户密码 |
10、资源组:Groups(V5.0.4+)
| 字段 | 类型 | 说明 |
|---|---|---|
| GP | text | 资源组信息 |
| ID | int | 资源组ID,负数代表不可更改 |
11、权限表:Access(V5.0.4+)
| 字段 | 类型 | 说明 |
|---|---|---|
| US | text | 用户信息 |
| GP | int | 资源组 |
| PL | text | 权限信息 |
帮助中心