下载

0下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于VTS的BACnet通讯协议调试[2]

基于VTS的BACnet通讯协议调试[2].doc

基于VTS的BACnet通讯协议调试[2]

强势的女人丶总是很勇敢
2017-09-16 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《基于VTS的BACnet通讯协议调试[2]doc》,可适用于综合领域

基于VTS的BACnet通讯协议调试基于VTS的BACnet通讯协议调试一、BACnet协议简介BACnet标准是年由美国采暖制冷空调学会(ASHRAE)正式公布的楼宇自控数据通信协议标准。该标准的基本目标有两个一是在技术上定义一个开放的楼宇自控系统结构实现不同系统间的互连(interconnect)和互操作(interoperability)二是在应用上可以使用户(业主)可以自由选择自控厂商和系统集成商寻求具有最优竞争力的产品和服务使系统维护和升级不局限于特定的厂商从而保护用户的投资。从BACnet标准实现的目标来看BACnet标准就是定义了一个开放的技术平台或环境所有楼宇自控厂商不需要得到授权或委托均可以直接进入这个开放的平台或环境并参与竞争。在BACnet标准定义的平台或环境中竞争是完全公平的没有其他专有(proprietary)标准的限制从而使促进楼宇自控产业有序地健康发展。BACnet标准从正式诞生到成为ISO标准用了不到年的时间。这充分说明了BACnet标准符合楼宇自控领域发展的规律代表着楼宇自控领域的发展方向。归纳起来BACnet标准具有如下基本特点。)专用于楼宇自控网络具有高效的特点。BACnet标准是专门为楼宇自控网络定制的标准定义了许多楼宇自控系统所特有的特性和功能。与其他标准相比BACnet标准具有高效的优点。)完全开放技术先进。BACnet标准是由非盈利学会制定的标准具有完全的开放性和广泛的参与性从而使BACnet标准可以博采众长不断注入新技术始终代表楼宇自控领域的最高技术水平。)具有良好的互连特性和扩展性。BACnet标准虽然从体系结构上定义了不同的局域网络但BACnet标准可以扩展到其他任意通信网络。例如BACnetIP标准可以实现与Internet的无缝互连。)具有良好的伸缩性。BACnet标准没有限制BACnet系统中设备节点的数量BACnet集成系统可以由几个设备节点构成一个极小的自控系统也可以形成一个规模极大的超级大系统。如美国GAS集成的GEMnet系统该系统具有个楼宇自控系统集成总建筑面积达万平方米横跨个州。)应用领域不断扩展。BACnet标准最初仅用于暖通空调设备系统。由于BACnet标准具有良好的互连性和互操作性及扩展性在开放模式环境下该标准的应用领域不断扩展。目前该标准已广泛应用于楼宇设备的各个领域如给排水系统、照明系统、安保系统等。二、BACNet协议网络结构BACnet协议分为三层:物理层、链路层、应用层。在BACnetIP中使用UDP协议链路层又称为虚拟链路层。在BACnetIP协议中的参数如下:三、BACNet专业词汇及缩略语Destination:IP端口号网关开放的端口。以“IP:port”十进制方式表示Unicast:单播调试时一般都选择这个Broadcast:组播DNET:目标网络号DADR:目标地址十六进制格式整数SNET:源发子网号SADR:源发地址十六进制格式整数一般不用填Hop:路由器跳数一般不需手动指定DataExpectingReply:指定即使不需要反馈设备也将给出反馈。Priority:优先级一般不用设置或写操作时设为最低级InvokeID:自动分配的回合序号一般不用手动指定Segmentedmessage:我方发送数据分段一般不需要指定Segmentedresponseaccepted:指定设备发送分段反馈需要时设成InstanceNO:对象在设备中的唯一标识符ObjectType:对象的类型AnalogInput(AI):模拟量输入AnalogOutput(AO):模拟量输出AnalogValue(AV):虚拟模拟量可读也可写BinaryInput(BI):数字量输入与BinaryOutput(BO):数字量输出开与关通与断BinaryValue(BV):虚拟数字量点可读亦可写Device:此类型表示对象是一个“设备”ObjectID:对象的唯一标识由类型与InstanceNumber组成。Property:对象所具有的属性ObjectList:对象列表常用属性之一读“Device”类型对象时常用PresentValue:对象列表指定遥信、遥测的当前值。四、BACnet常用命令WhoIs网上有设备吗,IAm我在。WhoIs命令能搜索出一个BACnet子网中所有的在线设备。设备在线会返回一个“IAm”报文作为回应。返回报文中的有下一步调试所需要的一些信息。发包需要的信息:网关IP地址端口号。ReadProperty请给我某对象的资料。ACK这是它的资料请查收。读取某对象某属性的值。例如读取设备上一个AI对象的Presentvalue值。发包需要的信息:网络参数:网关IP端口号目标子网号目标设备地址报文是否分包及分包大小对象参数:对象唯一标识符(InstanceNumber)对象类型(ObjectType)欲读取的对象属性(Property)。WriteProperty这是某某对象的新资料请更新它ACK好的更新完了。写某个对象某个属性的当前值。例如写设备上一个BO对象的PresentValue为true。网络参数:网关IP端口号目标子网号目标设备地址对象参数:对象唯一标识符(InstanceNumber)对象类型(ObjectType)欲写入的对象属性(Property)以及欲写入的值(Value)。ReadPropertyMultiple这是名单请给我它们的资料ACK这是它们的资料。ReadProperty的加强版能同时读同一设备上的多个不同对象的不同属性。WritePropertyMultiple请根据这份名单和这份新资料更新数据ACK好的全部更新完了。WriteProperty的加强版能同时更新同一设备上多个不同对象的不同属性。五、BACnet协议流程BACnet规约流程:初始化规约初始化。发送WhoIs命令获取子网内设备信息根据子网内设备的信息读取每个设备的点表并按照一定的顺序排序。(遥信库是BI、BO、BV从开始遥测库是AI、AO、AV亦从开始)据读取生成的点表轮循每个设备的点位。若上位机发送遥控命令转换后发送到网络上执行。六、VTS的安装配置VTS依赖于Winpcap因此必须装Winpcap,要求版本在以上VTS本身是绿色软件但要比较高的权限才能访问Winpcap库文件。安装Wireshark在报文较长VTS不能正确解析时用Wireshark来分析数据。搜索DDCWhoIs读取DDC中所有的点位读写单点值与Wireshark配合使用七、VTS的使用启动软件点击网卡图标:如果没有端口就通过“New”新建一个。选择“IP”选项卡指示使用BIP(AnnexJ)协议。端口号填写x开头的十六进制数字。下面是常用的WhoIs、ReadProperty、WriteProperty命令的图示。WhoIs在“RemoteDeviceManagement”中:ReadProperty与WriteProperty在“ObjectAccess”中:WhoIs命令:填写目标地址与端口号:设定为单播模式:目标网络号设为意在发现所有的设备:一般没人动:读取属性列表:设定目标地址及端口号:设定使用单播:根据WhoIs读取到的信息填下子网号地址为十六进制数值:指定以字节分段(通常都这样做):指定对象的类型为“Device”指定对象的InstanceNumber。选择属性为“ObjectList”类型:读取对象属性:前面的是一样的:设定设备所处网络的网络号与地址。注意地址只能填十六进制数字。如果读取的数据太多可以将“Segmentedresponseaccept”勾选上设置“MaxAPDUlengthaccepted”为(通常都支持这个值不支持会返回错误报文)。设置对象的唯一标识符:对象由其InstanceNumber和ObjectType共同组成缺一不可。如果对不上号就会返回错误消息。选择对象属性“PresentValue”:对象必须有此属性才能选否则也会返回错误消息。写对象属性前面部分操作是一样的:设定对象标识:将属性设为“PresentValue”:设置要写到属性中的值:开关是Bool类型:八、与Wireshark配合调试:对于设备返回一些超长报文VTS无法直接调试解决办法是通过Wireshark抓包分析。如上图选择Capture>Option设定过滤端口号:选定网卡启动抓包:Capture>Interface启动后符合BACnetIP协议的报文会显示“bacnet”标识。BACnet报文中有“BACnetVirtualLinkLayer”这一层展开会看到有“Data”这个字段选定它右键选择“DecodeAs”出现一个对话框选择BVLC类型这时就能够分析BACnet中的数据了。注:智能节电的DDC必须发送端口与接收端口一致才能通讯。注:本文重点在第七段其它为作为理解所用的参考资料。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/18

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利