借助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(历史数据记录与分析)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FullCalendar日历组件集成实战(11)

背景 有一些应用系统或应用功能,如日程管理、任务管理需要使用到日历组件。虽然Element Plus也提供了日历组件,但功能比较简单,用来做数据展现勉强可用。但如果需要进行复杂的数据展示,以及互动操作如通过点击添加事件&#xff0…

怎么防止源代码泄露?9种方法教会你!

怎么防止源代码泄露?首先要了解员工可以通过哪些方式将源代码传输出去! 物理方法: — 网线直连,即把网线从墙上插头拔下来,然后和一个非受控电脑直连; — winPE启动,通过光盘或U盘的winPE启动,甚…

Maven Dependency Tree:深入理解你的项目依赖

在Java开发领域,Apache Maven作为一款强大的构建和项目管理工具,广泛应用于自动化构建、依赖管理和项目报告生成等场景。当处理大型项目时,管理依赖关系变得尤为关键,因为不透明或冗余的依赖可能导致各种问题,从构建失…

Mybatis save、saveOrUpdate、update的区别

哈喽,大家好,我是木头左! 1. save方法 Mybatis的save方法用于插入一条新的记录。当数据库中不存在相同的记录时,会执行插入操作;如果已经存在相同的记录,则会抛出异常。 int result sqlSession.insert(&…

【SAP-ABAP】-权限批导-批量分配角色给具体用户

需求:SAP期初上线的时候,业务顾问经常会遇到批量创建角色和分配角色权限的情况 岗位需求:一般是业务顾问定义权限,BASIS进行后期运维,今天讲两个批导功能,方便期初上线 此程序功能:给具体用户…

计算各聚类中心

任务描述 本关实现一个函数来计算各簇的中心。 相关知识 在前一个关卡中,我们实现了一个函数来计算距离每个样本最近的簇中心,这样每一个样本都有了所属的簇团,从而将一堆数据分成了 n 个簇,也就是 n 个类。 K-means 算法是一…

leetcode打卡#day41 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

509. 斐波那契数 class Solution { public:int fib(int n) {if (n 0) return 0;if (n 1) return 1;return fib(n-1) fib(n-2);} };70. 爬楼梯 class Solution { public://动态规划 -- 爬楼梯int climbStairs(int n) {if (n < 1) return n; //防止空指针vector<int&g…

【Go】十三、TOKEN机制与跨域处理方式

身份校验 对于微服务场景来说&#xff0c;使用 cookie session 来进行身份校验是一种不合适的做法&#xff0c;因为 生成的sessionid 是不存储任何信息的&#xff0c;这样我们如果要在其他模块中进行身份校验就是做不到的&#xff0c;例如&#xff1a;我们无法在商品模块中筛…

Android Unable to determine activity name

报错:Unable to determine activity name的解决办法 最新的Android Studio长颈鹿版(Android Studio Giraffe | 2022.3.1 Patch 4) 新建一个空白的Activity,只能选kotlin. 选No Activity,则可以选Java语言。 新建好后,不像以前的老版本,点击运行,可以直接进入Hello wor…

电脑桌面提醒做事的app 好用的桌面提醒app

在快节奏的现代生活中&#xff0c;我们每天都要通过电脑处理大量的工作事项。然而&#xff0c;繁忙的工作节奏有时会导致我们遗忘某些重要任务&#xff0c;从而带来不必要的损失。为了避免这种情况&#xff0c;选择一款好用的桌面提醒app显得尤为重要。 想象一下&#xff0c;你…

世界上最顶级的动画公司是哪个?基于什么技术?

世界上最顶级的动画公司之一是皮克斯动画工作室&#xff08;Pixar Animation Studios&#xff09;。皮克斯以其技术创新、卓越的动画质量和强大的故事叙述能力闻名。下面是皮克斯的一些关键技术和创新&#xff1a; 1. 计算机动画&#xff08;CGI&#xff09;&#xff1a; 皮…

C语言| 数组

直接定义一个数组&#xff0c;并给所有元素赋值。 数组的下标从0开始&#xff0c;下标又表示数组的长度。 【程序代码】 #include <stdio.h> int main(void) { int a[5] {1, 2, 3, 4, 5}; int i; for(i0; i<5; i) { printf("a[%d] %d\…

主窗体获取子窗体的数值

本文所描述的是一个modbus读从站的数值实时更新到主窗体中&#xff0c;在主窗体中实时检测子窗体反馈回来的数据当它为false的时候添加报警输出 在主窗体中 //公开一个静态的字典用来接收数值 public static Dictionary<string, bool> StatusDictionary { get; set; }p…

翻译: Gen AI生成式人工智能学习资源路线图一

Introduction 介绍 本文档旨在作为学习现代人工智能系统背后的关键概念的手册。考虑到人工智能最近的发展速度&#xff0c;确实没有一个好的教科书式的资源来快速了解 LLMs 或其他生成模型的最新和最伟大的创新&#xff0c;但互联网上有大量关于这些主题的优秀解释资源&#x…

WireGuard网络架构及配置详解

WireGuard网络架构及配置详解 一.点对点二.中心网关,实现nat穿透弊端:流量全部经过中心网关,带宽上限受限于中心网关 三.借助registry实现双向nat穿透需要借助registry实现 udp打洞, 待二开 一.点对点 yum install epel-release elrepo-release -y yum install yum-plugin-elr…

QT——事件

一、什么是事件 在QT中,事件(Event)是指由特定对象发生的动作或状态变化,通常用于响应用户的操作。事件可以是鼠标点击、键盘输入、窗口移动等用户操作,也可以是系统发出的信号,比如定时器超时、网络数据到达等。在QT中,可以通过连接信号与槽(Signals and Slots)的方…

蒂姆·库克解释Apple Intelligence和与ChatGPT合作的区别|TodayAI

在2024年全球开发者大会&#xff08;WWDC 2024&#xff09;上&#xff0c;苹果公司首席执行官蒂姆库克&#xff08;Tim Cook&#xff09;隆重介绍了公司的最新人工智能&#xff08;AI&#xff09;计划——Apple Intelligence&#xff0c;并宣布了与OpenAI的ChatGPT的合作。虽然…

知识图谱存在的挑战---数据相关和算法相关

文章目录 数据相关算法相关 数据相关 数据是知识图谱的基石,知识图谱的数据来源主要有两种&#xff1a;自有数据&#xff08;自身采集 或拥有等&#xff09;和外源数据。自有数据由建设者因特定的业务需求而采集获取或经过特定加工处理形成且被自己所拥有的数据&#xff1b;外源…

kotlin 协程之初识挂起函数

什么是挂起函数 官方文档 在 Kotlin 协程:从基础概念到开发实践 文章中,提到 kotlin协程 是一个可挂起计算的实例,可以在一个线程中挂起并在另一个线程中恢复继续执行,这期间不会阻塞线程。 这种挂起和恢复的能力就是通过挂起函数来实现的。 在使用示例中,我们用到了 w…

定时器0电机控制PWM输出

/*立式不锈钢波纹管机控制板2021 2 26 pcb PAST******/ #include <REG52.H> #include <intrins.H> #define uint unsigned int #define uchar unsigned char #define …