BACnet通讯分析

合集下载

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

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

基于VTS的BACnet通讯协议调试一、BACnet协议简介BACnet标准是1995年由美国采暖制冷空调学会(ASHRAE)正式公布的楼宇自控数据通信协议标准。

该标准的基本目标有两个,一是在技术上定义一个开放的楼宇自控系统结构,实现不同系统间的互连(interconnect)和互操作(interoperability),二是在应用上可以使用户(业主)可以自由选择自控厂商和系统集成商,寻求具有最优竞争力的产品和服务,使系统维护和升级不局限于特定的厂商,从而保护用户的投资。

从BACnet标准实现的目标来看,BACnet标准就是定义了一个开放的技术平台或环境,所有楼宇自控厂商不需要得到授权或委托,均可以直接进入这个开放的平台或环境,并参与竞争。

在BACnet标准定义的平台或环境中,竞争是完全公平的,没有其他专有(proprietary)标准的限制,从而使促进楼宇自控产业有序地健康发展。

BACnet标准从正式诞生到成为ISO标准,用了不到10年的时间。

这充分说明了BACnet 标准符合楼宇自控领域发展的规律,代表着楼宇自控领域的发展方向。

归纳起来,BACnet 标准具有如下基本特点。

1)专用于楼宇自控网络,具有高效的特点。

BACnet标准是专门为楼宇自控网络定制的标准,定义了许多楼宇自控系统所特有的特性和功能。

与其他标准相比,BACnet标准具有高效的优点。

2)完全开放,技术先进。

BACnet标准是由非盈利学会制定的标准,具有完全的开放性和广泛的参与性,从而使BACnet标准可以博采众长,不断注入新技术,始终代表楼宇自控领域的最高技术水平。

3)具有良好的互连特性和扩展性。

BACnet标准虽然从体系结构上定义了不同的局域网络,但BACnet标准可以扩展到其他任意通信网络。

例如,BACnet/IP标准可以实现与Internet 的无缝互连。

4)具有良好的伸缩性。

BACnet标准没有限制BACnet系统中设备节点的数量,BACnet 集成系统可以由几个设备节点构成一个极小的自控系统,也可以形成一个规模极大的超级大系统。

bbmd工作原理 -回复

bbmd工作原理 -回复

bbmd工作原理-回复BBMD(BACnet Broadcast Management Device)是BACnet(建筑自动控制网络)协议中的一种重要设备,其工作原理对于了解BACnet网络的运作机制至关重要。

本文将以“BBMD工作原理”为主题,一步一步回答。

第一步:了解BACnet协议在探讨BBMD工作原理之前,我们首先需要了解BACnet协议的基本概念。

BACnet是一种用于建筑自动化系统的通信协议,它允许不同类型的设备(如传感器、执行器、控制器等)之间相互通信和协作。

BACnet协议定义了一系列规则和标准,用于设备之间的通信,使得建筑系统能够实现集中监控和控制。

第二步:介绍BBMDBBMD是BACnet网络中的一个重要设备,它的全称是BACnet Broadcast Management Device,中文名为BACnet广播管理设备。

BBMD的作用是管理和处理BACnet网络中的广播消息。

广播消息是一种向BACnet网络中的所有设备发送的消息,这些设备可以是分散在不同区域或建筑物中的。

第三步:BBMD的位置和功能BBMD通常位于一个BACnet网络的边界或重要节点上。

它可以连接不同的子网和建筑系统,并实现跨网络的通信。

BBMD的主要功能有三个:1.接收广播消息:BBMD负责接收来自本地子网的广播消息,并将其传递给其他子网中的设备。

这样,来自不同子网的设备就可以彼此通信和协作,实现整个建筑系统的联动控制。

2.转发广播消息:BBMD可以将接收到的广播消息转发给其他子网中的设备。

它会根据目标设备的网络地址和设备对象标识符(Device Object Identifier)来确定消息的传输路径。

这样,来自一个子网的广播消息可以传递到其他子网中的设备,实现跨网络的通信。

3.处理广播消息:BBMD还可以处理接收到的广播消息,根据特定的规则和策略对其进行过滤、修正或改变。

例如,BBMD可以根据设备的访问控制列表(Access Control List)来决定是否将广播消息传递给特定的设备。

BACnet基本知识,制造商及产品系列

BACnet基本知识,制造商及产品系列

什么是BACnet?BACnet是用于智能建筑的通讯协议,是国际标准化组织(ISO)、美国国家标准协会(ANSI)及美国采暖、制冷与空调工程师学会(ASHRAE)定义的通讯协议。

BACnet针对智能建筑及控制系统的应用所设计的通讯,可用在暖通空调系统(HVAC,包括暖气、通风、空气调节)也可以用在照明控制、门禁系统、火警侦测系统及其相关的设备。

优点在于能降低维护系统所需成本并且安装比一般工业通讯协议更为简易,而且提供有五种业界常用的标准协议,此可防止设备供应商及系统业者的垄断,也因此未来系统扩充性与兼容性大为增加。

BACnet 历史?BACnet通讯协议的发展源起于1987年6年在田纳西州纳什维尔举行的美国冷冻空调协会标准委员会(Standard Project Committee)[2]。

委员会中大家同意将通讯协议的设计分区为各个不同的主题,利用工作小组的方式进行,各工作小组专注在特定的领域,并提供信息给标准委员会,一开始分为三个工作小组,分别是数据型态及属性(Data Type and Attribute)、原始数据格式(Primitive Data Format)及应用服务(Application Services)等三个。

历经约9年研拟与3次的公开意见讨论程序完成订稿。

BACnet在1995年时成为美国国家标准协会及美国冷冻空调协会的建筑自动化控制网络的数据传输协议(ASHRAE/ANSI SSPC 135)标准,在2003年时成为ISO标准ISO 16484-5[3]。

BACnet兼容性测试的方式在2003年成为BSR/ASHRAE标准Standard 135.1。

目前BACnet协议是由ASHRAE的标准委员会(SSPC)135维护。

