基于ARM9和嵌入式Linux的BACnet楼宇控制器的研究

2012-06-06 06:05黄健仓
中国港湾建设 2012年4期
关键词:组态楼宇实例

黄健仓

(中交一航局安装工程有限公司,天津 300457)

智能建筑是以建筑物为平台,兼备信息设施系统、信息化应用系统、建筑设备管理系统、公共安全系统等,集结构、系统、服务、管理及其优化组合为一体,向人们提供环保、健康的建筑环境。BACnet标准是目前楼宇控制行业唯一一个关于网络通信的开放性国际标准,以实现楼宇控制系统内不同种类的设备、不同厂商的设备之间的互操作性。它具有技术先进且易于实现的特点,是国际楼宇自动控制行业的主流技术[2]。

1 BACnet标准

BACnet标准在关于设备互操作性的概念中,是把一个楼宇控制设备分成两个组成部分,一个是控制部分,另一个数据通信部分。BACnet标准建立了一个统一的楼宇通信标准,各个厂家在设计和生产楼宇控制设备时,采用BACnet标准的通信协议来进行数据通信。这些厂家的设备就能相互通信,实现设备的互操作性。

它包括以下部分:1)BACnet协议模型;2)BACnet/IP技术;3) BACnet/IP协议报文;4) BACnet编码规则;5)BACnet标准的对象;6) BACnet标准的服务。

2 楼宇控制器总体设计

支持BACnet通信协议的楼宇控制设备称为BACnet设备,各种BACnet设备通过不同形式连接至BACnet网络后形成的具有完整的楼宇控制功能的系统即为BACnet楼宇控制系统。一个BACnet/IP系统典型的配置结构为两层,如图1所示。

本设计中的楼宇控制器是一个采用主流的软硬件技术,完全按照BACnet互操作性要求设计的功能齐全的BACnet专用控制器(B-ASC)。控制器采用嵌入式处理器平台,控制器支持通过IP网络来查看、监视和控制该设备,控制器的状态、输入输出端口的情况、历史、趋势和报警数据均可被上位机记录和管理,通过网关设备控制器的还可被使用通过互联网接入的管理设备查看。

设计中的控制器的对象实例方面需要定义1个设备对象实例,8个模拟输入Analog Input对象实例、8个数字输入(Binary Input)对象实例、4路模拟输出(Analog Output)对象实例和8路数字输出(Binary Output)对象实例。图2是控制器的模型示意图。

图1 典型的BACnet/IP系统结构图

图2 BACnet楼宇控制器模型示意图

3 BACnet楼宇控制器硬件设计

控制器硬件平台的选择,重点就是嵌入式处理器的选择。不同的处理器平台,在功能和性能上存在很大差异,关系到整个系统的的设计工作[5]。

ARM微处理器的一些优点如下:

1)具有领先的处理速度、功耗很低。

2)具有16位和32位两套指令集。

3)处理器指令执行数度快。

4)指令长度一致、寻址方式灵活。

5)支持协处理器,可扩展运算能力。

本设计中楼宇控制器要求具备32位的处理能力,集成常用的嵌入式应用的功能模块,处理速度较高,功耗低,体积小,性价比高,且应用广泛,有比较的应用案例可供参考。故选择三星S3C2440A(ARM9)处理器作为本设计中系统硬件平台。

BACnet楼宇控制器的硬件结构如图3所示。

各部分的功能如下:

1) 微处理器及其辅助电路。微处理器是整个控制器的核心,负责控制着整个控制器的运行。

图3 BACnet楼宇控制器的硬件结构图

2) 存储模块。存储系统负责存储包括系统的引导程序、操作系统、文件系统和应用程序,以及在运行时提供程序和数据的缓存空间。

3)以太网模块。BACnet楼宇控制器的网络接口单元是控制核心功能之一,是BACnet通信能力的基础。网络接口单元由0以太网控制芯片组成,其上带有以太网MAC控制器和通用处理接口。通过连接到以太网上,实现接收和发生UDP报文。

