3.2 BACnet简化的体系结构和支持的局域网
3.2.1 BACnet简化的体系结构和各层功能
1.BACnet简化的体系结构
BACnet建立在包含4个层次的简化分层体系结构上,这4层相当于OSI模型中的物理层、数据链路层、网络层和应用层,如图3-7所示。BACnet标准定义了自己的应用层和简单的网络层,对于其数据链路层和物理层,提供了5种选择方案。
图3-7 BACnet简化的体系结构
第一种选择是ISO 8802-2类型1定义的逻辑链路控制(LLC)协议,加上ISO 8802-3介质访问控制(MAC)协议和物理层协议。ISO 8802-2类型1提供了无连接(Connectionless)不确认(Unacknowledged)的服务,ISO 8802-3则是著名的以太网协议的国际标准。第二种选择是ISO8802-2类型1定义的逻辑链路控制协议,加上ARCnet(美国国家技术标准ATA/ANSI 878.1:令牌总线局域网)。第三种选择是主从/令牌传递(MS/TP)协议加上EIA-485协议。MS/TP协议是专门针对楼宇自动控制设备设计的,同ISO 8802-2类型1一样,它通过控制EIA-485的物理层,向网络层提供接口。第四种选择是点对点(PTP)协议加上EIA-232协议,为拨号串行异步通信提供了通信机制。第五种选择是LonTalk协议。
拓扑结构上,支持星形和总线型拓扑。在物理传输介质上,支持双绞线、同轴电缆、光缆信道组网。
2.BACnet简化体系结构的各层功能
物理层提供了连接设备和传输数据比特流的方式,BACnet网络中,物理层是必不可少的。
数据链路层负责将数据组织成帧(frame)或分组(packet),管理通信介质的访问、寻址,以及完成一些差错校正和流量控制的任务,这些都是BACnet协议所需要的,因此数据链路层也是必不可少的。
BACnet简化体系结构中的网络层功能包括:将全局地址解析为局部地址、在一个或多个网络中进行报文的路由、协调异构网络的差异(如不同网络所允许的最大报文长度)、序列控制、流量控制、差错控制以及信道复用。由于BACnet网络的拓扑特点,在各个设备之间只存在一条逻辑通路,这样便不需要最优路由的算法。其次,BACnet网络是由中继器或者网桥互联起来的一个或者多个网段所组成的网络,它具有单一的局部地址空间。在这样一种单一网络中,许多OSI网络层的功能也变得多余,或者与数据链路层相重复。但是在BACnet网络系统中,网络层又是必不可少的。例如,在一个BACnet互联网中,当两个或者多个网络使用了不同的MAC层时,便需要区别局部地址和全局地址,这样才能将报文路由到正确的网络上去。在BACnet协议中,通过定义了一个包含必要的寻径和控制信息的网络层头部,来完成这种简化了的网络层功能。
传输层主要负责提供可靠的端到端的报文传输、报文分段、序列控制、流量控制,以及差错校正。传输层的许多功能与数据链路层相似,只是在作用范围上有所不同。传输层提供的是端到端的服务,而数据链路层则提供的是单一网络上点到点的服务。由于BACnet支持多种网络的配置,因此协议必须提供传输层端到端的服务。而可靠的端到端传输和差错校正功能,在BACnet协议中由BACnet的应用层利用报文超时重传方式来完成。其次,考虑到缓冲区和处理器资源的管理,报文分段和端到端的流量控制也是必要的。这是因为即使一个简单的BACnet请求,都可能会导致大量的信息回传。同样,这些功能也是由BACnet的应用层完成的。最后,为了实现报文的正确重组,序列控制也是必需的。这也是由BACnet的应用层中的分段过程实现的。总的来说,由于BACnet是建立在无连接的通信模型基础上的,因此所需的服务大大减少,并且可以被高层来实现,这样便省去了一个单独传输层所会增加的通信开销。在BACnet协议中,不设单独的传输层,所需的功能由应用层实现。
会话层的功能是在通信双方之间建立和管理长时间对话,其中的一个重要功能是建立同步标志点,用来在发生差错时回复到前一个标志点,以避免对话重新开始。但是在一个BACnet网络中,绝大部分的通信都是很简短的,比如读写一个值或者一些值,通知(notify)某个设备有某个警报或事件(event)发生,或者更改某个设定值。当然长时间的信息交换偶然也会发生,比如上传或下载某个设备参数。由于绝大部分事务处理都是简短的,会话层的服务极少用到,再考虑到设置单独的会话层所带来的开销,所以BACnet标准中也不包括单独的会话层。
表示层为通信双方提供了屏蔽下层传送语法的服务。这种传送语法是用来将应用层中抽象的用户数据视图,变成适合下层传输的字节序列。但当只存在一种传送语法时,表示层的功能便减少到对应用程序的数据进行编码。由于在BACnet应用层中定义了一个固定的编码方案,因此一个独立的表示层也变得不再需要。
协议的应用层为应用程序提供了完成各自功能所需的通信服务。在此基础上,应用程序可以监控HVAC&R和其他BAS。显然应用层是本协议所必需的。
如上所述,使用七层体系结构描述和构建BACnet网络,消耗资源较多,因此在BAS中不适用七层级模型,而是采用了四层级的简化结构模型。
按照OSI模型的方式构造BACnet协议体系结构,同时大量地采用现有的计算机网络及现代通信技术,使BACnet协议具有实现成本低和便于与其他计算机网络系统集成的特点。因此,由物理层、数据链路层、网络层和应用层组成BACnet简化体系结构,是实现BAS的最佳解决方式。
3.2.2 BACnet标准支持的局域网
BACnet是应用在BAS中的控制网络的通信标准,但BACnet网络不是指某一种特定的控制网络,BACnet网络是一个由若干种网络组成的集合,这个集合中,包括了LonWorks控制总线、ARCnet令牌总线局域网、MS/TP(主从/令牌)环网、PTP(点对点)网络、以太网,其中MS/TP(主从/令牌)环网+EIA-485控制总线的网络组态、PTP(点对点)网络+EIA-232控制总线的网络组态都在BACnet网络的集合中。所以说BACnet网络是一种专门用于楼宇自控领域的局域网。
如果BAS具备远程监控的性能,近程的区域通信功能由BACnet局域网承担,但远程通信的功能则由多种不同的城域网和广域网来承担,这里的广域网范围较宽,如电信网、Internet、移动无线网络、卫星无线网络、包括各种接入网的广域网,BACnet网络内部的通信要完成的路由、中继、可靠的传输等问题由BACnet网络自身解决;远程通信网络中要完成的路由、中继、可靠的传输等问题都由电信网来处理,电信网可看成是BACnet网络外部的部分,部分异构的广域网也可以看成是BACnet网络外部的部分。