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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

BACnet网络讲义Word文档下载推荐.docx

1、(1)所有的网络设备,除了主从/令牌传递式从属机(MS/TPslaves :master-slave/token-passingslaves)以外,都是对等的(Peer)。当然某些同等设备可能比其他具有更多的特权(Privilege)和职责(Responsibility)。(2)每一个网络设备都称之为是一个“对象”(Object)的实体(entity),这是一个具有网络访问特征的集合模型。每个对象又用一些“属性”(Property)来描述,这些属性表示了设备的硬件、软件以及操作的各个方面。在不需要了解设备部设计或配置细节的情况下,对象提供了识别和访问设备信息的方法。尽管该标准规定了广泛的应用对

2、象的类型以及它们的属性,但是一旦需要,利用开发工具仍可以自由地增加新的对象类型。(3)通信功能是通过读写某些对象的属性,以及利用其他协议提供的“服务”(Service)来完成的。尽管该标准规定了一套详尽的服务,但是一旦需要,该标准的机制也同样允许利用开发工具增加新的服务。(4)设备的完善性(Sophistication),即实现特定服务请求或理解特定对象类型种类的能力,是由设备的“一致性类别”(ConformanceClass)所反映的。每一种类别定义了一个包括服务、对象、属性的最小集合,声明为某一类别的设备必须支持其相应的集合。(5)由于该标准遵循了ISO的“分层”通信体系结构的概念,因此使

3、用不同的网络访问方法和物理介质可以交换相同的报文。这样可以根据传输速度和吞吐量的要求,采用相宜的开销来配置BACnet网络。(6)该标准是为暖气、通风、空调、制冷控制设备所设计的,同时它也为其他楼宇控制系统的集成提供了基本原则,例如照明、保安、消防系统等。虽然这些扩展超出了该标准的围,但实现起来却简单明了。并且,标准中定义的许多对象和服务也可以不加修改地被应用。当然,一旦这些其他类型的楼宇控制功能需要,也可以简单方便地定义新的对象和服务。(7)该标准的目的是为暖气、通风、空调、制冷控制设备和其它楼宇自控设备的监控定义数据通信的服务和协议。除此之外,标准还定义了抽象的、面向对象的表示法,用来描述

4、这些设备间的信息通信,以便于在楼宇中使用数字控制技术。所有的通信协议都是一个解决各种信息交换问题的方案的集合,并且随着时间的推移和技术的进步而不断改变,BACnet网络同样也不例外。1.2BACnet协议的体系结构国际标准化组织在制定计算机网络通讯协议标准时定义了一个模型,称为开放式系统互联参考模型(OSI模型),模型的目的是解决计算机与计算机之间普遍的通信问题,并将这个复杂的问题分解成7个小的、易解决的子问题,每个子问题只与某些通信功能相关联,如图1-1所示。这样每个子问题便形成了协议体系结构中的一“层”。任何两个遵循该模型及有关标准的设备或系统,都可以实现互连和互操作。SPC制定BACne

5、t标准时,确定BACnet作为一种开放性计算机局域网协议,它仍然采用OSI模型的“分层”通信体系结构的概念。在确定分层的层数时,考虑了下列两个因素:第一,OSI模型的实现需要很高的费用,实际上在绝大部分楼宇自控系统应用中也并不需要这么多的层次。但是从OSI的功能性方面考虑,经过简化后,OSI模型仍然是设计楼宇自控协议的一个很好参考,如果只包含OSI模型中被选择的层次,其它各层则去掉,这样减少了报文长度,降低了通信处理开销,同时也会节约楼宇自控工业的生产成本。第二,如果能够充分利用现有的、易用的、广泛使用的局域网技术,如Ethernet、ARCNET和LonTalk,不但可以降低成本,同时也有利

