通讯协议032——全网独有的OPC HDA知识一之聚合(一)

本文简单介绍OPC HDA规范的基本概念,更多通信资源请登录网信智汇(wangxinzhihui)。

本节旨在详细说明HDA聚合的要求和性能。其目的是使HDA聚合标准化,以便HDA客户端能够可靠地预测聚合计算的结果并理解其含义。如果用户需要聚合中的自定义功能,则应将这些聚合编写为自定义聚合。

标准聚合必须尽可能一致,这意味着每个聚合的行为必须与输入参数、原始数据和边界条件相似的其他聚合的行为相似。在可能的情况下,总量应以类似的方式处理投入和先决条件。本节分为两个部分。第一小节涉及所有聚合共同的聚合特性和行为。其余小节涉及特定于聚合的聚合的特性和行为。

本篇介绍通用特征。

1、生成间隔

要读取聚合,OPC客户端必须指定三个时间参数:

- start time (开始)

- end time (结束)

-重新采样间隔 resample interval (Int)

OPC服务器必须使用这三个参数生成一系列时间间隔,然后计算每个时间间隔的聚合值。本节指定了在给定三个参数的情况下生成的时间间隔。在表中,我们将Range定义为|结束-开始|。

2、数据类型

以下所有聚合仅适用于数字数据类型,即整数或实数/浮点数。不支持日期、字符串、数组等。

然而,在某些情况下,OPC服务器可能具有非数字类型的项目类型(即“VT_BSTR”),但该项目实际上代表一个数字值。因此,每个聚合都必须尝试使用VariantChangeType将项值转换为数字类型。必须对原始历史记录列表中的每个项目执行此操作。

如果某个区间中的任何项目未能转换,则不应在聚合计算中使用该项目,并且聚合的质量应不确定/低于标准。如果未能在一个时间间隔内转换所有项,则聚合占位符应返回坏质量OPCHDA_CONVERSION。

3、数据质量

所有聚合都应在计算中省略错误的数据值。如果忽略任何值,则聚合质量应不确定/低于标准。

在某些情况下,会存在不确定的值(即既不好也不坏)。是否从聚合调用中省略这些值将取决于服务器。服务器文档必须清楚地说明服务器将如何处理不确定的值。如果在合计计算中使用了不确定值,则这些区间的质量应为不确定/低于标准。

未完待续。更多通信资源请登录网信智汇(wangxinzhihui)。

 

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

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

相关文章

【C++】数据结构与算法:常用查找算法

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍常用查找算法。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#x1…

【网络】DNS、ICMP、NAT

目录 一、DNS(Domain Name System) 1、DNS背景 2、域名简介 二、ICMP协议 1、ICMP功能 2、ICMP的报文格式 3、ping命令 4、traceroute命令 三、NAT技术 1、NAT技术背景 2、NAT IP转换过程 3、NAPT 4、NAT技术的缺陷 5、NAT和代理服务器 一、DNS(Domain Name Syste…

Visual Studio在Debug模式下,MFC工程中包含Eigen库时的定义冲突的问题

Visual Studio在Debug模式下,MFC工程中包含Eigen库时的定义冲突的问题 报错信息 Eigen\src\Core\PlainObjectBase.h(143,5): error C2061: 语法错误: 标识符“THIS_FILE” Eigen\src\Core\PlainObjectBase.h(143,1): error C2333: “Eigen::PlainObjectBase::opera…

python+django+mysql项目实践二(前端及数据库)

python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 前端模板 添加模板 在templates下创建 views文件中添加 创建数据库 连接数据库 在setting文件中进行配置 创建表

MyBatis查询数据库(4)

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 终于到了MyBatis最后一篇,这篇讲的是动态SQL的使用。 复杂情…

无涯教程-Perl - 环境配置

在开始编写Perl程序之前,让我们了解如何设置我们的Perl环境。 您的系统更有可能安装了perl。只需尝试在$提示符下给出以下命令- $perl -v 如果您的计算机上安装了perl,那么您将收到以下消息: This is perl 5, version 16, subversion 2 (v5.16.2) b…

ES6 数组的用法

1. forEach() 用来循环遍历的 for 数组名.forEach(function (item,index,arr) {})item:数组每一项 , index : 数组索引 , arr:原数组作用: 用来遍历数组 let arr [1, 2, 3, 4]; console.log(arr); let arr1 arr.forEach((item, index, arr) > {console.log(item, index…

推荐几款主流的Css Reset

CSS Reset CSS Reset(CSS重置)是一种技术,用于消除不同浏览器之间默认样式的差异,以确保网页在各个浏览器中的显示一致性。由于不同浏览器对元素的默认样式有所不同,使用CSS Reset可以将这些默认样式归零或统一&#x…

阿里云安全组设置

简介​ 云主机安全组必须打开如下端口: ssh:22http:80https:443ftp:21、20000~30000 阿里云安全组端口开放教程​ 腾讯云安全组端口开放教程​ 华为云安全组端口开放教程​

第四次作业

1. 简述静态网页和动态网页的区别。 静态页面:请求响应信息,发给客户端进行处理,由浏览器进行解析,显示的页面。在网站设计中,纯粹HTML格式的网页(可以包含图片、视频JS (前端功能实现)、CSS (…

认识 MyBatis + MyBatis如何使用 (MyBatis操作数据库)

前言 本篇介绍了什么是MyBatis,MyBatis的前期配置,MyBatis操作数据库的两种方式:.xml文件 / 注释,使用MyBatis的一些注意,如有错误,请在评论区指正,让我们一起交流,共同进步&#x…

idea 2023 新版ui中git的相关操作

前两个月换了新电脑,下了最新版的idea发现可以切换一套新的ui了 切换新ui肯定不太习惯,很多操作都得重新摸索一下 在这里记录几个git相关的操作 忽略我下面截图中当前项目是js的后端项目…… 切换ui 首先说一下怎么切换新旧版ui,我这里就…