Dnpv3.0_harris应用层
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D N P V 3 . 0 0
应用层
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)之发送与接收均系从左到右。
第一章概述
本文件定义了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(一次收一个),并在那里卸下了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中,如果请求报头隐含了请求所要求实现的全部信息,则ASDU就不存在了。
每个ASDU包含一个或多个数据单元的标志符(DUI)或对象标题和任选的与之相伴的信息对象(IO)或数据段。对象标题可以规定为0或多于接收站所回送的多于报文内报头后所跟随的。
DUI IO ┅┅IO DUI IO