认识BACnet协议

这篇具有很好参考价值的文章主要介绍了认识BACnet协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是BACnet?

BACnet,Building Automation and Control networks的简称,即楼宇自动化与控制网络。是用于智能建筑的通信协议。

一般楼宇自控设备从功能上讲分为两部分:一部分专门处理设备的控制功能;另一部分专门处理设备的数据通信功能。而BACnet就是要建立一种统一的数据通信标准,使得设备可以互操作。BACnet协议只是规定了设备之间通信的规则,并不涉及实现细节。

BACnet协议模型为:

(1)所有的网络设备,除基于MS/TP协议的以外,都是完全对等的(peer to peer);

(2)每个设备都是一个“对象”的实体,每个对象用其“属性”描述,并提供了在网络中识别和访问设备的方法;设备相互通信是通过读/写某些设备对象的属性,以及利用协议提供的“服务”完成;

(3)设备的完善性(Sophistication),即其实现服务请求或理解对象类型种类的能力,由设备的“一致性类别”(Conformance Class)所反映。

二、BACnet的体系结构

认识BACnet协议

BACnet建立在包含四个层次的简化分层体系结构上,这四层相当于OSI模型中的物理层、数据链路层、网络层和应用层。

BACnet标准定义了自己的应用层和简单的网络层,对于其数据链路层和物理层,提供了以下五种选择方案:

(1)第一种选择是ISO 8802-2类型1定义的逻辑链路控制(LLC)协议,加上ISO 8802-3介质访问控制(MAC)协议和物理层协议。ISO 8802-2类型1提供了无连接(Connectionless)不确认(Unacknowledged)的服务,ISO 8802-3则是著名的以太网协议的国际标准。

(2)第二种选择是ISO 8802-2类型1定义的逻辑链路控制(LLC)协议,加上ARCNET(ATA/ANSI878.1)。

(3)第三种选择是主从/令牌传递(MS/TP)协议加上EIA-485协议。MS/TP协议是专门针对楼宇自动控制设备设计的,同ISO 8802-2类型1一样,它通过控制EIA-485的物理层,向网络层提供接口。

(4)第四种选择是点对点(PTP)协议加上EIA-232协议,为拨号串行异步通信提供了通信机制。

(5)第五种选择是LonTalk协议。

三、BACnet的协议栈和数据流

认识BACnet协议

由应用层服务原语产生的应用层协议数据单元(APDU),构成了网络层服务原语的数据部分,并通过网络层服务访问点下传到网络层。

同样,这个请求将进一步下传到本地设备协议栈的以下各层。

服务原语:用于描述服务用户和服务提供者之间交互作用的、抽象的、与具体无关的表现方式。服务原语只有4种类型:

  • 请求(Request) 用户实体要求服务做某项工作   源(N+1)实体—>源(N)实体

  • 指示(Indication) 用户实体被告知某事件发生   目的(N)实体—>目的(N+1)实体

  • 响应(Response) 用户实体表示对某事件的响应   目的(N+1)实体—>目的(N)实体

  • 确认(Confirm) 用户实体收到关于它的请求的答复   源(N)实体—>源(N+1)实体

PDU:Protocol Data Unit,协议数据单元,是指对等层次之间传递的数据单位。

APDU:Application Protocol Data Unit,应用协议数据单元。

NPDU:Network Protocol Data Unit ,网络协议数据单元。

LPDU:Link Protocol Data Unit,链路协议数据单元。

MPDU:MAC Protocol Data Unit,MAC协议数据单元。

PPDU:Presentation Protocol Data Unit,表示协议数据单元。

四、BACnet应用层

 BACnet应用层主要有两个功能:

  • 定义楼宇自控设备的信息模型——BACnet对象模型

  • 定义面向应用的通信服务

BACnet应用进程模型:

认识BACnet协议

一个应用进程包括:应用程序和应用实体,应用实体位于应用层内,属于通信协议的部分,应用程序不属于协议部分。应用程序和应用实体之间通过API进行通信。

应用层有四种原语,分别为:请求(request)、指示(indication)、响应(response)和证实(confirm)。

BACnet对象模型:

BACnet网络协议使用先进的面向对象技术,通过封装在APDU内的对象数据进行通讯。BACnet拥有28个对象:

