基于OPC的楼宇监控技术的研究

2010-07-07 08:19上海现代工程咨询有限公司
智能建筑与智慧城市 2010年4期
关键词:应用程序子系统客户端

文|上海现代工程咨询有限公司 毛 羿

1 引言

在OPC技术应用于集成系统监控平台之前,传统的集成系统中,各个设备厂商的硬件设备之间以及各硬件设备与监控平台中的应用软件之间的信息共享是通过驱动程序来完成的。控制软件开发商要构造一个完整的监控平台往往需要针对不同的应用软件开发大量的驱动程序。OPC技术标准的制定,使得所有的设备之间以及设备与监控平台中的应用软件之间的通信有了统一的规则。

由于所有OPC服务器接口的标准都是统一的,因此OPC客户端应用程序能够用一种标准的方法实现对所有设备供应商提供的OPC服务器程序的访问。用户能够直接从OPC服务器读取到来自现场设备的数据,而不需要另行开发通信程序。也就是说,只要OPC客户端应用程序开发成功并能够使用,就能够被用于带有OPC服务器的监控系统中。这样一来,OPC技术的引入就大大简化了监控系统的复杂性,使用户可以独立开发OPC客户端应用程序而不必购买比较昂贵的商业组态软件。

2 项目介绍

下面以上海由由喜来登酒店系统集成软件开发项目为例详细阐述。为了实现数据共享,以及在统一的界面对所有的子系统进行监控管理,必须提取所有子系统需要的数据。系统通过运行在各子系统监控分机上的服务器程序采集各个子系统的数据,加以整理后存入数据库,同时提供监控系统。整个酒店的各个子系统共设置有1016个监控点(其中AI点294个,DI点268个,AO点216个,DO点238个),监控对象主要包括空调子系统的送/回风机运行状态(DI)、手/自动状态(DI)、开 /关控制(DO)、送风温度(AI)、送风湿度(AI)等,给排水子系统的给排水泵运行状态(DI)、手/自动转换状态(DI)、开/关控制(DO)、给排水水流开关状态(DI)等,照明子系统的楼层/事故照明的电源开关控制(DO)、电源运行状态/故障(DI)、电源手/自动状态(DI)等,以及供配电子系统、新风机监控子系统、冷热源子系统等各子系统的数据。大楼内各子系统设备主要选择江森和霍尼韦尔的楼控产品,主要采用OPC数据通信协议对办公大楼内的各个子系统进行集成,并对各子系统设备的运行状态进行监测和控制,采集并配置相关参数。整个大楼的集成网络结构如图1所示。

整个大楼的集成系统主要分为三个层次,即管理层、控制层和设备层,各层有着彼此不同的特点。

图1 基于OPC的系统集成结构图

(1)管理层

管理层主要是位于大楼中央监控室的监控计算机,采用以太网进行通信,并且能够与其他监控分机进行互联,实现管理层上的集成。

(2)控制层

控制层主要是运行于各监控分机中的OPC服务器程序。由于OPC服务器封装了各子系统设备的驱动程序,因此服务器可以向下对现场设备进行数据采集,并将采集到的数据转换为统一的OPC数据传输格式,通过OPC接口向上传送给位于监控主机中的OPC客户端应用程序。

(3)设备层

由于霍尼韦尔、江森等大型自动化设备厂商往往会提供OPC服务器以便进行系统集成,因此该项目主要采用霍尼韦尔和江森公司提供的自动化设备,包括空调子系统、新风机监控子系统、给排水系统、供配电子系统的大部分设备。没有附带OPC服务器的设备,将由控制软件开发商为之开发OPC服务器。由于LonWorks使用开放式的,面向对象的总线网络协议LonTalk,可靠性和实时性较高,因此底层的现场设备采用LonWorks总线网络进行互联。

(4)OPC客户端和服务器

OPC客户端运行于中央监控计算机中,负责采集并显示现场设备运行的实时数据,管理人员通过OPC客户端对现场设备进行数据访问操作。客户端与服务器进行连接,通过OPC服务器实现与现场设备的通信,从而实现整个系统的数据通信,最终达到管理和控制的目的,实现系统集成。