在BACnet通讯协议问世后,美国Alerton公司就在1996年推出了一系列支持BACnet的HVAC产品,从小型的变风量控制器到操作员的工作站。

后来也有许多厂商开发支持BACnet的产品。

《BACnet协议》课件

《BACnet协议》课件

02 BACnet协议的组成和原理
BACnet协议的组成结构
BACnet对象
定义了建筑物中各种 物理设备的抽象表示 ,如传感器、执行器 等。
服务
提供了对象之间通信 所需的各种操作,如 读取、写入、事件通 知等。
应用层
包含了实现BACnet 协议所需的各种应用 层服务,如APDU( 应用数据单元)的封 装与解析等。
BACnet协议的发展历程
总结词
BACnet协议经历了多个版本的发展,从最初的BACnet 1.0到现在的BACnet 2021。
详细描述
BACnet协议的发展历程可以追溯到1990年代初期,经过多年的发展,BACnet协议不断升级和完善。从最初的 BACnet 1.0版本,到现在的BACnet 2021版本,BACnet协议的功能和性能得到了极大的提升。随着物联网技术 的发展,BACnet协议将继续发挥重要作用,推动建筑物自动化的普及和发展。
详细描述
BACnet协议是一种应用于建筑物自动化的通信协议,旨在实现楼宇自控系统中 的设备之间的数据交换和互操作性。它具有开放性、互操作性和标准化的特点, 使得不同厂商生产的设备能够相互通信,实现信息共享和协同工作。
BACnet协议的应用场景
总结词
BACnet协议广泛应用于楼宇自控系统、 智能建筑、智能家居等领域。
安全性增强
随着网络安全威胁的增加,BACnet协 议将更加注重安全性设计和实施,包 括数据加密、访问控制和安全审计等 方面的技术发展。
BACnet协议的应用前景和趋势
智能建筑集成管理
随着智能建筑的发展,BACnet协议将在建筑集成管理领 域发挥更大的作用,实现楼宇自控、安防监控、能源管理 等多种系统的集成和统一管理。

BACnet协议原理

BACnet协议原理

BACnet协议原理BACnet(Building Automation and Control Networks)是一种用于建筑自动化和控制网络的通信协议。

本文将详细介绍BACnet协议的原理、功能及其在建筑自动化中的应用。

一、BACnet协议概述BACnet协议是一种开放的通信协议,旨在通过各种设备和系统之间的数据交换来实现建筑物自动化与控制管理。

它提供了一种标准化的方式来集成不同的建筑设备和系统,如照明、空调、能源管理等。

BACnet协议基于ISO/OSI模型的应用层,使用标准的网络传输层协议(如TCP/IP或UDP)进行数据传输。

二、BACnet协议的工作原理BACnet协议采用了分布式结构,其中包括多个网络设备和控制器。

这些设备通过网络进行通信,并共享数据以实现对建筑设备的监控和控制。

下面将介绍BACnet协议的几个重要原理:1. 对象模型:BACnet协议使用了一种称为BACnet对象模型的结构,以表示和组织建筑设备和系统的数据。

每个对象都有唯一的标识符和一组属性,用于描述设备的特定方面。

例如,一个空调对象可以有属性表示温度、湿度等。

这种对象模型的使用使得不同设备和系统能够互相理解和交互。

2. 通信机制:BACnet协议使用了不同的通信机制来实现设备之间的数据交换。

其中包括广播、点对点和多播通信。

广播通信用于向整个网络发送数据,点对点通信用于在两个特定设备之间进行通信,而多播通信则用于向一组设备发送数据。

这些通信机制的使用使得BACnet网络可以高效地传输数据。

3. 层级结构:BACnet网络采用了层级结构,其中包括多个网关和子网。

网关用于连接不同的子网,以便实现跨网络的通信。

每个子网可以包含多个设备和控制器,使得建筑自动化系统可以灵活地扩展和管理。

三、BACnet协议的功能BACnet协议提供了丰富的功能,以支持建筑自动化与控制管理的需求。

以下是BACnet协议的一些主要功能:1. 监控和控制:BACnet协议允许对建筑设备进行实时监控和控制。

bacnet协议

bacnet协议

bacnet协议BACnet(建筑自动控制网络)是一个通信协议,用于建筑自动控制系统中的设备之间的数据交换和通信。

它是一种开放的标准协议,最初由美国建筑自动化协会(ASHRAE)于1995年开发,并成为美国国家标准(ANSI / ASHRAE 135-1995)。

BACnet协议的目标是促进建筑设备的互操作性和通信。

BACnet协议采用面向对象的方法,设备以对象的方式进行表示和交互。

每个BACnet设备都有一个唯一的设备标识符(Device ID),用于标识设备在网络中的位置。

设备可以是传感器、执行器、控制器或其他类型的设备。

BACnet协议定义了一组标准对象类型,如输入、输出、变量和日志等。

每个对象都有属性,用于描述对象的特性和状态。

BACnet协议支持多种通信媒介,包括以太网、RS-485、LonWorks和其他串行接口。

设备可以通过这些媒介之一进行通信,并使用BACnet协议进行数据交换。

BACnet协议定义了一组通信服务,包括读取属性、写入属性、订阅属性和报警等。

这些服务允许设备之间进行数据的读取、写入和通知。

BACnet协议还定义了一套通信模型,用于描述设备之间的交互方式。

其中最常见的模型是主从模型,其中一个设备作为主节点,其他设备作为从节点。

主节点可以向从节点发送命令,并接收从节点的响应。

这种通信模型允许设备之间进行数据的传递和控制。

BACnet协议还支持安全通信,以保证通信的机密性和完整性。

通过使用加密技术和数字签名,设备可以确保通信过程中数据的安全性。

此外,BACnet协议还提供了一套权限管理机制,用于控制设备之间的访问和操作。

BACnet协议在建筑自动控制系统中得到了广泛应用。

它可以与各种设备和系统集成,包括暖通空调系统、照明系统、安全系统和能源管理系统等。

