跳到主要内容

SQLite存储

在NodeSCADA在安装之后首次运行时,会选择 计算机文档目录/NodeSCADA 目录下初始化数据库存储文件,并使用默认的初始参数

  • 数据存储天数 3天
  • 数据条数限制 0 代表无限
  • 启用 启用
  • 数据存储文件 计算机文档目录/NodeSCADA/db.sqlite

参数解释

数据存储天数

此项配置规定了NodeSCADA最多存储多少天的数据,超出天数的旧数据将被删除

数据条数限制

此项配置规定了NodeSCADA最多存储多少条数据,超出条数的旧数据将被删除

启用

是否启用存储,关闭此按钮。软件将不再存储新的数据,但旧的且没有超出上述两个限制的数据将继续保留

数据存储文件

配置数据存储的地址。如果要修改地址,那么需要在目标文件夹新建 db.sqlite 文件,并将此处地址修改为新的目标地址 如果想要保留旧数据,需要手动迁移数据库中的数据

提示

以上配置的修改都需要点击保存按钮才能生效

优化存储

当数据点的数量庞大或者采集频繁时,如果每一条数据都存储到本地,会在磁盘写入大量数据。如果你并不关心数据的细微变化,那么可以参考 优化存储 在数据点上开启优化存储,可以单独为每一个数据点设置不同的策略。
使用此策略,可以有效减少磁盘使用空间

数据库字段说明

数据存储在单一表 point_v_all 中 下面这个截图展示了所有的字段 NodeSCADA持久化存储数据库字段截图

point

这个字段存储了数据点的uuid,数据点uuid由NodeSCADA在添加数据点时自动生成; 每一个数据点的uuid都不相同。

提示

在同一个连接器下,删除并创建了相同编号的数据点,uuid不会相同

code

这个字段存储了 数据点ID,它由设备编号以及数据点编号组成。

提示

code = deviceCode_identifier

name

这个字段存储了数据点的名称

identifier

数据点的编号

deviceCode

数据点所在连接器的设备编号

value

浮点数类型。所有数字类型、布尔的值存储在这里;当采集到的值为布尔值时,true 存储为 1, false 存储为 0

value_string

所有字符串类型的值存储在这里

transformed_value_float

浮点数类型。如果配置了数据转换,并且转换过后的值类型为数字或者布尔类型,那么转换后的值将存储在此字段。当采集到的值为布尔值时,true 存储为 1, false 存储为 0

transformed_value_string

如果配置了数据转换,并且转换过后的值类型为字符串,那么转换后的值将存储在此字段。

status

数据点的状态(质量),1 表示正常,0 表示异常

utc0time

UTC 0 时区的时间戳(毫秒),可以通过此时间戳计算出当地时间

下面这段SQL代码演示如何计算本地时间
SELECT point, code,name,`VALUE`, datetime(utc0time / 1000 + 16 * 3600, 'unixepoch') AS formatted_timestamp
FROM `point_v_all`
WHERE value IS NOT NULL AND VALUE > 0
ORDER BY formatted_timestamp DESC;