当前位置: 首页 > news >正文

借助Historian Connector + TDengine,打造工业创新底座

在工业自动化的领域中,数据的采集、存储和分析是实现高效决策和操作的基石。AVEVA Historian (原 Wonderware Historian) 作为领先的工业实时数据库,专注于收集和存储高保真度的历史工艺数据。与此同时,TDengine 作为一款专为时序数据打造的高性能数据库,在处理和分析大量实时、历史时序数据方面展现出无与伦比的优越性。

在最新发布的 TDengine 3.2.3.0 版本中,我们进一步更新了 TDengine 的数据接入功能,推出了一款新的连接器,旨在实现 AVEVA Historian 与 TDengine 的集成。基于此,本文将阐述把 AVEVA Historian 的历史数据和实时数据整合进入 TDengine 的创新方法,以及这种结合如何能够极大地提升数据利用率,打造一个工业创新底座,推动工业自动化高效发展。

从时序数据的关键应用场景分析优化方案

我们先来回顾下当下工业场景几种典型时序数据处理方案:

  1. 关系型数据库(例如 Oracle/MySQL、达梦、南大通用):关系型数据库在处理海量时序数据时,读写性能较低,分布式支持差。随着数据的增加,查询的速度也会变慢。典型的应用场景包括低频监控场景和电力 SCADA 历史库。

  2. 传统工业实时库(例如 PI、AVEVA Historian、亚控、海迅):尽管传统工业实时库在工业数据存储中有着长期的功效,但它们的架构已经过时,缺乏分布式解决方案,不能水平扩展。而且,它们依赖于 Windows 等环境,在数据分析能力上较弱,且往往是封闭系统。这类数据库主要用于 SCADA 系统和生产监控系统。

  3. NoSQL 数据库(例如 MongoDB、Cassandra):这类数据库的问题在于计算实时性较差,查询速度慢,对内存和 CPU 的计算开销大,没有针对时序数据的优化。它们主要用于处理非结构化数据存储和爬虫数据。

  4. Hadoop 大数据平台(例如 HBase、Zookeeper、Redis、Flink/Spark):虽然这类平台支持分布式,但其采用非结构化方式处理时序数据,组件众多,架构臃肿,单节点效率低,硬件和人力维护成本非常高。它们主要用于通用大数据平台和舆情电商大数据。

在当前的工业企业中,创新应用需求旺盛,时序数据处理关键的应用场景包括智能决策支持、设备故障预警、产品质量分析与预测、智能制造与数字孪生、能耗管理与节能减排。这些关键场景突出了工业时序大数据在创新应用中的核心价值,工业企业只有采用先进的解决方案,才能够加快创新步伐并在竞争激烈的市场中实现差异化。

在工业场景中,多个工厂或车间通常会部署独立的 SCADA/Historian 系统,如 AVEVA Wonderware 和 PI 系统,以管理实时和历史数据。这是目前工业自动化的常态,数据分布在各个现场的数据库中。

时序数据向中心侧集中的优势在于,它可以增强对数据的整体控制力,使得企业更好地利用它们的数据资产。数据的集中处理为全局数据可视化带来了可能,为业务创新提供灵感和快速验证的手段,帮助企业更好地管理和分析数据,快速响应而提取有价值的洞见,并依此及时做出商业决策。

SCADA/Historian 也提供了数据集中方案,确实在某些方面能够满足需求,但面临的挑战是它们难以支持海量测点(传感器、设备等)的数据量,难以满足创新应用的对大量获取时序数据的需求。当数据量非常大时,SCADA/Historian 数据消费接口的能力较弱,可能会经历高延时,甚至无法获取需要的数据集。

要有效应对这些挑战,需要从以下几个方面优化方案:

  1. 利用好已有的投资:很多情况下,企业已经采购、部署了多套 SCADA/Historian,投资已经形成,方案必须考虑如何充分利用已建成系统的能力,避免重复投资。

  2. 提高数据消费接口的能力:增强数据接口的能力,以确保即使在数据量很大时也能快速、高效地消费数据。

  3. 降低延时:提升系统的性能以减少处理和提取数据时的延时,确保可以及时地获取数据。

  4. 实现实时和历史数据的整合:数据的整合可以提高存储空间利用率,并为分析和决策提供更完整的数据视图。实时和历史数据的结合还能支持更复杂的创新应用,如预测维护、能耗管理和优化操作。

  5. 支撑海量测点:提高系统能够处理的测点数量,以适应越来越多传感器数据的需求。

  6. 推动创新应用的发展:构建支持创新的基础架构,应对创新应用需求、新兴的工业应用,如预测性维护、资产性能管理、能效优化等,需要对数据进行更深层次的消费、分析和更快速的处理。

