一种自动化流程控制方法及系统与流程

文档序号:17440122发布日期:2019-04-17 04:38阅读:215来源:国知局
一种自动化流程控制方法及系统与流程
本发明属于自动化测试与校准
技术领域
,更具体地,涉及一种自动化流程控制方法及系统。
背景技术
:随着新能源电动汽车的广泛应用,电池的容量、安全性、健康状态与续航能力日益成为关注重点。电池管理系统(batterymanagementsystem,bms)是对电池进行监控与控制的系统,将采集的电池信息实时反馈给用户,同时根据采集的信息调节参数,充分发挥电池的性能。bms系统在出厂前需要采用多种测试设备协同工作,对bms系统的各项功能指标进行严格测试,该测试过程呈现出测试功能多样化、测试流程复杂化、测试设备集成化的趋势,测试特点如下:1、需要能快速应对测试流程的增、删、改、查;2、对新增的测试设备能及时响应;3、测试流程编辑的可视化和简洁化。在以往的测试系统中,测试流程僵化,功能比较固定;新增的测试功能或测试设备需要专业人士操作,应对不及时,严重影响测试和生产效率;流程编辑界面不够人性化,用户体验不好也会影响生产进度。因此,需要提供一种自动化流程控制方法与装置,使操作人员能够灵活应对各类测试需求,快速并有效地解决在测试过程中遇到的问题,同时加强用户体验,提高测试及生产效率。技术实现要素:针对现有技术的至少一个缺陷或改进需求,本发明提供了一种自动化流程控制方法及系统,其目的在于解决现有的测试系统存在的测试流程僵化、功能固定、测试效率低的问题。为实现上述目的,按照本发明的一个方面,提供了一种自动化流程控制方法,包括以下步骤:s1:根据设备底层驱动的函数头文件分别对各测试设备中的每一个驱动项进行封装,得到若干驱动函数;s2:为每一个驱动函数配置脚本指令,建立驱动函数与对应的脚本指令之间的映射关系;s3:根据选取的脚本指令的集合以及为各脚本指令配置的参数信息生成测试流程;s4:将所述测试流程转换为脚本并运行。优选的,上述自动化流程控制方法,其步骤s2之后还包括以下步骤:s21:根据所述映射关系为每一个测试设备建立脚本指令列表,并为脚本指令列表中的每一个脚本指令配置参数信息,生成参数列表;s22:将每一个测试设备对应的脚本指令列表和参数列表以映射结构表的形式存储在数据库中。优选的,上述自动化流程控制方法,其步骤s3之前还包括以下步骤:s23:从数据库中读取所述脚本指令列表和参数列表并通过上层界面进行显示。优选的,上述自动化流程控制方法,其脚本指令列表包括设备类型、脚本指令名称、脚本指令描述信息、输入输出参数个数;所述参数列表包括脚本指令名称、参数索引、参数描述信息、参数类型、参数方向以及是否为必填项。优选的,上述自动化流程控制方法,其步骤s4之后还包括以下步骤:s5:检测所述脚本的测试效果;若该测试效果不满足测试的功能需求,则修改步骤s3中的测试流程。优选的,上述自动化流程控制方法,其脚本指令采用lua指令。按照本发明的另一个方面,还提供了一种自动化流程控制系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项方法的步骤。优选的,上述自动化流程控制系统,其处理器包括设备封装模块、关系建立模块、测试流程生成模块和代码测试模块;所述设备封装模块用于根据设备底层驱动的函数头文件分别对各测试设备中的每一个驱动项进行封装,得到与测试设备对应的若干驱动函数;所述关系建立模块用于为每一个驱动函数配置对应的脚本指令,建立驱动函数与脚本指令之间的映射关系;所述测试流程生成模块用于根据选取的测试设备对应的脚本指令的集合生成测试流程;所述代码测试模块用于将所述测试流程转换为脚本并运行。优选的,上述自动化流程控制系统,还包括列表生成模块和存储模块;所述列表生成单元用于根据所述映射关系为每一个测试设备建立脚本指令列表,并为脚本指令列表中的每一个脚本指令配置参数信息,生成参数列表;所述存储模块用于将每一个测试设备对应的脚本指令列表和参数列表以映射结构表的形式存储在数据库中。优选的,上述自动化流程控制系统,还包括显示模块;该显示模块用于显示各测试设备的脚本指令列表,以及从所述脚本指令列表中选取的脚本指令的集合所构成的测试流程,以及当前脚本指令对应的参数列表。优选的,上述自动化流程控制系统,还包括测试评估模块;该测试评估模块中预存有各设备的测试标准,用于检测所述脚本的测试结果并分别判断该测试结果是否满足所述测试标准。优选的,上述自动化流程控制系统,其脚本指令列表包括设备类型、脚本指令名称、脚本指令描述信息、输入输出参数个数;所述参数列表包括脚本指令名称、参数索引、参数描述信息、参数类型、参数方向以及是否为必填项。优选的,上述自动化流程控制系统,其脚本指令采用lua指令。总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:(1)本发明提供的自动化流程控制方法及系统,采用脚本指令对各测试设备的驱动函数进行绑定,根据测试需求选取测试设备的脚本指令生成测试流程,以测试流程的形式来控制集成的多种设备对产品进行测试;通过运行由测试流程转换得到的脚本来触发与该脚本中的各个脚本指令对应的驱动函数,实现各设备的测试驱动并获取设备的测试结果;当测试需求发生变化,或需要添加或删除测试设备时,只需修改测试流程中的脚本指令即可,因此可以灵活应对各种测试需求,提高测试效率。(2)本发明提供的自动化流程控制方法及系统,为测试所需的各个测试设备建立脚本指令列表,并为脚本指令列表中的每一个脚本指令配置参数信息,生成参数列表;将每一个测试设备对应的脚本指令列表和参数列表以映射结构表的形式存储在数据库中,当后续需要添加设备时,可直接从数据库中选取新增设备对应的脚本指令列表并将其添加至当前的测试流程中即可,对新增的测试设备能及时响应,无需专业人士操作,进一步提高测试效率。(3)本发明提供的自动化流程控制方法及系统,提供可视化编辑界面,将各测试设备的脚本指令列表,以及从脚本指令列表中选取的脚本指令的集合所构成的测试流程,以及当前脚本指令对应的参数列表进行显示;操作人员通过操作可视化界面上的功能按钮对测试流程进行增删改查,人机交互接界面操作简便,易于实现,用户体验感好。附图说明图1是本发明实施例提供的自动化流程控制方法的流程图;图2是本发明实施例提供的处理器的逻辑框图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。对bms系统的性能进行测试时,需要多种测试设备协同工作,如数字万用表(digitalmultimeter,dmm)、串口com、校准板calibrationboard、直流源dcsource、控制板ctrlboard、示波器osc等,根据测试需求的不同,所需的测试设备也不同,因此,需要能够灵活的增加、删除或修改测试设备来应对不同的测试需求;当添加测试设备时,测试控制系统需要能够对新增设备进行快速响应,以提高测试效率;本实施例以数字万用表为例,对本发明提供的自动化流程控制方法进行详细说明。图1是本发明实施例提供的自动化流程控制方法的流程图,如图1所示,该自动化流程控制方法包括以下步骤:s1:查阅设备编程手册,根据设备驱动提供的函数头文件,基于c/c++语言对设备的底层驱动项进行封装,得到多个驱动函数;例如:万用表常用的底层驱动项包括设备连接、设备关闭、读数据、写数据、设备自查、设备测量等,每一个底层驱动项具有对应的函数头;根据设备驱动提供的函数头文件对常用驱动项进行封装,得到基于c/c++语言的驱动函数;表1所示为万用表封装后的驱动函数列表,驱动函数列表中包括函数头名、驱动项说明和封装后的驱动函数名;表1万用表封装后的驱动函数列表需要指出的是,本发明提供的自动化流程控制方法并无开发语言的限制,上述方案中,可以采用java或其他开发语言代替c/c++作为封装语言。s2:在系统中建立lua状态机(luaregister),为每一个驱动函数配置对应的lua指令,建立驱动函数与lua指令之间的映射关系,实现驱动函数与lua指令的一一映射;映射关系举例如下:lua_register(l,"dmm_connect",connectdmmfunc);lua_register(l,"dmm_selfcheck",selfcheckfunc);lua_register(l,"dmm_measure",dmm_measurefunc);同样的,本发明提供的自动化流程控制方法并无脚本语言的限制,上述方案中,可以采用python或其他脚本语言代替lua,原则是满足封装语言具备与脚本语言之间的互操作能力即可。s3:根据映射关系为万用表建立lua指令列表,并为lua指令列表中的每一个lua指令配置参数信息,生成参数列表;将万用表的各个驱动函数与lua指令关联完成后,为万用表建立lua指令列表,该lua指令列表中包括设备类型、lua指令名称、lua指令描述信息、输入输出参数个数等信息;表2所示为万用表的lua指令列表,如表2所示,设备类型即为万用表,lua指令名称为与驱动函数相关联的lua指令,lua指令描述信息与驱动项说明相对应;表2万用表的lua指令列表设备类型lua指令名描述输入参数个数输出参数个数dmmdmm_connect连接万用表41dmmdmm_measure万用表测量41dmmdmm_selfcheck万用表自检10lua指令列表建立完成后,为列表中的每一个lua指令配置参数信息,生成参数列表;该参数列表中包括lua指令名称、参数索引、参数描述信息、参数类型、参数方向以及是否为必填项等信息。表3所示为万用表的参数列表,如表3所示,根据lua指令列表中的输入输出参数个数对各参数进行编号,生成参数索引;参数列表还需给出参数描述信息、参数类型和参数方向;参数方向“返回值”即代表该参数为输出参数,“是否必填”项的属性值为1或0,分别代表是或否两种字段。表3万用表的参数列表函数名参数索引描述参数类型参数方向是否必填dmm_connect1万用表连接名称string输入1dmm_connect2访问模式integer输入0dmm_connect3访问的超时时间integer输入0dmm_connect4连接成功标识boolean返回值0dmm_measure1dmm测量模式string输入1dmm_measure2量程string输入0dmm_measure3解析度string输入0dmm_measure4万用表连接名称string输入0dmm_measure5仪器测量后的返回值double返回值0s4:将每一个测试设备对应的lua指令列表和参数列表以映射结构表的形式存储在数据库中;每一个测试设备具有一个映射结构表,该映射结构表包括一个lua指令列表和若干个参数列表;其中,lua指令列表为一级表,参数列表为lua指令列表下的二级表;将各个测试设备的映射结构表存储在数据库中以备后续调用。s5:从数据库中读取各测试设备的映射结构表并通过上层界面进行显示;可视化界面上优选包括三个区域:设备函数区、流程列表区和参数列表区,设备函数区用于显示各个测试设备的设备名称,该设备名称的子级为与测试设备的驱动函数对应的lua指令列表;该可视化界面具有可编辑的特点,点击设备名称即可在流程列表区显示与测试设备对应的lua指令列表,点击lua指令列表中的任一个lua指令即可在参数列表区显示该lua指令的参数列表。s6:根据测试需求从上述可视化界面中选取所需测试设备对应的lua指令,并根据该lua指令的参数列表为lua指令配置参数,生成测试流程;操作人员在可视化界面上选中万用表的lua指令列表,双击添加lua指令,将lua指令显示于流程列表中,单击流程列表中的lua指令显示该lua指令的参数列表,在参数列表中为该lua指令配置参数。根据测试功能需求,按照万用表的操作步骤添加其他设备的lua指令,在流程列表区形成命令序列,该命令序列构成当前测试项24v-in;根据测试需求的不同,一个测试流程可能包括多个测试项,每一个测试项完成对产品某一功能的测试。s7:将当前的测试流程转换成lua脚本;点击可视化界面上的“转换成脚本”按钮,将命令序列中的lua指令转换为lua脚本语言。s8:运行上述lua脚本,检测与该lua脚本对应的测试流程的功能是否达到测试标准。点击可视化界面上的“执行”按钮,运行转换后得到的lua脚本,以触发与该lua脚本中的各个lua指令对应的驱动函数,实现各设备的测试驱动并获取各设备的测试结果;首先确认运行的lua脚本可以控制各测试设备正常打开,然后获取测试设备的测试结果,判断测试结果是否满足预设的测试标准;若该lua脚本所实现的功能不满足测试标准,则返回步骤s6,通过添加、删除或修改lua指令及其配置参数对测试流程进行重新编辑,并测试修改后的测试流程对应的lua脚本,重复以上步骤,直至达到测试要求。不同的测试设备的测试设备具有不同的测试标准,以万用表为例进行说明,其测试标准包括一个电压上限值和电压下限值;万用表正常打开并测试bms系统的电压值后,lua脚本从万用表中获取电压值并判断该电压值是否落入电压上限值与电压下限值的范围内,若是,则表明万用表的测试结果正常,测试通过;若否,则表明测试结果异常,需要修改万用表对应的lua指令的配置参数并重新进行测试。不论测试结果是否满足标准,均将测试结构存储在数据库中与万用表对应的映射结构表中,并将测试结果显示在可视化界面上。本实施例还提供了一种自动化流程控制系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序;图2是本发明实施例提供的处理器的逻辑框图,如图2所示,该处理器中例化有设备封装模块、关系建立模块、测试流程生成模块和代码测试模块;该计算机程序可以在处理器的各个功能模块中运行,并实现下述功能。其中,设备封装模块用于根据设备底层驱动的函数头文件,基于c/c++语言分别对各测试设备中的每一个底层驱动项进行封装,得到与测试设备对应的驱动函数;关系建立模块用于建立lua状态机,为每一个驱动函数配置对应的lua指令,建立驱动函数与lua指令之间的映射关系;测试流程生成模块用于根据选取的测试设备对应的lua指令的集合生成测试流程;代码测试模块用于将测试流程生成模块生成的测试流程转换为lua脚本并运行。作为本发明的一个优选实施例,该处理器中还包括列表生成模块和存储模块;列表生成单元用于根据关系建立模块生成的映射关系为每一个测试设备建立lua指令列表,并为lua指令列表中的每一个lua指令配置参数信息,生成参数列表;其中,lua指令列表包括设备类型、lua指令名称、lua指令描述信息、输入输出参数个数;参数列表包括lua指令名称、参数索引、参数描述信息、参数类型、参数方向以及是否为必填项。存储模块用于将每一个测试设备对应的lua指令列表和参数列表以映射结构表的形式存储在数据库中。其中,lua指令列表为一级表,参数列表为lua指令列表下的二级表;将各个测试设备的映射结构表存储在数据库中以备后续调用。作为本发明的一个优选实施例,该处理器中还包括显示模块;该显示模块用于显示各测试设备的lua指令列表,以及从lua指令列表中选取的lua指令的集合所构成的测试流程,以及当前lua指令对应的参数列表。作为本发明的一个优选实施例,该处理器中还包括测试评估模块,该测试评估模块中预存有各设备的测试标准,用于检测lua脚本的测试结果并分别判断该测试结果是否满足各设备的测试标准。本发明提供的自动化流程控制方法及系统,采用lua指令对各测试设备的驱动函数进行绑定,根据测试需求选取测试设备的lua指令生成测试流程,以测试流程的形式来控制集成的多种设备对产品进行测试;通过运行由测试流程转换得到的lua脚本来触发与该lua脚本中的各个lua指令对应的驱动函数,实现各设备的测试驱动;当测试需求发生变化,或需要添加或删除测试设备时,只需修改测试流程中的lua指令即可,因此可以灵活应对各种测试需求,提高测试效率。为了便于说明,描述控制系统时以功能分为多个模块分别描述;当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。本领域的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品;因此,本发明可采用完全硬件实施例、完全软件实施例、或软件和硬件结合的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1