OPC服务器开发的几种方法
如何开发OPCServer

如何开发OPC Server首先我们先来看一下什么是OPCOPC (OLE for Process Control——用于过程控制的OLE)是基于Microsoft公司的DNA (Distributed Internet Application)构架和COM(Component Object Model)技术的一个工业标准接口,是根据易于扩展性而设计的。
再来了解一下OPC的用途OPC主要适用于过程控制和制造自动化等应用领域。
OPC是以OLE/COM机制作为应用程序的通讯标准。
OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。
OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来然后我们再来看看OPC Server的组成一个设备的OPC Server主要有两部组成,一是OPC标准接口的实现;二是与硬件设备的通信模块。
实现OPC 标准接口[图1]在这些接口中,IOPCServer 是OPC Server的主接口,通过它实现OPC Server在操作系统中的安装和注册。
此接口是必须要实现的,其所有方法也必须实现。
其它的接口都是可选的我们就不做介绍了,下面主要来介绍如何实现IOPCServer接口。
在IOPCServer接口中共有六个法:1、 IOPCServer::AddGroupHRESULT AddGroup( [in, string] LPCWSTR szName,[in] BOOL bActive,[in] DWORD dwRequestedUpdateRate,[in] OPCHANDLE hClientGroup,[unique, in] LONG *pTimeBias,[in] FLOAT * pPercentDeadband,[in] DWORD dwLCID,[out] OPCHANDLE * phServerGroup,[out] DWORD *pRevisedUpdateRate,[in] REFIID riid,[out, iid_is(riid)] LPUNKNOWN * ppUnk );此方法是在OPC Server上建立一个组。
OPC服务器开发

OPC服务器开发
一、OPC服务器开发的原理及流程
OPC服务器开发的原理是使用OPC接口,将工控设备的数据传输到PC
机端,以供操作系统进行进一步的处理。
它由客户端和服务器端组成,客
户端可以访问远程系统中的数据,可以实现远程操作控制;服务器端负责
将从工业设备中采集的原始数据封装成OPC服务发送出去,解决PC机访
问工控设备的问题。
(1)客户端利用OPC接口发出访问请求,即向服务器端发出一个连
接请求;
(2)服务端接收到连接请求,将请求中的数据参数及类型读取出来;
(3)根据数据参数及类型,服务器端读取对应的工控设备的信息;
(4)服务端将读取到的信息封装成OPC服务;
(5)服务端将封装好的OPC服务通过网络发送给客户端;
(6)客户端收到OPC服务后,进行进一步的处理。
二、OPC服务器的开发过程
(1)开发前的准备工作:首先,分析客户需求,特别是对协议的要求,以及工控设备的型号,参数等信息。
(2)选择合适的编程语言:根据客户的需求,以及提供的设备厂家
的资料,确定使用的编程语言,例如C、C++等。
(3)搭建开发环境:安装OPC Server Toolkit工具箱,安装开发环
境中的调试助手。
OPC服务器和客户端程序开发指南.doc

OPC服务器和客户端程序开发指南第一章OPC概述关键词:Comdcmopcda通信标准CLIENTSERVER GROUP ITEM自定义接口自动化接口同步异步回调随着计算机科学技术、工业控制等方面新技术的飞速发展,计算机监控系统从早期的集中式监控向全分布式方向发展,计算机监控系统软件随着面向对象技术的成熟,分布式对象计算、多级客户机/服务器技术也从早期的功能系统软件,发展成为以特定现场设备为特征的面向对象的监控系统软件。
与此同时,计算机监控系统的规模越来越大,不同厂家生产的现场设备种类也越来越多。
由于不同厂家提供的现场设备的通信机制不尽相同,需要由计算机监控系统软件开发的硬件设备通信驱动程序越来越多,导致硬件通信驱动程序需要不断开发的现象。
基于COM/DCOM技术的OPC技术提供了统一的通信标准,不同的厂商只要遵循OPC技术标准,就可以实现软硬件的互操作。
过程控制技术是专门为过程控制而设计的。
它是由一些世界领先的自动化系统和软硬件公司与微软公司密切合作建立的,并成立了一个专门的OPC 基金会来管理它。
OPC基金会负责OPC规范的制定和发布。
OPC提出了一套统一的标准,采用典型的客户机/服务器模式。
硬件设备的驱动程序由硬件制造商或专业公司完成,为服务器程序提供统一的OPC接口标准。
软件制造商只能通过根据OPC标准编写客户端程序来访问(读/写)服务器程序来实现与硬件设备的通信。
如图1.1所示,与传统的通信开发方法相比,OPC技术具有以下优点:硬件供应商熟悉他们自己的硬件设备,因此设备驱动程序更加可靠和高效。
软件制造商可以缩短复杂设备驱动程序的开发周期,只需要开发一套符合OPC标准的程序来实现与硬件设备的通信,这样就可以投入人力和物力来改善系统功能。
可以实现软件和硬件的互操作性。
OPC区分了软件和硬件制造商,大大提高了双方的工作效率。
图1.1应用前后的OPC技术对比因此,OPC技术的出现得到了众多软硬件制造商的支持,并且发展迅速。
通用OPC服务器研究与设计

