一、概述
人们常常弄不清楚LonWorks技术、Bacnet协议之间有什么不同,也就不清楚5168cc银河官网娱线路LonWorks产品与BACnet产品究竟分别用在哪些场合。本文详细介绍BACnet,给大家作个科普。
随着计算机、通信、控制和图形显示技术即4C技术的快速发展和全球对信息高速公路的大力建设,智能建筑,这个数字化、网络化和信息化的结合产物开始进入人们的视野。然而,如今智能建筑内各种控制功能变得愈发强大而复杂,致使不同厂商生产的设备使用于同一建筑物内。制定一个开放的、统一的通信协议标准,并形成即插即用的环境,就成为十分迫切需要解决的问题。这就是Bacnet协议诞生的出发点。
二、什么是BACnet协议
楼宇自动控制网络数据通信协议(BACnet协议)由美国供热、制冷与空调工程师协会组织的标准项目委员会135P于1995年6月正式通过制定。标准编号为ANSI/ASHRAE
Standard l35-1995,同年12月正式成为美国国家标准,并得到欧盟标准委员会的承认,成为欧盟标准草案。2000年1月ISO组织TC205委员会的15个国家(中国、法国、日本、英国、美国等)的代表一致通过决议,将BACnet作为“委员会草案”进行广泛评议,适当修改后列为“国际标准化草案”,最后成为国际标准。
一般楼宇自控设备从功能上讲分为两部分:一部分专门处理设备的控制功能;另一部分专门处理设备的数据通信功能。而BACnet就是要建立一种统一的数据通信标准,使得设备可以互操作。BACnet协议只是规定了设备之间通信的规则,并不涉及实现细节。
BACnet协议模型为:
(1)所有的网络设备,除基于MS/TP协议的以外,都是完全对等的(peer to peer);
(2)每个设备都是一个“对象”的实体,每个对象用其“属性”描述,并提供了在网络中识别和访问设备的方法;设备相互通信是通过读/写某些设备对象的属性,以及利用协议提供的“服务”完成;
(3)设备的完善性(Sophistication),即其实现服务请求或理解对象类型种类的能力,由设备的“一致性类别”(Conformance
Class)所反映。
三、BACnet的体系结构
Bacnet建立在包含四个层次的简化分层体系结构上。这四层相当于OSI模型中的物理层、数据链路层、网络层和应用层,如图1所示。Bacnet标准定义了自己的应用层和简单的网络层。对于其数据链路层和物理层,提供了以下五种选择方案。
图1 BACnet的体系结构层次图
BACnet协议从硬/软件实现、数据传输速率、系统兼容和网络应用等几方面考虑,目前支持五种组合类型的数据链路/物理层规范。其中主从/令牌传递(MS/TP)协议是专门针对楼宇自控设备设计的数据链路规范。BACnet在物理介质上,支持双绞线、同轴电缆和光缆。在拓扑结构上,支持星型和总线拓扑。
BACnet没有严格规定网络拓扑结构,如图2所示。其中:网段(Segment)是多个物理网段通过中继器(R)连接形成的段落区间;网络是多个网段通过网桥(B)连接而成的,每个网络都形成一个MAC地址域;BACnet/Internet网络是将使用不同局域网技术的多个网络用路由器(RT)互联起来形成的网际网。
在BACnet拓扑中设备之间只存在一条逻辑通路,无需广域网的最优路由算法;其次,BACnet具有单一的局部地址空间,所以BACnet参照OSI模型制定了简化的网络层协议,向应用层提供不确认无连接的数据单元传送服务。每个BACnet设备都被一个网络号码和一个MAC地址唯一确定。
网络层通过“路由器”实现两个或多个异类BACnet局域网(不同的数链层)的连接,并通过协议报文进行“路由器”的自动配置、路由表维护和拥塞控制。BACnet路由器与每个网络的连接处称为一个“端口”。路由表中包含端口的下列项目:(1)端口所连接网络的MAC地址和网络号;(2)端口可到达网络的网络号列表及与这些网络的连接状态。图2中,“1/2
RT”是半路由器,由PTP连接形成一个完整的BACnet路由器,即BACnet网际网将广域网技术向应用层屏蔽。
BACnet应用层即BACnet应用实体,通过API(应用编程接口)为上层应用程序服务,并与对等应用层实体通信。应用实体由两部分组成:用户单元和应用服务单元(ASE)。ASE是一组特定内容的应用服务。而用户单元支持本地API、保存事务处理上下文信息、产生请求ID、记录ID对应的应用服务响应、维护超时重传机制所需的计数器以及将设备行为要求映射为对象。
BACnet应用层提供证实和非证实两种类型的服务。BACnet定义了四种服务原语:请求、指示、响应和证实,它们通过应用层协议数据单元(APDU)传递。由于BACnet建立在无连接的通信模式上,所以OSI模型提供端到端服务的传输层部分简化功能也由应用层实现,分别为:可靠的端到端传输和差错校验;报文分段和流量控制;报文重组和序列控制。
四、BACnet的对象、服务和功能组
BACnet采用面向对象技术,借此提供一种表示楼宇自控设备的标准。在BACnet中,对象就是在网络设备之间传输的一组数据结构,网络设备通过读取、修改封装在应用层APDU中的对象数据结构,实现互操作。BACnet目前定义了18个对象,如表1所示,每个对象都必须有三个属性:对象标志符(Object_Identifier)、对象名称(Object_Name)和对象类型(Object_Type)。其中,对象标志符用来唯一标识对象;BACnet设备可以通过广播自身包含的某个对象的对象名称,与包含相关对象的设备建立联系。BACnet协议要求每个设备都要包含“设备对象”,通过对其属性的读取可以让网络获得设备的全部信息。
表1 BACnet对象
|
对 象 名 称 |
应 用 举 例 |
01 |
模拟输入Analog Input |
模拟传感器输入如机械开关On/Off输入 |
02 |
模拟输出Analog Output |
模拟控制量输出 |
03 |
模拟值Analog Value |
模拟控制设备参数如设备阀值 |
04 |
数字输入Binary Input |
数字传感器输入如电子开关On/Off输入 |
05 |
数字输出Binary Output |
继电器输出 |
06 |
数字值Binary Value |
数字控制系统参数 |
07 |
命令Command |
向多设备多对象写多值如日期设置 |
08 |
日历表Calender |
程序定义的事件执行日期列表 |
09 |
时间表Schedule |
周期操作时间表 |
10 |
事件登记Event Enrollment |
描述错误状态事件如输入值超界或报警事件。通知一个设备对象,也可通过“通知类”对象通知多设备对象 |
11 |
文件File |
允许访问(读/写)设备支持的数据文件 |
12 |
组Group |
提供单一操作下访问多对象多属性 |
13 |
环Loop |
提供访问一个“控制环”的标准化操作 |
14 |
多态输入Multi-state Output |
表述多状态处理程序的状况,如制冷设备开、关和除霜循环 |
15 |
多态输出Multi-state Output |
表述多状态处理程序的期望状态,如制冷设备开始冷却、除霜的时间 |
16 |
通知类Notification Class |
包含一个设备列表,配合“事件登记”对象将报警报文发送给多设备 |
17 |
程序Program |
允许设备应用程序开始和停止、装载和卸载,并报告程序当前状态 |
18 |
设备Device |
其属性表示设备支持的对象和服务以及设备商和固件版本等信息 |
在BACnet中,把对象的方法称为服务,对象及其属性提供了对一个楼宇自控设备“网络可见信息”的抽象描述,而服务提供了如何访问和操作这些信息的命令和方法。BACnet设备通过在网络中传递服务请求和服务应答报文实现服务。BACnet定义了35种服务,并将其划分为6个类别:
(1)报警与事件服务(Alarm and Event Services)包含8种服务处理环境状态的变化,提供了BACnet设备预设的请求值改变通告、请求报警或事件状态摘要、发送报警或事件通知、收到报警通知确认等方法;
(2)文件访问服务(File Access Services)包含2种服务,提供读写文件的方法,包括上/下载控制程序和数据库的能力;
(3)对象访问服务(Object Access Services)包含9种服务,提供了读、修改和写属性值以及增删对象的方法;
(4)远程设备管理服务(Remote Device Management Services)包含11种服务,提供对BACnet设备进行维护和故障检测的工具、方法;
(5)虚拟终端服务(Virtual Terminal Services)包含3种服务,提供了一种面向字符的数据双向交换机制,使其他具有专有特性的楼宇自控设备成为一个BACnet虚拟终端并使BACnet网络能对其进行重构;
(6)网络安全服务(Network Security Services)包含2种服务,提供对等实体验证、数据源验证、操作者验证和数据加密等功能。
BACnet功能组规定了实现特定控制功能所需的对象和服务的组合。BACnet已定义了13个功能组,包括时钟功能组、事件响应功能组、文件功能组、虚拟终端功能组、设备通信功能组等。
五、BACnet设备级别和设备等级说明
在实际的楼宇自动化系统中,没有必要也不可能所有的设备都支持、包含上述所有的对象和服务。因此,BACnet定义了6个一致性类别(设备级别)。一致性类别的分级编号为1~6,最低级别是类别l。每个类别都规定了设备要实现的最小服务子集,且包含低级别的所有服务。
为了帮助用户和工程人员确定不同BACnet设备之间的互操作性,需要厂商为每个设备提供标准格式文件以标识设备中己实现的BACnet标准的内容,即文件需包括设备符合BACnet等级的说明。这个文件就是PICS(Protocol
Implementation Conformance Statement),它包括:
(1)标识厂商和描述设备的基本信息;
(2)设备符合BACnet的级别;
(3)设备所支持的功能组;
(4)设备所支持的基于标准或专有的服务,设备启动或响应服务请求的能力;
(5)设备所支持的基于标准或专有的对象类型及其属性描述;
(6)设备支持的数据链路技术;
(7)设备支持的分段请求和响应。
六、 BACnet的互联网扩展
目前,BACnet标准使用两种技术实现与Internet的互联。第一种技术附件H中称之为“隧道”技术,并将其设备称之为分组封装/拆装设备,简称PAD。其作用就像一个网关/路由器,这在图2中两个半路由器连接广域网形成一个完全的BACnet路由器有所体现。第二种技术附件J中称之为BACnet/IP,设备直接封装IP帧/包在BACnet网络和Internet上传输。
PAD将BACnet报文数据封装在IP协议数据包内传输,在目的BACnet网络解封。因此每个连接Internet的BACnet网络都要配置PAD网关/路由器。它可以是一个单独的设备,也可以是某种楼宇控制设备功能的一部分。
ASHRAE于1999年1月正式发布附件J并成为美国国家标准。它规范了支持TCP/IP的设备组建BACnet网络的技术,并称之为BACnet/IP网络,简称B/IP,是一个或多个IP子网组成的集合,整体具有单独的BACnet网络号。BACnet/IP网络报文在网络层是IP包,在传输层是UDP数据报,从而实现与Internet的TCP/IP协议的融合。