4) I/O模块。I/O模块是连接控制器与被控设备的桥梁,实现控制器对不同被控对象的信号转换和传输。并通过隔离电路将输入通道的外部输入端和控制器的其他单元完全隔离,以提高控制器的稳定性和抗干扰能力。

5) 电压模块。硬件电路中,不同的器件在需要的工作电压不完全相同,通常嵌入式系统的输入电源是5 V,所以需要设计电源转换电路适应不同芯片的需要。

4 BACnet楼宇控制器软件设计

在控制的软件设计中引入嵌入式操作系统作为楼宇控制器的软件平台,这样可以把软件开发的重点集中在应用软件的功能设计上,而不需要过多地考虑底层的硬件与软件之间的复杂关系。操作系统将应用程序和底层硬件隔离开来,也是对系统的一种保护,防止一些简单的应用程序错误导致整个控制器的崩溃。

嵌入式Linux是在Linux操作系统的基础上,针对嵌入式应用裁减和开发的版本,以其特有的开放性、与生俱来的网络特性而成为嵌入式操作系统的主流之一。

鉴于此,我们选择嵌入式Linux操作系统来开发BACnet楼宇控制器的软件平台。

通过对BACnet协议的体系结构和对BACnet楼宇控制器功能的分析,可以得出BACnet楼宇控制器软件包括以下几个模块:BACnet协议栈、底层驱动模块、控制器应用程序。开发的软件体系结构如图4所示。

图4 BACnet楼宇控制器的软件框架图

对于TCP/IP协议栈采用Linux内核配置时选择添加即可,不需要进行额外的开发工作,协议栈的调用也是通过其标准的接口套接字Socket来实现。BACnet协议栈是控制器软件开发过程中的重点,因为只有实现了BACnet协议栈才能将各种输入、输出数据编码成可以被其他BACnet设备识别的二进制代码,对BACnet网络上的各种服务请求进行响应或请求其他设备执行某种服务。

5 控制程序的设计

控制程序负责整个控制器运行期间的各种工作状态的管理和控制。主要包括配置和初始化、对象实例操作、控制策略3个部分。

1) 配置文件和初始化的设计。设备启动后,首先需要对输入输出模块进行初始化,设定输入输出端口的初始工作状态。然后根据配置文件设定楼宇控制器的各种BACnet参数,包括设备对象实例的ID、设备的IP地址、端口号;PID控制算法的输入、输出对应的物理通道、设定值对应的模拟输出对象实例、PID参数;数字滤波器的采样次数。最后初始化协议栈,初始化完毕,向网络发送一个I-am的无证实服务报文,通告该设备准备工作就绪已连接至BACnet网络。

2) 对象实例操作的设计。初始化工作完成后,控制程序就将设备带入正常的工作状态中,开始响应BACnet网络上的服务请求。收到报文请求后,需要对具体的对象实例进行操作,主要就是将对象实例的Prensent_Value(当前值)通过读取或写入操作与输入输出模块的物理输入输出值关联起来,进而实现对被控设备的管理。

3) 楼宇控制器控制算法的设计。控制设备在很多场合的应用中需要控制器本身具有一些控制算法来实时控制设备的运行状况。这样不仅可以避免所有的控制过程都需要顶层管理服务器来处理所带来的网络繁重的通信负担,而且可以满足实时性控制的要求[1]。本设计中还集成了PID算法。

6 BACnet应用实例

BACnet标准在世界各地得到广泛的应用,数以万计的采用BACnet协议的楼宇控制系统被安装在智能建筑中。著名的西雅图美国银行大厦、拉斯维加斯大酒店、我国的上海科技城等都采用了BACnet技术。使用BACnet通信协议的楼宇控制系统的推广,使得传统专有协议的系统和设备的市场份额越来越小[4]。

