基于opc协议的数据通讯.pdf
《基于opc协议的数据通讯.pdf》由会员分享,可在线阅读,更多相关《基于opc协议的数据通讯.pdf(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于 OPC 协议的数据通信 摘 要 OPC 是一种通用的工业标准,OPC(OLE for Proecss Control)是微软公司的对象链接和嵌入技术在过程控制领域的应用,为工业自动化软件面向对象的开发提供一项统一的标准。它是解决应用软件与各种设备驱动程序之间的通信而提出的,它把硬件厂商和应用软件开发商分离开来,大大提高了双方的工作效率。OPC 减少了系统集成过程中的重复工作,代表了今后过程控制系统通信标准的发展方向。论文还分析介绍了 OPC 核心技术 COM(Component Object Modole)组件对象模型,并学习了 COM 组件的实现、发布、创建方法和 COM 技术在工业自
2、动化软件及 OPC 技术中的应用细节。使用连接点技术、Tear-off 技术完成 OPC 接口程序编制。按照 OPC 规范,开发出一个具有与第三方 OPC 客户进行基本数据通信能力的 OPC 数据访问服务器。该服务器实现了同步、异步、订阅等数据采集和同步、异步方式的数据设置功能。关键词 OPC,COM,接口,连接点技术,Tear-off 技术 BASE ON THE SPECEFICATION OF OPC DATA ACCESS ABSTRACT OPC is such a standard that we need.OPC means OLE(Object Linking and Embe
3、dding)for Progress Control.OPC was put forward in solving communication between application software and vary drivers of devices.It makes the work more efficient.Consequently,the repeated exploitations are reduced in the integrated system.OPC specification will be a developmental aspect about proces
4、s automations communication normal for future.In the master student project the Component Object Model as OPC nut technology and its applications detail about the realize、issuance and establish method of COM component.The uses of connection pointer technology and Tear-off technology,the program for
5、OPC interface was accomplished.According to the OPC Data Access Specification,the OPC of Data Access with the basic function has been developed,which can communicate with OPC Client of the third party.This server can complete sync read,async read or async subscription,and sync write or async write.K
6、EY WORDS:opc,com,interface,connectionpoint technology,Tear-off technology 第 i 页 目 录 第一章 绪论1 1.1 OPC 概论1 1.1.1 控制系统现状1 1.1.2 OPC 规范简介2 1.1.3 OPC 技术的发展3 1.1.4 OPC 技术的发展现状3 1.2 课题的主要研究内容及意义4 1.2.1 问题的提出4 1.2.2 主要研究内容5 1.2.3 研究的意义5 1.2.4 论文的主要结构6 第二章 COM 概论7 2.1 COM 与 OPC 的关系7 2.2 COM 技术7 2.3 创建 COM 组件9
7、 2.3.1 建立信道10 2.3.2 线程与进程11 2.3.3 实现 QueryInterface()15 2.3.4 引用计数16 2.4 COM 的数据类型17 2.4.1 BSTR 数据类型17 2.4.2 变量数据类型18 2.5 内存管理 19 第三章 OPC 体系结构22 3.1 OPC 基本框架22 3.2 OPC 规范术语23 第 ii 页 3.2.1 公共组23 3.2.2 数据源与时间戳23 3.2.3 活动状态24 3.2.4 更新率24 3.2.5 OPCHANDLE24 3.3 OPC 中的项结构25 3.4 质 量26 第四章 OPC 通信机制27 4.1 OP
8、C 对象与接口29 4.1.1 OPC 服务器对象29 4.1.2 OPC 组对象30 4.2 数据访问方法33 4.2.1 同步数据访问33 4.2.2 异步数据访问33 4.2.3 订约数据采集方式34 4.3 连接点35 4.4 活动状态和数据源对数据采集的影响37 4.4.1 IOPCSyncIO37 4.4.2 IOPCAsyncIO38 4.4.3 IOPCAsyncIO238 4.4.4 通过 IDataObject 订阅39 4.4.5 通过 IOPCDataCallback 订阅39 第五章 OPC 服务器的开发42 5.1 设计要求42 5.2 平台与工具42 5.3 设计
9、方案42 5.4 系统访问流程图43 5.5 OPC 服务器的总体设计45 5.5.1 OPCServer 类45 第 iii 页 5.5.2 ISimuOPCServer 类46 5.5.3 OPCGroup 类46 5.5.4 OPCItem 类47 5.5.5 ISimuOPCItemMgt 类48 5.5.6 ISimuOPCSyncIO 类48 5.5.7 ISimuOPCAsyncIO2 类48 5.5.8 ISimuOPCGroupStateMgt 类48 5.6 服务器接口类的实现48 5.6.1 添加组48 5.6.2 添加项52 5.6.3 同步读写数据操作53 5.6.4
10、 连接点的实现55 5.6.5 异步数据通信58 5.7 服务器安装部署60 5.7.1 注册 Proxy/Stub DLL60 5.7.2 组件种类注册60 5.7.3 组件的注册项目61 5.8 OPC 服务器的测试62 总结64 参考文献66 附录69 致谢87 攻读学位期间发表的学术论文87 北京化工大学硕士研究生论文 第 1 页 第一章 绪 论 11 OPC 概论 111 控制系统现状 目前,工业自动化系统已经得到广泛应用,系统的集成度越来越高。工业现场可以采用的仪器仪表种类十分丰富,工业控制过程越来越复杂,同时控制系统也逐渐与商业系统结合到一起。随着监视和控制生产过程的 DCS 和
11、 SCADA 系统的使用,以往由手工采集的数据变成自动采集。将现场的数据进一步分析与处理,为与之相关的各种经营销售提供数据也成为可能。传统的实时监控系统由于不具备开放性,各个部分的联系过于紧密,使系统过于复杂,这样系统的更新、扩展、升级都变得非常困难,同时也增加了系统维护的难度。传统的实时监控系统开发中出现的另一个主要问题是软件的重复开发,软件不能够重用,资源不能共享,造成大量人力物力资源的浪费。随着计算机软件的发展,这种情况有所改观,高级语言中库函数的采用,实现了一定程度上资源的共享,尤其是面相对象的方法的应用,使得我们可以利用面相对象的继承等方法大量重用源代码。但这些重用只是对源代码级的重
12、用而不是对可执行文件级的重用,对每一类库都要重新编译,所以并没有真正实现资源共享,并且对某个模块中某个类库的修改将引起所有引用该类库的模块的修改,因此非常难以实现某个模块的升级。同时,为一种语言开发的类库以及函数库都不能够为其他语言所用,也大大限制了软件的重用。一般实时监控系统为分布式的结构,实现了人机接口、通信、数据处理等功能在网络上的分布,同时将一个系统划分为各个子系统,虽然降低了系统的复杂程度,改善了系统性能,减少了开发周期与维护费用,但由于系统各个计算机的通信协议依赖于某个厂家,没有形成统一的标准,不同厂家之间的软件与硬件的集成难于实现,也没有真正实现不同厂家的软件共享。因此这就迫切需
13、要一种能有效进行数据访问和管理的开放标准,使工业控制 第 2 页 计算环境中的各个数据源之间能够灵活地进行通信。OPC(OLE for Process Control,面向过程控制的 OLE)作为硬件与软件之间的一个中间件解决了以上的问题,它为工业计算环境提供了这样一种标准,支持分布式应用和异构环境下软件的无缝集成。供应商可以开发一个高度优化的、可重用的 OPC Server 访问底层的硬件,并将数据以 OPC 接口方式提供给任何支持 OPC规范的客户端软件,客户就可以按照统一的数据访问标准访问不同厂商的硬件产品。112 OPC 规范简介 OPC 规范作为一个工业标准,是开发 OPC 服务器与
14、 OPC 客户软件之间数据传输的规范,并已形成一个体系。根据开发软件功能的不同,OPC 制定了以下领域单独规范:1 数据访问规范:定义了 OPC 服务器中一组 COM 对象及其接口,并规定了客户对服务器程序进行数据存取时需要遵循的标准。借助 Microsoft 的 DCOM 技术,OPC 实现了高性能的远程数据访问能力。23 报警和事件处理规范:该规范提供了一种通知机制,在指定事件或报警条件发生时,OPC 服务器能够主动通知客户程序。4 历史数据访问规范:该规范提供一种通用历史数据引擎,可以向感兴趣的用户和客户程序提供数据汇总和数据分析等额外的信息。56 图 11 基于 OPC 协议的体系 第
15、 3 页 安全性规范:该规范提供了一种专门的机制来保护 OPC 服务器中的现场数据,防止未授权的操作误修改这些参数。7 批量过程规范:该规范基于 OPC 数据存取规范和 ISA88 系列批量控制标准,提供了一种存取实时批量数据和设备信息的方法。8 113 OPC 技术的发展 OPC 基金会(OPC Foundation)是管理 OPC 标准的国际组织,其成员几乎包括了世界上所有的控制系统、仪器仪表和过程控制系统的主要供应商。OPC 规范就是这些领先的自动化软硬件供应商与微软公司合作,制定的一套标准的OLE/COM/DCOM 接口协议。9 第一阶段在1996年8月由OPC Task Force(
16、OPC Foundation的前身)发布了OPC 1.0 版本。随着 1997 年 2 月 Microsoft 公司推出 Windows95 支持的 DCOM 技术,1997 年9 月新成立的 OPC Foundation 对 OPC 规范进行了修改,发布了 OPC 规范 1.0A 版,改名为数据存取规范 1.0A 版(Data Access Standard)。增加了数据访问等一些标准,OPC 规范得到了进一步地完善。1998 年推出 OPC 2.0 版本,修正了 1.0 版本的一些错误,并新增了几个接口,调整了数据通信的方法,使程序更稳定和健壮。1998 年 12 月发布了报警事件规范 1
17、.0 版。1999 年 12 月升级到 1.01 版。1998年还发布了历史数据存取规范 1.0 版。2000 年 1 月发布了批量过程规范 1.0 版。同年 10 月发布了安全性规范 1.0 版。现在网络技术迅猛发展,作为其新技术之一的可扩展标记语言(extensible markup language,XML)非常适合不同应用程序间的数据交换,OPC 基金会专门成立了 XML 工作组,正在努力制定将 OPC 数据向 Internet 上的应用程序开放,从而增强与 OPC 兼容应用程序的电子商务功能的规范。114 OPC 技术的发展现状 OPC 技术在国外已经具有多年的发展历史,已经在过程控
18、制和自动化领域中 第 4 页 进行了大量的应用。而最近,随着 CE 等嵌入式系统的兴起,一些大型的跨国公司正在开发可供嵌入式系统使用的 OPC。.NET 技术加入到 OPC 规范中去,使其适应 XML 技术,OPC 又有了进一步的发展应用。当前 OPC 在国外已不仅仅局限在过程控制领域的应用,已经有使用 OPC 规范成功搭建微波通讯网络的报导,这使OPC 的应用跨入了更广阔的空间。当前国内对 OPC 规范在过程控制领域也做了大量的推广和研究,在电力、化工、水处理、造纸、智能建筑以及国防领域都有广泛的应用,如电厂电力设备监控10、化工流程控制、造纸工业制浆过程 DCS 控制11、智能建筑弱电系统
19、集成12。由于其巨大的技术优势和经济优势在国民经济和国防建设中发挥了良好作用。现在,国内已经有一些公司加入到 OPC 基金会,成为其会员,并开发出一些支持 OPC技术的工控软件,如北京亚控公司的“组泰王”,投放市场后获得了用户的良好反应。12 课题的主要研究内容及意义 121 问题的提出 在生产现场,存在着大量控制器和现场数字设备,这些设备来自不同的制造商,遵从不同的通信标准,只能组成各自的控制系统,与特定的应用软件通信。虽然某些网络之间可通过协议转换实现互联,但并不具有普遍性。传统的过程控制系统中,为使每个应用程序与设备交换信息,必须为每个设备提供相应的驱动程序,由于设备多样性和驱动程序不兼
20、容性,使应用程序开发者必须花大量的精力开发各设备的驱动接口,从而使开发时间和费用大大增加。设备不具有互操作性,使用中硬件的升级、变更和增加都可能引起驱动程序的变化,从而在维护过程中引起二次投资。由于每一个应用程序有各自的驱动程序,当多个应用程序读取同一数据源,经常发生冲突。设备厂商虽然可能提供驱动程序,但与用户开发的应用软件往往协议不一致,限制了客户对软件和硬件的选择。为解决这个一直困扰工业自动化控制领域的难题,国内外都进行了大量的研究,提出了许多的解决方案。比较成功的是 OPC 基金会制定的 OPC 规范,根据该 第 5 页 规范开发的 OPC 服务器,作为设备与应用软件之间通信的中间件,很
21、好地解决了上述问题,OPC 正在逐渐成为过程控制的数据通信标准。我国在这方面的研究起步较晚,自 OPC 规范发布以来,才取得了较大的进展,现已列入国家“八五”科技攻关项目。与此同时,全国现在已有多家科研院校和控制系统公司对其研究,开发自主知识产权的控制软件。122 主要研究内容 针对传统控制过程中的不足和局限性,研究 OPC 技术的体系结构和通信机制,以及 OPC 服务器开发的技术细节。并对 OPC 的技术基础 COM 进行了深入研究,掌握一般基于 COM 的组建开发流程和实现技术。在服务器开发中,提出了 OPC Server 对象、OPC Group 对象和 OPC Item 对象的结构模型
22、,根据各对象实现接口函数,拆分出多个子功能模块,实现同步读写、异步读写、订阅采集等通信方式。兼容 OPC 2.0 的异步通信操作时,使用连接点技术,对其也进行了分析研究。为满足不同的应用程序从各种现场设备获取数据,课题主要涉及如下内容:COM 技术了理论基础和开发细节 OPC 规范的体系结构和通信方式,包括连接点等 OPC 服务器开发的关键技术 OPC 服务器的设计与实现 123 研究的意义 当前我国还有大量早期的 DCS 控制系统,它们使用设备供应商的驱动进行通信,其数据格式并不规范,与现在主流应用程序不能很好地兼容。为了有效地发挥这些原有设备的潜能,使其能连接到当前多客户的应用环境中,对
23、OPC 规范的研究将非常具有现实意义。此外,对作为过程控制通信标准的 OPC 的研究,将促进我国在工业控制领域的发展。在国际化过程中,中国已经成为“世界工厂”,各种先进的管理和控制技术都在这个试验场中运用,我们应该抓住机遇,跟上世界发展的潮流,掌握和发展控制领域具有自主知识产权的核心技术,将对经济建设和国防现代化产生积极而深远的影响。第 6 页 124 论文的主要结构 本论文课题是研究基于 OPC 规范的数据通信,开发基于 COM 技术的 OPC 数据访问服务器。论文由理论综述和实际开发两部分组成,论文分五章,各章主要内容如下:第一章绪论部分简单介绍了 OPC 规范及其产生背景、发展历史、当前
24、 OPC技术研究和应用的现状。说明了论文的主要内容。第二章详细介绍了 OPC 规范的理论基础 COM 技术。列举了 COM 中的一些基本术语,分析组件创建的基本原理和技术细节,还介绍了 COM 的数据类型和内存管理等内容。第三章介绍了 OPC 的体系结构。包括它的框架结构和 OPC 规范的相关术语。第四章详细阐述了 OPC 通信的机制。包括 OPC 规范的对象与接口、OPC通信的方式、连接点技术和活动状态与数据源对数据采集影响的分析。第五章 OPC 服务器的总体设计。给出了 OPC 服务器中对象的总体结构以及数据结构。OPC 服务器的具体实现。详细介绍了实现服务器对象的一些关键细节。这是本论文
25、的一个重点。第 7 页 第二章 COM 概论 COMComponent Object Model(组件对象模型的缩写)是开发 OPC 客户/服务器的技术基础。在 OPC 软件开发中将大量涉及 COM 的基本概念和设计方法。本章主要介绍 COM 技术的基础知识和如何创建 COM 对象。21 COM 与 OPC 的关系 OPC 是 OLE 在工业控制领域的应用。OLE 是微软为应用程序的集成提供面相对象的机制。OLE 引入了复合文档的概念,所谓复合文档就是指在一个文档中包含了另外应用程序的对象。另一个数据集成机制是动态数据交换(DDE),DDE 可以支持数据链接,但所用的容器要用自己的编码来调整数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 opc 协议 数据通讯
限制150内