一种液压支架控制器软件的仿真测试方法和系统与流程

文档序号:14714667发布日期:2018-06-16 01:06阅读:332来源:国知局
一种液压支架控制器软件的仿真测试方法和系统与流程

本发明涉及软件测试领域,具体而言,涉及一种煤矿开采使用的液压支架控制器软件的仿真测试方法和系统。



背景技术:

综采工作面液压支架控制器是井下煤炭开采过程中控制液压支架进行支撑防护动作的基本单元,目前,一些大型工作面大概有近200个支架控制器协同控制液压支架进行煤炭开采。现有的测试方法通常搭建少量支架控制器组成测试平台,通过人工实时根据程序进度修改控制器的传感器输入信号,来完成支架控制器内部程序逻辑的测试,如CN 201510616938.0公开了一种液压支架电液控制系统的仿真测试系统,就使用了小型液压支架模型来模拟煤炭开采工作面使用的液压支架。

此外,在现有技术中,CN201310341054公开了一种液压支架电液控制系统的仿真系统,其仿真系统包括:液压支架电液控系统仿真器、虚拟液压支架模型、液压支架系统上位机和液压支架控制系统终端控制机。该仿真方法是:用液压支架电液控仿真器模拟真实液压支架的控制器,虚拟液压支架电磁阀组模拟真实液压支架的电磁阀组,虚拟液压支架传感器模拟真实液压支架传感器;通过在液压支架控制系统上位机和液压支架控制系统终端控制机上对液压支架电液控系统仿真器进行监测和与控制,来模拟通过本地与远程操作对真实液压支架的控制方式,其思想是使用软件模拟的方式模拟液压支架的机械、传动结构,避免搭建具有真实液压支架的模型系统,但是该方案缺少将综采工作面现场运行环境下的电液控制系统数据进行提取并分析后在仿真装置上进行模拟和复现工作面现场工况的功能,且液压支架模型为虚拟液压支架模型,缺少更直观的液压支架形象化展示。

由上述现有技术的方案可知,现有的测试方法需要搭建硬件测试平台,并且通过人工干预修改来进行控制器程序逻辑测试,这种方式严重占用硬件资源,并且人为主观操作因素的差异性会影响测试判断结果,甚至会出现完全相反的测试结果,测试效率低,覆盖不全。或者是通过软件模拟硬件测试平台,其准确性受到模拟模型的影响,且占用大量计算资源,同样测试效率较低。



技术实现要素:

为了克服现有技术的上述缺陷,本发明提出了一种基于软件仿真模拟的支架控制器软件的仿真测试方法和仿真测试系统,包括测试服务器和待测支架控制器软件模拟器。测试服务器负责管理各种实际生产工艺流程,异常情况,负载测试等测试用例;待测支架控制器软件模拟器负责创建待测支架控制器软件的外部通讯环境,并进行各类通讯数据模拟。

在测试过程中,测试人员通过测试服务器编制和调取各类测试用例(包括工艺类、异常情况、负载测试等),按照预定义的流程将测试用例发给待测支架控制器软件模拟器;待测支架控制器软件模拟器依据测试用例要求进行通讯模拟,测试待测支架控制器软件;最终根据测试过程中支架控制器软件给出的控制命令判断是否与预期相符,并给出最终的测试结果。

本发明的第一方面,提出了一种液压支架控制器软件仿真测试系统,其特征在于,包括:

测试服务器,包括:测试用例生成模块,任务调度模块,结果校验模块,第一通信模块;

液压支架控制器模拟器,包括:环境模拟模块,控制命令生成模块,外设驱动模块,第二通信模块和液压支架控制器软件数据接口;

其中,所述测试用例生成模块用于根据真实开采情况生成一个或多个测试用例,所述任务调度模块对所述测试用例进行调度,通过所述第一通信模块将所述测试用例依据真实开采情况发送给所述液压支架控制器模拟器;

