掌桥专利:专业的专利平台
掌桥专利
首页

电力线载波通信协议一致性检测系统及方法

文献发布时间:2024-04-18 19:58:21


电力线载波通信协议一致性检测系统及方法

技术领域

本发明涉及电力通信技术领域,特别是涉及电力线载波通信协议一致性检测系统及方法。

背景技术

随着智能电网等领域的快速发展,电力线载波通信技术得到了广泛应用。电力线载波通信是指通过电力线实现双向通信的技术,它具有通信成本低廉、覆盖面广、稳定性强、安全性高等特点。近年来,电力线载波通信已经成为智能电网的重要组成部分,广泛应用于电力远程监测、电力调度、电力负荷控制等方面,对于提高电力系统的安全性、可靠性和效率至关重要。

然而,随着电力通信规模的不断扩大,各个设备之间的通信协议可能存在差异,从而影响通信的可靠性和稳定性。为了保证电力通信的可靠性和稳定性,必须对电力线载波通信协议进行严格的一致性检测,然而在通信协议一致性检测的自动化检测系统中,较大多数采用的是TTCN-3的通信测试描述语言编写的自动化测试用例,而国内对于TTCN-3的研究和使用并不像C语言和JAVA语言普及。提升电力线载波通信协议一致性检测的效率与可靠性,是现有技术面临的挑战之一。

需要说明的是,在上述背景技术部分公开的信息仅用于对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

本发明的主要目的在于克服上述背景技术的缺陷,提供一种电力线载波通信协议一致性检测系统及方法。

为实现上述目的,本发明采用以下技术方案:

一种电力线载波通信协议一致性检测系统,包括:人机交互界面、接收机、发射机、被测通信单元、单元测试框架、协议栈脚本、测试用例脚本、报告输出组件、日志输出组件、频谱仪、矢量信号发生器、测试工装;

所述人机交互界面使用GUI库实现用于测试系统配置参数输入、测试用例条目显示、配置文件修改和保存、配置文件加载、测试用例的选择和控制、系统启动和停止、测试过程日志显示、测试用例进程显示,且GUI与测试用例脚本分离,互不干扰;

所述协议栈脚本实现电网低压电力线双模通信协议报文组包和解包功能,实现协议帧的各层数据结构定义,为测试用例脚本提供调用服务,并具有函数封装;

所述测试用例脚本按照unittest框架编写规范,依据测试需求以及测试用例流程实现MCS遍历测试、测试模式测试、加密功能测试、协议一致性测试中的一种或多种;

所述接收机、发射机通过串口与测试系统PC机连接,用于将测试系统用例组好的协议帧,发送到电力线上与被测单元进行通信,并接收来自被测通信单元发送到电力线的信号解调为数据帧,并通过接收机串口上报给测试系统做协议格式字段的一致性检查,收发机接口协议的实现;

所述单元测试框架使用unittest单元测试框架提供用例自动化调用和流程控制;

所述矢量信号发生器和所述频谱仪通过所述测试用例脚本控制,并使用相关SCPI远程控制指令实现性能测试,所述矢量信号发生器接收到相关指令后,通过射频线发送不同特征的电力线通信协议的波形信号,让被测单元接收,并通过测试工装将被测单元接收到的正确数据上报给测试系统,用于性能指标测试;所述频谱仪接收到指令后根据指令要求设置相关频点和模式,测试被测通信单元发送的信号是否符合协议规范所约束;

所述报告输出组件用于输出检测报告,并提供界面供用户查看;

所述日志输出组件用于日志的输出和保存。

进一步地,所述人机交互界面使用python语言实现,所述协议栈脚本和所述测试用例脚本使用python脚本。

进一步地,测试的性能指标包括接收灵敏度、多径信道、邻道干扰、功率谱密度、发送功率、杂散。

进一步地,实现电力线双模通信协议数据帧的定义和封装;使用ctypes库实现协议帧的各层数据结构定义。

进一步地,所述接收机、发射机为用于采集和发送电力线载波通信协议数据的两个物理实体单元,采用python语言和serial库实现串口控制,使用struct模块实现接口协议数据帧定义;

所述单元测试框架使用python自带的unittest单元测试框架提供用例自动化调用和流程控制;

所述频谱仪测试被测单元的信号质量和发送频率,通过socket连接仪器自带的远程控制接口进行设备的远程控制,实现频谱仪的控制,给测试用例提供调用服务;

所述矢量信号发生器预先将波形文件加载到仪器中,测试用例需要仪器发送时,将波形文件调出来并启动矢量发生器,发送预置波形,通过socket连接仪器自带的远程控制接口进行设备的远程控制,在测试用例调用仪器时提供服务。

