1 前言

IEC60870-5-101基本远动任务通信规约提供了在主站和远动子站之间发送基本远动报文的通信文件集, 在主站和每个远动子站之间是采用固定连接的数据电路,用于厂站与调度主站间通讯。相关的国家标准有DL/T634.5101-2002通信协议。

2 通信协议

2.1 术语

信息对象组(group of information object)
一个信息对象的组是公共地址或信息地址一个集。

控制方向control direction
从控制站(主站)到被控站(子站)的传输方向。

监视方向monitoring direction
从被控站(子站)到控制站(主站)的传输方向。

2.2 通信接口

支持串口,异步传输方式,11位,其中启动位为二进制0,数据位8位,1个偶校验位,1个停止位。

2.3 数据链路层

本文介绍DL/T634.5101-2002通信协议的非平衡方式,主-从结构的半双工通信方式。启动仅限于某一个固定点( 启动站或主站 ),通信链路的建立与解除均由主站发出的信息帧来控制。

2.3.1 帧格式

帧是传送信息的基本单元。允许采用固定帧长和可变帧长,允许单个控制字符帧。
帧格式如下图所示。

单字符

IEC60870-5-101基本远动任务通信协议测试方法_测试用例

定长帧

IEC60870-5-101基本远动任务通信协议测试方法_数据_02

变长帧

IEC60870-5-101基本远动任务通信协议测试方法_链路_03

说明:
1)控制域是用来区别不同的帧和数据传输方向的单字节,详见标准;
2)地址域是链路地址(一般是RTU编号),1字节;
3)帧校验是用户数据区的各字节的算术和对256的模;
4)变长帧中的L为用户数据区的长度,2个L相等;
5)变长帧中的ASDU为应用服务数据单元,详见标准。

2.3.2 控制域

控制域包含了传输方向、传输状态以及链路功能类型等信息,1字节,各个位定义如下:

IEC60870-5-101基本远动任务通信协议测试方法_数据_04

RES∶保留位(设置为0)
FCB∶帧计数位,被控站通过判断FCB是否翻转来决定是否重发上一帧报文
FCV∶帧计数位有效位,FCV=1表示FCB有效,FCV=0表示FCB无效。
ACD∶请求访问一级用户数据,ACD=1表示被控站有一级数据
DFC∶数据流控制位,DFC=1表示被控站不能接收后续报文

IEC60870-5-101基本远动任务通信协议测试方法_测试用例_05

2.4 应用层

标准规定每一个链路规约数据单元(LPDU)只有一个应用服务数据单元(ASDU)。应用服务数据单元由数据单元标识符和一个或多个信息体所组成。数据单元标识符在所有应用服务数据单元中常有相同的结构,一个应用服务数据单元中的信息体常有相同的结构和类型,它们由类型标识域所定义。
ASDU结构如下图所示。

IEC60870-5-101基本远动任务通信协议测试方法_服务数据单元_06

ASDU类型标识1字节,在主站侧表示的是主站召唤的数据类型,在子站侧表示的是子站上传的信息元素的类型。
详细的定义请参考DL/T634.5101-2002协议。

3 测试项目编制

3.1 基本协议编制

3.1.1 协议项分类

利用格西调试精灵软件的协议激励的功能,把DL/T634.5101-2002通信规约按照树形结构分类组织,使得管理上更加有条理,查找也更加方便。
首先,根据DL/T634.5101-2002通信协议的控制功能码,建立命令模版协议集,作为基本规约模版使用。
然后,根据ASDU类型标识编码表进行协议分类,建立基本命令集。一条命令由数条子命令构成,命令的执行是一个数个回合的交互过程,例如“复位远方链路”命令。

IEC60870-5-101基本远动任务通信协议测试方法_测试用例_07

按照树形结构分类组织的规约项目结构如图所示。

IEC60870-5-101基本远动任务通信协议测试方法_数据_08

3.1.2 协议项编制

根据协议帧格式,为了方便控制和显示,把协议项的数据按照功能进行拆分。
例子1:命令模版的“<10>请求1级用户数据”命令编制方法。

IEC60870-5-101基本远动任务通信协议测试方法_测试用例_09

主站请求帧

IEC60870-5-101基本远动任务通信协议测试方法_通信协议_10

从站有数据应答帧

IEC60870-5-101基本远动任务通信协议测试方法_数据_11

从站没有数据应答帧

基本命令集的命令是由子命令构成的,子命令从命令模版中引用并作修改。

例子3:基本命令的“复位远方链路”命令编制方法。
首先,创建一个协议集,命名为“复位远方链路”;
其次,通过复制和粘贴功能,从命令模版中把“<9>请求链路状态”、“<0>复位远方链路”和“<10>请求1级用户数据”命令复制到协议集“复位远方链路”中;
最后,在每一个子命令的“链路地址”中填入目标设备地址。

IEC60870-5-101基本远动任务通信协议测试方法_测试用例_12

3.1.3 公共协议库

通过对基本协议项的编写、测试和验证,建立一个由基本协议项组成的公共协议库。

3.2 测试用例编制

测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。通信协议测试属于黑盒测试,可以采用黑盒测试常用的等价类划分法、边界值分析法、错误推测法、因果图法等基本方法来设计测试用例。

测试方案设计完成后,格西烽火软件能够利用编制完成的公共协议库,采用搭积木的方式,通过复制和粘贴命令即可非常快捷的创建测试用例。测试用例的组织方式通常是根据测试方案的设计层次采用树形结构分类组织。

4 测试方法

4.1 测试系统构成

IEC60870-5-101基本远动任务通信协议测试方法_通信协议_13

 4.2 单项测试与整体测试

格西调试精灵软件支持单项测试和整体测试,一次测试一个测试项或者整个测试集。执行的方法是选中需要测试的测试项或者测试集,然后执行激励命令即可。
下面以执行“复位远方链路”测试项为例说明。

IEC60870-5-101基本远动任务通信协议测试方法_数据_14

 协议数据解析界面

4.3 单次测试与循环测试

格西调试精灵软件支持单次测试和循环测试,能很好满足各种调试测试和性能测试的需求。执行的方法是选中需要测试的测试项或者测试集,然后执行激励或循环激励命令即可。

IEC60870-5-101基本远动任务通信协议测试方法_数据_15

示例下载