SANSAN每周新鲜事|OPC UA 数据采集,你真的了解吗?

2024-03-03 17:30

本文主要是介绍SANSAN每周新鲜事|OPC UA 数据采集,你真的了解吗?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OPC UA是什么?

本文不会系统介绍OPC UA,但本文会从实际例子出发,讲讲OPC UA在工业中是怎么用的。

通俗的说,OPC UA定义了一套标准的接口和数据模型,使不同厂商的设备都可以采用这些统一标准进行数据交换。它工作在客户端 - 服务器模式下,服务器端部署在工业设备上,发布设备数据,而客户端可以访问这些服务器,获取数据使用。

OPC UA是工业互联网中不同系统互联的重要桥梁,目前大部分工业设备和软件,都支持OPC UA。比如西门子、ABB、罗克韦尔、施耐德等,他们的PLC、传感器都内置OPC UA服务器;再比如大名鼎鼎的 Kepserver,它内置了OPC UA服务器,通过Kepserver采集到的数据,都可以通过OPC UA发布,供其它软件采集。

OPC UA应用于哪些场景?

OPC UA 广泛应用于工业互联网和工业 4.0 相关的以下场景:

  1. 工业设备接入和集成:利用OPC UA作为通用接口,实现不同供应商设备的互联互通。

  2. 工业生产线监控:通过OPC UA收集生产线设备实时数据,进行监视和诊断。

  3. 工厂自动化和 MES 系统集成:OPC UA 可透明地连接 PLC、HMI、SCADA 和 MES系统。

  4. 云平台接入:作为边缘计算网关,通过OPC UA 安全地将数据上传到云。

OPC UA的技术特点

相比其它工业总线协议,OPC UA有着非常显著的优势,下面我们总结了几个OPC UA的技术特点,同时也是其它传统总线协议(比如 modbus)缺失的能力:

  1. 信息模型很丰富,可以表达各种工业数据。

  2. 支持安全的身份验证、访问控制、数据加密传输。

  3. 支持历史数据存取。

  4. 支持数据变化时主动推送和事件通知。

实际现场方案

在工业现场,一个很常见的方案是,利用 Kepserver 丰富的协议驱动采集各种品牌PLC、传感器、控制器的数据,再使用 Kepserver 的OPC UA功能将数据通过OPC UA服务端发布出来,上层平台通过OPC UA服务端获取各设备的数据,而无需对接种类众多、协议多种多样的各类设备。这样,有效的将 Kepserver 的优势(协议库丰富)和平台的优势(数据存储、计算、分析、展示)结合,形成了一套保护既往投资、稳定、扩展性好的工业数据平台解决方案。如下图:

图片

三三物联网平台的 OPC UA软网关

三三物联网平台提供了OPC UA软网关,其可以从大部分符合OPC UA标准的服务器采集数据,已在Siemens S7 1500、Kepserver、ABB Ability EdgeInsight 1.8.X、GE Digital Historian 2022 HDA Server 等终端或软件测试通过。

自动订阅所有节点数据

和很多 OPC UA 数采软件不同,三三物联网平台的 OPC UA 软网关,无需您设置任何采集变量,只需设置好 OPC UA 的连接地址,即可自动订阅 OPC UA 服务端的所有节点,并接受所有节点推送的数据。而大部分 OPC UA 的数采软件,需要您将节点 ID 手动输入,十分不方便。那不想采集的数据怎么办呢,三三物联网平台提供了 unMonitorNodes 设置项,让您可以排除掉这些数据节点。

变化上报、定期上报

不同的业务,对数据上报方式有不同的要求,三三物联网平台支持定期上报数据,也支持当数据变化时才上报数据。

数据计算、窗口计算

很多场景下,需要在边缘侧对数据做预处理,三三物联网平台支持对数据做计算,比如简单的四则运算,还支持时间窗口计算,比如求一个时间窗口的所有数据平均值,功能非常强大。

OPC UA软网关将包含在近期即将发布的三三开源物联网平台 v1.1.0 版本中,提供给大家免费下载使用,敬请关注我们的网站(www.sansaniot.com)、技术交流QQ群(623123566)获取版本发布消息。

这篇关于SANSAN每周新鲜事|OPC UA 数据采集,你真的了解吗?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/770360

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本