一、什么是BACnet?BACnet,Building Automation and Control networks的简称,即楼宇自动化与控制网络。是用于智能建筑的通信协议。 一般楼宇自控设备从功能上讲分为两部分:一部分专门处理设备的控制功能;另一部分专门处理设备的数据通信功能。而BACnet就是要建立一种统一的数据通信标准,使得设备可以互操作。BACnet协议只是规定了设备之间通信的规则,并不涉及实现细节。 BACnet协议模型为: (1)所有的网络设备,除基于MS/TP协议的以外,都是完全对等的(peer to peer); (2)每个设备都是一个“对象”的实体,每个对象用其“属性”描述,并提供了在网络中识别和访问设备的方法;设备相互通信是通过读/写某些设备对象的属性,以及利用协议提供的“服务”完成; (3)设备的完善性(Sophistication),即其实现服务请求或理解对象类型种类的能力,由设备的“一致性类别”(Conformance Class)所反映。 二、BACnet的体系结构
BACnet建立在包含四个层次的简化分层体系结构上,这四层相当于OSI模型中的物理层、数据链路层、网络层和应用层。 BACnet标准定义了自己的应用层和简单的网络层,对于其数据链路层和物理层,提供了以下五种选择方案: (1)第一种选择是ISO 8802-2类型1定义的逻辑链路控制(LLC)协议,加上ISO 8802-3介质访问控制(MAC)协议和物理层协议。ISO 8802-2类型1提供了无连接(Connectionless)不确认(Unacknowledged)的服务,ISO 8802-3则是著名的以太网协议的国际标准。 (2)第二种选择是ISO 8802-2类型1定义的逻辑链路控制(LLC)协议,加上ARCNET(ATA/ANSI878.1)。 (3)第三种选择是主从/令牌传递(MS/TP)协议加上EIA-485协议。MS/TP协议是专门针对楼宇自动控制设备设计的,同ISO 8802-2类型1一样,它通过控制EIA-485的物理层,向网络层提供接口。 (4)第四种选择是点对点(PTP)协议加上EIA-232协议,为拨号串行异步通信提供了通信机制。 (5)第五种选择是LonTalk协议。 三、BACnet的协议栈和数据流
由应用层服务原语产生的应用层协议数据单元(APDU),构成了网络层服务原语的数据部分,并通过网络层服务访问点下传到网络层。 同样,这个请求将进一步下传到本地设备协议栈的以下各层。 服务原语:用于描述服务用户和服务提供者之间交互作用的、抽象的、与具体无关的表现方式。服务原语只有4种类型:
PDU:Protocol Data Unit,协议数据单元,是指对等层次之间传递的数据单位。 APDU:Application Protocol Data Unit,应用协议数据单元。 NPDU:Network Protocol Data Unit ,网络协议数据单元。 LPDU:Link Protocol Data Unit,链路协议数据单元。 MPDU:MAC Protocol Data Unit,MAC协议数据单元。 PPDU:Presentation Protocol Data Unit,表示协议数据单元。 四、BACnet应用层BACnet应用层主要有两个功能:
BACnet应用进程模型:
一个应用进程包括:应用程序和应用实体,应用实体位于应用层内,属于通信协议的部分,应用程序不属于协议部分。应用程序和应用实体之间通过API进行通信。 应用层有四种原语,分别为:请求(request)、指示(indication)、响应(response)和证实(confirm)。 BACnet对象模型: BACnet网络协议使用先进的面向对象技术,通过封装在APDU内的对象数据进行通讯。BACnet拥有28个对象:
BACnet服务: BACnet具有35种服务,服务是操作对象的方法。这35种服务分为6类,分别为:报警与事件服务,文件访问服务,对象访问服务,远程设备管理服务、虚拟终端服务和网络安全服务。 其中,对象服务访问包括:
远程设备管理服务包括:
五、BACnet网络层BACnet网络层的作用是检查网络拓扑结构,决定最佳路由。
BACnet互联网络拓扑结构:
物理网段(Physical Segment):直接连接以下BACnet设备的一段物理介质。 网段(Segment):多个物理网段通过“中继器”在物理层连接,所形成的网络段。 网络(Network):多个BACnet网段通过网桥互联而成,每隔BACnet网络都形成一个单一的MAC地址域。这些在物理层和数据链路层上连接各个网段的设备,可以利用MAC地址实现报文的过滤。 互联网络(Internetwork):将使用不同LAN技术的多个网段,用BACnet路由器互联起来,便形成了一个BACnet互联网络。在一个BACnet互联网络中,任意两个节点之间恰好存在着一条报文通路。
六、BACnet数据链路/物理层BACnet标准将五种类型的数据链路/物理层技术作为自己所支持的数据链路/物理层技术进行规范,形成其协议。
ARCNET局域网: ARCNET是1977年由Datapoint公司开发的一种安装广泛的局域网(LAN)技术,它采用令牌总线(token-bus)方案来管理LAN上工作站和其他设备之间的共享线路,其中,LAN服务器总是在一条总线上连续循环的发送一个空信息帧。 当有设备要发送报文时,它就在空帧中插入一个“令牌”以及相应的报文。当目标设备或LAN服务器接收到该报文后,就将“令牌”重新设置为0,以便该帧可被其他设备重复使用。这种方案是十分有效的,特别是在网络负荷大的时候,它为网络中的各个设备提供平等使用网络资源的机会。
主从/令牌传递(MS/TP)协议: BACnet的主从/令牌传递局域网技术的基础时使用EIA-485标准。 由于EIA-485标准只是一个物理层标准,不能解决设备访问传输介质的问题,BACnet定义了主从/令牌(MS/TP)协议,提供数据链路层功能。 MS/TP网络使用一个令牌来控制设备对网络总线的访问:
点到点(PTP)通信协议: 为了使两个BACnet设备能够各种点到点通信机制进行通信,BACnet定义了点到点数据链路层通信协议,面向连接的协议,这个协议的功能是:
一旦这种连接成功建立后,两个设备就可以透明地交换BACnet PDU。 无论呼叫设备还是被呼叫设备,都可以启动释放连接过程,而只有每个设备都发送了终止请求后,连接才会终止。 对应地物理连接有:EIA-232连接调制解调器,线路驱动器,或者其他数据通信设备。 |