首页 理论教育BACnet标准应用与楼宇自控技术

BACnet标准应用与楼宇自控技术

【摘要】:BACnet设备通过在网络中传递服务请求和服务应答报文实现服务。BACnet功能组规定了实现特定控制功能所需的对象和服务的组合。每种对象类型的相关要求和定义,在BACnet标准的附录C中有详细说明。这就是BACnet标准定义了6个通用的一致性等级的原因。

1.BACnet应用层服务的分类

在BACnet标准中,把对象的方法称为服务,对象及其属性提供了对一个楼宇自控设备“网络可见信息”的抽象描述,而服务提供了如何访问和操作这些信息的命令和方法。BACnet设备通过在网络中传递服务请求和服务应答报文实现服务。BACnet定义了35种服务,并将其划分为6个类别:

(1)报警与事件服务(Alarm and Event Services)

包含8种服务,处理环境状态的变化,提供了BACnet设备预设的请求值改变通告、请求报警或事件状态摘要、发送报警或事件通知、收到报警通知确认等方法。

(2)文件访问服务(File Access Services)

包含2种服务,提供读写文件的方法,包括上/下载控制程序和数据库的能力。

(3)对象访问服务(Object Access Services)

包含9种服务,提供了读、修改和写属性值以及增删对象的方法。

(4)远程设备管理服务

包含11种服务,提供对BACnet设备进行维护和故障检测的工具、方法。

(5)虚拟终端服务(Virtual Terminal Services)

包含3种服务,提供了一种面向字符的数据双向交换机制,使其他具有专有特性的楼宇自控设备成为一个BACnet虚拟终端并使BACnet网络能对其进行重构

(6)网络安全服务

包含2种服务,提供对等实体验证、数据源验证、操作者验证和数据加密等功能。BACnet功能组规定了实现特定控制功能所需的对象和服务的组合。

BACnet已定义了13个功能组,包括时钟功能组、事件响应功能组、文件功能组、虚拟终端功能组、设备通信功能组等。

BACnet将系统中的每个物理点和软件值定义为一个“对象(Object)”。最常用的对象是“模拟输入”、“模拟输出”、“模拟值”、“数字输入”、“数字输出”和“数字值”。所有对象都有与之关联的属性,如当前值、描述、状态、单位等。每个对象都有必备属性和可选属性。每种对象类型的相关要求和定义,在BACnet标准的附录C中有详细说明。

设计文件及相关系统图应该罗列出系统中要实现的每个物理连接,如同传统设计中的列表。这些列表应该包括与物理连接点相关的软件参数,如报警极限、设定值等。列表中的每一项,在BACnet系统中都被视为一个对象,该对象具有与之相关的属性。而且,每个对象的必备属性必须得到包含该对象的BACnet设备的支持。

当连接和集成两个以上的厂家提供的控制器时,对象非常重要的作用就会显现出来。如果BAS要与冷冻机上的BACnet控制器通信,应该首先确定要在冷冻机控制器和BAS之间传送的所有对象。严格确定和设计控制器将要收发的所有对象,可确保系统安装运行顺利实现。相关厂商也会根据系统设计中提出的对象要求,在它们产品的接口中提供相应的对象操作支持。当进行系统级集成时,也应该采取上述步骤和措施。

设计文件可能忽略可选属性的支持。在很多情况下,这样做是合适的,因为被忽略的可选属性并不需要。但是,如果控制功能的实现需要可选属性,则设计文件应将这些可选属性支持纳入每个对象类型的定义中。如果可选属性不是控制功能需要的,但系统中的BACnet设备却支持这些可选属性那也无妨,它们不会降低系统的性能。

2.BACnet系统中的服务

服务是一个BACnet设备从另一个BACnet设备获得信息或命令另一个设备执行某种动作或通知一个或多个设备发生了某种事件的方法和手段。换句话说,服务控制了BACnet局域网中的活动,并保证报文和命令到达预定地点。一个服务可以从一个BACnet设备中读取一条信息,而另一个服务可以指示一个BACnet设备先关闭,然后再启动。

但是,如果一个BACnet设备支持某种服务而另一个设备却不支持这种服务,那么这两个设备就不能使用这种特定的服务进行相互通信。这一点可能很重要,也可能不重要,取决于何种服务不被支持。如果两个设备支持另一种可起到类似作用的服务,就可以使用共同支持的服务实现需要的通信功能。例如,一个设备可能支持“读多个属性”服务,而另一个设备可能不支持(读多个属性服务就是使用一条命令从一个设备中读取多个BACnet对象和属性)。一个设备可以通过多次发送“读属性”服务来实现“读多个属性”服务的功能。可是,由于多次重复“读属性”服务,BACnet局域网上的通信活动会有所增加。

如果要求系统中的每个BACnet设备都支持所有的BACnet服务,那是不可能的。BACnet标准对系统中所有部件,从操作站到控制器甚至智能传感器都进行了阐述。许多服务需要在高层网络实现,但在控制器这一层网络却不必实现这些服务。在底层网络实现某些服务直接关系到CPU处理能力和存储器的选择,因而直接影响到这些产品的成本。

大多数设计需要一个通用的方法,来确定系统每一种所需要的服务。这就是BACnet标准定义了6个通用的一致性等级的原因。每个一致性等级都有一个必须实现的最少的服务数量。

3.BACnet系统中的专用服务与对象

BACnet标准允许生产商定义自己专用的服务和对象,也就是说,各生产商在不影响BACnet标准通信功能的前提下,可以在自己生产的系统内增添特别功能。然而,当某种系统功能依赖专用服务和对象时,就意味着其他生产商不能启用这种功能。

系统设计者必须决定是否将专用服务和对象用于一个工程项目。如果将专用服务和对象用于系统功能的实现,则设计文件应该要求专用服务和专用对象的提供者提交专用功能的设计文档,以便与其他生产商也能在系统中根据该文档实现该专用服务和对象,从而最终实现完全的系统集成

4.BACnet设备级别和设备等级说明

在实际的BAS中,没有必要也不可能所有的设备都支持、包含上述所有的对象和服务。因此,BACnet定义了6个一致性类别(设备级别)。一致性类别的分级编号为1~6,最低级别是类别l。每个类别都规定了设备要实现的最小服务子集,且包含低级别的所有服务。

为了帮助用户和工程人员确定不同BACnet设备之间的互操作性,需要厂商为每个设备提供标准格式文件以标识设备中己实现的BACnet标准的内容,即文件需包括的设备符合BACnet等级的说明。这个文件就是PICS(Protocol Implementation Conformance Statement,协议实现一致性声明),它包括:

1)标识厂商和描述设备的基本信息;

2)设备符合BACnet的级别;

3)设备所支持的功能组;

4)设备所支持的基于标准或专有的服务,设备启动或响应服务请求的能力;

5)设备所支持的基于标准或专有的对象类型及其属性描述;

6)设备支持的数据链路技术;

7)设备支持的分段请求和响应。