楼宇自动化控制网络数据通信协议BACnet(Building Automation contr01 Networks)是1995年由美国采暖制冷空调学会(ASHRAE)正式公布制定的,为美国国家标准。ISO于2003年1月批准该协议为国际标准(1S0 16484-5)。BACnet标准本身既不是产品也不是软件,而是一个面向BAS系统内部数据通信及信息交换的协议。
BACnet标准的基本目标有两个:一是在技术上定义一个开放的楼宇自控系统结构,实现不同系统问的互连(Interconnect)和互操作(Interoperability);二是在应用上使用户(业主)可以自由选择自控厂商和系统集成商,寻求具有最优竞争力的产品和服务,使系统维护和升级不局限于特定的厂商,从而保护用户的投资。
从BACnet标准实现的目标来看,BACnet标准就是定义了一个开放的技术平台或环境,所有楼宇自控厂商不需要得到授权或委托,均可以直接进人这个开放的平台或环境,并参与竞争。在BACnet标准定义的平台或环境中,竞争是完全公平的,没有其他专有(Propritary)标准的限制,从而促进楼宇自控产业有序健康发展。它是为最终达到预定监控目标所必须共同遵循的软硬件技术规则。
一 BACnet标准的基本特点
(1)专用于楼宇自控网络,具有高效的特点。BACnet标准是专门为楼宇自控网络定制的标准,定义了许多楼宇自控系统所特有的特性和功能。与其他标准相比,BAcnet标准具有高效的优点。
(2)完全开放,技术先进。由于BACnet标准是由非盈利学会制定的标准,因此具有完全的开放性和广泛的参与性,从而使BAcnet标准可以博采众长,不
断注入新技术,始终代表楼宇自控领域的最高技术水
平。BACnet协议开放性主要表现在以下几个方面:
①独立于任何制造商,也不需要专用芯片,并得到众多制造商的支持;
②有完善和良好的数据表示和交换方法。
③按BAcnet标准制造的产品有严格的一致性等级(Protocol lmplementation Con—formance Statement,PICS),其主要内容包括:描述供货商和BACnet,设备、一致性等级、功能组、标准服务和专用服务清单、标准对象和专用对象清单,支持的网络选择;
④产品有良好的互操作性,有利于系统的扩展和集成。
(3)具有良好的互连特性和扩展性。BACnet标准虽然从体系结构上定义了不同的局域网络,但BACnet标准可以扩展到其他任意通信网络。从理论上讲,BACnet标准可以与所有的通信网络进行无缝集成。例如,BACnet/IP标准可以实现与Internet的直接互连。同时,在开放模式环境下,BACnet标准的应用领域得到不断的扩展。
(4)具有良好的伸缩性。BACnet标准没有限制BACnet系统中设备节点的数量,BACnet集成系统可以由几个设备节点构成一个极小的自控系统,也可以形成一个规模极大的超级系统。
因而BACnet是当前智能建筑发展的方向和主流技术,它给楼宇自控设备与系统的产品指明了发展方向。同时也给制造商提供了公平竞争的商机和条件。当然,其中最大的受益者是用户。
(5) BACnet通信协议可实现系统间无缝集成。建筑自动化开放系统所指的开放是开放中的开放,是包括传递方式的开放及编码方式的开放,就如同邮递系统及信件,这就是第一个开放,即使用工业标准通信协议。如IP、Ethernet、ARCnet、MS/TP、PTP及LonTalks作为其邮递系统。第二个开放指的是编码方式的开放,可以用一封信内容的写作方式来说明。不同的厂家都可以使用相同的传递系统来传送数据,但对于某一厂家采用私有方式所编码的一封信,其他厂家是无法在不了解其编码方式下而得知其所述内容,也就无法直接地完成跨厂家系统间的无缝集成。BACnet通信协议标准能够真正提供及制定了一套数据编码准则,即Objects来完成,这是建筑自动化的工业革命。如图1所示。

