BACnet

article/2025/11/1 9:41:15

BACnet通讯协议(一)

BACnet协议(A Data Communication Protocol for Building Automation and Control Networks),是由美国采暖、制冷和空调工程师协会(ASHRAE)制定的一个楼宇自动控制技术标准文件,BACnet协议最根本的目的是提供一种楼宇自动控制系统实现互操作的方法。

一、BACnet协议栈

​ BACnet协议是根据开放系统互联模型(OSI)(ISO7498)而提出的。开放系统互联模型采用分层结构,具有7层,解决了异构网络的互联通信。在楼宇自控领域,我们只需要一些特定的功能,因此BACnet协议具有四层结构。

​ BACnet协议具有四层结构,分别为:物理层,数据链路层,网络层,应用层。BACnet协议与标准OSI模型的各层对应关系如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gy0hF1HQ-1626007504032)(C:\Users\pfzhang\AppData\Roaming\Typora\typora-user-images\image-20210709142704907.png)]

BACnet协议四层结构的每层功能如下:

  • BACnet物理层:物理层提供了连接设备和传输数据的比特流的方式。物理层对于通讯协议来说是必不可少的。它是上层所有数据封装后产生可传输信号的层。是信号具体的产生层。
  • BACnet数据链路层:负责将数据组织成帧(frame)或者分组(packet),管理通信介质的访问、寻址,以及完成一些差错校正和流量控制的任务,这些都是BACnet所需要的,因此数据链路层是必不可少的。
  • **BACnet网络层:**在一个或多个网络中进行报文的路由、全局地址解析为局部地址、协调异构网络、流量控制、序列控制、差错控制以及信道复用。
  • **BACnet应用层:**应用层为应用程序提供API接口,也就是提供通信服务。BACnet应用层还包括了OSI模型里表示层、会话层和传输层中BACnet所需要的功能。BACnet协议只需要上面三层中的很少一部分功能,因此为了减少成本,将这些功能放在应用层。

二、BACnet网络示意图

在这里插入图片描述

其中可以看到一个BACnet网络的示意图,有一些基本的概念:

  1. BACnet设备:任何可以使用BACnet协议进行通信的真实或者虚拟的设备叫BACnet设备。
  2. 物理网段:BACnet设备与物理介质相连,物理介质称为物理网段。
  3. 网段:一个或多个物理网段通过中继器在物理层相连,形成一个BACnet网段
  4. 中继器(Repeater):工作在物理层,用于连接物理网段。因此中继器工作在物理层。
  5. 网桥(Bridge):网桥用于连接两个局域网络,从而扩大局域网络的规模。由网桥连接起来的具有相同网络地址的网段集合称为网络。网桥是用于连接两个网络的,而现在普遍使用的交换机,是用于连接多个网络进行数据交换的,相当于一个扩展的网桥。网桥工作在数据链路层。
  6. 路由器(Router):网桥连接起来相同地址的网段形成网络后,路由器负责将网络连接起来。路由器的特色是可以连接两个异构网络。例如有些路由器可以实现BACnet网络和TCP/IP网络的互联。路由器工作在网络层。
  7. 网关(Gateway):用于连接BACnet网络与非BACnet网络,网关工作在传输层以上。

其中几个主要设备工作的层如下:
在这里插入图片描述

三、BACnet中的服务

  • 有证实(confirmed)服务:用CONF_SERV标记,表示客户方通过具体的服务请求实例向服务器方请求服务,服务器方通过响应请求来为客户方提供服务。存在客户/服务器模型、区分“请求方BACnet用户”和“响应方BACnet用户”等。

  • 无证实(unconfirmed)服务:用UNCONF_SERV标记,只有“发送方BACnet用户”和“接收方BACnet用户”的概念,不存在客户/服务器模型,只有发送方和接收方,而不是请求-响应对。

  • 分段确认(segment acknowledge)服务:用SEGMENT_ACK标记,为了实现长报文(长度大于通信网络、收/发设备所支持的长度)的传输,BACnet采取了应用层报文分段的机制来对报文进行分段。在BACnet中只有有证实请求(Confirmed-Request)和复杂确认(Complex-ACK)报文可能需要分段,因此分段还是BACnet的一个可选特性。

  • 差错(ERROR)服务,拒绝(REJECT)服务,中止(ABORT)服务。

四、BACnet应用层的四种原语

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

uest)、指示(indication)、响应(response)和证实(confirm)。


http://chatgpt.dhexx.cn/article/gcoLEUS7.shtml

相关文章

BACnet协议

BACnet协议 BACnet协议层包括物理层,链路层,网络层,应用层和BACnet安全层。 我们知道BACnet是用于楼宇自动化和控制网络的简短形式的数据通信协议。BACnet是主要行业供应商产品中常用的自动化和控制协议之一,如江森自控&#xff…

BACnet协议详解——初识BACnet架构

