教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

BACnet网络讲义(DOC)(3)

来源:网络收集 时间:2026-08-08
导读: 应用实体本身又由两部分组成,分别是BACnet用户单元和BACnet应用服务单元(ASE)。应用服务单元是一组特定内容的应用服务,这些应用服务包括:报警与事件服务,文件访问服务,对象访问服务,远程设备管理服务,虚拟终

应用实体本身又由两部分组成,分别是BACnet用户单元和BACnet应用服务单元(ASE)。应用服务单元是一组特定内容的应用服务,这些应用服务包括:报警与事件服务,文件访问服务,对象访问服务,远程设备管理服务,虚拟终端服务,和网络安全性。用户单元的功能是支持本地API,负责保存事务处理的上下文信息,产生请求标志符(ID),记录标志符所对应的应用服务响应,维护超时重传机制所需的超时计数器,以及将设备的行为要求映射成为BACnet的对象。我们将在后续的文章中介绍这些应用服务和对象的内容。 ?BACnet设备?是指任何一种支持用BACnet协议进行数字通信的真实的或者虚拟的设备。一个BACnet设备有且只有一个?设备对象?,而且被一个网络号和一个MAC地址唯一确定。在大多数情况下,一个物理设备就是一个BACnet设备,例如一个支持BACnet协议通信的温度传感器就是一个BACnet设备。但是也可能有一个物理设备具有多个?虚拟的? BACnet设备的功能,在BACnet标准的附件H中对此进行了详细规范。

当一个BACnet设备中的应用程序需要与网络中其它BACnet设备中的应用程序进行通信时,应用程序只需通过调用API访问本地的BACnet用户单元来实现。例如,一个BACnet 设备的应用程序要向一个远地设备的应用程序发送一个请求服务信息,它调用API,并将相应的参数填入API中。API中的某些参数,如服务请求接收设备的标志号(或地址)、协议控制信息等,将直接下传到网络层或数据链路层;其余参数则

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

BACnet应用层协议包含了OSI模型中的应用层到传输层中的相应内容,所以除了应用层服务的功能外,还要有端到端可靠传输的功能。因此,BACnet应用层规范就是为了保证BACnet设备的应用程序能够与网络中远地BACnet设备的应用程序进行端到端可靠通信而制定的一组规则,其主要内容包括:BACnet应用层提供的服务类型,上下层之间交换的接口控制信息,和对等层协议数据单元的传输机制。

§2.2 BACnet应用层服务类型

BACnet的应用层提供两种类型的服务,分别是?证实服务?和?非证实服务?。 在BACnet中,两个对等应用进程间的信息交换,根据ISO的服务惯例,被表示成抽象的服务原语的交换。BACnet定义了四种服务原语:请求(Request)、指示(Indication)、响应(Response)以及证实(Confirm)原语,可以用来传递某些特定的服务参数。而包含这些原语的信息,又是由标准中定义的各种协议数据单元(PDU)来传递的。下面列出各种服务原语:

CONF_SERV. response CONF_SERV. Confirm CONF_SERV. Request CONF_SERV. indication

UNCONF_SERV. request UNCONF_SERV. indication SEGMENT_ACK. request SEGMENT_ACK. request ERROR. request ERROR. indication REJECT. request REJECT. indication ABORT. request

ABORT. indication

CONF_SERV的标识表明使用的是BACnet证实服务PDU。UNCONF_SERV、SEGMENT_ACK、ERROR、REJECT和ABOUT,分别表明使用的是非证实服务PDU、分段回应PDU、出错PDU、拒绝PDU和放弃PDU,后面这些都是非证实服务类型。

证实服务是建立在客户/服务器通信模型的基础上的,客户端通过某个服务请求实例,向服务器请求服务,而服务器则通过响应请求来为客户端提供服务,如图2-2所示。在交互过程中,担当客户角色的BACnet用户,称为请求方BACnet用户;担当服务器角色的BACnet用户,称为响应方BACnet用户。

证实服务的具体过程如下:由请求方BACnet用户发出的一个CONF_SERV. request原语,形成请求PDU发送给响应方BACnet用户。当该请求PDU到达响应方BACnet用户时,响应方BACnet用户则收到一个CONF_SERV. indication原语。同样,由响应方BACnet用户发出的一个CONF_SERV. response原语,形成响应PDU回传给请求方BACnet用户。当响应PDU到达请求方BACnet用户时,请求方BACnet用户则收到一个CONF_SERV. CONF_SERV. confirm原语。因此,整个过程中请求方BACnet用户和响应方BACnet用户都要接收和发送PDU。

在非证实服务中,不存在上述客户/服务器模型、?请求方BACnet用户?和?响应方BACnet用户?等概念,只有?发送方BACnet用户?和?接收方BACnet用户?。前者指的是发送PDU的BACnet用户,后者指的是当一个PDU到达时,接收到一个指示(indication)或证实(confirm)的BACnet用户。图2-3为正常的证实服务报文传递的示意图,图2-4为正常的非证实服务报文传递的示意图。

§2.3 BACnet应用层报文分析

2.3.1 应用层接口控制信息

除了服务原语和服务参数外,应用实体还通过API与应用程序交换各种接口控制信息(ICI)参数,其具体内容取决于服务原语的类型。应用实体接收到的ICI参数将

下传到下面各层,以便于各层PDU的构建。而应用实体回传给应用程序的ICI参数,则包含了其以下各层从各自的PDU中得到的信息。

通过API与各种服务原语交换信息的ICI参数包括:

1. ?目的地址?(DA:):将要接收服务原语设备的地址。其格式(如设备名称、网络地址等)只与本地有关。这个地址也可以是多播地址、本地广播地址或全局广播地址类型。

2. ?源地址?(SA):发送服务原语的设备的地址。其格式只与本地有关。 3. ?网络优先权?(NP):表示网络优先权的参数。

4. ?需回复数据?(DER):一个逻辑值参数,用来指明某个服务是否需要一个回复

服务原语来确认。

2.3.2 应用层协议数据单元的编码

在BACnet中,使用应用层协议数据单元(APDU)来传递包含在应用服务原语和相应的参数中的信息。BACnet选择ISO Standard 8824规范中的方法来表征BACnet服务的数据内容。并且,BACnet规定了APDU的编码内容,这些编码内容在BACnet标准中的有关章节中进行了详细的描述。

BACnet的APDU由协议控制信息(PCI)和用户数据两部分组成。PCI中包含进行应用层协议操作所需要的数据,这些数据包括:APDU的类型,匹配服务请求和服务响应的信息,执行分段报文重组的信息。这些信息包含在报文的头部,也称为APDU的固定部分。用户数据中包含每种服务请求和服务响应的具体信息,这部分也称为APDU的可变部分。

2.3.3 BACnet报文的分段

为了实现长报文(长度大于通信网络、收/发设备所支持的长度)的传输,有必要对报文进行分段。在BACnet体系结构中,不存在单独的传输层,因此报文分段不是由

…… 此处隐藏:1589字,全部文档内容请下载后查看。喜欢就下载吧 ……
BACnet网络讲义(DOC)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/403808.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)