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

通讯协议057——全网独有的OPC HDA知识一之接口(十二)IOPCHDA_DataCallback

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

1)HRESULT  OnDataChange(dwTransactionID, hrStatus, dwNumItems, pItemValues, phrErrors)

此方法由客户端提供,用于处理来自OPCHDA服务器的通知,这些通知是由对OPCHDA_AsyncRead::AdviseRaw和OPCHDA_AsyncRead::AdviseProcessed的调用引起的。

请注意,无论phrErrors字段的内容如何,都必须定义好项值。

2)HRESULT  OnReadComplete(dwTransactionID, hrStatus, dwNumItems, pItemValues, phrErrors)

此方法由客户端提供,用于处理从OPCHDA_AsyncRead::ReadRaw、OPCHDA_AsyncRead::ReadProcessed和OPCHDA-AsyncRead:ReadAtTime返回的数据。

请注意,无论phrErrors字段的内容如何,都必须定义好项值。这意味着pItemValues数组将存在,并且将具有dwNumItems成员。如果phrErrors字段指示成员没有数据,则pItemValues条目的dwCount将为0,时间戳、质量和数据的指针为NULL。客户端句柄和AggregateID必须仍然有效。

请注意,给定的客户端句柄、聚合类型或时间戳可能在数组中出现多次。

3)HRESULT  OnReadModifiedComplete (dwTransactionID, hrStatus, dwNumItems, pItemValues, phrErrors)

此方法由客户端提供,用于处理从OPCHDA_AsyncRead::ReadModified返回的数据。

请注意,无论phrErrors字段的内容如何,都必须定义好项值。

还要注意,给定的客户端句柄或时间戳可能在数组中出现多次。

4)HRESULT  OnReadAttributeComplete(dwTransactionID, hrStatus, hClient, dwNumItems, pAttributeValues, phrErrors)

此方法由客户端提供,用于处理从OPCHDA_AsyncRead::ReadAttribute返回的数据。

请注意,无论phrErrors字段的内容如何,都必须定义好属性值。

请注意,无论phrErrors字段的内容如何,都必须定义好注释值。

5)HRESULT  OnReadAnnotations(dwTransactionID, hrStatus, dwNumItems, pAnnotationValues, phrErrors)

此方法由客户端提供,用于处理从OPCHDA_AsyncReadAnnotations::Read返回的数据。

6)HRESULT  OnInsertAnnotations (dwTransactionID, hrStatus, dwCount, phClients, phrErrors)

此方法由客户端提供,用于在完成OPCHDA_AsyncAnnotations::Insert时处理来自服务器的通知。

请注意,在初始请求中返回错误的项目不应在此处返回,即返回的列表可能是“稀疏的”,并且没有指定其顺序。

7)HRESULT  OnPlayback (dwTransactionID, hrStatus, dwNumItems, ppItemValues, phrErrors)

此方法由客户端提供,用于处理来自OPCHDA服务器的通知,这些通知是由对OPCHDA_Playback::ReadRawWithUpdate和OPCHDA_Playback::ReadProcessedWithUpdate的调用引起的。

请注意,无论phrErrors字段的内容如何,都必须定义好值、时间戳和质量。

8)HRESULT  OnUpdateComplete (dwTransactionID, hrStatus, dwCount, phClients, phrErrors)

此方法由客户端提供,用于在完成OPCHDA_AsyncUpdate::Insert、OPCHDA_AsyncUpdate::Replace、OPCHDA_AsyncUpdate::InsertReplace、OPCHDA_AsyncUpdate::DeleteRaw和OPCHDA-AsyncUpdate:::DeleteAtTime时处理来自服务器的通知。

请注意,在初始请求中返回错误的项目不应在此处返回。即,返回的列表可能是“稀疏的”。但是,返回列表的顺序必须与更新调用的参数顺序相匹配,以允许客户端将phrErrors代码与请求的实际更新相匹配。这是必要的,因为客户端可能在一次调用中对同一项应用多个更新,而知道哪些更新没有成功的唯一方法是按照phrErrors数组的顺序。

9)HRESULT  OnCancelComplete(dwCancelID)

此方法由客户端提供,用于在异步取消完成时处理来自服务器的通知。

此回调仅在异步取消之后发生。请注意,如果Cancel Request返回S_OK,则客户端可能会收到此回调。如果取消请求失败,则客户端不应收到此回调。

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

http://www.lryc.cn/news/153154.html

相关文章:

  • 后端SpringBoot+前端Vue前后端分离的项目(一)
  • docker 安装 MySQL5.7
  • 分布式session的4种解决方案
  • SQL Server2008下载地址
  • MySQL函数和约束
  • 关于一个git的更新使用流程
  • vue 对后端返回字段值为null的变成空字符串
  • C++,菱形继承和虚继承
  • js实现一行半文本的截取
  • 计算一个区间时间差值,时间保留剩下的差值
  • uniapp 微信小程序添加隐私保护指引
  • 行业追踪,2023-08-30
  • Redis——》Redis的部署方式对分布式锁的影响
  • VTK——使用包围盒切割医学图像
  • 在工具提示中使用自绘修改字体
  • 【Git管理工具】使用Docker部署GitLab服务器
  • 安装kali虚拟机镜像的坑
  • 【Android】TextView适配文本大小并保证中英文内容均在指定的UI 组件内部
  • 【力扣每日一题】2023.8.31 一个图中连通三元组的最小度数
  • C语言--volatile
  • 技术深入解析与教程:网络安全技术探秘
  • Android studio 实现生成二维码和扫描二维码
  • Linux中7种文件类型
  • 基础算法--快速排序
  • 机器学习的第一节基本概念的相关学习
  • Python 之__name__的用法以及解释
  • 【FPGA零基础学习之旅#12】三线制数码管驱动(74HC595)串行移位寄存器驱动
  • networkX-03-连通度、全局网络效率、局部网络效率、聚类系数计算
  • 【深入解读Redis系列】Redis系列(五):切片集群详解
  • 无涯教程-JavaScript - NORMDIST函数