借助Historian Connector + TDengine,打造工业创新底座
在工业自动化的领域中,数据的采集、存储和分析是实现高效决策和操作的基石。AVEVA Historian (原 Wonderware Historian) 作为领先的工业实时数据库,专注于收集和存储高保真度的历史工艺数据。与此同时,TDengine 作为一款专为时序数据打造的高性能数据库,在处理和分析大量实时、历史时序数据方面展现出无与伦比的优越性。
在最新发布的 TDengine 3.2.3.0 版本中,我们进一步更新了 TDengine 的数据接入功能,推出了一款新的连接器,旨在实现 AVEVA Historian 与 TDengine 的集成。基于此,本文将阐述把 AVEVA Historian 的历史数据和实时数据整合进入 TDengine 的创新方法,以及这种结合如何能够极大地提升数据利用率,打造一个工业创新底座,推动工业自动化高效发展。
从时序数据的关键应用场景分析优化方案
我们先来回顾下当下工业场景几种典型时序数据处理方案:
-
关系型数据库(例如 Oracle/MySQL、达梦、南大通用):关系型数据库在处理海量时序数据时,读写性能较低,分布式支持差。随着数据的增加,查询的速度也会变慢。典型的应用场景包括低频监控场景和电力 SCADA 历史库。
-
传统工业实时库(例如 PI、AVEVA Historian、亚控、海迅):尽管传统工业实时库在工业数据存储中有着长期的功效,但它们的架构已经过时,缺乏分布式解决方案,不能水平扩展。而且,它们依赖于 Windows 等环境,在数据分析能力上较弱,且往往是封闭系统。这类数据库主要用于 SCADA 系统和生产监控系统。
-
NoSQL 数据库(例如 MongoDB、Cassandra):这类数据库的问题在于计算实时性较差,查询速度慢,对内存和 CPU 的计算开销大,没有针对时序数据的优化。它们主要用于处理非结构化数据存储和爬虫数据。
-
Hadoop 大数据平台(例如 HBase、Zookeeper、Redis、Flink/Spark):虽然这类平台支持分布式,但其采用非结构化方式处理时序数据,组件众多,架构臃肿,单节点效率低,硬件和人力维护成本非常高。它们主要用于通用大数据平台和舆情电商大数据。
在当前的工业企业中,创新应用需求旺盛,时序数据处理关键的应用场景包括智能决策支持、设备故障预警、产品质量分析与预测、智能制造与数字孪生、能耗管理与节能减排。这些关键场景突出了工业时序大数据在创新应用中的核心价值,工业企业只有采用先进的解决方案,才能够加快创新步伐并在竞争激烈的市场中实现差异化。
在工业场景中,多个工厂或车间通常会部署独立的 SCADA/Historian 系统,如 AVEVA Wonderware 和 PI 系统,以管理实时和历史数据。这是目前工业自动化的常态,数据分布在各个现场的数据库中。
时序数据向中心侧集中的优势在于,它可以增强对数据的整体控制力,使得企业更好地利用它们的数据资产。数据的集中处理为全局数据可视化带来了可能,为业务创新提供灵感和快速验证的手段,帮助企业更好地管理和分析数据,快速响应而提取有价值的洞见,并依此及时做出商业决策。
SCADA/Historian 也提供了数据集中方案,确实在某些方面能够满足需求,但面临的挑战是它们难以支持海量测点(传感器、设备等)的数据量,难以满足创新应用的对大量获取时序数据的需求。当数据量非常大时,SCADA/Historian 数据消费接口的能力较弱,可能会经历高延时,甚至无法获取需要的数据集。
要有效应对这些挑战,需要从以下几个方面优化方案:
-
利用好已有的投资:很多情况下,企业已经采购、部署了多套 SCADA/Historian,投资已经形成,方案必须考虑如何充分利用已建成系统的能力,避免重复投资。
-
提高数据消费接口的能力:增强数据接口的能力,以确保即使在数据量很大时也能快速、高效地消费数据。
-
降低延时:提升系统的性能以减少处理和提取数据时的延时,确保可以及时地获取数据。
-
实现实时和历史数据的整合:数据的整合可以提高存储空间利用率,并为分析和决策提供更完整的数据视图。实时和历史数据的结合还能支持更复杂的创新应用,如预测维护、能耗管理和优化操作。
-
支撑海量测点:提高系统能够处理的测点数量,以适应越来越多传感器数据的需求。
-
推动创新应用的发展:构建支持创新的基础架构,应对创新应用需求、新兴的工业应用,如预测性维护、资产性能管理、能效优化等,需要对数据进行更深层次的消费、分析和更快速的处理。
TDengine 作为一款极简的时序大数据平台,具有高效的数据写入和查询性能,适合处理海量、时序性的工业数据。除了实时与历史合一的时序库核心功能外,还提供了消息队列、事件驱动流计算、读写缓存,以及多数据源接入的能力。如何实现融合上述六点的方案优化,TDengine 也给出了答案。
整合 AVEVA Historian 数据到 TDengine
本文方案中,将利用 TDengine 企业版 taosX 的多数据源接入能力汇集多路 AVEVA Historian 现场数据,持久化至中心侧 TDengine 集群。