通用OPC服务器研究与设计OPC(OLE for Process Control)服务器是一种用于实时过程控制的数据通信标准,由OLE(Object Linking and Embedding)技术发展而来。
随着工业自动化和信息化水平的不断提高,OPC服务器在各个领域得到了广泛应用。
然而,现有的OPC服务器通常针对特定领域或特定厂商的硬件设备进行开发,缺乏通用性和灵活性。
因此,本文旨在研究与设计一种通用的OPC服务器,以提高不同领域和不同设备之间的互操作性和兼容性。
通用OPC服务器应具备以下功能和性能需求:支持多种通信协议和数据格式,如Modbus、Profinet、OPC UA等;支持多元算术运算和逻辑运算,以及多种数学函数;支持实时数据采集和存储,以及历史数据查询;支持多种安全机制,如数据加密、访问控制等;高可靠性和稳定性,能够适应不同的工业环境。
目前,市面上已经存在一些通用OPC服务器产品,如西门子的OpenPCS、艾伦-布拉德利(Alen-Bradley)的PACSystems等。
这些产品具有一些共同特点,如支持多种通信协议、多元算术运算和逻辑运算等。
然而,它们也存在一些不足之处,如对新兴协议的支持不够完善、安全性设计存在漏洞等。
基于需求分析,通用OPC服务器的设计应遵循以下思路:整体架构设计:采用分层架构设计,将数据采集、数据处理、数据存储等功能独立成不同的层次,有利于模块化开发和维护。
功能模块设计:针对不同协议和数据格式,设计通用的数据采集模块和处理模块,提高代码复用率。
同时,设计统一的接口规范,方便不同模块之间的通信和交互。
安全性设计:在数据采集和传输过程中,采取多种安全措施,如数据加密、访问控制等。
对重要数据进行备份和恢复机制,确保数据的可靠性和完整性。
通用OPC服务器的实现过程包括以下几个步骤:选定开发语言和开发环境,如C++、Java等,以及对应的开发工具和平台;设计并实现通用OPC服务器的各个功能模块,包括数据采集、数据处理、数据存储等;按照需求分析中的功能和性能需求,进行模块测试和整体测试;对测试中遇到的问题进行调试和优化,确保通用OPC服务器的稳定性和可靠性。
OPC函数及方法

OPC函数及方法OPC(OLE for Process Control,过程控制的OLE)是一种通信标准,用于自动化系统中的数据交换和远程监控。
OPC的设计目标是提供一种标准的接口,使得不同供应商提供的控制设备和监控系统能够互相通信,实现数据的共享和集成。
OPC的定义包括两个主要部分:OPC服务器和OPC客户端。
OPC服务器是一个中间件,它提供一组标准的API(应用程序编程接口),用于数据传输和通信。
OPC客户端是一个应用程序,它可以访问OPC服务器,并获取或发送数据。
在OPC中,有多种函数和方法可供使用,用于实现数据的读取、写入、订阅和通知等操作。
下面是一些常用的OPC函数和方法:1. OPCEnum函数:用于列举系统中可用的OPC服务器。
该函数返回一个OPC服务器列表,包含每个服务器的名称和描述信息。
2. CoCreateInstance函数:用于创建一个OPC服务器的实例。
该函数需要指定服务器的标识符(CLSID)和接口的标识符(IID),以及其他参数。
3. IOPCServer接口:用于与OPC服务器进行通信。
该接口提供了一组方法,包括连接和断开连接服务器、读取和写入数据、订阅和取消订阅数据等操作。
4. IOPCItemProperties接口:用于获取和设置OPC服务器中的数据项的属性。
该接口提供了方法,可用于获取数据项的名称、数据类型、访问权限等信息。
5. IOPCBrowseServerAddressSpace接口:用于浏览OPC服务器的地址空间。
该接口提供了方法,可用于获取地址空间的层次结构、浏览子节点、获取节点的属性等。
6. IOPCDataCallback接口:用于接收OPC服务器发送的数据更新通知。
该接口提供了方法,用于处理数据变化的事件,并更新相应的数据。
7. IOPCDAsyncIO2接口:用于异步读写数据。
该接口提供了方法,可用于发送异步读写请求、获取读写操作的状态、获取读写操作的结果等。
OPC简介与开发总结

