動力鋰電池數(shù)據(jù)分析
時間:2022-02-20 11:02:11
導語:動力鋰電池數(shù)據(jù)分析一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
1鋰電池測試系統(tǒng)及數(shù)據(jù)分析軟件組成
1.1鋰電池測試系統(tǒng)。鋰電池測試系統(tǒng)包括上位機,中位機,下位機三大模塊。下位機負責數(shù)據(jù)的采集、數(shù)據(jù)的上傳,控制信息的執(zhí)行;中位機負責協(xié)議的轉(zhuǎn)換、任務(wù)的分發(fā)和透傳;上位機負責流程的編輯,測試過程中的監(jiān)控,測后數(shù)據(jù)的分析,統(tǒng)計數(shù)據(jù)的計算,報表的生成。1.2數(shù)據(jù)分析軟件的組成。數(shù)據(jù)分析軟件包括如下幾個部分:數(shù)據(jù)庫的讀取,數(shù)據(jù)的查詢,曲線繪制,表格視圖,實時顯示,報表生成,曲線對比,數(shù)據(jù)導出等功能。
2數(shù)據(jù)分析軟件設(shè)計
2.1多線程技術(shù)。由于本設(shè)計中,鋰電池的數(shù)據(jù)量比較大,達到百萬級別,讀取數(shù)據(jù)庫是非常耗時的,故本設(shè)計采用的是多線程技術(shù),讀取與顯示界面UI進行分離,本設(shè)計采用是BackgroundWorker組件。利用BackgroundWorker組件的doWork事件方法執(zhí)行耗時的讀取數(shù)據(jù)庫工作,利用BackgroundWorker組件的ProgressChanged事件方法進行數(shù)據(jù)的顯示和進度條的更新。數(shù)據(jù)庫的讀取采用Ado.Net組件,Ado.Net為微軟推出的一款數(shù)據(jù)庫訪問技術(shù),類似Java中JDBC以及Hibernate開源框架。為ORM奠定技術(shù)基礎(chǔ)。本設(shè)計利用Connection類創(chuàng)建數(shù)據(jù)庫連接,利用Command對象承載SQL語句,使用DataSet對象以及DataTable對象作為數(shù)據(jù)容器,裝載數(shù)據(jù)。2.2統(tǒng)計算法。(1)恒流比:恒流充電階段充電容量與當前循環(huán)總充電容量的比值。(2)中值電壓:恒流放電階段的放電容量,該放電容量的一半,對應的電壓值。(3)充放電效率:每次循環(huán)中放電容量與充電容量的比值。(4)容量持有率:當前循環(huán)的放電容量與所有循環(huán)中放電容量的最大值的比值。在百萬級的數(shù)據(jù)量中,如何挖掘到有用的數(shù)據(jù),猶如沙海淘金,只有通過一定的統(tǒng)計量,才能直觀,快速的反映出該電池的各種性能。電池的統(tǒng)計量有很多,其中還包括充電平臺電壓、放電平臺電壓、初始電壓、步次電壓等一系列的統(tǒng)計量。2.3曲線繪制。曲線繪制包括3個部分,第一個為歷史曲線繪制,第二多曲線對比,第三實時顯示。曲線繪制的X軸可以為測試時間,循環(huán)號,步號,放電容量等,曲線繪制的X軸跟Y軸有一定的對應關(guān)系。Y軸有電流,電壓,充電容量,放電容量,充電能量,放電能量等一系列的電池參數(shù)變量。曲線類型有直線,點劃線,點離散等通過它們之間的組合可以繪制出豐富多彩的曲線,達到直觀,可視化的效果。多曲線對比是將多個通道的歷史數(shù)據(jù),同時繪制在一個坐標軸系下,同一電池參數(shù)下的曲線對比采用同一線型,不同曲線顏色來區(qū)分,不同的電池參數(shù)通過不同的曲線線型來進行區(qū)別。實時顯示是在測試過程中,通過動態(tài)實時的觀看繪制曲線的過程,可以初步判斷是否出現(xiàn)異常。本設(shè)計主要采用SQL語句Top關(guān)鍵字,定時刷新,若數(shù)據(jù)量小于1000個數(shù)據(jù)點,全部讀取,繪制曲線。若是數(shù)據(jù)量大于1000個數(shù)據(jù)點,只讀取最新的1000個數(shù)據(jù)點繪制曲線。2.4表格視圖。表格視圖大致可以分為三個部分,循環(huán)表格,工步表格,詳細表格。表格視圖中為了快速響應,本設(shè)計采用DataGridView中”虛模式”,即VirtualMode為True,利用CellValueNeeded事件驅(qū)動,動態(tài)填充所需數(shù)據(jù)。在循環(huán)表格以及工步表格中,數(shù)據(jù)量較小,并且分別有各自的恒流比,中值電壓,充放電效率等統(tǒng)計算法。計算比較繁瑣。故利用泛型Dictionary來存儲每一行的對象,該對象依照ORM原則,建立獨自的類并實例化的結(jié)果。詳細表格數(shù)據(jù)量相對較大,不能再用Dictionary來存儲。本設(shè)計采用動態(tài)刷新,根據(jù)CellValueNeeded事件判斷出請求的行,將該行數(shù)據(jù)以指定的行數(shù)(默認為1000)為冗余。從數(shù)據(jù)庫中提取并顯示數(shù)據(jù)。2.5數(shù)據(jù)導出。本設(shè)計支持Excel數(shù)據(jù)導出,CSV數(shù)據(jù)導出,同時也支持數(shù)據(jù)報表PDF。電池的全生命周期都需要以測試的電池數(shù)據(jù)為支撐。故無論是電池生產(chǎn)商以及新能源汽車生產(chǎn)商都需要電池測試數(shù)據(jù)。一般是以Excel作為為數(shù)據(jù)存儲的媒介。本設(shè)計的數(shù)據(jù)導出功能需要依賴與Microsoft公司的提供的COM組件。盡管有很多第三方的不依賴COM組件的,比如NPOI類似于Java中的POI,還有Epplus等。都可以在沒有安裝Office的情況下完成導出功能,但是他們在大數(shù)據(jù)量導出時,兼容性,魯棒性還有待完善。數(shù)據(jù)報表PDF導出功能,在電池檢測系統(tǒng)中應用也比較實用,一般電池研究院以及質(zhì)檢中心對該功能的使用更為廣泛。對電池檢測完成以后,需要對該類電池的各種性能進行評價。最終形成數(shù)據(jù)報表PDF。相當于該類型電池的合格證書。本設(shè)計在數(shù)據(jù)報表PDF功能中,需要依賴于Interop.AxroPDFLib組件。該組件可以可視化PDF文檔,對PDF操作有良好的封裝。
3結(jié)束語
本設(shè)計主要是在動力鋰電池測試系統(tǒng)中,對測試的電池數(shù)據(jù)進行分析。主要包括曲線繪制功能,實時顯示功能,表格視圖功能,數(shù)據(jù)查詢功能,數(shù)據(jù)導出功能,查看統(tǒng)計數(shù)據(jù),多曲線對比功能等。本設(shè)計滿足要求,以廣泛應用到鋰電池測試系統(tǒng)中。
參考文獻
[1]劉媛,王知學等.分布式電池管理系統(tǒng)監(jiān)控平臺設(shè)計[J].電源技術(shù),2018.10,Vol42,No.10.
[2]李學廣.基于圖像匹配的銀行匯票鑒別技術(shù)的研究與實現(xiàn)[D].東北大學,2015.
[3]鄭宇生.C#多線程編程技術(shù)在數(shù)控測井軟件中的應用[J].石油儀器,2012.
作者:李學廣 單位:國電子科技集團公司第二十二研究所