其特点如下:
-
数据迁移:从 AVEVA Historian 系统迁移现有的历史数据到 TDengine。
-
数据同步:支持实时和历史数据的同步,实现 AVEVA Historian 实时(Runtime.dbo.Live)和历史数据(Runtime.dbo.History)至 TDengine 之间的数据同步。
-
支持海量测点:TDengine 支持 10 亿时间线,轻松应对目前工业大数据场景。
-
充分利用已有投资:已有的 AVEVA Historian 将继续发挥作用,同时在 TDengine 平台上支持创新业务的开发。
-
时序数据优化存储:利用 TDengine 的高效数据压缩和存储机制,优化数据在新平台上的存储。
-
查询性能显著提升:与 Historian 的查询性能比较,TDengine 无论在投影查询还是聚合查询,均提升几个数量级的性能。
-
支持数据订阅:TDengine 提供了结构化的消息队列,当数据入库的同时,可根据业务需要创建主题,支持实时消费以驱动创新应用落地。
-
支持多种部署环境:LInux & Windows
-
支持完整 ETL 特性:taosX 组件支持完整的解析、提取拆分、过滤以及数据映射,零代码即可完成外部数据源接入 TDengine。
本方案的基本环境要求有:
-
AVEVA Historian 接入需 TDengine 企业版支持
-
远端采集需通过代理模式接入,采集现场须部署 taosX Agent
-
支持 AVEVA Historian 2017 以后的版本
下面以数据迁移为例,介绍 AVEVA Historian 的历史视图数据如何迁移至 TDengine。

-
先完成准备工作:在 TDengine 中建库、建超级表
-
登入 taosExplorer,创建数据写入任务,类型:AVEVA Historian
-
填写任务基本信息:任务名称、目标数据库、Historian 服务器地址、端口、认证信息
-
填写采集配置:migrate 模式、选择标签点位范围(默认所有点位)、设置源数据起始终止时间、查询时间窗口跨度
-
数据解析与过滤:因 Historian 发送过来的数据是结构化的,无需额外配置解析器和过滤器
-
数据映射:选择目标超级表后,系统会自动匹配部分字段,没有匹配的字段,手工指定映射关系即可
-
启动任务
数据同步 synchronize 与数据迁移 migrate 类似,不同之处在于:
-
支持两个来源:Runtime.dbo.History & Runtime.dbo.Live
-
任务结束时间可以不设定,意味着可以一直同步下去,直至人工终止
本方案还可以与 OPC 方案融合:历史数据通过 Historian 导入 TDengine,实时数据通过 OPC 汇集至 TDengine。新方案的优点是,通过 OPC 支持的订阅特性实现实时数据即时采集,一旦变化就立刻采集至 TDengine。
新方案同样是基于 taosX 组件,维护方便。

