一、引言
楼宇自动控制网络数据通讯协议(即: A Data Communication Protocol for Building Automation and Control Networks,简称《BACnet协议》)由美国暖通、空调和制冷工程师协会(ASHRAE ) 组织的 标准项目委员会135P (Standard Project Committee即SPC 135P)历经八年半时间开发的。
1、背景
随着信息技术及整个信息产业的发展,楼宇自动化系统(Building Automation System简称BAS)正朝集成化、智能化和网络化方向迈进。
现场总线仅对楼宇自控系统的现场控制级网络进行了定义,而楼宇自控系统网络的标准化进程并不满足于现场控制级网络的公开化和标准化,而进一步追求整体通信解决方案的标准化。
长期以来,众多厂家各自不同的专有协议阻碍了BAS系统的发展。一个不具备开放性、不能实现互操作的系统给系统的运行、维护和升级改造带来不便。因此,用户期望不同厂家的产品能使用同一种标准通信语言,实现互操作和开放性。
受上世纪70年代能源危机的影响,在楼宇自控系统中,空调与冷热源系统( HVAC&R)最先意识到开放性标准的重要性。
1987年,在美国纽约召开了由楼宇自控领域专家组成的关于“标准化能量管理系统协议”的圆桌会议,会议决定由ASHRAE资助制定一个标准楼宇自控网络数据通信协议。
2、基本目标
通过定义工作站级通讯网络的标准通信协议,以取消不同厂商工作站之间的专有网关,将不同厂商、不同功能的产品集成在一个系统中,并实现各厂商设备的互操作,从而实现整个楼宇控制系统的标准化和开放化。
BACnet 协议是为计算机控制采暖、制冷、空调HVAC系统和其他建筑物设备系统定义服务和协议,从而使BACnet协议的应用以及建筑物自动控制技术的使用更为简单。
3、发展历程
1987.1 ASHRAE发起成立SPC135p委员会-Standard Project Committee 135p
1991.8 第一个公开评审草案标准
1994.3 第二个公开评审草案标准
1995.3 第三个公开评审草案标准
1995.6 正式成为 ASHRAE 标准
1995.12 被批准为美国国家标准,并正式命名为ANSI/ASHRAE 135-1995标准
2002.1 正式发布新版本 ANSI/ASHRAE 135-2001标准
2003.1.18 成为 ISO 的正式标准 ISO16484-5
在现代智能化建设中,实现设备和系统互联互通的重要性不言而喻。BACnet协议作为楼宇自动化领域的通信标准,广泛支持建筑设备的协同工作。从空调、照明到安防、能效管理,BACnet提供了一种统一的方法,使多厂商、多系统之间的互操作性成为现实。
二、BACnet协议的特点
-
开放性
-
BACnet是一个开放标准,允许不同厂家设备的无缝集成,消除了兼容性障碍。
-
鼓励开放竞争和创新,开发者依据公开标准进行硬件与软件产品开发。
-
-
互操作性
-
设计上能够支持任意品牌和类型设备的通信与数据交换。
-
例如,通过BACnet协议,HVAC、照明和电梯系统能够协调工作,实现中央服务台的统一管理。
-
-
灵活性
-
灵活支持多种网络拓扑,如总线型、星型、环型以适应不同现场环境。
-
提供广泛的网络介质支持,包括以太网、RS-485、LonWorks等。
-
-
可靠性
-
具有可靠的数据传输机制,确保通信准确无误,并提供系统稳定运行。
-
支持通信和系统架构的冗余设计,提高系统容错能力。
-
三、BACnet协议的架构
BACnet建立在包含四个层次的简化分层体系结构上, 这四层相当于OSI模型中的物理层、数据链路层、网络层和应用层。
BACnet物理层
BACnet的上层不依赖于物理层。因此BACnet的物理层使得BACnet可以在不同的网络上执行。BACnet 的物理层已指定为 ARCNET、以太网、IP 隧道、BACnet/IP、RS-232、RS485 和 Lonworks/LonTalk。RS232 用于点对点通信。RS485 支持最多 32 个节点,76Kbps 传输距离可达 1200 m。
BACnet协议链路层
BACnet 协议直接通过 LonTalk 或 IEEE802.2 链路层实现。因此它指定了 RS232 连接的点对点 (PTP) 数据链路层。它指定用于 RS-485 连接的 MS/TP 数据链路层。该标准仅指定了 BVLL(BACnet 虚拟链路层),它规定了在此链路层通过 BACnet 设备所需的所有服务。 IP BACnet 虚拟链路层将所需的控制数据封装在 BACnet 虚拟链路控制信息的标头中。由于采用IP、BVLL和BACnet协议,设备可以直接通过IP网络进行通信,而不需要任何路由器设备。 BACnet 协议利用 BBMD(BACnet 广播管理设备)概念,执行首选链路层所需的广播。因此,BACnet广播消息变为基于IP的广播或多播消息。
BACnet网络层
该层仅指定路由所需的网络地址。BACnet网络至少包括一个或多个网段,一旦它们利用类似的LAN技术,这些网段就通过网桥连接。如果它们使用各种 LAN 协议,则它们通过路由器连接。
BACnet应用层
BACnet 没有分离表示层和应用层。因此,它负责通常与会话层和传输层连接的可靠性和排序或分段机制。BACnet 包括用于交换服务原语的对象等设备,这些服务原语使用 ASN.1 语法进行描述并使用 ASN.1 BER 进行序列化。
BACnet安全层
BACnet 安全的概念可以很容易地理解,举个例子,当 BACnet 设备 A 向密钥服务器请求会话密钥以通过设备 B 建立安全通信时,该密钥会传输到设备 A 和设备 B通过称为“SKab”的密钥服务器。BACnet协议使用56位DES加密。
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 协议如何工作?
BACnet 是一种典型的电子通信协议,允许不同类型制造商的楼宇自动化以及火灾报警、HVAC 和周边安全等监控系统相互通信。该协议几乎可以与任何普通数据协议一起使用,包括 TCP/IP。 BACnet 协议支持全面的 BMS(楼宇管理系统)开发,允许操作员在单个应用程序中构建、观察和控制不同的楼宇系统。该协议还用于扩展可以执行的自动化的灵活性和范围。例如,可以设置自动化系统,一旦消防系统发现火灾,系统就会向后续系统发送命令。
- 到电梯的控制系统立即将所有电梯发送到底层。
- 向建筑物的寻呼系统发送可听语音信号,通知建筑物内的居住者在何处检测到火灾以及如何离开建筑物。
- 从建筑物的音频或视频系统到会议室电视显示屏上的闪现消息。
- 电话系统接口,用于通过短信向建筑物的设施和工程团队发送警报。
使用BACnet协议,所有数据都以对象的形式表示。因此,每个对象都表示有关设备或组件的数据。像对象一样表示信息简单地提供了可以形成最新对象的好处,否则可以基于用户的要求修改现有对象。 对象表示物理信息(物理输入、输出)和非物理信息(软件/计算)。值得注意的是,每个对象可能表示信息的单个部分,否则表示执行相同且精确功能的一组信息。
BACnet协议架构基于经典的分层结构,主要包括如下几层:
-
物理层
-
设定了通信介质和接口的标准,比如以太网、RS-485,使其能在这些介质上传输数字信号。
-
-
数据链路层
-
负责数据帧的封装和解封装,提供错误检测和纠正能力。
-
支持以太网的IEEE 802.3标准以及其他介质的协议,如Modbus。
-
-
网络层
-
为网络地址分配和路由选择提供技术支撑,确保消息能路由至正确的设备。
-
兼容不同网络拓扑,增强网络构建的灵活性。
-
-
应用层
-
定义对象模型、服务和数据格式,直接关系到设备之间的及其与系统的互动。
-
可视作BACnet的核心,实现了设备层次的互操作性和功能集成。
-
四、BACnet对象
1. BACnet对象的定义和作用
BACnet对象是BACnet协议中用于描述和表示楼宇自动化系统中各种设备、功能和数据的抽象概念。它是一种具有特定属性和行为的软件实体,代表了现实世界中的物理设备、逻辑功能或数据集合。通过使用BACnet对象,不同厂商的设备可以以一种统一的方式进行描述和通信,从而实现互操作性。例如,一个温度传感器可以用一个BACnet模拟输入对象来表示,该对象具有属性如当前温度值、单位、精度等,还可以响应读取属性值、设置报警阈值等服务请求。
2. BACnet对象的种类
-
设备对象:代表物理设备,如空调机组、电梯、照明控制器等。设备对象通常包含其他类型的对象,以描述设备的各种功能和特性。
-
模拟输入对象和模拟输出对象:分别用于表示模拟量输入信号(如温度、湿度、压力等)和模拟量输出信号(如控制阀门的开度、电机的速度等)。
-
数字输入对象和数字输出对象:用于表示数字量输入信号(如开关状态、报警信号等)和数字量输出信号(如继电器的控制信号等)。
-
多状态输入对象和多状态输出对象:适用于表示具有多个离散状态的输入和输出信号,如电梯的运行状态、空调系统的模式选择等。
-
日程表对象:用于定义设备的运行时间表,可根据预设的时间自动控制设备的启停。
-
趋势日志对象:用于记录设备的历史数据,如温度变化趋势、能耗数据等,以便进行数据分析和性能评估。
3. BACnet对象的属性和方法
-
属性:每个BACnet对象都有一组属性,用于描述对象的状态和特征。属性可以是只读的、只写的或可读可写的。例如,模拟输入对象的属性可能包括当前值、工程单位、报警状态等。
-
方法(服务):BACnet对象可以响应一系列的服务请求,这些服务定义了对象的行为和操作。例如,读取属性值服务可以获取对象的特定属性值,写入属性值服务可以修改对象的属性值,启动设备服务可以启动一个设备对象等。
4. BACnet对象的应用场景
在楼宇自动化系统中,BACnet对象被广泛应用于各种设备的集成和管理。通过使用BACnet对象,不同厂商的设备可以在一个统一的系统中进行通信和协作,实现对楼宇设备的集中监控、自动化控制和优化管理。例如,通过读取温度传感器的模拟输入对象属性,可以实时监测室内温度;通过设置空调机组的模拟输出对象属性,可以调节空调的制冷或制热功率;通过使用日程表对象,可以自动控制照明系统的开关时间,以实现节能目的。
五、BACnet协议的应用场景
-
楼宇自动化系统
-
BACnet协议在集中监控和管理建筑设备,如空调、照明、电梯、门禁等方面的应用至关重要。
-
通过能效管理提高楼内设备的能源使用效率,从而提升舒适水平、降低运营成本。
-
-
工业自动化系统
-
适用于工厂设备监控和控制,带来自动化设备、物流系统、环境监测的综合管理。
-
支持多种工业协议集成,提升生产效率和安全性。
-
-
智能家居系统
-
协助智能家居内的电气设备、照明、安防等系统实现自动控制,增强住户的安全性与便利性。
-
促进个性化家居管理,提高居住体验的舒适感。
-
六、Bacnet 协议与 Modbus
Bacnet 协议和 Modbus 之间的区别包括以下内容。Bacnet 用于跨设备通信。 Modbus 用于设备之间的通信。 其传输方式有:IP、以太网、Zigbee 和 MS/TP。 其传输方式有:ASCII、RTU 和 TCP/IP。 其标准是;ANSI/ASHRAE 标准 185;ISO-16484-5;ISO-16484-6。 其标准是;IEC 61158。 它用于不同的市场,如工业、能源管理、运输、楼宇自动化、监管、健康和安全。 它用于不同的市场,如照明、生命安全、访问控制、暖通空调、运输和维护。 网络接口:现有的 LAN 和 LAN 基础设施。 网络接口:传统串行和以太网协议。 示例:储罐液位测量。锅炉控制。 示例:风扇计划、发送状态警报和请求温度读数等任务。
Bacnet 协议的优点包括以下几点。
- BACnet 协议专为楼宇自动化和控制网络而设计。
- 它不依赖于当前的 LAN 或 WAN 技术。
- 它是美国国家标准和欧洲预标准。
- 它可以完全扩展,从小型单一建筑应用到通用设备网络。
- BACnet 的实施者可以安全地包含非标准扩展和增强功能,而不会影响现有的互操作性。
- 它被美国和欧洲最著名的消防公司采用。
- 它得到了 Dunham-Bush、Carrier、McQuay、York & Trane 等不同冷水机制造商的支持。
- 在实际的楼宇控制应用中,该协议有着良好的记录。
Bacnet 协议的缺点包括以下几点。
BACnet 协议的主要缺点是合规性问题。因此,由于这个问题,BTL(BACnet测试实验室)在2000年被引入。BTL是合规性和独立的测试组织。这样做的主要目的是测试BACnet的产品以验证其是否符合标准。一旦获得批准;该产品将获得BTL标志。 该协议中广泛发现的问题或有价值的攻击是:缺乏欺骗和身份验证、DoS 攻击、固定的网络连接以及缺乏设备上的加密和写入访问。
应用领域
Bacnet 协议的使用包括以下内容。
- BACnet 用于 HVAC 应用、消防控制、照明控制、安全、警报以及与公用事业公司的接口。
- 该协议专为楼宇自动化和控制应用而设计。
- 该协议用于提供机制,特别是为自动化设备提供用于交换数据的机制,而不管它们执行的特定建筑服务如何。
- 该协议可供数字控制器、计算机和特定应用的单一控制器使用,具有同等效果。
- BACnet协议最初是为了开发楼宇自动化设备之间的互操作性而开发的;然而,它的数据描述以及灵活的架构将使其能够在广泛的控制应用中工作。
- 这是一个面向对象的协议,因此用于表示网络可访问的控制设备。
因此,这是Bacnet 协议的概述——与应用程序一起工作。这是用于构建自动化以及连接不同系统的最佳协议。因此,Bacnet协议在物联网技术中有着广阔的前景,将会得到突飞猛进的发展。从可扩展性的角度来看,该协议也提供了一个很好的解决方案。考虑到应用程序的关键性和需求,必须考虑到安全性,并且开发时必须考虑到安全性。考虑到标准的缺乏,必须定义正确的标准供供应商遵循和执行。
七、结论
通过以上分析,BACnet协议因其开放、灵活、可靠以及强大的互操作性,成为楼宇自动化行业的核心标准,并正被不断应用于更加广泛的领域。随着智能化技术和用户需求的增长,BACnet协议将继续演化,保持其在物联网时代的重要地位,为实现更好的设备互通与智能管理奠定基础。BACnet协议的重要性在于定义制造商可以执行的典型技术来构建可通过 BACnet 的其他组件和系统进行互操作的组件和系统。 它还指定了数据在网络上的表示方式以及用于将数据从 BACnet 的一个节点传输到另一节点的服务。它还具有识别网络和数据节点的消息。 BACnet 被建筑物所有者和系统规范者用作互操作系统规范的工具。该协议不会改变指示消费者需求的需要。因此,它仅提供一些一致的工具来帮助创建和规范可互操作的系统。 BACnet 协议用于所有类型的自动化楼宇系统。因此,在安全、消防、照明、电梯、HVAC 等不同类别中存在可互操作的产品。该协议通过简单地定义自动化设备的通用工作模型(一种用于定义自动化设备数据的技术)来简单地解决互操作性目标。包括一种用于解释协议的技术,单个设备可以利用该协议来询问另一个设备以执行某些首选操作。
BACnet通讯协议在楼宇自控系统中的应用非常广泛,包括但不限于以下几个方面:
1. 空调系统:BACnet通讯协议可以用于空调系统的温度、湿度和空气质量等参数的监测和控制。通过将多个传感器和控制器连接到BACnet网络中,可以实现各设备之间的实时通信和协同工作,从而提高空调系统的运行效率和节能性能。
2. 照明系统:BACnet通讯协议同样适用于照明系统的控制和管理。通过连接多个照明设备到BACnet网络中,可以实现各设备之间的实时通信和协同工作。此外,该协议还可以根据环境光线和人员活动情况自动调节照明亮度、颜色和温度等参数,达到节能减排的效果。
3. 安防系统:在楼宇自控系统中,安防系统是非常重要的组成部分。BACnet通讯协议可以用于安防系统的监控和管理,通过将多个安防设备连接到BACnet网络中,可以实现各设备之间的实时通信和协同工作,从而提高安防系统的可靠性和响应速度。
随着智能建筑技术的不断发展,BACnet通讯协议也在不断更新和完善。未来,BACnet协议将继续保持其开放性和兼容性的特点,同时进一步提高数据传输速率和安全性。此外,随着物联网技术的不断应用和推广,BACnet协议将更好地与其他系统进行集成和协同工作,为智能建筑的发展提供更加全面和高效的支持。
总之,BACnet通讯协议作为楼宇自控系统的核心组成部分,在现代建筑领域发挥着越来越重要的作用。通过对其概念、特点、应用以及未来发展趋势的详细介绍,相信读者已经对BACnet通讯协议有了更加全面和深入的了解。在未来智能建筑的发展过程中,BACnet协议将继续发挥其重要作用,推动智能建筑技术的不断进步和发展。