一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种电力通信协议的一致性测试工具的制作方法

2021-11-22 13:16:00 来源:中国专利 TAG:


1.本发明属于电力系统自动化通信技术领域,具体为一种电力通信协议的一致性测试工具。


背景技术:

2.iec61850通信协议一致性和应用接口的闭环测试工具,主要由通信仿真器软件、报文分析软件、对时模拟软件组成,通信仿真器一般作为iec61850客户端,通过以太网向被测设备发送请求报文,处理反馈报文并给出分析结果。报文分析器用于监视、抓取、分析测试脚本运行期间产生的iec61850报文。时钟同步装置用来给一致性测试系统中各个设备的时间同步。目前,因iec61850标准的制修订和权威性来自于iec国际标准技术委员会,以上仿真测试软件也多购于国外厂家。但在试验过程中,对于定值服务、报告服务、控制服务、goose服务、sv服务等多个服务进行测试需要大量的人工操作控制,极大的影响了测试效率。随着iec61850标准在国内电力行业的应用经验和发展,iec61850的第二版测试用例经过了增添和修订,电力行业标准也制定了相关实施规范,亟需要对测试用例集进行完善。


技术实现要素:

3.本发明的目的在于提供一种电力通信协议的一致性测试工具,支持iec61850

10第二版,满足对dl/t860服务器端的一致性测试要求,同时兼容iec61850

10协议一致性测试标准。
4.本发明采用的技术方案如下:
5.本发明提供一种电力通信协议一致性测试工具,包括client客户端仿真模块,server服务分析模块,用例管理模块和报告输出模块;
6.所述server服务分析模块用于载入测试用例,以及根据测试用例的内容对被测设备进行测试并给出测试评估结果;
7.所述client客户端仿真模块用于与被测设备建立通讯,对被测设备发送仿真指令;
8.所述用例管理模块用于生成并存储测试用例;
9.所述报告输出模块用于输出测试评估报告。
10.进一步的,所述用例管理模块包括qt界面,python接口模块和python脚本模块;
11.所述qt界面用于人机交互;
12.所述python接口模块提供一致性测试封装的函数接口,用于控制电力通信协议一致性测试的执行流程并捕获运行信息;
13.所述python脚本模块提供测试用例python脚本,所述测试用例python脚本通过调用python接口进行测试用例的执行与结果输出。
14.进一步的,所述用例管理模块提供测试用例在iec 61850第一版测试用例的基础上进行改进,所述用例管理模块提供的测试用例集包括:应用关联模型、服务器/逻辑设备/
逻辑节点/数据模型、数据集模型、取代模型、定值组控制模型、非缓存报告模型、缓存报告模型、日志模型、控制模型和文件传输模型。
15.进一步的,所述服务器/逻辑设备/逻辑节点/数据模型测试用例包含了强制的getserverdirectory(ld)、getlogicaldevicedirectory、getlogicalnodedirectory(data)、getdatavalues和getdatadirectory/getdatadefinition服务以及可选的setdatavalues服务;还新增了测试用例,包括ssrv9、ssrv10、ssrv11、ssrv12和ssrv13;
16.所述测试用例ssrv9用于评估所选择的模拟量的语义;
17.所述测试用例ssrv10用于评估所选择的状态点的语义;
18.所述测试用例ssrv11用于当闭锁使能blkena置true时,对品质位进行测试;
19.所述测试用例ssrv12用于检验被测设备支持mode和behavior时,mode和behavior值的正确性;
20.所述测试用例ssrv13用于检验逻辑设备是否符合对应的层级。
21.进一步的,所述非缓存报告模型测试用例包含了强制的report、geturcbvalues和seturcbvalues服务,还新增了测试用例,包括srp13和srp14;
22.所述测试用例srp13用于检验非缓存报告控制块拥有者的属性值;
23.所述测试用例srp14用于检验被测设备是否能够处理具有最长名字rptid和datset的urcb。
24.进一步的,所述用例管理模块中每个测试用例单独存储为一个文件。
25.进一步的,所述用例管理模块用于,
26.提供测试用例模板,用户根据测试用例模板创建测试用例及测试项目,
27.还用于,
28.用户根据需要对已有的测试用例的执行流程进行修改生成新的测试用例。
29.进一步的,所述server服务分析模块还用于,
30.对测试用例执行时的报文进行抓取、保存、分析及展示;
31.支持手动启用和用例自动启用两种报文抓取方式。
32.进一步的,所述server服务分析模块还用于,
33.支持用户查询每个测试用例的执行情况以及测试用例执行期间的测试日志及测试报文;
34.所述测试日志支持按字段过滤展示,支持按历史记录检索。
35.进一步的,所述报告输出模块用于,
36.根据用户指定的测试报告模板,生成测试评估报告;
37.所述测试评估报告支持doc/html两种文件格式。
38.本发明的有益效果为:
39.本发明提供一种电力通信协议一致性测试工具应用于电力自动化生产厂家的产品研发、定型和出厂前检测阶段的检测,以及电科院等检测类机构的第三方检测认证。本发明实现了完善可扩展的测试用例模板,友好的python编程接口,健全的python语言编写环境,可创建自定义用例,进行二次开发。
40.本发明能够按照检测报告模板自动生成检测报告,检测报告支持doc/html两种文件格式。
41.本发明支持对测试用例执行时的报文进行抓取、保存并分析、展示。测试过程全程可追溯,用户能够查询每个测试用例的执行情况以及测试用例执行期间的测试日志及测试报文。
42.本发明在iec 61850第一版基础上对测试用例进行改进设计,满足对dl/t860服务器端的一致性测试要求,同时兼容iec61850

