文档介绍:基于组件的分布式实时监控平台研究与设计
曾庆磊
[文章摘要] 本文提出了一种基于OPC接口的组件化分布式监控系统平台,探讨了系统各部分的接口实现方式。该平台由一组自适应、自容错、接口开放的软件组件构成,每个组件封装为具有独立功能、时间认知的智能软件主体,各个组件之间通过优先级消息队列进行快速、高效的通信,从而在整体上提供实时的数据采集、存储与访问功能和Web服务。最后,本文探讨了客户端浏览器采用数据发布/订阅方式,使用SOAP消息存取实时和历史数据的过程。
[关键词] 分布式监控系统 OPC XML
1 引言
现实世界中的许多应用系统包含了对大量的现场数据的实时存取和管理,如工厂生产过程监控、电网调度、楼宇自动化等等,系统必须能够实时地从被控环境中获取数据,以便随时了解控制现场的最新状态,并结合过去获取的数据进行处理以及时地做出反应。其中处理的数据往往具有短暂有效性,称为时态数据,而过期的时态数据通常称为历史数据。维护时态数据的有效性是时态数据管理的重要内容,而数据的时态一致性需求也会导致事务的时间性限制[1]。实时数据库(Real-time database)就是其数据和事务都有显示时间限制的数据库,系统的正确性不仅依赖于事务的结果,而且依赖于该结果所产生的时间。RTDB中的体系结构、事务调度、并发控制、资源管理等技术问题已经得到了广泛研究[2]。
OPC(OLE for Process Control)是由自动化领域中主要厂商协作制定的软件接口标准。OPC技术提供了不同系统间通信的标准接口,实现了异构环境中控制网络数据的统一集成[3]。将OPC技术与RTDB结合起来就形成了一个统一、开放的实时数据管理平台。
本文所提出的实时数据库监控系统采用组件化设计,由一组自适应、自容错、接口开放的软件组件构成,每个组件封装为具有独立功能、时间认知的智能软件主体,各个组件之间通过优先级消息队列进行高效通信与实时交互,从而在整体上提供实时的数据采集、存储与存取功能。通过OPC标准接口存取数据,具有灵活可靠的组成方式和可靠的通信结构。系统采用基于发布/订阅的数据前推方式,将实时数据发送到客户端Web浏览器中,/网络实时监控平台。这种设计结构已经在我们开发的实时数据库系统中得到了实现。目前该系统已经通过多家企业的实践检验,并取得了良好的监控效果。
2分布式监控系统结构
总体结构设计
图1 分布式监控系统网络结构
整个监控系统分为设备层、控制层和信息层三层。设备层由RTU、PLC、DCS等控制设备组成,它们负责采集工控现场的数据。控制层分为数据采集端、数据库和现场监控站三部分,其中数据采集端可以,读取设备层的现场数据;数据库分为实时数据库、OPC历史数据服务器(HDA)[4]和OPC报警服务器(AE)
[5]分别向客户端提供实时数据、历史数据和报警及事件信息。控制层中的数据可以通过Web服务器和OPC XML-DA服务器,发布到数据层中,从而实现生产数据与管理数据的统一。监控站作为OPC客户端,访问各种服务器,实时监控设备数据和现场画面。
Web服务器对外发布嵌有ActiveX的监控画面和数据报表页面,并能为用户提供其他Web服务。Web浏览器作为系统外监控端,可以使用浏览器(如IE),通过下载XML格式的监控画面文件和应用配置