学生作品_基于BACnet的驱动开发.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常州信息职业技术学院 《软件开发与项目管理》 学生作品 作品题目: 基于BACnet 的驱动开发 作品作者: 陈西 指导教师: 钱银中 完成时间: 2013.05.25 一、项目简介 BACnet是一种建筑自控领域的通讯和数据交换标准,它的诞生很好的解决了各家建筑控制设备厂商生产的楼宇自控设备间的互联和信息共享,实现了互动和互操作。目前,BACnet标准在楼宇自控领域应用广泛,尤其在北美市场BACnet产品占有率很高。BACnet以其开放性、可拓展性、可复用性、互操作性的特点,给楼宇自控领域带来了革命性变化,是未来研究的热门。虽然BACnet标准在国外应用广泛,但BACnet标准在我国一直处于推广阶段,应用并不普遍。国内没有专门的企业开发BACNet通讯协议栈及相应的驱动产品,这在一定程度上限值和阻碍了BACnet标准的推广和应用。 本项目就是通过设计符合BACnet标准协议栈的驱动产品,开发BACNet标准产品。并将开发的成果用于专用机械装备现场监控之中。 二、技术简介 组态王开发监控系统软件,是新型的工业自动控制系统,它以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。 它具有适应性强、开放性好、易于扩展、经济、开发周期短等优点。通常可以把这样的系统划分为控制层、监控层、管理层三个层次结构。其中监控层对下连接控制层,对上连接管理层,它不但实现对现场的实时监测与控制,且在自动控制系统中完成上传下达、组态开发的重要作用。尤其考虑三方面问题:画面、数据、动画。通过对监控系统要求及实现功能的分析,采用组态王对监控系统进行设计。组态软件也为试验者提供了可视化监控画面,有利于试验者实时现场监控。而且,它能充分利用Windows的图形编辑功能,方便地构成监控画面,并以动画方式显示控制设备的状态,具有报警窗口、实时趋势曲线等,可便利的生成各种报表。它还具有丰富的设备驱动程序和灵活的组态方式、数据链接功能。 三、需求分析 本系统各个功能需求有: (1)用户授权:本系统需要有登录、注册、管理功能。在客户端输入账号密码登录后,授权用户即可进行管理等工作。非授权用户可以进行注册成为授权用户。 (2)对所使用图档进行加密。不需要每次输入密码,只要记住电脑硬件的信息,就可以进行认证,然后CAD、WORD等文件可以打开。自动加密和解密,如果不进行授权的U盘或电脑信息,文件不能在其他的电脑上打开。或者文件通过提供一个密钥可以获得永久使用权,否则不能使用。 实现图档安全传输。制定消息和文件传输标准,数据传输与交互界面可以跨平台,跨系统,甚至跨领域。解决图纸的安全性保密性,以及图纸的不同控制权限问 (3)在线用户可以以聊天的形式进行交流。 三、系统功能模块设计 所谓模块是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。模块化就是把程序划分为若干个模块,每个模块完成一个子功能,把这些模块集中来组成一个整体,可以完成指定的功能满足问题的要求。 根据系统设计原则,经过需求调查,系统调用关系图如图1所示。 图1 系统调用关系图 四、系统实现 下面以组态王驱动接口函数为例,说明编码实现。 //组态王驱动接口函数 (1)StrToDevAddr( const TCHAR* str, LPVOID lpDevAddr ) const TCHAR* str; //将地址栏中操作员输入的字符传给驱动 LPVOID lpDevAdd; //将设备地址信息保存在DEVADDR结构 typedef struct _DevAddr { UINT nDevAddr; TCHAR sDevAddr[MAX_DEV_LEN]; } DEVADDR, * PDEVADDR; 在CDevBase类中实现。 BOOL CDevBase::StrToDevAddr(const TCHAR* pStr, LPVOID lpDevAddr) pStr为在组态王创建设备时在设备地址栏填入的内容。 lpDevAddr为设备变量。 此函数功能是将在设备地址设置界面填入的设备地址pStr进行解析,判断格式是否正确,正确则取得相应数值,并将解析取得的设备号设置付给设备变量lpDevAddr。 设备地址在填入时可以添加“/ALL_MSG”等一系列字符串,添加后程序将会调用CDebug中相应的打印函数,将相关信息打印在组态王的信息窗口中。 (2)GetRegisters( const TCHAR* szDeviceName, LPVOID *ppReg, int *pR

文档评论(0)

3344483cc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档