结语
对于曾投资 AVEVA Wonderware 的工业企业,在面临数字化转型的挑战时,Historian Connector 结合 TDengine 的解决方案便能成为他们的强大后盾。此方案不仅能快速打通数字化转型的难关,还能携业务创新之力,开拓数字化潜能。
此外,本方案具有优秀的融合能力,可与各类数据采集解决方案无缝结合。例如,通过与 OPC Connector 数据采集方案的整合,历史数据得以从 Historian 顺畅导入至 TDengine,同时实时数据亦可通过 OPC 即时汇集至 TDengine,实现现场时序数据的高效集中处理。
本方案所依托的是 TDengine Enterprise 企业版的强大功能(且未来我们将推出 TDengine Cloud 版本)。如若贵企业正寻求这方面的解决方案,欢迎主动接洽北京涛思的专业商务团队,一起探索先进的数据处理之道。
关于 AVEVA Wonderware
Wonderware 公司成立于 1987 年,总部位于美国洛杉矶,是全球工业自动化领域的知名品牌。其先被施耐德电气收购,后并入 AVEVA。AVEVA Wonderware 应用行业广泛,在连续生产过程控制和离散制造领域优势明显。主要应用于烟草生产、水处理、电力、石油天然气、化工、钢铁冶金、食品饮料、制药、汽车制造、物流仓储等行业。其产品包括但不限于 In Touch HMI(人机界面)、System Platform(系统平台)、Historian(历史数据记录与分析)。
相关文章:
借助Historian Connector + TDengine,打造工业创新底座
在工业自动化的领域中,数据的采集、存储和分析是实现高效决策和操作的基石。AVEVA Historian (原 Wonderware Historian) 作为领先的工业实时数据库,专注于收集和存储高保真度的历史工艺数据。与此同时,TDengine 作为一款专为时序数据打造的高…...
51单片机-实机演示(LED点阵)
目录 前言: 一.线位置 二.扩展 三.总结 前言: 这是一篇关于51单片机实机LED点阵的插线图和代码说明.另外还有一篇我写的仿真的连接在这:http://t.csdnimg.cn/ZNLCl,欢迎大家的点赞,评论,关注. 一.线位置 接线实机图. 引脚位置注意: 1. *-* P00->RE8 P01->RE7 …...
STM32硬件接口I2C应用(基于MP6050)
目录 概述 1 STM32Cube控制配置I2C 1.1 I2C参数配置 1.2 使用STM32Cube产生工程 2 HAL库函数介绍 2.1 初始化函数 2.2 写数据函数 2.3 读数据函数 3 认识MP6050 3.1 MP6050功能介绍 3.2 加速计测量寄存器 编辑3.3 温度计量寄存器 3.4 陀螺仪测量寄存器 4 MP60…...
基于JSP的贝儿米幼儿教育管理系统
开头语: 你好呀,我是计算机学长猫哥!如果您对本系统感兴趣或者有相关需求,文末可以找到我的联系方式。 开发语言: Java 数据库: MySQL 技术: JSP技术 工具: IDEA/Eclipse、…...
数字化与文化交融,树莓集团助力园区文化升级
树莓集团在产业园运营领域建设了特色空间布局,包括产业实训基地、产业办公中心、业务资源平台、产学研中心、数字资产空间、双创孵化空间、产业实验室和人才项目转化中心等八大板块,共同构建了一个全面而深入的产业支撑体系,为园区文化建设提…...
【原创课程】如何制作安装板
具体步骤如下: 第一步:新建页类型为“安装板布局图(交互式)”并修改页描述为“安装板布局图”。 第二步:新建安装板 第三步:设置图纸上符号元件的部件,双击符号,弹出常规设备窗口,点击部件进行选择 第四步:打开2D安装板导航器,将图纸中的设备拖拽到安装板上 第五步…...
简单聊聊【java.util.Stream】,更新中
public class Main {public static void main(String[] args) {List<Integer> numbers Arrays.asList(1, 2, 3, 4, 5, 6); // 原始容器:java.util.Arrays.ArrayList#ArrayList// 创建一个 Stream,过滤出偶数,并打印它们numbers.str…...
GIS之arcgis系列07:conda环境下安装arcpy环境
首先将python27环境下的“Desktop10.8.pth”拷贝到anaconda环境下。 路径如下(仅参考): C:\Python27\ArcGIS10.8\Lib\site-packages\Desktop10.8.pth D:\Anaconda\Lib\site-packages 在anaconda prompt中穿创建一个新环境 conda create -…...
容器运行nslookup提示bash: nslookup: command not found【笔记】
在容器中提示bash: nslookup: command not found,表示容器中没有安装nslookup命令。 可以通过以下命令安装nslookup: 对于基于Debian/Ubuntu的容器,使用以下命令: apt-get update apt-get install -y dnsutils对于基于CentOS/R…...
解析 Spring 框架中的三种 BeanName 生成策略
在 Spring 框架中,定义 Bean 时不一定需要指定名称,Spring 会智能生成默认名称。本文将介绍 Spring 的三种 BeanName 生成器,包括在 XML 配置、Java 注解和组件扫描中使用的情况,并解释它们如何自动创建和管理 Bean 名称。 1. Be…...
细说ARM MCU的串口接收数据的实现过程
目录 一、硬件及工程 1、硬件 2、软件目的 3、创建.ioc工程 二、 代码修改 1、串口初始化函数MX_USART2_UART_Init() (1)MX_USART2_UART_Init()串口参数初始化函数 (2)HAL_UART_MspInit()串口功能模块初始化函数 2、串口…...
000-基于sklearn的机器学习入门:工作环境搭建与配置
本专栏将介绍基于Scikit-learn(简称sklearn)的机器学习入门知识。包括但不一定限于,机器学习基本知识、sklearn库简介,基于Sklearn库的机器学习实践。 这是本专栏的第000篇,将介绍如何安装和配置sklearn环境,不仅包括Sklearn库的…...
就业班 第四阶段(k8s) 2401--6.5 day3 Yaml语法解析+钩子函数
Yaml语法解析 今天学的都是在pod里面操作的 格式 这个文件要创建的资源对象是什么 kind: Pod 这个资源对象所在的api版本是什么 apiVersion: v1 元数据 metadata: 对这个pod中的镜像的描述 spec: 字典无序 同一级可以调换顺序 :比如kind和apiVersion …...
电脑开机出现英文字母,如何解决这个常见问题?
电脑开机时出现英文字母的情况通常意味着系统在启动过程中遇到了问题。这些英文字母可能是错误信息、系统提示或BIOS设置问题。通过理解这些信息并采取适当的措施,您可以解决大多数启动问题。本文将介绍三种解决电脑开机出现英文字母问题的方法,帮助您恢…...
一张试卷
目录 问题 1: 1.时间 题目描述1 输入1 输出1 样例输入1 样例输出1 提示1 代码1 问题 2: 超酷的电话号码 题目描述2 输入2 输出2 样例输入2 样例输出2 提示2 代码2 问题 3:3.爸爸的数学题 题目描述3 输入3 输出3 样例输入3 样例输出3 提示3 代码3 问题 4: 4. 营养膳食 题目描述4…...
记一次 .NET某游戏币自助机后端 内存暴涨分析
一:背景 1. 讲故事 前些天有位朋友找到我,说他们的程序内存会偶发性暴涨,自己分析了下是非托管内存问题,让我帮忙看下怎么回事?哈哈,看到这个dump我还是非常有兴趣的,居然还有这种游戏币自助机…...
计算机考研|哪些985/211院校不歧视双非二本生?
说句残酷的话,能对某一专业做出贡献,那么你的水平肯定是很高的。如果普通学生,普通本科的话可能很难做到这一点。这也是现在考研风气比较强的原因,一部分专业能力不突出的学生来选择深造3年。 对于基础较差想要考计算机研究生的同…...
Spring Boot:简化 Java 应用开发的艺术
Spring Boot 是一种用于快速开发、运行和管理 Java 应用程序的开源框架。它简化了基于 Spring 的应用程序的配置和部署,使得开发者能够更加专注于业务逻辑的实现。本文将介绍 Spring Boot 的核心特性、优势以及如何在项目中使用 Spring Boot。 一、核心特性 自动配…...
elasticsearch安装与使用(2)-基于term匹配的简单搜索引擎搭建
把一篇pdf论文解析后,放入es数据库中,建立倒排索引表,并实现简单搜索。 1、pdf论文解析(英文) 安装pdf解析包 pip install pdfminer.sixdef extract_text_from_pdf(filename, page_numbersNone, min_line_length1):从pdf文件中提取文字:pa…...
速盾:ddos防护与高防ip区别?
在网络安全领域,DDOS 防护和高防 IP 都是重要的防护手段,但它们之间存在着一些明显的区别。 DDOS 防护是一种针对分布式拒绝服务攻击的防御策略。它通过多种技术和方法来识别和抵御 DDOS 攻击。常见的 DDOS 防护手段包括流量清洗、连接限制、协议分析等。…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