所述液压支架控制器模拟器收到所述测试用例后,所述环境模拟模块根据所述测试用例生成环境信息,并通过所述液压支架控制器软件数据接口发送给待测试的液压支架控制器软件,所述控制命令生成模块根据所述测试用例生成软件输入数据,并通过所述液压支架控制器软件数据接口发送给所述待测试的液压支架控制器软件;所述外设驱动模块通过所述液压支架控制器软件数据接口接收所述待测试的液压支架控制器软件生成的驱动指令,并将所述驱动指令发送给所述结果校验模块,所述结果校验模块根据所述测试用例和所述驱动指令生成校验结果。

其中,所述测试服务器还包括:

测试报告输出模块,用于根据所述校验结果生成测试报告。

本发明第一方面的一个优选实施方式中,液压支架控制器软件仿真测试系统包括多个所述液压支架控制器模拟器。

特别的,所述测试用例包括:传感器数据、采煤机位置数据、总线负载数据、通讯数据中的一项或多项。

另一方面,本发明提出了一种液压支架控制器软件的仿真测试方法,具体包括:

根据待测试场景生成测试用例;

将所述测试用例发送给液压支架控制器模拟器;

所述液压支架控制器模拟器根据所述测试用例生成软件输入数据,并通过数据接口发送给待测试的所述液压支架控制器软件;

获取所述液压支架控制器软件根据所述软件输入数据生成的驱动数据;

将所述驱动数据与所述测试用例的预期结果进行对比,生成测试结果。

在本发明的仿真测试方法中,所述待测试场景包括:开采工艺、异常情况、负载测试等实际开采过程中存在的场景或情况。

仿真测试方法中提到的所述测试用例的预期结果为所述液压支架控制器软件在所述测试用例情况下的正确控制输出。

在本发明的一个优选的仿真测试方法中,所述根据待测试场景生成测试用例的步骤包括:根据待测试场景生成多个测试用例,并生成所述多个测试用例的测试顺序。

所述液压支架控制器模拟器根据所述多个测试用例生成多组软件输入数据,并通过数据接口发送给多个不同的所述液压支架控制器软件。

可以理解,在真实的煤炭开采场景中,特别是大型工作面综采系统中,同时存在多个液压支架,某些场景下存在超过200个液压支架协同工作完成开采任务,而每个液压支架都具有液压支架控制器和控制软件,而且这些液压控制器需要相互协调配合,完成支架的调直、支撑等工作,真实开采场景同样可能包括多种不同开采工艺、异常情况等,因此为了更真实模拟实际开采情况,并且提高对于待测试液压支架控制器软件的测试覆盖率,需要提供多个测试用例,且实现对多个测试用例的调度操作。

附图说明

图1示出了现有技术中的一种液压支架控制器仿真测试系统的示意框图;

图2示出了根据本发明的一个实施例的液压支架控制器软件仿真测试系统的示意框图;

图3示出了根据本发明的一个实施例的液压支架控制器软件仿真测试系统的硬件网络示意框图;

图4示出了根据本发明的一个实施例的液压支架控制器软件仿真测试方法的流程图;

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用第三方不同于在此描述的第三方方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

实施例一

图2示出了根据本发明的一个实施例的液压支架控制器软件仿真测试系统的示意框图;

图3示出了根据本发明的一个实施例的液压支架控制器软件仿真测试系统的硬件网络示意框图。

如图2、图3所示,根据本发明的一个实施例的液压支架控制器软件仿真测试系统,其特征在于,包括:

测试服务器,包括:测试用例生成模块,任务调度模块,结果校验模块,第一通信模块;

液压支架控制器模拟器,包括:环境模拟模块,控制命令生成模块,外设驱动模块,第二通信模块和液压支架控制器软件数据接口;

其中,所述测试用例生成模块用于根据真实开采情况生成一个或多个测试用例,所述任务调度模块对所述测试用例进行调度,通过所述第一通信模块将所述测试用例依据真实开采情况发送给所述液压支架控制器模拟器;