图1 BACnet的开放性
建筑自动化系统中的开放技术可以解决与第三方设备间的互通、互连、互操作。现场:应用的BACnet的产品可以和控制系统进行无缝接人,有效地降低了集成商的集成开发难度对于智能建筑系统集成来说,应用开放技术起到了很好的效应。此种技术策略大大降低了工程商的二次开发的技术要求,并降低了系统集成的调试周期,更好地提升了集成系统的工作稳定性。
BACnet作为世界上第一个楼宇自动控制网络的数据通信协议,代表了智能建筑发展的主流趋势。BACnet不是软件、硬件,也不是固件,它实际上是一种网络协议,即通信规则,为不同厂家生产的产品组成的系统之间进行信息交流提供平台和支持。BACnet详细阐述了楼宇自控网络的功能.阐明了系统组成单元相互分享数据实现的途径、使用的通信媒介、可以使用的功能以及信息如何翻译的全部规则。
BACnet是为实现不同系统的互联而制定的标准,它对智能建筑中各个系统间的信息交流进行组织和协调,充当着系统间的翻译。基于BACnet构建的系统是开放的系统。使用BACnet,用户可以自由选择生产厂商,购买性价比最好的产品,选择最好的技术,使系统扩充变得容易,投资获得保护。
BACnet主要为楼宇自控系统,尤其是暖通空调系统服务。它采用面向对象的技术,定义了一组具有属性的对象来表示建筑物内的机电设备。同时,BACnet也支持除暖通空调系统以外的其他系统,如安保系统、照明系统,但没有对BACnet协议在其他方面的应用进行优化。BACnet不支持即插即用,如果一个设备控制器发生故障,要更换另一个厂商的产品需要重新安装、编程。
二 BACnet的组成结构
BACnet作为楼宇自动控制系统的通信协议标准,用于解决系统间的集成。该通信协议标准规定了所有数据在网络中传输的一系列准则,包括使用何种线缆、如何发布指令、怎样得到温度信号、怎样发出警报等等。
1 BACnet协议结构
根据OSI的参考模型,BACnet是一种包含了应用层、网络层、数据链路层及物理层的4层协议。由图2可以看出,BACnet实际上就是由一个代表着楼宇自动化控制网络中的设备以及设备之间传递的信息的数据通信模型、和一个使两个或多个有着不同性能特性的局域网(LAN)互相连接的协议所组成的结合体。是当今楼宇自控系统的最佳解决方案。在应用层
面,BACnet定义了设备、设备中的对象、对象的属性以及响应对象或属性的服务。目前BACnet共定义了18种对象、123种属性和35种服务。由于一个楼宇自控系统中并不是所有的设备都有必要支持BACnet所有的功能,BACnet协议还定义了6个性能级别和13个功能组。

