BACnet协议

article/2025/11/1 9:49:12

BACnet协议

BACnet协议层包括物理层,链路层,网络层,应用层和BACnet安全层。

我们知道BACnet是用于楼宇自动化和控制网络的简短形式的数据通信协议。BACnet是主要行业供应商产品中常用的自动化和控制协议之一,如江森自控,西门子建筑技术,KMC控制,远程控制系统等。

BACnet从一开始就作为独立的开放标准自动化协议而开发。社区免费提供多个BACnet协议栈。

BACnet应用程序非常庞大。BACnet应用包括照明控制,安全,消防,报警,HVAC(加热,通风,空调和与公用事业公司的接口)。

BACnet International负责一致性测试服务以及BACnet标准的开发和采用。BACnet技术应与KNX和Zigbee等其他技术互通。还开发了这些技术之间的互操作性规范,以使这些系统共存。

BACnet协议栈

BACnet协议栈

该图描绘了BACnet协议栈。如图所示,它由物理层,链接层,网络层和应用层组成。BACnet协议是OSI堆栈的折叠版本,不使用传输层和会话层。应用层采用这两层的功能。

BACnet物理层

BACnet上层不依赖于物理层。BACnet物理层使BACnet可以在不同的网络上实现。BACnet物理层已指定用于以下内容:
•ARCNET 
•以太网
•IP隧道
•BACnet / IP 
•RS-232 
•RS485 
•  Lonworks / LonTalk

RS232用于点对点通信。RS485支持最多32个节点,距离为1200米,速率为76Kbps。

BACnet协议链路层

BACnet可以使用LonTalk / IEEE802.2链路层直接实现。它为RS232连接指定PTP(点对点)数据链路层。它指定用于RS-485连接的MS / TP数据链路层。

该标准规定了BVLL(BACnet虚拟链路层),它提到了BACnet设备在该链路层所需的所有服务(例如广播)。

IP BVLL将所需的控制信息封装在BACnet虚拟链路控制信息的头部中。由于IP BVLL,BACnet设备可以直接通过IP网络进行通信,而无需任何路由器设备。

BACnet使用BBMD概念,该概念实现了所需链路层所需的广播要求。BBMD代表BACnet广播管理设备。据此,BACnet广播消息被转换为基于IP的多播/广播消息。

BACnet网络层

BACnet网络层指定路由所需的网络地址。BACnet网络由一个或多个段组成。这些BACnet网段在使用相同的LAN技术时使用网桥连接。如果他们使用不同的LAN协议,则使用路由器连接/接口。

BACnet应用层

BACnet不会隔离演示文稿和应用程序层。它负责通常与传输和会话层相关的可靠性和分段/排序机制。

BACnet将设备作为交换服务原语的对象。这些服务原语使用ASN.1语法描述,并使用ASN.1 BER进行序列化。

BACnet安全层

让我们了解BACnet安全概念。BACnet设备-A可以从密钥服务器请求会话密钥,以便与设备-B建立安全通信。该密钥由密钥服务器传送到设备A和设备B. 密钥称为“SKab”。BACnet协议使用56位DES加密。

设备-A和设备-B通过交换挑战字(即使用会话密钥的随机数加密)相互认证。挑战消息包括标识符(即InvokeID)。这用于将要进行身份验证的所有未来事务。

BACnet协议的工作原理

如前所述,BACnet代表楼宇自动化和控制网络的数据通信协议。早期的专有系统没有互操作性,因此难以有效控制商业建筑。BACnet已经实施,使不同供应商的专有系统能够互操作。该规定也已纳入最新标准,以便BACnet网络可以与其他技术互操作,如Zigbee,KNX等。

BACnet还支持传统LAN协议,如以太网,ARCNET,MS / TP和LonTalk。该标准由ASHRAE(美国采暖,制冷和空调工程师协会)维护和管理

BACnet标准

