微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > BACnet/IP智能终端的模型研究与设计

BACnet/IP智能终端的模型研究与设计

时间:08-15 来源:C114 点击:

BACnet/IP是BACnet协议与IPV4互联网互连的协议。本文提出了一种将BACnet/IP与无线通信相结合的终端模型,同时将BACnet Protocol Stack开源工程移植应用于此种模型之上。硬件平台是ARM9处理器和CC1101无线通信模块,经测试此控制器符合BACnet/IP的通信协议规程。重点完成了ARM9嵌入式平台的软硬件搭建、BACnet Protocol Stack在此平台的移植与改进,以及无线模块与BACnet协议栈的互操作和终端提供的web服务。

引言

BACnet(Building Automation and Control network)是一种为楼宇自动控制网络所制定的数据通信协议,其产生的背景是用户对楼宇自动控制设备互操作性的广泛要求,即将不同厂家的设备组成一个一致的自控系统,它是智能建筑楼宇自控领域中唯一的国际标准。目前全球跨国楼宇自控厂商均支持和生产BACnet自控设备和产品,而国内对于BACnet方面的研究与应用仅限于少量的论文及会议,这对于我国智能建筑自控领域的发展显然是十分不利的。本文在研究国外BACnet发展的基础上提出了一种BACnet/IP楼宇控制器的模型,并在实验室环境中实现和测试。

1 BACnet协议简介

BACnet最成功之处就在于采用了面向对象的技术,定义了一组具有属性的对象(Object)来表示任意的楼宇自控设备的功能,从而提供了一种标准的表示楼宇自控设备的方式。BACnet标准中定义的标准对象有模拟输入(Analog Input)、模拟输出(Analog Output)、设备(Device)等,其中"设备对象"是每个BACnet必须拥有的对象,这是一个具有网络访问特征的集合模型。举例来说,一个标准的BACnet测温设备就可以用设备对象(Device)加一个模拟输入对象(Analog Input)来表示。

当一个BACnet设备要与另一个BACnet设备进行通信时,它必须要获得该设备的设备对象中所包含的某些信息,这些信息在BACnet中就称为BACnet设备对象的属性,"对象标识符"是BACnet设备中的每个对象必须具有的属性,它是一个32位的编码,可以唯一地标识一个BACnet设备。对象标识符由对象的类型和其实例标号组成,第一部分为对象类型标识域,占10位,可以表示1024个对象类型。协议规定0~127为BACnet保留类型,例如Analog Input对象类型为0,Analog Output对象类型为1,Device对象类型为8等;第二部分为对象实例编码域,共22位,可以表示4T个对象实例,也就是说Device对象在整个BACnet网络中只能有4T个实例,而其他对象在一个BACnet设备中就可以有4T个实例。类比于IPV4协议来说,Device对象所对应的实例号就相当于IP地址,除Device对象外的其他对象在每个BACnet设备中可以多达4T个,每个对象都可以提供不同的服务,如BACnet测温设备中的Analog Input对象可以提供读取温度服务,这就相当于IP通信进程中的"PORT",每个PORT可以提供不同的服务,BACnet设备的通信过程与IPV4协议中通过IP + PORT在IP网络中确立一个服务进程的思想是一致的。

BACnet/IP作为BACnet协议的扩展于1999年加入至BACnet标准中,BACnet/IP提出了使用IPV4网络作为BACnet的底层网络,从而可以极其方便地利用IP网络组建大型的BACnet网络。

2 BACnet/IP智能终端的模型建立

2.1传统BACnet/IP终端模型

传统的BACnet/IP终端在实现上基本上遵循这样的模型:终端控制器一方面实现BACnet/IP协议栈的功能,另一方面还要和底层控制器,如空调控制、照明控制器等各种DDC(直接数字控制系统),进行通信。每个BACnet设备由一个Device对象和一个其他的服务对象组成,这个服务对象就和特定的DDC进行通信,从而完成特定的工作。

传统的BACnet/IP终端设备模型如图1所示,往往是每个控制器负责一样具体的工作,如每个控制器只能单一的控制空调设备,暖通设备或者照明设备等,这种做法可以降低BACnet/IP控制器的工作负荷,每个控制器只用维护很少量的资源,节约控制器的制造成本,甚至可以用单片机实现。但是,缺点是显而易见的:这种做法必将占用大量的Device实例号,不易于BACnet的大规模组网与实现。



图1传统BACnet/IP终端设备模型

2.2改进的BACnet/IP终端模型

鉴于前述的传统BACnet/IP终端模型的缺点,提出了一种改进的终端模型:一个BACnet设备由一个Device对象和多个其他对象组成,相同的对象类型则由对象实例域进行区分,比如温度对象和湿度对象在BACnet标准中都是用Analog Input对象来表示,但是相同对象可进一步用不同的对象实例号来区分。若远端试图访问本BACnet终端的湿度对象,则需要在BACnet/IP网络上通过Device对象实例号与湿度对象对应的Analog Input对象实例号来访问。

相比与传统的BACnet/IP终端模型,改进后的终端中每个BACnet/IP控制器可以负责不同的工作,拥有多种不同的对象及属性,可以提供更多的服务,同时大大减少Device对象的使用量,适合BACnet网络的大规模实现。

传统与改进后的BACnet/IP终端模型如图2所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top