序号 对象名称 应用实例
01 Accumulator 累加器
02 Analog Input 模拟输入对象
03 Analog Output 模拟输出对象
04 Analog Value 模拟值对象 
05 Averaging  平均器 
06 Binary Input  二进制输入对象
07 Binary Output 二进制输出对象
08 Binary Value  二进制值对象
09 Calendar  日期表对象
10 Command  命令对象
11 Device 设备对象
12 Event Enrollment  事件登录对象
13 Event Log 事件日志对象
14 File 文件对象
15 Global Group 全局组对象
16 Group  组对象
17 Life Safety Point  生命安全监测点的信息检测
18 Life Safety Zone  生面安全区域的信息检测
19  Loop 控制环对象
20 Multi-State Input 多态输入对象
21 Multi-State Output 多态输出对象
22 Multi-State Value 多态值对象 
23 Notification Class 通告类对象 
24 Program   程序对象
25 Pulse Converter  脉冲转换器
26 Schedule 时间安排对象 
27 Trend Log 趋势记录对象 
28 Trend Log Multiple 多趋势记录对象 

BACnet服务:

BACnet具有35种服务,服务是操作对象的方法。这35种服务分为6类,分别为:报警与事件服务,文件访问服务,对象访问服务,远程设备管理服务、虚拟终端服务和网络安全服务。

其中,对象服务访问包括:

  • 创建对象服务

  • 删除对象服务

  • 读属性服务

  • 条件读属性服务

  • 读多个属性服务

  • 写属性服务

  • 写多个属性服务

远程设备管理服务包括:

  • 设备通信控制服务

  • 有证实专有传输服务

  • 无证实专有传输服务

  • 重新初始化设备服务

  • 有证实文本报文服务

  • 无证实文本报文服务

  • 时间同步服务

五、BACnet网络层

 BACnet网络层的作用是检查网络拓扑结构,决定最佳路由。

  • 网络层提供将报文直接传送到一个远程BACnet设备、广播到一个远程BACnet网络、或者广播到所有的BACnet网络中的所有BACnet设备的能力。

  • 一个BACnet设备由一个网络号码和一个MAC地址唯一确定。

BACnet互联网络拓扑结构:

认识BACnet协议

物理网段(Physical Segment):直接连接以下BACnet设备的一段物理介质。

网段(Segment):多个物理网段通过“中继器”在物理层连接,所形成的网络段。

网络(Network):多个BACnet网段通过网桥互联而成,每隔BACnet网络都形成一个单一的MAC地址域。这些在物理层和数据链路层上连接各个网段的设备,可以利用MAC地址实现报文的过滤。

互联网络(Internetwork):将使用不同LAN技术的多个网段,用BACnet路由器互联起来,便形成了一个BACnet互联网络。在一个BACnet互联网络中,任意两个节点之间恰好存在着一条报文通路。

六、BACnet数据链路/物理层

BACnet标准将五种类型的数据链路/物理层技术作为自己所支持的数据链路/物理层技术进行规范,形成其协议。

认识BACnet协议

ARCNET局域网:

ARCNET是1977年由Datapoint公司开发的一种安装广泛的局域网(LAN)技术,它采用令牌总线(token-bus)方案来管理LAN上工作站和其他设备之间的共享线路,其中,LAN服务器总是在一条总线上连续循环的发送一个空信息帧。

当有设备要发送报文时,它就在空帧中插入一个“令牌”以及相应的报文。当目标设备或LAN服务器接收到该报文后,就将“令牌”重新设置为0,以便该帧可被其他设备重复使用。这种方案是十分有效的,特别是在网络负荷大的时候,它为网络中的各个设备提供平等使用网络资源的机会。

主从/令牌传递(MS/TP)协议:

BACnet的主从/令牌传递局域网技术的基础时使用EIA-485标准。

由于EIA-485标准只是一个物理层标准,不能解决设备访问传输介质的问题,BACnet定义了主从/令牌(MS/TP)协议,提供数据链路层功能。

MS/TP网络使用一个令牌来控制设备对网络总线的访问:

  • 当主节点掌握令牌时,它可以发送数据帧。

  • 凡是收到主节点请求报文的主(从)节点都可以发送响应报文。一个主节点在发送完报文之后,就将令牌传递给下一个主节点。

  • 如果主节点有许多报文要发送,当它一次掌握令牌期间最多只能发送Nmax_info_iframes个数据帧,就必须将令牌传递给下一个主节点,其他数据帧只能在它再一次掌握令牌时,才能发送。

点到点(PTP)通信协议:

 为了使两个BACnet设备能够各种点到点通信机制进行通信,BACnet定义了点到点数据链路层通信协议,面向连接的协议,这个协议的功能是:

  • 使两个BACnet网络层实体建立点到点数据链路连接,可靠地交换BACnet PDU。

  • 使用已建立的物理连接执行BACnet点到点连接的有序终止。

一旦这种连接成功建立后,两个设备就可以透明地交换BACnet PDU。