6、于性能的提高。由此,SPC确定BACnet标准协议体系结构为一个包含四个层次的分层体系结构,这四个层次相对于OSI模型中的物理层、数据链路层、网络层和应用层,如图1-2所示。BACnet标准定义了自己的应用层和网络层,对于其数据链路层和物理层,提供了以下五种选择方案:第一种选择是ISO8802-2类型1定义的逻辑链路控制(LLC)协议,加上ISO8802-3介质访问控制(MAC)协议和物理层协议。ISO8802-2类型1提供了无连接不确认的服务,ISO8802-3则是著名的以太网协议的国际标准。第二种选择是ISO8802-2类型1定义的逻辑链路控制(LLC)协议,加上ARCNET(ATA/AN

7、SI878.1)。第三种选择是主从/令牌传递(MS/TP)协议加上EIA-485协议。MS/TP协议是专门针对楼宇自控设备设计的,它通过控制EIA-485的物理层,向网络层提供接口。第四种选择是点对点(PTP)协议加上EIA-232协议,为拨号串行异步通信提供了通信机制。第五种选择是LonTalk协议。这些选择都支持主/从MAC、确定性令牌传递MAC、高速争用MAC以及拨号访问。拓扑结构上,支持星型和总线型拓扑;物理介质上,支持双绞线、同轴电缆、光缆。以下详细讨论BACnet选择一个四层体系结构的原因。首先仔细考虑BACnet网络的独特特征。BACnet的特征主要有以下两点:(1)BACnet

8、网络是一种局域网。即使在某些应用中,楼宇中设备间远距离的通信必不可少时,这一点仍然是不变的。这种远距离的通信功能,是由电信网来实现。通信过程中要解决的路由、中继、可靠传输等问题,都由电信网来处理。在此电信网可看成是BACnet网络外部的部分。(2)BACnet设备是静态的,即在空间上,它们不会经常被移来移去。在要完成的功能上,从某种意义上说也是不变的,即不会今天生产的设备的功能是这样,明天就完全不同了。在充分了解BACnet网络的特征后,就可讨论OSI模型的各层在BACnet网络中的适用性了。OSI模型的物理层提供了设备间的物理连接,以及传输载波信号的方式。显然在BACnet协议中,物理层是必

9、不可少的。OSI模型的数据链路层,负责将数据组织成帧(Frame)或分组(Packet)、管理通讯介质的访问、寻址(Address),以及完成一些错误校正(ErrorRecovery)和流量控制。这些都是BACnet协议所需要的,因此数据链路层也是必不可少的。OSI网络层的功能,包括将全局地址解析为局部地址,在一个或多个网络中进行报文的路由,协调不同类型网络的差异(如不同网络所允许的最大报文长度),序列控制,流量控制,差错控制,以及多路复用。由于BACnet网络的拓扑特点,在各个设备之间只存在一条逻辑通路(参见图3),这样便不需要最优路由的算法。其次,BACnet网络是由中继器或网桥互联起来的

10、一个或多个网段所组成的网络,它具有单一的局部地址空间。在这样一种单一网络中,许多OSI网络层的功能也变得多余,或者与数据链路层相重复。当然在某些BACnet网络系统中,网络层也可能是必不可少的。例如,在一个BACnet的网际网(internet)中,当两个或多个网络使用了不同的MAC层时,便需要区别局部地址和全局地址,这样才能将报文路由到正确的网络上去。在BACnet协议中,通过定义了一个包含必要的寻径和控制信息的网络层头部,来完成这种简化了的网络层功能。传输层主要是负责提供可靠的端到端的报文传输、报文分段、序列控制、流量控制,以及差错校正。传输层的许多功能与数据链路层相似,只是在作用围上有所

11、不同。传输层提供的是端到端的服务,而数据链路层则提供的是单一网络上点到点的服务。由于BACnet支持多种网络的配置,因此协议必须提供传输层端到端的服务。在BACnet网络中要提供三个方面的传输层的功能,第一是可靠的端到端传输和差错校正功能,第二是报文分段和端到端的流量控制,第三是实现报文的正确重组,序列控制。由于BACnet是建立在无连接的通信模型基础上的,因此所需的服务大大减少,并且可以被高层来实现,所以,传输层的这些功能可以通过BACnet应用层来实现,这样,在BACnet协议体系中不单独设置传输层,相应的功能放在应用层中完成,从而节省了通信开销。会话层的功能是在通信双方之间建立和管理长时