OPC简介与开发总结背景简介OPC(OLE for Process Control,用于过程控制的OLE)是为过程控制专门设计的OLE 技术,由一些世界上技术占领先地位的自动化系统和硬件、软件公司与微软公司(Microsoft)合作而建立的,并且成立了专门的OPC 基金会来管理,OPC 基金会负责OPC 规范的制定和发布。
OPC 提出了一套统一的标准,采用典型的C/S 模式。
厂商可以开发一个高度优化的、可重用的OPC Server 访问底层的硬件,并将数据以OPC 接口方式提供给任何支持OPC规范的客户端软件,客户就可以按照统一的数据访问标准访问不同厂商的硬件产品。
(IEC61850/MODBUS/DNP) 。
OPC 技术本质是采用了Microsoft 的COM/DCOM(组件对象模型/分布式组件对象模型)技术,COM 主要是为了实现软件复用和互操作,并且为基于WINDOWS的程序提供了统一的、可扩充的、面向对象的通讯协议,DCOM 是COM技术在分布式计算领域的扩展,使COM 可以支持在局域网、广域网甚至Internet 上不同计算机上的对象之间的通讯。
OPC规范简介OPC 规范作为一个工业标准,是开发OPC 服务器与OPC 客户软件之间数据传输的规范,并已形成一个体系。
根据开发软件功能的不同,OPC 制定了以下领域单独规范:数据访问规范:定义了OPC 服务器中一组COM 对象及其接口,并规定了客户对服务器程序进行数据存取时需要遵循的标准。
借助Microsoft 的DCOM 技术,OPC 实现了高性能的远程数据访问能力。
报警和事件处理规范:该规范提供了一种通知机制,在指定事件或报警条件发生时,OPC 服务器能够主动通知客户程序。
历史数据访问规范:该规范提供一种通用历史数据引擎,可以向感兴趣的用户和客户程序提供数据汇总和数据分析等额外的信息。
安全性规范:该规范提供了一种专门的机制来保护OPC 服务器中的现场数据,防止未授权的操作误修改这些参数。
OPC服务器与客户程序开发指南

第1章OPC概述关键字:COM DCOM OPC DA 通讯规范 CLIENT SERVER GROUP ITEM 自定义接口自动化接口同步异步回调随着计算机科学技术、工业控制等各方面新技术的迅速发展,计算机监控系统由早期的集中式监控向全分布式的方向发展,计算机监控系统软件随着面向对象技术、分布式对象计算、多层次Client/Server技术的成熟,也从早期面向功能的系统软件,发展为面向具体现场设备为特征的面向对象的监控系统软件。
同时,计算机监控系统规模越来越大,不同厂家生产的现场设备的种类在不断增加,由于不同厂家所提供的现场设备的通讯机制并不尽相同,计算机监控系统软件需要开发的硬件设备通信驱动程序也就越来越多,造成了硬件通讯驱动程序需要不断开发的现象,而基于COM/ DCOM技术的OPC技术,提供了一个统一的通讯标准,不同厂商只要遵循OPC技术标准就可以实现软硬件的互操作性。
OPC(OLE for Process Control,用于过程控制的OLE)是为过程控制专门设计的OLE技术,由一些世界上技术占领先地位的自动化系统和硬件、软件公司与微软公司(Microsoft)紧密合作而建立的,并且成立了专门的OPC基金会来管理,OPC基金会负责OPC规范的制定和发布.OPC提出了一套统一的标准,采用典型的CLIENT/SERVER模式,针对硬件设备的驱动程序由硬件厂商或专门的公司完成,提供具有统一OPC接口标准的SERVER程序,软件厂商只需按照OPC标准编写CLIENT程序访问(读/写)SERVER程序,即可实现与硬件设备的通信。
如图1.1所示,与传统的通讯开发方式相比,OPC技术具有以下优势:·硬件厂商熟悉自己的硬件设备,因而设备驱动程序性能更可靠、效率更高。
·软件厂商可以减少复杂的设备驱动程序的开发周期,只需开发一套遵循OPC标准的程序就可以实现与硬件设备的通信,因此可以把人力、物力资源投入到系统功能的完善中.·可以实现软硬件的互操作性.·OPC把软硬件厂商区分开来,使得双方的工作效率有了很大的提高.图1.1 OPC技术应用前后比较因此OPC技术的出现得到了广大软硬件厂商的支持,并迅速发展。
OPC函数及方法

