《1 前言》

1 前言

科技进步、信息技术的发展, 是人类的生活居住水平有了一个质的飞跃。为了更好地体现以人为本、科学发展的思想,在现代的建筑中引入了智能建筑 ( intelligent buidings)的概念。随着人民生活水平的日益提高, 人们对生活、工作环境的要求也越来越高, 随之也带来了能源的高消耗等一系列问题, 智能建筑系统亦逐渐有了较为详细的子系统, 主要由楼宇自动化系统 ( buiding automation system, BAS) 、通信自动化系统 ( communicotiy antorocing system, CAS)和办公自动化系统 ( office cutomatiom syktem, OAS)三大系统组成 [1]

而计算机技术和信息技术突飞猛进的发展, 对建筑内的各种设备的状态监视和测量不再是随线式, 而是采用扫描测量。系统控制的方式由过去的中央集中监控, 转而由高处理能力的现场控制器所取代的集散型控制系统, 中央处理机以提供报表和应变处理为主, 现场控制器以有关参数自动控制相关设备, 来达到控制目的。

《2 智能楼宇系统》

2 智能楼宇系统

《2.1 智能楼宇系统》

2.1 智能楼宇系统

楼宇自控系统可由设于中央控制室内的中央系统对大楼内的新风机组、VAV空调系统、冷源系统、热交换系统、送排风系统、给排水系统、变配电系统、照明系统、电梯系统、热风幕系统、室外温湿度等进行监控, 如图 1所示。

《图 1》

图 1 楼宇自控系统示意图

Fig.1 Schematic diagram of building automatic control system

《2.2 智能楼宇的远程控制改进 (设计 )》

2.2 智能楼宇的远程控制改进 (设计 )

智能楼宇在完成自身的智能控制之外, 还需要控制人员在远程监控, 如数据的提取、分析和控制。控制人员通过在中央控制系统提供的接口进行数据获取, 分析数据或进行手动控制, 由中央控制系统提供各个子系统数据获取和控制接口, 如图 2所示, 其中中央控制系统 Web Service接口设计是新提出的工作方式, 代替原有的远程控制 COM组件的方式。

《3 数据交互接口构建》

3 数据交互接口构建

由图 2可见, 这是一种面向服务的构架。面向服务是一系列服务的集合, 各个服务之间可以互相通信 (包括简单的数据传递和多个服务共同参与一个活动 ), 它通过为各个系统提供一些外部接口, 从而达到集成各个系统的目的 [2] 。在此服务构架中, 为了完成管理员的远程调用中央控制系统的各个子系统的功能, 需要由中央控制系统提供分布式共享接口, 此接口为了达到通用的标准性, 需遵循一些特定的标准, 从而实现面向服务的系统。

《图 2》

图 2 远程通过接口访问各个子系统示意图

Fig.2 Schematic diagram of access each subsystem by Web service in face

通过以上的分析, 使用了 Visual Studio 2003构架提供的 Web Service编程环境编写了 Web Service 接口, 由于 Web Service在与远程客户端进行交互中使用了 XML语言 [3]封装信息, 故此系统同其他系统的交互是无障碍的, 它完全可以提供通用共享接口的目的。同时, 为了保障信息传输过程中的验证性、机密性、完整性, 可有选择地使用数字签名技术 [4] , 以完善其数据传输过程中的安全性。在调用 Web Service提供的接口上, 无需太多的改动, 在原有的系统上只需重新编译, 或做很小的改动即可。

《3.1 Web服务端设计》

3.1 Web服务端设计

设计 Web服务端用 C#编码表示, 界面如图 3 所示, 关键代码如下: [ Web Method ( Description="根据用户名和用户类型获取用户的详细信息, 用户类型 =′0′表示管理员用户, 用户类型 =′1′表示外部用户 ") ]

《图 3》

图 3 提供的界面接口

Fig.3 Interface been offer

public string Get User Data By Type( string user Name, char user Type)

{通过与数据库的对比, 判断登录用户的登录权限, 返回权限值}

[ Web Method( Description="根据用户名和用户类型判断用户是否存在, 如果存在返回 true, 如果不存在返回 false, 用户类型 =′0′表示企业用户, 用户类型 =′1′表示个人用户 ") ]

public bool User Exist( string user Name, char user Type)

{通过调用数据库信息, 判断用户存在与否, 并返回布尔值 }

[ Web Method( Description="根据用户提供的信息进行功能操作, 读取数据参数 user Type=′02′表示是′新风机组′, =′03′表示是′冷却系统′, = ′04′表示是′照明系统′……") ]

public Data Set Get Data By Type( string user Name, char user Type)

{判断用户提供的信息, 返回读取的系统及其子系统数据信息, 返回 DataSet数据集 }

[ Web Method( Description="根据用户提供的信息进行启动控制功能, 数据参数 user Type=′01′表示是开启功能控制, =′02′表示是′新风机组′, = ′03′表示是′冷却系统′, =′04′表示是′照明系统′…… =′00′为关闭控制功能 ") ]

public bool Get Control By Type( string user Name, char user Type)

{判断信息, 对不同的子系统进行相应的操作, 并返回布尔值}

...//提供的其他功能接口

《3.2 Web Service客户端调用》

3.2 Web Service客户端调用

不论是远程 Web程序调用还是 Windows程序调用, 在引用后, 都同使用普通的命名空间一样, 如添加引用 Web Service接口 (命名为远程接口 ) 。可以看到在组件窗口中增加了如图 4所示的一个属于工程名称“远程控制客户端”成员“远程控制客户端 .远程接口”的一个命名空间。

《图 4》

图 4 添加接口引用增加的命名空间

Fig.4 Addition name space by referencing in face

《4 结语》

4 结语

此方案在河南郑州某智能小区试验并成功使用。结果证明, Web Service的使用提高了远程调用系统的速度, 减少了因为网速慢引起的客户端机的假死现象。由于交互数据为标准 XML, 也避免了防火墙对远程交互的干扰。

Web Service分布式控制技术是一项成熟的技术, 在智能建筑的远程控制上不存在使用技术上的障碍。而且这种方法简单实用, 与以前的 COM组件的远程控制形式不同, 在编码、使用上更加易行, 增加接口对远程控制软件的影响很小甚至没有影响, 同时开发周期大大缩短, 这对远程智能楼宇控制是一个好的解决办法。