认识BACnet协议

1、什么是BACnet?

BACnetBuilding Automation and Control networks的简称,即楼宇自动化与控制网络。是用于智能建筑的通讯协议。安全

通常楼宇自控设备从功能上讲分为两部分:一部分专门处理设备的控制功能;另外一部分专门处理设备的数据通讯功能。而BACnet就是要创建一种统一的数据通讯标准,使得设备能够互操做。BACnet协议只是规定了设备之间通讯的规则,并不涉及实现细节。服务器

BACnet协议模型为:网络

(1)全部的网络设备,除基于MS/TP协议的之外,都是彻底对等的(peer to peer);less

(2)每一个设备都是一个“对象”的实体,每一个对象用其“属性”描述,并提供了在网络中识别和访问设备的方法;设备相互通讯是经过读/写某些设备对象的属性,以及利用协议提供的“服务”完成;异步

(3)设备的完善性(Sophistication),即其实现服务请求或理解对象类型种类的能力,由设备的“一致性类别”(Conformance Class)所反映。oop

 

2、BACnet的体系结构

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协议。

 

3、BACnet的协议栈和数据流

由应用层服务原语产生的应用层协议数据单元(APDU),构成了网络层服务原语的数据部分,并经过网络层服务访问点下传到网络层。

一样,这个请求将进一步下传到本地设备协议栈的如下各层。

服务原语:用于描述服务用户和服务提供者之间交互做用的、抽象的、与具体无关的表现方式。服务原语只有4种类型:

  • 请求(Request) 用户实体要求服务作某项工做   源(N+1)实体—>源(N)实体
  • 指示(Indication) 用户实体被告知某事件发生   目的(N)实体—>目的(N+1)实体
  • 响应(Response) 用户实体表示对某事件的响应   目的(N+1)实体—>目的(N)实体
  • 确认(Confirm) 用户实体收到关于它的请求的答复   源(N)实体—>源(N+1)实体

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,表示协议数据单元。

 

4、BACnet应用层

 BACnet应用层主要有两个功能:

  • 定义楼宇自控设备的信息模型——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类,分别为:报警与事件服务文件访问服务对象访问服务远程设备管理服务虚拟终端服务和网络安全服务

其中,对象服务访问包括:

  • 建立对象服务
  • 删除对象服务
  • 读属性服务
  • 条件读属性服务
  • 读多个属性服务
  • 写属性服务
  • 写多个属性服务

远程设备管理服务包括:

  • 设备通讯控制服务
  • 有证明专有传输服务
  • 无证明专有传输服务
  • 从新初始化设备服务
  • 有证明文本报文服务
  • 无证明文本报文服务
  • 时间同步服务

 

5、BACnet网络层

 BACnet网络层的做用是检查网络拓扑结构,决定最佳路由。

  • 网络层提供将报文直接传送到一个远程BACnet设备、广播到一个远程BACnet网络、或者广播到全部的BACnet网络中的全部BACnet设备的能力。
  • 一个BACnet设备由一个网络号码和一个MAC地址惟一肯定

BACnet互联网络拓扑结构

物理网段(Physical Segment):直接链接如下BACnet设备的一段物理介质。

网段(Segment):多个物理网段经过“中继器”在物理层链接,所造成的网络段。

网络(Network):多个BACnet网段经过网桥互联而成,每隔BACnet网络都造成一个单一的MAC地址域。这些在物理层和数据链路层上链接各个网段的设备,能够利用MAC地址实现报文的过滤。

互联网络(Internetwork):将使用不一样LAN技术的多个网段,用BACnet路由器互联起来,便造成了一个BACnet互联网络。在一个BACnet互联网络中,任意两个节点之间刚好存在着一条报文通路。

 

6、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网络使用一个令牌来控制设备对网络总线的访问:

  • 当主节点掌握令牌时,它能够发送数据帧。
  • 凡是收到主节点请求报文的主(从)节点均可以发送响应报文。一个主节点在发送完报文以后,就将令牌传递给下一个主节点。
  • 若是主节点有许多报文要发送,当它一次掌握令牌期间最多只能发送Nmax_info_iframes个数据帧,就必须将令牌传递给下一个主节点,其余数据帧只能在它再一次掌握令牌时,才能发送。

 

点到点(PTP)通讯协议

 为了使两个BACnet设备可以各类点到点通讯机制进行通讯,BACnet定义了点到点数据链路层通讯协议,面向链接的协议,这个协议的功能是:

  • 使两个BACnet网络层实体创建点到点数据链路链接,可靠地交换BACnet PDU。
  • 使用已创建地物理链接执行BACnet点到点链接的有序终止。

一旦这种链接成功创建后,两个设备就能够透明地交换BACnet PDU。

不管呼叫设备仍是被呼叫设备,均可以启动释放链接过程,而只有每一个设备都发送了终止请求后,链接才会终止。

对应地物理链接有:EIA-232链接调制解调器,线路驱动器,或者其余数据通讯设备。

相关文章
相关标签/搜索