2023年11月30日发(作者:)
认识BACnet协议
⼀、什么是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种类型:
请求(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,表⽰协议数据单元。
四、BACnet应⽤层
BACnet应⽤层主要有两个功能:
定义楼宇⾃控设备的信息模型——BACnet对象模型
定义⾯向应⽤的通信服务
BACnet应⽤进程模型:
⼀个应⽤进程包括:应⽤程序和应⽤实体,应⽤实体位于应⽤层内,属于通信协议的部分,应⽤程序不属于协议部分。应⽤程序和应⽤实体
之间通过API进⾏通信。
应⽤层有四种原语,分别为:请求(request)、指⽰(indication)、响应(response)和证实(confirm)。
BACnet对象模型:
BACnet⽹络协议使⽤先进的⾯向对象技术,通过封装在APDU内的对象数据进⾏通讯。BACnet拥有28个对象:
序号对象名称应⽤实例
01Accumulator累加器
02Analog Input模拟输⼊对象
03Analog Output模拟输出对象
04Analog Value模拟值对象
05Averaging 平均器
06Binary Input ⼆进制输⼊对象
07Binary Output⼆进制输出对象
08Binary Value ⼆进制值对象
09Calendar ⽇期表对象
10Command 命令对象
11Device设备对象
12Event Enrollment 事件登录对象
13Event Log事件⽇志对象
14File⽂件对象
15Global Group全局组对象
16Group 组对象
17Life Safety Point ⽣命安全监测点的信息检测
18Life Safety Zone ⽣⾯安全区域的信息检测
19 Loop控制环对象
20Multi-State Input多态输⼊对象
21Multi-State Output多态输出对象
22Multi-State Value多态值对象
23Notification Class通告类对象
24Program 程序对象
25Pulse Converter 脉冲转换器
26Schedule时间安排对象
27Trend Log趋势记录对象
28Trend Log Multiple多趋势记录对象
BACnet服务:
BACnet具有35种服务,服务是操作对象的⽅法。这35种服务分为6类,分别为:报警与事件服务,⽂件访问服务,对象访问服务,远程设
备管理服务、虚拟终端服务和⽹络安全服务。
其中,对象服务访问包括:
创建对象服务
删除对象服务
读属性服务
条件读属性服务
读多个属性服务
写属性服务
写多个属性服务
远程设备管理服务包括:
设备通信控制服务
有证实专有传输服务
⽆证实专有传输服务
重新初始化设备服务
有证实⽂本报⽂服务
⽆证实⽂本报⽂服务
时间同步服务
五、BACnet⽹络层
BACnet⽹络层的作⽤是检查⽹络拓扑结构,决定最佳路由。
⽹络层提供将报⽂直接传送到⼀个远程BACnet设备、⼴播到⼀个远程BACnet⽹络、或者⼴播到所有的BACnet⽹络中的所有BACnet
设备的能⼒。
⼀个BACnet设备由⼀个⽹络号码和⼀个MAC地址唯⼀确定。
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⽹络使⽤⼀个令牌来控制设备对⽹络总线的访问:
当主节点掌握令牌时,它可以发送数据帧。
凡是收到主节点请求报⽂的主(从)节点都可以发送响应报⽂。⼀个主节点在发送完报⽂之后,就将令牌传递给下⼀个主节点。
如果主节点有许多报⽂要发送,当它⼀次掌握令牌期间最多只能发送max_info_iframes个数据帧,就必须将令牌传递给下⼀个主节
N
点,其他数据帧只能在它再⼀次掌握令牌时,才能发送。
点到点(PTP)通信协议:
为了使两个BACnet设备能够各种点到点通信机制进⾏通信,BACnet定义了点到点数据链路层通信协议,⾯向连接的协议,这个协议的功能
是:
使两个BACnet⽹络层实体建⽴点到点数据链路连接,可靠地交换BACnet PDU。
使⽤已建⽴地物理连接执⾏BACnet点到点连接的有序终⽌。
⼀旦这种连接成功建⽴后,两个设备就可以透明地交换BACnet PDU。
⽆论呼叫设备还是被呼叫设备,都可以启动释放连接过程,⽽只有每个设备都发送了终⽌请求后,连接才会终⽌。
对应地物理连接有:EIA-232连接调制解调器,线路驱动器,或者其他数据通信设备。


发布评论