通过使用BACnet协议,建筑自动控制系统的设备可以相互通信和协调工作,实现对建筑的智能化控制和管理。

总之,BACnet协议是一个用于建筑自动控制系统的通信协议。

BACnet协议

BACnet协议

BACnet是用于智能建筑的通信协议,是国际标准化组织(ISO)、美国国家标准协会(ANSI)及美国采暖、制冷与空调工程师学会(ASHRAE)定义的通信协议。

BACnet针对智能建筑及控制系统的应用所设计的通信,可用在暖通空调系统(HVAC,包括暖气、通风、空气调节)也可以用在照明控制、门禁系统、火警侦测系统及其相关的设备。

优点在于能降低维护系统所需成本并且安装比一般工业通信协议更为简易,而且提供有五种业界常用的标准协议,此可防止设备供应商及系统业者的垄断,也因此未来系统扩充性与兼容性大为增加[1]。

BACnet为Building Automation and Control networks 的简称,台湾通常翻译为“建筑自动化控制网路通讯协定”[5][6],而中国大陆则译为“楼宇自动化与控制网络”[7]。

协议简介[编辑]BACnet通信协议中定义了几种不同的数据链结层/物理层,包括:1.ARCNET(ARCNET)。

2.以太网。

3.BACnet/IP。

4.RS-232上的点对点通信(Point-to-point_(telecommunications))。

5.RS-485上的主站-从站/令牌传递(Master-Slave/Token-Passing,简称MS/TP)通信。

6.LonTalk(LonTalk)BACnet通信协议中定义了许多服务(service),可供各设备之间的通信,服务可以分为五类:有关设备对象管理的服务包括Who-Is、I-Am、Who-Has及I-Have等服务,有关对象访问的服务包括读取属性、写入属性等服务,有关报警与事件的服务包括确认报警、属性改变(change of state)报告等,此外也有有关文件读写及虚拟终端的服务[8]。

BACnet通信协议也定义了许多种类的对象。

金每个对象中都有许多属性,可以通过服务来访问对象中的属性。

BACnet通信中的设备就是由许多对象组成,其中包括一个设备对象,是每个设备都必需的,其中记录设备相关的数据,其他对象包括模拟输入、模拟输出、模拟值、数字输入、数字输出及数字值等有关数据的对象。

bacnet协议

bacnet协议

bacnet协议BACnet协议。

BACnet(Building Automation and Control Networks)是一种用于建筑自动化和控制网络的通信协议,它是一种开放的、通用的协议,被广泛应用于建筑系统中,包括供暖、通风、空调、照明和安全等方面。

BACnet协议的出现,使得不同厂家生产的设备可以实现互联互通,为建筑系统的集成提供了可能。

BACnet协议的特点之一是其开放性和通用性。

它是一种开放的协议,任何厂家都可以基于BACnet协议开发符合标准的设备和系统。

这种开放性使得用户可以更加灵活地选择设备和系统,而不用受限于某一特定厂家的产品。

同时,BACnet 协议的通用性也使得不同类型的设备可以通过统一的协议进行通信,实现数据的共享和交互,从而提高了建筑系统的整体效率。

另一个重要特点是BACnet协议的灵活性和可扩展性。

建筑系统的需求经常会发生变化,新的设备和功能需要不断地被集成进来。

BACnet协议可以满足这种需求,它支持多种不同的通信方式和网络拓扑结构,可以适应不同规模和复杂度的建筑系统。

同时,BACnet协议也支持多种不同的数据类型和对象类型,可以灵活地扩展和定制,以满足特定的应用需求。

此外,BACnet协议还具有高效性和可靠性。

建筑系统对于数据的实时性和稳定性要求较高,BACnet协议采用了一系列的通信机制和协议规范,以确保数据的及时传输和可靠交换。

同时,BACnet协议还支持数据的优先级和访问控制,可以保障重要数据的安全和可靠性。

总的来说,BACnet协议作为建筑自动化和控制网络的通信标准,具有开放、通用、灵活、可扩展、高效和可靠等特点,为建筑系统的集成和管理提供了重要的技术支持。

随着智能建筑和物联网技术的发展,BACnet协议将会发挥越来越重要的作用,促进建筑系统的智能化和互联互通,为用户提供更加舒适、安全、高效的建筑环境。

BACnet 技术

BACnet 技术

BACnet 技术BACnet确立了不必考虑生产厂家、各种兼容系统在不依赖任何专用芯片组的情况下,相互开放通讯的基本规则。

BACnet标准是楼宇自动控制领域中第一个开放性的组织标准,不属于某个公司专有,任何公司或个人均可以参加该标准的讨论和修改工作,且对该标准的开发和使用没有任何权税限制。

目前,BACnet 已成为国际上智能建筑发展的方向和主流通信协议,是一项极具开拓性的技术,它使不同厂商生产的设备与系统在互连和互操作的基础上实现无缝集成成为可能。

充分体现了楼宇自控领域的先进技术,并代表了该领域发展的最新方向。

简单地说,BACnet标准是一种用于楼宇自控领域的现场总线标准。

与目前所有的现场总线标准一样,BACnet标准有其产生的背景和高效率的应用场所。

BACnet标准产生于楼宇自控领域,其目的是使所有楼宇自控设备互联和信息共享,最终实现互动和互操作。

从BACnet标准产生的背景来看,BACnet标准在楼宇自控领域具有最高应用效率。

BACnet标准具有先进的体系结构。

从理论上讲,BACnet标准可以与所有的通信网络进行无缝集成。

例如:BACnet/lP标准可以与Internet直接集成,这种集成无需要中间设备或系统,这是目前其他所有现场总线标准所无法比拟的。

这也说明BACnet标准符合通信网络的发展趋势。

BACnet技术特点:表1 BACnet与OSI结构层次对应表BACnet 采用了面向对象的技术,它定义了一组具有属性的对象(Object)来表示任意的楼宇自控设备的功能,从而提供了一种标准的表示楼宇自控设备的方式。

同时BACnet定义了四种服务原语来传递某些特定的服务参数。

