DONGFANG DNP V3.00 APPLICATION
D N P V 3 . 0 0
应 用 层
1 内部文件:P009-OPD.APP
DONGFANG DNP V3.00 APPLICATION
Harria Corporation
Control Division
Distributed Automation Products
DNP PRODUCT DOCUMENTATION
DNP V3.00
应用层
导言
本规定说明书的目的
本文件规定了分布网络规约(DNP)应用层的服务与报文格式。本文件规定了应用规约
的数据单元(APDU),应用程序的流控制和附属于 DNP 应用层服务的任何专用信息。
谁该使用本文件
本规范说明是为那些需要知道构成应用层报文消息各分段的结构和意义的人士所提供
的。这里包括编程员对应用程序的执行与设计,和质量保证人员对应用层的测试与验证手
段。
求助的与附加的文件
以下的文件是有帮助的:
DNP V3.00 DATA OBJECT LIBRARY (P009-OBL)
CHAPTER 1 至 8
用于本规范说明的规范约定
用于本文件内的 OCTET 这个词系指一个 8 比特的数据对象并且同义于字节这个词。
OCTET 的 低 位 被 编 号 为 (0) 位, 而 高 位 则被 编 号 为 (7) 位 , 在 本 文 件 中 所讲 的 8 位数
(OCTETS)之发送与接收均系从左到右。
2 内部文件:P009-OPD.APP
DONGFANG DNP V3.00 APPLICATION
第一章 概述
本文件定义了 HARRIS 公司的分布网络规约(DNP)应用层 APDU 的格式与服务。
ISO OSI(国际标准化组织开放系统互连)模型规定了七层。国际电工委员会(IEC)规定
了一个简化了的模型只包含有物理,数据链路与应用层。它被称之为性能加强了的体系结构
(EPA)。本文件定义该 EPA 的第三层或应用层。数据链路层被定义于:DISTRIBUTED
NETWORK PROTOCL VERSION 3.00:DATA LINK
LAYER (P009-OPD.DL)。
HARRIS CANADA INC.已开发了 DNP 既用于 SCADA 系统也应用于分布式的自动化
(DA)系统。主要的焦点已方在这些领域,在当前和今后的需要上面。DNP 适用于高可靠,
中等速度,和中等吞吐量的应用。该规约高度灵活并且末端开放,不含任何目标的硬件的
专用结构。
图 1-1 示出 EPA 的结构以及他如何适配于整个通信系统。如图所示,用户对应用层只
在一个地方有接口,它隐示用户除了对应用层的接口以外无需知道其它单元的通信系统。
用户层利用应用层向/自一个主站或外站发送/接收完整的 SCADA/DA 的报文消息。
用户层
应用层
数据链路层
物理层
通信介质
图 1-1 EPA 的上下关系
1.1 说明书与 IEC 的关系
DNP 应用层的 APDU 基于 TC-57 WG 03 所拟定的 IEC 870-5-3 及 IEC 870-5-4 草
案文本的原则。在结构上,应用层的 PDU(规约数据单元)适合 IEC 对 APDU 的描述,用户
发送应用程序的用户数据给应用层,并在应用层将它转换为 ASDU(应用服务数据单元)。然
而在 DNP 中,应用程序的用户数据被转换成多个 ASDUS。IEC 870-5-3 规定每个 ASDU
被前置以 APCI(应用程序规约控制信息),然后打包成一个 APDU。在 DNP 内,则每个
APDU(它是多 APDU 的一个部分)被视作一个分段(FRAGMENT),且具有以下的限定条件,
即每个分段仅包含完整的数据对象,以及在同一报文或同一多 APDU 内的每个分段的 APCI
之功能码是一致的。这就是说,在 APDUS 之内不必再作信息对象的分割以及在报文中对
每个对象都必需请求同一种操作。这是为了保证每个分段本身就是可处理的,并且也隐示每
个 ASDU 仅包含完整的数据对象。反过来说,应用层收到一个 APDU(一次收一个),并在那
3 内部文件:P009-OPD.APP
DONGFANG DNP V3.00 APPLICATION
里卸下了 APCI,就得到 ASDU,再将多个 ASDU 组装入应用程序的用户数据。
第二章 报文格式
本节定义应用层报文(APDU)的格式。APDU 这个词和分段(FRAFGMENT)是可以互换
的。在本规范说明书内主站被定义为发送请求报文的站,而外站则为从属设备,被请求回
送报文的 RTU 或智能终端(IED)是事先规定了的。在 DNP 内,只有被指定的主站能够发送
应用层的请求报文而外站则只能发送应用层的响应报文。
图 2-1 示出在一个主站和外站之间应用层报文的顺序。
如图所示,主站将“应用层请求”发送给外站;外站回送“应用层响应”。外站可以决定用
“应用层非请求的响应”自发地发送数据。
主站 外站
发请求 收到请求并处理
可选的确认
接收响应 发响应
可选的确认
重要变化被检出时
接收响应 发非请求的响应
可选的确认
图 2-1 报文顺序
主站对一个外站必须在完成一个请求/响应回合之后才能对此外站发送其它的请求。在
请求的回合正在进行之中,主站有可能收到非请求的响应。至于外站,也必须在完成 一个
请求/响应的回合之后,才能接受任何其它的请求或发送非请求的响应。非请求的响应只能
在请求/响应回合之前或之后发送,而不是在进行之时.一个外站若正处于非请求回合之中(即
正在等待确认),它可以有条件地自主站接受一个请求令(详情,见 3.3 节――主站请求与非请
求响应的冲突)。
此外,每个响应或请求都能包含 1 个或更多的单个分段。然而每个分段都应是可领悟
的(可解析的),因而是可执行的(因为功能码是属于每个分段的)。对于报文存储能力有限
的设备,建议应只送单个分段的请求报文而所期望的响应(它是全部分段的发送)则多于一个
分段,这样是为了保证那些设备可以处理一个请求并集结起来,然而,更重要的是在接收下一
个请求之前发送一个响应。否则,多分段的报文将要多分段的响应,这种响应所要求的报
文存储可能大于设备可用的容量。
2.1 应用请求的格式
应用请求的报文格式示于图 2-2。APDU 由一个包含报文控制信息的 APCI 数据块和
包
含要由接收站处理的信息的`ASDU 所组成。在一个应用请求报文中,APCI 常被称之为请
求的报头(REQUEST HEADER)。在 DNP 中,ASDU 是可选用的,并且当报文的意义不能
全部在请求报头中传递时才用得上它。请求报头所包含的信息是如何组装一个多分段报文
的信息以及关于报文目的的信息。请求报头出现与所有应用层请求的 APDUS 中,如果请
4 内部文件:P009-OPD.APP
DONGFANG DNP V3.00 APPLICATION
求报头隐含了请求所要求实现的全部信息,则 ASDU 就不存在了。
每个 ASDU 包含一个或多个数据单元的标志符(DUI)或对象标题和任选的与之相伴的
信息对象(IO)或数据段。对象标题可以规定为 0 或多于接收站所回送的多于报文内报头后
所跟随的。
DUI IO ┅┅IO DUI IO
REQUEST HEADER OBJECT HEADER DATA OBJECT HEADER DATA
请求报头 对象标题 数据
APCI ASDU
图 2-2 应用请求的格式
请求报头:它标识报文的目的并且由 APCI(应用规约控制信息)所组成
对象标题:它标识后随数据对象
数据 :在对象标题内所指定类型的数据对象
2.2 应用响应的格式
外站对(应用层的请求)APDU 之响应或发自外站的非请求响应所具有的格式如图 2-
3。
此格式与请求等 同。在应用响应报文中, APDI 常被称 之为 响应的报头(RESPONSE
HEADER)。响应报头包含了与请求报头同样的信息,又加上一个包含外站内部信息的附加
字段。响应报头永远是应用响应的一个部分。响应的 ASDU 具有与请求报文相同的格式,
但又有显著的例外(在第三章内说明)。
DUI IO ┅┅┅┅ IO DUI IO
RESPONSE HEADER OBJECT HEADER DATA OBJECT HEADER DATA
响应报头 对象标题
APCI ASDU
图 2-3 应用响应格式
响应报头:它标识报文的目的并且由 APCI(应用规约控制信息)所组成。
对象标题:它标识后随的数据对象。
数据 :为对象标题内所指定类型的数据对象。
5 内部文件:P009-OPD.APP