基于OPC技术的研究及在嵌入式智能控制器中的应用 下载本文

内容发布更新时间 : 2024/6/5 12:27:27星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于OPC技术的研究及在嵌入式智能控制器中的应用

作者:王宏涛

来源:《中国新通信》2012年第14期

【摘要】针对传统控制系统的发展状况,指出当前传统控制系统存在的诸多问题,通过研究OPC规范特别是OPC数据存取规范3.0版,研究其数据组织形式与访问机制,结合基于OPC技术应用的嵌入式智能控制器,给出了基于OPC技术的解决方案。 【关键词】传统控制系统OPC技术3.0规范嵌入式 1引言

在传统控制系统中,随着智能仪表的大量运用和现场总线的迅速发展,大量现场信息(如现场的温度、压力等被测参数,以及装置本身的运动状况、组态参数等)在传入监控计算机时,存在着计算机内部应用程序对现场信息的共享和交互问题。由于缺乏统一的标准,对于不同供应商提供的硬件设备,工控软件往往需要开发独立的驱动程序(如图1),这给硬件设备的更新带来了困难。同时,即使安装在同一计算机中的软件,如SCADA(监控与数据采集)系统,NMI(人机接口)系统等应用程序,由于具有独立的驱动程序,一般也不允许同时访问相同的设备,否则容易导致整个系统的崩溃。

综上所述,传统控制系统存在着诸如驱动程序的重复开发和不一致,不能随着硬件设备的升级而继续使用,软件访问冲突等问题。正是这些问题,促使了OPC规范的产生。 2OPC技术规范概述

OPC(OLE for Process Control,用于过程控制的 OLE)是一个工业标准,它是基于微软的OLE(现在的Active X)、COM(部件对象模型)和DCOM(分布式部件对象模型)生成的技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统,管理这个标准国际组织是OPC基金会。OPC实际上提供了一种标准的数据访问机制,系统使用标准的方式从数据源获取数据,并且提供标准的接口供客户应用程序使用,客户应用程序通过标准的接口访问现场数据。现场设备生产商只需要开发出一套遵循OPC规范的服务器,由服务器与现场设备进行通讯,获取现场数据。如图2所示,客户应用程序通过与服务器通讯获取现场数据,也就是说只要现场设备提供了OPC服务器的支持,就可以通过统一的OPC接口程序访问现场设备中的数据。与传统控制系统相比,一个OPC客户端可以与多个OPC服务器同时进行通讯,减少了驱动程序的开发,提高了企业的工作效率;多个OPC客户端也可以同时与一个OPC服务器通讯,不会出现系统崩溃等问题。

龙源期刊网 http://www.qikan.com.cn

OPC规范定义了OPC服务器与客户端之间数据交换的方法,使得用户能从底层开发中脱离出来,避免开发的重复性,提高系统的开放性和互操作性。但OPC规范只定义了特定的COM接口,没有说明如何实现这些接口,它只规定了OPC服务器提供给客户端应用程序的接口应该具有的行为特征。OPC服务器可由不同的供应商,根据不同的物理设备,通过不同的代码决定服务器访问物理设备的方式及数据处理等细节。这些细节对于客户程序都是透明的,客户程序只要遵循相同的规范和方法就能从不同的服务器中读取数据,这也就实现了硬件无关的数据访问机制。

OPC在不同领域推出了多种规范,目前已经推出的OPC规范有: OPC数据存取(Data Access)规范3.0版 OPC报警与事件(Alarm and Event)规范1.1版 OPC历史数据存取(Historical Data Access)规范1.2版 OPC批量数据存取(Batch Data Access)规范2.0版 OPC安全性(Security)规范 OPC可扩展标记语言(XML)规范 OPC服务器数据交换(Data eXchange)规范 OPC主要技术规范及其关系如图3:

在OPC基金会推出的多种规范中,目前最广泛应用的是OPC数据存取规范,也是本研究遵循的主要规范,下面就此规范进行更近一步的介绍。 3基于OPC的嵌入式智能控制器的实现

由于传统控制系统存在的种种弊端与瓶颈,在嵌入式智能控制器中引入OPC技术完成上下位机的通信解决方案。基于OPC的嵌入式智能控制器在工控领域有着广泛的应用前景,利用OPC的优势有:

1. OPC以COM为技术基础,实现了代码在二进制级上的重用和代码的语言无关性,极大地提高了软件的重用性,提高了开发效率。

2. OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其他系统的接口。

龙源期刊网 http://www.qikan.com.cn

3.采用标准的Windows体系接口,硬件制造商为其设备提供的接口程序的数量减少到一个,软件制造商也仅需要开发一套通讯接口程序。即有利于软硬件开发商,更有利于最终用户。

4. OPC封装了系统功能的实现,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。 5.采用OPC规范,便于系统的组态化,将系统复杂性大大简化,可以大大缩短软件的开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。 3.1硬件平台

平台使用了AT91SAM9260微处理器。这是一款基于ARM926EJ-S核心的工业级微控制器,功能丰富,性能强大,且功耗较低。AT91SAM9260有丰富的接口资源,且内置以太网MAC,完成设计所需的以太网接口只需外接物理层芯片和RJ45接口。平台采用Intel的工业级以太网物理层芯片LXT971ALE,它与AT91SAM9260之间通过标准的MII(media independent interface)接口连接。平台还使用了DM9000,这是一款完全集成的和符合成本效益的,单芯片快速以太网MAC控制器,使用它的目的在于其低功耗和高性能进程的3.3V与5V的支持。 3.2嵌入式操作系统

嵌入式操作系统选择Windows CE。OPC是基于微软的OLE(现在的Active X)、COM和DCOM技术的,而Windows CE系统本身提供了DCOM组件的支持,并且Windows CE的DCOM API与Windows的DCOM API有很大程度上的相似性,因此,采用Windows CE系统可以大大降低系统开发的复杂度和额外成本的开销。而其他系统诸如嵌入式Linux提供的DCOM解决方案不是由操作系统本身提供的组件来完成的,而是通过购买第三方软件包的支持来完成的,需要额外成本的开销;同时,第三方软件有可能成为系统运行的不稳定因素。 操作系统的移植采用了ATMEL提供的AT91SAM9260EK_CE6.0_Source_v110_secure BSP包,BOOTLOADER选择EBOOT,即通过Ethernet下载操作系统映像的BOOTLOADER。在开发的过程中使用EBOOT,可以提高开发效率。通过使用EBOOT可以很快速的下载NK到目标设备中,而利用Flash编程工具或者是通过JTAG下载则很慢。EBOOT移植完成后是OAL(OEM Adaption Layer,即原始设备制造商适配层)的移植,主要是修改Startup.s函数、修改串口调试函数、修改OEMInit函数、修改系统时钟函数和修改中断处理函数等;接着移植各模块驱动程序,修改平台配置文件,编译完成即得到FIRSTBOOT,EBOOT及内核映像文件,完成操作系统的移植工作。 3.3嵌入式智能控制器

整个系统由三部分构成:智能电子设备(IED)、智能控制器以及上位机。整体设计方案如图4所示: