当前位置:主页 > 科技论文 > 计算机论文 >

基于Linux的BACnet工作站应用层的设计与实现

发布时间:2020-06-10 23:24
【摘要】: BACnet协议是一种专门为建筑自动控制网络制定的一种数据通信协议,并以其开放、简单、实用、且易于与其他网络集成的特点成为建筑自动控制网络的国际标准。BACnet定义了一种控制信息传递和交换的语言,可以方便地实现设备与设备间的通信。设计并实现一个完备的、可移植、可裁剪的BACnet工作站,避免针对不同建筑设备进行重复地软件开发已成为一个研究的热点。本文所要讨论的内容就是BACnet工作站应用层的设计与实现。 本文研究的主要内容如下: (1)对整个嵌入式系统做了大量的调查研究工作,反复研读了BACnet协议的具体内容。深入理解了BACnet协议的体系结构,并熟练掌握了BACnet对象模型、服务模型、编解码规则、报文传输规范、网络规范等原理。 (2)规划和设计了BACnet工作站的应用层。本文首先对整个BACnet工作站应用层的设计进行了详细规划,设计了工作站应用层的模型。接着讨论了BACnet报文存储器、标准对象、标准服务的设计。 (3)介绍了BACnet应用层状态机的基本原理和BACnet状态机的状态变迁规则,然后使用NS2仿真软件建立网络仿真环境,对BACnet网络进行仿真,分析了BAcnet网络的传输特性,以此来指导状态机的参数的设定。最后对应用层的客户状态机和服务状态机进行了详细分析和设计,给出了状态机函数表。 (4)用C语言实现了部分工作站应用层的代码,其中以读属性服务为例介绍了BACnet工作站应用层的实现,重点介绍了BAcnet基本数据编码库、服务请求原语编码库和客户状态机的实现。
【图文】:

状态变迁,空闲状态


(1)客户状态机BACnet客户状态机有四个状态:空闲状态、分段请求状态、等待证实状态和分段证实状态。客户状态机的状态变迁图如图4一2所示。一般状态机处于空闲状态,当发送一个有证实请求时候,它切换到等待证实状态,等待远端服务器给它的响应,如果收到确认,将确认报文上传到应用程序,并返回空闲状态;如果超时,它会重发该请求,,并维护等待证实状态,当超时次数达到设置值,状态机返回差错,并回到空闲状态。对于分段报文的状态变迁则更加复杂,用图形的描述方式更为直观、准确。当一个设备作为BACnet客户时,由它发出的ADPU包括:(1)BACnet无证实请求pDU(BACnet一Uneo而rmed一Request一PDu)(2)BACnet有证实请求pDU(BACnet一Confirmed一Request一Pnu)(3)BAenet分段确认pDU(BACnet一SegmentAeK一pDu)(参数‘服务器’=FALSE)(4)BACnet中止PDU(BACnet一Abort一PDU)(参数‘服务器’=FALSE)发送无证实、气

本文编号:2707018

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2707018.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户f832a***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com