您的位置::雄讯五金网 >> 锻钢球

基于OPC技术的系统集成设计与实现0液压升降台

时间:2022年07月19日

基于OPC技术的系统集成设计与实现

基于OPC技术的系统集成设计与实现 2011年12月09日 来源: 摘 要:OPC是为了解决应用软件和各种设备驱动程序的通信问题而产生的一项工业技术规范和标准,这里探讨了基于OPC技术的环境监控与安全防范系统的集成解决方案;阐述了OPC技术的核心思想和知识体系;分析了OPC服务器的对象组成和结构;给出一种基于OPC数据访问规范的数据访问服务器设计与实现方法,并给出OPC客户端编程示例,实现集成平台和子系统的数据交换。关键词:OPC;环境监控;安全防范;系统集成;ATL

随着计算机技术和信息技术的不断发展,环境监控与安全防范系统在智能建筑中的应用越来越广泛。随着系统规模的不断扩大,应用于工业控制领域的软件与硬件设备的种类也越来越丰富,不同设备的通信协议也不尽相同,系统集成难度越来越大。因此,如何有效处理系统的互联和互操作问题成为迫切需要解决的问题。由于OPC技术采用即插即用的软件方式,统一了数据访问接口,简化了系统集成环境,并且易于实现功能扩展,使控制系统进一步开放,从而使得每一个子系统都能够自由的通信,实现了信息共享,所以OPC技术的应用越来越广泛,已成为建筑智能化系统集成的一种新途径。这里以智能建筑领域某环境监控与安全防范系统为例,探讨OPc技术的应用。

l 系统构建 在某些智能楼宇中,对环境温湿度、火灾报警与人员出入管理有较高要求,因此一套设计合理、价格适宜的环境监控与安全防范系统就显得尤为重要。这里所设计研究的系统主要包括温湿度监控、火灾报警和门禁控制3个子系统。由于现场设备种类和数量繁多并且在楼宇建筑内分布广泛,所以采用基于OPC技术的系统集成方案,从而成功的解决系统集成及各子系统之间的互联性和互操作性问题。系统集成原理如图1所示。

各子系统OPC服务器封装了子系统的访问细节,并向上提供标准的OPC接口,集成平台各应用软件作为客户端通过OPC标准接口模块与子系统进行通信和控制,并对收集到的各个子系统信息进行整理、统计和分析,实现信息共享,协调各个子系统之间的工作,从而达到控制与管理的目的,实现了系统集成。

2 OPC技术简介 OPC(OLE for Process Control)即是把OLE应用于工业过程控制领域。工业控制领域要用到大量的现场设备,在OPC:出现以前,软件开发商需要开发大量的驱动程序连接这些设备。由于不同设备或者同一设备不同单元的驱动程序有可能不同,软件开发商很难同时对这些设备进行访问以优化操作,且一旦硬件系统改动或升级,应用程序就可能需要重写;同时不同客户有着不同的应用需求,不同硬件设备也存在不同的数据传输协议,传统集成方法已越来越不适应发展需要。 OPC技术的出现有效地解决了这一问题。OPC建立在OLE规范之上,它为工业控制领域提供了一种标准的数据访问机制。它将底层硬件驱动程序和上层应用程序的开发有效地分隔开,使用统一的数据接口实现了不同设备协议间的数据互访,不仅易于系统维护和升级,而且缩短了开发时间。 OPC规范的内容涵盖了数据存取、事件报警、安全性等诸多方面,主要包括:数据存取规范、报警事件规范、历史数据存储规范、批量过程规范和安全性规范等。OPC开发包括OPC服务器和OPC客户端两个部分。 其实质是在硬件供应商和软件开发商之间建立了一套完整的标准,只要遵循这套标准,数据交互对双方来说就是透明的,OPC客户端就可以方便地读取OPC服务器中的数据,无需重复开发单独的驱动程序,应用程序之间可以很容易地实现信息的共享与交互,从而大大降低集成成本。典型的OPC体系如图2所示。

