OPC的回调接口在DCOM中实现的研讨.pdfVIP

  • 12
  • 0
  • 约5.09千字
  • 约 3页
  • 2018-01-11 发布于广东
  • 举报
2007 年全国电力企业信息化大会论文集 OPC 的回调接口在DCOM 中实现的研究 任学军 (陕西电力信通有限公司) 摘要:OPC 技术已经成为自动控制领域中硬件与软件接口的国际标准。然而,在 OPC 中客户端对服务端实时数据的 访问,主要是一种低效的“拉”模式访问技术。为了提高数据访问的效率,必须实现一种“推”模式信息传递,即要 求服务端能够调用客户端的代码(接口),这就是回调接口。本文详细讨论了OPC 技术中DCOM 回调接口的实现方法, 这对OPC 技术的应用是有意义的。 关键字:OPC ;DCOM ;回调接口 1 OPC 技术 OPC 是OLE for Process Control 的缩写,意指过程控制中的对象链接与嵌入技术,它是由世界上一些 领先的自控系统、仪器仪表和软、硬件公司与微软联合建立的技术标准[1]。这个标准定义了应用微软操作系统 在基于 PC 的客户机之间交换自动化实时数据的方法。目前已经有300 多家自动控制领域的公司支持该标 准,它已经成为该领域事实上的工业标准。 OPC 是一种客户/服务器结构,如图1 所示。OPC 定义了硬件设备与软件应用之间的标准接口,大大减 少了接口程序的数量,提高了自动控制领域应用软件的编程效率。 2 DCOM 技术 COM (Component Object Model)是一种二进制格式的组件(Component)技术,它通过方法、属性 和事件实现代码的重用,这一点非常类似Delphi 的VCL 组件,只是VCL 是源代码级的,而COM 是 二制级的。DCOM(Distributed COM),即分布式的COM,它是与CORBA 和EJB齐名的分布对象技术之 一。使用DCOM 可以完成以下功能: (1) 编写可被多种编程语言使用的代码; (2) 创建Active 控件; (3) 通过OLE Automation 控制其它程序; (4) 与其它机器上的程序或对象进行对话。 因为DCOM/COM 的功能如此强大,所以微软公司正逐步把它作为Windows 下的主要接口。DCOM 的结构如图2 所示。 图 1 OPC 的体系结构 图2 DCOM 的体系结构 144 2007 年全国电力企业信息化大会论文集 接口:是对 COM 对象所提供的服务的描述,接口只说明 COM 对象能够提供的服务,却不说明 如何实现,以及以何种方式提供。对于客户程序的开发者来说,可以认为接口只是方法的声明,而不包 括其实现。 COM 对象:是COM 接口功能的实现,即接口的实现是在COM 对象中。COM 对象对客户是不可 见的,客户能够看到的只是COM 对象的接口。 COM 服务程序:COM 服务程序是实现了一个或多个COM 对象的程序,并通过COM 对象的接 口为客户提供服务。 COM 客户:是COM 服务的使用者,它只能通过接口访问COM 对象提供的服务。 回调接口:是COM 客户端实现的接口,客户端实现该接口的目的是为了使服务器能够调用客户 端的操作。 由图2 可见,在COM 中采用接口之后,就可以将对象的功能和对象的实现分离开,对象可以用 任何编程语言在任何运行环境中实现,只要它能够提供一致的接口。 3 OPC 中的回调接口 OPC 是基于DCOM 并用MIDL (微软的接口定义语言)语言定义的一组接口集,在其中大量使用 [2] 了回调接口,以实现事件回调功能。如在“OPC Common Definitions ” 规范中定义的 IOPCShutdown [3] 和在“Data Access Custom Interface” 规范中定义的IOPCDataCallback接口都是典型的回调(Call Back) 接口。 OPC DA (Data Access )是OPC 的核心规范之一,主要用于定义客户端对服务端实时数据的访问, 通常情况下,这种访问都是一种“拉”模式的访问,

文档评论(0)

1亿VIP精品文档

相关文档