Ignition
Ignition
1. 产品概述
- Ignition简介
 
Ignition 是一个基于WEB的监控和数据采集工具(SCADA)- 一个开放且可扩展的通用平台。Ignition可以让你更轻松地控制、跟踪、显示和分析企业的所有数据,提升业务能力。更多介绍详情请参考Ignition官网
- Ignition-IoTDB Connector介绍
 
Ignition-IoTDB Connector分为两个模块:Ignition-IoTDB连接器、Ignition-IoTDB With JDBC。其中:
- Ignition-IoTDB 连接器:提供了将 Ignition 采集到的数据存入 IoTDB 的能力,也支持在Components中进行数据读取,同时注入了 
system.iotdb.insert和system.iotdb.query脚本接口用于方便在Ignition编程使用 - Ignition-IoTDB With JDBC:Ignition-IoTDB With JDBC 可以在 
Transaction Groups模块中使用,不适用于Tag Historian模块,可以用于自定义写入和查询。 
两个模块与Ignition的具体关系与内容如下图所示。

2. 安装要求
| 准备内容 | 版本要求 | 
|---|---|
| IoTDB | 要求已安装V1.3.1及以上版本,安装请参考 IoTDB 部署指导 | 
| Ignition | 要求已安装 8.1.x版本(8.1.37及以上)的 8.1 版本,安装请参考 Ignition 官网安装指导(其他版本适配请联系商务了解) | 
| Ignition-IoTDB连接器模块 | 请联系商务获取 | 
| Ignition-IoTDB With JDBC模块 | 下载地址:https://repo1.maven.org/maven2/org/apache/iotdb/iotdb-jdbc/ | 
3. Ignition-IoTDB连接器使用说明
3.1 简介
Ignition-IoTDB连接器模块可以将数据存入与历史数据库提供程序关联的数据库连接中。数据根据其数据类型直接存储到 SQL 数据库中的表中,以及毫秒时间戳。根据每个标签上的值模式和死区设置,仅在更改时存储数据,从而避免重复和不必要的数据存储。
Ignition-IoTDB连接器提供了将 Ignition 采集到的数据存入 IoTDB 的能力。
3.2 安装步骤
步骤一:进入 Config - System- Modules 模块,点击最下方的Install or Upgrade a Module...

步骤二:选择获取到的 modl,选择文件并上传,点击 Install,信任相关证书。

步骤三:安装完成后可以看到如下内容

步骤四:进入 Config - Tags- History 模块,点击下方的Create new Historical Tag Provider...

步骤五:选择 IoTDB并填写配置信息

配置内容如下:
| 名称 | 含义 | 默认值 | 备注 | 
|---|---|---|---|
| Main | |||
| Provider Name | Provider 名称 | - | |
| Enabled | true | 为 true 时才能使用该 Provider | |
| Description | 备注 | - | |
| IoTDB Settings | |||
| Host Name | 目标IoTDB实例的地址 | - | |
| Port Number | 目标IoTDB实例的端口 | 6667 | |
| Username | 目标IoTDB的用户名 | - | |
| Password | 目标IoTDB的密码 | - | |
| Database Name | 要存储的数据库名称,以 root 开头,如 root.db | - | |
| Pool Size | SessionPool 的 Size | 50 | 可以按需进行配置 | 
| Store and Forward Settings | 保持默认即可 | ||
3.3 使用说明
配置历史数据存储
配置好
Provider后就可以在Designer中使用IoTDB Tag Historian了,就跟使用其他的Provider一样,右键点击对应Tag选择Edit tag(s),在 Tag Editor 中选择 History 分类
设置
History Enabled为true,并选择Storage Provider为上一步创建的Provider,按需要配置其它参数,并点击OK,然后保存项目。此时数据将会按照设置的内容持续的存入IoTDB实例中。
读取数据
也可以在 Report 的 Data 标签下面直接选择存入 IoTDB 的 Tags

在 Components 中也可以直接浏览相关数据

脚本模块:该功能能够与 IoTDB 进行交互
- system.iotdb.insert:
 
脚本说明:将数据写入到 IoTDB 实例中
脚本定义:
system.iotdb.insert(historian, deviceId, timestamps, measurementNames, measurementValues)参数:
str historian:对应的 IoTDB Tag Historian Provider 的名称str deviceId:写入的 deviceId,不含配置的 database,如 Sinelong[] timestamps:写入的数据点对于的时间戳列表str[] measurementNames:写入的物理量的名称列表str[][] measurementValues:写入的数据点数据,与时间戳列表和物理量名称列表对应
返回值:无
可用范围:Client, Designer, Gateway
使用示例:
system.iotdb.insert("IoTDB", "Sine", [system.date.now()],["measure1","measure2"],[["val1","val2"]])
- system.iotdb.query:
 
脚本说明:查询写到 IoTDB 实例中的数据
脚本定义:
 system.iotdb.query(historian, sql)参数:
str historian:对应的 IoTDB Tag Historian Provider 的名称str sql:待查询的 sql 语句
返回值: 查询的结果:
List<Map<String, Object>>可用范围:Client, Designer, Gateway
使用示例:
system.iotdb.query("IoTDB", "select * from root.db.Sine where time > 1709563427247")4. Ignition-IoTDB With JDBC
4.1 简介
Ignition-IoTDB With JDBC提供了一个 JDBC 驱动,允许用户使用标准的JDBC API 连接和查询 lgnition-loTDB 数据库
4.2 安装步骤
步骤一:进入 Config - Databases -Drivers 模块,创建 Translator

步骤二:进入 Config - Databases -Drivers 模块,创建 JDBC Driver,选择上一步配置的 Translator并上传下载的 IoTDB-JDBC,Classname 配置为 org.apache.iotdb.jdbc.IoTDBDriver

步骤三:进入 Config - Databases -Connections 模块,创建新的 Connections,JDBC Driver 选择上一步创建的 IoTDB Driver,配置相关信息后保存即可使用

4.3 使用说明
数据写入
在Transaction Groups中的 Data Source选择之前创建的 Connection
Table name需设置为 root 开始的完整的设备路径- 取消勾选 
Automatically create table Store timestame to配置为 time
不选择其他项,设置好字段,并 Enabled 后 数据会安装设置存入对应的 IoTDB

数据查询
- 在 
Database Query Browser中选择Data Source选择之前创建的Connection,即可编写 SQL 语句查询 IoTDB 中的数据 