12、间对话。包括建立同步标志点,用来在出错时回复到前一个标志点,以避免对话重新开始。但在一个BACnet网络中,绝大部分的通信都是很简短的,比如读写一个或一些值,通知某个设备某个警报或事件,或者更改某个设定值。当然长时间的信息交换偶然也会发生的,比如上载或下载某个设备。由于绝大部分事务处理都是简短的,会话层的服务极少用到,再考虑到带来的开销,因此BACnet标准中不包括这层。表示层为通信双方提供了屏蔽下层传送语法的服务。这种传送语法是用来将应用层中抽象的用户数据表示,变成适合下层传输的字节序列。但当只存在一种传送语法时,表示层的功能便减少到对应用程序的数据进行编码。由于在BACnet在应用层中定义

13、了一个固定的编码方案,因此一个独立的表示层也变得不再需要。协议的应用层为应用程序提供了完成各自功能所需的通信服务。在此基础上,应用程序可以监控HVAC&R和其它楼宇自控系统。显然应用层是本协议所必需的。从以上讨论中,可以得到以下几点:1实现一个完全的OSI七层体系结构需要大量的资源和开销,因此它对于目前的楼宇自控系统是不适用的。2根据OSI模型,采用现有的计算机网络技术将会带来以下好处:节约成本,便于与其它计算机网络系统集成。3根据楼宇自控系统的环境及要求,可以通过去除OSI某些层的功能来简化OSI模型。4由物理层、数据链路层、网络层和应用层组成的一个简化体系结构,是当今楼宇自控系统的最佳解决

14、方案。1.3BAC网络的拓扑结构为了应用的灵活性,BACnet并没有严格规定网络的拓扑结构。BACnet设备可以通过专线或拨号异步串行线,与四种局域网之一进行物理相连。而这些网络可以通过BACnet路由器或一对半路由器进一步互联。在BACnet网络中,定义了如下这样一些拓扑结构:1.物理网段(PhysicalSegment):直接连接一些BACnet设备的一段物理介质。2.网段(Segment):多个物理网段通过“中继器”在物理层连接,所形成的网络段。3.网络(Network):多个BACnet网段通过“网桥”互连而成,每个BACnet网络都形成一个单一的MAC地址域。这些在物理层和数据链路层

15、上连接各个网段的设备,可以利用MAC地址实现报文的过滤。4.网际网(Internetwork):将使用不同LAN技术的多个网络,用BACnet“路由器”互联起来,便形成了一个BACnet“网际网”。在一个BACnet网际网中,任意两个节点之间恰好存在着一条报文通路。这些概念如图1-3所示。1.4BACnet的协议栈和数据流在BACnet中,两个对等应用进程间的信息交换,依然按照OSI技术报告中关于ISO的服务惯例(ISOTR8509),被表示成抽象的服务原语的交换。BACnet定义了四种服务原语:请求、指示、响应和证实原语,用来传递某些特定的服务参数。而包含这些原语的信息,又是由BACnet标

16、准中定义的各种协议数据单元(PDU:DataUnit)来传递的。当应用程序需要同远地的应用进程通讯时,它通过调用API访问本地的BACnet用户单元(应用层中为用户应用程序提供服务的访问点)。API的某些参数,如接收服务请求的设备的标志号(或地址)、协议控制信息等,将直接下传到网络层或数据链路层。而其余参数将组成一个应用层服务原语,通过BACnet的用户单元传到BACnet的应用服务单元(应用层中利用下层服务完成应用层服务的部分)。从概念上来讲,由应用层服务原语产生的应用层协议数据单元(APDU),构成了网络层服务原语的数据部分,并通过网络层服务访问点下传到网络层。同样,这个请求将进一步下传到

17、本地设备协议栈的以下各层。整个过程如图1-4所示(见下一页)。于是,报文就这样被传送到远地的设备,并在远地设备协议栈中逐级上传,最后指示原语看起来似乎是直接从远地的BACnet应用服务单元上传到远地的BACnet用户单元。任何从远地设备发回的响应,也是以该方式回传给请求设备的。 BACnet协议采用的分层思想,来源与一个简单的科学原理分层原理(LayeringPrinciple)。即“在目标计算机上的第N层软件必须恰好接收由在发送计算机上的第N层软件所发送的数据”。换句话说,在数据发送前,协议进行的任何转换在接收时必须被完全地逆转换。如果在发送计算机上的一个特定层将一个头部放入帧中,在接收计算

