BACnet,Building Automation and Control networks的简称,即楼宇自动化与控制网络。是用于智能建筑的通讯协议。安全
通常楼宇自控设备从功能上讲分为两部分:一部分专门处理设备的控制功能;另外一部分专门处理设备的数据通讯功能。而BACnet就是要创建一种统一的数据通讯标准,使得设备能够互操做。BACnet协议只是规定了设备之间通讯的规则,并不涉及实现细节。服务器
BACnet协议模型为:网络
(1)全部的网络设备,除基于MS/TP协议的之外,都是彻底对等的(peer to peer);less
(2)每一个设备都是一个“对象”的实体,每一个对象用其“属性”描述,并提供了在网络中识别和访问设备的方法;设备相互通讯是经过读/写某些设备对象的属性,以及利用协议提供的“服务”完成;异步
(3)设备的完善性(Sophistication),即其实现服务请求或理解对象类型种类的能力,由设备的“一致性类别”(Conformance Class)所反映。oop
BACnet创建在包含四个层次的简化分层体系结构上,这四层至关于OSI模型中的物理层、数据链路层、网络层和应用层。ui
BACnet标准定义了本身的应用层和简单的网络层,对于其数据链路层和物理层,提供了如下五种选择方案:spa
(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)。3d
(3)第三种选择是主从/令牌传递(MS/TP)协议加上EIA-485协议。MS/TP协议是专门针对楼宇自动控制设备设计的,同ISO 8802-2类型1同样,它经过控制EIA-485的物理层,向网络层提供接口。
(4)第四种选择是点对点(PTP)协议加上EIA-232协议,为拨号串行异步通讯提供了通讯机制。
(5)第五种选择是LonTalk协议。
由应用层服务原语产生的应用层协议数据单元(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应用进程模型:
一个应用进程包括:应用程序和应用实体,应用实体位于应用层内,属于通讯协议的部分,应用程序不属于协议部分。应用程序和应用实体之间经过API进行通讯。
应用层有四种原语,分别为:请求(request)、指示(indication)、响应(response)和证明(confirm)。
BACnet对象模型:
BACnet网络协议使用先进的面向对象技术,经过封装在APDU内的对象数据进行通信。BACnet拥有28个对象:
序号 | 对象名称 | 应用实例 |
01 | Accumulator | 累加器 |
02 | Analog Input | 模拟输入对象 |
03 | Analog Output | 模拟输出对象 |
04 | Analog Value | 模拟值对象 |
05 | Averaging | 平均器 |
06 | Binary Input | 二进制输入对象 |
07 | Binary Output | 二进制输出对象 |
08 | Binary Value | 二进制值对象 |
09 | Calendar | 日期表对象 |
10 | Command | 命令对象 |
11 | Device | 设备对象 |
12 | Event Enrollment | 事件登陆对象 |
13 | Event Log | 事件日志对象 |
14 | File | 文件对象 |
15 | Global Group | 全局组对象 |
16 | Group | 组对象 |
17 | Life Safety Point | 生命安全监测点的信息检测 |
18 | Life Safety Zone | 生面安全区域的信息检测 |
19 | Loop | 控制环对象 |
20 | Multi-State Input | 多态输入对象 |
21 | Multi-State Output | 多态输出对象 |
22 | Multi-State Value | 多态值对象 |
23 | Notification Class | 通告类对象 |
24 | Program | 程序对象 |
25 | Pulse Converter | 脉冲转换器 |
26 | Schedule | 时间安排对象 |
27 | Trend Log | 趋势记录对象 |
28 | Trend Log Multiple | 多趋势记录对象 |
BACnet服务:
BACnet具备35种服务,服务是操做对象的方法。这35种服务分为6类,分别为:报警与事件服务,文件访问服务,对象访问服务,远程设备管理服务、虚拟终端服务和网络安全服务。
其中,对象服务访问包括:
远程设备管理服务包括:
BACnet网络层的做用是检查网络拓扑结构,决定最佳路由。
BACnet互联网络拓扑结构:
物理网段(Physical Segment):直接链接如下BACnet设备的一段物理介质。
网段(Segment):多个物理网段经过“中继器”在物理层链接,所造成的网络段。
网络(Network):多个BACnet网段经过网桥互联而成,每隔BACnet网络都造成一个单一的MAC地址域。这些在物理层和数据链路层上链接各个网段的设备,能够利用MAC地址实现报文的过滤。
互联网络(Internetwork):将使用不一样LAN技术的多个网段,用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链接调制解调器,线路驱动器,或者其余数据通讯设备。