-BACnet标准化始于1987年(在ASHRAE会议期间)
-BACnet于2003年成为ISO标准(ISO 16 484-5) 
-BACnet,由BACnet international于2006年管理,提供一致性测试服务,并促进标准的采用和发展。
- 在美国,BACnet于1995年成为标准(ASHRAE / ANSI标准135),2003年BSR / ASHRAE标准135.1中的一致性测试标准化
- 在欧洲,它于2003年由CEN技术委员会247采用,用于自动化和管理级别。

BACnet协议层标头

BVLCI-BACnet虚拟链路控制信息

BACnet中的链路层定义了RS232的PTP和RS485的MS / TP。该标准定义了BACnet虚拟链路层(BVLL),它规范了BACnet设备中链路层所需的所有服务(例如广播)。

在BACnet设备中,使用IP BVLL封装控制信息。这在普通IP层中不可用。信息在BVLCI标题中添加。使用此标头BACnet设备可以直接通信而无需路由器。BACnet中的BBMD(BACnet广播管理设备)概念负责特定链路层的BACnet广播功能。

NPCI

类似的BACnet网段通过网桥连接,路由器不同。BACnet地址有两种类型即。网络标识符和地址标识符。NPCI是BACnet网络标题的缩写形式,包括以下信息元素。 

NPCI = { 

•2字节源网络(SNet),可变长源地址(SAddr,SLen),对于以太网,使用ARCNet和MS / TP本机协议地址格式。对于subnetID和nodeID(2字节)的LonTalk连接,或者使用subnetID和Neuron ID(7字节)的串联。
•2字节目标网络(DNet),可变长度目标地址(Daddr,Dlen)对于广播消息,DNet识别需要或需要广播的网络,Dlen = 0
•4字节网络优先级指示符
•1字节消息类型:BACnet路由机制使用9种消息类型,例如,“谁是路由器到网络”以发现到特定网络的路由器ID 供应商可以定义特定的扩展消息类型。
•2字节供应商ID

}

BACnet对象

设备基本功能被指定为对象。每个设备都被分解为标准化对象的集合。对象的属性如下:

•物理输入
•物理输出
•名称,类型和配置参数

使用设备内的唯一标识符标识每个对象。标识符被指定为Object_Identifier。BACnet支持约30种已定义标准属性和预期行为的对象类型。

以下是标准对象类型:

• Analoginput
• AnalogOutput
• AnalogValue
• BinaryInput
• NotificationCLass
• Program
• Schedule
• BinaryOutput
• BinaryValue
• Calender
• Command
• Device • 
Averaging
• MutistateValue
• TrendLog
• EventEnrolment
• File
• Group 
• Loop
• MultistateInput
• MultistateOutput
• LifeSafetyPoint 
• LifeSafetyZone
• Accumulator 
• PulseConverter

需要所有BACnet设备来实现设备对象。Object_identifier在整个BACnet网络中应该是唯一的。

BACnet服务

BACnet协议认为所有对象都充当提供网络服务的服务器。五类服务在标准ANSI / ASHRAE 135第13至17条中定义。 
每个服务根据网络中的通信需求使用一组消息。ANSI / ASHRAE 135第21条定义了这些消息。使用远程操作原语(如REQUEST,INDICATION,RESPONSE和CONFIRM)交换这些消息。

标准中提到了标准BACnet服务原语列表。例如,“Who-Is”/“I-AM”原语用于发现BACnet网络上的设备。

BACnet Over Web Services Interface

XML小组已经引入了BACnet 2004规范的附录-C,该规范规定了建筑自动化和控制系统的Web服务接口。 

 

此BACnet协议分析将有助于理解BACnet协议的工作原理。

posted on 2018-08-29 17:06 sundaygeek 阅读(...) 评论(...) 编辑 收藏


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

相关文章

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…

微信开放平台开发-授权、全网发布(PHP)

这两天做了微信开发平台的开发,梳理下。。。 先看看授权的流程: 第一步:接收component_verify_ticket: 1、微信服务器每隔10分钟会向第三方的消息接收地址推送一次component_verify_ticket,拿到后需要在本地做好存储&…