你现在位置:首页>技术论文>数据通讯>正文
基于嵌入式Linux的BACnet控制器软件设计
日期:2008-11-14 22:52:56 来源:中国自动化网  
点击: 作者:
点击【】放大字体.
摘要:描述BACnet协议的体系结构,分析BACnet控制器的功能,论证基于嵌入式Linux开发BACnet控制器的可行性;给出BACnet控制器软件的体系结构及其软件设计。
WWW.PLCJS.COM——可编程控制器技术门户

——可——编——程——控-制-器-技——术——门——户

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

BACnet协议是一种为楼宇自动控制网络所制定的数据通信协议。该协议已成为美国国家标准(ANSI/ASHRAE135-1995)和欧盟标准草案,并在2000年成为草案级国际标准。其中定义了23个对象和42个服务,以及5个数据链路的局域网底层网络结构。1999年1月正式发布了附录135a,成为标准的附件J,确定BACnet/IP技术的第6个局域网互联的底层技术。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

——可——编——程——控-制-器-技——术——门——户

1BACnet网络体系结构和控制器功能分析
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW.PLCJS.COM——可编程控制器技术门户

1.1BACnet网络体系结构
WWW_PL※CJS_COM-PLC-技.术_网

plcjs.技.术_网

BACnet建立在包含四个层次的简化分层体系结构上。这四层相当于OSI模型中的物理层、数据链路层、网络层和应用层。BACnet标准定义自已的应用层和简单的网络层,对于其数据链路层和物理层,提供了五种选择方案,在附件J-BACnet/IP中加入了对IP的支持。
plcjs.技.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

图1是BACnet/IP网络体系结构层次图。BACnet没有对应于OSI的第四、五、六层,也就是说,BACnet没有传输层、会话层和表示层。BACnet网络层屏蔽了底层采用的网络技术的差异。
WWW_PLCJS@_COM%-PLC-技.术_网

plcjs.技.术_网

1.2BACnet控制器的功能分析
W1WW_P4LCJS_COM-PLC-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

在一个BACnet控制网络中,一个BACnet控制器通常和多个控制设备直接相连,负责监控这些设备的运行。概括起来说,BACnet控制器应该具有三个方面的功能。①通信功能。BACnet控制器是一个网络控制器,所以它必须能够发送和接收BACnet报文,和其它BACnet设备进行通信。②监视功能。BACnet控制器要监视与它直接相连的控制设备的状态。这样,它就要提供数据结构来描述这种状态。在BACnet协议中,描述这些状态是用BACnet对象。BACnet协议提供了42个标准对象。③控制功能。BACnet控制器要控制与它相边听设备的运行,不仅要使这些设备之间具有互动能力,而且要使这些设备和系统的远程设备能够互动,所以在BACnet控制器中应该有逻辑控制模块来实现这一功能。值得注意的是,不同时间、不同地点,BACnet控制器中的控制逻辑可能是不同的,因而在BACnet控制器中要提供改变控制流程的工具。这种工具最好是图形界面的,以方便用户使用。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

2基于嵌入式Linux开发软件的可行性
P.L.C.技.术.网——可编程控制器技术门户

WWW_PLCJS_COM-PLC-技.术_网

①Linux是一个和Unix相似、以核心为基础的、完全内存保护、多任务多进程的操作系统。在开发过程中,可以根据实际需要,通过内核构筑工具对Linux内核功能进行裁减,做成体积很小的嵌入式操作系统,可使其达到500KB或更小的规模。
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_PLC※JS_COM-PmLC-技.术_网

②在实时性应用方面,通用的Linux在强实时性应用方面存在欠缺。Linux调度程序原来主要是针对台式计算机操作系统。重点考虑的是在应用程序的吞吐量上,即采用了一种“公平共享”的策略保证所有进程得到平均的CPU时间。在楼宇控制设备这种弱实时性应用中,如果采用先进的内核机制、进程调度算法和较小粒度的系统时间(10ms),是可以满足弱实时应用要求的,因此,Linux可用于楼宇自动化系统。
plcjs.技.术_网

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

③Linux是源代码开放的操作系统,可以很容易得到内核的接口和源码,我们可以把BACnet的协议实现集成到内核中去。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

④Linux是自由软件。在GNUGPL许可证协议下,可以自由使用、修改和发布,所以采用嵌入式Linux可以降低BACnet控制器的成本。
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

plcjs.技.术_网

