BACnet协议

BACnet协议

BACnet协议_第1张图片

BACnet协议层包括物理层,链路层,网络层,应用层和BACnet安全层。

我们知道BACnet是用于楼宇自动化和控制网络的简短形式的数据通信协议。BACnet是主要行业供应商产品中常用的自动化和控制协议之一,如江森自控,西门子建筑技术,KMC控制,远程控制系统等。

BACnet从一开始就作为独立的开放标准自动化协议而开发。社区免费提供多个BACnet协议栈。

BACnet应用程序非常庞大。BACnet应用包括照明控制,安全,消防,报警,HVAC(加热,通风,空调和与公用事业公司的接口)。

BACnet International负责一致性测试服务以及BACnet标准的开发和采用。BACnet技术应与KNX和Zigbee等其他技术互通。还开发了这些技术之间的互操作性规范,以使这些系统共存。

BACnet协议栈

BACnet协议_第2张图片

该图描绘了BACnet协议栈。如图所示,它由物理层,链接层,网络层和应用层组成。BACnet协议是OSI堆栈的折叠版本,不使用传输层和会话层。应用层采用这两层的功能。

BACnet物理层

BACnet上层不依赖于物理层。BACnet物理层使BACnet可以在不同的网络上实现。BACnet物理层已指定用于以下内容:
•ARCNET 
•以太网
•IP隧道
•BACnet / IP 
•RS-232 
•RS485 
•  Lonworks / LonTalk

RS232用于点对点通信。RS485支持最多32个节点,距离为1200米,速率为76Kbps。

BACnet协议链路层

BACnet可以使用LonTalk / IEEE802.2链路层直接实现。它为RS232连接指定PTP(点对点)数据链路层。它指定用于RS-485连接的MS / TP数据链路层。

该标准规定了BVLL(BACnet虚拟链路层),它提到了BACnet设备在该链路层所需的所有服务(例如广播)。

IP BVLL将所需的控制信息封装在BACnet虚拟链路控制信息的头部中。由于IP BVLL,BACnet设备可以直接通过IP网络进行通信,而无需任何路由器设备。

BACnet使用BBMD概念,该概念实现了所需链路层所需的广播要求。BBMD代表BACnet广播管理设备。据此,BACnet广播消息被转换为基于IP的多播/广播消息。

BACnet网络层

BACnet网络层指定路由所需的网络地址。BACnet网络由一个或多个段组成。这些BACnet网段在使用相同的LAN技术时使用网桥连接。如果他们使用不同的LAN协议,则使用路由器连接/接口。

BACnet应用层

BACnet不会隔离演示文稿和应用程序层。它负责通常与传输和会话层相关的可靠性和分段/排序机制。

BACnet将设备作为交换服务原语的对象。这些服务原语使用ASN.1语法描述,并使用ASN.1 BER进行序列化。

BACnet安全层

让我们了解BACnet安全概念。BACnet设备-A可以从密钥服务器请求会话密钥,以便与设备-B建立安全通信。该密钥由密钥服务器传送到设备A和设备B. 密钥称为“SKab”。BACnet协议使用56位DES加密。

设备-A和设备-B通过交换挑战字(即使用会话密钥的随机数加密)相互认证。挑战消息包括标识符(即InvokeID)。这用于将要进行身份验证的所有未来事务。

BACnet协议的工作原理

如前所述,BACnet代表楼宇自动化和控制网络的数据通信协议。早期的专有系统没有互操作性,因此难以有效控制商业建筑。BACnet已经实施,使不同供应商的专有系统能够互操作。该规定也已纳入最新标准,以便BACnet网络可以与其他技术互操作,如Zigbee,KNX等。

BACnet还支持传统LAN协议,如以太网,ARCNET,MS / TP和LonTalk。该标准由ASHRAE(美国采暖,制冷和空调工程师协会)维护和管理

BACnet标准