目前BACnet 共定义了18个对象,123个属性和35个服务。

由于一个楼宇自控系统中并不是所有的设备都要有必要支持BACnet所有的功能,BACnet协议还定义了6个性能级别和13个功能组。

BACnet协议优点:BACnet是一个完全开放性的楼宇自控网协议,其开放性表现在:●独立于任何制造商,不需要专门芯片,并得到众多制造商的支持;●有完善和良好的数据表示和交换方法;●按标准制造的产品有严格的性能等级和完整的说明;●产品有良好的互操作性,有利于系统的扩展和集成。

BA系统通讯协议:BACnet

BA系统通讯协议:BACnet
--对特性数据的数值范围的限制
●所支持的数据联接层的选项
●是否支持分段请求
●是否支持分段响应
因此,对于生产厂商来说,生产符合BACnet标准的设备要做以下4个方面的工作:
1.以BACnet对象的形式,编写代表设备功能的程序;
2.编写生产和解释BACnet通讯信息(服务)的代码;
3.为设备选择适宜的网络技术;
●虚拟终端服务-建立与另一个BACnet设备的应用程序服务器的联系,目的在于交换数据。
"功能组"是应用服务和标准对象类型的组合体,用于支持某一楼宇自控功能的通讯要求,BACnet规定了13个功能组:
●时钟
●手持工作站
●PC工作站
●事件初始化
●事件应答
●COV事件初始化
●COV事件应答
●文件
●重新初始化
四.BACnet的具体规定
ISO模型中的应用层是用来规定一种步骤,似的软件应用可以访问下层的网络服务BACnet标准在应用层的具体规定体现在下述3方面内容:
●BACnet的对象(Objects)
●BACnet的服务(Services)
●BACnet的功能组(Functional Groups)"对象"是用来规定一种数据结构,这个结构既有数据的存储,也包括在这个对象内处理和记录数据的一系列过程。BACnet具有以下13类对象:
为了达到这个目的,BACnet标准的制定者采用了与LonTalk协议不同的思路和实现途径:统一和灵活兼顾。LonTalk协议对ISO/OSI模型的全部七层都做了规定,而BACnet标准仅对ISO/OSI模型中,BAS系统应用最多的四层做了规定,即物理连接层、数据联接层、网络层和应用层。对中间的4、5、6层未作规定,从而保证了协议的灵活性。各楼宇自动化厂商在不破坏标准基本结构的前提下可增加其专有功能。例如,BACnet在以下方面未做具体规定:

变频空调各厂家的通讯协议

变频空调各厂家的通讯协议

变频空调各厂家的通讯协议变频空调是指通过改变制冷剂循环中压缩机的转速来调节制冷剂的流量,从而实现对空调的制冷、制热效果的调节。

在当今的智能家居系统中,变频空调的通讯协议与其他设备的互联非常重要。

下面将介绍几个主要厂家的变频空调通讯协议。

1.大金(Daikin)变频空调的通讯协议:大金的变频空调通讯协议采用了MODBUS协议,可以通过RS-485总线通讯方式与其他设备进行数据的传输和共享。

该通讯协议具有高速、高可靠性、多节点连接等特点,可以实现变频空调与智能家居系统的联动控制。

2.格力(Gree)变频空调的通讯协议:格力的变频空调通讯协议采用了自主研发的通讯协议,称为格力宽口通讯协议。

该协议支持RS-485总线通讯方式,通过MODBUS编码格式进行数据传输。

格力宽口通讯协议具有较高的兼容性和稳定性,能够实现变频空调与智能家居系统的实时监控和控制。

3.美的(Midea)变频空调的通讯协议:美的的变频空调通讯协议采用了美的云云联网协议。

该协议基于TCP/IP通讯协议,通过有线或无线网络连接变频空调与智能家居系统。

美的云云联网协议具有高度的互联性和可扩展性,可以实现变频空调与其他智能设备的联动控制和云端监控。

4.西门子(Siemens)变频空调的通讯协议:西门子的变频空调通讯协议采用了标准的BACnet协议。

BACnet是一种通用的建筑自动化和控制网络通讯协议,支持多种通讯介质和传输速率,具有较高的兼容性和可靠性。

通过BACnet协议,西门子变频空调可以与其他BACnet兼容的设备实现数据共享和互操作。

除了上述几个主要厂家的变频空调通讯协议外,还有一些其他厂家的通讯协议也值得一提。

例如,海尔(Haier)的变频空调通讯协议采用了海尔SMOD协议,松下(Panasonic)的变频空调通讯协议采用了LonWorks协议,志高(Chigo)的变频空调通讯协议采用了志高C-Bus协议等。

总体来说,不同厂家的变频空调通讯协议多种多样,有的采用国际通用的协议,有的采用自主研发的协议。

BACnet协议解析楼宇自动化与控制网络的通信协议详解

BACnet协议解析楼宇自动化与控制网络的通信协议详解

BACnet协议解析楼宇自动化与控制网络的通信协议详解楼宇自动化与控制网络在现代建筑中扮演着重要的角色。

为了实现楼宇设备之间的互联和数据交换,人们使用了各种通信协议。

其中,BACnet协议作为一种通用的开放式标准,被广泛应用于楼宇自动化系统中。

本文将对BACnet协议进行详细解析,介绍其在楼宇自动化与控制网络中的作用和特点。

一、BACnet协议概述BACnet(Building Automation and Control Networks)是楼宇自动化与控制网络的通信协议,由美国国家标准协会(ANSI)制定。

它为楼宇设备提供了一个统一的通信接口,实现了设备之间的互联和数据交换。

BACnet协议支持多种通信介质,如以太网、RS-485等,可以灵活适配各种网络环境和设备类型。

二、BACnet协议结构BACnet协议采用分层结构,共分为两个主要层级:物理层和应用层。

物理层负责传输数据,而应用层定义了通信协议的规则和数据格式。

1. 物理层BACnet协议支持多种物理层介质,包括以太网、RS-485等。

不同的物理层介质使用不同的传输速率和编码方式,以满足不同的通信需求。