进一步地,宽带电力线通信网络的协议栈包括物理层、数据链路层以及应用层;应用层实现通信单元之间的业务数据交互;被测单元的物理层交互实现使用标准的透明数据转发设备,该设备负责实现电力线载模拟信号的调制解调,接收机解调后的数据通过串口传递给测试系统,测试系统发送的数据通过串口传递给发射机,通过标准转发设备接口协议实现收发机的控制。

一种电力线载波通信协议一致性检测方法,包括:

步骤1:用python语言的ctypes模块对通信协议进行数据结构定义,表达通信协议帧的结构;为了分层协议结构,协议栈定义了四个python脚本文件,用于实现具体的分层协议栈数据帧格式的定义以及组包的相关函数;

步骤2:发射机作为载波透明接入单元,接收机作为载波信道侦听单元,发射机将软件平台组织的数据发送到载波通信介质,并根据需求自动回复SACK与NACK,接收机将载波通信介质里的所有数据实时发送给软件平台,供其进行分析协议一致性判断;

步骤3:提供测试系统界面设计,生成python的脚本源码;

步骤4:测试用例调用和启动:在测试系统界面启动时,先在系统的目录中检索test*.py的文件,认为是测试用例脚本文件,并根据unittest的定义规则,检索用例方法,在界面点击开始运行时,用例初始化过程先加载系统目录下的ini文件读取文件中的参数信息,加载到测试系统中,用于测试用例运行时参数,并启动两个线程在后台运行,一个线程为:test_thread,另一个线程为日志存储线程logger_thread,当测试需要暂停时则将test_thread终止用于实现测试用例的停止,界面上选择具体需要运行的用例时,界面则获取到选择的用例名称,并将名称传递给unittest框架来加载相同名称的用例文件,实现用例的调用,而被调用的测试用例则会使用步骤2的方式进行数据的收发,数据使用步骤1的方式实现打包,提供给步骤2进行收发;

步骤5:对于测试系统整体框架,将符合格式要求的报文数据结构,通过各层协议栈脚本文件进行数据帧的组包,并使用步骤2的收发机控制接口实现报文的发送和接收,而具体的测试用例则被测试界面使用步骤3的方式实现启动和加载用例参数,并启动执行,在用例执行过程中,使用响应的方式实现数据的收发和判断,具体顺序是,测试系统通过步骤3加载测试用例,用例通过步骤1实现对应测数据的组包和界面,通过步骤2的实现的接口将数据发送到电力线,然后解包为逆过程。

本发明实施例具有如下有益效果:

本发明实施例提供一种基于Python脚本的电力线载波通信协议一致性检测系统,可以用于检测电力线载波通信模块的协议一致性、性能、接口协议。本发明实施例基于python脚本的电力线载波通信协议一致性检测系统及方法,能够加速电力线通信协议互联互通检测的效率以及企业快速迭代的通信单元模组的软件自动化检测,提升测试的准确性。该检测系统实现针对电力线载波通信协议模块进行协议一致性的自动化检测,通过可靠的检测手段,满足复杂、恶劣的电力线信道环境下多功能、多模式或者多业务的测试需求。采用Python语言实现自动化测试脚本的便利性和快速开发的特点能够在测试用例的开发工作上节约较多的时间,为企业和产品测试提升开发效率。

本发明实施例中的其他有益效果将在下文中进一步述及。

附图说明

图1是本发明具体实施例提供的一种基于Python脚本的电力线载波通信协议一致性检测系统整体框架。

图2是本发明具体实施例提供的电力线通信网络协议栈结构分层。

图3是本发明具体实施例所设计的软件平台和硬件设备平台的交互流程和接口,系统与收发机的交互框图。

图4是本发明具体实施例双模的通信协议业务数据在协议栈中的封装过程。

图5是本发明具体实施例中实现的收发机控制连接,检测系统与载波透明设备接口。

图6是本发明具体实施例的测试系统界面设计图。

图7是本发明具体实施例提供的测试系统界面。

具体实施方式

以下对本发明的实施方式做详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。

需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接既可以是用于固定作用也可以是用于耦合或连通作用。

需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

本发明具体实施例提供一种基于python脚本的电力线载波通信协议一致性检测系统及方法,能够加速电力线通信协议互联互通检测的效率以及企业快速迭代的通信单元模组的软件自动化检测,提升测试的准确性,该检测系统主要针对电力线载波通信协议模块进行协议一致性的自动化检测,该系统主要包括人机交互界面GUI、电力线载波协议栈脚本、单元测试框架unittest、测试用例脚本、被测通信单元、接收机、发射机、报告输出组件、日志记录组件、频谱仪、矢量信号发生器、测试工装,通过可靠的检测手段,满足复杂、恶劣的电力线信道环境下多功能、多模式或者多业务的测试需求。本发明具体实施例基于Python脚本的电力线载波通信协议一致性检测系统,可以用于高效、可靠检测电力线载波通信模块的协议一致性、性能、接口协议。