3 监控平台软件体系结构

整个上位机监控系统包括三个模块,即集成平台管理软件模块、数据通信模块、数据库模块,三个模块既各自独立又相互联系。整个监控系统软件体系结构如图2所示。

图2 监控系统软件体系结构图

在监控系统软件体系中,集成平台管理软件模块主要用于实现模拟现场设备运行情况的界面显示、报警通知和报表打印等功能。

数据通信模块也就是OPC客户端应用程序,它作为整个上位机监控系统的数据通信模块,与OPC服务器进行连接,通过OPC服务器与现场设备进行数据交互,采集现场设备的运行参数。在监控点比较多的情况下,OPC服务器程序和OPC客户端程序一般运行在不同的计算机上,通过DCOM配置实现远程的数据交互。OPC服务器将采集到的数据通过标准的OPC接口传送给位于上位机监控系统中OPC客户端应用程序,OPC客户端应用程序读取并显示采集到的各个设备的运行参数以供管理人员进行分析和使用。管理人员可以通过OPC客户端应用程序直接对设备运行参数进行配置,以实现对现场设备的监测和控制,实现对整个系统的集中监控和统一管理。

数据库模块在整个监控系统中也非常重要,它负责存储由OPC客户端采集到的现场设备的数据信息,并为集成平台管理软件提供接口,使集成平台管理软件能够通过该接口共享数据库信息。由此,在集成平台管理软件中既能显示模拟现场设备的运行状况,又能显示现场设备的各类数据信息。我们采用ADO方式来实现对数据库的访问。ADO不仅支持关系型数据库,也支持非关系型数据库,它封装了ODBC和OLE DB的功能,执行效率和可扩展性能都优于ODBC,并且能够用统一的方法来访问不同的数据类型。

将OPC技术应用于整个大楼的系统集成当中,不仅能够实现各个子系统之间的互联和互操作。而且能够实现在一个统一的集成管理平台上对大楼内所有的现场设备进行控制和管理,这为未来进一步实现智能建筑一体化系统集成奠定了良好的基础。

4 系统客户端的开发

编写OPC客户端应用程序是通过接口调用OPC服务器的功能,对楼宇自动化系统中的现场设备进行数据访问操作,完成对数据的配置,从而为监控系统提供实时数据,以达到对系统中现场设备运行状态的实时监测。在整个OPC客户端应用程序的设计过程中,有两个部分是最重要的,一个部分是OPC数据读取模块的设计,另一个部分是OPC数据保存模块的设计。两个部分的信息交互采用多线程技术来完成。我们将数据读取模块作为工作线程(它对现场设备的数据读取工作主要在后台完成),将数据保存模块作为主线程。工作线程会定时读取服务器数据缓冲区中的数据,当数据发生变化时,作为主线程的数据保存模块就会将变化的数据保存至数据库。OPC数据读取模块主要实现与OPC服务器的数据交互,也就是定时读取来自服务器的实时数据;也可以完成对服务器数据的写入操作。数据保存模块可以通过ADO的数据访问方式来访问OPC数据采集模块建立的数据库。

这里提到的接口功能实现主要由服务器来完成,OPC客户端应用程序就是需要通过接口函数来调用服务器接口提供的功能。当然,函数的编写必须符合OPC数据访问规范标准。具体的OPC客户端应用程序连接和断开OPC服务器的实现流程如图3所示。

图3 OPC客户端连接和断开服务器的程序实现流程图

5 服务器端的设计

OPC服务器的功能主要是通过封装在其内部的设备驱动程序实现对现场设备的数据访问,然后通过统一的OPC接口将数据传递给OPC客户端。因此,需要按照OPC数据访问规范的要求完成OPC服务器的结构、数据传输机制和接口功能的设计与实现。在OPC服务器的结构设计中,服务器的数据采集功能主要参考OPC数据访问规范2.0版本来实现。根据OPC数据访问规范中有关服务器的描述,OPC服务器的结构应如图4所示。

