本發(fā)明涉及汽車控制器測試領(lǐng)域,特別是涉及一種被控對象模型的搭建方法及裝置。
背景技術(shù):
隨著汽車電子電器技術(shù)的發(fā)展和電控單元的廣泛應(yīng)用,汽車變得更加舒適、安全、節(jié)能和環(huán)保。但一方面帶來的汽車電子電器系統(tǒng)的日趨復(fù)雜,因此設(shè)置和測試變得至關(guān)重要,所需的設(shè)計(jì)周期更長、成本更高。目前,更多的創(chuàng)新依賴于電子技術(shù),而很多功能的實(shí)現(xiàn)也日益依賴于控制系統(tǒng)。復(fù)雜程度的提高使得全面而高效的測試比以往更加重要。
測試可盡早發(fā)現(xiàn)并改正錯(cuò)誤,降低成本,因此,無論在電子器系統(tǒng)開發(fā)的哪個(gè)環(huán)節(jié),它都是不可或缺的。但目前汽車控制器軟件測試中存在搭建被控對象模型時(shí)間長、配置接口環(huán)境速度慢、測試周期長等問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種被控對象模型的搭建方法及裝置,從而可以解決現(xiàn)有技術(shù)中汽車控制器軟件測試中存在的搭建被控對象模型時(shí)間長、配置接口環(huán)境速度慢、測試周期長的問題。
為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種被控對象模型的搭建方法,包括:
確定預(yù)設(shè)測試軟件的輸入輸出接口以及所述預(yù)設(shè)測試軟件需要測試的被控對象模型,所述被控對象模型包括:輸入接口、被控對象本體模型、被控對象接口模型以及輸出接口;
根據(jù)獲取到的測試需求,固化所述被控對象本體模型和所述被控對象接口模型;
建立包括有多種預(yù)設(shè)車型的CAN輸入輸出接口和IO輸入輸出接口;
根據(jù)所述CAN輸入輸出接口和IO輸入輸出接口,固化所述輸入接口和所述輸出接口。
其中,所述建立包括有多種預(yù)設(shè)車型的CAN輸入輸出接口和IO輸入輸出接口的步驟,包括:
收集并建立多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表;
根據(jù)所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表,生成平臺(tái)化的被控對象接口模型;
通過連接所述被控對象本體模型與所述平臺(tái)化的被控對象接口模型,建立包括有多種預(yù)設(shè)車型的CAN輸入輸出接口和IO輸入輸出接口。
其中,所述方法還包括:
根據(jù)所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表,對所述被控對象模型進(jìn)行實(shí)例化項(xiàng)目的應(yīng)用和仿真。
其中,所述根據(jù)所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件對所述被控對象模型進(jìn)行實(shí)例化項(xiàng)目的應(yīng)用和仿真的步驟包括:
將實(shí)例化項(xiàng)目的CAN協(xié)議描述文件與所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件進(jìn)行對比;
若所述實(shí)例化項(xiàng)目的CAN協(xié)議描述文件中存在有所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件未包含的CAN信號(hào),將所述CAN信號(hào)添加到所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件中。
其中,所述根據(jù)所述多種預(yù)設(shè)車型的硬線接線表,對所述被控對象模型進(jìn)行實(shí)例化項(xiàng)目的應(yīng)用和仿真的步驟包括:
將實(shí)例化項(xiàng)目的硬線接線表與所述多種預(yù)設(shè)車型的硬線接線表進(jìn)行對比;
若所述實(shí)例化項(xiàng)目的硬線接線表中存在有所述多種預(yù)設(shè)車型的硬線接線表未包含的IO接口,將所述IO接口添加到所述多種預(yù)設(shè)車型的硬線接線表中。
本發(fā)明實(shí)施例還提供一種被控對象模型的搭建裝置,包括:
確定模塊,用于確定預(yù)設(shè)測試軟件的輸入輸出接口以及所述預(yù)設(shè)測試軟件需要測試的被控對象模型,所述被控對象模型包括:輸入接口、被控對象本體模型、被控對象接口模型以及輸出接口;
第一固化模塊,用于根據(jù)獲取到的測試需求,固化所述被控對象本體模型和所述被控對象接口模型;
接口建立模塊,用于建立包括有多種預(yù)設(shè)車型的CAN輸入輸出接口和IO輸入輸出接口;
第二固化模塊,用于根據(jù)所述CAN輸入輸出接口和IO輸入輸出接口,固化所述輸入接口和所述輸出接口。
其中,所述接口建立模塊包括:
第一建立單元,用于收集并建立多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表;
生成單元,用于根據(jù)所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表,生成平臺(tái)化的被控對象接口模型;
第二建立單元,用于通過連接所述被控對象本體模型與所述平臺(tái)化的被控對象接口模型,建立包括有多種預(yù)設(shè)車型的CAN輸入輸出接口和IO輸入輸出接口。
其中,所述裝置還包括:
應(yīng)用仿真模塊,用于根據(jù)所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表,對所述被控對象模型進(jìn)行實(shí)例化項(xiàng)目的應(yīng)用和仿真。
其中,所述應(yīng)用仿真模塊包括:
第一對比單元,用于將實(shí)例化項(xiàng)目的CAN協(xié)議描述文件與所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件進(jìn)行對比;
第一添加單元,用于若所述實(shí)例化項(xiàng)目的CAN協(xié)議描述文件中存在有所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件未包含的CAN信號(hào),將所述CAN信號(hào)添加到所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件中。
其中,所述應(yīng)用仿真模塊包括:
第二對比單元,用于將實(shí)例化項(xiàng)目的硬線接線表與所述多種預(yù)設(shè)車型的硬線接線表進(jìn)行對比;
第二添加單元,用于若所述實(shí)例化項(xiàng)目的硬線接線表中存在有所述多種預(yù)設(shè)車型的硬線接線表未包含的IO接口,將所述IO接口添加到所述多種預(yù)設(shè)車型的硬線接線表中。
本發(fā)明的上述技術(shù)方案的有益效果如下:
本發(fā)明實(shí)施例的上述方案中,通過獲取到的測試需求以及建立的CAN輸入輸出接口和IO輸入輸出接口,對測試軟件需要測試的被控對象模型進(jìn)行固化,可實(shí)現(xiàn)軟件測試中被控對象模型的快速搭建、配置與切換,同時(shí)提高測試環(huán)境的搭建速度,縮短測試周期。
附圖說明
圖1為本發(fā)明實(shí)施例的被控對象模型的搭建方法的流程圖;
圖2為本發(fā)明實(shí)施例的測試系統(tǒng)閉環(huán)環(huán)境結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例的被控對象模型的搭建裝置的組成結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例的被控對象模型的搭建方法的具體流程圖。
具體實(shí)施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。
本發(fā)明針對現(xiàn)有技術(shù)汽車控制器軟件測試中存在的搭建被控對象模型時(shí)間長、配置接口環(huán)境速度慢、測試周期長的問題,提供一種被控對象模型的搭建方法,可實(shí)現(xiàn)軟件測試中被控對象模型的快速搭建、配置與切換,同時(shí)提高測試環(huán)境的搭建速度,縮短測試周期。
第一實(shí)施例
如圖1所示,為本發(fā)明實(shí)施例的被控對象模型的搭建方法的流程圖。下面就該圖具體說明該方法的實(shí)施過程。
步驟101,確定預(yù)設(shè)測試軟件的輸入輸出接口以及所述預(yù)設(shè)測試軟件需要測試的被控對象模型,所述被控對象模型包括:輸入接口、被控對象本體模型、被控對象接口模型以及輸出接口;
需要說明的是,預(yù)設(shè)測試軟件的輸入輸出接口包括:CAN輸入輸出接口、IO輸入輸出接口和診斷接口等。
這里的,CAN輸入輸出接口是指支持CAN協(xié)議的輸入接口以及輸出接口。
IO輸入輸出接口是指物理硬件輸入設(shè)備以及輸出設(shè)備接口。
預(yù)設(shè)測試軟件的輸入輸出接口是指對應(yīng)運(yùn)行該預(yù)設(shè)測試軟件的控制器的輸入輸出接口。
如圖2所示,被控對象模型與預(yù)設(shè)測試軟件可通過預(yù)設(shè)測試軟件的輸入輸出接口組成閉環(huán)測試系統(tǒng)。
步驟102,根據(jù)獲取到的測試需求,固化所述被控對象本體模型和所述被控對象接口模型;
這里,舉例說明,若預(yù)設(shè)測試軟件需要測試的對象為整車控制器,則被控對象本體模型即為除整車控制器外的其他部件;
而被控對象接口模型則為整車控制器的輸入命令和需要反饋給整車控制器的閉環(huán)信號(hào)。
步驟103,建立包括有多種預(yù)設(shè)車型的CAN輸入輸出接口和IO輸入輸出接口;
這里,多種預(yù)設(shè)車型是指汽車車型的種類盡可能的多。
需要說明的是,步驟103還可進(jìn)一步包括:
步驟1031,收集并建立多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表;
這里需要說明的是,CAN協(xié)議描述文件主要是指DBC文件。DBC文件可用來描述單一CAN網(wǎng)絡(luò)中各邏輯節(jié)點(diǎn)信息,依據(jù)該文件可以開發(fā)出用來監(jiān)視或分析CAN網(wǎng)絡(luò)中所有邏輯節(jié)點(diǎn)的運(yùn)行狀態(tài)。
硬線接線表可以反映汽車上各電路的物理接線情況。
步驟1032,根據(jù)所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表,生成平臺(tái)化的被控對象接口模型;
這里,在生成平臺(tái)化的被控對象接口模型的過程中,需要考慮接口的方向和測試平臺(tái)的類型等因素。
需說明的是,平臺(tái)化的被控對象接口模型覆蓋多種汽車車型以及多種測試平臺(tái)可供用戶根據(jù)不同的測試需求選擇對應(yīng)的接口模型。
步驟1033,通過連接所述被控對象本體模型與所述平臺(tái)化的被控對象接口模型,建立包括有多種預(yù)設(shè)車型的CAN輸入輸出接口和IO輸入輸出接口。
這里,將需要被控對象本體模型閉環(huán)反饋的信號(hào)與平臺(tái)化的被控對象接口模型進(jìn)行連接,主要包括CAN信號(hào)和IO信號(hào)反饋。
這里以電動(dòng)汽車為例,反饋給控制器的CAN信號(hào)包括電池的狀態(tài)信號(hào)、電機(jī)的狀態(tài)信號(hào)和整車的行車狀態(tài)等,其中預(yù)設(shè)測試軟件在該控制器上運(yùn)行。
硬線信號(hào)IO還需要考慮傳感器的特性,如真實(shí)值與物理值的轉(zhuǎn)換。若是該特性與汽車車型有關(guān)系,還需要進(jìn)行自適應(yīng)設(shè)置,并用初始化文件進(jìn)行參數(shù)化標(biāo)定。
步驟104,根據(jù)所述CAN輸入輸出接口和IO輸入輸出接口,固化所述輸入接口和所述輸出接口。
這里,固化被控對象接口模型的輸入接口和輸出接口具體為:
根據(jù)多種預(yù)設(shè)車型的CAN協(xié)議描述文件,也就是DBC文件,對CAN輸入輸出接口進(jìn)行配置。這里需要根據(jù)測試平臺(tái)的不同進(jìn)行自適應(yīng)調(diào)整,HIL(Hardware-in-the-Loop,硬件在環(huán))、SIL(Software-in-the-Loop,軟件在環(huán))和MIL(Model-in-the-Loop,模型在環(huán))需要匹配不同的CAN輸入輸出接口,不同的測試平臺(tái)的CAN模塊配置會(huì)有差異,如HIL臺(tái)架需要考慮CAN信號(hào)的周期、觸發(fā)類型、方向和延遲時(shí)間、CAN通道的配置等。
根據(jù)多種預(yù)設(shè)車型的硬線接線表對IO輸入輸出接口進(jìn)行配置。這里主要考慮管腳的復(fù)用和自適應(yīng)的選擇。IO的輸入接口需要根據(jù)測試平臺(tái)進(jìn)行自適應(yīng)調(diào)整,HIL、SIL和MIL需要匹配不同的硬件輸入接口,如HIL臺(tái)架需要考慮IO通道的板卡信息、通道信息、高低有效、數(shù)字或模擬和硬件負(fù)載等。
優(yōu)選的,本發(fā)明實(shí)施例中所述方法還可進(jìn)一步包括:
步驟105,根據(jù)所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表,對所述被控對象模型進(jìn)行實(shí)例化項(xiàng)目的應(yīng)用和仿真。
這里,對被控對象模型進(jìn)行實(shí)例化項(xiàng)目的應(yīng)用和仿真可進(jìn)一步優(yōu)化搭建的被控對象模型。
這里,步驟105還可具體包括:
步驟1051,將實(shí)例化項(xiàng)目的CAN協(xié)議描述文件與所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件進(jìn)行對比;
步驟1052,若所述實(shí)例化項(xiàng)目的CAN協(xié)議描述文件中存在有所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件未包含的CAN信號(hào),將所述CAN信號(hào)添加到所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件中。
這里需要說明的是,在將CAN信號(hào)添加到多種預(yù)設(shè)車型的CAN協(xié)議描述文件中后,需返回步驟103繼續(xù)執(zhí)行對CAN輸入輸出接口和IO輸入輸出接口的建立,以進(jìn)一步完善多種預(yù)設(shè)車型的CAN協(xié)議描述文件。
步驟1053,將實(shí)例化項(xiàng)目的硬線接線表與所述多種預(yù)設(shè)車型的硬線接線表進(jìn)行對比;
步驟1054,若所述實(shí)例化項(xiàng)目的硬線接線表中存在有所述多種預(yù)設(shè)車型的硬線接線表未包含的IO接口,將所述IO接口添加到所述多種預(yù)設(shè)車型的硬線接線表中。
這里需要說明的是,在將IO接口添加到多種預(yù)設(shè)車型的硬線接線表中后,需返回步驟103繼續(xù)執(zhí)行對CAN輸入輸出接口和IO輸入輸出接口的建立,以進(jìn)一步完善多種預(yù)設(shè)車型的硬線接線表。
本發(fā)明實(shí)施例提供的被控對象模型的搭建方法,通過獲取到的測試需求以及建立的CAN輸入輸出接口和IO輸入輸出接口,對測試軟件需要測試的被控對象模型進(jìn)行固化,可實(shí)現(xiàn)軟件測試中被控對象模型的快速搭建、配置與切換,同時(shí)提高測試環(huán)境的搭建速度,縮短測試周期。
這里,進(jìn)一步地,在上述被控對象模型搭建完成后,則可根據(jù)所述測試需求,對所述被控對象模型進(jìn)行開閉環(huán)調(diào)試。這里的調(diào)試具體包括:
將被控對象模型與控制器測試軟件進(jìn)行閉環(huán)連接;這里需要根據(jù)測試平臺(tái)的不同進(jìn)行調(diào)整,HIL、SIL和MIL需要匹配不同的集成和連接方式,MIL測試進(jìn)行在模型中將控制器和被控對象進(jìn)行連接,SIL測試需要將控制器和被控對象各自的代碼進(jìn)行集成,而HIL測試將控制器的輸入輸出和HIL臺(tái)架的輸入輸出利用硬線相連。
在完成模型連接和集成后,根據(jù)輸入的測試需求對測試環(huán)境進(jìn)行開閉環(huán)調(diào)試。
這里,應(yīng)用上述搭建的被控對象模型對汽車進(jìn)行功能測試,可提高測試環(huán)境的搭建速度,縮短測試周期。
第二實(shí)施例
如圖3所示,本發(fā)明實(shí)施例還提供一種被控對象模型的搭建裝置,包括:
確定模塊201,用于確定預(yù)設(shè)測試軟件的輸入輸出接口以及所述預(yù)設(shè)測試軟件需要測試的被控對象模型,所述被控對象模型包括:輸入接口、被控對象本體模型、被控對象接口模型以及輸出接口;
需要說明的是,預(yù)設(shè)測試軟件的輸入輸出接口包括:CAN輸入輸出接口、IO輸入輸出接口和診斷接口等。
這里的,CAN輸入輸出接口是指支持CAN協(xié)議的輸入接口以及輸出接口。
IO輸入輸出接口是指物理硬件輸入設(shè)備以及輸出設(shè)備接口。
預(yù)設(shè)測試軟件的輸入輸出接口是指對應(yīng)運(yùn)行該預(yù)設(shè)測試軟件的控制器的輸入輸出接口。
第一固化模塊202,用于根據(jù)獲取到的測試需求,固化所述被控對象本體模型和所述被控對象接口模型;
這里,舉例說明,若預(yù)設(shè)測試軟件需要測試的對象為整車控制器,則被控對象本體模型即為除整車控制器外的其他部件;
而被控對象接口模型則為整車控制器的輸入命令和需要反饋給整車控制器的閉環(huán)信號(hào)。
接口建立模塊203,用于建立包括有多種預(yù)設(shè)車型的CAN輸入輸出接口和IO輸入輸出接口;
第二固化模塊204,用于根據(jù)所述CAN輸入輸出接口和IO輸入輸出接口,固化所述輸入接口和所述輸出接口。
具體的,所述接口建立模塊203還可具體包括:
第一建立單元,用于收集并建立多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表;
這里需要說明的是,CAN協(xié)議描述文件主要是指DBC文件。DBC文件可用來描述單一CAN網(wǎng)絡(luò)中各邏輯節(jié)點(diǎn)信息,依據(jù)該文件可以開發(fā)出用來監(jiān)視或分析CAN網(wǎng)絡(luò)中所有邏輯節(jié)點(diǎn)的運(yùn)行狀態(tài)。
硬線接線表可以反映汽車上各電路的物理接線情況。
生成單元,用于根據(jù)所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表,生成平臺(tái)化的被控對象接口模型;
這里,在生成平臺(tái)化的被控對象接口模型的過程中,需要考慮接口的方向和測試平臺(tái)的類型等因素。
需說明的是,平臺(tái)化的被控對象接口模型覆蓋多種汽車車型以及多種測試平臺(tái)可供用戶根據(jù)不同的測試需求選擇對應(yīng)的接口模型。
第二建立單元,用于通過連接所述被控對象本體模型與所述平臺(tái)化的被控對象接口模型,建立包括有多種預(yù)設(shè)車型的CAN輸入輸出接口和IO輸入輸出接口。
這里,將需要被控對象本體模型閉環(huán)反饋的信號(hào)與平臺(tái)化的被控對象接口模型進(jìn)行連接,主要包括CAN信號(hào)和IO信號(hào)反饋。
具體的,本實(shí)施例的被控對象模型的搭建裝置還可包括:
應(yīng)用仿真模塊205,用于根據(jù)所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件以及所述多種預(yù)設(shè)車型的硬線接線表,對所述被控對象模型進(jìn)行實(shí)例化項(xiàng)目的應(yīng)用和仿真。
具體的,所述應(yīng)用仿真模塊205還可具體包括:
第一對比單元,用于將實(shí)例化項(xiàng)目的CAN協(xié)議描述文件與所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件進(jìn)行對比;
第一添加單元,用于若所述實(shí)例化項(xiàng)目的CAN協(xié)議描述文件中存在有所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件未包含的CAN信號(hào),將所述CAN信號(hào)添加到所述多種預(yù)設(shè)車型的CAN協(xié)議描述文件中。
具體的,所述應(yīng)用仿真模塊205還可具體包括:
第二對比單元,用于將實(shí)例化項(xiàng)目的硬線接線表與所述多種預(yù)設(shè)車型的硬線接線表進(jìn)行對比;
第二添加單元,用于若所述實(shí)例化項(xiàng)目的硬線接線表中存在有所述多種預(yù)設(shè)車型的硬線接線表未包含的IO接口,將所述IO接口添加到所述多種預(yù)設(shè)車型的硬線接線表中。
本發(fā)明實(shí)施例提供的被控對象模型的搭建裝置,通過第一固化模塊獲取到的測試需求以及接口建立模塊建立的CAN輸入輸出接口和IO輸入輸出接口,對測試軟件需要測試的被控對象模型進(jìn)行固化,可實(shí)現(xiàn)軟件測試中被控對象模型的快速搭建、配置與切換,同時(shí)提高測試環(huán)境的搭建速度,縮短測試周期。
第三實(shí)施例
如圖4所示,為本發(fā)明實(shí)施例的被控對象模型的搭建方法的具體流程圖。下面就該圖具體說明該方法的實(shí)施過程。
步驟301,確定測試軟件的輸入輸出接口;
這里,本步驟同時(shí)也確定被控對象模型的結(jié)構(gòu)。
步驟302,固化被控對象本體模型和接口;
這里,對被控對象本體模型和接口的固化是根據(jù)測試需求配置的。
步驟303,建立全覆蓋的CAN描述文件和硬線接線表;
這里,全覆蓋是指覆蓋的車型的種類較多。
步驟304,配置固化的CAN通道和IO通道;
步驟305,實(shí)例化項(xiàng)目的應(yīng)用和仿真;
步驟306,判斷全覆蓋的硬線接線表中是否包括實(shí)例化項(xiàng)目的全部通道;
若是,則執(zhí)行步驟308;否則,則返回步驟303;
步驟307,判斷全覆蓋的CAN描述文件中是否包括實(shí)例化項(xiàng)目全部的CAN信號(hào);
若是,則執(zhí)行步驟308;否則,則返回步驟303。
步驟308,平臺(tái)化模型的閉環(huán)調(diào)試。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。