本發(fā)明涉及BMS系統(tǒng)測試技術(shù)領(lǐng)域,特別涉及一種電池管理系統(tǒng)標(biāo)準(zhǔn)DBC接口自動化測試系統(tǒng)及方法。
背景技術(shù):
隨著新能源電動汽車的迅速發(fā)展,電動汽車所使用的的電池材料的不穩(wěn)定性以及電動汽車動力電池續(xù)航里程短、使用壽命短的問題受到了消費者的日益關(guān)注。為了保證電動汽車電池使用的穩(wěn)定性、提高電池的續(xù)航里程以及使用壽命,目前的商用電池一般需要配備電池管理系統(tǒng)(Battery Managenemt System,BMS),而在實際應(yīng)用過程中,需要對BMS的功能及性能進(jìn)行測試,以確保BMS可以投入使用。
但是隨著BMS越來越多的被應(yīng)用在新能源汽車領(lǐng)域,而各個整車廠家對BMS技術(shù)協(xié)議的要求不一致,導(dǎo)致BMS的測試接口無法統(tǒng)一?,F(xiàn)有技術(shù)中一般是通過人工測試或者借助第三方測試工具進(jìn)行對BMS的功能進(jìn)行測試。但是現(xiàn)有的BMS測試過程中存在較為明顯的缺陷:一是,由于市場上BMS技術(shù)協(xié)議的版本更換頻繁且沒有統(tǒng)一的BMS技術(shù)協(xié)議規(guī)范,不同版本的BMS技術(shù)協(xié)議增加了測試人員的工作難度,因此需要投入較高的人力成本來完成測試。二是,現(xiàn)有的測試過程效率較低,特別是報文測試、解析的速度較慢,尤其是在BMS輸入信號條件較為復(fù)雜的時候,現(xiàn)有的測試效率難以滿足有限的工期要求。三是,由于人工測試過程中容易遺漏測試用例,導(dǎo)致測試覆蓋率和測試結(jié)果的準(zhǔn)確率均較低。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供電池管理系統(tǒng)標(biāo)準(zhǔn)DBC接口自動化測試系統(tǒng)及方法,以解決現(xiàn)有的BMS測試效率以及準(zhǔn)確率低的問題。
為實現(xiàn)以上目的,本發(fā)明采用的技術(shù)方案為:第一方面,提供一種電池管理系統(tǒng)標(biāo)準(zhǔn)DBC接口自動化測試系統(tǒng),該系統(tǒng)包括:
BMS、測試執(zhí)行器、模擬控制器、BMS配置文件、DBC文件庫以及測試用例庫;
模擬控制器與測試執(zhí)行器連接以根據(jù)測試執(zhí)行器發(fā)出的模擬數(shù)據(jù)控制指令產(chǎn)生測試信號量;
模擬控制器通過內(nèi)網(wǎng)CAN通信與BMS連接以將產(chǎn)生的測試信號量發(fā)送至BMS;
BMS配置文件與BMS連接以為BMS提供BMS技術(shù)協(xié)議需求的配置信息;
BMS基于測試信號量和BMS技術(shù)協(xié)議需求的配置信息,生成CAN通信數(shù)據(jù);
測試執(zhí)行器分別與BMS、DBC文件庫以及測試用例庫連接以分別獲取CAN通信數(shù)據(jù)、DBC文件以及調(diào)用所需的測試用例;
測試執(zhí)行器根據(jù)CAN通信數(shù)據(jù)和DBC文件生成測試所需信息,并將測試所需信息與調(diào)用的測試用例的期望結(jié)果進(jìn)行比較,生成測試結(jié)果。
第二方面,提供一種電池管理系統(tǒng)標(biāo)準(zhǔn)DBC接口自動化測試方法,該方法包括:
在測試執(zhí)行器中加載當(dāng)前需要的測試用例以及DBC文件;
測試執(zhí)行器運行測試用例以產(chǎn)生模擬數(shù)據(jù)控制命令,并將產(chǎn)生的模擬數(shù)據(jù)控制命令發(fā)送至模擬控制器;
模擬控制器根據(jù)接收的模擬數(shù)據(jù)控制命令生成測試信號量,并輸出至BMS;
BMS基于BMS配置文件提供的BMS技術(shù)協(xié)議需求的配置信息以及測試信號量,生成CAN通信數(shù)據(jù);
測試執(zhí)行器根據(jù)BMS提供的CAN通信數(shù)據(jù)和DBC文件庫提供的DBC文件生成測試所需信息;
測試執(zhí)行器將測試所需與測試用例的期望結(jié)果進(jìn)行比較,生成測試結(jié)果。
與現(xiàn)有技術(shù)相比,本發(fā)明存在以下技術(shù)效果:本發(fā)明通過將不同的BMS技術(shù)協(xié)議規(guī)范轉(zhuǎn)化為統(tǒng)一的DBC文件形式,提高了測試人員的測試效率。測試執(zhí)行器通過調(diào)用測試用例庫中的測試用例,并運行測試用例輸出模擬信號控制命令以控制模擬控制器產(chǎn)生測試信號量,對BMS進(jìn)行測試,整個過程實現(xiàn)自動化的測試,避免了人工測試過程中出現(xiàn)的測試用例遺漏、BMS測試條件調(diào)試復(fù)雜等問題,極大的節(jié)省了人力成本。
附圖說明
圖1是本發(fā)明一實施例中電池管理系統(tǒng)標(biāo)準(zhǔn)DBC接口自動化測試系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是本發(fā)明一實施例中是電池管理系統(tǒng)標(biāo)準(zhǔn)DBC接口自動化測試系統(tǒng)的應(yīng)用過程示意圖;
圖3是本發(fā)明一實施例中電池管理系統(tǒng)標(biāo)準(zhǔn)DBC接口自動化測試方法的流程示意圖。
具體實施方式
下面結(jié)合圖1至圖3所示,對本發(fā)明做進(jìn)一步詳細(xì)敘述。
如圖1所示,本實施例公開了一種電池管理系統(tǒng)標(biāo)準(zhǔn)DBC接口自動化測試系統(tǒng),該系統(tǒng)包括:
BMS10、測試執(zhí)行器20、模擬控制器30、BMS配置文件40、DBC文件庫50以及測試用例庫60;
模擬控制器30與測試執(zhí)行器20連接以根據(jù)測試執(zhí)行器30發(fā)出的模擬數(shù)據(jù)控制指令產(chǎn)生測試信號量;
模擬控制器30通過內(nèi)網(wǎng)CAN通信與BMS10連接以將產(chǎn)生的測試信號量發(fā)送至BMS10;
BMS配置文件40與BMS10連接以為BMS10提供BMS技術(shù)協(xié)議需求的配置信息;
BMS10基于測試信號量和BMS技術(shù)協(xié)議需求的配置信息,生成CAN通信數(shù)據(jù);
測試執(zhí)行器20分別與BMS10、DBC文件庫50以及測試用例庫60連接以分別獲取CAN通信數(shù)據(jù)、DBC文件以及調(diào)用所需的測試用例;
測試執(zhí)行器20根據(jù)BMS的CAN通信數(shù)據(jù)和DBC文件生成測試所需信息,并將測試所需信息與調(diào)用的測試用例的期望結(jié)果進(jìn)行比較,生成測試結(jié)果。
需要說明的是,本實施例中的系統(tǒng)是基于Vector定義的標(biāo)準(zhǔn)CAN DBC文件,在系統(tǒng)運行時,標(biāo)準(zhǔn)CAN DBC文件可用于將CAN通信數(shù)據(jù)轉(zhuǎn)化為DBC形式的測試信息。測試人員可以利用統(tǒng)一的測試接口進(jìn)行測試工作,減少人為的協(xié)議解析、功能實現(xiàn)的判斷工作,提高了測試效率。
具體地,DBC文件庫50包括:內(nèi)網(wǎng)標(biāo)準(zhǔn)DBC文件、充電機DBC文件以及整車DBC文件。
需要說明的是,內(nèi)網(wǎng)標(biāo)準(zhǔn)DBC文件以及內(nèi)網(wǎng)通信CAN數(shù)據(jù)可以提供BMS10所有的狀態(tài)信息,無需根據(jù)BMS技術(shù)協(xié)議的變更,即可供測試用例執(zhí)行使用;充電機DBC文件可以提供充電CAN通信數(shù)據(jù)對應(yīng)的解析文件;整車DBC文件可以提供整車CAN通信數(shù)據(jù)對應(yīng)的解析文件。
如圖2所示,本實施例中的基于標(biāo)準(zhǔn)的CAN DBC的BMS系統(tǒng)自動化測試方系統(tǒng)的應(yīng)用流程如下:
(1)根據(jù)BMS配置文件40和技術(shù)協(xié)議修改需要修改測試用例庫60中部分的測試用例;
(2)搭建BMS運行平臺,即通過CAN通信連接BMS與模擬控制器;
(3)在測試執(zhí)行器中加載本次測試需要的測試用例及DBC文件;
(4)測試執(zhí)行器20運行測試用例,輸出模擬數(shù)據(jù)控制命令修改模擬控制器30的模擬數(shù)據(jù),使測試用例條件滿足;
(5)模擬控制器30根據(jù)模擬信號控制命令產(chǎn)生測試信號量,輸出至BMS10,BMS10根據(jù)BMS技術(shù)協(xié)議及配置信息生成CAN通信數(shù)據(jù);
(6)測試執(zhí)行器20根據(jù)CAN通信數(shù)據(jù)和DBC文件生成測試所需信息,并將測試所需信息與測試用例期望結(jié)果對比,確認(rèn)測試是否通過;
(7)重復(fù)步驟(4)直到測試用例庫60中的測試用例全部被調(diào)用完;
(8)查看及分析測試結(jié)果;如果有問題,對BMS10進(jìn)行修改后直接從步驟(4)開始運行即可。
如圖3所示,本實施例公開了一種電池管理系統(tǒng)標(biāo)準(zhǔn)DBC接口自動化測試方法,該方法包括如下步驟S1至S7:
S1、測試執(zhí)行器20加載當(dāng)前需要的測試用例以及DBC文件;
具體地,測試執(zhí)行器20從測試用例庫60中根據(jù)實際情況調(diào)用所需的測試用例并加載。
S2、測試執(zhí)行器20運行測試用例以產(chǎn)生模擬數(shù)據(jù)控制命令,并將產(chǎn)生的模擬數(shù)據(jù)控制命令發(fā)送至模擬控制器30;
S3、模擬控制器30根據(jù)接收的模擬數(shù)據(jù)控制命令生成測試信號量,并輸出至BMS10;
需要說明的是,產(chǎn)生的測試信號量包括電池電壓、溫度、電流等所有對BMS系統(tǒng)輸入的信號量。
S4、BMS10基于BMS配置文件40及BMS技術(shù)協(xié)議提供的信息,生成CAN通信數(shù)據(jù);
需要說明的是,BMS技術(shù)協(xié)議需求的配置信息包括電池電壓/溫度報警參數(shù)、BMS系統(tǒng)配置參數(shù)以及高壓系統(tǒng)配置參數(shù)等。
S5、測試執(zhí)行器20根據(jù)BMS10提供的CAN通信數(shù)據(jù)和DBC文件庫50提供的DBC文件生成測試所需信息;
S6、測試執(zhí)行器(20)將測試所需信息與測試用例的期望結(jié)果進(jìn)行比較,生成測試結(jié)果。
需要說明的是,本實施例提供的方法是基于Vector定義的標(biāo)準(zhǔn)CAN DBC文件,標(biāo)準(zhǔn)CAN DBC文件可用于將CAN通信數(shù)據(jù)轉(zhuǎn)化為DBC形式的測試信息。
具體地,在步驟S1之前,還包括如下步驟:
根據(jù)BMS配置文件40和BMS技術(shù)協(xié)議對測試用例庫60中的測試用例進(jìn)行修改。
通過對測試用例庫60中的測試用例進(jìn)行修改,測試用例庫60中的測試用例滿足當(dāng)前BMS測試的需求,提高了測試的準(zhǔn)確率。進(jìn)一步的,本實施例中在BMS配置文件40中的配置信息滿足修改測試用例的需要時,僅通過BMS配置文件40對測試用例進(jìn)行修改,而無需通過修改程序。在BMS配置文件40無法滿足修改測試用例的需要時,結(jié)合BMS技術(shù)協(xié)議一起對測試用例進(jìn)行修改。
具體地,上述的步驟S5中DBC文件庫50提供的DBC文件包括:內(nèi)網(wǎng)標(biāo)準(zhǔn)DBC文件、充電機DBC文件以及整車DBC文件。
這里需要說明的是,內(nèi)網(wǎng)標(biāo)準(zhǔn)DBC文件結(jié)合CAN通信數(shù)據(jù)可以提供BMS系統(tǒng)所有的狀態(tài)信息,無須根據(jù)技術(shù)協(xié)議變更,即可供測試用例執(zhí)行使用。充電機DBC文件是與BMS技術(shù)協(xié)議定義的充電CAN通信數(shù)據(jù)對應(yīng)的解析文件。整車DBC文件是與BMS技術(shù)協(xié)議定義的整車CAN通信數(shù)據(jù)對應(yīng)的解析文件。
具體地,在步驟S7之后,還包括如下步驟:
測試執(zhí)行器20判斷測試用例庫60中的測試用例是否全部調(diào)用完;
如果是,則測試過程結(jié)束;
如果否,則重新執(zhí)行步驟S2。
需要說明的是,在該過程中,測試執(zhí)行器20逐一的從測試用例庫60中調(diào)用測試用例并運行調(diào)用的測試用例,當(dāng)測試執(zhí)行器20將測試用例庫60中的測試用例全部調(diào)用之后,則整個測試過程結(jié)束。該過程保證了測試的覆蓋率,避免了人工調(diào)用測試用例出現(xiàn)的測試用例遺漏的現(xiàn)象,提高了測試的準(zhǔn)確率。
具體地,在步驟S7之后還包括如下步驟:
測試執(zhí)行器20判斷測試結(jié)果是否正確,如果不正確,則對BMS10進(jìn)行修改后執(zhí)行步驟S2。
還需要說明的是,本實施例在測試結(jié)束后,根據(jù)測試結(jié)果生成測試報告。
需要說明的是,以對電池電壓進(jìn)行測試為例,測試執(zhí)行器20調(diào)用的測試用例對電池電壓進(jìn)行測試,測試執(zhí)行器20運行測試用例,輸出模擬信號控制命令以控制模擬控制器30輸出的測試電池電壓為3.81V,測試執(zhí)行器20根據(jù)充電機DBC文件和CAN通信數(shù)據(jù)解析得到測試所需信息,測試執(zhí)行器20根據(jù)測試所需信息判斷有無進(jìn)行電壓過高報警,如果進(jìn)行報警,則和測試用例的期望結(jié)果一致,則測試結(jié)果正確;如果不進(jìn)行報警,則說明與測試用例的期望結(jié)果不相符,則測試結(jié)果不正確。
本實施例公開的方法通過采用測試用例驅(qū)動模擬控制器產(chǎn)生測試信號量,測試執(zhí)行器利用DBC文件解析BMS中產(chǎn)生的CAN通信數(shù)據(jù),來作為測試判斷的依據(jù)進(jìn)行測試。整個過程是由BMS、測試執(zhí)行器、模擬控制器、DBC文件以及測試用例組成的在環(huán)自動測試方法。與傳統(tǒng)的人工測試相比,提高了測試效率,降低了人力成本,通過復(fù)用測試用例,提高了測試覆蓋率并且降低了Bug的遺漏率。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。