Q/GDW 376.2集中器本地通信模块接口协议测试

1 前言

Q/GDW 376.2集中器本地通信模块接口协议(Concentrator Local Communication Module Interface)规定了电力用户用电信息采集系统中集中器与本地通信模块接口间进行数据传输的帧格式、数据编码及传输规则。相关的国家标准有DL/T 698.42集中器下行通信协议。
本文将以Q/GDW376.2-2012集中器本地通信模块接口协议为基础,介绍如何使用格西烽火通信测试软件进行编写测试项目,进行测试集中器本地通信模块。

2 通信协议

2.1 术语

主节点 primary node
集中器所在的本地通信模块。

从节点 secondary node<
采集器或计量点(电能表)所在的本地通信模块。

源地址 source address<
传输数据帧的起始发送方的节点MAC地址。

中继地址 relay address<
传输数据帧时进行中继传送的节点MAC地址。

目的地址 destination address<
传输数据帧的最终接收方的节点MAC地址。

2.2 通信接口

通信参数采用8位数据位,1位停止位,1位偶校验位。
支持TTL电平异步通信串行口,通信速率9600bps或以上 ,默认为9600bps。

2.3 数据链路层

Q/GDW 376.2-2012协议为全双工接口,采用平衡传输规则。大部分命令集中器为主动站,本地通信模块为从动站;主动上报和路由抄读等命令本地通信模块为主动站,集中器为从动站。每帧起始字符、长度、控制域、用户数据、校验和、结束字符6个域组成。每个域由若干字节组成。

2.3.1 帧格式

帧是传送信息的基本单元,采用GB/T18657.1—2002的6.2.4 FT1.2异步式传输帧格式。
帧格式如下图所示。

用户数据区的帧格式定义如下图所示。

2.3.2 传输方式

传输次序:所有数据项均先传送低位字节,后传送高位字节。
传输服务类别:

2.4 应用层

Q/GDW376.2-2012应用层功能码AFN由1字节组成,采用二进制编码表示,具体定义见下表。
详细的定义请参考Q/GDW376.2-2012协议。

3 测试项目编制

3.1 基本协议编制

3.1.1 协议项分类

利用格西烽火软件的协议激励的功能,把Q/GDW376.2-2012通信规约按照树形结构分类组织,使得管理上更加有条理,查找也更加方便。
首先,根据Q/GDW376.2-2012通信协议应用层功能码的定义进行协议分类,建立AFN01初始化至AFN15文件传输等15个基本协议集。
然后,在基本协议集中添加具体的协议。

3.1.2 协议项编制

根据协议帧格式,为了方便控制和显示,把协议项的数据固定拆分为帧起始符、长度、控制域、信息域、应用功能码、数据单元标识、校验码及帧结束符8个部分,动态增减的部分是数据单元域,可以根据具体命令进行进一步拆分。
例子1:集中器为主站,“AFN03-F1查询厂商版本信息”命令编制方法。

集中器主站请求帧

模块从站应答帧

例子2:集中器为从站,“AFN06-F1上报从节点信息”命令编制方法。

模块主站请求帧

集中器从站确认应答帧

3.1.3 公共协议库

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

3.2 测试用例编制

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

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

4 测试方法

4.1 测试系统构成

4.2 单项测试与整体测试

格西烽火软件支持单项测试和整体测试,一次测试一个测试项或者整个测试集。执行的方法是选中需要测试的测试项或者测试集,然后执行激励命令即可。
下面以执行“AFN03-F1查询厂商版本信息”测试项为例说明。

协议数据解析界面

协议激励报告界面

4.3 单次测试与循环测试

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

4.4 故障注入测试

格西烽火软件支持直接激励和协议激励同时运行,能很好满足各种异常测试和故障注入测试的需求。实现的方法是打开一个直接激励项目,作为故障信息发生器运行,然后再执行协议激励测试,即可测试在有非法信息注入被测电能表的时候,正常的协议命令是否能够正确执行。

4.5 脚本控制测试

格西烽火软件支持协议脚本,能够使用C#、VB、Jscript三种语言控制测试流程,设置和管理通信参数和协议帧数据,调用插件扩展测试功能。
协议脚本能够调用基于Microsoft .NET Framework的托管代码组件扩展测试功能,使用插件非常方便,只要把编译好的组件拷贝到Plugins目录中,就可以直接在脚本的函数中调用插件所提供的公共服务。
例如,使用例子插件ParallelPort,包含Geshe.Utils命名空间,即可直接使用ParallelPort.Read方法。

4.6 从站模拟测试

格西烽火软件支持从动设备(即被动等待请求、发送响应的设备)的激励仿真。
Q/GDW 376.2-2012协议为全双工接口,主动上报和路由抄读等命令本地通信模块为主动站,集中器为从动站,需要使用协议项的被动模式实现。
下面以 “AFN06-F1上报从节点信息”命令为例说明。协议项的编制方法参考3.1节,测试方法是选中被测命令,执行循环激励命令,等待本地通信模块发起命令,接收到命令后,软件自动解析和根据测试用例的需求响应。


下载示例


BIGtheme.net Joomla 3.3 Templates