总的来说,我国对BACnet标准的研究有阶段性的成果,为其在我国的推广和应用奠定了基础。但BACnet技术在我国建筑领域中应用的还是很少,我国每年建筑总量占全球的40%,在如此大的市场中如何推广应用BACnet标准,使该领域与国际接轨是需要认真思考的问题。

BACnet楼宇控制器仅是复杂的楼宇自控系统中的一个小的组成部分,应用到实际的楼宇自控系统中,可以通过两种方法:一是作为国外厂商的楼宇控制系统的部件;二是通过OPC服务器软件,与通用的组态软件创建独立的楼宇控制系统。

外国厂商的楼宇控制系统产品线比较完整,从顶层的数据服务器到底层的执行部件,但价格也很贵,而我们自己设计的控制器在性能相当时,价格却要便宜很多,所以集成到这些厂商的系统中在技术和市场两方面都是可行的。BACnet标准的开放性使得各家厂商的产品可以实现无缝集成,按照一致性声明的要求,我们的控制器能与其他厂家的系统完全兼容。

通过OPC服务器软件加上通用组态软件组成独立系统的方法可以应用一些规模比较小的楼宇自控系统。目前市场上的OPC服务器软件和组态软件供应商比较多,选择空间也很大。本设计中选用SCADA Engine BACnet OPC Server作为控制系统的OPC服务器,安装在普通的PC机上,通过以太网就可以远程控制BACnet楼宇控制器,并提供组态软件对BACnet设备的OPC接口。

组态软件采用亚控公司的组态王6.5,该款是国产组态软件中的佼佼者,广泛应用于工业控制领域,软件内部的各种组件很全面,能够很方便的设计出各种控制系统的人机交互界面。图5为楼宇控制系统中一个空调新风系统的控制界面。

与OPC服务器软件的连接通过组态王的工程浏览器设定,OPC服务器启动后,在工程浏览器的设备子目录下的OPC服务器这项中添加SCADA Engine.BACnet OPCServer。然后设置控制界面各个变量与OPC变量的连接关系,即可使组态王软件与远程的BACnet楼宇控制器实现连接(见图6)。

7 结语

本次设计就BACnet协议在控制器中的具体应用做了简单的研究,简要地阐述了BACnet协议栈中各个部分如何在软件中实现,然后设计了控制器的控制软件,最后提出了控制器在具体工程中的应用方法。

随着信息技术的不断发展,人们对建筑内环境要求的提高,智能建筑、楼宇自动化系统呈现普及化的趋势。同时,我国正处在大规模城镇化建设阶段,是世界最大的建筑市场,楼宇自动化行业在国内将会有广大市场。随着BACnet楼宇设备的研究和开发越来越多,我国在该领域的发展前景广阔。

[1]GB/T50314—2006,智能建筑设计标准[S].

[2] 梅英.基于BACnet的楼宇自控系统的工程设计[D].长沙:湖南大学,2007.

[3] 张勤.基于嵌入式Linux构建BACnet设备的软件环境[D].武汉:华中科技大学,2004.

[4] 董春桥.智能楼宇BACnet原理与应用[M].北京:电子工业出版社,2003.

[5]封景刚,吴宝江.ARM嵌入式系统开发完全入门与主流实践[M].北京:电子工业出版社,2008:7-8.

猜你喜欢
组态楼宇实例
通信生产楼宇建设项目造价问题分析
商务楼宇治理中党建融入的逻辑与路径——基于广州S楼宇的观察与思考
基于PLC及组态技术的恒温控制系统开发探讨
基于PLC和组态的智能电动拧紧系统
智美兼具的精品——评测君和睿通Homates H10楼宇对讲室内门口机
基于PLC和组态的新型回转类测试设备的研制
高层楼宇灭火装备
PLC及组态软件在隧道监控系统中的应用
完形填空Ⅱ
完形填空Ⅰ