通讯协议048——全网独有的OPC HDA知识一之接口(三)IOPCHDA_Server

本文简单介绍OPC HDA规范的IOPCHDA_Server接口方法,更多通信资源请登录网信智汇(wangxinzhihui.com)。

1)HRESULT  GetItemAttributes(pdwCount , ppdwAttrID, ppszAttrName, ppszAttrDesc, ppvtAttrDataType)

此函数返回服务器支持的项属性。也支持供应商特定的属性。供应商提供的属性可用于允许客户端访问和显示供应商特定信息。属性数据类型旨在允许在浏览项目ID时进行查询筛选。

2)HRESULT  GetAggregates(pdwCount , ppdwAggrID, ppszAggrName, ppszAggrDesc)

此函数返回服务器支持的聚合列表。还支持供应商特定的聚合。供应商提供的聚合是可用的,以允许客户端使用其特定服务器可用的所有功能。如果服务器不支持聚合,则所有指针都为NULL。

3)HRESULT  GetHistorianStatus(pwStatus, pftCurrentTime, pftStartTime, pwMajorVersion, pwMinorVersion, pwBuildNumber, pdwMaxReturnValues, ppszStatusString, ppszVendorInfo)

此函数返回有关服务器当前状态的信息。开始时间是可选的,可以作为NULL指针返回。

4)HRESULT  GetItemHandles(dwCount, pszItemID, phClient, pphServer, ppErrors)

此函数返回特定HDA项的服务器句柄和客户端句柄之间的关联。

5)HRESULT  ReleaseItemHandles(dwCount, phServer, ppErrors)

此函数释放特定HDA项目的服务器句柄和客户端句柄之间的关联。

6)HRESULT  ValidateItemIDs(dwCount, pszItemID, ppErrors)

此函数验证服务器是否知道特定的HDA项目ID。

7)HRESULT  CreateBrowse(dwCount, pdwAttrID, pOperator, vFilter, pphBrowser, ppErrors)

此函数返回一个指向OPCHDA_BROWSER接口的指针。过滤器将应用于对该浏览器实例的所有方法调用。服务器应验证筛选器阵列。服务器必须支持单个客户端同时访问多个浏览接口。筛选是服务器的可选行为。如果服务器不支持筛选,或者只支持对某些请求的属性进行筛选,则服务器应向浏览器返回一个接口,该接口只对接受的属性进行过滤。不支持过滤的服务器应返回指向未过滤浏览器接口的指针。过滤操作是相加的。若要成功通过筛选条件,项目必须成功满足所有筛选条件。

过滤和浏览的实现是特定于服务器的,但预计具有分层名称空间的服务器可能只对叶应用过滤器,导致它们返回没有满足标准的叶的分支。预计客户端可以创建一个浏览器来定位层次结构的特定区域,使用GetBranchPosition获得完全限定的分支名称,然后将该分支名称传递给使用不同过滤器集的另一个浏览器。

服务器可以选择支持字符串过滤器的通配符。为了表示单个字符,应使用“?”。为了表示多个字符,应使用“*”。

过滤器由三个参数pdwAttrID、pOperator和vFilter定义。如果属性值与筛选器值的关系与筛选器运算符匹配,则筛选器表达式为true。如果给定了多个筛选器表达式,则它们必须全部为true才能包含要包含的项。

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

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

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

相关文章

018-时间处理库,预处理

018-时间处理库,预处理 ⼀、C语⾔的时间处理库 time.h是C/C++中的⽇期和时间头⽂件,通过他可以获取系统时间及时间格式 转换 time库中常⽤函数介绍 1、函数名称: time 2、函数名称: localtime 3、函数名称: asctime 4、函数名称: ctime 5、函数名称: gmtime 6、函数名…

深入Java中的观察者模式

观察者模式是软件开发中常用的一种设计模式,它通过定义一对多的依赖关系,使得一个对象(主题)的状态变化可以通知多个其他对象(观察者)。 这种模式的优点是解耦和增加扩展性,用于实现对象之间的…

.netcore windows app启动webserver

创建controller: using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.Json.Serialization; using System.Threading.Tasks;namespace MyWorker.…

使用 ChatGPT 创建 PowerPoint 演示文稿

让 ChatGPT 成为您的助手来帮助您编写电子邮件很简单,因为众所周知,它非常能够生成文本。很明显,ChatGPT 无法帮助您做饭。但您可能想知道它是否可以生成文本以外的其他内容。在上一篇文章中,您了解到 ChatGPT 只能通过中间语言为您生成图形。在这篇文章中,您将了解使用中…

【Flink】Flink提交流程

我们通常在学习的时候需要掌握大数据组件的原理以便更好的掌握这个大数据组件,Flink实际生产开发过程中最常见的就是提交到yarn上进行调度,模式使用的Per-Job模式,下面我们就给大家讲下Flink提交Per-Job任务到yarn上的流程,流程图…