10协议一致性测试标准。
附图说明
43.图1为本发明的通信协议iec61850服务器端一致性测试工具架构;
44.图2为开环测试用例数据流图;
45.图3为闭环测试用例数据流图;
46.图4为非缓存报告服务模型的数据模型结构。
具体实施方式
47.下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
48.本发明实施例提供一种电力通信协议一致性测试工具,应用于iec61850智能设备的入网检测,自动化厂家对iec61850智能设备的协议及功能进行测试,专业协议检测机构测试智能设备及系统iec61850协议的一致性。
49.作为本发明的一个实例,一种电力通信协议一致性测试工具架构如图1所示,iec61850协议一致性测试工具包括client客户端仿真模块和server服务分析模块。在server服务分析模块中载入不同的测试用例,分析模块控制mu仿真模块为被测设备提供u、i等实时电力数据,同时控制client客户端仿真模块与被测的server端设备通讯,对被测设备发送仿真指令;分析模块根据测试用例的内容以及网络报文自动给出测试结果评估。
50.还包括用例管理模块和报告输出模块。
51.用例管理模块主要由qt界面、python接口、python脚本等功能模块组成。其中qt界面提供直观高效的人机交互;python接口提供了众多针对自动化测试设计封装的函数接口,能够控制iec61850协议的执行流程并捕获运行信息;python脚本是构成测试用例执行流程的关键主体,通过在脚本中调用python接口实现特定测试用例的执行与结果输出。
52.还支持用户创建自定义的测试用例。凭借内置的大量测试专用的函数接口,测试人员可根据需要,对测试用例的执行流程进行修改,创建全新测试过程的测试用例,即进行二次开发,根据测试用例的逻辑流程编写新的python脚本程序,以满足复杂场景的测试需求。
53.报告输出模块支持自动生成检测报告,能够根据用户指定的测试报告模板,将测试结果数据填入,快速生成准确、规范的检测报告,极大提升测试人员的工作效率。
54.本发明实施例中,测试用例设计如下:
55.每种抽象通信服务acsi的测试用例数据结构不同。对于每个测试用例设计要给出它的用例数据结构、配置界面、测试数据流程图、仿真数据产生与实现过程、分析逻辑。本实施例中的测试用例主要在iec 61850第一版基础上对iec 61850第二版的测试用例进行重新设计。开环测试用例和闭环测试用例的流程图见图2和图3。完成的测试用例集有:应用关
联模型、服务器/逻辑设备/逻辑节点/数据模型、数据集模型、取代模型、定值组控制模型、非缓存报告模型、缓存报告模型、日志模型、控制模型、文件传输模型。示例如下:
56.a、服务器/逻辑设备/逻辑节点/数据模型过程设计
57.服务器/逻辑设备/逻辑节点/数据模型测试用例包含了强制的getserverdirectory(ld)、getlogicaldevicedirectory、getlogicalnodedirectory(data)、getdatavalues和getdatadirectory/getdatadefinition服务以及可选的setdatavalues服务。iec 61850