无论呼叫设备还是被呼叫设备,都可以启动释放连接过程,而只有每个设备都发送了终止请求后,连接才会终止。

对应的物理连接有:EIA-232连接调制解调器,线路驱动器,或者其他数据通信设备。文章来源地址https://www.toymoban.com/news/detail-446976.html

到了这里,关于认识BACnet协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 认识协议【网络基础】

    在网络通信中,协议(Protocol)是指计算机或设备之间进行通信的一系列规则的集合。 不管是网络还是生活中,协议是一种事先约定好的规则,通信的参与方按照同一份规则进行通信,如连接方式,如何识别等等。只有事先约定好了规则,才能保证后续通信时的效率和一定的

    2024年02月07日
    浏览(54)
  • 常见的无线网络协议介绍 全面认识无线网络协议的作用

    虽然大家对于网络方面已经很熟悉了,但是大家对于无线网络协议又了解多少,知道无线网络协议都有哪些,他们的各自的作用是什么吗?本文小编就带着我们进行了解网络协议的特性,希望对大家在网络知识方面有所帮助。 802.11b协议 说明:802.11b协议是由IEEE(电气电子工

    2024年02月05日
    浏览(46)
  • TCP协议的一些认识及实践知识简介

    一、简介 引用《TCP/IP详解-卷1》中的介绍,TCP与UDP使用相同的网络层(IP层),TCP却向应用层提供了与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。 所谓面向连接的,是指在彼此通信前要先建立连接。同时这种点对点的连接表明了TCP不支持多播和广播。

    2024年02月05日
    浏览(35)
  • BACnet物联网网关BACnet MS/TP

    BL103 BACnet网关是一款经济型楼宇自动化、暖通控制系统的物联网关,用于实现Modbus RTU 、Modbus TCP、DL/T645、BACnet IP、BACnet MS/TP等多种协议转换为Modbus TCP、OPC UA、MQTT、BACnet IP、华为云IoT、亚马逊云IoT、阿里云IoT、ThingsBoard、金鸽云等协议的网关。 BL103下行支持:Modbus RTU Master、

    2024年02月12日
    浏览(46)
  • D-link路由信息协议基本认识

    路由信息协议是基于距离向量的路由协议,通常利用跳数来作为计量标准,是一种内部网关协议,是使用范围最广泛的路由协议,在网关与主机之间交换路由选择信息的标准,而RIP 是一种内部网关协议。 一、作为一种内部网关协议或IGP,路由选择协议应用于AS 系统。连接A

    2024年02月05日
    浏览(35)
  • 【JavaEE初阶】网络原理|认识协议|协议分层|TCP/IP模型|封装和分用

    目录 一、认识协议 1.概念 2.作用(为什么需要协议?) 二、协议分层 1.为什么需要⽹络协议的分层? 2. 协议分层是什么 3.分层带来的好处 三、TCP/IP五层(或四层)模型 (1)物理层 (2)数据链路层 (3)网络层 (4)传输层 (5)应用层 四、封装和分用(协议的层和层之间

    2024年04月23日
    浏览(42)
  • 【Http协议①】认识http协议,学会使用fiddler抓包工具进行抓包.

    前言: 大家好,我是 良辰丫 ,今天我们一起来学习http协议,http协议是应用层的协议,应用层是最接近程序员的,那么,http协议到底是什么呢?我们往下看.💞💞 🧑个人主页:良辰针不戳 📖所属专栏:javaEE初阶 🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们

    2024年02月05日
    浏览(50)
  • 解析pcap文件,逐步认识tcp/ip协议栈

    TCP/IP(Transmission Control Protocol/Internet Protocol)定义了一组规范和协议,用于在计算机网络中实现数据通信。 协议栈,或称TCP/IP 协议栈,是该网络簇下网络协议实现的集合,也是现代互联网的基础。 TCP/IP 协议栈由多个层级组成,每个层级负责处理特定的网络功能。它与 OSI 模

    2024年02月09日
    浏览(38)
  • 【Linux】通过网络版计算器来认识协议

    ​🌠 作者:@阿亮joy. 🎆 专栏: 《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 协议的概念 网络通信中的协议是指在网络中进行数据传输时遵循的一些规则和标准,用于确保不同设备之间的

    2023年04月18日
    浏览(31)
  • 快速认识什么是:Docker

    Docker,一种可以将软件打包到容器中并在任何环境中可靠运行的工具。但什么是容器以及为什么需要容器呢?今天就来一起学快速入门一下Docker吧!希望本文对您有所帮助。 假设您使用 Cobol 构建了一个在某种奇怪风格的 Linux 上运行的应用程序。您想与您的朋友分享这个应用

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包