基于VBA模块的蓄电池循环寿命实验数据处理方法及系统与流程

文档序号:26718713发布日期:2021-09-22 20:18阅读:239来源:国知局
基于VBA模块的蓄电池循环寿命实验数据处理方法及系统与流程
基于vba模块的蓄电池循环寿命实验数据处理方法及系统
技术领域
1.本发明涉及一种用vba在excel表里进行编程,尤其是涉及一种基于vba模块的分区蓄电池循环寿命实验数据处理方法及系统。


背景技术:

2.随着蓄电池在电动自行车和电动三轮车等领域的大量应用,用户对蓄电池的循环寿命性能要求越来越高。为了不断提高蓄电池的深循环性能,企业会模拟用户的实际使用情况对蓄电池组进行循环寿命测试,根据测试的实验数据分析产品结构、材料和生产工艺对循环寿命性能的影响,从而筛选出最优的方案。实验室的蓄电池循环测试设备24小时不停机,在线电池数量几十组,需要将大量的数据导出来用excel等软件进行手动整理并再绘制图像,最后形成测试报告。数据处理工作枯燥、繁琐,占用研发人员大量宝贵的时间,浪费人力物力。
3.因此,有必要开发一种能够自动、高效格式化实验数据的方法,并根据分析人员的需要自动地进行实验数据的可视化分析,从而大幅提高数据处理的效率,减少数据研发人员的工作量,大大节约了研发人员的时间和精力。


技术实现要素:

4.本发明的目的就是为了克服现有技术存在的问题而提供一种快速、自动化、大幅提高数据处理效率的基于vba模块的蓄电池循环寿命实验数据处理方法及系统。
5.为达到上述目的,本发明采用的技术方案如下:
6.一种基于vba模块的蓄电池循环寿命实验数据处理方法,包括以下步骤:
7.s1.建立vba数据处理模块,所述vba数据处理模块包括汇总文件新增模块、实验数据地址选择模块、数据格式化整理模块和图像绘制模块;
8.s2.调用汇总文件新增模块新建汇总excel文件;
9.s3.调用实验数据地址选择模块选择存储所有蓄电池组数据的文件夹地址;
10.s4.调用数据格式化整理模块将每个蓄电池组文件夹的数据整理成需要的格式;
11.s5.调用图像绘制模块绘制图像。
12.进一步地,步骤s2,包括:
13.‑
文件名设置成“汇总+当日日期8位数字”;
14.‑
新建多个工作表,分别命名为“放电时间”、“放电单体电压”、“充电压差”、“充放电比”、“放电时间图”、“放电单体电压图”、“充电压差图”、“充放电比图”;
15.‑
存放图像的工作表底色设置为白色。
16.进一步地,步骤s4,包括:
17.‑
列出实验数据清单,将子文件夹名称依次复制到指定工作表的指定列;
18.‑
合并同一蓄电池组数据,将文件夹名称依次复制到指定工作表的指定列;
19.‑
实验数据排序,从文件名称中截取批次字段,再用找出数字部分,批次
×
100+循
环次数,形成总循环次数;
20.‑
整理放电阶段数据,建立透视表,行区域设置为总循环次数、阶段、方式,列区域设置为数据,数据区域设置为最小值项:电流、最大值项:容量、最小值项:单体1、最小值项:单体2、最小值项:单体3、最小值项:单体4;
21.‑
整理充电阶段数据,修改数据区域设置,分别修改为最大值项:单体1、最大值项:单体2、最大值项:单体3、最大值项:单体4;
22.‑
汇总数据。
23.进一步地,步骤s5,绘制的图像包括:放电时间/放电压差/充电末期电流

循环次数双轴图像、充电压差

循环次数图像、充放电比

循环次数图像、单体电压

