APP下载

动力锂电池测试系统中数据分析软件的设计

2019-12-01李学广

电子技术与软件工程 2019年3期
关键词:数据量表格绘制

文/李学广

1 锂电池测试系统及数据分析软件组成

1.1 锂电池测试系统

锂电池测试系统包括上位机,中位机,下位机三大模块。下位机负责数据的采集、数据的上传,控制信息的执行;中位机负责协议的转换、任务的分发和透传;上位机负责流程的编辑,测试过程中的监控,测后数据的分析,统计数据的计算,报表的生成。

1.2 数据分析软件的组成

数据分析软件包括如下几个部分:数据库的读取,数据的查询,曲线绘制,表格视图,实时显示,报表生成,曲线对比,数据导出等功能。

2 数据分析软件设计

2.1 多线程技术

由于本设计中,锂电池的数据量比较大,达到百万级别,读取数据库是非常耗时的,故本设计采用的是多线程技术,读取与显示界面UI进行分离,本设计采用是BackgroundWorker组件。利用BackgroundWorker组件的doWork事件方法执行耗时的读取数据库工作,利用BackgroundWorker组件的ProgressChanged事件方法进行数据的显示和进度条的更新。数据库的读取采用Ado.Net组件,Ado.Net为微软推出的一款数据库访问技术,类似Java中JDBC以及Hibernate开源框架。为ORM奠定技术基础。本设计利用Connection类创建数据库连接,利用Command对象承载SQL语句,使用DataSet对象以及DataTable对象作为数据容器,装载数据。

2.2 统计算法

(1)恒流比:恒流充电阶段充电容量与当前循环总充电容量的比值。

(2)中值电压:恒流放电阶段的放电容量,该放电容量的一半,对应的电压值。

(3)充放电效率:每次循环中放电容量与充电容量的比值。

(4)容量持有率:当前循环的放电容量与所有循环中放电容量的最大值的比值。

在百万级的数据量中,如何挖掘到有用的数据,犹如沙海淘金,只有通过一定的统计量,才能直观,快速的反映出该电池的各种性能。电池的统计量有很多,其中还包括充电平台电压、放电平台电压、初始电压、步次电压等一系列的统计量。

2.3 曲线绘制

曲线绘制包括3个部分,第一个为历史曲线绘制,第二多曲线对比,第三实时显示。

曲线绘制的X轴可以为测试时间,循环号,步号,放电容量等,曲线绘制的X轴跟Y轴有一定的对应关系。Y轴有电流,电压,充电容量,放电容量,充电能量,放电能量等一系列的电池参数变量。曲线类型有直线,点划线,点离散等通过它们之间的组合可以绘制出丰富多彩的曲线,达到直观,可视化的效果。

多曲线对比是将多个通道的历史数据,同时绘制在一个坐标轴系下,同一电池参数下的曲线对比采用同一线型,不同曲线颜色来区分,不同的电池参数通过不同的曲线线型来进行区别。

实时显示是在测试过程中,通过动态实时的观看绘制曲线的过程,可以初步判断是否出现异常。本设计主要采用SQL语句Top关键字,定时刷新,若数据量小于1000个数据点,全部读取,绘制曲线。若是数据量大于1000个数据点,只读取最新的1000个数据点绘制曲线。

2.4 表格视图

表格视图大致可以分为三个部分,循环表格,工步表格,详细表格。表格视图中为了快速响应,本设计采用DataGridView中”虚模式”,即VirtualMode为True,利用CellValueNeeded事件驱动,动态填充所需数据。在循环表格以及工步表格中,数据量较小,并且分别有各自的恒流比,中值电压,充放电效率等统计算法。计算比较繁琐。故利用泛型Dictionary来存储每一行的对象,该对象依照ORM原则,建立独自的类并实例化的结果。详细表格数据量相对较大,不能再用Dictionary来存储。本设计采用动态刷新,根据CellValueNeeded事件判断出请求的行,将该行数据以指定的行数(默认为1000)为冗余。从数据库中提取并显示数据。

2.5 数据导出

本设计支持Excel数据导出,CSV数据导出,同时也支持数据报表PDF。电池的全生命周期都需要以测试的电池数据为支撑。故无论是电池生产商以及新能源汽车生产商都需要电池测试数据。一般是以Excel作为为数据存储的媒介。

本设计的数据导出功能需要依赖与Microsoft公司的提供的COM组件。尽管有很多第三方的不依赖COM组件的,比如NPOI类似于Java中的POI,还有Epplus等。都可以在没有安装Office的情况下完成导出功能,但是他们在大数据量导出时,兼容性,鲁棒性还有待完善。

数据报表PDF导出功能,在电池检测系统中应用也比较实用,一般电池研究院以及质检中心对该功能的使用更为广泛。对电池检测完成以后,需要对该类电池的各种性能进行评价。最终形成数据报表PDF。相当于该类型电池的合格证书。本设计在数据报表PDF功能中,需要依赖于Interop.AxroPDFLib组件。该组件可以可视化PDF文档,对PDF操作有良好的封装。

3 结束语

本设计主要是在动力锂电池测试系统中,对测试的电池数据进行分析。主要包括曲线绘制功能,实时显示功能,表格视图功能,数据查询功能,数据导出功能,查看统计数据,多曲线对比功能等。本设计满足要求,以广泛应用到锂电池测试系统中。

猜你喜欢

数据量表格绘制
Art on coffee cups
《现代临床医学》来稿表格要求
《现代临床医学》来稿表格要求
基于大数据量的初至层析成像算法优化
计算Lyapunov指数的模糊C均值聚类小数据量法
宽带信号采集与大数据量传输系统设计与研究
统计表格的要求
放学后
在转变中绘制新蓝图
本刊表格的要求