-BACnet标准化始于1987年(在ASHRAE会议期间)
-BACnet于2003年成为ISO标准(ISO 16 484-5) 
-BACnet,由BACnet international于2006年管理,提供一致性测试服务,并促进标准的采用和发展。
- 在美国,BACnet于1995年成为标准(ASHRAE / ANSI标准135),2003年BSR / ASHRAE标准135.1中的一致性测试标准化
- 在欧洲,它于2003年由CEN技术委员会247采用,用于自动化和管理级别。

BACnet协议_第3张图片

BVLCI-BACnet虚拟链路控制信息

BACnet中的链路层定义了RS232的PTP和RS485的MS / TP。该标准定义了BACnet虚拟链路层(BVLL),它规范了BACnet设备中链路层所需的所有服务(例如广播)。

在BACnet设备中,使用IP BVLL封装控制信息。这在普通IP层中不可用。信息在BVLCI标题中添加。使用此标头BACnet设备可以直接通信而无需路由器。BACnet中的BBMD(BACnet广播管理设备)概念负责特定链路层的BACnet广播功能。

NPCI

类似的BACnet网段通过网桥连接,路由器不同。BACnet地址有两种类型即。网络标识符和地址标识符。NPCI是BACnet网络标题的缩写形式,包括以下信息元素。 

NPCI = { 

•2字节源网络(SNet),可变长源地址(SAddr,SLen),对于以太网,使用ARCNet和MS / TP本机协议地址格式。对于subnetID和nodeID(2字节)的LonTalk连接,或者使用subnetID和Neuron ID(7字节)的串联。
•2字节目标网络(DNet),可变长度目标地址(Daddr,Dlen)对于广播消息,DNet识别需要或需要广播的网络,Dlen = 0
•4字节网络优先级指示符
•1字节消息类型:BACnet路由机制使用9种消息类型,例如,“谁是路由器到网络”以发现到特定网络的路由器ID 供应商可以定义特定的扩展消息类型。
•2字节供应商ID

}

BACnet对象

设备基本功能被指定为对象。每个设备都被分解为标准化对象的集合。对象的属性如下:

•物理输入
•物理输出
•名称,类型和配置参数

使用设备内的唯一标识符标识每个对象。标识符被指定为Object_Identifier。BACnet支持约30种已定义标准属性和预期行为的对象类型。

以下是标准对象类型:

• Analoginput
• AnalogOutput
• AnalogValue
• BinaryInput
• NotificationCLass
• Program
• Schedule
• BinaryOutput
• BinaryValue
• Calender
• Command
• Device • 
Averaging
• MutistateValue
• TrendLog
• EventEnrolment
• File
• Group 
• Loop
• MultistateInput
• MultistateOutput
• LifeSafetyPoint 
• LifeSafetyZone
• Accumulator 
• PulseConverter

需要所有BACnet设备来实现设备对象。Object_identifier在整个BACnet网络中应该是唯一的。

BACnet服务

BACnet协议认为所有对象都充当提供网络服务的服务器。五类服务在标准ANSI / ASHRAE 135第13至17条中定义。 
每个服务根据网络中的通信需求使用一组消息。ANSI / ASHRAE 135第21条定义了这些消息。使用远程操作原语(如REQUEST,INDICATION,RESPONSE和CONFIRM)交换这些消息。

标准中提到了标准BACnet服务原语列表。例如,“Who-Is”/“I-AM”原语用于发现BACnet网络上的设备。

BACnet Over Web Services Interface

XML小组已经引入了BACnet 2004规范的附录-C,该规范规定了建筑自动化和控制系统的Web服务接口。 

 

此BACnet协议分析将有助于理解BACnet协议的工作原理。

posted on 2018-08-29 17:06 sundaygeek 阅读(...) 评论(...) 编辑 收藏

你可能感兴趣的:(嵌入式/IoT/物联网,蜂窝/移动通信)