图2 把BACnet体系结构层次图
2 BACnet的模型
为了代表分散的楼宇自动化设备的各自内部功能,以使设备之间的互连和通得有意义,BACnet模型将楼宇自动化设备内部的数据结构映射转化成一种普遍的、通用的、定义完善的数据结构,即所谓的“对象”(Object)。网络中的每个设备用“对象”来进行描述。
(1)对象的实质是一组对应特定功能的数据单元的集合。BACnet一共定义为18种标准的对象。对象的类型包括模拟、二值量输入/输出、模拟二值量值、时序表、命令、设备、文件、组、循环、多态输入/输出、程序等。18种标准对象类型,通过不同对象的组合,实现DDC不同的控制功能,从而实现对DDC任务的描述。18种标准对象类型为:
①模拟输人(Analog lnput);
②模拟输出(Analog 0utput);
③模拟值(Analog Value);
④数字输人(Binary Input);
⑤数字输出(Binary Output);
⑥数字值(Binary Value);
⑦日历(Calendar);
⑧命令(Command);
⑨设备(Device);
⑩事件登记(Event Enrollment);
⑾文本(File);
⑩环路(Loop);
⑩多状态输入 (Multistate Input);
⑩多状态输出 (Multistate Output:
⑩通知等级(Notification C1ass);
⑩程序 (Program);
⑩时间表 (Schedule)。
“对象”的描述方法使要实现互操作的自动化设备或实体在开放系统中相互“可见(visible)'’,进而实现相互访问,为自动化设备实现互操作提供基础。
(2) BACnet除定义18种标准对象外,还定义了123种标准属性(Properties)。
属性实际上是对象的进一步描述。每个对象有许多不同的属性,单个的数据单元就称为对象的“属性”。如描述、单位、现时数值、范围等,对象的属性提供了一套不需要知道设备内部设计细节的鉴别和获取信息的方法。也就是说,BACnet的所有对象共同为楼宇自动化设备提供一种“网络可见”的表象,并构成了所谓的“BACnet设备”。
从“对象”获取信息向对象发生指令都是通过属性体现。每一种标准对象都规定了123种属性的某些子集。BACnet要求有些属性对某个对象是必须的,而另一些属性为可选,如所有的对象都要有对象编号、对象名称,对象类型。
对于未定义的设备(如消防、安全防范、照明控制设备),BACnet提供了添加新对象类的机制,也可以很方便地使用对象加以描述。通过对象,使基于物理设备的“物理可视”功能得到实现,从而具有良好的扩充性。
3 BACnet的服务
对象描述了楼宇自动化设备的抽象通信特征,属性是对象为进一步阐述,而BAcnet的服务功能则用于访问和管理这些对象发出的信息,指令完成一定的操作,或通知发生了某些事件的手段。利用服务可进行互操作设备的访问,将各种各样的互操作过程统一在“读、写”这两种基本操作之上,从而实现自动化设备的互操作。
在BACnet的对象提供了自动化设备的“网络可见”部分的抽象代表的同时,BACnet的“服务(Service)”定义和提供了若干条任务消息,用以访问和处理这些信息以及完成一些附加功能。服务用来完成某一设备从另一设备获得信息,或是命令另一元件进行所需活动。网络信息的交流与获取通过应用服务(Application Service)来完成。
BACnet目前定义了6个大类共35种服务,包括报警和事f牛月艮务(Alarm and Evenu日:文件访问服务(File Access、)、对象访问服务(0biect Acces)、远程设备管服务(Remote
Device Management)、虚拟终端服务(Virtual Terminal)和安全服务,并且服务有优先级之分。这6大类服务几乎包括了目前楼宇自控系统中所有的信息交换方式。
这些任务消息的格式都是按照Is0标准抽象语法表示法(1S0 8824)定义的规则来表示的,然后再按照BACnet自己的标准定义的网络传输规则的要求编码成“1“或“0”。
BACnet设备只须采用相关的对象进行描述。每一对象都有一组属.眭。设备的特征可以通过属性值表现出来。对象还提供服务,这些服务是与设备通信有关的命令和响应。BACnet的服务见表1所示。它们为BACnet,提供了建立控制系统的有效手段。见图3所示。

图3 一个BACnet设备由一组对象表示(不必包括所有18个对象)

BACnet的应用服务 表1
4 BACnet的网络
一经编码之后,BACnet的消息可以通过5种不同的网络技术传送。也就是说有灵活的网络标准,从而使得BAcnet网络模型中的数据链路层、物理层可以采用5种不同的技术。其中除了主要用来使拨号电话有的勋问网络的BACnet点对点仂议PTP (Point TO Point)以外,BACnet还允许使用4种局域网,包括以太网(IEEE 8023)、ARCnet(ANSI/ATA878.1)、BACnet自定义的主从令牌顺序网络MS/TP(Master—Slave/Token-Passing)及Echelon公司制定的专有网络LonTalk。
其中,MS/TP使用RS一485硬件接口标准,传输速度在1KB/s与77KB/s之间,价格便宜。PTP网络使用RS一232标准,采用Modem和电话线等通信机制在两点之间传输信息,它包括数据链路建立、数据交互数据链接终止三部分。
BACnet局域网的数据速率表,如表2所示。

BACnet局域网的数据速率表 表2
可根据系统通信量和通信速度选择不同的网络技术。运用多种网络技术的BACnet系统框架结构图,如图4所示。

图4 BACnet系统框架结构图
5应用的“性能级”和“功能组”
正确了解BACnet的关键,是理解实际应用对通信的要求以及如何把这些要求同BACnet的各种功能联系起来。为此,BACnet规定了一系列“性能级”和“功能组”。根据设备的初始化功能和执行功能,性能级分l~6级,如表3所示,高的性能级别包含低的性能级别的功能。每级包括一个或多个由标准对象形式支持的服务功能。性能级越高,BACnet提供的服务功能越丰富、而通信量也越大。各类不同的设备按需要选用不同的性能等级,既保证了网络的响应速度,又不影响网络速率。

BACnet性能级表 表3
6 BACnet网络的拓扑结构和概要
按照局域网拓扑的观点,每个BACnet设备与电气介质(或称物理网段)相连。一个BACnet网段是由一个物理网段或多个通过中继器在物理层连接的物理网段构成。一个BACnet网络则是由一个BA('met网段或多个通过网桥相连的BACnet网段组成。每个BACnet局域网都
形成一个介质访问控制地址域(Address Domain,MAC)。将使用不同LAN技术的多个BACnet局域网用BACnet路由器(Router)互连起来,便形成了一个BACnet互联网(Internetwork)。在一个BACnet互联网中,任意两个节点之间只能存在着一条报文通路,如图5所示。
B=网桥 RT=路由器 R=中继器 1/2RT=半路由器
图5 BACnet互联网结构图
功能组是性能级的补充,低性能级的设备要实现本性能级不具备的功能,可通过网络通信中的功能组从系统内获取有关数据来实现该功能,从而使低性能级设备通过网络通信实现高性
能级功能。表4列出BACnet的功能组共13个。

BACnet功能组表 表4
每个功能组,BACnet都规定了一系列对象和服务功能。例如,如果用户想设计一个控制器
来实现基于日期和时间的启动/断开操作。用户必须设定控制器支持时钟功能组,而系统的某一处,可能是操作者工作站,支持时间控制工作组。这样,控制器通过BACnet时间同步信息的互换可以与时间和日期通信,使其与时间有关的活动与时间同步。
三 BACnet/IP互联协议
(1)为了使BACnet能与Interent/Intranet,进行通信,BACnet标准于1999年定义了新的互联协议BACnet/IP,并作为BACnet标准附件J,成为BACnet的第6种局域网互联技术。
(2) BACnet设备要与Internet/Intranet进行通信,必须采用TCP/IP协议,这就需要采用附加的传输层协议,有二种传输层协议,即TCP和UDP。TCP提供面向连接的可靠的端到端服务,UDP是一种简单的无连接的不可靠的数据报文服务。由于Intranet协议已经提供包传输的可靠保证,因此采用UDP是合理和有效的。见图6、图7。TCP/IP协议通常在网络层由路由器实现互联,故可采用Intranet/IP路由器来互连Intranet网络与Internet/Intranet,如图8所示。ntranet/IP路由器将Intranet报文加上一些控制信

图6采用BBMD方式进行Internet互联的两个BACnet网络

图7 BACnet通向Intranet之路

图8通过路由器连接BACnet网络与Intranet
息,作为UDP报文的数据传输段,封装进人IP帧中,完成BACnet数据帧与IP数据帧之间的转换。图8中左边BACnet传递的是BACnet数据帧,右边Intranet传递的是IP数据帧。在图8中,应用层和传输层都是端到端,网络层是逐跳协议。
BACnet/IP路由器具有两个接口层,即BACnet驱动程序接口层和Intranet驱动程序接口层。
(3)web技术。WWW (Wide World Web)是Internet/Intranet的重要资源,它是一个多媒体信息系统。
web是存放在网络服务器一系列完整的信息,每时每刻都有不断的信息到达。Web技术的基本模式是浏览器/服务器的组合,它可以实现信息的发布和接收。
Web服务器与BA(:net数据之间双向传输的工作机制如下:
①在服务器一侧的登录者通过Web浏览器浏览到需要的主页后,通过超文本传输协议(HTTP)向Web服务器发出请求。HTTP定义了Web的通信交换机制、请求与回应格式以及各种数据对象等;
②服务器的HTTPDaemon(守护进程)将请求通过环境变量传递给主页指定的CGI;
环境变量内容有协议的版本号、服务器的名字、客户端的IP地址及域名、请求方式、内容及编码、访问信息合法性及其输入信息。
CGI((Common Gateway Interface)是Web服务器与外部应用程序互交的一个网关,以协议转换的方式互联Intranet与BACnet远程网络。通过它可以在Intranet上获取信息,加载控制,实现Web服务器与BACnet数据之间的双向数据传送;BACnet数据从BACnet设备实时传递给Web服务器,控制信息从Web服务器实时加载到BACnet网络,如图9所示。

图9 BACnet数据与Web服务器之间双向传输
③CGI将交互主页中用户输入的信息提取出来,调用相应的处理程序进行以下工作:完成客户端与服务器的交互操作,允许采用各种语言去实现HTTP、HTML无法实现的功能;当需要查询各种历史数据时,传递给静态数据库;沟通不同的服务平台,如办公自动化平台等;通过信道传递到BACnet动态数据库(由BACnet网络据组成);BACnet设备、BACnet数现
代通信网络:PSTN、DDN、FR、ISDN、xDSt.、ATM是沟通BACnet和Intranet的信道;BACnet数据的反馈信息由BACnet网络通过HTML文件返回给服务器,最终显示在屏幕上。
四BACnet协议的优势
由于BACnet已确定将建筑作为应用平台,因而它所控制的对象也就相对固定。就像量身定做一样,BACnet充分考虑了楼宇自控的对象特点,这也是与TCP/IP不同之处,作为传递资讯的协议,TCP/IP已被全世界接受,楼宇自控需要的是实时性(Real nme)、反映速度(ResponseTime),BACnet以长达8年半的研究时间铸就了它的针对性、严谨性及可扩展性。
BACnet定义了楼宇自控特定的18种对象,12种属性,35种服务。系统的功能将通过BACnet服务对BACnet设备操作而实现,其根本目的是实现互操作,调动所有对象按逻辑要求协调工作,以实现建筑内各类设备的控制与管理,如空调、给排水、变配电、电梯、安防等设备的自动控制运行,从而达到为人类节约能源,保护环境,提供舒适、方便的空间。
1 1999年BACnet附件J中写人了BACnet/llP作为第6个网络互连的底层技术,它将所有具备BACnet/IP条件的设备(Device),不通过任何物理转换,直接挂接在以太网上(Ethernet),这一革命性的文件,将起到两大作用:
(1)省略了二次控制网络
在大部分较为分散的控制系统中,常常分为管理层、控制层、设备层,在BA(]net的网络系统中管理层包括了上位控制主机、以太网;控制层包括了DDC及BACnet对物理层、链路层兼容的二次控制网络(Subsystem),(Subsystem),如MS/TP、RS485、ARCNET、Lon—Works等;设备层则由被控制对象、数据采集器与传输介质组成。BACnet附件J规定,以IP地址实现信号的通信方式,使用被控对象及数据采集器直接接人以太网,简化了控制网络的结构,它将在提高通信速度的同时,大量节约材料及人工,并使不断出现的新技术有了展现的舞台,如蓝牙技术(BlueTooth)将会大量用于设备及采集器与以太网的无线通信;而嵌入式操作系统及人性化终端界面将大量用于终端设备及采集器(如图10所示)。

图lO 控制网络示意图
(2)利用了庞大的Iflternet资源
Internet已成为全球的神经网络,事实上它正在统一着各种信息网络。视像、语音已由两大阵营CATV、Telecom发展成各自经营,并已在自有传输网络上运营很久,统一起来尚需时日,但向IP化方向发展将是勿庸置疑的,信息传输网络与控制传输网络虽发展速度不同,然而实现IP化统一传输通道已指日可待(见图11所示)。

图11 WebControl示意图
由于BACnet的物理层基于以太网,因而与LAN、wAN、Internet已构成无缝连接。这为通过浏览器远程控制设备及采集数据提供了方便,只需要在局域网控制中心安装一台应用服务器(ApplicationServer)将客户端报文TCP/IP通信包转换为BACnet/IP通信包,再通过IP广播管理设备(BBMD),对局域网广播,则可实现对设备及采集器的通信。
远程大数据量通信已被Internet变为现实,Internet又将造就另一个神话,它不再仅服务于资讯,数10倍以上的应用回报将使Internet的资源得以充分利用,远程控制(WebControl)亦不会离我们太远。
基于以上两大作用,可以想像:不论我们处在世界的哪一个角落,我们都在将自己的感官和行为通过Internet/Hi—IQNet向全球延伸,这种应用亦正是信息革命的智能化阶段,它才是真正意义上的直接改变人类的生活。
BACnet对现有的任何控制技术没有排他性,且定义了较好的兼容方式。它的全开放性,使不同生产厂的产品可以在采用BACnet,的基础上得以互连,互操作。
2 BACnet的可裁剪性及发展前景
BACnet标准并不关注实现手段,因此生产商不依赖特定的开发器、芯片或软件,生产商可以自由选择各具特色的实现方式,例如单片机、单版机+嵌入系统、PC机+桌面系统等。
为了保证有效的互操作,BACnet不仅仅定义了通信过程,也定义了控制设备内部数据的格式。例如:通过FTP协议,可以在本地看到远程电脑上的文件,但是如果不知道这些文件的格式,仍然无法打开、编辑,如果通过一些默认的扩展名知道了哪些是文本,哪些是JPG图片,就可以使用这些文件了。在BACnet中针对各种数据分别定义了标准对象,每种对象包含一些标准属性,这样一台控制设备可以很容易使用另一台控制设备的资源。
从实现的复杂程度而言,BACnet确实是重型协议,但幸运的是,一个特定功能的控制设备不需要实现全部的BACnet,。也就是说,对于特定的应用范围,BACnet是可裁剪的。因此,BACnet同样也适合一些低成本的应用,例如:网络型温度传感器,用8位单片机就可以实现了。每台BACnet设备都要提供一份协议实现一致性声明(PICS,proto-collplementation Conformance Statement )来说明白己实现了哪些内容。
BACnet标准在发展过程中不断丰富其内容,不断添加新的对象和服务,现在已经在照明、门禁、安防、火灾报警等领域被广泛应用。该标准仍然在不断发展,下一阶段将扩充对音频、视频数字传输的定义,以满足闭路监视、视频点拨等领域的标准化需求。