循环次数图像。
24.基于一个总的发明构思,本发明的另一个目的在于提供一种基于vba模块的蓄电池循环寿命实验数据处理系统,其特征在于,包括vba数据处理模块,所述vba数据处理模块包括汇总文件新增模块、实验数据地址选择模块、数据格式化整理模块和图像绘制模块;
25.所述汇总文件新增模块用于新建汇总文件,所述实验数据地址选择模块用于选择存储所有蓄电池组数据的文件夹地址,所述数据格式化整理模块用于将每个蓄电池组文件夹的数据整理成需要的格式,所述图像绘制模块用于绘制放电时间/放电压差/充电末期电流

循环次数双轴图像、充电压差

循环次数图像、充放电比

循环次数图像、单体电压

循环次数图像。
26.与现有技术相比,本发明的优点和积极效果如下:
27.1)实现了蓄电池循环寿命实验数据的自动数据处理,并提高了数据分析的效率,减少了工作时间和操作误差,节约了处理数据的时间和精力。
28.2)可方便地在excel中使用,不需要再另外购置新软件,应用广泛,操作简单,使用方便。
附图说明
29.图1为本发明方法的流程示意总图;
30.图2为本发明方法的数据格式化整理模块流程示意图;
31.图3为本发明方法的图像绘制模块流程示意图;
32.图4为本发明系统的结构示意图;
33.图5为实施例中蓄电池循环寿命实验数据处理系统界面。
具体实施方式
34.为使本发明的目的、技术方案和优点更加明白清楚,结合具体实施方式,对本发明做进一步描述,但是本发明并不限于这些实施例。下述实施例中的方法,如没有特别说明,均为本领域的常规方法。
35.下面结合对本发明的具体实施例做详细说明。
36.实验对象为30组蓄电池,每组4个单体。蓄电池组按照静置、放电、充电三个阶段为一个循环,直至蓄电池组的容量衰减为额定容量的80%终止实验,与此同时,测试平台采集蓄电池组的循环时间、总电压、电流数据,并采集每个单体电池的电压数据。测试平台每50次形成一个excel文件,作为一个批次。每组蓄电池数据形成一个文件夹。
37.步骤s1,建立vba数据处理模块,建立的vba数据处理模块包括汇总文件新增模块、实验数据地址选择模块、数据格式化整理模块和图像绘制模块。
38.步骤s2,调用汇总文件新增模块新建汇总excel文件;
39.用workbooks.add指令在电脑桌面新建一个excel文件,文件名设置成“汇总+当日日期8位数字”;用sheets.add指令新建多个工作表,分别命名为“放电时间”、“放电单体电压”、“充电压差”、“充放电比”、“放电时间图”、“放电单体电压图”、“充电压差图”、“充放电比图”,用于存放数据和图像,存放图像的工作表底色设置为白色。
40.步骤s3,调用实验数据地址选择模块选择存储所有蓄电池组数据的文件夹地址,通过application.filedialog(msofiledialogfolderpicker)指令选择所有蓄电池组数据文件夹地址。
41.步骤s4,调用数据格式化整理模块将每个蓄电池组文件夹的数据整理成需要的格式:
42.步骤s401,列出实验数据清单,利用createobject指令将上述的子文件夹名称依次复制到sheet6工作表的第1列。
43.步骤s402,合并同一蓄电池组数据,用dir指令判断sheet6工作表的第1列第1行名称的文件夹中是否有excel格式的文件,如果没有,运行至步骤s403,如果有,用workbooks.open指令打开该文件夹中的第1个excel文件,将1至13列所有数据复制到sheet1里,将excel文件名称复制到第14列。依次打开该文件夹中的excel文件,接续复制数据到sheet1里,直至完成所有文件。
44.步骤s403,实验数据排序。判断sheet1第1行第1列是否有值,没有值直接运行步骤s406,有值运行下一步。用find函数从第14列中的文件名称中截取批次字段,再用searchb找出数字部分,批次
×
100+循环次数,形成总循环次数。
45.步骤s404,整理放电阶段数据。用pivotcaches.create指令在sheet2建立sheet1数据的透视表,行区域设置为总循环次数、阶段、方式,列区域设置为数据,数据区域设置为最小值项:电流、最大值项:容量、最小值项:单体1、最小值项:单体2、最小值项:单体3、最小值项:单体4。在方式列选中放电,用copy指令复制放电阶段数据到sheet3。用容量
÷
放电电流,计算出放电时间。单体电压的最大值减去最小值,计算出放电压差。
46.步骤s405,整理充电阶段数据。在sheet2透视表中修改数据区域设置,分别修改为最大值项:单体1、最大值项:单体2、最大值项:单体3、最大值项:单体4。在方式列选中充电,用copy指令复制放电阶段数据到sheet4。用容量
÷
放电电流,计算出放电时间。单体电压的最大值减去最小值,计算出充电压差。sheet1数据用autofilter field筛选出充电末期电流,用copy指令复制放电阶段数据到sheet4。用copy指令复制放电容量,与充电容量计算出充放电比。然后将放电时间、放电压差、充电末期电流、充电压差、充放电比、单体1、单体2、单体3、单体4用copy指令复制sheet5。
47.步骤s406,汇总数据。用workbooks.open指令打开存储在桌面的“汇总+当日日期8位数字”excel文件,用copy指令将文件夹名称复制到对应的工作表第1行,将放电时间、放电压差、充电末期电流、充电压差、充放电比、单体1、单体2、单体3、单体4用copy指令分别复制到对应的工作表的第2行以下,其中放电时间、放电压差、充电末期电流复制到“放电时间”工作表,单体1、单体2、单体3、单体4复制到“放电单体电压”工作表。
48.步骤s407,重复步骤s401至s406,调用vba数据处理模块处理sheet6第1列中所有文件夹的数据。
49.步骤s5,调用图像绘制模块绘制图像。
50.步骤s501,绘制放电时间/放电压差/充电末期电流

