- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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)