应用COM开发OPC DA服务器
VIP免费
应用 COM 开发 OPC DA 服务器
摘 要
OPC (OLE for Process Control) 是一种通用工业控制标准,是由世界上领先的
自动化软硬件厂商与微软公司合作,所制定的一套标准的接口协议。OPC 技术主
要是为了解决由于设备驱动的非共享性,导致的应用程序难以同时与所有设备进
行通讯而提出的,它将软件应用程序开发与硬件设备提供商分离开来,两部分各
司其职,以 OPC 技术为中间件,同时提升了双方的工作效率,并从整体上优化了
典型工业控制系统兼容性差,数据传输效率低的情况,也进一步提高了系统的集
成性。OPC 技术代表了今后过程控制系统发展的主方向。
本文通过研究 OPC 数据访问规范 (OPC Data Access Specification),开发一个
可重用的 OPC DA 服务器来访问底层的硬件,并将数据以 OPC 接口的方式提供给
任何支持 OPC 规范的客户应用软件,使得客户能通过统一的数据访问标准来访问
不同厂商的硬件设备,方便系统的集成。
OPC DA 服务器的开发是以 COM (Component Object Model) 为基础的。本文
根据 COM 技术的原理,分析研究了 COM 对象的创建、实现、注册等方法,并详
细论述了基于 COM 技术的 OPC DA 服务器的开发原理和实现过程,提出了 OPC
DA 服务器的软件结构以及各对象的层次关系,给出了各对象主要接口的实现方
法。通过研究 OPC DA 的通信机制,阐述了 OPC DA 规范中以数据通报和连接点
为核心技术的两种不同的异步数据交换机制并付诸于具体实现。
本文根据实际开发所碰到的问题,给出了各接口实现过程中所需要注意的事
项,考虑到 OPC DA 服务器的向下兼容性,同时实现了 OPC 1.0 和OPC 2.0 异步
数据交换接口,分析了其中的工作原理以及回调函数的作用,完成了 OPC DA 服
务器与客户端的双向通信。
本文最后使用标准 OPC 客户端对 OPC DA 服务器的整体实现情况进行了测试,
根据 OPC DA 规范的标准,对对象管理以及同步、异步数据交换的测试结果进行
了评估。
关键词:OPC 服务器 工业控制标准 中间件 COM 技术 数据访
问规范 异步数据交换 连接点技术
ABSTRACT
OPC (OLE for Process Control) is a kind of general criterion of industrial control.
It’s a standard protocol of interface which is made by the one-up automatism software
and hardware corporations in the world. Because the drivers of devices can’t be shared
each other, the OPC technology is put forward to solve the problem and let the
applications can communicate with all the devices. It separates the development of
software applications from the hardware device providers. The two separated parts
perform their respective roles and advance their working efficiency with the OPC
technology as a middle component. The OPC technology optimizes the classic industrial
control system in the whole with the situation of poor compatibility and low efficiency
in data transmission, and improves the system integration further. It represents the main
development aspect of the process control system in the future.
This paper mainly develops a reusable OPC DA Server to access the bottom
hardware through researching the OPC Data Access Specification, and provides the data
in the way of OPC interfaces to the application software which support the OPC
specification so as to let the Clients access the different devices with a uniform data
access criterion and make the system integrate conveniently.
COM (Component Object Model) is the basis of developing the OPC DA Server.
According to the principles of the COM technology, this paper researches the methods
of creating, realizing and registering the COM object, and discusses the development
principles and realization process of the OPC DA Server which base on the COM
technology in detail. The paper also puts forward to the software structure of the OPC
DA Server and the hiberarchy of the objects, and offers the realization methods of the
main interfaces of each object. Through researching the communication mechanism of
the OPC, this paper sets forth two different asynchronous data exchange mechanisms
mainly with the data message and the connection point as the internal technologies in
the OPC DA Specification and realize them.
According to the problems got in practice, this paper describes the events need to
be noticed in the realization process. Considering the compatibility of the OPC DA
Server, the asynchronous data exchange interfaces of OPC 1.0 and OPC 2.0 are realized
at one time. This paper analyzes the working principles and the operations of the
callback functions of them and achieves the bidirectional communication between the
OPC DA Server and Client.
At last, this paper uses the standard OPC Clients to test the whole realization
situation of the OPC DA Server, and evaluates the test results of the objects
management, synchronous and asynchronous data exchange with the OPC DA
Specification.
Key Words: OPC Server, industrial control criterion, middle
component, COM technology, Data Access Specification, asynchronous
data exchange, connection point technology
目 录
摘 要
ABSTRACT
第一章 绪 论..........................................................................................................1
§1.1 OPC 概述....................................................................................................1
§1.1.1 控制系统现状....................................................................................1
§1.1.2 OPC 技术发展现状...........................................................................2
§1.1.3 OPC 规范简介...................................................................................3
§1.2 课题研究内容及意义...................................................................................3
§1.2.1 问题的提出........................................................................................3
§1.2.2 主要研究内容....................................................................................4
§1.2.3 研究的意义........................................................................................5
§1.2.4 论文结构............................................................................................5
第二章 OPC 规范.....................................................................................................7
§2.1 OPC 技术发展过程......................................................................................7
§2.2 OPC DA 规范的内容...................................................................................8
§2.2.1 OPC Server 对象结构......................................................................8
§2.2.2 OPC Group 对象结构......................................................................9
§2.2.3 OPC 通信的基本架构...................................................................10
第三章 COM 技术..................................................................................................12
§3.1 COM 特性及其与 OPC 的关系...............................................................12
§3.2 COM 对象和接口.....................................................................................13
§3.2.1 COM 对象......................................................................................13
§3.2.2 COM 接口......................................................................................15
§3.2.3 COM 接口的原则..........................................................................17
§3.3 COM 中的通信机制.................................................................................18
§3.3.1 可连接对象的双向通信机制........................................................18
§3.3.2 数据通报的双向通信机制............................................................21
§3.3.3 DCOM 技术...................................................................................22
§3.4 COM 组件的开发方式.............................................................................24
§3.4.1 COM 组件开发方式比较..............................................................24
§3.4.2 ATL 对COM 技术的支持.............................................................25
第四章 OPC DA 服务器规划设计........................................................................28
§4.1 OPC DA 服务器结构...............................................................................28
§4.2 OPC DA 通信机制...................................................................................28
§4.2.1 数据访问方法................................................................................29
§4.2.2 数据传送方式................................................................................30
§4.3 活动状态和数据源对数据获取的影响....................................................33
§4.3.1 IOPCSyncIO..................................................................................33
§4.3.2 IOPCAsyncIO................................................................................33
§4.3.3 经由 IDataObject 订阅数据...........................................................34
§4.3.4 IOPCAsyncIO2..............................................................................34
§4.3.5 经由 IOPCDataCallback 订阅数据...............................................35
§4.4 OPC DA 服务器接口方法.......................................................................35
第五章OPC DA 服务器程序实现........................................................................40
§5.1 OPC 服务器端 DA 规范内容的实现.......................................................40
§5.1.1 服务器组件对象的创建................................................................40
§5.1.2 服务器注册....................................................................................41
§5.1.3 OPC 服务器 DA 接口的实现........................................................43
§5.2 OPC DA 服务器与以太网网关的通信...................................................54
第六章OPC DA 服务器的测试............................................................................56
§6.1 服务器测试的软、硬件环境...................................................................56
§6.2 服务器通用性测试...................................................................................56
§6.3 服务器组和项的管理测试.......................................................................58
§6.4 数据同步读写测试...................................................................................60
§6.5 数据异步读写测试...................................................................................61
§6.5.1 数据异步 1.0 读写测试................................................................62
§6.5.2 数据异步 2.0 读写测试................................................................63
结束与展望..................................................................................................................65
附 录..........................................................................................................................67
参考文献......................................................................................................................80
第一章 绪论
第一章 绪 论
§1.1 OPC概述
§1.1.1 控制系统现状
在以往的工业控制中,各种仪器、仪表、PLC以及单片机等设备都是通过通信
协议与计算机进行通讯的。然而,随着计算机控制系统的不断发展,由于缺乏统一
的工业控制标准,造成不同厂商的设备乃至不同类型的设备在与计算机的通讯过程
中使用的协议都有所不同,这就给开发设备驱动程序带来了极大的不便以及大量重
复性的开发工作。有时,设备厂商仅仅对设备做了一些小小的改动,驱动程序就有
可能需要重写;此外,由于设备的多样性,在技术上也很难做到同时对不同的一些
设备进行访问来优化操作。虽然众多设备厂商也在不断尝试去解决这个问题,但是
由于不同客户有不同需求,而且存在很多不同的数据传输协议,因此收效甚微。
从程序设计角度而言,由于不同的编程语言对驱动程序的接口也有着不同的要
求,因此每一个针对不同客户开发的应用程序在与数据源进行数据交换的时候,通
常都会根据不同的硬件设备采用不同的驱动程序来提供软硬件之间的通讯,这就会
带来一些问题:
1有多少硬件设备就会有多少驱动程序;
2系统包含的硬件设备越多,则负责通信的模块也越多,使用到的驱动也就
越多,这在无形中就极大地限制了系统今后的升级换代;
3由于驱动程序一般不能共享使用,因此,不同的应用程序通常不能同时访
问同一个硬件设备;
随着计算机软件的发展,这种情况有所改观,高级语言中库函数的采用,在一
定程度上实现了资源共享,尤其是面向对象开发方法的应用,使得我们可以利用开
发语言的继承等方式来大量重用源代码。但这些只是对源代码的重用而不是对可执
行文件的重用,所以并没有在真正意义上实现资源的共享。此外,由于对某个模块
中某个类库的修改往往引发所有引用该类库的模块的修改,因此非常难以对某个模
块进行升级。同时,为一种语言开发的类库以及函数库都不能够为其他语言所用,
这也在很大程度上限制了软件的重用。
以常见的DSC (Distributed Control System) 系统为例,该系统实现了人机接口
通信以及数据处理等功能在网络上的分布,同时将一个系统划分为各个子系统,降
低了系统的复杂程度,改善了系统的性能,减少了开发周期与维护费用,但由于系
统中各个硬件设备与计算机的通信协议没有形成统一的标准,因此难以将不同的软
硬件进行有效的集成,也难以在真正意义上实现软件的共享。为了使工业控制计算
环境中的各个数据源之间能够灵活地进行通信,制订出一种能有效进行数据访问和
管理的开放标准就显得尤为关键和重要了。
- 1 -
应用 COM 开发 OPC DA 服务器
图1-1 基于OPC协议的通信体系
OPC(OLE for Process Control,面向过程控制的 OLE)技术就在这种情况下
应运而生的,它作为硬件与软件之间的一个中间件解决了以上的问题,为工业计算
环境提供了一种急需的标准。OPC支持分布式应用和异构环境下软件的无缝集成,
其通信体系结构如图1-1所示。设备供应商可以开发一个高度优化的、可重用的
OPC服务器来访问底层的硬件,并将数据以OPC接口方式提供给任何支持OPC规范
的客户端软件,这样客户就可以按照统一的数据访问标准访问不同厂商的硬件产品
了。
§1.1.2 OPC技术发展现状
OPC技术是由世界上领先的自动化软硬件厂商与微软公司合作,所制定的一套
标准的接口协议,1996年8月,OPC 1.0版本发布并成立了OPC基金会来管理OPC标
准,OPC技术在此后得到了迅猛的发展,OPC商业产品开始不断的出现,随着这几
年来OPC规范的内容不断得到修正、增强,这极大促进了OPC技术在工业生产领域
的发展,奠定了其重要地位,使得越来越多的设备厂商加入到这一技术的研究、使
用、推广的行列中。
在国外,OPC技术已有多年的发展历史[1],尤其是在过程控制以及自动化领域
得到了大量的应用[2~3]并取得了不错的效果,近年来,随着嵌入式系统的兴起,国
际上一些大型的跨国公司正积极致力于开发可供嵌入式系统使用的OPC.NET技术
力求进一步补充OPC规范的内容,使其适应XML技术,扩展OPC的应用[4],而在一
些其它领域,OPC技术也已有所触及,比如微波通讯网络的搭建等,这使得OPC能
够向更广阔的空间[5~6]发展并得到更大的运用。
当前国内对OPC规范在过程控制领域也做了大量的推广和研究,在电力、化工
水处理、造纸、智能建筑以及国防领域都有广泛的应用,如电厂电力设备监控、化
工流程控制、造纸工业制浆过程DCS控制、智能建筑弱电系统集成。由于其巨大的
技术优势和经济优势在国民经济和国防建设中发挥了良好作用。现在,国内已经有
一些公司加入到OPC基金会,成为其会员,并开发出一些支持 OPC技术的工控软
件,打破了以往的传统控制理念,站在了OPC技术发展的前端。
§1.1.3 OPC规范简介
OPC规范作为一个工业标准,是开发OPC服务器与OPC客户软件之间数据传输
的规范,并已形成一个体系。根据开发软件功能的不同,OPC制定了以下领域的单
独规范[7]:
数据访问规范[8]:定义了OPC服务器中一组COM对象及其接口,并规定了客户
- 2 -
第一章 绪论
对服务器程序进行数据存取时需要遵循的标准。
报警和事件处理规范[9]:该规范提供了一种通知机制,在指定事件或报警条件
发生时,OPC服务器能够主动通知客户程序。
历史数据访问规范[10]:该规范提供一种通用历史数据引擎,可以向感兴趣的用
户和客户程序提供数据汇总和数据分析等额外的信息。
安全性规范[11]:该规范提供了一种专门的机制来保护OPC服务器中的现场数据
防止未授权的操作误修改这些参数。
批量过程规范[12]:该规范基于OPC数据存取规范和ISA88系列批量控制标准,
提供了一种存取实时批量数据和设备信息的方法。
XML数据访问规范[13]:该规范采用基于XML的Web服务概念,用SOAP作为对
应用程序共享消息进行包装的标准协议,使用WSDL对Web服务进行描述,
OPC客户端和服务器之间通过HTTP协议传输Web服务。
§1.2 课题研究内容及意义
§1.2.1 问题的提出
从实际意义出发来看,由于目前生产现场存在着大量控制器和现场数字设备,
这些设备来自不同的制造商,遵从不同的通信标准,只能组成各自的控制系统,与
特定的应用软件通信。虽然某些网络之间可通过协议转换实现互联,但并不具有普
遍性。传统的过程控制系统中,为使每个应用程序与设备交换信息,必须为每个设
备提供相应的驱动程序,由于设备多样性和驱动程序不兼容性,使应用程序开发者
必须花大量的精力开发各设备的驱动接口,从而使开发时间和费用大大增加。设备
不具有互操作性,使用中硬件的升级、变更和增加都可能引起驱动程序的变化,从
而在维护过程中引起二次投资。由于每一个应用程序有各自的驱动程序,当多个应
用程序读取同一数据源,经常发生冲突。设备厂商虽然可能提供驱动程序,但与用
户开发的应用软件往往协议不一致,限制了客户对软件和硬件的选择。
为解决这个一直困扰工业自动化控制领域的难题,国内外都进行了大量的研究
提出了许多的解决方案。比较成功的是OPC基金会制定的OPC规范,根据该规范开
发的OPC服务器,作为设备与应用软件之间通信的中间件,很好地解决了上述问题
OPC正在逐渐成为过程控制的数据通信标准。
由于OPC规范的制定,使得所有的通信连接问题变得简单,它提供了一种软件
的总线形式,使得应用变得简单、轻巧、易于使用。应用程序只需知道如何从
OPC数据源获取数据 (OPC Client),设备驱动程序只需知道如何以简单的格式提供
数据 (OPC Server) 即可进行通信。
OPC定义了一个开放的接口,在这个接口上,基于PC的软件组件能交换数据
因而,OPC为自动化层的典型现场设备连接工业应用程序和办公室程序提供了一个
理想的方法。Windows程序的标准接口的引入,使得硬件制造商为其部件所开发的
接口程序的数量减少到一个,只需要开发一个针对OPC服务器的接口程序;同样,
软件制造商也只需要开发唯一的通讯接口程序——OPC客户机接口,这不但对制造
商有利,而且对最终客户也有利。
我国在这方面的研究起步较晚,自OPC规范发布以来,才取得了较大的进展,
全国现在已有多家科研院校和控制系统公司对其研究,开发自主知识产权的带有
- 3 -
应用 COM 开发 OPC DA 服务器
OPC功能的控制软件。
§1.2.2 主要研究内容
本论文课题是应用COM开发OPC DA服务器,针对传统控制过程中的不足和局
限性,研究了OPC技术的理论规范、实现方式以及OPC服务器的结构和通信机制。
并对OPC的技术基础——COM进行了深入的研究,掌握了基于COM的组件开发流
程和实现技术。在服务器开发过程中,提出了OPC Server对象、OPC Group对象和
OPC Item对象之间的相互关系,根据各对象实现了各重要接口的方法函数,完成
了同步数据交换、异步数据交换等数据访问方法的开发工作,同时针对OPC DA数
据异步交换接口实现过程中的以数据通报和连接点技术为基础的数据传送方式进行
了进一步的分析研究。课题研究中所使用的硬件数据源为课题合作公司——上海泗
博自动化技术有限公司(以下简称:泗博公司)提供的以太网网关设备,课题的最
终目的是希望开发的OPC DA服务器能够满足不同的应用程序从各种现场设备(本
文以以太网网关为例)中获取数据,课题主要涉及如下内容:
研究COM技术的理论基础及其对象的开发方法;
研究OPC数据访问规范 (Data Access Specification) 的总体结构、通信机制以及
其主要的对象和接口;
研究OPC DA服务器的具体开发方法以及其中一些关键技术、主要功能模块的
实现;
§1.2.3 研究的意义
当前我国还有大量早期的DCS控制系统,它们使用设备供应商的驱动进行通信
其数据格式并不规范,与现在主流应用程序不能很好地兼容。为了有效地发挥这些
原有设备的潜能,使其能连接到当前多客户端的应用环境中,对OPC规范的研究以
及OPC技术的实现将非常具有现实意义。
此外,对作为过程控制通信标准的OPC的研究,将促进我国在工业控制领域的
发展。在国际化过程中,中国就像一个技术的大熔炉,各种先进的管理和控制技术
都在这个试验场中运用,我们应该抓住机遇,跟上世界发展的潮流,掌握和发展控
制领域具有自主知识产权的核心技术,这将对经济建设和国防现代化产生积极而深
远的影响,也能对OPC技术在中国的推广起到一定的作用。
§1.2.4 论文结构
本论文由理论综述和实际开发两部分组成,论文分六章,各章主要内容如下:
第一章:总体概括的介绍了OPC规范及其产生背景、当前工业控制系统以及
OPC技术的发展现状,并说明了论文的主要内容及研究意义。
第二章:介绍了OPC技术发展的过程以及OPC基金会发布的OPC规范的主要内
容。
第三章:具体研究了COM技术的理论基础及其与OPC技术的关系,分析了
COM的通信机制、组件对象的开发方式以及ATL对COM的支持。
第四章:给出了OPC DA服务器的结构,研究了OPC技术的数据访问方法和数
据传送方式,比较了数据获取的影响因素,并对各主要接口的方法作
- 4 -
摘要:
展开>>
收起<<
应用COM开发OPCDA服务器摘要OPC(OLEforProcessControl)是一种通用工业控制标准,是由世界上领先的自动化软硬件厂商与微软公司合作,所制定的一套标准的接口协议。OPC技术主要是为了解决由于设备驱动的非共享性,导致的应用程序难以同时与所有设备进行通讯而提出的,它将软件应用程序开发与硬件设备提供商分离开来,两部分各司其职,以OPC技术为中间件,同时提升了双方的工作效率,并从整体上优化了典型工业控制系统兼容性差,数据传输效率低的情况,也进一步提高了系统的集成性。OPC技术代表了今后过程控制系统发展的主方向。本文通过研究OPC数据访问规范(OPCDataAccessSpecif...
相关推荐
-
跨境电商商业计划书模版VIP免费
2025-01-09 28 -
跨境电商方案范文VIP免费
2025-01-09 14 -
创业计划书VIP免费
2025-01-09 18 -
xx生鲜APP计划书VIP免费
2025-01-09 12 -
跨境电商创业园商业计划书(盈利模式)VIP免费
2025-01-09 9 -
跨境电商计划书VIP免费
2025-01-09 14 -
绿色食品电商平台项目计划书VIP免费
2025-01-09 22 -
农产品电子商务商业计划书VIP免费
2025-01-09 9 -
农村电商平台商业计划书VIP免费
2025-01-09 14 -
生鲜商城平台商业计划书VIP免费
2025-01-09 21
作者:高德中
分类:高等教育资料
价格:15积分
属性:83 页
大小:1.48MB
格式:DOC
时间:2024-11-19

