ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:89.19KB ,
资源ID:11332880      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11332880.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(教材BACnet.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

教材BACnet.docx

1、教材BACnet323 楼宇自控网络协议BACnetBACnet是Building Automation and Control Networks 的缩写,它是针对楼宇自控领域的标准,制定这个标准的目的是为了使不同生产商提供的控制设备能够互操作,也使业主不再依赖特定的私有技术。BACnet是暖通空调行业唯一的国际标准。3231 BACnet 的历史BACnet 的研发工作始于1987 年,专门在美国暖通空调和制冷工程师协会(ASHREA)下面成立了BACnet标准设计委员会(SPC135)并在 美国Tennessee省Nashville市召开第一次会议。- 历经8年半的发展;- 由12个国家的

2、81位专家提出了741条建议并进行了3次公众发布;- 1995年6月由美国暖通空调和制冷工程师协会(ASHREA)首次发布,并于当年成为美国国家标准,编号为:ANSI/ASHRAE 135-1995;- 2001年发布更新的标准ANSI/ASHRAE 135-2001;- 2003年1月BACnet成为了建筑行业ISO国际标准,标准号:ISO 16484-5;- BACnet产品适用于 HVAC, 消防, 照明, 安防 等领域;- 可用的产品包括 控制器, 网关, 路由器和诊断工具等;- BACnet在 ASHRAE 的持续资助下得到发展;- 公众或委员会成员可在任何时间提出对协议的改变建议;

3、- 所有的改变必须经过公众讨论和认可;- SSPC 135 (BACnet标准设计委员会 135) 负责与CEN (欧洲), ABOK(俄罗斯)和 IEIEJ(日本)的联系。3222 BACnet 的主要内容BACnet是开放的标准,目前在国内已有中文版本,任何公司或个人都可以获得。该标准并不关注实现手段,因此生产商不依赖特定的开发器、芯片或软件,生产商有绝对的自由选择各具特色的实现方式,例如单片机、单板机+嵌入系统、PC机+桌面系统等等。为了保证有效的互操作,BACnet不仅仅定义了通讯过程,也定义了控制设备内部数据的格式。例如:通过FTP协议,我们可以在本地看到远程电脑上的文件,但是如果我

4、们不知道这些文件的格式,我们仍然无法打开、编辑,如果我们通过一些默认的扩展名知道了哪些是文本,哪些是JPG图片,就可以使用他们了。在BACnet中针对各种数据分别定义了标准对象,每种对象包含一些标准属性,这样一台控制设备可以很容易使用另一台控制设备的资源。从实现的复杂程度而言,BACnet确实是重型协议,但幸运的是,一个特定功能的控制设备不需要实现全部的BACnet。也就是说,对于特定的应用范围,BACnet是可裁剪的。因此,BACnet同样也适合一些低成本的应用,例如:网络型温度传感器,用8位单片机就可以实现了。每台BACnet设备都要提供一份协议实现一致性声明(PICS,Protocol

5、Implementation Conformance Statement)来说明自己实现了哪些内容。BACnet 协议栈网络通讯是一个复杂的过程,人们对复杂问题的处理办法通常是把他们分解为若干简单问题,然后分别处理。基于同样的思路,便提出了一种通用的网络分层结构,并于1983年成为国际标准(ISO 7498),这就是OSI(开放系统互连)模型。该模型将网络通讯协议分解为7层,BACnet通讯协议引用了其中的4层。BACnet 通讯协议分层对等的OSI模型分层应用层应用层网络层网络层ISO 8802-2 1类MS/TPPTPLonTalkBVLLUDP/IP数据链路层ISO 8802-3ARCN

6、ETEIA-485EIA-232物理层上图是BACnet通讯协议的分层结构,这样的结构在每台BACnet设备中都是存在的。其中每一层向上层提供服务,屏蔽本层的处理细节,最终由应用层向BACnet设备中的应用程序提供一组API(应用程序编程接口)。物理层:物理层是为不同设备间数据流传输提供物理通路。BACnet 物理层支持多种通讯介质。其中ISO 8802-3 也是国际标准,就是通常说的以太网,BACnet引用了该标准,通常称为:BACnet Ethernet。在数据链路层协议PTP中已经进行了脱字符处理,所以EIA-232 可以支持本地连接,也可以支持MODEM+电话线路这种远程连接方式。BA

7、Cnet也引用LonTalk协议作为自己的物理层和链路层, LonTalk 协议经Echelon公司修订和补充后 ,作为参考包括在BACnet协议中,想要将BACnet做成包含LonTalk 协议的人,需要获得Echelon 公司的OEM 许可。在 BACnet协议中不支持LonTalk的身份认证。BVLL和UDP/IP是采用成熟的UDP/IP协议加上虚拟链路层作为BACnet的物理层和链路层,适合通过国际互连网通讯,通常称为:BACnet IP。数据链路层:数据链路层的主要工作是维护链路连接,实现无差错传输。BACnet 的数据链路层引用了ISO 8802-2 1类标准(逻辑连接控制),同时

8、还定义了MS/TP和PTP两种新的数据链路层协议。数据链路层将网络层下发的数据打包,计算出校验码,添上合适的链路层数据头,有序地下发到物理层。同时,解析物理层接收到的数据,对数据进行校验,然后上传网络层。BACnet 的数据链路层协议种类较多,相互差别很大,在这里着重介绍数据链路层协议MS/TP。MS/TP是建立在主从通讯基础上的无主通讯方式,因为:如果只观察MS/TP的一个通讯片段,它确实是主从通讯,这也是MS/TP中MS的含义:MASTER/SLAVE。如果观察全部通讯过程,我们会发现它是无主通讯,其中的关键就是另外两个字母TP的含义:TOKEN PASSING(令牌传递)。通俗地说,就是

9、大家轮流做主,令牌传到谁的手里,谁就做主,没有令牌的做从,令牌在这里的含义就是一个标志。下图是MS/TP的通讯过程:上图是一个典型的通讯过程,在实际应用中,可能会跳过一些步骤,例如:令牌传到控制器3,它没有命令要发,就直接把令牌传给下一个控制器。或者:控制器3命令控制器4,是一个无需应答的命令,控制器4没有应答,控制器3接着命令控制器1。得到令牌的控制器会发什么样的命令,取决于网络层和应用层的服务需求。 如果一切正常,令牌会一圈又一圈轮流传递。如果意外发生了,例如:得到令牌的控制器发生故障了,这时网上一片寂静,但是每台控制器都默默地计算着寂静时间,一旦寂静时间超过了BACnet的规定,会有一台

10、低地址控制器抢先产生令牌,然后继续令牌传递的过程。这就是BACnet MS/TP对令牌丢失的解决办法。另外,控制器在传出令牌后会监视其他控制器对令牌的使用情况,如果得到令牌的控制器一直没响应,会被自动从令牌环中剔除。 在令牌传递过程中,会有控制器在得到令牌时对本网段的空余位置发出查询命令,如果得到正确应答,说明有新的控制器申请加入令牌环,就把令牌传递给新的控制器,使其自动加入到令牌环中。因此,新的控制器加入网络, MS/TP会自动识别,无需重新配置。由哪台控制器何时发出查询命令,是由BACnet的算法决定的,这个算法的目的是使查询命令不占用过多的网络时间,并且新控制器可以在一个可接受的时间内被

11、发现。 注意:在以上针对MS/TP的分析中,只考虑了数据链路层的处理过程,忽略了网络层和应用层,在实际通讯过程中,每一次命令和应答都是通过协议栈处理过的。例如:主控制器1命令主控制器2,实际是主控制器1的应用层将命令数据下发到主控制器1的网络层,加上网络层控制信息后再下发到链路层,等到主控制器1的链路层得到令牌后,再把命令通过物理层发送出去。网络层:网络层的作用是屏蔽不同链路层的差异,屏蔽网络拓扑结构,向应用层提供一致的服务。在BACnet网络中,通过网络号和物理地址可以定位一台唯一的BACnet设备。网络层要根据应用层提供的数据(包括网络号和物理地址)寻找合适的路由,将数据打包,下发到数据链

12、路层,同时将数据链路层上传的数据解包,解析出源网络号、源物理地址和数据,然后上传应用层。网络层还有一个重要功能就是路由,如果一台BACnet设备能够同时连接两个网络,并提供路由功能,它必须在网络层支持多种路由服务,例如:Who Is Router To Network(谁是到网络XX的路由)、Initialize Routing Table(初始化路由表)等,这些服务必须在网络层被处理,不能上传到应用层。一台专用的BACnet路由器可以没有应用层。应用层:应用层的主要任务是信息的编码和解码、信息的处理及信息分段,同时提供一组API,使应用程序可以访问其他设备。BACnet在应用层引用了ISO

13、8824 (抽象语法记法)和 ISO 8825(基本编码规则)进行数据包的编码和解码。设备所有执行的服务都在应用层处理。如果应用程序需要访问其他设备,可以调用应用层的API (Application Program Interface),这时应用层根据调用类型和参数发起响应的服务,如果发起的服务需要响应,有两种处理方式,一种是直到得到响应或超时调用才返回,另一种是调用立即返回,得到响应或超时后以回调方式通知应用程序。BACnet服务BACnet服务主要分为以下类型:对象访问服务例子:ReadProperty、WriteProperty、ReadPropertyMultiple、WritePro

14、pertyMultiple、CreateObject、DeleteObject.文件访问服务例子:AtomicReadFile、AtomicWriteFile.报警和事件服务例子:ConfirmedCOVNotification、UnconfirmedCOVNotification、AcknowledgeAlarm、SubscribeCOV.远程设备管理服务例子:Who Is、I am、Who Has、I Have、TimeSynchronization.虚拟终端服务例子:VT Open、VT Close、VT Data.BACnet服务有很多,一种特定功能的设备无需支持全部服务。例如一台网络

15、型风阀执行器只需要支持:ReadProperty、WriteProperty,而一台可编程控制器至少要支持:Who Is、TimeSynchronization、ReadProperty、WriteProperty、CreateObject、DeleteObject、AtomicReadFile、AtomicWriteFile。以下为几种常用的BACnet服务的含义。ReadProperty含义是读对象属性。例如设备A需要知道设备B的温度数据,设备A就会发出ReadProperty命令,在命令中指定设备B的物理地址和网络号、温度点对象的ID、温度点对象的属性(如果想读温度值,属性为:Prese

16、ntValue、如果想读温度单位,属性为:Unit),如果设备B支持ReadProperty服务,并且温度点对象是可读的,它的回答就会包含正确数据。WriteProperty含义是写对象属性。例如设备A需要修改设备B的温度设定点,设备A就会发出WriteProperty命令,在命令中指定设备B的物理地址和网络号、温度设定点对象的ID、温度设定点对象的属性、要设定的新值,如果设备B支持WriteProperty服务,同时这个对象可以被写,它的温度设定点就会被改变,同时返回一个成功通知。ReadPropertyMultiple含义是读多个对象的多个属性。如果设备A需要知道设备B的多个数据,可以发多

17、个ReadProperty命令,但是这样会降低网络效率,因为每条命令由应用层下传到物理层后都会增加许多协议控制信息,如果只发一条ReadPropertyMultiple指令,会提高效率。在命令中要指定设备B的物理地址和网络号、相关对象的ID和相关属性,如果设备B支持ReadPropertyMultiple服务,它的回答就会包含所有数据,如果某个数据不可读,它会被一个错误码代替。SubscribeCOV含义是订阅COV(Change of Value)。例如设备A需要连续了解设备B的某个数据,设备A可以每隔一段时间发ReadProperty命令,这就是常见的查询。这样做的缺点是效率太低,假如查询

18、间隔时间较短,会增加网络负荷,如查询间隔时间较长,会增加数据传输延时。在BACnet网络中,使用COV进行数据交换是常见的方法,这个方法就是设备A先在设备B做一个登记,以后设备B的相关数据发生改变时会主动通知设备A。首先,设备A需要发出SubscribeCOV命令,在命令中指定设备B的物理地址和网络号、关心的对象的ID等,如果设备B支持SubscribeCOV服务,并且关心的对象是可订阅的,设备B会返回一个订阅成功通知。UnconfirmedCOVNotification含义是无需确认的COV(Change of Value)通知。如果设备A在设备B成功的订阅了某个对象,当这个对象的相关属性发

19、生改变时,设备B会向设备A发出UnconfirmedCOVNotification 通知,包含这个对象的相关属性的列表。设备A收到该命令后不需要回答。与之相对,还有一个ConfirmedCOVNotification 通知,这是需要设备A确认的通知,设备A会收到哪种类型的通知取决于订阅时指定的参数。Who Is含义是“谁在?”,这是一个远程设备管理服务。典型情况是由工作站以广播形式发出Who Is 命令,所有在线的、支持该服务的设备将陆续提交一个“I Am” 报告,说明自己的地址、生产商编号等重要参数。在Who Is 命令中也可以指定地址范围,这样只有范围内的设备提交“I Am” 报告。BAC

20、net对象在BACnet协议中,把楼宇自控领域应用的各种具体功能单元抽象为对象。代表性对象有:Analog Input、Analog Output、Analog Value、Binary Input、Binary Output、Binary Value、Calendar、Command、Device、Event Enrollment、File、Group、Life Safety Point、Life Safety Zone、Loop、Multi-state Input、Multi-state Output、Multi-state Value、Notification Class、Program

21、、Schedule、Trend Log。对于一种特定功能的设备,无需支持所有对象。例如网络型温度传感器只需要支持:Device 、Analog Input,而一台可编程控制器至少要支持:Device 、Analog Input、Analog Output、Analog Value、Binary Input、Binary Output、Binary Value、Calendar、Schedule、File、Program。以下就两种常用的BACnet对象简要解释。Device所有设备都要支持Device对象。该对象用于描述这台设备的特性。该对象包含39种标准属性,以下简单介绍其中的几种属性:对象

22、ID号:4个字节的编码。该编码在全部网络上必须是唯一值,不能重复,通常的做法是采用设备物理地址和网络号的某种组合。生产商名称:字符串。例如:ABC公司。生产商编号:正整数。所有BACnet设备生产商都可以从BACnet组织得到这个编号。模块名称:字符串。例如:A100型控制器。执行的服务:位序列。例如:11110100,其中每一位代表一种服务,该位为1表示该设备支持这种服务,为0表示不支持。支持的对象:位序列。例如:11011011,其中每一位代表一种对象,该位为1表示该设备支持这种对象,为0表示不支持。对象列表:队列。为该设备内所有对象的ID的列表。Analog Input含义是模拟量输入。

23、该对象主要用途是描述一个模拟传感器输入值,例如:室内温度、风道湿度。该对象包含27种标准属性,以下简单介绍其中的几种属性:对象ID号: 4个字节的编码。该属性用于区分同一台设备内的各个对象。对象名称: 字符串。例如:1#教室室内温度。当前数值: 浮点数。例如:32.7。单 位: 枚举值。例如:5代表伏特、62代表摄氏度。3223 BACnet 与生产商BACnet自公布以来,受到了楼宇自控生产商的广泛重视,世界著名的生产商都已经加入了BMA(BACnet Manufacturers Association),其产品须经BTL (BACnet Testing Laboratories) 测试,B

24、TL负责将符合标准的产品和厂家在全球范围内发布列表并对其产品给予BACnet认证。生产商的利益BACnet是公开的标准,而且对实现该标准的技术手段无任何要求。生产商可以自由选择硬件、软件实现方案,例如采用最先进的芯片或最熟悉的芯片,采用最高效的或最廉价开发工具等等,生产商对BACnet组织无任何依赖。由于BACnet设备具有很强的互操作性,生产商可以把集中精力发展自己领先的技术。例如生产商A拥有先进的VAV控制技术,A就可以专门生产VAV控制器,操作站软件和路由器等配套产品可以选用其他生产商的产品,无需由一个生产商提供全套楼宇自控产品。BACnet不是一种全新的技术,它是建立在其他标准基础上的

25、。生产商如果已经有自己的成型产品,多数情况下不需要重新设计硬件,只要更新嵌入软件就可以成为BACnet产品。例如有RS485接口的控制器可以支持BACnet MS/TP,有以太网接口的设备可以支持BACnet Ethernet等等BACnet产品实现方案参考对于一个特定功能的BACnet设备,它所支持的BACnet协议可以是BACnet的一个子集。BACnet标准根据主要功能把所有设备分为六大类:操作员工作站: 运行于电脑上的监控软件楼宇控制器: 最高级的控制器,最全面地实现BACnet,通常支持以太网的数据链路层。高级控制器: 次于楼宇控制器,支持大部分服务和对象。特定功能控制器: 次于高级

26、控制器,根据功能的需求,支持某一小部分服务和对象。网络型执行器: 最低级的设备,通常只支持读写服务和一两种对象。网络型传感器: 最低级的设备,通常只支持读服务和一两种对象。路由器: 提供不同BACnet协议之间的路由服务。以上的分类不严格,并没有规定每种设备必须支持哪些服务和对象。以下针对高级控制器、特定功能控制器、网络型传感器做简单的实现方案,由于实现的方法有很大的自由度,此方案仅作为参考。产品类型:网络型温度传感器支持的链路层协议: MS/TP,通讯速率 = 9600bps应用层数据每祯最大长度: 50字节执行的服务: ReadProperty支持的对象: Device、Analog In

27、put采用的CPU: 51系列、8位、处理能力 = 1MipsROM需求: 8KRAM需求: 1K开发编程语言: 汇编产品:网络型温度传感器支持的链路层协议: MS/TP,通讯速率 = 76800bps应用层数据每祯最大长度: 50字节执行的服务: ReadProperty支持的对象: Device、Analog Input采用的CPU: ATMEL AVR系列、8位、处理能力 = 13MipsROM需求: 8KRAM需求: 1K开发编程语言: 汇编产品:风机盘管控制器(特定功能控制器)支持的链路层协议: MS/TP,通讯速率 = 76800bps应用层数据每祯最大长度: 480字节执行的服务

28、: Who Is、ReadProperty、ReadPropertyMultiple、WriteProperty、SubscribeCOV支持的对象: Device、Analog Input、Analog Output、Analog Value、Binary Input、Binary Output、Binary Value。输入输出: 2AI、1AO、3BO、两行数显LCD、4按钮。采用的CPU: ATMEL AVR系列、8位、处理能力 = 13MipsROM需求: 64KRAM需求: 4K开发编程语言: C产品:可编程控制器(高级控制器)支持的链路层协议: 以太网,通讯速率 = 10Mbps

29、应用层数据每祯最大长度: 1476字节执行的服务: Who Is、ReadProperty、WriteProperty、ReadPropertyMultiple、WritePropertyMultiple、CreateObject、DeleteObject, AtomicReadFile、AtomicWriteFile, ConfirmedCOVNotification、UnconfirmedCOVNotification、AcknowledgeAlarm、SubscribeCOV, TimeSynchronization。支持的对象: Device、Analog Input、Analog O

30、utput、Analog Value、Binary Input、Binary Output、Binary Value、Calendar、Loop、File,Program、Schedule、Trend Log。输入输出: 8AI/BI、8AO/BO。采用的CPU: ARM系列、32位、处理能力 = 40Mips采用的嵌入系统: UCLINUXROM需求: 512KRAM需求: 128K开发编程语言: CPICS 和 BIBBsBACnet设备必须通过“BACnet一致性测试”并提供“协议实现一致性声明”,即PICS, PICS是Protocol Implementation Conforman

31、ce Statement 的缩写。PICS中主要包括以下内容:生产商和设备的基本信息。BIBBs如果是标准类型的设备,指明所属类型。支持的非标准服务。实现的BACnet对象类型。每一种对象实现的属性、可写的属性、写入数据范围、该对象是否能动态建立和删除。支持的物理层和链路层协议。其中BIBBs是BACnet INTEROPERABILITY BUILDING BLOCKS的缩写,即BACnet互操作基本块,用于描述设备支持的BACnet服务。BIBB分为两类,分别用A和B标识,A表示服务发起者,B表示服务执行者,例如:设备甲需要通过ReadProperty服务读设备乙的数据,甲就是该服务发起者,标识为:BIBB-DataSharing-ReadProperty-A,缩写为DS-RP-A,乙就是服务执行者,标识为:BIBB-DataSharing-ReadProperty-B,缩写为DS-RP-B。3224 BACnet 与工程商BACnet已经在全球的八十多个国家和地区得到应用,得到了众多工程商的认可。工程商的利益由于遵循BACnet标准的产品可以互操作,工程商的选择范围更广了。例如:根据项目的具体情况,选择A生产商的监控软件、B生产商的VAV控制器、C生产商的路由器等等。这样工程商可以充分发挥各种产品

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1