3BACnet控制器软件的实现
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

3.1BACnet控制器软件的体系结构
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_P※LCJS_CO※M-PLC-技-.术_网

基于BACnet协议的体系结构和上面对BACnet控制器功能的分析,
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

——可——编——程——控-制-器-技——术——门——户

3.4驱动程序的实现
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

BACnet支持多种底层通信协议。在BACnet控制器中,必须为这些通信协议编写驱动程序,同时在BACnet控制器中还要为一些数据采集卡之类的设备写驱动程序。Linux操作系统下的驱动程序,是以模块的形式存在的,能够被动态地加载。对于不同的底层结构,可以灵活地加载不同的驱动程序。
WWW_P※LCJS_CO※M-PLC-技-.术_网

P.L.C.技.术.网——可编程控制器技术门户

开发设备驱动程序必须对内核有严格要求,其主要内容是根据内核的file_operations数据结构开发相应的设备操作函数,并填写数据结构。如果外围设备具有中断功能,则需要开发中断处理函数并安装中断函数。file_operations的数据结构,内核版本不同时,其结构可能不同,可以相看linux/fs.h头文件以确定具体的结构。在file_operations的众多函数指针成员中,通常只需实现reax、write、open和release即可;ioctl可以根据需要加以实现,以增强对外围设备的控制和管理功能。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWcW_PLCJS_COM-PLC-技.术_网

3.5BACnet控制器应用层实现
WWW_PLCJS_COM-PLC-技.术_网

plcjs.技.术_网

应用逻辑层是建立在嵌入式操作系统之上的具体应用。根据BACnet协议中定义了3个级别的BACnet控制器——楼宇控制器、高级应用控制器和应用控制器、实现不同类别BACnet设备规定的互操作域(InteroperationArea)。这样,就可以在应用逻辑层中实现协议规定的5个互操作域。这种方式不仅使协议的互操作域开发简单,而且使互操作域的开发具有可管理性。
W1WW_P4LCJS_COM-PLC-技.术_网

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

这5个操作域是:数据共享、报警和事件管理、时序安排、趋势记录及设备和网络管理。
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网

①数据共享功能包括数据的文档存储、数据的表示、监测对象、设备点和参数修改。BACnet控制器要将本地采集的数据传送到操作员工作站上进行存储,主要是那些需要查看历史记录的值,如模拟输入/模拟输出当前值属性等等。对于数据更新的时间间隔,快速采样时,用1~5s;对于慢速过程,如空间温度监测,采用30~60s间隔。当控制器收到了WriteProperty/WritePropertyMultiple,服务,要求控制器重新设置端点和修改参数时,就调用本地方法,修改某些对象的属性值。
——可——编——程——控-制-器-技——术——门——户

WWW_PLC※JS_COM-PmLC-技.术_网

②报警和事件管理支持预定值改变报告、值改变通告和事件通知。当控制器某一个对象的属性值发生改变时,它就向预定这一服务的设备发送值改变通告服务。告诉接收者这一变化。控制器发送一个事件通告服务,通知远程设备有一个事件发生。控制器还要支持响应GetAlarmSummary,通告报警状态和事件信息。
WWW_PLC※JS_COM-PmLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

③时序安排。控制器支持响应用来修改设备的Calendar、Shedular对象的WriteProperty服务请求,接收到该服务后,修改控制器的时序表。
WWW_PL※CJS_COM-PLC-技.术_网

plcjs.技.术_网

④趋势记录。支持响应用来修改TrendLog对象属性的WriteProperty服务,接收该服务后,修改登陆的数据点、采样速度、间隔。
P.L.C.技.术.网——可编程控制器技术门户

plcjs.技.术_网

⑤设备和网络管理。该操作域支持DeviceCommunicationControl服务,操作员可以通过该服务禁止控制器;同时,该操作域还支持响应TimeSynchronization和UTCTimeSynchronization服务,保证时间同步;支持响应AtomicReadFile服务,允许远程读取/修改控制器的配置文件,允许通过网络备份来恢复被配置。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

结语
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WW.W_PLCJS_COM-PLC-技.术_网

BACnet是一种实用的国际标准的楼宇控制网络协议。控制器是BACnet控制网络中的重要设备之一。BACnet控制器的开发成功,对于促进BACnet协议在我国楼宇自动化中应用具有重要的意义。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_PL※CJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

上一篇: 油田计量间数据采集系统设计方案
下一: 没有了
评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行