物联网协议-BACnet

物联网协议-BACnet该协议是楼宇自动控制网络所制定的数据通信协议 SPC 确定 BACnet 标准协议体系结构为一个包含四个层次的分层体系结构 这四个层次相对于 OSI 模型中的物理层 数据链路层 网络层和应用层

大家好,欢迎来到IT知识分享网。

基于UDP的网络BA设备的接入和相关的基本知识

1 背景和相关的知识点

工业园区中用到的冷热源系统、空调新风系统、送排风系统等,采用的是BACnet(A Data Communication Protocol for Building Automation and Control Network) 协议来控制和反控。该协议是楼宇自动控制网络所制定的数据通信协议

1、SPC 确定 BACnet 标准协议体系结构为一个包含四个层次的分层体系结构,这四个层次相对于 OSI 模型中的物理层、数据链路层、 网络层和应用层 (OSI 7层)

物理层 串口485 232 网线 (双绞线、同轴电缆、光缆),从个人的角度理解,是类似一套网络架构,自己有点,自己有路由,自己有一套模型,稍微比7层模型更加精简。物理层可以明确的走串口和网口。

4、BACnet 的应用层提供两种类型的服务,分别是“证实服务”和“非证实服务”

2 协议的基本结构

BACnet 网络层协议数据单元的分组格式,如下图所示:

物联网协议-BACnet

3 四种服务的原语以及证实和非证实服务

BACnet 定义了四种服务原语:

请求(Request)、指示(Indication)、响应(Response)以及证实(Confirm)原语

证实服务是建立在客户/服务器通信模型的基础上的(同步的一应一答,服务和客户端分明)

物联网协议-BACnet

在非证实服务中,不存在上述客户/服务器模型、“请求方 BACnet 用户”和“响应方
BACnet 用户”等概念,只有“发送方 BACnet 用户”和“接收方 BACnet 用户”,理解为

(同步或者异步的一应一答,服务和客户端)

物联网协议-BACnet

4 面向对象属性

BACnet 的对象模型及其属性

在楼宇自控网络中,各种设备之间要进行数据交换,为了能够实现设备的互操作,所交换的数据必须使用一种所有设备都能够理解的“共同语言”。

BACnet 的最成功之处就在于采用了面向对象的技术,

定义了一组具有属性的对象(Object)来表示任意的楼宇自控设备的功能,从而提供了一种标准的表示楼宇自控设备的方式。

在 BACnet 中,所谓对象就是在网络设备之间传输的一组数据结构,对象的属性就是数据结构中的信息,

设备可以从数据结构中读取信息,可以向数据结构写入信息,这些就是对对象属性的操作。

BACnet 网络中的设备之间的通信,实际上就是设备的应用程序将相应的对象数据结构装入设备的应用层协议数据单元(APDU)中,按照前面几篇文章中所叙述的规范传输给相应的设备。对象数据结构中携带的信息就是对象的属性值,接收设备中的应用程序对这些属性进行操作,从而完成信息通信的目的

BACnet 的对象定义 18 个对象 对象的名称和应用举例

物联网协议-BACnet

物联网协议-BACnet

在楼宇自动控制系统中,设备的输入输出值是一类基本的参数。 BACnet 定义了 6 个输入输出值对象,分别是:模拟输入对象,数字输入对象,模拟输出对象,数字输出对象,模拟值对象和数字值对象

物联网协议-BACnet

5 模型和对应的网络设备的理解

BACnet 标准目前使用两种技术来实现 IP 互联 BACnet 网络。

第一种技术在附件 H 中进行了描述, 称之为“隧道”技术, 其设备称之为 BACnet/IP 分组封装拆装设备, 简称 PAD,其作用像一个路由器,将 BACnet 报文通过 IP 互联网传送。

PAD 的功能像一个 BACnet 路由器,当它接收到一个 BACnet 报文时,如果该报文的目标地址位于一个远程 BACnet 网络,而且只能通过一个 IP 互联网才能到达目标 BACnet 网络, PAD 将该报文封装进一个 IP 帧中,给出位于目标 BACnet 网络中的对应的 PAD 的 IP 地址,作为封装帧的目标 IP 地址,将此帧发送到 IP 互联网中。接收方的 PAD 从 IP 帧中取出 BACnet 报文,并且将其传送给本地局域网内的目标设备。发送和接收报文的 BACnet 设备本身并不知道为了传送报文会有这么多的特别的操作。

单一的 俩个纯的BACnet设备组网(可以理解为挂同个路由下,或者是小范围的)

物联网协议-BACnet

PAD 与 BACnet 路由器的不同点是它们处理全局广播的方式不同。路由器的处理方式是,对于广播报文,路由器将它重新发送给除了报文来自于的那个网络之外的所有网络;而 PAD 却是向每一个对等 PAD 发送一个 IP 帧,这就要求 PAD 保持一个对等 PAD 的 IP

缺陷:PAD 设备是实现在 IP 网络上互连 BACnet 网络的最简单的方法,但是,这种方法有一些不足。其中之一是,不容易从网络中增删设备。如果要重构网络时,必须重新改写每一个 PAD 中的对等 PAD 设备表

6 相关的标准工具和协议栈

VTS.exe 是标准的工具,能收发报文,能模拟设备节点,能解析报文结构解析。可用于排查设备是否正常收发数据。对应的安装目录下的文件列表如下图所示:

物联网协议-BACnet

(1)读写某个节点的属性,菜单的点击如下:

物联网协议-BACnet

(2) 在下面四个界面,填入不同设备对应的填写对应的点位和对应的属性类型,注意点NPCI针对路由下的点位和属性。BVLCI 和Confirmed-Request不用目前.

物联网协议-BACnet

(3)在ReadProperty 界面 要填写点位和属性和读的类型

物联网协议-BACnet

点位是12,且类型是模拟输入。Present-value 其实默认对应的是85,代表读的内容类型。

下面就是16进制的报文

参考资料如下:

官网和相关的介绍

http://www.bacnet.org/Developer/index.html

https://blog.csdn.net/jacklang/article/details/

http://www.scadaengine.com/index.html

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/167784.html

(0)
上一篇 2025-01-17 13:15
下一篇 2025-01-17 13:25

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信