OPC组对象接口编程

简介: OPC组对象接口编程

OPC组对象接口

OPC组对象的COM接口模型如图

6e492caa805e462e955a5b800359e09c.png

(1)IOPCItemMgt接口及其成员函数的功能是允许OPC客户程序添加和删除项对象并可控制项对象的行为。

(2)IOPCGroupStateMgt接口及其成员函数允许客户程序管理组对象的所有状态,最基本的功能是改变组对象的更新速率和活动状态。

(3)IOPCPublicGroupStateMgt为可选接口,用于于将私有组对象转换成公共组对象,因为当客户创建一个组对象时,被初始化为私有组对象。

(4)lOPCSyncIO接口允许客户对服务器执行同步读/写操作,操作将一直运行到完成才返回。

(5)IOPCAsyncIO2接口允许客户对服务器执行异步读/写操作,操作被“排队等候”,函数立即返回。每项操作被看作一个“事务”,并被分配一个事务ID,当操作完成时,客户IOPCDataCallback接口的回调将执行。回调中的信息指出了事务ID和操作结果。

(6)IConnectionPointContainer接口:组对象必须实现此接口,与服务器对象的此接口的唯一区别是管理的出接口不一样,组对象管理的出接口是IOPCDataCallback接口,可使客户与服务器连接并进行最有效的数据传送。

(7)IOPCAsyncIO(old)接口是数据存取规范1.0必须实现的接口之一,按照程序兼容规则,符合规范2.0的服务器也应该实现规范1.0的必选接口。

(8)IDataObject(old)接口是OPC规范1.0需要服务器实现的接口,这允许使用OPC数据流格式创建客户与组对象之间的Advise接口,用于进行高效的数据交换。


OPC项

OPC项代表了与服务器里数据源的连接。从定制接口(Custom Interface)角度来看,一个OPC项不能被OPC客户程序作为一个对象来进行操作,因此,在OPC项中没有定义外部接口。所有对OPC项的操作都是利用OPC项的包容器(OPC组)或OPC项的定义来进行的。每个OPC项包含值(Value)、品质(Quality)和时间戳(Time S tamp)。值(Value)的类型是VARIANT,品质的类型是SHORT。值表示实际的数值,品质则标识数值是否有效,时间戳则反映从设备读取数据的时间或者服务器刷新其数据存储区的时间。应当注意的是项不是数据源,而只是与数据源的连接。OPC项应该被看成是数据地址的标识,而不是数据的物理源。OPC规范中定义两种数据源,即内存数据(cache data)和设备数据(device data)。每个OPC服务器都有数据存储区,存放着值、品质、时问戳,以及相关设备信息,这些数据称为内存数据。而现场设备中的数据则是设备数据。


OPC服务器总是按照一定的刷新频率通过相应驱动程序访问各个硬件设备,将现场数据送入数据存储区。这样对OPC客户而言,可以直接读/写服务器存储区中的内存数据。这些数据是服务器最近一次从现场设备获得的数据,但并不能代表现场设备中的实时数据。为了得到最新的数据,OPC客户可以将数据源指定为设备数据,这样服务器将立刻访问现场设备并将现场数据反馈给OPC客户。由于需要访问物理设备,所以OPC客户读取设备数据时速度较慢,往往用于某些特定的重要操作。

相关文章
|
1月前
接口
使用使用接口的时候,需要注意: 1.接口是没有静态代码块或者构造方法的。 2,一个类只能继承一个,但是一个类可以同时实现多个接口。 格式: public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB {} 3.如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。 4、如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类。 5如果实现类锁实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进 行覆善重写。 6.一个类如果直接父类当中的方法,和接口当中的
9 0
|
23天前
|
前端开发 API C#
C# 接口
C# 接口
19 1
|
3月前
使用接口
使用接口的时候,需要注意: 1.接口是没有静态代码块或者构造方法的。 2,一个类只能继承一个,但是一个类可以同时实现多个接口。 格式: public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB {} 3.如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。 4、如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类。 5如果实现类锁实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进 行覆善重写。 6.一个类如果直接父类当中的方法,和接口当中的默认
167 29
|
6月前
接口能玩的小花招
接口能玩的小花招
26 0
|
12月前
|
程序员
14 接口
14 接口
77 0
|
C# 索引
C#-接口
接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。接口可有方法、属性、事件和索引器或这四种成员的任何组合类型,但不能包含字段。接口只包含了成员的声明,在继承的类中进行实现。
87 0
|
Java Maven
一文了解ConfigurationConditon 接口
在了解ConfigurationCondition 接口之前,先通过一个示例来了解一下@Conditional 和 Condition。
66 0
|
Java 程序员 编译器
🛰️🛰️五、实现多个接口
🛰️🛰️五、实现多个接口
160 0
🛰️🛰️五、实现多个接口
|
JavaScript
46、EventTarget 接口
DOM 节点的事件操作(监听和触发),都定义在EventTarget接口
119 0
|
JavaScript 前端开发 容器
56、GlobalEventHandlers 接口
某个对象的abort事件(停止加载)发生时,就会调用onabort属性指定的回调函数。 各种元素的停止加载事件,到底如何触发,目前并没有统一的规定。因此实际上,这个属性现在一般只用在<img>元素上面。
123 0