在一些实施例中,一种基于Python脚本的电力线载波通信协议一致性检测系统,包括:人机交互界面、接收机、发射机、被测通信单元、单元测试框架、协议栈脚本、测试用例脚本、报告输出组件、日志输出组件、频谱仪、矢量信号发生器、测试工装。

人机交互界面:使用python语言和GUI库(wxpython)实现用于测试系统配置参数输入、测试用例条目显示、配置文件修改和保存、配置文件加载、测试用例的选择和控制、系统启动和停止、测试过程日志显示、测试用例进程显示等,且GUI与测试用例脚本采用分离模式进行开发,用例和测试系统界面互不干扰,本系统软件界面的左侧为用例条目选择窗口,右侧为测试日志实时显示窗口,上部为端口配置和测试进程显示。图7示出测试系统界面的具体布局。

接收机、发射机:用于采集和发送电力线载波通信协议数据的两个物理实体单元,测试系统则负责实现串口控制,并依据该物理实体单元进行协议接口开发,采用python语言和serial库实现串口控制,使用struct模块实现接口协议数据帧定义,该接收机物理实体则使用的是深圳市力合微电子股份有限公司开发的载波接收机,控制协议为《深圳市力合微电子股份有限公司HPLC双模_载波透明设备_接口协议V1.1》。

单元测试框架:单元测试框架使用python自带的unittest单元测试框架作为本发明提供用例自动化调用和流程控制。

协议栈脚本:使用python脚本实现国网低压电力线双模通信协议报文组包和解包功能,使用ctypes库实现协议帧的各层数据结构定义,为测试用例脚本提供调用服务,并实现了友好的函数封装。

测试用例脚本:使用python脚本实现每个用例的测试方法,按照《国家电网低压电力线高速双模通信互联互通测试用例》定义的测试用例流程和检查项进行开发。

报告输出组件:用于输出检测报告,将报告以HTML、PDF等格式保存,并提供Web界面供用户查看,报告输出可以采用第三方库unittestreport实现。

日志输出组件:日志组件则使用了loguru库来实现日志的输出和保存。

频谱仪:用于测试被测单元的信号质量和发送频率等测试,可以通过socket连接仪器自带的远程控制接口进行设备的远程控制,测试系统中实现相关用例需要的设置参数和SCPI指令的定义,实现频谱仪的控制,给测试用例提供调用服务。

矢量信号发生器:在矢量发生器中预先将波形文件加载到仪器中,测试用例需要仪器发送时,将波形文件调出来并启动矢量发生器,发送预置波形,可以通过socket连接仪器自带的远程控制接口进行设备的远程控制,测试系统中实现相关用例需要的设置参数和SCPI指令的定义,在测试用例调用仪器时提供服务。

在本发明的实施例中,数据采集和数据发送使用了载波透明转发设备(接收机、发射机),通过电力线与被测单元进行交互,测试系统软件则通过串口进行数据交互,串口驱动的实现使用pyserial,数据处理使用Python编程语言结合ctypes内置库实现协议栈的数据解析、格式转换等,对于协议一致性检查则使用unittest的断言判断,日志组件则使用了loguru库来实现日志的输出和保存,报告输出组件使用unittestreport第三方框架来实现,测试系统界面的开发使用wxpython的GUI库进行界面设计和开发,多个组件按照如下系统框图组合在一起形成本发明所描述的系统。图1示出测试系统框图。

本发明实施例中提供一种协议栈,用于测试低压电力线双模通信协议一致性。本实施例采用的协议栈如结构分层如图2所示。

宽带电力载波通信数据传输协议规定了面向电力用户用电信息采集系统的宽带载波通信网络的物理层、数据链路层和应用层技术,及适用于用电信息采集系统的集中器通信单元与电能表通信单元、采集器通信单元之间的数据交换机制。如图2所示,宽带电力线通信网络的协议栈包括物理层、数据链路层、网络层、传输层以及应用层。通常在宽带电力线组网环境下,网络层和传输层可以省略,应用层实现了通信单元之间的业务数据交互。

在本发明中,被测单元的物理层交互实现使用标准的透明数据转发设备,该设备负责实现电力线载模拟信号的调制解调,接收机解调后的数据通过串口传递给测试系统,测试系统需要发送的数据同样也是通过串口传递给发射机,本发明中的系统通过标准转发设备接口协议实现收发机的控制。