TDengine 作为一款极简的时序大数据平台,具有高效的数据写入和查询性能,适合处理海量、时序性的工业数据。除了实时与历史合一的时序库核心功能外,还提供了消息队列、事件驱动流计算、读写缓存,以及多数据源接入的能力。如何实现融合上述六点的方案优化,TDengine 也给出了答案。

整合 AVEVA Historian 数据到 TDengine

本文方案中,将利用 TDengine 企业版 taosX 的多数据源接入能力汇集多路 AVEVA Historian 现场数据,持久化至中心侧 TDengine 集群。

其特点如下:

  1. 数据迁移:从 AVEVA Historian 系统迁移现有的历史数据到 TDengine。

  2. 数据同步:支持实时和历史数据的同步,实现 AVEVA Historian 实时(Runtime.dbo.Live)和历史数据(Runtime.dbo.History)至 TDengine 之间的数据同步。

  3. 支持海量测点:TDengine 支持 10 亿时间线,轻松应对目前工业大数据场景。

  4. 充分利用已有投资:已有的 AVEVA Historian 将继续发挥作用,同时在 TDengine 平台上支持创新业务的开发。

  5. 时序数据优化存储:利用 TDengine 的高效数据压缩和存储机制,优化数据在新平台上的存储。

  6. 查询性能显著提升:与 Historian 的查询性能比较,TDengine 无论在投影查询还是聚合查询,均提升几个数量级的性能。

  7. 支持数据订阅:TDengine 提供了结构化的消息队列,当数据入库的同时,可根据业务需要创建主题,支持实时消费以驱动创新应用落地。

  8. 支持多种部署环境:LInux & Windows

  9. 支持完整 ETL 特性:taosX 组件支持完整的解析、提取拆分、过滤以及数据映射,零代码即可完成外部数据源接入 TDengine。

本方案的基本环境要求有:

  • AVEVA Historian 接入需 TDengine 企业版支持

  • 远端采集需通过代理模式接入,采集现场须部署 taosX Agent

  • 支持 AVEVA Historian 2017 以后的版本

下面以数据迁移为例,介绍 AVEVA Historian 的历史视图数据如何迁移至 TDengine。

  1. 先完成准备工作:在 TDengine 中建库、建超级表

  2. 登入 taosExplorer,创建数据写入任务,类型:AVEVA Historian

  3. 填写任务基本信息:任务名称、目标数据库、Historian 服务器地址、端口、认证信息

  4. 填写采集配置:migrate 模式、选择标签点位范围(默认所有点位)、设置源数据起始终止时间、查询时间窗口跨度

  5. 数据解析与过滤:因 Historian 发送过来的数据是结构化的,无需额外配置解析器和过滤器

  6. 数据映射:选择目标超级表后,系统会自动匹配部分字段,没有匹配的字段,手工指定映射关系即可

  7. 启动任务

数据同步 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); // 原始容器&#xff1a;java.util.Arrays.ArrayList#ArrayList// 创建一个 Stream&#xff0c;过滤出偶数&#xff0c;并打印它们numbers.str…...

GIS之arcgis系列07:conda环境下安装arcpy环境

首先将python27环境下的“Desktop10.8.pth”拷贝到anaconda环境下。 路径如下&#xff08;仅参考&#xff09;&#xff1a; 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&#xff0c;表示容器中没有安装nslookup命令。 可以通过以下命令安装nslookup&#xff1a; 对于基于Debian/Ubuntu的容器&#xff0c;使用以下命令&#xff1a; apt-get update apt-get install -y dnsutils对于基于CentOS/R…...

解析 Spring 框架中的三种 BeanName 生成策略

在 Spring 框架中&#xff0c;定义 Bean 时不一定需要指定名称&#xff0c;Spring 会智能生成默认名称。本文将介绍 Spring 的三种 BeanName 生成器&#xff0c;包括在 XML 配置、Java 注解和组件扫描中使用的情况&#xff0c;并解释它们如何自动创建和管理 Bean 名称。 1. Be…...

细说ARM MCU的串口接收数据的实现过程

目录 一、硬件及工程 1、硬件 2、软件目的 3、创建.ioc工程 二、 代码修改 1、串口初始化函数MX_USART2_UART_Init() &#xff08;1&#xff09;MX_USART2_UART_Init()串口参数初始化函数 &#xff08;2&#xff09;HAL_UART_MspInit()串口功能模块初始化函数 2、串口…...

000-基于sklearn的机器学习入门:工作环境搭建与配置

本专栏将介绍基于Scikit-learn(简称sklearn)的机器学习入门知识。包括但不一定限于&#xff0c;机器学习基本知识、sklearn库简介&#xff0c;基于Sklearn库的机器学习实践。 这是本专栏的第000篇&#xff0c;将介绍如何安装和配置sklearn环境&#xff0c;不仅包括Sklearn库的…...