物理层的选择要根据具体的楼宇自动化系统和设备来确定。

2. 应用层BACnet协议的应用层定义了通信协议的规则和数据格式。

它包括了对象模型、通信服务和网络管理等方面的内容。

- 对象模型:BACnet协议使用对象模型来表示楼宇设备和系统中的各种对象,如传感器、执行器、控制器等。

每个对象都具有一组属性,可以通过读写这些属性来实现对对象的控制和监测。

- 通信服务:BACnet协议定义了一系列的通信服务,包括数据读写、报警通知、事件订阅等。

这些通信服务提供了实时的数据交换和设备之间的相互作用。

- 网络管理:BACnet协议支持网络发现、设备配置和故障诊断等网络管理功能。

通过这些功能,用户可以方便地管理和维护整个楼宇自动化系统。

三、BACnet协议特点BACnet协议具有以下几个特点,使其在楼宇自动化与控制网络中得到广泛应用。

BACnet MSTP 协议

BACnet MSTP 协议

BACnet MS/TP 协议即主-从/令牌数据链路协议,为现场控制总线提供可靠、实时数据传输服务其物理层采用RS-485。

其中‘MS’的含义:MASTER/SLAVE (主/从)‘TP’的含义:TOKEN PASSING(令牌传递)BACnet MS/TP是建立在主从通讯基础上的无主从通讯,令牌传递为关键对BACnet MS/TP的分析主要针对链路层BACnet MS/TP是建立在主从通讯基础上的是因为:如果只观察BACnet MS/TP的一个通讯片段,它确实是主从通讯。

这也是BACnet MS/TP中‘MS’的含义:(MASTER/SLAVE)。

但观察全部通讯过程,会发现它是无主从通讯,其中的关键就是另外两个字母‘TP’的含义:TOKEN PASSING(令牌传递)。

通俗的说,就是大家轮流做主,令牌传到谁的手里,谁就做主,没有令牌的做从。

图1是BACnet MS/TP的通讯过程:图1是一个典型的通讯过程,在实际应用中,可能会跳过一些步骤,比如下图3(Airtek品牌小型DDC控制器架构):令牌传到控制器3,它没有什么命令要发,就直接把令牌传个下一个控制器。

或者:控制器3命令控制器4,是一个无需应答的命令,控制器4没有应答,控制器3接着命令控制器1。

得到令牌的控制器会发什么样的命令,取决于网络层和应用层的服务需求。

如何处理令牌丢失如果一切正常,令牌会一圈又一圈轮流传递。

但是意外总会发生的,例如:得到令牌的控制器发生故障了,这时网上一片寂静,但是每台控制器都默默地计算着寂静时间,一旦寂静时间超过了BACnet的规定,会有一台控制器抢先产生令牌,然后继续令牌传递的过程。

这就是BACnet MS/TP对令牌丢失的解决办法。

另外,控制器在传出令牌后会监视其他控制器对令牌的使用情况,如果得到令牌的控制器一直没动静,会被自动从令牌环中剔除。

即插即用在令牌传递过程中,会有控制器在得到令牌时对本网段的空余位置发出查询命令,如果得到正确应答,说明有新的控制器申请加入令牌环,就把令牌传递给新的控制器,使其自动加入到令牌环中。

楼宇自控系统通信协议

楼宇自控系统通信协议

目前,在智能建筑领域,现场总线和通信协议主要有:(1)最初应用于工业控制领域的总线协议,如具有代表性的Profibus总线、Lonworks总线、CAN总线等;(2)专门针对智能建筑的总线和通信协议,如美国的BACnet和CEBus、欧洲的EIB等。

本文就其中的BACnet作详细介绍。

目前,国际上采用较多的是BACnet和LonMark。

Johnson通讯协议1、LonMark2、N2OpenHoneywell通讯协议1、LonMark2、C-BUSSiemens通讯协议OPLC是一种集可编程控制器、操作面板、I/O功能于一体,通讯功能强大的微型PLC。

这里主要介绍 OPC 技术。

所谓 OPC 技术是指用于过程控制的对象链接与嵌入技术 ,或者简单地说它是一种数据交换与融合的软件技术 ,也是一种目前在国际上比较流行的软件集成技术。

从接口角度出发 , OPC 是一种设备服务器的标准接口, 能够提供即插即用的软、硬件组合。

OPC服务器提供的现场设备与应用软件之间的接口。

O DBC(Open Database Connectivity) 是"开放数据库互连"的简称,是一种使用SQL的应用程序接口(API),是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。

这些API利用SQL来完成其大部分任务。

ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。

也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。

由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库,用它生成的程序与数据库或数据库引擎是无关的。

BACnet_IP通信协议解析

BACnet_IP通信协议解析

加入传输层则可以利用端口机制进而扩展。选用 UDP
而不是 TCP 协议,主要因为 TCP 协议不能实现“一对
多”的广播,而且BACnet的应用层提供了可靠传输机
制并提供了报文分段功能,这些都同 TCP 协议类似。
如果在 BACnet/IP 中使用TCP 协议,就在同一体系结
构中同时存在两套互相独立的确认机制,这还会使得
1 字节 1 字节 2 字节 1 字节 可变字节 2 字节 1 字节 1 字节 1 字节 1 字节 2 字节
APDU 由协议控制信息(PCI)和用户数据两部分
组成。APCI 包含进行应用层协议操作所需的数据,
“用户数据”包含请求和响应的具体信息。
一个BACnet/IP协议应用报文从产生到发送到网
络上进行传输的过程可以用图 2表示。
4 PAD-BACnet/IP 网关模型
BACnet与Internet的两种互联技术:PAD技术和 BACnet/IP技术,这两种技术各有优缺点。前者是一 种异构网络互联技术,应用比较普遍,后者可以是 实现BACnet与Internet的无缝联接,具有良好的扩
NPCI BVLL 头部 U D P 头部 IP 头部 M A C 地址
【摘 要】 BACnet 是开放的楼宇设备自 动控制网络数据通信协议。 随着Internet在通信领域的发 展,控制网络与Internet的互 联已是必然趋势。本文介绍 了 BACnet 的一种互联网扩展 协议 BACnet/IP,提出一种网 关模型,实现Internet上PAD设 备与 BACnet/IP设备的互联。
ARCNET
EIA-485 (RS485)
EIA-232 (RS232)
LonTalk U D P IP