10ed2.0新增了测试用例,包括ssrv9、ssrv10、ssrv11、ssrv12、ssrv13。
58.以ssrv9为例,ssrv9旨在评估所选择的模拟量的语义。具体过程设计如下:
59.1)强制设备模拟器改变模拟量值,client客户端仿真模块请求getdatavalues,检验瞬时值和死区值是否与强制值一致;
60.2)强制特定情况写特定品质位,client客户端仿真模块请求getdatavalues,检查品质位是否与强制特定情况一致,包括有效位、细节位和源品质;
61.3)改变模拟量值的比例、值域和单位,重复步骤1);
62.4)改变死区值,重复步骤1),检验瞬时值和死区值的区别。
63.ssrv10旨在评估所选择的状态点的语义。具体过程设计如下:
64.1)强制设备模拟器改变一个单点或者双点状态值,client客户端仿真模块请求getdatavalues,检验值是否与强制值一致;
65.2)强制特定情况写特定品质位,client客户端仿真模块请求getdatavalues,检查品质位是否与强制特定情况一致,包括有效位、细节位和源品质。
66.ssrv11旨在检验当闭锁使能blkena置true时,服务器应设置品质位旧数据olddada和操作员闭锁operatorblocked,并且过程值将不再更新。其中新增数据对象blkena的功能约束为新增的bl,blkena为true时将闭锁所有输入输出过程值,从而影响品质位、报告和控制。此测试用例仅涉及品质位的测试,具体过程设计如下:
67.1)client客户端仿真模块请求setdatavalues,设置blkena为true,被测设备返回肯定响应;
68.2)client客户端仿真模块对相对应的数据对象请求getdatavalues,品质位olddada和operatorblocked应被置位,且有效位应被设置成有问题的;
69.3)强制设备模拟器改变闭锁对象的过程值,client客户端仿真模块对相对应的数据对象请求getdatavalues,过程值应不变,品质位olddada和operatorblocked仍应被置位,时标不更新;
70.4)client客户端仿真模块请求setdatavalues,设置blkena为false,被测设备返回肯定响应;
71.5)client客户端仿真模块对相对应的数据对象请求getdatavalues,品质位olddada和operatorblocked的置位应被清除,有效位应被置为有效,且时标应在品质改变后更新。
72.ssrv12旨在检验设备支持模式mode和行为behavior时,其值的正确性。iec 61850

10ed2.0中规定beh为off时过程值的品质位设置成无效数据,具体过程设计如下:
73.1)强制使被测设备的一个逻辑节点的mode设为off,client客户端仿真模块对
mode、behavior和过程数据请求getdatavalues,mode和behavior值应被更新,过程数据的品质位应被置为无效;
74.2)强制使被测设备的一个逻辑节点的mode设为test,client客户端仿真模块对mode、behavior和过程数据请求getdatavalues,mode和behavior值应被更新,过程数据的品质test位应被置位;
75.3)强制使被测设备的一个逻辑节点的mode设为test

blocked,client客户端仿真模块对mode、behavior和过程数据请求getdatavalues,mode和behavior值应被更新,过程数据的品质test位应被置位;
76.4)强制使被测设备的一个逻辑节点的mode设为on

blocked,client客户端仿真模块对mode、behavior和过程数据请求getdatavalues,mode和behavior值应被更新,过程数据的品质与当mode为on时相同;
77.5)强制使被测设备的一个逻辑节点的mode设为on,client客户端仿真模块对mode、behavior和过程数据请求getdatavalues,mode和behavior值应被更新,过程数据的所有品质位置位应被清除。
78.ssrv13旨在检验逻辑设备层。iec 61850