图3是本发明具体实施例所设计的软件平台和硬件设备平台的交互流程和接口,系统与收发机的交互框图。

具体实现步骤如下:

步骤1:在涉及到底层的通信协议开发过程中,往往需要开发语言能够有效的表达和处理所定义的通信协议的数据结构。因此本发明中用python语言的ctypes模块对通信协议进行数据结构定义,此类定义可以更有效的表达通信协议帧的结构。

为了实现如图2的分层协议结构,本系统的协议栈也定义了四个python脚本文件,用于实现具体的分层协议栈数据帧格式的定义以及组包的相关函数。

phybase.py

macbase.py

networkbase.py

appbase.py

双模的通信协议业务数据在协议栈中的封装过程如图4所示。

如下为各层数据帧的组包函数具体实现:

物理层:

物理层一个完整帧格式定义包含MPDU帧载荷

/>

在协议帧的组包过程中的调用顺序是,先完成应用层的数据组包递交到网络层再进行封包,然后再MAC层进行封包,最后到物理层进行封包,最后发送到发射机进行数据发送到电力线介质中,解包则使用逆过程。

步骤2:接收机和发射机设备控制的具体实现:

载波透明设备是PC检测系统软件平台的实体单元,载波透明设备又分为载波透明接入单元(发射机)和载波信道侦听单元(接收机),透明接入单元与信道侦听单元硬件完全一样,软件总体一致。发射机的主要作用是将软件平台组织的数据发送到载波通信介质,并根据需求自动回复SACK与NACK,接收机的主要作用是将载波通信介质里的所有数据实时发送给软件平台,供其进行分析协议一致性判断。

图5示出本发明实施例的检测系统与载波透明设备接口,实现的收发机控制连接。

例如,载波透明设备适配层与PC台体测试软件交互协议的具体实现

/>

定义数据结构

/>

步骤3:测试系统界面的具体实现

首先在wxFormBuilder3.10.1开发工具中完成界面的显示文件的设计,测试系统界面设计如图6所示。然后利用该设计工具生成python的脚本源码。

步骤4:测试用例调用和启动的具体实现

在测试系统界面启动时,先在系统的目录中检索test*.py的文件,认为是测试用例脚本文件,并根据unittest的定义规则,检索用例方法,在界面点击开始运行时,用例初始化过程先加载系统目录下的ini文件读取文件中的参数信息,加载到测试系统中,用于测试用例运行时参数,并启动两个线程在后台运行,一个线程为:test_thread,另一个线程为日志存储线程logger_thread,当测试需要暂停时则将test_thread终止用于实现测试用例的停止,界面上选择具体需要运行的用例时,界面则获取到选择的用例名称,并将名称传递给unittest框架来加载相同名称的用例文件,实现用例的调用,而被调用的测试用例则会使用步骤2的方式进行数据的收发,具体的数据则使用步骤1的方式实现打包,提供给步骤2进行收发。

步骤5:系统架构整体的具体实现

如上可以清楚的描述本系统的关键实施过程,如图1所示的测试系统整体框架,将符合格式要求的报文数据结构,通过各层协议栈脚本文件进行数据帧的组包,并使用步骤2的收发机控制接口实现报文的发送和接收,而具体的测试用例则被测试界面使用步骤3的方式实现启动和加载用例参数,并启动执行,在用例执行过程中,使用响应的方式实现数据的收发和判断,具体顺序是,测试系统通过步骤3加载测试用例->用例通过步骤1实现对应测数据的组包和界面->通过步骤2的实现的接口将数据发送到电力线,然后解包为逆过程。

本发明所述测试系统及方法可以为电力线载波通信单元提供性能指标的测试、收发模式的测试、MCS模式遍历测试、协议一致性测试、加密功能测试。本系统所测试对象的通信协议应符合国家电网发布的国家电网有限公司企业标准Q/GDW12087.1-2020《双模通信互联互通技术规范》,本系统所设计的测试用例流程参考《国家电网低压电力线高速双模通信互联互通测试用例》,本系统所设计的收发机控制协议接口参考《深圳市力合微电子股份有限公司HPLC双模_载波透明设备_接口协议V1.1》。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示或描述的步骤,或者将它们分别制作或者将它们中的多个模块或步骤制作成单个模块来实现。这样,本发明不限制于任何特定的软硬件结合。

以上所述仅为本发明的关键实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

相关技术
  • 一种低压电力线载波通信单元通信能力检测方法及系统
  • 一种低压电力线宽带载波通信协议一致性测试系统和方法
  • 一种基于电力线载波通讯技术的电力线路检测系统及方法
技术分类

06120116485678