开发OPC客户端程序时,首先应该生成OPC服务器支持的OPC对象,然后就可以使用OPC对象支持的属性和方法,对其进行各种操作。
这样使得客户程序可以像使用自己支持的数据和功能一样,去使用服务器对象支持的数据和功能。
在VisualBasic6.0里,是以对象为单位对OPC服务器进行访问的。
通过OPC自动化服务器的对象模型,可以得知OPC自动化接口由以下四种对象所定义。
1OPCServer服务器对象OPCServer的一个实例,OPC服务器自动含有一个OPC 组集合对象,并可在其基础上生成一个OPC浏览器对象。
OPCServer服务器对象在使用其它OPC对象前必须生成,也就是说在引用其他对象之前必须先创建OPCServer。
OPCServer对象提供了对数据源访问和通信的方法,其提供了“Connect”方法来连接OPC自动化服务器。
主要的属性有:StartTime(只读属性,服务器启动运行的时间)、CurrentTime(只读属性,返回服务器显示的当前时间)、LastUpdateTime(对于本OPC应用程序的最后数据更新时间)、MajorVersion(只读属性,OPC服务器的主版本号)、MinorVersion(只读属性,OPC服务器的次版本号)、Bandwith(只读属性,返回OPC服务器的不敏感区的百分比)、ServerState(只读属性,返回服务器的运行状态,这个属性是比较重要的,方便客户端程序查询服务器的状态,从而达到排除故障的目的)、ServerName(只读属性,返回客户程序所要连接的服务器名,也就是OPC服务器的ProgID)、ServerNode(服务器所在计算机名或者计算机的IP,用于连接远程的计算机)等。
主要方法有:GetOPCservers(获得己经注册的OPC服务器的程序标识符,即ProgID)、Connect(用来建立与OPC数据存取服务器的连接)、Disconnect(断开与服务器的连接)、CreatBrowser(创建OPC浏览器的对象)等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OPC服务器开发的几种方法陈丹丹钱美夏立邵英(武汉海军工程大学 湖北 武汉 430033)摘要:简要介绍了OPC DA规范,描述了OPC DA(数据访问)服务器开发的三种方法:使用MFC的COM库函数开发OPC服务器、通过ATL开发OPC服务器和利用工具包快速开发OPC服务器,最后对三种方法的特点作出了比较。
关键词:OPC;ATL;服务器开发Abstract: Simply describe the OPC DA specification ,then three Methods of server model design based on OPC DA(Data Access) specification are introduced. The three methods are using MFC ATL and the fast developmentToolkit to develop OPC server.At last, compare the characteristics of three methods .Key words: OPC;ATL;Server development1.引言:OPC DA (OPC 数据访问规范)是OPC基金会最早发布的一个工业标准,主要是对现场设备的在线数据进行存取,目前已经发展到OPC DA 3.0版本。
OPC基于微软的OLE/COM原理,采用客户/服务器模式。
OPC 数据访问服务器主要由服务器对象、组对象和项对象组成。
OPC 服务器对象维护服务器的有关信息并包容OPC组对象,可以动态的创建或释放组对象;而OPC 组对象维护有关其自身的信息并包容OPC项,逻辑上管理OPC项;OPC项则标识了与OPC服务器中数据的连接。
OPC项不可以由OPC客户直接操作,所有对OPC项的操作都是通过包容该项的OPC组对象进行的。
而OPC服务器对象和组对象是聚合关系,即OPC服务器对象产生OPC组对象后,将组对象的指针传递给客户,由客户之间操作对象。
这样既提高了数据存取的速度也易于功能扩展,体现了组件软件的重用性。
它支持COM技术的双向通信机制,具有事件驱动功能,当OPC服务器的数据发生变化时它能自动通知OPC客户。
在OPC1.0规范中事件驱动使用的是COM的通报连接机制,在OPC2.0规范中又增加了对连接点的支持。
而一般的数据采集应用程序,从数据源读数据是主动的,相当于客户主动访问服务器的数据。
这就要求客户不断地查询服务器的数据,不管服务器的数据是否发生了变化,增加了系统的开销。
因此OPC DA的效率大大高于一般的数据采集应用程序。
2.OPC 服务器开发概述OPC 服务器的设计与实现是一个较为复杂与繁重的任务,设计者需要有很高的编程水平,熟悉OPC规范,同时也必须掌握相应的硬件产品特性。
OPC 数据服务器大致可以分解为不同的功能模块:OPC 对象接口管理,Item 数据项管理以及服务器界面和设置等[1]如图1。
图1.OPC服务器结构图一个设备的OPC服务器主要由两部分组成,OPC标准接口的实现和与硬件设备的通信。
OPC服务器的开发必须以OPC规范为基础,实现各个对象及其接口。
下面将就OPC标准接口的实现方法进行重点讨论。
3.OPC DA 服务器开发方法3.1 通过MFC提供的COM支持开发OPC服务器开发一个OPC 服务器主要有以下几个步骤[2][3](1) 定义OPC 数据服务器的名称(Prog ID) 和类标识(CLSID),然后根据规范对各个接口ID 进行定义。
(2) 实现OPC 数据服务器类厂对象。
从IClassFactory 基类派生出TestOPCClassFactory 类, 然后重载CreateInstance () 成员函数, 通过该函数创建CTestServer服务器对象。
(3) 设计OPC 对象。
首先通过继承IUnknown 类派生出OPCServer,OPCGroup 和OPCItem 三个类,分别对应OPC服务器对象,组对象和项对象,并重载IUnknown 类中的接口查询和引用计数函数。
然后将OPC 基金会网站上提供的相应的头文件添加到工程中,通过继承这些接口派生出新的接口类,实现每个接口的成员函数。
在OPCServer 和OPCGroup 类中增加指向相应接口类的指针成员变量,接着修改接口查询函数。
当客户程序查询某一接口时,实例化接口类,并返回接口指针变量。
客户程序再通过该接口指针进一步调用接口成员函数。
(4)数据存储区的设计。
可利用C++标准模板库(STL)中的包容器,通过包容器管理OPC服务器中的数据项。
由于OPC 服务器既要对底层硬件进行读写操作,又要通过OPC接口与客户程序进行交互,所以对数据存储区的操作需要采用多线程模型,以保证数据存取的效率。
为避免不同线程同时对数据区中的数据进行操作,还须考虑对临界区的互斥控制。
(5)界面设计。
可以设计类似Windows 中资源管理器的用户界面,将各数据项用树型结构表示,然后设计数据项和硬件的设置界面,并与数据存储区和硬件接口联系起来,实现相应的组态功能。
在OPC服务器程序关闭时,需要将数据项的属性以及硬件设置参数作为组态文件保存起来,而在程序运行时能自动调入组态文件完成初始设置。
(6)根据硬件的种类和特性,自行开发驱动程序,或者调用硬件厂商提供的I/ODLL 实现对现场设备进行设置以及数据存取的功能。
(7)从OPC 基金会网站上获取OPC 标准组件并在服务器上注册,然后利用OPC 客户端程序进行测试。
3.2 通过ATL开发OPC服务器ATL是VC++提供的活动模板库,是专门针对COM应用开发的。
它内部的模板类实现了COM的一些基本特征,比如一些基本的COM接口,也支持COM的高级特征,如双接口,连接点等。
利用ATL开发OPC服务器的主要步骤如下:[4](1)用ATL 创建一个Exe 进程外服务器。
将OPC DA规范中的IDL 文件, 加入项目中。
进行编译,ClassView中出现很多接口,双击接口可以看到每一接口下的方法。
(2)Server对象的添加。
创建一个简单的ATL 对象,命名为TestServer,支持连接点。
在ATL 生成的对象的IDL 描述中加入OPCServer 对象接口。
在ClassView中右键单击TestServer 类, 选择Implement Interface 和Implemert Connection Point , 并选择要完成添加的接口,可完成OPC接口和连接点接口框架的添加。
然后按OPC DA规范实现其它细节。
另外还要在stdafx.h 中加入# include “OPCDA.h”,# include “opccomn.h”这样就可使用规范定义的COM 接口。
还要在OPCDA.cpp 文件中加入:# include “OPCDA_i.c”,# include “opccomn_i.c”只有这样才可使组件对象的接口暴露给客户程序。
(3)Group对象的添加与Server对象的添加相似, 设组对象为TestGroup, 但由于它不需要在系统中注册, 也不需要类ID 和类厂, 要在工程的OPCDA.cpp文件的对象映射中将其删除掉, 把CTestGroup定义处的public CComCoClass <CTestGroup , &CLSID_TestGroup > 代码删除。
BEGIN_OBJ ECT_MAP (ObjectMap)/ / OBJ ECT_ ENTRY (CLSID_TestGroup ,CTestGroup) / / 删除END_OBJ ECT_MAP ()(4)Item可以通过定义一个一般的类或一个结构来完成, 并根据实际情况定义并实现一些特殊属性和方法, 如增加读取存储区或硬件设备数据的函数等。
(5)数据存储区的设计,硬件驱动程序,OPC服务器的注册与前面相似。
3.3 通过开发工具开发OPC服务器OPC服务器开发工具的目的是将MicroSoft 公司的OLE/COM/DCOM技术和OPC 的技术细节隐藏起来,使用户开发OPC 服务器的工作集中在自己特定的数据采集任务上来。
目前OPC 数据服务器开发工具在国际工业控制领域中使用已经相当广泛,比较著名的供应厂商有FactorySoft, Softing 等公司。
快速开发工具一般是以动态连接库DLL 形式提供给用户,用户只要按照动态连接库中提供的应用编程接口API,即可完成OPC 服务器的开发。
以北京华富惠通技术有限公司推出的OPC 数据访问服务器快速开发工具包HuafuOPC ToolKit 为例,在建立OPC 服务器的过程中,用户必须完成的工作包括:[5] (1)建立应用程序,加载OPC 运行库;(2)按照OPC Toolkit 提供的接口进行正确的函数调用;(3)与设备进行通信。
其中调用OPC Toolkit 的接口流程如下:①用户首先调用InitOPCSvr 进行初始化;②初始化成功之后,注册回调函数;③用户通过CreateTag 向OPC 运行库可添加多个标签;④通过Set TagProperties 函数设置标签属性;⑤调用RunSvr 函数,运行服务器,这时,服务器可以向客户端提供服务;⑥用户和驱动通信,得到标签数据后,刷新OPC 运行库中标签的数据;⑦在服务器退出时,调用UninitOPCSvr。
4.几种方法的分析比较MFC通过多重继承的方式来实现COM对象,具有简单,易于管理、能够深入的掌握COM内部技术细节等特点。
但是因为要从底层开始编写代码,工作相对烦琐,工程也相对复杂。
ATL是通过多继承方式来实现COM对象的(就是COM类是从多个ATL模板类继承过来),然后在COM类中实现COM接口。
ATL是专门用来开发小型的、快速的COM组件,其代码也是经过优化的。
而ATL一个最大的不足就是因为要简化和优化代码,程序中使用非常多的模板类,开发者在开发的过程中,不仅仅要非常熟悉COM技术,还要另外花功夫来研究ATL中各个模板类间的关系,否则无法深入的编程。
另外使用ATL需要对COM 机制有非常深入的理解,并掌握许多原始的Windows API.对于第三种方法,开发人员不需要了解COM 机制及OPC 数据访问服务器接口细节。
开发简单容易,缩短开发周期,节省投资成本,能够满足一些用户的需要,但是由于以动态连接库DLL 形式提供,缺少一些灵活性。
总之,三种方法各有利弊,可根据实际情况确定采用何种方法。
参考文献:[1]马欣、李京、程峥嵘,OPC服务器与客户程序的设计,自动化仪表,2002年7月第23卷第7期[2]曹建、杨邦荣,基于模板库技术的OPC 服务器,电力系统自动化,2001.12[3]李勤、党选举、向荣,基于COM的OPC技术的研究和实现,微计算机信息,2002年第18卷第8 期[4]司纪刚,OPCDA服务器与客户程序开发指南[5]CONTROX-工具包用户手册作者简介:陈丹丹(1981-)女(汉),黑龙江鹤岗人,硕士研究生,研究方向为现场总线。