10ed2.0中规定逻辑设备应有自己的层级,lln0.grref指向更高层的逻辑设备,mod/beh的值应从更高层级中继承。具体过程设计如下:
79.1)client客户端仿真模块对所有grref数据对象的值请求getdatavalues,返回的grref值引用应是一个有效的逻辑设备,这个引用不应存在层次成环,在scl文件中grref.setsrcref值的格式为“@<ldinst>”或“<iedname><ldinst>”,而在线数据模型中为“<iedname><ldinst>”或<ldname>;
80.2)改变高一层级的逻辑设备的mode值;
81.3)client客户端仿真模块对所有低一级的behavior数据对象请求getdatavalues,所有behavior值应与标准7

4部分定义一致。
82.b、非缓存报告模型过程设计
83.非缓存报告模型测试用例包含了强制的report(报告)、读取非缓存报告控制块值(geturcbvalues)和设置非缓存报告控制块值服务(seturcbvalues)。iec 61850

10ed2.0新增srp13、srp14。
84.iec 61850

10ed1.0非缓存报告模型和缓存报告模型的数据模型类似,如图4所示。iec 61850

10ed2.0新增可选的数据属性owner,规定其值为ip地址或客户端的ied名称或为0即空闲。
85.srp13旨在检验非缓存报告控制块拥有者属性值的设置,见图4,具体过程设计如下:
86.1)client客户端仿真模块对一个空闲的未预分配的urcb请求geturcbvalues,拥有者属性应为空;
87.2)client客户端仿真模块请求seturcbvalues,配置一个可用的urcb,请求geturcbvalues,拥有者属性为client客户端仿真模块的ip地址或者网关;
88.3)client客户端仿真模块停止使能urcb,请求geturcbvalues,拥有者属性为client客户端仿真模块的ip地址或者网关;
89.4)client客户端仿真模块请求seturcbvalues,设置resv值为false,请求geturcbvalues,拥有者属性为空。
90.srp14旨在检验被测设备能够处理具有最长名字rptid和datset的urcb。具体过程设计如下:
91.1)client客户端仿真模块对一个urcb请求seturcbvalues,设置成最大名字长度(32个字符包括索引号),datset设置成最大名字长度(32个字符),rptid设置成最大名字长度(129字符),被测设备应返回肯定响应;
92.2)client客户端仿真模块对另一个urcb请求seturcbvalues,将datset和rptid设置成最大名字长度,被测设备应返回肯定响应;
93.3)client客户端仿真模块使能两个urcb,设置可选域至少包含数据集名字,触发选项设置为总召唤,被测设备应返回肯定响应;
94.4)client客户端仿真模块请求seturcbvalues,设置gi为true,被测设备应发送带有正确的datset和rptid的总召唤报告,client客户端仿真模块停止使能两个urcb。
95.本发明实施例中,测试用例采用python语言脚本编写,支持用户对测试用例的二次开发,支持一键自动完成所有测试用例的测试,能够按照各检测机构的检测报告模板自动生成检测报告,检测报告支持doc/html两种文件格式。
96.本发明实施例中,每个测试用例单独存储为一个文件,可以从用例管理模块直接导入导出单个测试用例,从而方便测试用例在不同测试项目中共享。测试用例文件中可以存储该测试用例的属性,从而简化测试用例属性设置。
97.本发明实施例提供覆盖规范要求的测试用例模板,可根据测试用例模板快速创建测试项目,提供友好的python编程接口,附带详实的说明文档,提供健全的python语言编写环境,用于创建自定义用例,同时支持python语法检查。
98.本发明实施例中,可根据静态模型文件生成模型树,支持通过模型树窗口同时连接多个被测设备。也可在线获取服务器端的模型信息动态生成模型树并对模型树上的节点进行查询、编辑、控制等操作服务。支持对设备数据进行分类列表展示(遥测、遥信、遥控、电度、定值等),支持根据静态模型文件生成本地模型树。
99.本发明实施例中,支持对测试用例执行时的报文进行抓取、保存并分析、展示。支持报文过滤显示与协议解析,支持手动启用和用例自动启用两种报文抓取方式。测试过程全程可追溯,用户能够查询每个测试用例的执行情况以及测试用例执行期间的测试日志及测试报文。测试日志支持按字段过滤展示,支持历史记录检索。
100.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
101.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
102.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
103.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
104.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献