应用于智能终端的BACnet/IP模型研究方案

发布时间:2014-12-22 阅读量:1246 来源: 我爱方案网 作者:

【导读】本文就BACnet/IP终端的模型建立进行了简单研究和设计,提出了一种改进的BACnet/IP终端模型,同时对底层控制器和BACnet控制器采取了无线通信的方式,对于BACnet终端的设计具有一定的参考价值。

引言


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的大规模组网与实现。

应用于智能终端的BACnet/IP模型研究方案

图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所示。

应用于智能终端的BACnet/IP模型研究方案

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

2.3基于无线的BACnet/IP终端

在改进的BACnet/IP终端模型中,BACnet控制器与底层控制器间仍然是以有线的方式进行通信,有线通信对于BACnet/IP通信环境的搭建以及以后的扩展维护都是一个极大的阻碍。所以本文采用无线通信的方案进行BACnet/IP终端的实现,其模型如图3所示。当BACnet/IP终端收到经由IPv4网络发送而来的BACnet服务原语,会经过其内部的BACnet协议栈确认为对象访问类服务,控制器需要操作无线模块对特定的无线采集DDC节点进行访问,如读取当前温度值、调节照明亮度等。

应用于智能终端的BACnet/IP模型研究方案

图3基于无线的BACnet/IP终端

将无线通信的方法应用于BACnet,可以使得BACnet组织更加灵活,更加方便地增加和移除设备。

3 BACnet/IP终端的硬件设计


基于上述模型,终端需要同时提供多个对象的服务、IP网络服务,以及和无线模块之间通信,这对于硬件资源的要求较高,所以终端在硬件微处理器的选择芯片为三星公司的S3C2440A处理器,而在无线模块上选择是CC1101无线芯片。图4是终端控制器的硬件结构图,各部分的功能如下:

①S3C2440A控制核心板,负责嵌入式Linux操作系统及BACnet协议栈的运行。

②USB模块,主要是外接无线网卡,可以通过WLAN将终端接入IP互联网中,接无线网卡的好处是进一步省去了IP网络布线的麻烦。

③UART模块,使终端可以通过RS232接口和PC机进行通信,主要是为了调试。

④无线模块,终端侧的无线节点,和底层无线采集节点进行通信。

⑤LCD触摸屏,用于和用户交互,平时工作时可以将背光关掉以节能。

应用于智能终端的BACnet/IP模型研究方案

图4 BACnet/IP终端硬件设计
 
4 BACnet/IP终端的软件设计

基于前面的BACnet/IP终端模型与硬件平台,软件平台上选择嵌入式Linux作为平台,ARM9和Linux的配置也是当前较为先进和流行的嵌入式平台。软件设计部分主要涉及嵌入式Linux系统的搭建与裁剪、BACnet/IP协议栈的移植,以及BACnet/IP协议栈和无线模块之间的交互。

4.1嵌入式Linux系统构建


在ARM9处理器上移植与构建嵌入式Linux系统目前已经有比较成熟的方案,在移植Linux系统时不要裁剪网络功能,需要将IPV4与IPV6网络功能保证完全,因为BACnet/IP协议正是基于TCP/IP协议栈的UDP层,而保留IPV6协议栈是考虑到BACnet也可以架构与IPV6网络之上,这是需要注意的。

4.2 BACnet/IP协议栈的移植

BACnet/IP协议栈的实现上,本文采用移植BACnet Stack Protocol工程。BACnet Stack Protocol是Steve Karg在2005年于着名的开源网站sourceforge上维护的一个BACnet协议栈开源工程,它完整地实现了BACnet协议标准,并且可以方便地移植应用于多种平台上,如WIN32、Linux、PIC单片机、ARM7处理器等,目前最新的版本是bacnetstack0.8.0.

由于BACnet Stack Protocol工程采用C语言开发,所以可以很方便地移植于嵌入式Linux系统中,具体来说只要在编译的时候选择相应处理器对应的编译器即可。BACnet Stack Protocol之所以具有高度的可移植性,归功于其模块化的编程方法和BACnet协议栈的分层设计。在将BACnet Stack Protocol移植于不同硬件平台时,只需要修改对应数据链路层部分,而网络层和应用层代码无需修改,这和IP协议栈能应用于不同硬件场合的思想也是一致的。

4.3无线模块与BACnet/IP通信


由于无线模块只负责控制着底层的DDC,相应于BACnet协议中的应用服务,也就是说无线模块只需要负责和BACnet协议栈中的应用层进行通信,当应用层协议数据单元(APDU)需要获取DDC的数据时,即调用无线模块进程与之进行通信。整个系统的软件设计如图5所示。