所述液压支架控制器模拟器收到所述测试用例后,所述环境模拟模块根据所述测试用例生成环境信息,并通过所述液压支架控制器软件数据接口发送给待测试的液压支架控制器软件,所述控制命令生成模块根据所述测试用例生成软件输入数据,并通过所述液压支架控制器软件数据接口发送给所述待测试的液压支架控制器软件;所述外设驱动模块通过所述液压支架控制器软件数据接口接收所述待测试的液压支架控制器软件生成的驱动指令,并将所述驱动指令发送给所述结果校验模块,所述结果校验模块根据所述测试用例和所述驱动指令生成校验结果。

其中,测试用例生成模块用于生成用于测试的一个或者多个测试用例。测试用例的数据应当至少包括传感器数据、采煤机位置数据、总线负载数据、通讯数据中的一项,测试用例的数据可以来自真实的煤炭开采过程,例如,在工作面综采系统进行开采的过程中记录各传感器数据、采煤机位置数据、负载数据、来自自动化采掘系统的控制指令或者人工控制指令等,以及液压支架控制器对这些参数和指令的真实反馈和输出。通过对多种不同情况的真实数据进行记录整理,可以生成多个真实场景的测试用例,从而使仿真测试更加贴近真实工况。

另一方面,在数据库中记录了大量真实场景的数据后,可以使用机器学习算法对这些真实场景数据进行学习和分析,从而生成模拟真实场景的数据和测试用例,例如,使用GAN(Generative Adversarial Networks,对抗生成网络)技术,可以根据大量真实数据生成极为接近真实情况的模拟数据,从而为仿真测试系统提供更多的测试用例,提高测试覆盖率。

任务调度模块用于对测试用例生成的多个测试用例进行分配和调度,在本发明中,既可以对一个液压支架控制器进行多个测试用例的连续仿真测试,也可以对多个协同工作的液压支架控制器进行同时的并行测试,而对于这两种不同情况,都可以通过任务调度模块对测试用例进行分配和调度,实现多种不同的测试。

测试服务器和液压支架控制器模拟器通过通信模块进行通信,从而将测试用例发送给模拟器,并且从模拟器接收反馈数据。在不同的实施方式中,测试服务器和模拟器可以部署在同一台服务器上,在服务器上通过软件方式实现一个或多个模拟器模块,也可以部署在不同的服务器或计算机上,例如,模拟器可以部署在服务器、台式计算机、笔记本电脑、移动终端、手机、平板电脑、嵌入式设备等多种不同的系统或计算平台上,而且根据运算能力,可以在同一台机器部署多个模拟器,或者一台机器部署一个模拟器,同时使用多台机器进行测试,从而使液压支架控制器的测试方式更加灵活。

液压支架控制器模拟器实际上通过数据接口的方式实现对于液压支架控制器的模拟,液压支架控制器的控制逻辑事实上通过控制器的软件代码实现,事实上,我们可以将待测试的控制软件假设为一个黑箱,其具有输入和输出,其输入即液压支架控制器接收到的传感器的环境数据、工况参数和输入的控制指令,输出即液压支架控制器对控制命令的动作输出,实际工作情况下,液压支架控制器将输出的动作指令发送给外部驱动,外部驱动实现对液压支架的驱动控制,完成液压支架动作,因此,在本发明的仿真测试中,将液压支架控制器软件发送给外部驱动的控制指令作为黑箱输出,来完成模拟测试。模拟器的环境模拟模块根据测试用例的数据生成输入液压支架控制器软件的环境参数,模拟器的控制命令生成模块根据测试用例的数据生成输入液压控制器软件的控制指令,环境参数和控制指令以液压支架控制器软件使用的数据格式通过模拟器的数据接口传送给待测试的液压支架控制器软件。液压支架控制器软件执行相应代码后,生成控制指令,控制指令同样通过数据接口的方式传送到模拟器的外设驱动模块,外设驱动模块根据接收到的控制指令生成液压支架对应的驱动动作,并通过通信模块发送给测试服务器的结果校验模块。