Bacnetip协议浅析

Bacnetip协议浅析

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

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

第一种选择是ISO 8802-2类型1定义的逻辑链路控制(LLC)协议,加上ISO 8802-3介质访问控制(MAC)协议和物理层协议。

ISO 8802-2类型1提供了无连接(Connectionless)不确认(Unacknowledged)的服务,ISO 8802-3则是著名的以太网协议的国际标准。

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

第三种选择是主从/令牌传递(MS/TP)协议加上EIA-485协议。

MS/TP协议是专门针对楼宇自动控制设备设计的,同ISO 8802-2类型1一样,它通过控制EIA-485的物理层,向网络层提供接口。

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

第五种选择是LonTalk协议。

这些选择都支持主/从MAC、确定性令牌传递MAC、高速争用MAC以及拨号访问。

拓扑结构上,支持星型和总线型拓扑。

物理介质上,支持双绞线、同轴电缆、光缆。

2 BACnet 应用层服务类型从对象到对象的属性,然后再到应用层服务,BACnet标准定义了在BACnet设备之间进行通信的所有元素。

BACnet定义了18个对象,描述楼宇自控系统中所涉及的与控制和通信相关的事物。

通过定义123个属性和35个服务,提供了BACnet设备之间通信所要交换的信息和获取信息的方法。

BACnet 应用层服务主要分以下6 个方面,每个方面由具体的服务组成。

2.1 ALARM AND EVENT SERVICES(报警与事件服务)AcknowledgeAlarm Service(确认报警服务)ConfirmedCOVNotification Service(证实COV报告服务)UnconfirmedCOVNotification Service(非证实COV报告服务)ConfirmedEventNotification Service(证实事件通告服务)UnconfirmedEventNotification Service(非证实事件通告服务)GetAlarmSummary Service(获得报警摘要服务)GetEnrollmentSummary Service(获得事件登陆服务)GetEventInformation Service(获得事件信息服务)LifeSafetyOperation Service(生命安全操作服务)SubscribeCOV Service(预定COV服务)SubscribeCOVProperty Service(预定COV属性服务)2.2 FILE ACCESS SERVICES(文件访问服务)AtomicReadFile Service(原子读文件服务)AtomicWriteFile Service(原子写文件服务)2.3 OBJECT ACCESS SERVICES(对象访问服务)AddListElement Service(增加列表元素服务)RemoveListElement Service(删除列表元素服务)CreateObject Service(生成对象服务)DeleteObject Service(删除对象服务)ReadProperty Service(读属性服务)ReadPropertyConditional Service(条件读属性服务)ReadPropertyMultiple Service(读多个属性服务)ReadRange Service(读范围服务)WriteProperty Service(写属性服务)WritePropertyMultiple Service(写多个属性服务)2.4 REMOTE DEVICE MANAGEMENT SERVICES(远程设备管理服务)DeviceCommunicationControl Service(设备通信控制服务)ConfirmedPrivateTransfer Service(证实专用传输服务)UnconfirmedPrivateTransfer Service(非证实专用传输服务)ReinitializeDevice Service(重新初始化设备服务)ConfirmedTextMessage Service(证实文本报文服务)UnconfirmedTextMessage Service(非证实文本报文服务)TimeSynchronization Service(时间同步服务)UTCTimeSynchronization Service(UTC时间同步服务)Who-Has and I-Have Services(“谁有”和“我有”服务)Who-Is and I-Am Services(“谁是”和“我是”服务)2.5VIRTUAL TERMINAL SERVICES(虚拟终端服务)VT-Open Service(打开虚拟终端服务)VT-Close Service(关闭虚拟终端服务)VT-Data Service(虚拟终端数据服务)2.6 NETWORK SECURITY(网络安全)RequestKey Service(请求会话密钥服务)Authenticate Service(鉴别服务)3 BACNet/IP协议3.1 BACNet/IP网络在BACnet/IP 技术下,选择了无连接服务的协议,即UDP协议来实现IP 网络上的BACnet 信息传输。

BACNET协议详细分析(二)

BACNET协议详细分析(二)

BACNET协议详细分析(⼆)
随着楼宇智能技术的推⼴,适⽤于楼宇的现场总线和协议技术逐渐成熟,就楼宇通讯协议⽽⾔,LONTALK和BACNET协议应⽤相对较多。

LONTALK主要由LONWORKS公司推动,协议的通信媒介不由限制,光纤、红外、铜线都可以,应⽤LONTALK协议的⼤公司除LONWORKS外,特灵空调也有应⽤。

BACNET协议是由美国空调⼯程师协会发布的开放式协议,⽀持该协议的公司⽐较多,有⼤⾦空调等等,近年BACNET协议已成为国内通信标准的⼀种,因此国内应⽤该协议的公司亦开始增多。

BACNET协议主要分两种,就是BACNET/IP和BACNET/MSTP。

BACNET/IP针对的是⾼速⽹络,作为TCP/IP协议簇的第7层应⽤协议⽽存在,使⽤UDP⽽⾮TCP作为载体;BACNET/MSTP主要⽤于现场通信⽹络,针对的是低速环境,典型的通信媒介是双绞线。

⽬前⽹上关于BACNET的中⽂资料不多,能找到的基本是论⽂,对BACNET协议的了解帮助不⼤,本⽂这个系列是针对BACNET/IP协议的详细分析,希望能给⼴⼤苦逼程序员⼀点帮助。

如果⼤家希望对BACNET协议有更加深⼊的了解,我建议⼤家上⽹找2001年版的BACNET 协议官⽅说明书,英⽂的。

不要看中⽂的译稿,因为中⽂的译稿中最为重要的章节都被删掉了。