就业班 第四阶段(k8s) 2401--6.5 day3 Yaml语法解析+钩子函数

Yaml语法解析 今天学的都是在pod里面操作的 格式 这个文件要创建的资源对象是什么 kind: Pod 这个资源对象所在的api版本是什么 apiVersion: v1 元数据 metadata: 对这个pod中的镜像的描述 spec&#xff1a; 字典无序 同一级可以调换顺序 &#xff1a;比如kind和apiVersion …...

电脑开机出现英文字母,如何解决这个常见问题?

电脑开机时出现英文字母的情况通常意味着系统在启动过程中遇到了问题。这些英文字母可能是错误信息、系统提示或BIOS设置问题。通过理解这些信息并采取适当的措施&#xff0c;您可以解决大多数启动问题。本文将介绍三种解决电脑开机出现英文字母问题的方法&#xff0c;帮助您恢…...

一张试卷

目录 问题 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某游戏币自助机后端 内存暴涨分析

一&#xff1a;背景 1. 讲故事 前些天有位朋友找到我&#xff0c;说他们的程序内存会偶发性暴涨&#xff0c;自己分析了下是非托管内存问题&#xff0c;让我帮忙看下怎么回事&#xff1f;哈哈&#xff0c;看到这个dump我还是非常有兴趣的&#xff0c;居然还有这种游戏币自助机…...

计算机考研|哪些985/211院校不歧视双非二本生?

说句残酷的话&#xff0c;能对某一专业做出贡献&#xff0c;那么你的水平肯定是很高的。如果普通学生&#xff0c;普通本科的话可能很难做到这一点。这也是现在考研风气比较强的原因&#xff0c;一部分专业能力不突出的学生来选择深造3年。 对于基础较差想要考计算机研究生的同…...

Spring Boot:简化 Java 应用开发的艺术

Spring Boot 是一种用于快速开发、运行和管理 Java 应用程序的开源框架。它简化了基于 Spring 的应用程序的配置和部署&#xff0c;使得开发者能够更加专注于业务逻辑的实现。本文将介绍 Spring Boot 的核心特性、优势以及如何在项目中使用 Spring Boot。 一、核心特性 自动配…...

elasticsearch安装与使用(2)-基于term匹配的简单搜索引擎搭建

把一篇pdf论文解析后&#xff0c;放入es数据库中&#xff0c;建立倒排索引表&#xff0c;并实现简单搜索。 1、pdf论文解析(英文) 安装pdf解析包 pip install pdfminer.sixdef extract_text_from_pdf(filename, page_numbersNone, min_line_length1):从pdf文件中提取文字:pa…...

速盾:ddos防护与高防ip区别?

在网络安全领域&#xff0c;DDOS 防护和高防 IP 都是重要的防护手段&#xff0c;但它们之间存在着一些明显的区别。 DDOS 防护是一种针对分布式拒绝服务攻击的防御策略。它通过多种技术和方法来识别和抵御 DDOS 攻击。常见的 DDOS 防护手段包括流量清洗、连接限制、协议分析等。…...

Java中StringBulider详解

StringBuilder 是 Java 中一个用来创建可变字符串的类。与 String 类不同&#xff0c;StringBuilder 对象能够被修改&#xff0c;不会创建新的对象&#xff0c;因此在需要进行大量字符串操作时&#xff0c;StringBuilder 更高效。以下是 StringBuilder 的详细讲解。 创建 Stri…...

基于springboot高校就业招聘系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;就业咨询管理&#xff0c;毕业去向管理&#xff0c;简历管理&#xff0c;管理员管理&#xff0c;基础数据管理 辅导员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;就业咨询管理…...

嵌入式C语言编码规范要点

1.函数命名方法 骆驼命名法&#xff08;Camel&#xff09; 帕斯卡命名法&#xff08;&#xff08;pascal&#xff09;&#xff0c;也叫大驼峰命名法&#xff08;Upper Camel Case&#xff09; 匈牙利命名法 下划线命名法&#xff08;也称为蛇形命名法&#xff09; 详述见之前文…...

Python中的全局解释器锁:深入解析与应对策略

1. 引言 在Python的世界里&#xff0c;全局解释器锁&#xff08;GIL&#xff09;是一个经常被讨论的话题。它既是Python并发编程中的一个重要概念&#xff0c;也是许多开发者感到困惑的源头。本文将深入探讨GIL的工作原理、它对Python程序性能的影响 2. 全局解释器锁的历史背…...

【java计算机毕设】图书商城管理系统MySQL springboot vue html maven送文档

