网站大量收购闲置独家精品文档,联系QQ:2885784924

BACnetMSTP开发的入门篇.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
工欲善其事,必先利其器。首先,给大家介绍BACnet MS/TP开发的入门篇--工具准备篇。1 串口调试程序因为在BACnet MS/TP开发中,开发者要时刻关心BACnet数据包的状态,在这里仅给大家推荐4款串口监视调试软件。1.1 串口调试助手这个工具很常见,在网络上可以有哪些信誉好的足球投注网站到很多,笔者用的是图标为两把剑的那款,在BACnet下载页面中,您可以找到该工具。该工具用来确认PC和设备的串口状态必备,因为很多时候,大家不太好区分哪个是COMPortxx,所以用这个小工具一下就可以试探出来。1.2 串口监听软件笔者使用的是图标为一把鹤嘴钳的小工具,工具很小,但是它是从驱动层抓取数据包,有时候条件简单的情况下,可以快速分析出通讯错误来。该工具在BACnet下载页面中也有提供。1.3 Device Monitoring Studio 笔者后来在网上找到了该软件,感觉功能很强的,也是在驱动层直接抓取数据包,但是他反馈的数据包之间的时间间隔很准确,可以在BACnet协议开发的后期,调系统性能阶段使用。该工具在BACnet下载页面中也有提供,不过是30天的试用版。1.4 COMWATCH这个工具是把好剑,不过是一把双刃剑,不便的原因是他在DOS下运行,要求笔者有两台电脑才适用,不过往往越简单越能见真理,分析起数据包的时序来,感觉还真是非它莫属。在后期调时序阶段必不可少,由于版权问题,该软件咱不提供下载服务。2 数据包仿真软件什么样的BACnet MS/TP数据包是准确的符合BACnet MS/TP协议标准的数据包,这个是初级开发人员时常困惑的问题,笔者在初步接触BACnet的时候,也是无从下手,好在笔者开发的条件比较充足,手上不仅有一个标准的BACnet MS/TP DDC,还有一些前辈已经摸着石头趟了一番BACnet MS/TP开发的浑水,并且留下了一批枪支弹药。2.1 VTSVTS是BACnet开发认证的官方测试工具,功能很好很强大,但是由于文档有限,很多功能都需要慢慢挖掘,不过在后续章节中,笔者会给大家详细介绍 VTS,并以图式的方式给大家一个VTS使用的快速入门。注:在BACnet官方认证阶段,BACnet是否符合BACnet BTL认证标准,也需要提供一个预先在VTS中Pre-Scan的PICS脚本文档,该文档是BTL认证的重要组成部分。2.2 BACbeatBACbeat也是笔者开发中经常用到的一款很不错的BACnet开发工具,他的数据包和数据分发方式,笔者认为借鉴作用很大,不过也有一些弊端,后续会和大家分享。在本章节中,给大家介绍BACnet MS/TP开发经验分享--BACnet MS/TP数据包篇。在BACnet中国技术联盟的BACnet开发讨论栏目中,已经介绍了相关的数据包格式,这里主要是分享一下,BACnet MS/TP数据包Encoding Decoding中的注意事项。其网站链接如下:BACnet协议 BACnet标准中文资料中关于BACnet MS/TP部分详细解析(3)BACnet MS/TP的实现,按照实现的硬件平台,可以分为设备级(在楼宇自动化行业中主要是在DDC上以Firmware的方式实现)和PC级实现(主要是作为 BACnet MS/TP的配置工具或仿真、调试工具在个人电脑上以执行文件EXE的方式实现),在后续的章节中,我们都假设为后面的这种实现方式,即在PC上以配置、调试工具的方式在Windows上的实现。1 BACnet MS/TP数据包的接收按照BACnet MS/TP协议的规则,要有一个5ms或精度更高的Timer,这个条件在Windows下实现,的确有些不太容易,原因是Windows是一个分时处理的多任务操作系统,系统的标准Timer精度都在12-15ms左右,精度不会太高,即使在实时性好的WinCE5.0上,笔者测试的结果也是在 3-5ms左右,如果真是提供如此高精度的Timer的话,Windows操作系统就会很卡,没有机会再去处理其他任务了,CPU基本上被占用到99%以上了。读者很疑问了,真是这样那BACnet MS/TP的状态机如何在Windows这样的非实时操作系统下实现呢。且听笔者慢慢道来。这个5ms的Timer只是为了达到后面将要讲到的BACnet MS/TP状态机的实现过程中的各个关键时间点的Check精度,并不是要求BACnet MS/TP接收状态机和主状态机的循环时间控制在5ms,而且仔细想想,这个实现在BACnet MS/TP要求的9600Baud波特率下也是无法实现的,发送完一个Token令牌的过程,时间大约就会是8ms左右了(每个字节大约1ms,一个令牌在8-9个字节,如果有Padding字符为9个字节,其余情况为8个字节)。所以这个5ms Timer只是要求的Tim

文档评论(0)

e71ah65wn9 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档