BACnet一楼字自控系统的数据通讯协议-V

BACnet一楼字自控系统的数据通讯协议-V

BACnet一楼字自控系统的数据通讯协议陈德水建设部建筑智能化系统工程设计专家工作委员会本文由建设部建筑智能化系统工程设计专家工作委员会提供一、BACnet简要历史智能建筑贵在集成,要集成就需要相关的机电设备和子系统具有开放性和互操作性。

也就是说,这些设备和系统的数据通讯必须按同一标准协议。

1987年1月ASHRAE(美国供热、制冷及空调工程师协会)组织了,由来自世界各地的20名楼字控制工业各部门,包括大学、控制器制造商、政府机构与咨询公司的志愿者组成了一个名为"SPC135P"的工作组。

工作组的目标是制定一个,关于楼字能量管理与控制系统(EMCS)的通讯协议。

在长达8年多制定过程中,共收到来自12个国家741份的意见,经过3次公开评审,最后于1995年6月BACnet协议获得通过,成为ASHRAEI35一90标准。

并于同年12月升为美国国家标准。

并且得到了欧共体标准委员会的认可,成为欧共体标准草案。

二、主要内容 BACnet是楼宇自动控制系统的数据通讯协议,它由一系列与软件及硬件相关的通讯协议组成,规定了计算机控制器之间所有对话方式。

协议包括下列内容:(1)所选通讯介质使用的电子信号特性,如何识别计算机网址,判断计算机何时使用网络及如何使用。

(2)误码检验,数据压缩和编码以及各计算机专门的信息格式。

显然,由于有多种方法可以解决上述问题,但两种不同的通讯模式选择同一种协议的可能性极少,因此,就需要一种标准,那就是由ISO(国际标准化组织)于80年代着手解决,制定了《开放式系统互联(OSI)基本参考模式(Open System Interconnection/Basic Reference Model简称OSI/RM) ISO一7498》 OSI/RM是1SO/OSI标准中最重要的一个,它为其它OSI标准的相容性提供了共同的参考,为研究、设计、实现和改造信息处理系统提供了功能上和概念上的框架。

BACnet报文分析

BACnet报文分析

服务 用 户

皿赋: a 呼 嗣E I r v _ in di ca ti o

2 服 务原语 分析
竖毒 蹙 表示  ̄. C n e t 用 户单 元 和  ̄C n e t A s E 之 衙 的接 口 界面 # n o — i s
图2服务框架 图
3 总结
图1
B AC n e t 协议 里面定义3 5 个服务原语类 型,每一种 类型 的选 择都有 明确的编码 规则 ,从上述 简单 的一个非证 实服务 ,可知道 里面 的选择 性 很多 , 比如B V L L 协议 的功 能、不 是本地 广播 都会相 应的 改变数 据
【 关键词 】 B A C n e t 协议 ;报文分析;编码
局广播, “ 0 0 ”表 示 目的地址 的长 度为 0 ,还 有 一 个 “ F F ”是Ho p
1 序言
B AC n e t 的报 文其 实就 是 一串数 字 ,我们 可 以借助 V T S 软件 对 主 流 的 应用 服 务进 行 分 析 。而 要全 面 搞 懂报 文 , 必须 深 入 了解 B A C .
定 义一 个微 协议 层 ,称 为虚 拟链 路 数据 层 , “ B V L L“ , 位 于 网络层
和i p 协 议层 之 间,作 用是 进行 B A C n e t 广播 管理 ,并提供 向其他 通信 协议 扩 展 的扩展 机 制 ,这种 扩 展方 式利 用i p 用 户 数据 包 ( U D P )进 行B A C n e t 信 息传 输 ,U DP 是 无连 接 服 务 ,优 点 是 灵活 方 便 和 比较
C o u n t ( 转 发 计数 ) 表 示用 于 记录 报 文 经过 B A C n e t 路 由器 的次 数 , 因 为 它是 一 个本 地 广播 的报 文 ,如果 D NE T 存 在 , 则此 域必 须 存在 , 且初 始化 为X”F F ”。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、概述.系统实现基于BACnet/IP (又称B/IP )网络进行通讯。