文章目录 BACnet协议架构BACnet简化的架构简化的四层BACnet体系结构选取BACnet 网络的拓扑结构安全最后声明BACnet协议架构 国际标准化组织在制定计算机网络通讯协议标准时定义了一个模型,称为开放系统互联参考模型(OSI(ISO 7498)。模型的目的是解决计算机与计算机之间普遍…

BACnet基础入门

BACnet入门:一、简单了解 前言协议栈层级与拓扑结构1.层级体系2.拓扑结构 协议栈的相关内容1.应用层a.设备b.对象c.属性e.服务f.扩展g.安全h.互操作基本模块(BIBBs)i.一致性声明(PICS)j.其他 2.网络层3.数据链路与物理层 工具源码参考 前言 …

BACnet协议介绍

BACnet为BuildingAutomation andControlnetworks的简称,台湾通常翻译为“建筑自动化控制网路通讯协定”,而中国大陆则译为“楼宇自动化与控制网络”。 前言 BACnet是用于智能建筑的通信协议,是国际标准化组织(ISO)、美…

认识BACnet协议

一、什么是BACnet? BACnet,Building Automation and Control networks的简称,即楼宇自动化与控制网络。是用于智能建筑的通信协议。 一般楼宇自控设备从功能上讲分为两部分:一部分专门处理设备的控制功能;另一部分专…

【块存储block源码分析】 linux内核模块ceph nbd源码分析

jewel 版本支持 rbd-nbd 的特性,需要 map 支持较多特性的 rbd image 时,可以使用该 nbd driver NBD(Network Block Device) 可以将一个远程主机的磁盘空间,当作一个块设备来使用,就像一块硬盘一样。NBD是一个内核模块,…

用户增长 - BG/NBD概率模型预测用户生命周期LTV(二)

文章目录 1 理论1.1 BG / NBD概率模型介绍1.2 Gamma-Gamma模型2 实践案例2.1 lifetimes实践案例一:在线零售业务的交易2.1.1 数据解读2.1.2 BG / NBD - 预期交易的frequency /recency 热力图2.1.3 顾客留存概率热力图2.1.4 评估模型效果方式一:模型验证重…

使用BG/NBD模型与Gamma-Gamma模型预测客户的生命周期价值CLV/LTV

1. 背景 客户生命周期价值CLV: CLV是Customer Lifetime Value的简称,用来衡量一个客户(用户)在一段时期内对企业有多大价值,也称为LTV。 假如一个客户两年内在某商店内消费2000元,这2000元就是CLV,具有预测性。 CLV…

nbd 相关概念及操作

周五(3月6号)笔者发现有台物理机上挂载了一个并非常用的nbd设备,估计是之前人做的测试留下来的,决定卸载它,顺带了解了下nbd的设备信息。 什么是nbd 全称是network block device,类似于nfs,远程设备可以挂载&#xff…

qemu-nbd挂载虚拟机镜像文件系统

qemu-nbd挂载虚拟机镜像文件系统 基本原理操作步骤1.加载NBD驱动2. 连接 qemu-nbd3.挂载4.解挂 虚机文件系统为LVM实例1.加载驱动2.连接qemu-nbd3.挂载lvm分区4.卸载盘符 虚机文件系统为非LVM虚机文件系统为NTFS 基本原理 nbd(网络块设备: Network Block Device&am…

linux qemu-nbd介绍

1. 介绍 NBD(Network Block Device),即网络块设备。可以将一个远程主机的磁盘空间,当作一个块设备来使用。就像一块硬盘一样使用它,你可以很方便的将另一台服务器的硬盘空间,增加到本地服务器上。NBD与NFS有所不同&am…

centos7 nbd 挂在qcow2或qcow,raw,虚机镜像,virsh,virt,使用qemu-nbd挂载qcow2镜像文件

基本原理 nbd(网络块设备: Network Block Device),利用qemu-nbd将qemu虚拟机镜像挂载到Linux上。   展开来讲,nbd可以将一个远程主机的磁盘空间,当作一个块设备来使用,就像一块硬盘一样。使用它,你可以很…

linux nbd模块,Centos7.3 安装编译nbd模块-Go语言中文社区

未安装nbd模块 [zhaojqlocalhost ~]$modprobe nbd modprobe: FATAL: Module nbd not found. 查看linux版本 [zhaojqlocalhost ~]$cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [zhaojqlocalhost ~]$uname -r 3.10.0-514.26.2.el7.x86_64 安装 [rootlocalhost…

linux nbd模块,Centos7.3 安装编译nbd模块

未安装nbd模块 [[email protected] ~]$ modprobe nbd modprobe: FATAL: Module nbd not found. [[email protected] ~]$ cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [[email protected] ~]$ uname -r 3.10.0-514.26.2.el7.x86_64 安装 [[email protected] …

NBD(Network Block Device)简介及基本使用

NBD指的是Network Block Device,正如其名字的意思,NBD让用户可以通过网络访问到某个块设备,或者设备镜像。 你可能会想NFS(Network File System)不是已经可以实现通过网络挂载各种文件系统并进行访问了吗,…

微信开放平台开发者认证

1.邮箱注册,激活账号 2.企业认证 3.登陆微信开放平台,进行开发者认证 4.填写认证信息 5.发票选择,可以选择不开发票 6. 支付费用300 备注:如有疑问,请联系作者!

微信开放平台开发(3) 移动应用微信登录

在这篇微信公众平台开发教程中,我们将介绍如何使用微信开放平台接口实现移动应用微信登录的功能。 移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号&#x…

微信开放平台之第三方平台开发,模板小程序如何提交?

大家好,我是悟空码字 12月25日,天气晴朗,阳光普照,今天是圣诞节。因为疫情影响,小羊人的增多,街上放眼望去,人烟稀少。楼下除了几个十一二岁的小男孩在玩耍,也没有像往日老人悠闲打…

微信开放平台第三方开发,注册试用小程序,一整套流程

大家好,我是小悟 对服务商来说,试用小程序的好处不言而喻,主打一个先创建后认证的流程。只需要提供小程序名称和openid便可快速注册一个试用小程序,在认证之前,有效期14天,大致流程如下。 注册试用小程序 …

微信开放平台开发第三方授权登陆(五):微信小程序

微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三)&a…