BACnet、楼宇自动化系统与Internet的集成
徐正元 王盛卫
香港理工大学屋宇设备工程系
注:本文作者徐正元可以通过bacman@联系。
摘要:BACnet即“楼宇自控网络的数据通讯协议” ,是一种使不同厂家生产的楼宇自动化控制器能够互相通讯和共享信息的开放协议。本文论述了BACnet系统与Internet集成的几种方式,从而能够利用Internet的现有资源,采用统一的浏览器界面对分布在各地的BACnet系统进行监控。
关键字:BACnet,Internet,LonWorks,集成,BA,楼宇自动化通信协议
一、 什么是BACnet?
BACnet,即A Data Communication Protocol for Building Automation and Control Networks[2],简称BACnet协议,是美国采暖、制冷和空调工程师协会(ASHRAE)经过近9年时间的研究制定的世界上第一个开放的楼宇自动控制网络协议。它详细地阐述了楼宇自控网的功能,阐明了系统组成单元相互分享数据实现的途径、使用的通讯媒介、可以使用的功能以及信息如何翻译的全部规则。它确立了不同生产厂家生产的各种BACnet兼容系统在不依赖任何专用芯片的情况下,相互开放通讯的基本规则。它使不同厂商生产的设备与系统在互连和互操作的基础上实现无缝集成成为可能。
该协议1995年一经颁布,即引起了各国政府、专家学者和企业的广泛关注。1995年由美国国家标准学院通过成为美国国家标准,目前韩国、日本已将其列为国家标准,也成为欧盟的预标准、ISO草案标准(关于BACnet成为ISO正式BA标准的投票正在进行之中)。
BACnet提供了一个描述各种自动化系统的精确模型,模型包括以下这些组成部分:23种对象(2001年版)、40个服务、137种属性、6种数据链路层、网络功能、互操作一致性。
BACnet是一个实现控制系统互操作的应用独立模型,它有着众多的互操作性类型和通用的对象,这使它不仅可以用于HVAC,还可以用于照明、安防、消防、门禁、交通等领域,事实证明它的应用领域还在不断的扩展之中[3]。
二、 关于BA系统与Internet的集成
Internet作为一个覆盖全世界的超级计算机网际网,在上个世纪九十年代得到了非常广泛的使用。无论是对人们的生活还是各个行业的发展都产生了极大的影响,楼宇自动化行业也不例外。楼宇自动化系统与Internet结合起来,就能够利用Internet的现有资源条件,实现分布在各地的BA设备及网络的低成本互
连,从而实现BA系统在全球的远程通信。另外,借助无所不在的Web技术,还可使用户采用统一的(通常是免费的)Internet浏览器界面对远程的BACnet 楼宇控制系统进行监控,免除了专用监控管理软件的购置费用和培训费。本文的目的就是介绍基于BACnet 的楼宇控制系统如何利用Internet进行通信的,并与其它的解决方案作一个简单的比较。
三、BACnet与Internet集成的实现
BACnet 设备间的通信采用的是BACnet 协议,Internet采用的是“Internet Protocol”即IP协议。IP协议采用数据封装技术,将目的地址、源地址、传送信息封装在一个包内。BACnet 设备要利用Internet进行通讯,必须采用IP协议的方式进行,这就需要附加采用一种传输层协议。当前Internet主要采用两种基本的传输协议,即“传输控制协议(TCP)”和“数据报协议(UDP)”。TCP是一种可靠的面向连接的传输服务,它提供端到端的可靠性、包重组及流量控制功能。UDP是一种不可靠的无连接的数据报传输服务,它能提供TCP所不能提供的多播及广播传送功能。由于BACnet 协议本身已提供了包传输的可靠性保证、包重组、流量控制功能,因此采用UDP协议较为合适。为了达到这样的目的,BACnet在1995版本的基础上进行了扩展,在BACnet 网络中引入特定的设备或服务进行UDP/IP通讯,这在BACnet 标准附录H.3和J中有具体描述。
一、BACnet 附录H.3方式
附录H.3中规定BACnet 网络之间采用PAD路由器的方式进行跨IP网络的互联。PAD是Packet-Assembler-Disassembler(数据包封装拆装)的缩写。进行通讯的每个BACnet 网络均需要且只能有一个PAD,PAD不必是一个物理独立设备,它可集成在其它设备如楼宇控制器中[1]。
PAD工作方式与BACnet 路由器略有不同。当它接收到一条发往另一BACnet 网络中的设备的BACnet 消息,而这个BACnet 网络只有利用IP互联网才能通讯时,它将此BACnet 消息封装进UDP/IP包中,以目标BACnet 网络中的PAD的IP地址为目的地址发出。接收一边的PAD则从中取出BACnet 消息,并发给本地局域网。由于消息是直接发给接收方的PAD,不象BACnet 路由器一样要广播全局信息。这可通过每一个PAD都建立一个对等的PAD设备表来实现。而BACnet 设备并没有意识到IP互联网的存在,它们以与普通BACnet 路由器一样的方式与PAD通讯[4]。
图1 采用PAD的方式进行Internet互连的两个BACnet网络
二、BACnet 附录J方式
通过IP互联网联结现有的BACnet 网络,附录H.3中的PAD设备是最简单
的方式。然而,这种方式也存在着两个缺点:一是每个PAD设备都要创建和维护
一个含有所有对等PAD的表,这在添加或删除网络时会带来很大的工作量;二是
将单个BACnet 设备通过IP互联连入BACnet 系统时,也要为这个BACnet 设备
配备一个PAD设备,这极大地增加投资。
基于以上及其它方面的考虑,1999年1月ASHRAE组织的BACnet 标准委员
会(SSPC135)中的IP工作组制定了名为BACnet /IP的扩展协议,作为附录J
加在BACnet标准中。
与附录H.3相比,BACnet /IP有如下优点:
1.BACnet /IP能更好地处理在IP网络上的BACnet 广播;
2.允许设备在IP互联网的任何地方连入系统;
3.支持“纯IP”的BACnet设备,所谓纯IP设备是指使用IP帧而不是BACnet帧来装载要传送的BACnet报文的单一控制器,从而有效
地利用甚至是广域网作为BACnet局域网。
附录J中采用了两种方法解决BACnet 信息广播的问题。一种是采用多播的
方式,多播是一种特殊的广播,它采用预留的IP地址范围
(224.0.0.0-239.225.225.225)进行通讯,只有设定为接收多播信息的设备才
能接收和处理信息。然而,在多播被网管禁止时,就只能采用第二种方式——BBMD
方式,它是BACnet /IP广播管理设备的略写。
BBMD工作方式与PAD类似。BBMD设备接收到需要在另一网络中广播的信息
时,就将它直接送到另一网络上的BBMD,接收方BBMD再将信息在本地IP网络
上广播。无论是采用附录H.3方式还是附录J的方式,必须采取适当的措施,如
子网划分等方式,避免产生“广播风暴”。