3 OPC数据访问服务器的实现 OPC服务器的实现一般有3种方法:通过快速开发工具开发OPC服务器;通过MFC(微软基本类库)提供的COM支持开发OPC服务器;通过ATL(活动模板库)开发OPC服务器。 由于OPC快速开发工具功能有许多限制,而MFC开发基于窗口的应用程序虽然比较方便。但它不是开发COM组件的理想工具,需要手工添加很多支持COM的基础代码。ATL是VC++提供专门针对COM应用开发的活动模板库。它内部的模板类实现了COM的一些基本特征。比如一些基本的COM接口,也支持COM的高级特征。如双接口、连接点等,其基本目标是使COM应用开发尽可能的自动化。使用ATL可以快速地开发出高效、简洁的代码,同时对COM组件的开发提供了一定限度的代码自动生成以及可视化支持。所以在此采用ATL研究OPC服务器的开发。 OPCDA规范规定OPCDA Server包含3种对象:Server对象、Group对象和Item对象。Server对象包含了OPCDA Server的相关信息,它可以对Group对象进行添加、删除,是Group对象的容器。Group对象包含了这个组的相关信息,并提供了逻辑上包含组织Item对象的机制。Item对象与数据项关联,每个数据项必须具备Value,Quality和TimeStamp三个属性。OPC数据访问服务器程序结构如图3所示。

由于OPC数据服务器既要对底层硬件进行读写操作,又要通过OPC接口与客户程序进行交互,为保证数据存取的效率,所以采用多线程模型,创建exe形式的进程外OPC服务器。实现OPC数据访问服务器的主要步骤包括: (1)用ATL创建一个exe进程外服务器。将OPCDA规范中的IDL文件,加入项目中进行编译,将组件接口引入到工程中; (2)添加OPCServer对象。创建一个简单的ATL对象,命名为GstServer,按照OPC规范添加相应接口并实现其方法,其中AddGroup函数的实现是难点; (3)添加OPCGroup对象。Group对象是通过Server对象的创建实现的,因此不需要类型库,所以要在工程的OPCDA.cpp文件的对象映射中将其删除,然后用聚合实现接口的添加:

BEGIN_COM_MAP() COM_INTERFACE_ENTRY_AGGREGATE() END_COM_MAP() (4)定义一个类CGstItem添加Item对象。OPCItem无需实现任何接口功能,只要根据实际情况增加相应的功能函数,如根据OPCltem的名称与数据源进行连接、读写数据源等; (5)数据存储区的设计。数据存储区包含了服务器程序定义的数据项。要根据项的数目确定缓存的大小,使得每个项都有相对应的内存空间; (6)OPC服务器的结构和功能大同小异,主要的区别在于硬件驱动程序。可以针对不同设备开发相应的读写接口类,并与相应的OPC服务器里的项对象连接起来,实现OPC服务器对现场数据的存取功能。

4 OPC客户应用程序的实现 在该集成系统中,通过自行开发的OPC客户端实现集成平台和子系统的数据交换。在应用程序运行时,客户端将按照指定的采集频率对数据进行采集。 自动化接口封装了COM底层的许多实现,使用户能比较轻松地进行数据访问,具有简单、易于编程等优点。该系统的OPC客户端程序使用VB6通过OPC自动化接口实现OPC数据访问。程序示例如下: (1)启动VB,新建一工程OPCClient,在VB主菜单的“工程”项中选择“引用”,在弹出窗口可用的引用选项中选择“OPC Automation 2.0”,就可以使用自动化接口; (2)声明使用的对象及变量

(3)连接OPC服务器、建立OPC组和添加OPC项

5 结 语 OPC作为一项逐渐成熟的技术已得到国内外厂商的高度重视,许多公司都在原有产品的基础上增加了对OPC的支持。由于统一了数据访问的接口,使控制系统进一步走向开放,实现了信息的集成和共享,所以用户能够得到更多的方便。相信随着技术的发展,OPC会越来越广泛地应用于工业过程控制领域。

水枇杷

皮肤干痒怎么办

南通妇产科

汪东城 整容

经期吃什么蔬菜好

友情链接