18、机的相应层必须除去该头部。分层思想简化了协议的设计和测试,避免了一层协议软件引入其它层可见的改变。这样,每一层的发送和接收软件可独立于其它层进行设计、实现、测试。第2章BACnet应用层规本章介绍BACnet的应用层规的原理和运行机制,概要介绍BACnet应用层的模型、主要的服务原语以及应用层报文的结构,并讨论BACnet各种报文的传输过程以及与报文传输相关的其它问题。2.1BACnet协议的应用层规BACnet网络的应用层协议要解决三个问题,向应用程序提供通信服务的规,与下层协议进行信息交换的规,和与对等的远程应用层实体交互的规。首先对一些相关的概念进行说明。应用进程是指,为了实现某个特定的

19、应用(例如,节点设备向一个远端的温度传感器设备请求当前温度值)所需要的进行信息处理的一组方法。一般来说,这是一组计算机软件。应用进程分为两部分,一部分专门进行信息处理,不涉及通信功能,这部分称为应用程序。另一部分处理BACnet通信事务,称为应用实体。应用程序与应用实体之间通过应用编程接口(API)进行交互。BACnet应用层协议只对应用实体进行规,不涉及应用程序和应用编程接口。但在具体实现过程中,应用编程接口一定是某个函数、过程或子程序的调用。图2-1示出了这些概念,图中阴影部分是应用进程位于BACnet应用层中的部分。应用实体本身又由两部分组成,分别是BACnet用户单元和BACnet应用

20、服务单元(ASE)。应用服务单元是一组特定容的应用服务,这些应用服务包括:报警与事件服务,文件访问服务,对象访问服务,远程设备管理服务,虚拟终端服务,和网络安全性。用户单元的功能是支持本地API,负责保存事务处理的上下文信息,产生请求标志符(ID),记录标志符所对应的应用服务响应,维护超时重传机制所需的超时计数器,以及将设备的行为要求映射成为BACnet的对象。我们将在后续的文章中介绍这些应用服务和对象的容。“BACnet设备”是指任何一种支持用BACnet协议进行数字通信的真实的或者虚拟的设备。一个BACnet设备有且只有一个“设备对象”,而且被一个网络号和一个MAC地址唯一确定。在大多数情

21、况下,一个物理设备就是一个BACnet设备,例如一个支持BACnet协议通信的温度传感器就是一个BACnet设备。但是也可能有一个物理设备具有多个“虚拟的”BACnet设备的功能,在BACnet标准的附件H中对此进行了详细规。当一个BACnet设备中的应用程序需要与网络中其它BACnet设备中的应用程序进行通信时,应用程序只需通过调用API访问本地的BACnet用户单元来实现。例如,一个BACnet设备的应用程序要向一个远地设备的应用程序发送一个请求服务信息,它调用API,并将相应的参数填入API中。API中的某些参数,如服务请求接收设备的标志号(或地址)、协议控制信息等,将直接下传到网络层或

22、数据链路层;其余参数则组成一个应用层服务原语,通过BACnet用户单元传到BACnet应用服务单元(ASE),形成应用层协议数据单元(APDU)。APDU则通过网络层的服务访问点(NSAP)下传到网络层,成为网络层服务原语的数据部分。这个请求将进一步下传到本地设备协议栈中的下层,最终由物理层传送到远地设备,并通过远地设备协议栈逐级上传到远地用户单元。从远地设备看起来,指示原语似乎是直接从它自己的BACnet应用服务单元传到其BACnet用户单元的。同样,任何从远地设备发回的响应,也是以相同方式回传给请求设备。BACnet应用层协议包含了OSI模型中的应用层到传输层中的相应容,所以除了应用层服务

