OPC DA 2.0对象接口定义

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OPC服务器可以采用EXE方式或者DLL方式实现,它可以运行在本地计算机上,也可以运行在网络上的远程计算机上。实际上就是一个典型的COM组件,只不过OPC服务器的接口是由OPC标准组织规定的标准接口。
OPC客户程序和OPC服务器程序通过COM组件(组件对象模型)接口进行相互之间的通信。对于OPC客户端来说,一个OPC DA的服务器提供了2个组件(服务器对象和组对象),客户只能通过组件接口才能同OPC服务器打交道。下面分别介绍组件对象的接口。

任何类型服务器的COM接口都有可选接口和必选接口之分,必选接口是符合此规范服务器必须实现的接口,它是服务器运行的基础,可选接口用于扩充服务器的功能,可以根据自己设备的情况选择实现。([]内的为可选实现接口)

有关OPC服务器对象的COM接口定义如下:

IUnknown接口是所有COM对象必须实现的最基本接口。其它接口都派生于IUnknown接口。在第二章已经讲过IUnknown接口的成员函数。

IOPCCommon接口被应用于各种类型的服务器(例如:OPC报警与事件服务器),它们共享这个接口设计。它提供设置和查询LocaleID(本地语言标识)的功能,对特定的客户/服务器交互有效,也就是说,一个客户的行为不会影响其它客户。

IOPCServer接口是OPC服务器对象的主要接口,它可完成组对象的动态创建、删除、枚举和获得当前状态等操作并对其进行管理。服务器对象必须提供此接口。

IConnectionPointContainer接口主要提供了IOPCShutdown的出接口连接点访问支持。IOPCShutdown出接口用于服务器主动与客户程序断开连接时对客户程序进行通知。OPC服务器必须支持此接口。它的实现与一般连接点对象的实现相同。

IOPCServerPublicGroups、IPersistFile和IOPCBrowseServerAddressSpace为可选接口,OPC服务器提供商可根据需要选择是否需要实现。其中IOPCServerPublicGroups接口用于公共组进行管理。IPersistFile接口允许用户装载和保存服务器的设置,这些设置包括服务器通信的波特率、现场设备的地址和名称等。这样用户就可以知道服务器启动和配置的改变而不需要启动其它的程序。IOPCBrowseServerAddressSpace允许用户浏览服务器中有用组(项)的数据,为用户提供OPC服务器各个组的定义列表。

有关OPC组对象的COM接口定义如下:

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

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

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

有组对象。

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

IOPCAsyncIO2接口允许客户对服务器执行异步读写操作,操作被“排队等候”,函数立即返回。每项操作被看作一个“事务”,并被分配一个事务ID,当操作完成时,客户IOPCDataCallback接口的回调将执行。回调中的信息指出了事务ID和操作结果。这两个是数据访问规范进行数据访问的最重要接口。

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

IOPCAsyncIO(old)接口是数据存取规范1.0必须实现的接口之一,按照程序兼容规则,符合规范2.02的服务器也应该实现规范1.0的必选接口。IOPCASynCIO接口允许客户对服务器执行异步读写操作,其行为与IOPCAsyncI02类似,可参考IOPCAsyncI02,只是操作完成后结果是由IAdviseSink的回调返回给客户。

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


相关文档
最新文档