1项目功能介绍 【java计算机毕设】图书商城管理系统 Java Spring Boot vue HTML MySQL 赠送文档 PPT 2项目简介 系统功能&#xff1a; 图书商城管理系统包括管理员和用户两种角色。 管理员的功能包括在个人中心修改个人信息&#xff0c;以及在基础数据管理中管理会员等级类型和…...

【Java刷题】二叉树

相同的树 public boolean isSameTree(TreeNode p, TreeNode q) {if(p null && q null) {return true;} else if(p ! null && q ! null) {if(p.val ! q.val) {return false;} else {return isSameTree(p.left, q.left) && isSameTree(p.right, q.rig…...

【Linux】程序地址空间之动态库的加载

我们先进行一个整体轮廓的了解&#xff0c;随后在深入理解细节。 在动态库加载之前还要说一下程序的加载&#xff0c;因为理解了程序的加载对动态库会有更深的理解。 轮廓&#xff1a; 首先&#xff0c;不管是程序还是动态库刚开始都是在磁盘中的&#xff0c;想要执行对应的可…...

LabVIEW处理大量数据时,怎样确保数据的准确性和完整性?

在LabVIEW处理中&#xff0c;确保大量数据的准确性和完整性至关重要。以下是详细的多角度分析和建议&#xff0c;以确保在LabVIEW中处理大量数据时&#xff0c;数据的准确性和完整性&#xff1a; 1. 数据采集阶段 1.1 高精度硬件选择 选择高精度的数据采集硬件&#xff0c;如…...

容器是什么?

概念 容器可以被看作是一种轻量级的虚拟化技术。与传统虚拟化技术相比&#xff0c;容器不需要为每个应用程序提供单独的操作系统&#xff0c;它们共享宿主机的操作系统内核。这使得容器更加轻便和高效。 想象一下&#xff0c;容器就像是一艘艘可以在海洋中独立航行的货轮&…...

#15 从Stable Diffusion生成的艺术中寻找灵感

文章目录 前言1. Stable Diffusion简介2. 寻找灵感的途径2.1 深入探索主题2.2 结合多种艺术风格2.3 实验不同的创意组合 3. 灵感应用3.1 艺术创作3.2 设计项目3.3 故事讲述 4. 实践建议4.1 记录和迭代4.2 开放实验4.3 结合个人风格 结论 前言 在当今的数字时代&#xff0c;人工…...

海南建设厅评审网站/学好seo

最近在体测系统中&#xff0c;用到了图表的知识&#xff0c;接下来就简单分享一下图表的制作过程。 1. 首先要安装angular2图表和Charts.js 输入命令&#xff1a; npm install ng2-charts --save npm install chart.js --save 在该页面所在module中添加&#xff1a;如&…...

做品牌文化的网站/南宁seo优化公司排名

https://www.luogu.org/problem/show?pid1197 感觉并查集要维护删除好像很棘手&#xff1b; 开两个并查集也无法解决问题&#xff1b; 尴尬&#xff1b; 本着zyy大神的不是考试懒得想的理念发了一下题解&#xff1b; 发现只要倒着来就好了&#xff1b; 就是离线做&#…...

哪个网站可以做字体大小/国内最好用免费建站系统

上午 题还是比较水的... T1 attack 题意&#xff1a; 给一个有向图&#xff0c;Q次询问K个点&#xff0c;问从1到K个点的必经点 (没说是DAG&#xff0c;但数据是DAG...)、 支配树的裸题吗&#xff0c;但是不会支配树啊.... 然后就求割点&#xff0c;桥&#xff0c;然后就懵逼了…...

拖拽式建站源码/网络营销最主要的工具是

面向对象设计的过程就是抽象的过程&#xff0c;一般分为三步&#xff1a; &#xff08;1&#xff09;发现类&#xff0c;类定义了 对象将会用用的特征&#xff08;属性&#xff09;和行为&#xff08;方法&#xff09;。 &#xff08;2&#xff09;发现类的属性&#xff0c;对象…...

织梦可以做家教网站吗/佛山市seo推广联系方式

Lind.DDD.Authorization是Lind.DDD框架的组成部分&#xff0c;之所以把它封装到框架里&#xff0c;原因就是它的通用性&#xff0c;几乎在任何一个系统中&#xff0c;都少不了用户授权功能&#xff0c;用户授权对于任何一个系统来说都是必要的&#xff0c;像管理型的页面都需要…...

商城做网站哪家好/词语搜索排行

主要内容: 1. 函数名的使用以及第⼀类对象2. 闭包3. 迭代器1. 函数名的使用以及第⼀类对象 函数名是一个变量, 但它是一个特殊的变量, 与括号配合可以执行函数的变量。 (1) 函数名的内存地址 def func():print("呵呵") print(func) #<function func at…...