專利名稱:具有軟件在環(huán)旁路控制的車輛仿真系統(tǒng)的制作方法
技術領域:
本公開內(nèi)容涉及車輛硬件和軟件仿真系統(tǒng)。
背景技術:
這里提供的背景技術描述是用于大體陳述本公開內(nèi)容的背景。本發(fā)明人在這個背景技術部分描述的工作內(nèi)容以及不被認為是申請日時的現(xiàn)有技術的各描述方面既不明確地也不暗示地被認為是抵觸本公開內(nèi)容的現(xiàn)有技術??梢栽谏a(chǎn)之前在模擬的環(huán)境中測試車輛控制器和硬件以便確保部件和系統(tǒng)保真度。通過車輛仿真系統(tǒng)來提供模擬的環(huán)境。車輛仿真系統(tǒng)用于硬件在環(huán)(HIL)測試。HIL 測試包括使用在目標控制模塊上運行的嵌入軟件,該模塊與物理和模擬的負載相接口。雖然HIL測試可以是有效的,不過HIL測試需要研發(fā)物理負載或實時模擬的負載, 而這可能是昂貴的且僅在后續(xù)研發(fā)循環(huán)中可用。HIL測試也包括使用一組硬件設備,例如車輛控制模塊(例如變速器控制模塊)和信號仿真器。
發(fā)明內(nèi)容
提供車輛仿真系統(tǒng)并且該系統(tǒng)包括第一仿真模型,當被運行時該第一仿真模型模擬車輛模塊的軟件環(huán)(software ring)。車輛仿真系統(tǒng)還包括軟件環(huán)的第二仿真模型。旁路開關具有第一狀態(tài)和第二狀態(tài)。旁路轉換模塊基于旁路信號和環(huán)啟動信號在第一仿真模型和第二仿真模型之間轉換旁路開關。仿真控制模塊基于旁路開關的狀態(tài)運行包括第一仿真模型和第二仿真模型中選定仿真模型的軟件在環(huán)(SIL)測試的車輛仿真模型的代碼。在其他特征中,提供車輛仿真系統(tǒng)且該系統(tǒng)包括多個仿真模型;每個仿真模型均具有相應輸入和輸出。目標選擇模塊基于用戶輸入信號選擇仿真模型的N個目標。N個目標包括變量、信號和節(jié)點,并且N是大于或等于2的整數(shù)。信號跟蹤模塊跟蹤運行車輛仿真模型的代碼期間N個目標的狀態(tài)。數(shù)據(jù)記錄模塊記錄N個目標的狀態(tài)。繪制模塊在圖形用戶界面上繪制N個節(jié)點中M個的狀態(tài),而M是小于或等于N的整數(shù)。本發(fā)明還提供了以下技術方案。方案1. 一種車輛仿真系統(tǒng),包括
第一仿真模型,該第一仿真模型在被運行時模擬車輛模塊的軟件環(huán); 所述軟件環(huán)的第二仿真模型; 具有第一狀態(tài)和第二狀態(tài)的旁路開關;旁路轉換模塊,該旁路轉換模塊基于旁路信號和環(huán)啟動信號在所述第一仿真模型和所述第二仿真模型之間轉換所述旁路開關;以及
仿真控制模塊,其運行車輛仿真模型的代碼,包括基于所述旁路開關的狀態(tài)對所述第一仿真模型和所述第二仿真模型中所選定仿真模型的軟件在環(huán)(SIL)測試。方案2.根據(jù)方案1所述的車輛仿真系統(tǒng),還包括SIL塊,該SIL塊包括所述第一仿真模型,其中
所述第二仿真模型的輸入和輸出被連接到所述SIL塊的內(nèi)部節(jié)點;以及所述SIL塊不包括所述第二仿真模型。方案3.根據(jù)方案1所述的車輛仿真系統(tǒng),其中所述第一仿真模型包括第一組任務,并且所述第二仿真模型包括第二組任務。方案4.根據(jù)方案1所述的車輛仿真系統(tǒng),其中
所述第一仿真模型基于源代碼和第一組自動代碼被生成,并且所述第一組自動代碼基于仿真子模型被生成;以及
所述第二仿真模型不基于源代碼被生成。方案5.根據(jù)方案1所述的車輛仿真系統(tǒng),還包括存儲多個任務的存儲器,其中 所述旁路轉換模塊基于任務啟動信號在所述第一模型和所述第二模型之間轉換所述
旁路開關;以及
所述任務啟動信號識別所述多個任務中的至少一個。方案6.根據(jù)方案1所述的車輛仿真系統(tǒng),還包括選擇機器模型保真水平的機器模型選擇模塊,
其中所述仿真控制模塊基于對應于所述機器模型保真水平的機器模型來運行所述車輛仿真模型。方案7.根據(jù)方案1所述的車輛仿真系統(tǒng),還包括繪制模塊,其在圖形用戶界面上選擇和繪制所述車輛仿真模型的變量、信號和節(jié)點。方案8.根據(jù)方案1所述的車輛仿真系統(tǒng),還包括選擇一組輸入的驅動循環(huán)模塊, 其包括下述各項中的一者
致動(i )由所述車輛仿真模型的SIL塊接收的以及(ii )顯示在圖形用戶界面上的用戶輸入;
選擇預定義信號組;以及選擇車輛記錄的信號組,
其中所述仿真控制模塊基于選定的所述一組輸入來運行所述第一仿真模型和所述第二仿真模型中的一者。方案9.根據(jù)方案1所述的車輛仿真系統(tǒng),其中所述車輛仿真模型包括 包括所述第一仿真模型且接收輸入信號的變速器SIL模型;
基于所述變速器SIL模塊的輸出來運轉的變速器的第一機器模型;以及基于所述第一機器模型的輸出來運轉的發(fā)動機和車輛系統(tǒng)中的至少一者的第二機器模型,
其中所述變速器SIL模型基于所述第二機器模型的輸出來運轉。方案10.根據(jù)方案9所述的車輛仿真系統(tǒng),其中所述車輛仿真模型還包括接收所述第二機器模型的輸出的傳感器模型和控制器局域網(wǎng)輸入模型中的至少一者, 其中所述變速器SIL模型接收所述傳感器模型和所述控制器局域網(wǎng)輸入模型中的所述至少一者的輸出;以及
接收所述變速器SIL模型的輸出的控制器局域網(wǎng)輸出模型和致動器模型中的至少一者,其中所述第一機器模型接收所述控制器局域網(wǎng)輸出模型和所述致動器模型中的所述至少一者的輸出。方案11.根據(jù)方案1所述的車輛仿真系統(tǒng),還包括
孵化器觸發(fā)模塊,其基于所述旁路開關的狀態(tài)啟動所述第二仿真模塊的任務;以及調(diào)度模塊,其基于所述環(huán)選擇信號和任務選擇信號來單獨地選擇和啟動所述第二仿真模型中的選定任務。方案12.根據(jù)方案1所述的車輛仿真系統(tǒng),其中
所述旁路轉換模塊基于所述環(huán)選擇信號將所述旁路開關轉換到第三狀態(tài);以及當所述旁路開關處于所述第三狀態(tài)時所述仿真控制模塊運行所述第一仿真模型和所述第二仿真模型。方案13.根據(jù)方案1所述的車輛仿真系統(tǒng),還包括生成模型的模型生成模塊,其中
所述車輛仿真模型具有N個軟件環(huán),其中N是大于2的整數(shù);以及所述模型生成模塊產(chǎn)生原型軟件環(huán)的原型模型,所述原型軟件環(huán)不同于所述N個軟件環(huán)并且實現(xiàn)不同于所述N個軟件環(huán)中的每一個的整體函數(shù)的整體函數(shù)。方案14.根據(jù)方案13所述的車輛仿真系統(tǒng),還包括 包括所述第一仿真模型的第一 SIL塊;
生成第二 SIL塊的SIL塊生成模塊,其中所述原型模型包括所述第二 SIL塊; 將所述原型模型的輸入和輸出連接到所述第一 SIL塊的節(jié)點的鉤設定模塊;以及觸發(fā)器設定模塊和調(diào)度模塊中的至少一者,其基于所述第一 SIL塊的觸發(fā)器來針對所述第二 SIL塊中的任務建立觸發(fā)器。方案15.根據(jù)方案1所述的車輛仿真系統(tǒng),還包括 包括所述第一仿真模型的第一 SIL塊;
生成第二 SIL塊的SIL塊生成模塊,其中所述第二仿真模型包括所述第二 SIL塊; 將所述第二仿真模型的輸入和輸出連接到所述第一 SIL塊的節(jié)點的鉤設定模塊; 觸發(fā)器設定模塊和調(diào)度模塊中的至少一者,其基于所述第一 SIL塊的觸發(fā)器來針對所述第二 SIL塊中的任務建立觸發(fā)器;以及
旁路開關設定模塊,其產(chǎn)生所述旁路開關,包括針對所述第二仿真模型的啟動連接、禁用連接和觸發(fā)器連接。方案16. —種車輛仿真系統(tǒng),包括
多個仿真模型,所述仿真模型中的每一個均包括相應的輸入和輸出; 目標選擇模塊,其基于用戶輸入信號選擇所述多個仿真模型中的N個目標,其中所述N 個目標包括變量、信號和節(jié)點并且N是大于或等于2的整數(shù);
信號跟蹤模塊,其跟蹤運行車輛仿真模型的代碼期間所述N個目標的狀態(tài); 數(shù)據(jù)記錄模塊,其記錄所述N個目標的狀態(tài);以及繪制模塊,其在圖形用戶界面上繪制所述N個節(jié)點中M個的狀態(tài),其中M是小于或等于 N的整數(shù)。方案17.根據(jù)方案16所述的車輛仿真系統(tǒng),還包括
軟件在環(huán)(SIL)塊,其包括所述多個仿真模型中的至少一個并且當被運行時模擬車輛控制模塊;以及
機器模型,當被運行時模擬車輛的變速器和發(fā)動機中的至少一者, 其中所述SIL塊基于所述機器模型的輸出來運轉, 其中所述機器模型基于所述SIL塊的輸出來運轉,以及其中所述目標選擇模塊選擇所述SIL塊和所述機器模型的目標。方案18.根據(jù)方案16所述的車輛仿真系統(tǒng),還包括 第一仿真模型,當被運行時其模擬車輛模塊的軟件環(huán); 所述軟件環(huán)的第二仿真模型;
具有第一狀態(tài)和第二狀態(tài)的旁路開關;
旁路轉換模塊,該旁路轉換模塊基于旁路信號和環(huán)啟動信號在所述第一仿真模型和所述第二仿真模型之間轉換所述旁路開關;以及
仿真控制模塊,其運行車輛仿真模型的代碼,包括基于所述旁路開關的狀態(tài)對于所述第一仿真模型和所述第二仿真模型中選定仿真模型的軟件在環(huán)(SIL)測試, 其中所述目標選擇模塊選擇所述第一仿真模型和所述第二仿真模型的目標。方案19.根據(jù)方案18所述的車輛仿真系統(tǒng),其中所述車輛仿真模型包括 包括所述第一仿真模型且接收輸入信號的變速器SIL模型;
基于所述變速器SIL模塊的輸出來運轉的變速器的第一機器模型;以及基于所述第一機器模型的輸出來運轉的發(fā)動機和車輛系統(tǒng)中的至少一者的第二機器模型,
其中所述變速器SIL模型基于所述第二機器模型的輸出來運轉,以及其中所述目標選擇模塊選擇所述變速器SIL模型、所述第一機器模型和所述第二機器模型的目標。方案20.根據(jù)方案19所述的車輛仿真系統(tǒng),其中所述車輛仿真模型還包括
接收所述第二機器模型的輸出的傳感器模型和控制器局域網(wǎng)輸入模型中的至少一者, 其中所述變速器SIL模型接收所述傳感器模型和所述控制器局域網(wǎng)輸入模型中的至少一者的輸出;以及
接收所述變速器SIL模型的輸出的控制器局域網(wǎng)輸出模型和致動器模型中的至少一
者,
其中所述第一機器模型接收所述控制器局域網(wǎng)輸出模型和所述致動器模型中的至少一者的輸出,以及
其中所述目標選擇模塊選擇如下各項中的目標(i )傳感器模型和控制器局域網(wǎng)輸入模型中的至少一者以及(ii)控制器局域網(wǎng)輸出模型和致動器模型中的至少一者。從這里提供的說明中可以顯而易見到其他應用領域。應該理解,說明和具體示例僅是說明性目的并且不試圖限制本發(fā)明的范圍。
這里描述的附圖僅是說明性目的并且不以任何方式試圖限制本發(fā)明的范圍。圖1是根據(jù)本公開內(nèi)容的包括車輛仿真模型的車輛研發(fā)過程圖; 圖2是根據(jù)本公開內(nèi)容的車輛仿真模型和圖形用戶界面(GUI)的視圖; 圖3是根據(jù)本公開內(nèi)容的車輛仿真系統(tǒng)的功能框圖4是根據(jù)本公開內(nèi)容的另一車輛仿真模型的一部分的窗口視圖5是圖4的車輛仿真模型的變速器控制塊(變速器控制模塊塊)的窗口視圖6是圖4的車輛仿真模型的孵化器塊(算法模型)的窗口視圖7是示出了根據(jù)本公開內(nèi)容的SIL過程的功能框圖8是示出了圖7的SIL過程的編碼過程的功能框圖9是根據(jù)本公開內(nèi)容的具有輸入信號模型的窗口視圖10是根據(jù)本公開內(nèi)容的具有預定義信號線圖的窗口視圖11是根據(jù)本公開內(nèi)容的與SIL塊構建過程相關的多個窗口的視圖12是示出根據(jù)本公開內(nèi)容的機器模型保真度選擇的窗口視圖13是根據(jù)本公開內(nèi)容的GUI窗口的視圖14是根據(jù)本公開內(nèi)容的調(diào)度系統(tǒng)的窗口和功能框圖15是根據(jù)本公開內(nèi)容的具有孵化器觸發(fā)器和旁路開關的窗口視圖16是示出了根據(jù)本公開內(nèi)容的旁路開關構造的窗口視圖17是根據(jù)本公開內(nèi)容的數(shù)據(jù)處理模塊的功能框圖18是示出根據(jù)本公開內(nèi)容的測量窗口的啟動狀態(tài)的窗口視圖19是根據(jù)本公開內(nèi)容的具有被監(jiān)控目標的窗口視圖20是根據(jù)本公開內(nèi)容的包括目標選擇窗口和繪制窗口的多個窗口的視圖21是根據(jù)本公開內(nèi)容的另一目標選擇窗口的視圖22是根據(jù)本公開內(nèi)容的具有硬件在環(huán)(HIL)線圖和SIL線圖的窗口視圖23是根據(jù)本公開內(nèi)容的多個調(diào)試器窗口的視圖24示出了根據(jù)本公開內(nèi)容的啟動任務的方法;
圖25是根據(jù)本公開內(nèi)容的數(shù)據(jù)處理模塊的功能框圖;以及
圖26示出了根據(jù)本公開內(nèi)容的生成塊的方法。
具體實施例方式下述說明實質(zhì)上僅是示例性的并且不以任何方式限制本公開內(nèi)容、其應用或使用。為了清楚的目的,在附圖中將使用相同附圖標記來表示類似元件。如這里使用的,用語 “A、B和C中的至少一者”應該被認為意味著使用了非排他性邏輯“或”的邏輯(A或B或C)。 應該理解,在不改變本公開內(nèi)容原理的情況下可以以不同次序來執(zhí)行方法中的步驟。如這里所述,術語模塊可以指代專用集成電路(ASIC)、電子電路、執(zhí)行一個或更多個軟件或固件程序的處理器(共享、專用或成組)和/或存儲器(共享、專用或成組)、組合邏輯電路和/或提供所述功能的其他適當元件中的一部分或者包括上述各項。硬件在環(huán)(HIL)測試的第一替代方案包括使用源代碼(例如C代碼、Fortran等) 和/或手編代碼對車輛控制模塊的仿真以及對機器模型的仿真。手編代碼(hand code)可以指的是手動地操作源代碼并且可能包括錯誤。這種方法是不可擴展的,因為與車輛控制模塊相關的代碼是固定的。使用這種方法,則改變源代碼以及執(zhí)行其他仿真是繁瑣的。HIL測試的另一替代方案(被稱為2-模式混合總線測試)包括使用基于模型的軟件來模擬車輛控制模塊和車輛部件或系統(tǒng)?;谀P偷姆抡孳浖?例如Mathworks 的 Matlab 和Simulink )是基于窗口的并且包括函數(shù)塊和相應輸入和輸出的連接從而產(chǎn)生模型。通過仿真軟件,在窗口環(huán)境中研發(fā)出模型并且所述模型被轉換成自動代碼?;谀P偷能浖怯脩粲押玫牟⑶以试S容易地操作模型、函數(shù)塊、信號等。2-模式混合總線測試不允許包括用C代碼(先前存在的C代碼或遺留代碼)編寫的車輛控制模塊的軟件。作為HIL測試的替代方案,可以執(zhí)行軟件在環(huán)(SIL)測試。SIL測試包括汽車控制系統(tǒng)仿真,其中通過在仿真計算環(huán)境中運行車輛控制模塊的實際目標嵌入處理器軟件來獲得全部或一部分控制算法的行為。SIL測試包括模擬負載,例如控制器局域網(wǎng)(CAN)、控制模塊、機器模型、傳感器等的輸入和輸出。在SIL測試環(huán)境中,目標軟件,例如變速器控制模塊(TCM)的軟件,被虛擬鏈接到機器。SIL測試不需要特殊的與機器相關的硬件。機器模型模擬機器(例如,發(fā)動機、變速器或車輛動力學)。機器模型從模擬的控制模塊接收輸入并且產(chǎn)生輸出,所述輸出可以被反饋給模擬的控制模塊。目標軟件到機器模型的虛擬鏈接允許車輛系統(tǒng)在研發(fā)周期的早期被評估。在下述說明中,術語任務指的是在仿真期間執(zhí)行的軟件函數(shù),或者方法過程中執(zhí)行的項目、函數(shù)或步驟。函數(shù)指的是作為較大程序內(nèi)一部分代碼的子例程或子程序。任務可以包括多個子任務。而且,在下述說明中,術語環(huán)指的是一組任務或函數(shù)。SIL塊(或塊)可以包括一個或更多個環(huán)并且用于模擬車輛的控制模塊。例如,可以經(jīng)由變速器塊來模擬車輛的變速器控制模塊。塊可以是系統(tǒng)塊、函數(shù)塊或空塊/零塊(null block)。系統(tǒng)塊被連接到運行時間操作系統(tǒng)并且執(zhí)行與該塊相關的函數(shù)和任務。函數(shù)塊針對系統(tǒng)或模型的具體部分來執(zhí)行函數(shù)??諌K提供對存儲器的訪問。此外,在下述說明中,術語模型指的是一個或更多個SIL塊以及相應的輸入和輸出以及在SIL塊之間的連接。模型可以包括多個子模型。例如,車輛仿真系統(tǒng)模型可以包括具有控制SIL塊的控制模型以及例如發(fā)動機和變速器的機器模型。機器模型指的是被用于模擬車輛硬件部件和/或系統(tǒng)的操作的模型,例如發(fā)動機、變速器、控制器局域網(wǎng)總線、 傳感器等的模型。在圖1中,示出的車輛研發(fā)過程圖包括車輛仿真模型(VSM) 10,當被運行時該車輛仿真模型10執(zhí)行SIL測試。使用VSM 10來測試車輛的控制模塊。仿真包括模擬一個或更多個車輛控制模塊、車輛部件或系統(tǒng),例如發(fā)動機、變速器、傳感器、致動器、網(wǎng)絡總線等。在仿真測試后,基于模型的代碼被轉換成自動代碼,如窗口 12所示,其具有自動代碼14。自動代碼14與窗口 18中所示的自動代碼16所構建的目標軟件的其余部分相結合。自動代碼 14與目標軟件的其余部分一同被編譯、鏈接和構建以便可執(zhí)行。目標軟件構建經(jīng)由測試計算機20被下載到車載目標控制器(目標控制模塊),該控制器之后控制工作臺測試期間與車輛控制模塊相關聯(lián)的車輛操作。工作臺測試可以包括軟件驗證、校準和評估。在圖2中,示出了 VSM 30和圖形用戶界面(⑶1)32的視圖。VSM 30被用于模擬基于軟件和硬件的車輛部件和/或系統(tǒng)的操作。生成仿真測試結果并且經(jīng)由GUI 32和/或繪制GUI (在下文中描述)來示出結果以用于評估目的。在所示示例中,VSM 30包括具有變速器控制塊36的變速器控制模型34以及具有機器塊的機器模型38。例如在圖4和圖5中示出了機器塊的示例。變速器控制模型34模擬車輛的變速器控制模塊(TCM)。示例性TCM是雙離合變速器(DCT)控制模塊和自動變速器控制模塊(例如6速離合-離合型控制模塊)。變速器控制塊36可以具有相應的文件,所述文件具有動態(tài)鏈接庫(DLL)代碼(基于模型的代碼)、源代碼(例如C代碼或遺留代碼)、手編代碼等。變速器控制塊36也可以具有帶自動代碼的相應文件。自動代碼可以關聯(lián)于SIL模型并且基于針對TCM的相應模塊的算法??梢允褂梅抡孳浖?,例如Simulink 來生成自動代碼。機器模型38可以包括例如發(fā)動機機器模型(模擬組合的發(fā)動機硬件和發(fā)動機控制軟件的行為)以及模擬發(fā)動機和變速器的輸出的變速器機器模型。機器模型38可以包括其他車輛模型,例如傳感器模型、致動器模型等。單個的機器模型可以被用于模擬多于一個的車輛部件和/或系統(tǒng)。VSM 30也可以包括具有輸入塊51的輸入仿真模型50和具有輸出塊53的輸出仿真模型52。輸入仿真模型50基于來自機器模型38的輸出54模擬通向TCM的傳感器信號、 硬件輸入和輸出以及CAN輸入。機器模型38的輸出54被反饋到輸入仿真模型50從而提供閉合反饋環(huán)。輸出仿真模型52基于變速器模型36的輸出56模擬通向機器模型38的來自致動器的輸出信號、硬件輸入和輸出以及CAN輸出??梢允褂萌N不同技術來提供傳感器信號、硬件輸入和輸出以及CAN輸入。所述技術可以是經(jīng)由驅動器(駕駛員)輸入塊的選擇塊(圖9所示)來選擇的。在圖4和圖9中示出了示例性驅動器輸入塊。第一技術包括經(jīng)由⑶I 32手動地錄入輸入。圖13示出了⑶I 的另一示例。第二技術包括訪問預定義且被存儲的輸入信號。預定義且被存儲的輸入信號的示例在圖10中被示出。第三技術包括訪問被記錄的車輛信號。例如,被記錄的車輛信號可以是由車輛的溫度傳感器產(chǎn)生的被存儲信號。在仿真期間被記錄的車輛信號可以被用作通向變速器模型36的輸入。VSM 30還包括具有孵化器塊(incubator block) 62的孵化器模型60。孵化器塊 62可以包括旁路和/或原型模型64和相應塊66。每個塊66均可以具有相應算法并且關聯(lián)于變速器模型36的特定環(huán)。旁路模型64可以被用于代替或可以被用作變速器模型36 中的模型的替代性模型。例如變速器模型36可以包括模擬環(huán)的第一模型(第一版本)。孵化器塊可以包括模擬與第一模型的環(huán)相同的環(huán)的第二模型(第二版本)。在仿真期間可以運行與第一模型和/或第二模型相關聯(lián)的代碼。這進一步在下文中被描述。原型模型可以區(qū)別于變速器模型36的模型且執(zhí)行與其不同的函數(shù)。例如,變速器模型36可以具有模擬N個環(huán)的N個子塊,其中N是大于2的整數(shù)。原型模型可以對應于不同于N個環(huán)的環(huán)。現(xiàn)在同樣參考圖3,示出了車輛仿真系統(tǒng)70的功能框圖。車輛仿真系統(tǒng)70包括具有主機控制模塊74和存儲器76的主機72。存儲器76可以遠離主機70并且經(jīng)由網(wǎng)絡訪問或者可以位于主機72內(nèi),如所示。主機控制模塊74包括車輛系統(tǒng)仿真(VSS)控制模塊 78,其控制一個或更多個車輛控制模塊、部件和系統(tǒng)的仿真。VSS控制模塊78可以控制將源代碼和/或手編代碼轉換成基于模型的代碼(例如dll代碼);結合由源代碼產(chǎn)生的基于模型的代碼以及經(jīng)由仿真軟件產(chǎn)生的基于模型的代碼;以及將基于模型的代碼轉換成自動代碼。主機控制模塊72還包括模型生成模塊80、調(diào)度模塊82、孵化器觸發(fā)模塊84、開關生成模塊86、驅動循環(huán)模塊88、機器模型選擇模塊90、數(shù)據(jù)處理模塊92、校準模塊94以及調(diào)試器模塊96。模型生成模塊80生成SIL模型和相應塊。例如,模型生成模塊80可以被用于生成VSM 30、變速器模型34、輸入模型50、輸出模型52和機器模型38。模型生成模塊80可以生成旁路和/或原型模型。模型生成模塊80可以建立旁路和/或原型模型(新模型),其包括將新模型的輸入和輸出鉤掛到例如變速器控制塊的目標。鉤掛(hooking)可以例如指的是將塊的輸入和輸出連接到塊和/或模型的信號線或節(jié)點。目標可以是節(jié)點、信號線、輸入、輸出、被存儲的變量等。還參考圖31和圖32描述了模型生成模塊80。調(diào)度模塊82調(diào)度執(zhí)行任務的次序。調(diào)度模塊82可以是基于事件和/或時間的。 可以基于條件來執(zhí)行任務,以及/或者可以例如以序列次序來執(zhí)行任務。作為示例,可以在出現(xiàn)特定條件時執(zhí)行一系列任務。在相同時間段期間可以執(zhí)行多個任務。調(diào)度模塊82可以調(diào)度算法模型任務、部件軟件任務和控制系統(tǒng)軟件任務。用戶可以調(diào)度和再次調(diào)度任務以便在各時刻被執(zhí)行。僅舉例來說,當在操作系統(tǒng)任務列表內(nèi)調(diào)度函數(shù)時,用戶可以從函數(shù)任務列表中選擇函數(shù)。用戶可以將選定的函數(shù)從一視圖框中拖拽到另一視圖框中并且更具體地拖拽到被調(diào)度任務中的一個。當用戶結束對函數(shù)的選擇時,調(diào)度模塊82將該函數(shù)插入到被調(diào)度任務中所述一個的上方或下方從而再次調(diào)度函數(shù)。調(diào)度模塊82也可以在用戶再次調(diào)度操作系統(tǒng)任務列表中的該函數(shù)時禁用該函數(shù)并且將該函數(shù)標記為被禁用。用戶也可以繞開被調(diào)度的任務以便于另一任務。僅舉例來說,當在操作系統(tǒng)任務列表內(nèi)調(diào)度函數(shù)時,用戶可以選擇繞開該函數(shù)。用戶可以例如通過右鍵點擊該函數(shù)并選擇 “旁路”選項從而選擇繞開該函數(shù)。之后,當要執(zhí)行該函數(shù)時用戶可以從函數(shù)任務列表中選擇執(zhí)行另一函數(shù)來代替該函數(shù)。以此方式,可以繞開該函數(shù)??梢允謩拥卦诘讓觗ll文件中繞開函數(shù)。與執(zhí)行該函數(shù)相關的頭文件可以被修改以便指示出旁路。當與被繞開函數(shù)相關聯(lián)的鉤(hook)被禁用時可以產(chǎn)生新鉤來連接新函數(shù)。這允許代替被繞開函數(shù)來執(zhí)行新函數(shù)。設定、清除和添加鉤命令可以被用在相應代碼中來產(chǎn)生、設定、移除和禁用鉤。這允許dll代碼在被運行時調(diào)用該新函數(shù)而不是被繞開函數(shù)。孵化器觸發(fā)模塊84建立且控制對孵化器塊(即旁路塊和/或原型塊)的觸發(fā)。圖 15中示出了建立觸發(fā)的示例。開關生成模塊86可以是孵化器觸發(fā)模塊84的一部分并且生成且建立旁路開關以便啟動旁路模型。圖15和圖16中示出了示例性旁路開關。孵化器觸發(fā)模塊84可以包括旁路開關模塊98,其基于接收到的用戶輸入信號來改變旁路開關的狀態(tài)。驅動循環(huán)模塊88控制通向VSM 30的一個或更多個控制模型的輸入。例如,驅動循環(huán)模塊88可以在用戶輸入、預定義信號輸入和存儲的車輛信號之間選擇并將其提供給變速器控制塊36。還參考圖9描述了這個選擇。機器模型選擇模塊90選擇一個或更多個機器模型的保真水平,例如機器模型38的保真水平。保真水平指的是機器模型的復雜性和機器模型準確地模擬車輛的相應部件和 /或系統(tǒng)的程度。例如,機器模型可以在模擬或不模擬傳感器的情況下模擬車輛系統(tǒng)。例如, 當選擇低機器保真水平時,可以模擬發(fā)動機并且發(fā)動機的速度可以直接反饋到變速器控制塊36。作為替代方案,當選擇高機器保真水平時,可以模擬發(fā)動機的運轉和發(fā)動機速度傳感器。發(fā)動機速度傳感器塊的輸出可以被反饋到變速器控制塊36。與模擬低機器保真水平的機器模型相比,模擬高機器保真水平的機器模型可以更好地匹配車輛性能。與低機器保真水平相比,對于高機器保真水平而言通常需要更長的處理時間。數(shù)據(jù)處理模塊92選擇要監(jiān)控的目標。與被監(jiān)控目標相關的數(shù)據(jù)被存儲在存儲器 76中作為目標數(shù)據(jù)文件100。還參考圖17進一步描述了數(shù)據(jù)處理模塊92。校準模塊94允許校準存儲器76中的變量或存儲值(校準文件102中的)。校準模塊94可以調(diào)節(jié)各種類型的值,包括布爾值、標量值、表值等。調(diào)試器模塊96被用于調(diào)試例如VSS 30的代碼。參考圖29進一步描述了調(diào)試。存儲器76還存儲例如基于源代碼的庫110、基于建模環(huán)境的庫112、輸入共享變量116、輸出共享變量118和函數(shù)庫120。基于源代碼的庫110包括基于源代碼和/或手編代碼生成的模型(或模型組121)。源代碼和/或手編代碼被轉換成能夠被加載到基于模型的環(huán)境中的基于模型的代碼。因為使用基于模型的軟件來生成模型,所以可以在仿真環(huán)境中觀察模型和相應塊。模型可以包括.xml文件123、. dll和.lib文件125以及.zip文件127。校準軟件使用.xml文件123來產(chǎn)生校準窗口以便調(diào)整校準值。.dll和.lib文件 125指的是動態(tài)鏈接庫(dll)和靜態(tài)庫(lib)文件,其被基于模型的仿真軟件用于提供具有模型和塊的⑶I,例如如圖4-6所示。.zip文件127可以包括.xml文件、.dll文件和.lib 文件。.zip文件也可以包括定義文件、校準文件和壓縮的源代碼?;诮-h(huán)境的庫112包括在使用建模環(huán)境的基于模型的仿真軟件中生成的模型。模型可以包括控制模型122、機器模型124、傳感器模型126、CAN模型128和致動器模型130等?;谠创a的庫110和基于建模環(huán)境的庫112可以包括具有算法模型(例如變速器算法模型)的環(huán)庫。機器模型124可以包括發(fā)動機模型132、變速器模型134和/或其他車輛系統(tǒng)模型136。機器模型124可以包括傳感器模型126、CAN模型128和致動器模型130。傳感器模型126可以被用于模擬車輛的傳感器,例如發(fā)動機速度傳感器、車輛速度傳感器、溫度傳感器、壓力傳感器、流速傳感器等。CAN模型128可以被用于模擬從車輛的CAN接收的輸出信號。致動器模型130可以被用于模擬致動器,例如車輛的火花塞、電動馬達、節(jié)氣門、電磁閥等。輸入和輸出共享變量116、118可以指的是由模型的塊共享的變量。輸入和輸出共享變量116、118可以是全局變量或者可以被指定到特定塊和/或函數(shù)。函數(shù)庫120可以包括其他標準塊,例如用于產(chǎn)生環(huán)的一個或更多個塊的數(shù)學函數(shù)。主機72也可以包括監(jiān)控器140、用戶輸入設備142和編譯器144。監(jiān)控器140顯示由主機控制模塊74生成的⑶I 146。用戶輸入設備142可以是例如鍵盤、鼠標、觸摸屏等。用戶輸入設備142可以包括監(jiān)控器140。編譯器144可以編譯源代碼、手編代碼、基于模型的代碼(.dll和.lib代碼)和/或自動代碼。在圖4中,示出了具有VSM的第一部分152的窗口 150的視圖。VSM包括具有驅動器塊156的驅動器模型154 ;帶有變速器控制塊160的變速器控制模型158 ;帶有變速器機器塊164的變速器機器模型162 ;以及帶有發(fā)動機和系統(tǒng)機器塊168的發(fā)動機和車輛機器模型166。每個塊156、158、164、168均具有被提供給彼此的相應的輸入和輸出信號169, 如所示??梢酝ㄟ^用戶經(jīng)由窗口 150來建立每個信號的連接??梢酝ㄟ^針對每個塊156、 158、164、168打開相應窗口(⑶I)來展開每個塊156、158、164、168的內(nèi)部構造。這可以通過例如雙擊塊156、158、164、168中的選定塊來實現(xiàn)。作為示例,圖5中示出了變速器控制塊160的內(nèi)部構造。作為示例,驅動器塊156可以產(chǎn)生各種信號,其被提供給變速器控制塊160或VSM 的其他塊。驅動器塊生成的信號可以包括點火開關信號、制動踏板信號、加速踏板信號、變速器換擋器信號、變速器分接頭信號、空氣調(diào)節(jié)離合器信號、電池電壓信號、發(fā)動機冷卻劑信號、車輪滑移信號、車輛速度信號、級別信號、氣壓信號、環(huán)境溫度信號、油溫信號等。變速器控制塊160可以產(chǎn)生可提供給變速器機器塊164的各種信號。變速器控制塊產(chǎn)生的信號可以根據(jù)被模擬的變速器而包括泵速信號、奇偶離合器命令信號、換擋桿壓力信號、電磁閥控制信號、變速器扭矩請求信號等。對于具有DCT的車輛系統(tǒng)仿真而言,可以針對6速離合-離合變速器系統(tǒng)仿真產(chǎn)生不同的輸出控制信號組。變速器機器塊164可以生成被提供給發(fā)動機和車輛機器塊166的各種信號。變速器機器塊生成的信號可以包括壓力信號、發(fā)動機速度信號、奇偶軸速信號、變速器扭矩信號、奇偶離合器信號、叉位置信號、奇偶離合器壓力信號等。發(fā)動機和車輛機器塊166可以產(chǎn)生可被反饋給變速器控制塊160的各種信號。發(fā)動機和車輛機器塊生成的信號可以包括發(fā)動機扭矩信號、冷卻劑溫度信號、空氣調(diào)節(jié)信號、車輪速度信號、變速器速度信號、車輛速度信號、發(fā)動機氣流信號等。在圖5中,示出了圖4的VSS的變速器控制塊160的窗口 170的視圖。變速器控制塊160包括變速器算法塊172并且還可包括具有輸入和輸出CAN塊178、180的輸入和輸出CAN模型174、176、具有孵化器塊184的孵化器模型182以及具有塊190、192的其他模型
186,188ο輸入CAN塊178生成被變速器控制塊160接收的信號。變速器算法塊172生成由輸出CAN塊180和/或孵化器塊184接收的信號。孵化器塊184生成可以由變速器算法塊 172接收的輸出信號??梢詮淖兯倨魉惴▔K172的內(nèi)部塊中得出孵化器塊184的輸入信號。 孵化器塊184的輸出信號可以被提供給變速器算法塊172中的塊。VSS中可以不包括孵化器模型182和孵化器塊184。系統(tǒng)仿真可以使用嵌入在變速器算法塊172內(nèi)的變速器控制模塊軟件而不使用孵化器模型182。作為示例,變速器控制源代碼(例如C代碼)可以被直接修改,變速器控制模塊軟件可以被重構,并且之后可以經(jīng)由仿真對修改進行測試。可以通過使用孵化器模型182來避開和/或最小化這個過程。孵化器塊184可以是包括基于模型的算法的子系統(tǒng)。功能環(huán)可以被建模并且被包括在孵化器塊184的庫中。在仿真期間可以進行和核實對于孵化器塊184內(nèi)的軟件環(huán)模型的增強和修改。孵化器塊184中的算法模型可以被自動編碼到C文件以便在目標車輛控制模塊上運行和補丁構建測試??梢曰谧兯倨魉惴▔K172的一個或更多個觸發(fā)器輸出信號來觸發(fā)孵化器塊184 的函數(shù)。觸發(fā)器輸出信號由框191表示。由圖15中示出的分接器193接收觸發(fā)器信號。
同樣參考圖6,示出了孵化器塊184的窗口 200的視圖。塊202包括相應的輸入和輸出,其可以由塊202共享且/或與孵化器塊184外部的塊共享。在圖7中,示出了圖釋SIL過程的功能框圖。SIL過程248包括構建過程和使用過程。構建過程可以由第一操作系統(tǒng)(例如Linux )支持。使用過程可以由第二操作系統(tǒng)(例如 Windows )支持。構建過程包括轉換構建記錄252的源代碼250和/或手編代碼從而產(chǎn)生在使用過程中使用的部件或塊。運行展開構建過程254,其包括運行源代碼的交叉編譯(編譯框 256)、解析源代碼(解析框258)、產(chǎn)生靜態(tài)和動態(tài)鏈接庫(wrap框沈0)、壓縮源代碼(zip框沈2)并且在打包文件中提供最終文件以用于使用過程。構建過程提供可以被存儲在zip文件(壓縮文件)中的模型組沈4。模型組包括.xml文件沈6、. dll和.lib文件沈8以及.zip 文件270。. xml文件包括描述了 . dll文件內(nèi)容的信息。使用過程包括使用在構建過程中產(chǎn)生的模型組沈4。這包括將來自構建過程的編譯代碼提供到基于模型的環(huán)境中,例如由Simulink 所提供的環(huán)境。使用過程278包括打開模型觀0,例如車輛系統(tǒng)模型,由框282表示。之后可以使用對應于被打開模型的文件來填充對話⑶I或菜單,由得到SIL塊284表示。基于.xml文件266來構造SIL塊,由構造 SIL塊286表示?;谠跇嫿ㄟ^程254中生成的.dll和.lib文件268來升級(更新)被打開的模型,由wrap框288表示。之后運行被升級的模型來模擬車輛系統(tǒng),由框290表示。模擬可以包括代碼調(diào)試并且可以是基于構建過程2M期間生成的源代碼。在圖8中,示出了 SIL過程M8的編碼過程300的功能框圖。SIL過程248包括使用源-目標轉換模塊302、SIL解析模塊304、庫構建模塊306、校準模塊308、SIL塊模塊 310和DLL構建模塊312。源-目標轉換模塊302是將源代碼314轉換成目標代碼316的交叉編譯器。源-目標轉換模塊302產(chǎn)生與除編譯器所運行的平臺之外的平臺相兼容的二進制編碼。源-目標轉換模塊302可以例如產(chǎn)生與Windows 相兼容而與Linux 不兼容的目標代碼。SIL解析模塊304從源代碼314和相應目標代碼316中提取軟件信息。這種被提取信息被用于產(chǎn)生.xml文件318和定義(.def)文件320。. xml文件318包含描述源代碼 314 (即變量、校準值、函數(shù)等)的信息。定義文件包含描述庫中什么數(shù)據(jù)將被導出的信息。庫構建模塊306基于目標代碼和定義文件來產(chǎn)生.dll和.lib文件322、324。校準模塊308從數(shù)據(jù)文件中提取校準信息并且交叉編譯.dll文件322(基于模型的代碼)。這個被提取信息可以被用于生成.xml文件。SIL塊模塊310提供⑶I并且讀取包含源代碼信息的.xml文件318。⑶I向用戶呈現(xiàn)信息。SIL塊模塊310基于用戶配置(user configuration)來產(chǎn)生基于模型的源代碼 330。基于模型的源代碼的一個示例是使用仿真軟件(例如Simulink )生成的S函數(shù)源代碼。DLL構建模塊312將基于模型的源代碼330連同庫(.dll和/或.lib文件322、324) 一起轉換從而生成在仿真環(huán)境中運行的.dll文件332。在圖9中,示出了具有輸入信號模型342的窗口 340的視圖。輸入信號模型342被用于選擇驅動循環(huán)并且包括驅動器塊344、用戶預定義信號塊346、車輛信號塊348和開關塊350、352、354。開關塊350、352、3M將來自驅動器塊344、用戶預定義信號塊346和車輛信號塊348中一者的驅動循環(huán)信號選擇性地提供給開關塊350、352、3M下游的塊。例如,開關塊350、352、3M可以將選定的驅動循環(huán)信號提供給變速器控制塊160。圖10中示出了預定義信號的示例。在圖10中,示出了帶有預定義信號線圖的窗口 370的視圖。窗口 370包括點火開關位置信號372、制動踏板位置信號374、加速踏板位置信號376、自動變速器換擋器位置信號378和變速器齒輪分接頭(transmission gear tap)信號380。信號372-380可以被存儲在圖3的存儲器76中。在圖11中,示出了與SIL塊構建過程相關聯(lián)的多個窗口的視圖。示出了庫瀏覽器窗口 400、模型窗口 402、SIL窗口 404和模型選擇窗口 406。仿真系統(tǒng)的用戶可以打開庫瀏覽器窗口 400來生成SIL塊,例如變速器控制塊160。除SIL塊外,還選擇了代碼生成目錄??梢越?jīng)由模型窗口 402和SIL窗口 404來實現(xiàn)SIL塊和對應模型的配置。模型窗口被稱為GUI,其顯示當前模型和對應塊。在圖11所示的模型窗口中,示出了變速器控制模型158和變速器控制塊160。SIL窗口 404識別正在SIL構建框410中構造的當前模型的名稱。在輸入菜單412 和輸出菜單414中分別列出了模型的輸入和輸出??梢孕薷牟藛?12、414,包括增加和刪除選定的輸入和輸出。模型選擇窗口 406示出與當前模型相關聯(lián)的文件。在圖12中,示出了圖釋機器模型保真度選擇的窗口 430的視圖。窗口 430包括第一保真水平選擇標簽(基礎的)432和第二保真水平選擇標簽(性能的)434。第一保真水平或基礎水平低于第二保真水平或性能水平。雖然示出了兩個水平,不過可以包括和選擇任意數(shù)量的水平。第二保真水平可以包括模擬沒有使用第一保真水平模擬的附加部件和/或系統(tǒng)。 第二保真水平可以包括模擬沒有使用第一保真水平模擬的傳感器和離合器。相對于使用第二保真水平模擬的變速器叉致動系統(tǒng),第一保真水平可以模擬簡化的變速器叉致動系統(tǒng)。 與第二保真水平相關的加載和處理時間可能要長于與第一保真水平相關的加載和處理時間。在圖13中,示出了 GUI窗口 450。可以使用例如MathWorks 的Mmulink Guide軟件來生成⑶I窗口 450。⑶I窗口 450包括用戶輸入部分452以及仿真監(jiān)控和結果部分454。 用戶輸入部分452包括條件和系統(tǒng)設定,例如變速器油溫滑塊456、發(fā)動機溫度滑塊458、環(huán)境溫度滑塊460、變速器齒輪分接頭選擇器462、自動變速器換擋選擇器(PRNM4321) 464、 變速器換擋模式選擇框466、節(jié)氣門位置滑塊468、制動踏板位置滑塊470、氣壓位置滑塊 472、級別滑塊474、輪胎打滑速度滑塊476和電池電壓滑塊478。仿真監(jiān)控和結果部分4M可以包括機器模型變量、軟件變量、控制模塊變量或其他車輛仿真模型變量。仿真監(jiān)控和結果部分妨4包括參數(shù)儀表456,例如針對發(fā)動機速度、 變速器輸入速度、變速器輸出速度、車輛速度等的儀表。參數(shù)儀表中的一個可以度量多個參數(shù),例如變速器偶軸速度、變速器奇軸速度和發(fā)動機曲軸速度(軸速)。偶軸和奇軸可以指的是雙離合變速器的軸,該離合器包括用于偶齒輪的第一軸和用于奇齒輪的第二軸。通過參數(shù)儀表458示出了這樣的示例。參數(shù)儀表458包括兩個子儀表460、462。第一子儀表460包括指示偶軸速度的第一指針464和指示發(fā)動機曲軸速度的第二指針466。第二子儀表包括指示奇軸速度的第一指針468和指示發(fā)動機曲軸速度的第二指針470。
仿真監(jiān)控和結果部分妨4也可以包括所獲得的齒輪框472、發(fā)動機轉矩框474、變速器管線壓力框476、換擋桿壓力框478、變速器叉位置框480、電磁閥位置和/或壓力框 482、偶離合器參數(shù)框484和奇離合器參數(shù)框486。偶和奇參數(shù)框可以包括壓力、位置、流量和溫度框。上述框指示出針對給定時間的仿真參數(shù)值。在圖14中,示出了調(diào)度系統(tǒng)502的窗口 500和功能框圖。窗口 500包括任務列表部分504和算法(algo)任務部分506。任務列表部分列出了周期性任務(OS任務)510-539 和與特定模型和/或SIL塊相關聯(lián)的事件任務。例如,任務可以在預定時間被順序地執(zhí)行和基于事件或條件被開始。算法任務部分506列出了與任務列表部分504內(nèi)的每個任務相關聯(lián)的觸發(fā)器(trigger) 550-570??梢岳缤ㄟ^點擊任務來啟動和禁用任務。觸發(fā)器調(diào)用可以被指定到周期性任務和指定成任意次序的環(huán)調(diào)用。圖3的調(diào)度模塊82基于接收到的用戶輸入信號來控制任務的啟動和禁用,用戶輸入信號例如是通過選擇窗口 500中的任務來生成的。調(diào)度系統(tǒng)502包括調(diào)度模塊82,其可以提供調(diào)度窗口 500以及運行時間操作系統(tǒng) (RT0S)580、SIL塊582和孵化器塊584。RTOS 580幾乎實時地服務于應用請求。術語實時指的是在車輛中發(fā)生或執(zhí)行事件、任務和條件的時間。SIL塊582可以基于來自RTOS 580 的信號來操作。SIL塊582生成被提供給孵化器塊584的觸發(fā)器。觸發(fā)器被用于啟動孵化器塊內(nèi)的塊(例如旁路塊和/或原型塊)的任務。在圖15中,示出了具有孵化器觸發(fā)器592和旁路開關594的窗口 590的視圖。一個或更多個來自控制模型(例如變速器控制模型160)的觸發(fā)器信號被分接器592接收。觸發(fā)器信號被提供給分路器(splitter) 596,其針對每個環(huán)或塊生成至少三個觸發(fā)器。這三個觸發(fā)器包括輸入和輸出捕獲觸發(fā)器597、598以及執(zhí)行觸發(fā)器600。輸入和輸出捕獲觸發(fā)器597、598被用于向孵化器塊發(fā)出信號以及寫下(或更新)來自孵化器塊的信號。執(zhí)行觸發(fā)器600被用于觸發(fā)例如環(huán)或塊的任務。旁路開關594可以具有兩種或更多種狀態(tài)。在一種實施例中,旁路開關包括如所示的兩種狀態(tài)。旁路開關594中第一旁路開關的第一狀態(tài)關聯(lián)于啟動在變速器控制塊160 內(nèi)部以dll形式存儲的環(huán)(第一塊)的預先存儲(第一)版本。當?shù)谝婚_關處于第一狀態(tài)時執(zhí)行觸發(fā)器被直接提供給第一塊。第一開關的第二狀態(tài)關聯(lián)于在孵化器塊184內(nèi)部以算法模型形式存在的環(huán)(第二塊或旁路塊)的更新(第二)版本。當旁路塊被啟動時第一塊被繞過。 當?shù)谝婚_關處于第二狀態(tài)時執(zhí)行觸發(fā)器被提供給旁路塊。在另一實施例中,開關594包括第三狀態(tài),其允許用戶啟動第一塊和旁路塊二者的仿真運行。當?shù)谝婚_關處于第三狀態(tài)時執(zhí)行觸發(fā)器被提供給第一塊和旁路塊二者。這允許運行并評估第一塊和旁路塊二者。在圖16中,示出了窗口 620的視圖,其示出了旁路開關構造。旁路開關構造包括被用于啟動環(huán)的旁路算法的旁路開關622。旁路開關622具有啟動狀態(tài)6 和禁用狀態(tài)626。 當處于啟動狀態(tài)6M時觸發(fā)器6 被提供給旁路算法。使用旁路開關增加了關于啟動和禁用SIL塊的便宜性并減少了與其相關的時間。取代了啟動或禁用單獨任務,可以經(jīng)由單個開關啟動和禁用例如與特定環(huán)相關的任務組。這也減少了與以每次一個任務為基礎來啟動和禁用許多任務相關的錯誤。旁路開關允許在現(xiàn)有SIL塊和新生成的基于算法的SIL塊之間的轉換。這允許經(jīng)由一個或更多個仿真來進行先前和新生成SIL塊之間的性能比較。在圖17中,示出了數(shù)據(jù)處理模塊650的功能框圖。數(shù)據(jù)處理模塊650記錄和繪制選定目標的數(shù)據(jù)。數(shù)據(jù)處理模塊650包括目標選擇模塊652、信號跟蹤模塊654、線圖選擇模塊656、數(shù)據(jù)記錄模塊658和繪制模塊660。目標選擇模塊652在存儲器內(nèi)存儲N個選定目標的列表以便監(jiān)控接收到的用戶輸入信號。N是大于或等于2的整數(shù)。信號跟蹤模塊654 可以跟蹤選定信號的狀態(tài)。線圖選擇模塊656選擇所述N個選定目標中的一個或更多個以便繪圖(M個目標,其中M是小于或等于N的整數(shù))。數(shù)據(jù)記錄模塊658記錄存儲器中所述N 個選定目標的數(shù)據(jù)。繪制模塊660例如繪制與M個選定目標相關的GUI信號。在圖18中,示出了窗口 670的視圖,其示出了測量窗口 674的啟動狀態(tài)672。啟動狀態(tài)0指示禁止繪制。啟動狀態(tài)1指示啟動繪制。在圖19中,示出了帶有被監(jiān)控目標682的窗口 680的視圖。被監(jiān)控目標682被示作塊684的輸出信號。被監(jiān)控目標682可以是例如N個選定目標中的M個選定目標,如參見圖17所描述的。在圖20中,示出了包括目標選擇窗口 700和繪制窗口 702的多個窗口的視圖。目標選擇窗口 700示出了選擇N個目標中的M個。目標選擇窗口 700包括模擬的數(shù)據(jù)列表 704和線圖列表706。被模擬的數(shù)據(jù)列表704是選定目標的列表以便監(jiān)控和記錄相關數(shù)據(jù)。 線圖列表706是需執(zhí)行信號繪圖的被模擬的數(shù)據(jù)列表704中的目標的選定列表。被模擬的數(shù)據(jù)列表包括N個目標710-733的列表。線圖列表706包括M個目標740-746的列表。在圖21中,示出了另一目標選擇窗口 747的視圖。使用HIL測試生成的仿真結果可以與使用SIL測試生成的仿真結果相比較。目標選擇窗口 747包括HIL比較選擇框748。 這允許針對選定目標執(zhí)行一種或更多種比較。圖3的數(shù)據(jù)處理模塊92例如可以基于接收到的用戶輸入信號來進行這種比較。數(shù)據(jù)處理模塊92可以基于接收到的用戶輸入信號來啟動HIL比較。圖22中示出了車輛速度的HIL比較線圖的一個示例。在圖22中,示出了針對特定目標具有硬件在環(huán)(HIL)線圖750和SIL線圖751的窗口 749的視圖。HIL線圖和SIL線圖是針對車輛速度的并且分別在HIL測試和SIL測試期間被提供。在圖23中,示出了多個調(diào)試器窗口的視圖。調(diào)試器窗口包括代碼窗口 752和觀察窗口 753。代碼窗口示出了逐行代碼運行并且突出顯示或指示出正被運行的當前行。示出了作為168-191所識別的代碼行。代碼行可以通過逐行來步進,或者可以單次運行多行代碼。代碼行也可以被運行直到到達斷點為止。這提供了調(diào)試變速器控制塊(SIL) 160內(nèi)部的代碼的靈活性。觀察窗口 753包括針對誤差正被監(jiān)控的變量或參數(shù)的列表。再次參考圖3和圖24,其中示出了啟動任務的方法。雖然主要參考圖3的實施例描述了該方法,不過該方法可以應用到本公開內(nèi)容的其他實施例。方法可以開始于800。可以通過圖3的主機控制模塊74的模塊來執(zhí)行下述控制。在802,調(diào)度模塊82、孵化器觸發(fā)模塊84和/或旁路轉換模塊98可以確定是否繞過一個或更多個塊。例如,當?shù)谝粔K被繞過時,第二塊可以被啟動并且用作第一塊的替代方案。當繞開第一塊時執(zhí)行任務804,否則控制可以結束于803。在804,調(diào)度模塊82和/或孵化器觸發(fā)模塊84可以確定一個或更多個環(huán)是否被啟動。當一個或更多個環(huán)被啟動時執(zhí)行任務806,否則執(zhí)行任務812。
在806,孵化器觸發(fā)器模塊84打開孵化器觸發(fā)器⑶I,如圖15的窗口 590。在808, 孵化器觸發(fā)器模塊84接收環(huán)選擇信號。函數(shù)選擇信號和/或任務選擇信號可以被接收。在 810,孵化器觸發(fā)器模塊84和/或旁路轉換模塊98基于在808接收的選擇信號來啟動選定的環(huán)、函數(shù)和/或任務。選擇信號可以基于用戶輸入信號而生成。這可以例如當用戶改變旁路開關的狀態(tài)時發(fā)生。在812,調(diào)度模塊82確定任務是否要被啟動。在任務被啟動時執(zhí)行任務814,否則控制可以結束于813。在814,調(diào)度模塊82打開調(diào)度窗口,例如圖14的調(diào)度窗口 500。在816,調(diào)度模塊82接收任務選擇信號。任務選擇信號可以基于接收到的用戶輸入信號而生成。在818,調(diào)度模塊82啟動選定的任務和/或子任務。在820,保存在810和818處執(zhí)行的升級。在822,機器模型選擇模塊90可以基于接收到的用戶輸入信號來選擇機器模型保真水平。在824,數(shù)據(jù)處理模塊92可以選擇要監(jiān)控的目標。數(shù)據(jù)處理模塊92確定是否針對被監(jiān)控目標存儲數(shù)據(jù)和繪制信號。在826,校準模塊94調(diào)整選定的校準模塊。在828,驅動循環(huán)模塊針對當前仿真選擇驅動循環(huán)。驅動循環(huán)模塊可以基于例如圖 9的開關350-354的狀態(tài)來選擇驅動循環(huán)。開關350-354的狀態(tài)可以基于接收到的用戶輸入信號被調(diào)整。選擇的驅動循環(huán)可以是例如用戶輸入的驅動循環(huán)、預定義的驅動循環(huán)或車輛存儲的驅動循環(huán)??梢酝ㄟ^例如使用圖13的⑶I 450來提供用戶輸入的驅動循環(huán)。預定義的驅動循環(huán)可以包括預定義信號線圖,例如圖10的信號線圖。車輛存儲的驅動循環(huán)包括在仿真期間作為車輛系統(tǒng)模型的輸入使用的被記錄的車輛信號。在830,⑶I (例如圖13的⑶I 450)可以被打開并且執(zhí)行仿真。在832,仿真的結果被記錄并繪圖??梢栽谕粫r段執(zhí)行任務830和832。方法可以結束于834。圖M的上述任務意味著說明性示例;可以基于應用而順序地、同步地、同時地、連續(xù)地、在交疊的時間段期間或者以不同次序來執(zhí)行所述任務。例如,VSS可以開始于打開系統(tǒng)仿真環(huán)境和模型。之后可以如在任務822處選擇機器保真度。這之后可以隨之如在擬8處啟用用戶⑶I輸入。之后可以如在擬4處選擇變量。之后可以如在擬6處更新校準值。這之后可以跟隨有任務802-820,再之后可以跟隨有任務 830-8;34。在圖25中,示出了數(shù)據(jù)處理模塊850。數(shù)據(jù)處理模塊850包括孵化器(或旁路開關)設定模塊852,其具有旁路轉換模塊853、旁路生成模塊854、原型(新SIL塊)生成模塊 856、鉤設定模塊858、調(diào)度模塊860和觸發(fā)器設定模塊862。模塊852-862中的兩個或更多個可以被結合成單個模塊?,F(xiàn)在同樣參考沈,示出了生成塊的方法。雖然主要參考圖25的實施例描述了該方法,不過該方法可以應用到本公開內(nèi)容的其他實施例。方法可以開始于900??梢酝ㄟ^圖 25的模塊執(zhí)行下述控制。在902,旁路生成模塊邪4生成旁路塊,或者原型生成模塊邪4或原型生成模塊 856生成原型塊??梢曰诮?jīng)由例如圖4-6、圖9、圖11、圖14和圖15中所示窗口的用戶輸入信號來生成旁路塊或原型塊。新SIL塊可以被產(chǎn)生且用作旁路塊或原型塊。在904,鉤設定模塊858將旁路塊或原型塊的輸入連接到當前車輛仿真模型中的其他SIL塊或目標。輸入可以包括被存儲在存儲器中的變量或參數(shù)的狀態(tài)。
在906,鉤設定模塊858將旁路塊或原型塊的輸出連接到當前車輛仿真模型中的其他SIL塊或目標。輸出可以用于改變被存儲在存儲器中的變量或參數(shù)的狀態(tài)。在908,調(diào)度模塊860和/或觸發(fā)器設定模塊862針對旁路塊或原型塊設定觸發(fā)器??梢匀鐓⒖紙D14和圖15所描述的來執(zhí)行觸發(fā)器設定。在910,當生成旁路塊時執(zhí)行任務912,否則控制可以結束于914。在912,孵化器設定模塊852和/或旁路轉換模塊853可以用于經(jīng)由相應開關啟動或禁用一個或更多個旁路模塊。在圖15和圖16中示出了示例性開關。方法可以結束于912。圖沈的上述任務意味著說明性示例;可以基于應用而順序地、同步地、同時地、連續(xù)地、在交疊的時間段期間或者以不同次序來執(zhí)行所述任務。上述實施例允許控制模塊算法模型被集成到車輛仿真模型中,以便用戶能夠選擇性地運行針對SIL塊的自動生成的代碼。實施例提供了可由用戶選擇的機器模型保真水平??梢允褂肎UI控制選擇驅動循環(huán)。通過SIL塊和/或對應旁路開關的生成有助于算法模型開發(fā)。實施例允許變速器算法開發(fā)、校準、變速器硬件設計等。實施例允許分析和評估變速器硬件、車輛性能分析(例如燃料經(jīng)濟性研究、換擋質(zhì)量等)??梢允褂蒙鲜鱿到y(tǒng)來對基于傳感器和致動器誤差的整體系統(tǒng)性能施加研究影響。在不使用車輛硬件的情況下使用虛擬車輛環(huán)境提供變速器算法開發(fā)。本領域的技術人員現(xiàn)在可以從上述描述中意識到可以以各種形式實現(xiàn)本公開內(nèi)容的廣義教導。因此,雖然本公開內(nèi)容包括具體示例,不過本公開內(nèi)容的真實范圍不應該被限制于此,因為在研究附圖、說明書和所附權利要求的基礎上,本領域的技術人員將顯而易見到其他改型。
權利要求
1.一種車輛仿真系統(tǒng),包括第一仿真模型,該第一仿真模型在被運行時模擬車輛模塊的軟件環(huán); 所述軟件環(huán)的第二仿真模型; 具有第一狀態(tài)和第二狀態(tài)的旁路開關;旁路轉換模塊,該旁路轉換模塊基于旁路信號和環(huán)啟動信號在所述第一仿真模型和所述第二仿真模型之間轉換所述旁路開關;以及仿真控制模塊,其運行車輛仿真模型的代碼,包括基于所述旁路開關的狀態(tài)對所述第一仿真模型和所述第二仿真模型中所選定仿真模型的軟件在環(huán)(SIL)測試。
2.根據(jù)權利要求1所述的車輛仿真系統(tǒng),還包括SIL塊,該SIL塊包括所述第一仿真模型,其中所述第二仿真模型的輸入和輸出被連接到所述SIL塊的內(nèi)部節(jié)點;以及所述SIL塊不包括所述第二仿真模型。
3.根據(jù)權利要求1所述的車輛仿真系統(tǒng),其中所述第一仿真模型包括第一組任務,并且所述第二仿真模型包括第二組任務。
4.根據(jù)權利要求1所述的車輛仿真系統(tǒng),其中所述第一仿真模型基于源代碼和第一組自動代碼被生成,并且所述第一組自動代碼基于仿真子模型被生成;以及所述第二仿真模型不基于源代碼被生成。
5.根據(jù)權利要求1所述的車輛仿真系統(tǒng),還包括存儲多個任務的存儲器,其中 所述旁路轉換模塊基于任務啟動信號在所述第一模型和所述第二模型之間轉換所述旁路開關;以及所述任務啟動信號識別所述多個任務中的至少一個。
6.根據(jù)權利要求1所述的車輛仿真系統(tǒng),還包括選擇機器模型保真水平的機器模型選擇模塊,其中所述仿真控制模塊基于對應于所述機器模型保真水平的機器模型來運行所述車輛仿真模型。
7.根據(jù)權利要求1所述的車輛仿真系統(tǒng),還包括繪制模塊,其在圖形用戶界面上選擇和繪制所述車輛仿真模型的變量、信號和節(jié)點。
8.根據(jù)權利要求1所述的車輛仿真系統(tǒng),還包括選擇一組輸入的驅動循環(huán)模塊,其包括下述各項中的一者致動(i )由所述車輛仿真模型的SIL塊接收的以及(ii )顯示在圖形用戶界面上的用戶輸入;選擇預定義信號組;以及選擇車輛記錄的信號組,其中所述仿真控制模塊基于選定的所述一組輸入來運行所述第一仿真模型和所述第二仿真模型中的一者。
9.根據(jù)權利要求1所述的車輛仿真系統(tǒng),其中所述車輛仿真模型包括 包括所述第一仿真模型且接收輸入信號的變速器SIL模型;基于所述變速器SIL模塊的輸出來運轉的變速器的第一機器模型;以及基于所述第一機器模型的輸出來運轉的發(fā)動機和車輛系統(tǒng)中的至少一者的第二機器模型,其中所述變速器SIL模型基于所述第二機器模型的輸出來運轉。
10. 一種車輛仿真系統(tǒng),包括多個仿真模型,所述仿真模型中的每一個均包括相應的輸入和輸出; 目標選擇模塊,其基于用戶輸入信號選擇所述多個仿真模型中的N個目標,其中所述N 個目標包括變量、信號和節(jié)點并且N是大于或等于2的整數(shù);信號跟蹤模塊,其跟蹤運行車輛仿真模型的代碼期間所述N個目標的狀態(tài); 數(shù)據(jù)記錄模塊,其記錄所述N個目標的狀態(tài);以及繪制模塊,其在圖形用戶界面上繪制所述N個節(jié)點中M個的狀態(tài),其中M是小于或等于 N的整數(shù)。
全文摘要
本發(fā)明涉及具有軟件在環(huán)旁路控制的車輛仿真系統(tǒng)。車輛仿真系統(tǒng)包括第一仿真模型,當被運行時其模擬軟件環(huán)以及車輛模塊的其他軟件。車輛仿真系統(tǒng)還包括軟件環(huán)的第二仿真模型。具有第一狀態(tài)和第二狀態(tài)的旁路開關。旁路轉換模塊基于旁路信號和環(huán)啟動信號在第一仿真模型和第二仿真模型之間轉換旁路開關。仿真控制模塊執(zhí)行車輛仿真模型代碼,包括基于旁路開關狀態(tài)針對第一仿真模型和第二仿真模型中選定一者的軟件在環(huán)測試,即SIL測試。
文檔編號G05B17/02GK102289210SQ20111013510
公開日2011年12月21日 申請日期2011年5月24日 優(yōu)先權日2010年5月24日
發(fā)明者赫爾滕格倫 C., W. 賴特 D., 拉松 J., K. 朗 K., A. 克羅平斯基 M., 馬維 M., 文卡塔拉馬南 S., 博恩德特松 T., T. 陶 X. 申請人:通用汽車環(huán)球科技運作有限責任公司