为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

BACnet软网关应用框架的设计与实现

2018-02-17 10页 doc 26KB 13阅读

用户头像

is_998870

暂无简介

举报
BACnet软网关应用框架的设计与实现BACnet软网关应用框架的设计与实现 智能建筑中文核心期刊《微计算机信息>(测控自动fi5)2007年第23卷第2.1 期 BACnet软网关应用框架的设计与实现 DesignandImplementationofaFrameworkofBACnetSoftwareGateway (广东工业大学)陈博李军周慧瑁 CHENBOLIJUNZHOUHUIJUN 摘要:楼宇网络中,经常遇到楼控设备使用私有协议的情况,为了使其能访问 BACnet网络和方便BACnet工作站控制,通常 的解决方法是开发BACnet软网...
BACnet软网关应用框架的设计与实现
BACnet软网关应用框架的设计与实现 智能建筑中文核心期刊《微计算机信息>(测控自动fi5)2007年第23卷第2.1 期 BACnet软网关应用框架的设计与实现 DesignandImplementationofaFrameworkofBACnetSoftwareGateway (广东工业大学)陈博李军周慧瑁 CHENBOLIJUNZHOUHUIJUN 摘要:楼宇网络中,经常遇到楼控设备使用私有的情况,为了使其能访问 BACnet网络和方便BACnet工作站控制,通常 的解决方法是开发BACnet软网关做协议转换.开发BACnet软网关的过程有很多 工作是很繁琐重复的.本文提出了一种 BACnet软网关应用框架的实现,通过封装BACnet协议和利用VC的应用程 序框架.使windows平台上BACnet软网关开 发过程得到简化和加速. 关键词:楼字控制;BACnet;协议:软网关 中图分类号:TP3l1文献标识码:B Abstract:Alotofbuildingautomationequipmentuseprivateprotocol.BACnetsoftwaregate way,whichcandotranslationbetween privateprotocolandBACnetprotocol,canletthoseequipmentsaccessBACnetnetwork.The ImplementationofBACnetSo'waregate— wayistediousandalotofworkcallbedoneautomatically.Thispaperhaveimplementedafram eworkofBACnetsoftwaregateway whichcanmakeitfasterforuserstodevelopaBACnetsoftwaregateway. Keywords:BuildingAutomation,BACnetprotocol~Softwaregateway 引言 BACnet协议是由美国采暖,制冷和空调工程师协会制定的 开发楼宇自动控制网络数据通信协议,它于1995年颁布,同年 被批准为美国国家.BACnet协议提出了,种标准的网络 通行语言.使不同厂家生产的楼控设备进行灵活组合,选配和 扩展,以满足各种楼控设备的需求. BACnet软网关是指运行在Windows或Linux等通用操作 系统上的网关软件,网关的硬件平台通常为Pc或者嵌入式系 统.其特点是:在设计过程中,网关软件的设计是重点,而硬件只 需很少的设计或不需要设计.相对于BACnet网关,软网关的优 点是功能单一.实现简单,又可以直接运行在BACnet工作站 上.在项目中某些设备需要做协议转换时BACnet软网关通常 可以满足要求.在楼控项目中,使用私有协议的设备很多,经常 要开发BACnet软网关,因此将BACnet软网关的开发过程部分 自动化有一定的积极意义.本文提出的应用程序框架对BAC— net协议中BACnet应用层及其状态机,BACnet网络层,BVLL 层均进行了封装,实现了BACnet协议的类库.再依附于VC的 MFC框架实现了BACnet软网关的应用框架,使开发运行在 windows上的BACnet软网关的过程得以简化. 1BACnet软网关一般的结构 BACnet软网关的结构大同小异.开发过程也有很多重复 工作.BACnet软网关的 一 般结构如图1所示 陈博:硕士研究生 基金项目:广东省科技项目(2Oo3一B一12211) BAC net 对 象 创 建 BACnet对象实例 BACnet对象管理 BACnet服务 BACnet状态机 私有协议编解码l{BACnet网络层 数据收发 BACnet虚拟链路 层 BACnet报文收发 使用麓的}BACnet网络楼控系统if络 图1BACnet软网关结构图 图1中数据收发模块,私有协议处理模块以及BACnet对 象管理模块等根据工程需求会有较大变化,其他部分则变化较 小.所以可以根据用户需求实现一个代码框架,BACnet部分自 动生成,而其它部分由用户根据需求自己编写.本系统是先实现 BACnet协议的类库.封装了BACnet协议各层的实现,在此基 础上在实现BACnet软网关的代码框架. 2BACnet类库的实现 BACnet类库的作用主要是实现BACnet各层服务以及状 态机,以供代码框架和用户使用.BACnet协议主要由两部分构 一 208—360~L,年邮局订阅号:82.946 智能建筑 成:通信传输部分,BACnet对象与BACnet服务.实现时首先需 要定义BACnet数据类型及其编解码,然后实现BACnet服务以 及各层报文的编解码. 2.1BACnet数据类型定义及其编解码,BACnet对象 BACnet协议定义了l3种应用数据类型,另外还有5O余种 构造型数据.BACnet构造型数据都有SQUENCE,SQUENCE OF,CHOICE三种类型派生而来.为了使BACnet对象的定义简 洁,我们将BACnet数据定义和其编解码分离,BACnet有相应 的类做编解码的工作,而BACnet数据则用相应的C十+结构定 义.例如Boolean,BACnetData,BACnetVTSe,~sion三个数据类型 的C++定义如下图: 咄i"1jd.}kihx)】 矗Tl{,I{t{l'H{},,讧^T^目il -l,{tj'{'辩 '?}rj{ il,qk粥0,d }{,《,0一1t? {*…b}{{,0I, }D;0 图2BooleAb-i,BACnetData和BACnetVTSession的定义 在编写BACnet应用数据编解码的同时,本系统还编写了 BACnet标记的编解码.对于构造类型编解码,SQUENCE类型 是不同数据类型的组合,其编解码过程也是这些数据编解码的 组合,所要注意的是SQUENCE中可选元素应有一个标志标识 其是否存在.SQUENCEOF类型数据是一组相同数据的集合, 可利用C++模板和vector来实现它.CHOICE类型数据则用一 个变量来确定该类型数据的真实类型,其编解码过程也是调用 真实类型数据的编解码.BACnetAny数据处理方法与CHOICE 数据相似. 整个BACnet数据编解码程序包的结构图如图3所示.所 有编解码类都继承于BACnetEncodable类,BACnetEncodable定 义了所有编解类的接口. 图3BACnet数据编解码结构图 BACnet对象可以直接利用BACnet数据类型定义.对其可 选属性要另加布尔标志说明是否支持. 2.2BACnet各层报文编解码,BACnet服务 这部分类库主要功能是实现各层的编解码,同时BACnet 服务的定义和编解码也在这里实现.整个程序包由BACne— tAPDUEncodel",BACnetAPDUDecodel",BACretAPDU和其子类, BACnetNPDU和BACnetBVLL等类组成,其结构如图5所示. 图5BACnet报文编解码结构图 BACnetAPDUEncoder/BACnetAPDUDe?2oder为应用层的编 码提供了一个缓冲区.以及一些操作缓冲区的方法.BACne— tAPDU是所有BACnet服务编解码类的父类,为BACnet服务编 解码提供了接口.协议解码过程如图6所示. 协议数 据单元 编解码 固定部分编解码简单数据类型编解码 可变部分编解码标志编解码 图6协议解码图 BACnetAPDU的子类具体定义了BACnet服务编解码过 程,其编解码分为固定部分和可变部分,最终都通过调用BAC— net数据类型的编解码实现. BACnetNPDU实现了网络层编解码.网络层的报文有网络 层协议管理控制报文和传输APDU的报文两类,由于软网关一 般都不需要路由功能,所以可直接将网络层协议管理控制报文 丢弃.而对传输APDU的报文判断DNET域,若不存在DNET 域或DNET域存在且为X'FFFF',表明报文到达了目的地或在 该BACnet网络广播.调用应用层解码模块对其处理. BACnetBVLL主要处理BVLL报文的编解码.BVLL层是 BACnet/IP新增的一层运行于UDP层之上的微型协议层,其 作用主要有三:1.对BACnet广播进行统一管理,2.提供在IP 网络上动态增加或减少BACnet设备的功能,3.提供BACnet 通信系统的扩展机制.BVLL报文也有两类:用于传输BACnet 应用层数据(APDU)和BACnet网络层数据(NPDU)的报文(共4 个),用于BVLL协议内部管理的报文(共8个).BVLL内部管 理报文用于BVLL协议设备BBMD和管理工作站之间,在这 里忽略这些报文. 3软网关框架的实现 BACnet部分类库完成之后,借助Vc的可定制应用程序向 导便可实现软网关应用框架,具体过程是将Bacnet部分代码做 资源文件处理,然后通过配置文件过滤掉不需要的代码,最后生 成一个最小系统.系统过程如图7所示: 图7BACnet软网关框架结构图 首先设计好了BACnet类库配置界面,用户可以通过配置界 面选择软网关是否要实现BVLL,需要那些BACnet对象和服务 等等.本系统通过配置文件,将用户所作的修改记录下来. 系统根据用户所做选择,对BACnet程序资源文件做一些 修改取舍.生成最终的最小系统.在具体实现时要注意 CCustomAppWiz的派生类和其成员变量mDictonary,在 CCustomAppWiz的初始化函数InitCustomAppWiz中初始化一 些BACnet的宏指令.用户修改软网关配置文件时相应的修改 字典对象mDictonary,它存储宏名及其值.因为这个成员变量 是CMapStringToString类型的,用标准的MFC映射函数就能设 置不同的宏.最后需要修改的是VC提供的newproj.inf文件, confirm.inf和我们的BACnet资源文件,(_F转第235页) @臣自控闻邮局订阅号:82360元/年-209— GPSGJS 包括:报警,命令,电话,显示等. 图4车载终端控制软件流程图 6监控中心站软件设计 监控中心站软件包括用户界面系统,数据库管理系统,电 子地图管理系统,通信系统.该通信系统使用可视化程序设计 语言(VB或Delphi或VC)编写.通信系统软件通过AT命令对 串口操作把TC35接受到的短消息传送到PC机.PC机对该消 息首先进行分离,定位信息送给电子地图管理系统,在地图上 显示运输车辆的位置,而运输车辆的安全检测信息则显示在用 户界面系统上,由监控管理员对其做出响应.系统也可以控制 Tc35给车载终端发控制命令. 7结束语 基于GPS和GSM短消息的车辆定位监控系统利用现有的 GSM网络实现化学品运输过程中的定位监控,成本低,覆盖范 围广,可行性高,对提高我国化学品运输体储运过程的安全性, 方便预警与事故遇险人员生命保障和快速救援有着切实意义. 本文作者创新点:针对我国危险化学品运输的实际情况提 出了一套简单可行的车辆定位监控方案.系统充分利用现有的 GPS网络,成本低,软硬件实现简单.采DSP进行数据处理和 控制,速度快,处理能力强,非常适合对多目标进行监控. 参考文献: 【1】冀常鹏等.GPS/GSM车辆监控系统研究fJ】微计算机信息.2003 (9):44.48? [2】郑祖舵等.GPS车辆调度监控系统及其在我国的发展趋势.东 北汽车运输.2004(4):20,25 [3】翟战强.蔡少华.基于GPRS/GPS/GIS的车辆导航与监控系统. 测绘通报.2004(2):34—36 f41纪玉波等.车辆定位监控系统设计与实现.石油化工高等学校 .2002f91:6l一63 作者简介:秦海涛,男,汉族,1981年2月出生,湖南沅江人,中 北大学硕士研究生:计算机与电子科学与技术学院,电子科学 与技术系;研究方向:微系统设计与测量技术;E—maihhaitao. qin@sohu.com;薛晨阳,男,汉族,1971年11月出生,山西忻州 人,中北大学电子测试国家重点实验室副主任,副教授;研究方 向:MEMS器件设计和动态测试. Biography:QinHaltao,DepartmentofElectronicScienceand Technology,CollegeofElectronicsandComputerScience,Nonh UniversityofChina,majorinmicrosystemdesignandmcasurc— ment;XueChenyang,majorindesignanddynamictestingof MEMSdevice. (030051山西太原电子测试技术国家重点实验室.中北大学 电子科学与技术系1秦海涛薛晨阳秦丽张斌珍马游春 通讯地址:(030051山西山西省太原市中北大学18系教研室1 秦海涛 (收稿目期:2006.10.12)(修稿日期:2006.11.9) (上接第209页) 这三个文件的修改非常相似,都要根据前面所设置的BACnet 宏指令,删除不必要部分. 用户利用应用框架生成的BACnet软网关只是一个最小系 统,私有协议处理,数据收发等模块需要用户自己实现. 4结束语 BACnet协议目前应用非常广泛,实际项目中经常需要开发 软网关做协议转换,软网关繁琐重复的过程即费时又费力.使 BACnet软网关应用框架开发BACnet软网关加快简化软网关 的开发过程,可以有效解兜这个问题.在实际项目现场调试的 过程中,利用该应用框架开发的BACnet软网关运行良好,可以 实现私有协议设备访问BACnet网络. 本文作者创新点:提出了一种Windows平台上BACnet软 网关应用框架的实现方案,简化了BACnet软网关的开发过程. 参考文献: 【1】CommunicationProtocolforBuildingAutomationandControl NetworksIS】.ANSI/ASHRAEStandard135,20o1,AData [2】董春桥等.智能楼宇BACnet原理与应用[M】.北京:电子工业 出版社 [3]~tj隶等.BACnet网络与Internet互联的研究[J1微计算机信息. 2002.6:59-61 作者简介:陈博,男,1983.2.,硕士研究生,就读于广东工业大学 自动化学院检测技术与自动化装置专业,研究方向为楼宇智能 化技术,E—maihzhongky04@sina.com;李军,男,1962.9,硕士,副教 授,广东工业大学自动化学院硕士生导师,研究方向为楼宇智 能化技术;周慧瑁,女,1981.9,广东工业大学自动化学院硕士研 究生,研究方向为楼宇智能化技术 Biography:ChenBo,male,bornin1983.2,postgraduate,Au? tomationFacultyofGuangDongUniversityofTechnology,Study Interest:BuildingAutomation,E—mail:zhongky04@sina.com;Li Jun,male,bornin1962.9,master,associateprofessor,Automa? tionFacultyofGuangDongUniversityofTechnology,StudyIn- terest:BuildingAutomation;ZhouHui-jun,female,bornin 1981.9,postgraduate,AutomationFacultyofGuangDongUniver— sityofTechnology,StudyInterest:BuildingAutomation. (510090广州广东工业大学自动化学院)陈博李军周慧瑁 通讯地址:(510090广州广州市东风东路729号广东工业大 学自动化学院1号楼405实验室)陈博 f收稿日期:2006.10.12X修稿日期:2006.11.9) 翅自控罔邮局订阅号:82-946360~L/-q-一235—
/
本文档为【BACnet软网关应用框架的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索