整个服务器的设计主要包括两个部分,一个是与客户端进行通信的OPC标准接口类的设计,另一个是对现场设备进行数据采集的硬件通信模块部分的设计。标准接口类部分的设计目标主要是按照OPC数据访问规范的要求,分别实现各内部组件对象(主要包括OPC Server对象和OPC group对象)的接口功能,以及实现将从现场设备中采集到的数据与接口类中的Item相关联,转换为统一的数据格式传递给OPC客户端应用程序的功能。硬件通信模块的设计目标主要是根据设备支持的通信协议完成I/O动态链接库的设计,并实现通过调用动态链接库中的API函数进行与现场设备的数据交互的功能。

图4 OPC服务器的整体结构图

OPC服务器的工作流程如图5所示。

图5 OPC服务器工作流程图

6 OPC客户端的测试

集成平台管理软件主要采用自行开发的BMS监控软件,通过BMS监控软件来监控并显示空调系统设备的运行状态。监控软件空调系统的界面如图6所示。

图6 BMS监控软件空调系统界面

图6显示了大楼内空调系统中空调机组的配置情况,点击进入空调机组可以看到每一空调机的具体运行状况,如图7所示。

图7 空调机组运行状况界面

从图7中我们可以看到,空调机组运行状况界面包括空调机组的5个运行参数,即故障报警、空调机手/自动设置、空调机运行/停止控制选择、送风温度以及送风湿度。这5个参数的读取和配置由监控系统中的OPC客户端应用程序来完成,BMS监控软件共享OPC客户端应用程序的系统数据库。OPC客户端应用程序对空调系统设备OPC服务器进行数据访问操作的主界面如图8所示。

图8 OPC客户端应用程序操作界面

从图8中可以看出,OPC客户端应用程序首先与空调系统设备的OPC服务器进行连接,然后添加组;在与服务器连接之后,就可以读取到来自服务器的空调机设备参数(即故障报警、手/自动设置、运行/停止控制选择、送风湿度、送风温度)。

通过以上OPC客户端应用程序在实际的工程项目中的测试可以看出,本课题设计的OPC客户端应用程序能够成功地运用到大楼内上位机监控系统中,满足通过服务器对现场设备的数据访问操作的要求。OPC客户端应用程序设计的目的不只是为了读取一个设备的数据值,而是要实现对整个建筑内所有现场设备的数据访问操作。只要设备厂商提供了其子系统设备的OPC服务器,并将其通过网络进行互联,OPC客户端应用程序就能够通过多线程的方式同时对大楼内所有的OPC服务器进行连接,在同一界面环境下对现场设备进行数据读取和配置。这样就使得管理人员在需要对多个设备进行数据访问时,不必同时操作多个界面,从而节省了系统资源。由于OPC客户端和OPC服务器的接口标准是统一的,所以即使现场的硬件设备进行了升级或完全改变,也只需要替换该设备相应的OPC服务器或更新服务器内部封装的设备驱动程序,而不需要对客户端程序作很多改动,只要在程序中更换一个相应的ProgID即可。所以说OPC客户程序的代码重用率是相当高的。

7 结束语

随着自动化技术、网络技术的快速发展,OPC技术规范也在不断地发展和创新,它所拥有的强大应用潜力已经在许多领域得到了展示。随着Web服务的广泛应用,在楼宇自动化领域,基于Web服务的自动化设备在远程监控、维护、管理等方面的需求越来越迫切。将OPC XML技术应用于楼宇自动化系统集成,更能提高各种应用系统在异构平台上基于Internet技术的互联能力和互操作性。同时,由于其采用软件方式,在实现控制系统和信息系统的无缝连接的同时更易于实现功能的扩展,使得系统更加开放,势必将成为未来楼宇自动化系统集成的又一种高效的方法。参考文献

猜你喜欢
应用程序子系统客户端
不对中转子系统耦合动力学特性研究
GSM-R基站子系统同步方案研究
删除Win10中自带的应用程序
如何看待传统媒体新闻客户端的“断舍离”?
谷歌禁止加密货币应用程序
驼峰测长设备在线监测子系统的设计与应用
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
车载ATP子系统紧急制动限制速度计算