23、的功能外,还要有端到端可靠传输的功能。因此,BACnet应用层规就是为了保证BACnet设备的应用程序能够与网络中远地BACnet设备的应用程序进行端到端可靠通信而制定的一组规则,其主要容包括:BACnet应用层提供的服务类型,上下层之间交换的接口控制信息,和对等层协议数据单元的传输机制。2.2BACnet应用层服务类型BACnet的应用层提供两种类型的服务,分别是“证实服务”和“非证实服务”。在BACnet中,两个对等应用进程间的信息交换,根据ISO的服务惯例,被表示成抽象的服务原语的交换。请求(Request)、指示(Indication)、响应(Response)以及证实(Confirm

24、)原语,可以用来传递某些特定的服务参数。而包含这些原语的信息,又是由标准中定义的各种协议数据单元(PDU)来传递的。下面列出各种服务原语:CONF_SERV.responseConfirmRequestindicationUNCONF_SERV.requestSEGMENT_ACK.ERROR.REJECT.ABORT.CONF_SERV的标识表明使用的是BACnet证实服务PDU。UNCONF_SERV、SEGMENT_ACK、ERROR、REJECT和ABOUT,分别表明使用的是非证实服务PDU、分段回应PDU、出错PDU、拒绝PDU和放弃PDU,后面这些都是非证实服务类型。证实服务是建立

25、在客户/服务器通信模型的基础上的,客户端通过某个服务请例,向服务器请求服务,而服务器则通过响应请求来为客户端提供服务,如图2-2所示。在交互过程中,担当客户角色的BACnet用户,称为请求方BACnet用户;担当服务器角色的BACnet用户,称为响应方BACnet用户。证实服务的具体过程如下:由请求方BACnet用户发出的一个CONF_SERV.request原语,形成请求PDU发送给响应方BACnet用户。当该请求PDU到达响应方BACnet用户时,响应方BACnet用户则收到一个CONF_SERV.indication原语。同样,由响应方BACnet用户发出的一个CONF_SERV.res

26、ponse原语,形成响应PDU回传给请求方BACnet用户。当响应PDU到达请求方BACnet用户时,请求方BACnet用户则收到一个CONF_SERV.confirm原语。因此,整个过程中请求方BACnet用户和响应方BACnet用户都要接收和发送PDU。在非证实服务中,不存在上述客户/服务器模型、“请求方BACnet用户”和“响应方BACnet用户”等概念,只有“发送方BACnet用户”和“接收方BACnet用户”。前者指的是发送PDU的BACnet用户,后者指的是当一个PDU到达时,接收到一个指示(indication)或证实(confirm)的BACnet用户。图2-3为正常的证实服务

27、报文传递的示意图,图2-4为正常的非证实服务报文传递的示意图。2.3BACnet应用层报文分析2.3.1应用层接口控制信息除了服务原语和服务参数外,应用实体还通过API与应用程序交换各种接口控制信息(ICI)参数,其具体容取决于服务原语的类型。应用实体接收到的ICI参数将下传到下面各层,以便于各层PDU的构建。而应用实体回传给应用程序的ICI参数,则包含了其以下各层从各自的PDU中得到的信息。通过API与各种服务原语交换信息的ICI参数包括:“目的地址”(DA:):将要接收服务原语设备的地址。其格式(如设备名称、网络地址等)只与本地有关。这个地址也可以是多播地址、本地广播地址或全局广播地址类型

28、。“源地址”(SA):发送服务原语的设备的地址。其格式只与本地有关。 3.“网络优先权”(NP):表示网络优先权的参数。“需回复数据”(DER):一个逻辑值参数,用来指明某个服务是否需要一个回复服务原语来确认。2.3.2应用层协议数据单元的编码在BACnet中,使用应用层协议数据单元(APDU)来传递包含在应用服务原语和相应的参数中的信息。BACnet选择ISOStandard8824规中的方法来表征BACnet服务的数据容。并且,BACnet规定了APDU的编码容,这些编码容在BACnet标准中的有关章节中进行了详细的描述。BACnet的APDU由协议控制信息(PCI)和用户数据两部分组成。

29、PCI中包含进行应用层协议操作所需要的数据,这些数据包括:APDU的类型,匹配服务请求和服务响应的信息,执行分段报文重组的信息。这些信息包含在报文的头部,也称为APDU的固定部分。用户数据中包含每种服务请求和服务响应的具体信息,这部分也称为APDU的可变部分。2.3.3 BACnet报文的分段为了实现长报文(长度大于通信网络、收/发设备所支持的长度)的传输,有必要对报文进行分段。在BACnet体系结构中,不存在单独的传输层,因此报文分段不是由传输层实现,而是由应用层来完成。并且,在BACnet中只有Confirmed-Request和Complex-ACK报文可能需要分段,因此分段还是BACnet的一个可选特性。1报文分段的原则每个由BA

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

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