循环次数双轴图像。用workbooks.open指令打开存储在桌面的“汇总+当日日期8位数字”excel文件,读取第2行以下的第1至3列数据,用chartobjects.add指令绘制放电时间

循环次数图像,先设置折线图,后改为xy散点图。设置axisgroup=xlsecondary,将放电压差和充电末期电流设置为次要垂直轴。读取第1行第1列数据作为图像标题,设置合适的垂直坐标范围。向右循环读取每三列数据进行绘制,直至无数据为止。
51.步骤s502,绘制充电压差

循环次数图像。用workbooks.open指令打开存储在桌面的“汇总+当日日期8位数字”excel文件,读取第2行以下的第1列数据,用chartobjects.add指令绘制充电压差

循环次数图像,设置为xy散点图。读取第1行第1列数据作为图像标题,设置合适的垂直坐标范围。向右循环读取每一列数据进行绘制,直至无数据为止。
52.步骤s503,绘制充放电比

循环次数图像。用workbooks.open指令打开存储在桌面的“汇总+当日日期8位数字”excel文件,读取第2行以下的第1列数据,用chartobjects.add指令绘制充放电比

循环次数图像,设置为xy散点图。读取第1行第1列数据作为图像标题,设置合适的垂直坐标范围。向右循环读取每一列数据进行绘制,直至无数据为止。
53.步骤s504,绘制单体电压

循环次数图像。用workbooks.open指令打开存储在桌面的“汇总+当日日期8位数字”excel文件,读取第2行以下的第1至4列数据,用chartobjects.add指令绘制单体电压

循环次数图像,设置为xy散点图。读取第1行第1列数据作为图像标题,设置合适的垂直坐标范围。向右循环读取每四列的数据进行绘制,直至无数据为止。
54.上述实施例仅是本发明的较优实施方式,凡是依据本发明的技术实质对以上实施例所做的任何简单修饰、修改及替代变化,均属于本发明技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1