首页 理论教育BACnet标准与楼宇自控系统技术下的应用层协议时序图

BACnet标准与楼宇自控系统技术下的应用层协议时序图

【摘要】:服务原语具体传递的过程可以通过时序图来说明。每个时序图可以分为3个或者4个区域。在应用层协议时序图中,由上到下是时间流逝的方向。图3-25 具有应用程序流程控制的正常有证实服务时序图图3-26 具有分段请求、应用程序流程控制和取消响应的正常有证实服务时序图图3-27 非正常有证实服务时序图图3-29 具有协议错误的非正常有证实服务请求或相应时序图

应用层的服务语义定义后,接下来就要对服务原语具体传递的过程及报文格式进行说明。服务原语具体传递的过程可以通过时序图来说明。每个时序图可以分为3个或者4个区域。标注为“提供方”的区域代表了服务提供者,标注为“用户”的区域代表了服务使用者。如果还存在第4个区域,则代表的是应用程序。其中位于“提供者”与“用户”之间的竖线,对于应用层而言,指的是BACnet用户元素与BACnet应用层服务元素之间的接口。对于下面各层而言,这些竖线表示的则是处于服务提供者与服务使用者之间的服务访问点(service-access-point)。在应用层协议时序图中,由上到下是时间流逝的方向。处于服务使用者区域中的箭头,指明了在事务处理过程中由服务原语所表示的信息的流动方向(即从服务使用者流入或流出)。

1.证实与非证实服务报文时序图

图3-20给出了正常非证实报文的时序图,图3-21给出了非正常非证实服务报文的时序图。

978-7-111-38144-0-Chapter03-21.jpg

图3-20 正常非证实报文的时序图

978-7-111-38144-0-Chapter03-22.jpg

图3-21 非正常非证实服务报文的时序图

对于非证实报文的服务,不论客户端所要求的服务是否能够正确执行,用到的报文格式就是BACnet-Unconfirmed-Request-PDU(Type=1)一种。对于出现差错的非正常无证实服务请求报文,被接受用户丢弃。

2.正常有证实服务报文

(1)正常有证实服务报文(不分段)

BACnet标准定义的证实服务所涉及的情况比非证实服务要复杂得多。在证实服务中,必须实现控制和管理与报文长度有关的“分段和重组”功能、流量控制以及分段报文差错检测与恢复功能。

证实服务经历“请求”、“指示”、“响应”和“证实”不同的阶段,因此要分别采用不同格式的报文,以满足不同阶段中的数据通信。如果证实服务所涉及的报文长度不分段,此时的证实服务的报文传输过程如图3-22所示。当响应为Result(+)时,响应报文为BACnet-SimpleACK-PDU(BACnet简单确认PDU)或BACnet-ComplexACK-PDU(BACnet复杂确认PDU);而当响应为Result(-)时,响应报文为BACnet-Error-PDU(BACnet出错PDU)。

978-7-111-38144-0-Chapter03-23.jpg

图3-22 正常有证实服务(不分段)报文时序图

(2)正常有证实服务(有分段请求)报文

对证实型服务传输的报文出现报文长度超过网络层协议数据单元(NPDU)时,就必须对报文进行分段传输。如前所述,对于有证实请求(Confirmed-Request)和复杂确认(Complex-ACK)报文才可能需要分段。

报文分段遵循如下规则:

1)每一个报文尽可能只用一个APDU发送。

2)当一个报文的长度超过APDU的允许最大长度时,则应分段成最少个数的多个APDU发送。

3)对报文进行分段时,以1B作为最小分段(分割)单位。

对报文进行分段,还应注意3个方面:

1)APDU最大长度还与信源节点设备的发送缓冲区大小有关。不同BACnet设备发送缓冲区大小可以不同,但不能小于50B。

2)BACnet互联网中各网段所能传输APDU的最大长度不是一个常数。此时的长度由本地、远程以及中间传输网络的网络层协议数据单元(NPDU)最大长度所决定。

3)远程信宿设备节点接收APDU的最大长度不能小于50B,即信宿设备节点的接收缓冲区最小长度必须大于50B。

正常有证实服务(有分段请求)报文时序图如图3-23所示。

从图3-23中知道,一个交换是使用有证实的服务请求、指示、响应以及证实。有些请求需要分段,因此需要使用几个CONF_SERV.request原语来传递整个请求。分段确认服务原语是另一个独立的交换,它用来通知客户,服务器已准备接收下一分段了。

(3)其他的正常有证实服务的报文时序图

1)正常有证实服务(有分段响应)的报文时序图如图3-24所示。

2)具有应用程序流程控制的正常有证实服务时序图如图3-25所示。

978-7-111-38144-0-Chapter03-24.jpg

图3-23 正常有证实服务(有分段请求)报文时序图

978-7-111-38144-0-Chapter03-25.jpg

图3-24 正常有证实服务(有分段响应)的报文时序图

3)具有分段请求、应用程序流程控制和取消响应的正常有证实服务时序图如图3-26所示。

4)几种情况下非正常有证实服务的时序图如下:

有分段的响应和请求方中止的非正常有证实服务时序图如图3-27所示。

不分段,有服务误差发生情况下的非正常有证实服务时序图和协议差错发生的有证实服务时序图分别为图3-28和图3-29所示。

978-7-111-38144-0-Chapter03-26.jpg

图3-25 具有应用程序流程控制的正常有证实服务时序图

978-7-111-38144-0-Chapter03-27.jpg

图3-26 具有分段请求、应用程序流程控制和取消响应的正常有证实服务时序图

978-7-111-38144-0-Chapter03-28.jpg

图3-27 非正常有证实服务时序图

978-7-111-38144-0-Chapter03-29.jpg

图3-29 具有协议错误的非正常有证实服务请求或相应时序图