本实施例的仿真测试系统事实上完全通过软件仿真的方式实现对液压支架控制器的软件代码进行仿真测试,既无需搭建液压支架模型,也无需在计算机系统中使用软件来模拟液压支架的机械结构和运行,仅通过数据接口的方式,将代表真实情况的测试数据进行封装,并发送给待测的控制软件,同样以数据接口的方式获得待测试控制软件的代码运行结果,并将控制软件的运行结果转换成液压支架的动作,来完成对液压支架控制器软件的测试。使用本发明的系统进行测试,无需关注液压支架控制器真实使用的硬件和软件平台,可以将测试系统搭建在多种不同的计算平台,而且可以通过部署多个模拟器实现多个液压支架控制器软件的协同测试,更接近真实的开采工况。

实施例二

如图4所示的液压支架控制器软件仿真测试方法流程图,

本发明的另一个实施方式提供了一种液压支架控制器软件的仿真测试方法,包括:

根据待测试场景生成测试用例;

将所述测试用例发送给液压支架控制器模拟器;

所述液压支架控制器模拟器根据所述测试用例生成软件输入数据,并通过数据接口发送给待测试的所述液压支架控制器软件;

获取所述液压支架控制器软件根据所述软件输入数据生成的驱动数据;

将所述驱动数据与所述测试用例的预期结果进行对比,生成测试结果。

其中,根据待测试场景生成测试用例的步骤中,测试用例的数据可以来自真实的煤炭开采过程,例如,在工作面综采系统进行开采的过程中记录各传感器数据、采煤机位置数据、负载数据、来自自动化采掘系统的控制指令或者人工控制指令等,以及液压支架控制器对这些参数和指令的真实反馈和输出。通过对多种不同情况的真实数据进行记录整理,可以生成多个真实场景的测试用例,从而使仿真测试更加贴近真实工况。

此外,除使用真实数据生成测试用例外,还可以使用机器学习算法对这些真实场景数据进行学习和分析,从而生成模拟真实场景的数据和测试用例,例如,使用GAN(Generative Adversarial Networks,对抗生成网络)技术,可以根据大量真实数据生成极为接近真实情况的模拟数据,从而为仿真测试系统提供更多的测试用例,提高测试覆盖率。

可以根据待测试场景生成多个测试用例,并生成所述多个测试用例的测试顺序。本发明的方法可以同时对多个待测试液压支架控制器软件进行测试,测试时,根据多个液压支架协同工作的情况,为不同待测软件分配测试用例,并确定不同测试用例的执行顺序和执行时间。

可以使用一个真实的开采情况作为例子来说明本发明的系统和方法,例如,真实开采过程中,需要使用多个液压支架,在长壁工作面中,多个液压支架经常需要进行调直操作,可以将调直操作作为一个测试场景,很多自动化或半自动的综采系统都具备自动调直功能,即液压支架控制器根据传感器的检测结果进行自动调直,以此为例,对液压支架控制器软件进行测试,首先,应当记录真实场景下液压支架调直时各传感器的真实数据,以及液压支架的相应动作,并根据真实的传感器数据和这一过程中外部发给液压支架控制器的指令生成测试用例,由于调直操作在多个液压支架之间进行,因此针对每个待测试的液压支架控制器生成一个对应的测试用例,而在调直操作中,液压支架的动作一般是有执行顺序的,一般从一端顺序执行到另一端,因此,根据实际操作顺序生成测试用例的执行时序,并按照测试的时序将多个测试用例发送给多个模拟器,模拟器将液压支架控制器的输入数据通过数据接口传输给待测试软件,并获取待测软件的输出结果,根据多个待测试液压支架软件返回的输出结果,结合测试用例即预期的执行动作,可以获得液压支架自动调直的测试结果。

本发明实施例方法中的步骤可根据实际需要进行顺序调整、合并和删减。

本发明实施例终端中的单元可根据实际需要进行合并、划分和删减。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

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

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1