如何使用CSS实现一个响应式轮播图?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现响应式轮播图的示例⭐ HTML 结构⭐ CSS 样式 (styles.css)⭐ JavaScript 代码 (script.js)⭐ 实现说明⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带…

C++ 编译报错“jump to label”

C 编译报错“jump to label” 分析解决方法如何在Eclipse中添加编译选项 分析 void func() {int a 0;a;goto label; label:int b 0;return; }这样的代码是有问题的,因为C编译规则中,不允许goto后面还有新的变量声明。 解决方法 将所有变量声明放到第…

docker 05(dockerfile)

一、docker镜像原理 镜像可以复用 二、容器转镜像 将容器保存为镜像[参考] docker commit -a -m 现有容器ID 保存后的名称:版本号 -a :提交的镜像作者; -c :使用Dockerfile指令来创建镜像; -m :提交时的说明文字; -p :…

在Eclipse中创建javaweb工程

新建动态web工程 点击project或other之后,如何快速找到Dynamic Web Project 填写工程名等详细信息 也许会出现下面的对话框 项目结构图

4.Linux下Cmake交叉编译Qt项目到Jetson Orin Nano(arm)

由于3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM)_月上林梢的博客-CSDN博客 这一篇文章只用手动配置,一直在点、点、点。比较 LOW,现在在Ubuntu上使用Cmake实现交叉编译QT程序到Jetson Orin Nano…

计算机网络——OSI与TCP/IP各层的结构与功能,都有哪些协议?

文章目录 一 OSI与TCP/IP各层的结构与功能,都有哪些协议?1.1 应用层1.2 运输层1.3 网络层1.4 数据链路层1.5 物理层1.6 总结一下 二 ⭐TCP 三次握手和四次挥手(面试常客)2.1 TCP 三次握手漫画图解2.2 为什么要三次握手⭐2.3 第2次握手传回了ACK,为什么还要传回SYN&…

Linux 可重入、异步信号安全和线程安全

可重入函数 当一个被捕获的信号被一个进程处理时,进程执行的普通的指令序列会被一个信号处理器暂时地中断。它首先执行该信号处理程序中的指令。如果从信号处理程序返回(例如没有调用exit或longjmp),则继续执行在捕获到信号时进程…

Midjourney API 的对接和使用

“ 阅读本文大概需要 4 分钟。 ” 在人工智能绘图领域,想必大家听说过 Midjourney 的大名吧。 Midjourney 以其出色的绘图能力在业界独树一帜。无需过多复杂的操作,只要简单输入绘图指令,这个神奇的工具就能在瞬间为我们呈现出对应的图像。无…

力扣:68. 文本左右对齐(Python3)

题目: 给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放…

十八、深度学习模型30年演化史

1、模型分类 深度学习是解决问题的一系列模型与方法,但深度学习模型不是深度学习领域中唯一的研究方向,且不一定是最重要的研究方向。除了模型之外,比较重要的还有优化算法、损失函数、采样方法等。 1.1 DNN 深度神经网络(Deep Neural Networks, 以下简称DNN)是…

四、pikachu之文件包含

文章目录 1、文件包含漏洞概述1.1 文件包含漏洞1.2 相关函数1.3 文件包含漏洞分类 2、File Inclusion(local)3、File Inclusion(remote) 1、文件包含漏洞概述 1.1 文件包含漏洞 文件包含漏洞:在web后台开发中,程序员往往为了提高效率以及让代码看起来更…

优化时间流:区间调度问题的探索与解决

在浩如烟海的信息时代,时间的有效管理成为了一门不可或缺的艺术。无论是生活中的琐事,还是工作中的任务,时间都在无声地流逝,挑战着我们的智慧。正如时间在日常生活中具有的宝贵价值一样,在计算机科学领域,…

Java 并发编程

概念: 进程:运行中的程序;操作系统会给这个程序分配一定的资源(占用内存资源); 线程:线程是 CPU 调度的基本单位,每个线程执行的都是某一个进程的代码的某个片段; 明确线…

算法题-螺丝与螺母匹配 - Python

螺丝与螺母匹配 问题描述: 给你2堆大小不同的螺丝与螺母,螺丝与螺母是相互匹配的,但是螺丝与螺丝之间,螺母与螺母之间不能直接对比,仅仅螺丝与螺母进行对比,请设计一个分治算法实现。 示例: 输入&#xf…

C++ Primer 第1章 开始

C Primer 第1章 开始 1.1 编写一个简单的C程序1.1.1 编译、运行程序一、程序源文件命名约定二、从命令行运行编译器 练习 1.2 初识输入输出一、标准输入输出对象二、一个使用IO库的程序三、向流写入数据四、使用标准库中的名字五、从流读取数据六、完成程序 1.3 注释简介一、C中…