应用于智能终端的BACnet/IP模型研究方案

图5 BACnet/IP终端软件设计

系统的软件由以下几部分模块组成:

①Linux内核模块,主要用于IP网络协议栈以及各种底层驱动(如LCD屏幕,无线模块驱动)的实现。

②BACnet协议栈模块,主要用于移植BACnet Protocol Stack开源工程。

③无线模块,用户态的无线模块进程用于和底层的各个无线采集节点进行通信,而通信的上层进程为BACnet协议栈。

④Web模块,提供Web服务,使得用户可以通过IP网络的http服务远程访问和控制终端。

5系统性能测试


为了验证BACnet/IP终端的实际运行情况,采用了VTS软件进行测试,VTS是验证应用在BACnet楼宇系统中的有力工具。在BACnet/IP网络中,远端控制器发送BACnetReadProperty服务原语,其对象设置为AnalogInput,对象的实例号为0(AnalogInput/0在本测试环境下代表的是远程的BACnet/IP温度采集器),图6展示的是本端终端控制器的响应数据,可以看出其PropetyVlaue:Real子类中的值为28.4,也就是说当前的温度为28.4℃,和实际情况相吻合。

应用于智能终端的BACnet/IP模型研究方案

图6系统测试结果

BACnet协议作为智能楼宇互操作通信的国际标准,其应用在我国还处于起步阶段,随着中国对于智能楼宇市场需求的慢慢扩大,相信BACnet将会有更好的发展前景。

相关文章

基于LPC2214的家庭智能终端的设计与实现

联芯科技LC1813芯片加速千元智能终端“四核时代”到来

采用40nm工艺,高集成度的四核智能终端SOC芯片方案
相关资讯
超11万人次观展,5723名海外买家到场!IOTE 2025深圳物联网展圆满落幕​

​在AIoT技术加速赋能全球数字化转型、中国持续引领物联网产业创新的大背景下,IOTE 2025第24届国际物联网展·深圳站于8月29日在深圳会展中心(宝安新馆)圆满落幕。本届展会以“生态智能·物联全球”为主题,联合AGIC人工智能展与ISVE智慧商显展,汇聚1001家产业链企业,覆盖8万平方米展区,三日内吸引观众超11万人次,其中海外专业买家达5723人,来自30多个国家和地区,充分彰显了展会的国际影响力与行业凝聚力。

IOTE 2025物联网展开启AIoT生态新纪元:千家展商齐聚,首日超5万观众!

​8月27日,IOTE 2025·第24届国际物联网展于深圳国际会展中心(宝安新馆)隆重开幕。本届展会以“生态智能·物联全球”为主题,联合AGIC人工智能展与ISVE智慧商显展,在8万平方米的展区内汇聚超1000家全球展商,涵盖人形机器人、边缘计算、高精度定位、无源物联网、电子纸等前沿领域。开展首日即吸引超5万名专业观众到场,展现出AIoT融合背景下物联网产业的蓬勃活力与无限潜力!

第106届中国电子展11月在沪开幕,聚焦“创新强基”助推产业协同生态

在创新驱动与供给侧改革的持续深化下,2024年中国电子元器件行业迎来强劲复苏与高质量发展,整体销售收入突破2.2万亿元人民币,进出口贸易额稳步增长,展现出显著的发展韧性。行业在移动终端、汽车电子、新能源等关键下游市场的驱动下,不仅产业配套能力实现跃升,一批骨干企业的全球竞争力也持续增强。在此蓬勃发展的产业背景中,第106届中国电子展将于2025年11月5-7日在上海新国际博览中心举行,以“创新强基 智造升级”为主题,搭建全产业链协同创新的重要平台。

寒武纪登顶A股“股王”!单日暴涨15.73%,市值破6600亿,公司紧急提示:股价已严重脱离基本面

寒武纪发布《股票交易风险提示公告》明确指出:当前股价已严重脱离基本面,存在较大投资风险,提醒投资者理性决策,谨慎参与交易。

扫码PDA手持终端助力快递驿站:智能升级,高效处理每日千件包裹

在现代物流体系中,快递驿站作为“最后一公里”的关键节点,其运营效率直接影响用户体验。面对日益增长的包裹处理压力,传统人工登记模式已难以满足高效、精准的操作要求。而搭载智能扫码技术的PDA手持终端,正成为快递驿站实现数字化管理、提升出入库效率的核心工具。