|
【摘要】BACnet即“楼宇自控网络的数据通讯协议”,是一种使不同厂家生产的楼宇自动控制设备能够互相通信和共享信息的开放协议。本文在论述并分析现有的BACnet网络与Internet互联的两种方式后,提出了一种BACnet/IP网关互联方法,简化并统一了BACnet网络与Internet互联。
【关键词】BACnet;Internet
;网关; 协议; 互联
1
引言
BACnet(Building
Automation and Control Network)是由美国采暖、制冷、与空调工程师协会(American
Society of Heating,Refrigerating,and Air-conditioning Engineer)为楼宇自动控制网络制定的一种数据通讯协议。它于1995年颁布,同年成为美国国家标(ANSI)。2000年8月在挪威ISO国际会议上,15个国家一致通过BACnet作为国际楼宇自控标准草案,中国明确表示支持BACnet成为国家标准。BACnet最重要的特点是建立了一种统一的数据通信格式,它定义了18种对象、35种服务,按照BACnet标准生产的设备就可以自由进行通信,从而实现真正的互操作性。与其他控制总线标准不同的是BACnet是一个完全开放的协议标准,任何人都可以对其提出改进方案,并且不需要支付任何专利费用。
目前BACnet网络已经广泛应用于智能大厦、智能小区。为了更广泛、更方便的实现楼宇自动控制,BACnet网络与Internet互联势在必行,与Internet互联的动力在于BACnet网络联入Internet后可以:
1.
通过Internet联接两个或更多的BACnet网络(通常单个建筑物中为一个BACnet网络),实现地理范围极广的BACnet网络互联。
2.
过Internet浏览器,如IE、Netscape远程接入BACnet网络,为远程控制提供廉价、有效、及时的管理方式。
3.由于Ipv6的发展,未来的Internet连接的不仅仅是PC,随着科技、经济的发展,各种具有不同智能的终端,如:信息家电、web家电、智能传感器都将接入Internet,从而进行远程控制。
2
BACnet网络的体系结构
BACnet网络首先是一种局域网。借鉴OSI/RM,BACnet网络采用了四层网络协议结构,分别为应用层,网络层,数据链路层和物理层。应用层主要完成报文分段,端端流量控制,序列控制,超时以及为应用程序提供接口。网络层主要完成地址解析、路由、协调异种底层网络的差异。在数据链路层和物理层BACnet网络采用了已有成熟的五种局域网技术,如图1所示:目前由于以太网的广泛使用及快速以太网、吉比特以太网的出现与普及,采用以太网作为底层局域网是大势所趋,本文以下假设BACnet网络使用以太网作为底层局域网。
3
目前BACnet网络与Internet互联方法
在1995年公布的BACnet标准中只定义了一种PAD(Packet
Assembler Disassembler)的BACnet互联方法,到了1999年,由于基于TCP/IP的Internet已经成为事实上的网络标准,ASHRAE
SPC (Standard Project Committee)于1999年1月发布附件J,提出一种更灵活方便的互联方案BACnet/IP。BACnet设备要利用Internet进行通讯,必须采用IP协议的方式进行,这就需要采用附加的传输层协议,目前有两种传输层协议:即TCP和UDP。TCP提供面向连接的、提供可靠的端到端的传输服务,UDP是一种不可靠无连接的数据报服务。由于BACnet协议已经提供包传输的可靠保证。所以采用UDP是合理有效的。在BACnet协议中规定默认UDP端口为X‘BAC0’。
3.1PAD网络互联方法
PAD是一种实现BACnet网络层和Internet
UDP、IP协议功能的BACnet设备。它通过隧道(Tunnel)技术实现在Internet上传输BACnet信息。PAD的工作对于BACnet设备来说是透明的,它们并没有意识到IP互联网的存在。如图2所示,当PAD在本地网络收到一个BACnet分组是,它首先将其解封装,将NPDU取出,检查NPCI,判断是否有DNET域,如果没有,则此分组终端地址是本地网络,PAD不再做处理。如果有DNET域,PAD则查询一个内部表单,此表单是描述BACnet网络编号-PAD-IP地址的对应关系,如果搜寻到合适条目,PAD就把BACnet报文的LSDU(数据链路层服务数据单元)封装到UDP分组中,UDP源端口、目的端口都设为默认端口X‘BAC0’,然后发送到IP路由器,此IP数据报的源地址是PAD自己的IP地址,目标地址是BACnet报文中的DNET是一个全局广播地址,那么PAD将向表单中的所有PAD传输这个报文。路由器在收到一个报文时,先检查报文的逻辑链路控制头部的链路层服务接入点(LSAP),IP的LSAP是X‘06’,而BACnet分组地LSAP是X‘82’。在接受端的PAD,从UDP报文中取出BACnet报文,在检查其中的MAC地址,发送到目的设备。
3.2B/IP网络互联方法
1999年1月,常设标准方案135委员会(SSPC135)在PAD基础上改进开发了新的互联协议,称为BACnet/IP,简称B/IP,作为BACnet标准附件J。B/IP路由器的主要作用就是直接将BACnet报文封装进IP帧中进行传输。B/IP协议主要有7个部分。(1)提出并详细描述由一个或者多个IP子网组成的BACnet网络的概念;(2)详细描述了使用BACnet非确认服务进行在B/IP网络和非B/IP网络之间的本地、远程和全局广播的管理;(3)定义了一个新设备,称为BACnet广播管理设备(BBMD),用来进行广播管理,(4)通过定义一个新的协议层,成为BACnet虚拟链路层(BVLL),实现B/IP通信;(5)提供了“外来”设备接入B/IP网络的方法;(6)规定了在B/IP网络和非B/IP网络之间的路由;(7)规定了多个B/IP网络之间的路由。
B/IP网络是由一个或者多个具有IP域名的子网组成的、具有一个单独BACnet网络号的集合网络。如图3所示,BACnet/IP路由器将BACnet报文加上一些控制信息,整体作为TCP/IP协议中的UDP报文的数据段,封装进入IP帧中,每个B/IP路由器有一个IP地址,是一个IP网络设备,而它的上层应用又是按照BACnet协议进行组织的可以与其他的BACnet设备进行数据“对话”。
在PAD、BACnet、B/IP路由器间传递的是BACnet数据帧,而在PAD、B/IP路由器、IP路由器间传递的是IP数据帧。B/IP路由器完成BACnet数据帧与IP数据帧之间的转换,所有要通过Internet传输的信息必须要经过B/IP路由器处理。B/IP路由器还集成了另一个广播管理设备BBMD(B/IP广播管理设备)。BBMD主要功能是将一个B/IP路由器在其子网内发送的BACnet广播报文直接传送到目的子网的B/IP中,由目的B/IP在其子网内进行广播。为完成此功能,BBMD必须保持一个广播分配表,列出虚拟网络中的所有BBMD或B/IP路由器与IP地址的对应关系。
4
改进的互联方法
就本质而言,BACnet网络与Internet互联的问题是协议相互理解、相互转换的问题。目前存在的互联方法无论PAD还是B/IP路由器都是为了解决以上问题。本文提出一种综合网关(Gateway)与隧道相结合,并参照已有的互联解决方法,来简化BACnet网络与Internet互联的解决方案。
4.1系统结构图
网关起到沟通BACnet网络与Internet的作用。如图4所示,BACnet/IP网关(以下简称网关)直接联接BACnet网络与Internet。在此BACnet网络中,还可以接入相当数量的个人PC,从而实现控制网络与信息网络的统一,但由于BACnet设备需要有实时性的保证,整个BACnet网络的利用率在10%—30%时,有较好的延时特性,因此必须对个人PC的流量进行一定限制,具体方法参见[7]。
4.2网关结构
对于IP数据报来说网关是一个IP路由器,而对于BACnet数据报网关是一个BACnet路由器。就BACnet网络设备而言网关、Internet是透明不可见的。此网关必须具有一个IP地址和一个BACnet网络号,还要维护一个对等网关的IP地址—BACnet网络号对应的数据库。
如图5所示,此网关引入BACnet网络管理层,完成协议转换、广播、管理等功能。
4.3网关工作过程
当网关从BACnet网络中收到一个数据报时(BACnet网络底层采用以太网时,任意一个数据报将自动到达所有的节点、设备),经过物理层和数据链路层解封装,根据链路层服务接入点(LSAP)由BACnet网络管理层判断网络层数据是IP帧还是BACnet帧,IP的LSAP是X‘06’,而BACnet分组地LSAP是X‘82’。如果是IP帧则直接交给网络层,如果是BACnet帧将其中的BACnet网络层数据NPDU取出,根据DNET内容,然后通过UDP/IP打包发送到目标网关。在接收方,网关每收到一个从Internet来的数据包,经过物理层与数据链路层在网络层进行判断,如果其中是BACnet帧则交给上层传输层,经过BACnet网络管理层处理,送入BACnet。如果是IP帧则交送给BACnet网络管理层,根据IP协议送入BACnet中的工作站。网关可完成广播功能,像BBMD一样它在本地建立节点与MAC地址对应的动态数据库。如果有设备加入,可实时将其加入数据库。由此可以进行广播、多播和组播。管理功能完成数据动态备份、状态实时监控。通用浏览器可以通过访问子网内的BACnet
Web服务器获取、修改BACnet设备的数值、状态。
本网关的优点在于最大简化了BACnet网络与Internet的互联过程,提供了统一的网络接口,增强了控制网络与IT网络融合的能力,支持即插即用,安装、使用简单是未来BACnet网络互联Internet的主流方向。众所周知,目前计算机的处理能力越来越强,BACnet网络管理层可以用软件结合硬件实现,网关的物理层、数据链路层可以做成网络接口卡(NIC)的形式,而BACnet网络层、IP网络层、IP传输层由软件实现。国际著名的智能建筑厂家Alerton公司正在开发这方面的设备。
5结束语
Internet在世界范围内得到了广泛的应用,IP技术成为通讯网络的主流技术。Internet网络建设也遍及全球。如何利用Internet的资源实现BACnet网络的互联,是当今BACnet研究的前沿。本文提出的混合网关模型使用、安装简单,实现控制网络和信息网络的统一,是BACnet与Internet互联的一种可行、有效的解决方案。
参考文献
[1]American Society of Heating,Refrigerating,and
Airconditioning Engineer。ANSI/ASHRAE Standard 135-1995: BACnet-A
Data Communication Protocol for Building Automation and Control
Networks [M]. Atlanta,Georgia,USA,1995
[2]惠晓实等,BAC/IP的互联网扩展(下)[J].工业设计CAD与智能建筑,2000(4):20-22
[3]徐正元,张义.BACnet与Internet的互连[J].工业设计CAD与智能建筑,2001(1):38-40
[4]杨斌等.LonWorks网络与LAN、Internet互连的解决方案[J].计算机应用研究,2000(5):41-44
[5]张继东等.现场总线与以太网互联研究[J].计算机工程,2001(5):19-21
[6]Bill Swan. Building Wide-Area Networks with BACnet[E],http://www.bacnet.org
[7]Seork-Kyu Kweon. Statistical Real-Time communication over
Ethernet for Manufacturing Automation Systems[E], http://citeseer.nj.nec.com |