1.BACnet的设备描述
在智能建筑中,楼宇自动化系统由许多不同的楼宇自控设备所组成。这些楼宇自控设备来自不同的厂商,具有不同的型号,而且各自执行不同的楼宇功能。如何在控制网络中对不同的楼宇自控设备进行表示,成为协议首先应解决的问题。
工业控制领域习惯用“点”来表示输入、输出以及控制量等,不同的厂商还会附加不同的特性。BACnet突破常规,采用面向对象的技术,定义了一个“对象”的标准集,其中的每个对象又有一个“属性”标准集。所谓对象,就是与某一特定功能相关的数据结构,而属性则用于向BACnet上的其他设备描述该对象以及它的当前状态。通过对象的属性,可以不用考虑设备内部详细资料,就可以实现信息数据的识别与访问。BACnet中的设备之间的通信,实际上就是设备的应用程序,将相应的对象数据结构装入设备的应用层协议数据单元中,按照协议传输给相应的接收设备,接收设备中的应用程序对这些属性进行操作,从而完成通信的目的。
为了实现楼宇设备间的通信和控制,BACnet协议定义了18种标准对象类型:
1)模拟输入:传感器输入;
2)模拟输出:控制输出;
3)模拟值:设定点或其他模拟控制系统的参数;
4)数字输入:开关输入;
5)数字输出:继电器输出;
6)数字值:数字控制系统的参数;
7)日历:按事件执行程序而定义的日期列表;
8)命令:为完成某个特定目的,将多个变量写到多个设备、多个对象中,例如白天模式到夜晚模式或紧急模式、日期的设定等;
9)设备:其属性表示设备支持的对象和服务,以及设备提供商和固件版本;
10)事件登记:描述可能处于错误状态的事件,例如“输入超出范围”或者其他设备需要的报警,该对象可以直接通知一个设备,也可以用“通知类”对象通知多个对象;
11)文件:允许读写访问设备支持的数据文件;
12)组:提供在一个读的单一操作下,访问多个对象的多个属性;
13)环路:提供标准化地访问某个控制环;
14)多状态输入:表示一个多状态处理程序的状态,如电冰箱的开、关和除霜循环等;
15)多状态输出:表示一个多状态处理程序的期望状态,如电冰箱的开始冷却时间、开始除霜时间等;
16)通知类:包含一个设备列表,如果一个事件登记对象确定有一个警告或报警报文需要发送,则送给列表中的设备;
17)程序:允许设备中的一个程序开始、停止、装载及报告程序当前状态等;
18)进度表:定义一个按周期操作的时间表。
2.BACnet的服务
在定义对象及其属性的基础上,BACnet还定义了35种服务,并将这35个服务划分为6个类别,它们分别是:①报警和事件服务;②文件访问服务;③对象访问服务;④远程设备管理服务;⑤虚拟终端服务;⑥网络安全性。
上述这些服务还可以分为“确认”服务和“不确认”服务两大类。发送确认服务请求的设备,需要等待一个服务应答;而发送不确认服务请求的设备,则不要求返回应答。
(1)报警和事件服务“报警”与“事件”并没有特殊的不同。“事件”是指某个对象的某个属性值的改变或内部状态的改变;“报警”是用户根据实际需要指定的事件,它可以通过定义通知类属性来指定哪一类事件为报警事件。
报警和事件服务提供了8种服务,主要用来处理BACnet设备感知环境状态的变化。这8类服务是:
1)确认报警:用来告知报警发送方,操作者已收到报警;
2)确认的“属性值改变”通告:告知“属性值改变”的预定设备在一个属性中已发生值的改变;
3)确认的时间报告:用来告知发送者,可能发生错误;
4)获得报警摘要:请求设备提供一份“活动报警”列表;
5)获得注册摘要:请求一份(可能错误的)“事件列表”;
6)预定属性值改变:由一个设备发送,请求在一个对象属性值改变时,被告知;
7)不确认的属性值改变通告:告知“属性值改变”的预定设备,在某个对象的一个或多个属性中,值的改变已经发生;
8)不确认的事件通告:用来告知多个设备,可能发生一个或多个错误。
BACnet有9个对象可以支持报警和事件服务功能的可选属性,这9个对象是:“模拟输入”、“模拟输出”、“模拟值”、“数字输入”、“数字输出”、“数字值”、“环”、“多状态输入”和“多状态输出”。
此外,BACnet还提供了三种管理事件机制。
1)属性值的改变(COV)报告:COV可通过永久方式或临时方式预定,接收某些参考属性值的改变报告;
2)内部特性报告:用来定义只对某个特定对象,且由该对象属性单独表示的报警或事件的情况;
3)算法改变报告:基于某种算法的事件,并且与某个对象的某个属性相关联。BACnet定义了六个事件算法,即比特流的改变、状态改变、值的改变、命令失败、浮点极限和超出阈值。(www.xing528.com)
(2)文件访问服务 文件访问服务提供了读/写文件的基本方法,包括上载、下载控制程序和数据库。文件访问服务中的两种服务功能分别是:
1)基本读文件:请求获得一个“文件对象”的文件部分或全部;
2)基本写文件:向一个“文件对象”写入部分或全部。
BACnet没有定义文件的格式,但定义了以记录结构格式或者以连续字节流的方式访问文件。
(3)对象访问服务 对象访问服务提供了读出、修改和写入属性的值,以及增删对象的方法,包括九种服务:
1)添加列表元素:向一个列表的属性添加一个或多个项目;
2)删除列表元素:从一个列表的属性删除一个或多个项目;
3)创建对象:用来在本设备中创建一个对象的新实例;
4)删除对象:用来在本设备中删除一个对象的新实例;
5)读属性:返回一个对象的一个属性值;
6)条件读属性:返回复合条件的多个对象的多个属性值;
7)读多个属性:返回多个对象中的多个属性值;
8)写属性:向一个对象的一个属性写入值;
9)写多个属性:向多个对象中的多个属性写入值。
需要说明的是,虽然对象访问服务中定义了创建对象和删除对象的服务,但是其应用是受限制的,与物理设备本身相关联的对象是不可删除的,而其他对象是可以进行删除服务的。
(4)远程设备管理服务 远程设备管理服务用于对BACnet设备的维护和故障检测,它提供了11种服务,包括:
1)设备通信控制:通知一个设备停止或开始接收网络报文;
2)确认的专用信息传递:向一个设备发送一个厂商的专用报文;
3)不确认的专用信息传递:向一个或多个设备发送一个厂商的专用报文;
4)重新初置设备:对接收的设备进行排序,以使其可以自引导冷或热启动;
5)确认的文本报文:向另一个设备传递一个文本报文;
6)不确认的文本报文:向一个或多个设备发送一个文本报文;
7)时间同步:向一个或多个设备发送当前的时间;
8)Who-Has:询问BACnet设备中哪个含有某个对象;
9)I-Have:肯定应答Who-Has询问,广播;
10)Who-Is:询问关于某个BACnet设备的存在;
11)I-Am:肯定应答Who-Is询问,广播。
当BACnet与Internet连网时,BACnet提供了Who-Is和I-Am服务,它类似于TCP/IP中的地址解析协议(Address Resolution Protocol,ARP),通过这两种服务来获取BACnet设备的网络地址。当一个设备想要知道其他BACnet设备的地址时,就广播发送Who-Is服务请求报文,这与ARP的工作过程基本一样。应答时,对于BACnet互联网来说,相关BACnet设备则广播一个包含自己网络地址的I-Am服务报文,而不是像ARP那样直接发给询问设备。Who-Has和I-Have与Who-Is和I-Have功能类似,它增加了一个对象标识符或者对象名称。
(5)虚拟终端服务 虚拟终端服务用于实现一种面向字符的数据双向交换的机制,提供了三个基本服务:
1)VT-Open:与一个远程BACnet设备建立一个虚拟终端会话;
2)VT-Close:关闭一个建立的虚拟终端会话;
3)VT-Data:从一个设备向另一个参与会话的设备发送文本。
操作者可以使用虚拟终端服务,建立BACnet设备与一个在远程设备上运行的应用程序之间的双向连接,这种连接是基于文本的,使这个设备好像是连接在远程应用程序上的一个终端。
(6)网络安全性服务 网络安全性服务,主要提供申请服务和验证服务两种服务,用以实现对等实体验证、数据源验证、操作者验证和数据加密等功能。
要实现这些功能,网络需要设置一个设备作为密钥服务器,每一个具有安全特性的设备都要被分配一个密码,以支持安全性服务。需要说明的是,BACnet允许支持安全性服务的设备与不支持安全性服务的设备混合运行,是否运行安全性服务由具体的事物决定。
3.BACnet的功能组
功能组是应用服务和标准对象类型的组合体,用于支持楼宇自控系统功能的通信要求。BACnet规定了13个功能组,它们是:①时钟;②手持工作站;③PC工作站;④事件初始化;⑤事件应答;⑥COV事件初始化;⑦COV事件应答;⑧文件;⑨重新初始化;⑩虚拟操作界面;虚拟终端;设备通信;时间管理。
一个控制系统的各个组成部分具有各自不同的功能,这些功能的复杂程度不同,所以并不需要所有设备都具有BACnet规定的全部功能。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。