BACnet 虚拟链路层(BVLL 提 供了 BACnet 网络层和某指定的通讯子系统的接口,本文指定了 BACnet 虚拟链路控制(BVLC 要求支持的定向和广播信息。

本实现关于 BACnet 协议定义主要可分为三层:B/IP 网络虚 拟层,BACnet 网络层和BACnet 应用层。

B/IP 提供了 TCP/IP 一样的通讯结构,采用UDP 的 通讯方式。

本文接下来将对此三层结构进行详细的讲解。

其文本协议的大致格式如下:NPDU BACnet 网络层数据结构,下文进行详细的讲解APDU BACnet 应用层数据结构,下文进行详细的讲解2、BACnet/IP.BVLC Type 0x81,代表 BACnet/IP 网络BVLC Function : 指定报文的类型,何种作用;本应用使用的报文类型分为两种:0A:点对点通讯0B:广播通信指定报文的长度,包括 BVLC Type BVLC Function 以及本身在内 BACnet 通讯Length :NPDU 根据不同情况,报文长短不同,见下文的解析APDU 根据NPDI不同以及不同的请求,报文不同,见下文的解析3、BACnet NPDU吉构.版本信息:默认:BIT7: 1 表示 Message Type 存在,为 0 时 Message Type 不存在BIT6 :保留,为 0BIT5 : 1 表示DNET DLEN Hop Coun 存在,当DLEN 为0时表明广播网络DADRf 存在;0 表示 DNET DLEN DADR Hop Coun 不存在BIT4 :保留,为 0BIT3 : 1 表示SNET SLEF 存在,当SLEN 为0时表明无效SADR 不存在;0 表示 SNET SLEN SADR Hop Coun 不存在BIT2 : 1表示为一个需确认的请求数据单元,一复杂 ACK 数据单元或一网络信息非 reply 的; 0表示除去上述情形的数据单元BIT1 、0:网络优先级11 = Life Safety message10 = Critical Equipment message01 = Urgent message00 = Normal messageFFFF 的时候表示广播目标长度: 表示DADR 勺长度控制字 目标网络号:目标地址:目标网络MAC地址原网络号:同目标网络号原网络长度:表示SADR勺长度原地址:原网络的MAC地址路由数目:数据需要经过的路由个数,当不存在DNET勺时候,需设置为FFX'00': Who-Is-Router-To-Network消息类型:X'01': I-Am-Router-To-NetworkX'02': I-Could-Be-Router-To-NetworkX'03': Reject-Message-To-NetworkX'04': Router-Busy-To-NetworkX'05': Router-Available-To-NetworkX'06': Initialize-Routing-TableX'07': Initialize-Routing-Table-AckX'08': Establish-Connection-To-NetworkX'09': Disconnect-Connection-To-NetworkX'0A' to X'7F': Reserved for use by ASHRAEX'80' to X'FF': Available for vendor proprietary messages卖方ID:当控制字的BIT7 为1 并且消息类型为X'80' to X'FF': 的时候,才会存在本次开发没有用到,不再解释本次应用中控制字只用到0x20 和0x04 两种,前者为广播查询设备,后者微点对对取设备数据或属性。

4、BACnet APDU吉构:(应用层协议数据单元)BAC net网络层数据主要分为一下几种:BACnetPDU ::= CHOICE{confirmed-request-PDU [0] BACnet-Confirmed-Request-PDU,unconfirmed-request-PDU [1] BACnet-Unconfirmed-Request-PDU,simpleACK-PDU [2] BACnet-SimpleACK-PDU,complexACK-PDU [3] BACnet-ComplexACK-PDU,segmentAck-PDU [4] BACnet-SegmentACK-PDU,error-PDU [5] BACnet-Error-PDU,reject-PDU [6] BACnet-Reject-PDU,abort-PDU [7] BACnet-Abort-PDU对于本次应用,主要用到了BACnet-Confirmed-Request-PDU (需确认的请求协议数据单元)BACnet-Unconfirmed-Request-PDU (无需确认的请求协议数据单元)BACnet-ComplexACK-PDU复杂的ACK命令)BACnet-Error-PDU (报错的协议数据单元)对于上述几种数据的分类主要根据pdu type (下文进行讲解)进行判定。

4.1. BACnet-Confirmed-Request-PDU 的结构:BACnet-Confirmed-Request-PDU ::= SEQUENCE{pdu-type [0] Unsigned (0..15), -- 0 for this PDU typesegmented-message [1] BOOLEAN,more-follows [2] BOOLEAN,segmented-response-accepted [3] BOOLEAN,reserved [4] Unsigned (0..3), -- must be set to zeromax-segments-accepted[5] Unsigned (0..7), -- as per 20.1.2.4max-APDU-le ngth-accepted [6] Un sig ned (0..15), -- as per 20.125inv okelD [7] Un sig ned (0..255),seque nce-nu mber [8] Un sig ned (0..255) OPTIONAL, -- only if segme nted msgproposed-w in dow-size [9] Un sig ned (1..127) OPTIONAL, -- on ly ifsegme nted msgservice-choice [10] BAC netC on firmedServiceChoice,service-request [11] BAC net-Co nfirmed-Service-Request OPTIONALSeque nee Number( only prese nt by SEG==1)Proposed Win dow Size(o nly prese nt by SEG==1)Service ChioceService RequestSEG 指出当前的数据单元是否为完整的还是为一部分分段信息PDU Type 0 (BAC net-C on firmed-Service-Request-PDU)SEG 0(Un segme nted Request)1(Segme nted Request)MOR 0(No More Segme nts Follow)1(More Segme nts Follow)SA 0(Segme nted Resp onse not accepted)1(Segme nted Resp onse accepted)Max Segs (0. .7) (Number of response segments accepted20.124)Max Resp (0. .15) (Size of Maximum APDU accepted per 20.1.2.5)Invoke ID (0..255)per Seque nee Number (0..255) Only prese nt if SEG = 1Proposed Window Size (1..127) Only prese nt if SEG = 1Service Choice BAC netC on firmedServiceChoiceService Request Variable En cod ingMOR指出是否还有更多的分段信息SA:为1 时指出将收到一个复杂的回应( complex ack )Max Segs :指出设备将要接收到多少分段信息B'000' Unspecified number of segments accepted.B'001' 2 segments accepted.B'010' 4 segments accepted.B'011' 8 segments accepted.B'100' 16 segments accepted.B'101' 32 segments accepted.B'110' 64 segments accepted.B'111' Greater than 64 segments accepted.Max Resp:指出将收到的(APDU最大长度B'0000' Up to MinimumMessageSize (50 octets)B'0001' Up to 128 octetsB'0010' Up to 206 octets (fits in a LonTalk frame)B'0011' Up to 480 octets (fits in an ARCNET frame)B'0100' Up to 1024 octetsB'0101' Up to 1476 octets (fits in an ISO 8802-3 frame)Invoke ID :调用者IDService Chioce :此处表明次报文的作用,详见BACnetConfirmedServiceChoice Service Request :根据BACnetConfirmedServiceChoice 不同而结构不同,详见BACnet-Confirmed-Service-Request BACnetConfirmedServiceChoice ::= 枚举类型{-- Alarm and Event ServicesacknowledgeAlarm (0),confirmedCOVNotification (1),confirmedEventNotification (2),getAlarmSummary (3),getEnrollmentSummary (4),getEventInformation (29),subscribeCOV (5),subscribeCOVProperty (28),lifeSafetyOperation (27), -- File Access ServicesatomicReadFile (6),atomicWriteFile (7),-- Object Access ServicesaddListElement (8),removeListElement (9),createObject (10),deleteObject (11),readProperty (12),readPropertyConditional (13), readPropertyMultiple (14), readRange (26),writeProperty (15),writePropertyMultiple (16),0000000000000000000000000000000}上述标记为红色的表示本次应用中所用到的,所以只对这些进行讲解。

相关文档
最新文档