亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于對虛擬控制器進(jìn)行實(shí)時(shí)測試的測試裝置制造方法

文檔序號:6307664閱讀:311來源:國知局
用于對虛擬控制器進(jìn)行實(shí)時(shí)測試的測試裝置制造方法
【專利摘要】本發(fā)明涉及一種用于對帶控制器代碼(EC)的虛擬控制器(3)的至少一個(gè)部分進(jìn)行實(shí)時(shí)測試的測試裝置(1),其具有帶第一指令集(IS1)的至少一個(gè)第一類型計(jì)算核心(4)和用于對虛擬控制器的環(huán)境進(jìn)行實(shí)時(shí)模擬的至少一個(gè)模擬環(huán)境(5),利用至少一個(gè)第一類型計(jì)算核心對模擬環(huán)境和控制器代碼進(jìn)行計(jì)算??刂破鞔a能夠在帶第二指令集(IS2)的第二類型計(jì)算核心(6)上運(yùn)行,第二類型計(jì)算核心的第二指令集不同于第一類型計(jì)算核心的第一指令集,對帶控制器代碼的虛擬控制器的測試如此實(shí)現(xiàn):第一類型計(jì)算核心執(zhí)行用于模擬第二類型計(jì)算核心的仿真程序并且仿真程序執(zhí)行控制器代碼,并且仿真程序具有用于與模擬環(huán)境交換數(shù)據(jù)和/或事件的模擬環(huán)境接口。
【專利說明】用于對虛擬控制器進(jìn)行實(shí)時(shí)測試的測試裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用于對具有控制器代碼(Steuergeraetecode)的虛擬控制器的至少一個(gè)部分進(jìn)行實(shí)時(shí)測試的測試裝置,該測試裝置具有帶有第一指令集的至少一個(gè)第一類型計(jì)算核心和用于實(shí)時(shí)模擬虛擬控制器環(huán)境的至少一個(gè)模擬環(huán)境,其中,利用至少一個(gè)第一類型計(jì)算核心對所述模擬環(huán)境和所述控制器代碼進(jìn)行計(jì)算。

【背景技術(shù)】
[0002]上述測試裝置在控制器開發(fā)領(lǐng)域的現(xiàn)有技術(shù)中是眾所周知的,它們在研究和開發(fā)中得到應(yīng)用,其中經(jīng)常的應(yīng)用領(lǐng)域在汽車領(lǐng)域和在航空航天技術(shù)中。
[0003]用于對虛擬控制器進(jìn)行實(shí)時(shí)測試的測試裝置在設(shè)計(jì)上以用于對真實(shí)的控制器進(jìn)行測試的測試裝置為依據(jù)。這樣的測試裝置用于對真實(shí)的控制器或者真實(shí)的控制器的組合實(shí)施所謂的硬件在環(huán)測試(HIL-Test),這些控制器的互相配合需要被檢查。真實(shí)的控制器當(dāng)前為可實(shí)時(shí)的小型計(jì)算機(jī),它們用于對技術(shù)過程施加影響。因此真實(shí)的控制器具有計(jì)算核心,在該計(jì)算核心上執(zhí)行可實(shí)時(shí)的操作系統(tǒng),在它的幫助下調(diào)整的和/或控制的探測系統(tǒng)如它們幾十年來在系統(tǒng)學(xué)中眾所周知的那樣得以實(shí)施。真實(shí)的控制器經(jīng)由I/O接口(Input/Output)而對需影響的過程產(chǎn)生影響或者經(jīng)由所述I/O接口以測量技術(shù)的方式得到關(guān)于過程的信息。借助HIL模擬程序?qū)φ鎸?shí)的控制器進(jìn)行測試涉及的是:真實(shí)的控制器在其實(shí)際使用環(huán)境中被使用之前的測試的最后步驟。真實(shí)的控制器例如可以是內(nèi)燃機(jī)的馬達(dá)控制器。
[0004]為了對真實(shí)的控制器進(jìn)行實(shí)時(shí)測試,真實(shí)的控制器經(jīng)由其I/O接口而與測試裝置相連。在配置有一個(gè)第一類型計(jì)算核心或多個(gè)第一類型計(jì)算核心的測試裝置上運(yùn)行模擬環(huán)境,該模擬環(huán)境同樣可以實(shí)時(shí)模擬真實(shí)的控制器的環(huán)境。在馬達(dá)控制器的上述實(shí)例的情況中,則例如涉及的是內(nèi)燃機(jī)的實(shí)時(shí)模擬。由上述內(nèi)容表明:測試裝置的可實(shí)時(shí)性對于測試來說是至關(guān)重要的,因?yàn)榻柚摐y試應(yīng)該最終查清控制器在實(shí)時(shí)條件下是否是可行的,也就是說例如執(zhí)行的算法是否能夠以所要求的探測間隔來運(yùn)算等。
[0005]實(shí)際控制器的HIL模擬明顯地具有優(yōu)點(diǎn):在模擬的環(huán)境中能夠無危險(xiǎn)地測試真實(shí)的控制器的性能。然而缺點(diǎn)同樣是明顯的:為了能夠?qū)嵤y試,真實(shí)的控制器無論如何必須作為這樣的控制器存在。所以這一點(diǎn)是不利的,因?yàn)閼?yīng)該在批量應(yīng)用中使用的控制器的開發(fā)伴隨著巨大的費(fèi)用和成本。如果在對真實(shí)的控制器進(jìn)行測試的情況下才證實(shí)它滿足不了特定的要求,那么并不少見的是:需要巨大的、遠(yuǎn)遠(yuǎn)超出簡單的“修改”的努力,在最糟糕的情況中必須完全重新仔細(xì)考慮控制器的設(shè)計(jì)方案,這樣實(shí)際上需要重新開發(fā)真實(shí)的控制器;結(jié)果是在時(shí)間上和經(jīng)濟(jì)上不能遵守計(jì)劃目標(biāo)。
[0006]為了應(yīng)對這個(gè)問題,也就是說為了盡可能早地將需檢查的控制器的已知的組成部分列入功能測試中,已經(jīng)想出所謂的虛擬控制器的設(shè)計(jì)方案(“Virtual Validat1nwith dSPACE:Early PC-Based Validat1n of ECU Software,,,Produktinformat1ndSPACE, 2013)。此處盡管控制器不必物理性地存在,然而控制器代碼必須存于與硬件無關(guān)的高級語言(例如C/C++,Assembler)中。在這種情況中,控制器代碼被轉(zhuǎn)化到第一類型計(jì)算核心的第一指令集中,這樣可以在具有第一類型計(jì)算核心的測試裝置上執(zhí)行所述控制器代碼。一般來說,測試裝置的與需測試的控制器的處理器執(zhí)行程序/計(jì)算核心執(zhí)行程序(Prozessor-/Rechenkernimplementierung)不同。在微機(jī)基礎(chǔ)上的測試裝置中,例如使用英特爾處理器作為第一類型計(jì)算核心,這些英特爾處理器具有相應(yīng)的指令集(例如IntelIA32),而控制器大多數(shù)情況下以微控制器為基礎(chǔ),也就是說具有與第一類型計(jì)算核心不同的第二類型計(jì)算核心,該第二類型計(jì)算核心具有與第一指令集不同的第二指令集(例如C166微控制器家族的C166指令集)。
[0007]上面概略敘述的運(yùn)行方式帶來缺點(diǎn):并不是本來能夠?yàn)榈诙愋陀?jì)算核心運(yùn)行的原控制器代碼被測試裝置測試,而僅僅是將控制器代碼轉(zhuǎn)化到測試裝置的第一類型計(jì)算核心的第一指令集上。另一個(gè)困難在于:控制器代碼為了實(shí)現(xiàn)概略敘述的運(yùn)行方式無論如何必須存在在一種高級語言中,這樣它可以被轉(zhuǎn)化到一種確定的指令集上。然而,這個(gè)前提在多數(shù)使用情況中沒有被滿足或不能得到滿足,例如出于對執(zhí)行細(xì)節(jié)保密的原因。


【發(fā)明內(nèi)容】

[0008]因此本發(fā)明的目的是,提供一種用于對具有控制器代碼的虛擬控制器進(jìn)行實(shí)時(shí)測試的測試裝置,利用該測試裝置避免了作為本發(fā)明的出發(fā)點(diǎn)的實(shí)時(shí)測試裝置的前述缺點(diǎn)。
[0009]前面導(dǎo)出和表明的目的在文首述及的測試裝置中通過如下方式得以實(shí)現(xiàn):控制器代碼能夠在具有第二指令集的第二類型計(jì)算核心上運(yùn)行,其中,第二類型計(jì)算核心的第二指令集不同于第一類型計(jì)算核心的第一指令集。另外,第一類型計(jì)算核心執(zhí)行一個(gè)用于模擬第二計(jì)算核心的仿真程序,該仿真程序執(zhí)行控制器代碼。另外,通過如下方式得以實(shí)現(xiàn):仿真程序具有用于與模擬環(huán)境交換數(shù)據(jù)和/或事件的模擬環(huán)境接口。
[0010]通過根據(jù)本發(fā)明的測試裝置可以用測試裝置以控制器代碼的原形式來執(zhí)行該控制器代碼,不需要將控制器代碼從高級語言轉(zhuǎn)化到第一計(jì)算核心的第一指令集中,其是測試裝置的組成部分。只能在具有第二指令集的第二類型計(jì)算核心上運(yùn)行的控制器代碼的可執(zhí)行性通過使用用于模擬第二計(jì)算核心的仿真程序成為可能,其中,所述仿真程序本身在第一類型計(jì)算核心上執(zhí)行。因此仿真程序是第二類型計(jì)算核心、即需測試的控制器的計(jì)算核心與測試裝置的第一類型計(jì)算核心之間的連接部分。
[0011]仿真程序的模擬環(huán)境接口具有重要意義,經(jīng)由該模擬環(huán)境接口可以與模擬環(huán)境交換數(shù)據(jù)和/或事件,也就是說例如控制器的I/O接口的管腳狀態(tài)和例如針對中斷線路(aufInterrupt-Leitung)的觸發(fā)信號等,所述管腳狀態(tài)不僅從被模擬的控制器出發(fā)作為模擬環(huán)境的輸入變量,而且從模擬環(huán)境出發(fā)作為被模擬的控制器的輸入變量。模擬環(huán)境接口具有特別的意義,因?yàn)樗紫饶軌驅(qū)崿F(xiàn)在仿真程序上對控制器和控制器代碼執(zhí)行模擬的同步和可同步性,并且其次能夠?qū)崿F(xiàn)對模擬環(huán)境的執(zhí)行并且由此能夠?qū)崿F(xiàn)對虛擬控制器的環(huán)境執(zhí)行實(shí)時(shí)模擬。因此,模擬環(huán)境接口還是通過仿真程序在第一類型計(jì)算核心上實(shí)時(shí)執(zhí)行控制器代碼的前提條件。
[0012]完全可能的是:測試裝置具有多個(gè)第一類型計(jì)算核心,這樣例如在一個(gè)第一類型計(jì)算核心上執(zhí)行模擬環(huán)境以及在另一第一類型計(jì)算核心上執(zhí)行仿真程序。
[0013]在本發(fā)明的一種優(yōu)選的設(shè)計(jì)方案中規(guī)定:模擬環(huán)境包括至少一個(gè)模擬程序和一個(gè)過程模型,所述模擬程序能夠經(jīng)由模擬環(huán)境接口通過仿真程序調(diào)出,和/或反過來,所述仿真程序能夠經(jīng)由模擬環(huán)境接口通過模擬程序調(diào)出。由此能夠?qū)崿F(xiàn)的是:仿真程序或者控制器代碼的模擬可以對事件作出反應(yīng),例如出自虛擬控制器的環(huán)境的實(shí)時(shí)模擬的事件。模擬環(huán)境與控制器代碼之間的這種連接例如可以借助被模擬的控制器的物理環(huán)境或借助接口程序(Schnittstellen-Routine)得以實(shí)現(xiàn),其中,物理環(huán)境描述的是被模擬的控制器的寄存器、諸如中斷線路和物理接頭。在使用接口程序的情況下,在一個(gè)事件開始時(shí)由仿真程序執(zhí)行控制器代碼內(nèi)的預(yù)定的功能。這個(gè)功能的確定可以借助符號表和一個(gè)關(guān)于在控制器內(nèi)具有哪些接口程序的說明自動得到實(shí)現(xiàn)。
[0014]如果模擬環(huán)境包括模擬程序和過程模型,那么另外在一種優(yōu)選的設(shè)計(jì)方案中規(guī)定:數(shù)據(jù)和/或事件能夠經(jīng)由模擬環(huán)境接口而在仿真程序與過程模型之間交換。換言之,根據(jù)本發(fā)明的測試裝置優(yōu)選構(gòu)造如下:在仿真程序借助模擬環(huán)境接口被模擬程序調(diào)出時(shí)仿真程序?qū)刂破鞔a的執(zhí)行環(huán)境進(jìn)行檢測,該仿真程序執(zhí)行控制器代碼的被調(diào)出的部分,并且該仿真程序?qū)崟r(shí)更新控制器代碼的執(zhí)行環(huán)境。在這種情況下,執(zhí)行環(huán)境描述的是所有限制條件,在仿真程序上的控制器代碼的執(zhí)行與這些限制條件相關(guān)聯(lián),除了內(nèi)部狀態(tài)參數(shù)之外還有描述被模擬的控制器的接口的和在必要時(shí)還被模擬環(huán)境影響的那些狀態(tài)參數(shù)。
[0015]優(yōu)選測試裝置構(gòu)造如下,即,控制器代碼是完整的,它特別是包括操作系統(tǒng)、驅(qū)動程序和控制器的所有軟件組件,因而前述的執(zhí)行環(huán)境描述虛擬控制器的完整的物理環(huán)境。在這個(gè)前提條件下,對虛擬控制器的測試實(shí)際上包括相應(yīng)于虛擬控制器的真實(shí)控制器的所有方面。然而備選地,根據(jù)本發(fā)明的測試裝置也可以包括這樣的應(yīng)用情況,在這些應(yīng)用情況中控制器代碼是不完整的,特別是不包括控制器的驅(qū)動程序和操作系統(tǒng),因此執(zhí)行環(huán)境僅僅包括虛擬控制器的軟件組件。
[0016]在根據(jù)本發(fā)明的測試裝置的一種特別優(yōu)選的變型中規(guī)定:經(jīng)由模擬環(huán)境接口,數(shù)據(jù)驅(qū)動地在仿真程序與模擬環(huán)境之間、特別是在仿真程序與過程模型之間由仿真程序?qū)刂破鞔a進(jìn)行計(jì)算。通過這個(gè)作用原理通過仿真程序?qū)刂破鞔a的執(zhí)行還能夠與模擬環(huán)境的計(jì)算或者模擬環(huán)境的過程模型的計(jì)算同步。
[0017]在測試裝置的一種對此備選的設(shè)計(jì)方案中規(guī)定:模擬環(huán)境包括至少一個(gè)模擬程序和一個(gè)過程模型,其中模擬程序可以被過程模型調(diào)出,和/或過程模型可以被模擬程序調(diào)出。在這種情況中優(yōu)選測試裝置構(gòu)造如下,即,過程模型的計(jì)算和通過仿真程序?qū)刂破鞔a的執(zhí)行被模擬程序中樞地控制,從而以這種方式實(shí)現(xiàn)了所期望的同步執(zhí)行、特別是過程模型的計(jì)算與控制器代碼的執(zhí)行在時(shí)間上的協(xié)調(diào)。
[0018]與按照哪一個(gè)前述方法使過程模型的實(shí)時(shí)計(jì)算與通過仿真程序?qū)刂破鞔a的執(zhí)行之間同步無關(guān)地,有益之處當(dāng)然在于:在仿真程序上在時(shí)間方面最佳化地執(zhí)行控制器代碼,由此在每個(gè)探測間隔內(nèi)發(fā)生的計(jì)算無論如何在這個(gè)間隔內(nèi)還能夠不中斷地結(jié)束并且不會由于在此出現(xiàn)的限制而違背實(shí)時(shí)要求。為了使運(yùn)行時(shí)間特性(Laufzeitverhalten)最佳化,可以使用所有已知的方法和技術(shù)。另外,在對控制器代碼進(jìn)行解釋的情況中可以使得用于運(yùn)行時(shí)間的存儲器預(yù)留(Speicherreservierung)減少或完全避免。在控制器代碼的二進(jìn)制轉(zhuǎn)化的情況中,適當(dāng)?shù)姆椒梢栽谟?所有的原子的代碼塊被先驗(yàn)鑒別并且在運(yùn)行時(shí)間之前被轉(zhuǎn)化。備選地,塊緩存(Blockcache)可以選擇得如此大,使得在初始化階段之后所有模擬所需的代碼塊被轉(zhuǎn)化,并且因此在塊緩存中不再發(fā)生置換。另一種方法可以在于:對控制器代碼內(nèi)的鏈參考進(jìn)行識別并加以解算。
[0019]文首導(dǎo)出的目的還可以根據(jù)方法得以實(shí)現(xiàn),為了實(shí)施本發(fā)明的方法,從用于對帶有控制器代碼的虛擬控制器的至少一個(gè)部分進(jìn)行實(shí)時(shí)測試的測試裝置出發(fā),其中,所述測試裝置具有帶第一指令集的至少一個(gè)第一類型計(jì)算核心和用于模擬虛擬控制器的環(huán)境的至少一個(gè)模擬環(huán)境。本方法規(guī)定:利用至少一個(gè)第一類型計(jì)算核心對模擬環(huán)境和控制器代碼進(jìn)行計(jì)算。另外規(guī)定:控制編碼被如此提供,即,它可以在帶第二指令集的第二類型計(jì)算核心上執(zhí)行,其中,第二類型計(jì)算核心通常為需測試的批量控制器的計(jì)算核心。就這點(diǎn)而言,第二類型計(jì)算核心的第二指令集不同于第一類型計(jì)算核心的第一指令集。于是根據(jù)本方法規(guī)定:在測試裝置的第一類型計(jì)算核心上執(zhí)行用于模擬第二計(jì)算核心的仿真程序并且該仿真程序自己執(zhí)行控制器代碼。另外,根據(jù)本發(fā)明規(guī)定:在仿真程序與模擬環(huán)境之間交換數(shù)據(jù)和/或事件,其中,信號可以向兩個(gè)方向流動,也就是說數(shù)據(jù)和/或事件可以從仿真程序傳向模擬環(huán)境的方向以及從模擬環(huán)境傳向仿真程序的方向。一般來說,通過根據(jù)本發(fā)明的運(yùn)行方式實(shí)現(xiàn)的可能性是:使對虛擬控制器的環(huán)境實(shí)時(shí)進(jìn)行的模擬與控制器代碼的模擬同步,從而通過仿真程序也實(shí)時(shí)執(zhí)行控制器代碼。

【專利附圖】

【附圖說明】
[0020]詳細(xì)地具有大量提高和進(jìn)一步發(fā)展根據(jù)本發(fā)明的測試裝置的可能性。為此一方面參照從屬于權(quán)利要求1的權(quán)利要求,另一方面參照借助附圖對實(shí)施例的說明。附圖中:
[0021]圖1a示出由現(xiàn)有技術(shù)已知的具有需測試的真實(shí)控制器的測試裝置;
[0022]圖1b示出由現(xiàn)有技術(shù)已知的具有需測試的虛擬控制器和真實(shí)控制器的測試裝置;
[0023]圖2a示出根據(jù)本發(fā)明的具有虛擬控制器的測試裝置的第一實(shí)施例;
[0024]圖2b示出圖1a所示的實(shí)施例,其具有虛擬控制器和真實(shí)控制器的組合;
[0025]圖3示出根據(jù)本發(fā)明的測試裝置的另一實(shí)施例;
[0026]圖4示出根據(jù)本發(fā)明的具有數(shù)據(jù)驅(qū)動的仿真程序的測試裝置的實(shí)施例;
[0027]圖5示出根據(jù)本發(fā)明的具有由模擬程序控制的仿真程序的測試裝置的另一實(shí)施例。

【具體實(shí)施方式】
[0028]圖1a示意性示出的是由現(xiàn)有技術(shù)已知的用于對真實(shí)的控制器2a、2b進(jìn)行實(shí)時(shí)測試的測試裝置I。與此相對,圖1b示出的是由現(xiàn)有技術(shù)已知的測試裝置1,該測試裝置除了應(yīng)測試的真實(shí)控制器2之外還具有兩個(gè)需測試的虛擬控制器3a、3b。測試裝置I具有第一類型計(jì)算核心4,該第一類型計(jì)算核心的出眾之處在于第一指令集IS1。另外,在圖1a和Ib所示的測試裝置I具有用于實(shí)時(shí)模擬需測試的控制器的環(huán)境的模擬環(huán)境5。真實(shí)的、即物理性存在的控制器2具有第二類型計(jì)算核心6,這個(gè)第二類型計(jì)算核心6以第二指令集IS2為特征。在示出的實(shí)例中,控制器的第二類型計(jì)算核心6的第二指令集IS2不同于測試裝置I的第一類型計(jì)算核心4的第一指令集ISl。
[0029]在圖la、lb中,測試裝置I以微機(jī)為基礎(chǔ),第一指令集ISl在示出的實(shí)例中與Intel 32-Bit-x86_Architecture (IA-32)兼容。第二類型計(jì)算核心6是具有C166類型計(jì)算核心的微控制器,因而與此相關(guān)的第二指令集IS2肯定與測試裝置I的第一類型計(jì)算核心4的第一指令集ISl不同。真實(shí)的控制器2經(jīng)由它的物理接口而與測試裝置I的對應(yīng)的物理I/O接口相連接。
[0030]在圖1a所示的真實(shí)控制器2的實(shí)時(shí)測試的情況中,控制器代碼EC理所當(dāng)然地可以實(shí)施成其原形式,即面向第二類型計(jì)算核心6的第二執(zhí)行組IS2。但是對真實(shí)的控制器2的控制器代碼EC進(jìn)行測試的前提是:真實(shí)的控制器2實(shí)際上物理性地存在,這伴隨產(chǎn)生已經(jīng)說明的缺點(diǎn)。
[0031]圖1b所示的測試裝置I還與虛擬控制器3a、3b共同運(yùn)行。這些控制器物理上并不存在,更確切地說它們通過如下方式得以實(shí)現(xiàn),即,控制器代碼EC被轉(zhuǎn)化到測試裝置I的第一類型計(jì)算核心4的第一指令集ISl中,這樣被轉(zhuǎn)化的控制器代碼EC'可以在測試裝置I上運(yùn)行。這雖然能夠提早地測試控制器代碼而無需真實(shí)的控制器存在,但是其缺點(diǎn)在于:并不是原控制器代碼EC被測試,而是經(jīng)轉(zhuǎn)化的變型EC'。另外,控制器代碼EC必須存在于一種高級語言中,從而可以轉(zhuǎn)化到第一類型計(jì)算核心4的第一執(zhí)行系統(tǒng)ISl上。
[0032]圖2a、2b現(xiàn)在示出的是根據(jù)本發(fā)明的測試裝置I。在此測試裝置I也具有帶有第一指令集ISl的第一類型計(jì)算核心4,在此模擬環(huán)境5也用于實(shí)時(shí)模擬虛擬控制器3的環(huán)境。在此最終也借助第一類型計(jì)算核心4來計(jì)算虛擬控制器3的控制器代碼EC,然而相對由現(xiàn)有技術(shù)已知的例如如圖1a和Ib的測試裝置存在大的區(qū)別。虛擬控制器3的控制器代碼EC能在帶有第二指令集IS2的第二類型計(jì)算核心上運(yùn)行,其中所述第二指令集IS2不同于測試裝置I的第一類型計(jì)算核心4的第一指令集ISl。原本為第二類型計(jì)算核心設(shè)想的控制器代碼EC仍然可以與測試裝置I 一起執(zhí)行,因?yàn)闇y試裝置I的第一類型計(jì)算核心4執(zhí)行一個(gè)仿真程序7,這個(gè)仿真程序7模擬第二類型計(jì)算核心并且被模擬的第二類型計(jì)算核心執(zhí)行控制器代碼。通過這種措施不需要將能夠在帶有第二指令集IS2的第二類型計(jì)算核心上運(yùn)行的控制器代碼EC轉(zhuǎn)化到第一指令集ISl上,原則上可以執(zhí)行原控制器代碼EC,該原控制器代碼通常設(shè)立為用于與測試裝置I的目標(biāo)硬件不同的目標(biāo)硬件。不再存在如下的需要:控制器代碼EC必須存在于一種高級語言中,以便能夠轉(zhuǎn)換到測試裝置的第一指令集ISl 上。
[0033]重要的是,仿真程序7具有模擬環(huán)境接口 8,仿真程序7經(jīng)由該模擬環(huán)境接口能夠與模擬環(huán)境5交換數(shù)據(jù)和/或事件。因?yàn)槟M環(huán)境接口 8通過仿真程序7能夠使虛擬控制器3的環(huán)境的實(shí)時(shí)模擬與第二類型計(jì)算核心的模擬同步,所以模擬環(huán)境接口 8以這個(gè)功能性對于仿真程序7在實(shí)時(shí)模擬的范圍中的應(yīng)用來說是至關(guān)重要的。
[0034]圖2b示出的是:根據(jù)本發(fā)明的測試裝置I并不局限于對僅僅一個(gè)虛擬控制器3或多個(gè)虛擬控制器3進(jìn)行測試,而更確切地說還可能的是:測試裝置I也與外部的真實(shí)的控制器2運(yùn)行。圖2b所示的同時(shí)對虛擬控制器3和真實(shí)的控制器2或者對混合的控制器結(jié)合體的測試的實(shí)施例可以是所述測試裝置I的一種常見的使用情況。
[0035]圖3示出的是測試裝置1,其中模擬環(huán)境5包括模擬程序9和過程模型10。模擬程序9可以經(jīng)由模擬環(huán)境接口 8通過仿真程序7調(diào)出,以及反過來仿真程序7可以經(jīng)由模擬環(huán)境接口 8通過模擬程序9調(diào)出。模擬程序9總體上是可實(shí)時(shí)的平臺,以便在考慮到實(shí)時(shí)條件的情況下執(zhí)行過程模型10。除了實(shí)時(shí)環(huán)境之外,模擬程序?yàn)榱四軌蛴?jì)算過程模型10還具有合適的數(shù)值法。因此,模擬程序9在時(shí)間上對執(zhí)行過程模型10的不同任務(wù)進(jìn)行協(xié)調(diào)并且提供工具,以便還能夠考慮模擬的范圍內(nèi)的非周期性的事件。
[0036]在圖3中另外可以看到,通過模擬環(huán)境接口 8可以在仿真程序7與過程模型10之間交換數(shù)據(jù)。為此過程模型10認(rèn)識被模擬的虛擬控制器3的接口,從而產(chǎn)生過程模型10與被模擬的虛擬控制器3之間的數(shù)據(jù)方面的結(jié)合。
[0037]圖4和5示出的是根據(jù)本發(fā)明的測試裝置I,其中借助方框圖不僅應(yīng)示出該測試裝置I的結(jié)構(gòu),而且還應(yīng)該能看出該測試裝置I內(nèi)的功能流程。在兩個(gè)圖示中,模擬環(huán)境5與具有模擬環(huán)境接口 8的仿真程序7相應(yīng)相對地設(shè)置,模擬環(huán)境5通過所述模擬環(huán)境接口而與仿真程序7相互作用。在模擬環(huán)境5中還分別示出帶有過程模型10的模擬程序9。
[0038]在圖4中可以看到,通過模擬環(huán)境接口 8而可以在仿真程序7與過程模型10之間交換數(shù)據(jù)。圖4所示實(shí)施例的出眾之處在于:經(jīng)由模擬環(huán)境接口 8由仿真程序7數(shù)據(jù)驅(qū)動地在仿真程序7與過程模型10之間執(zhí)行控制器代碼EC。因此經(jīng)由模擬環(huán)境接口 8識別出過程模型10的重要的狀態(tài)參數(shù)和由此例如接口的確定通道上的信號是否發(fā)生變化,接著在仿真程序7中觸發(fā)相應(yīng)的動作。
[0039]從模擬程序9的靜止?fàn)顟B(tài)901出發(fā),下一個(gè)用于過程模型10的計(jì)算步驟被激活。為此,首先由仿真程序7計(jì)算的有關(guān)的控制器數(shù)據(jù)被讀入輸入程序902中。
[0040]仿真程序7上的計(jì)算在那里同樣從靜止?fàn)顟B(tài)701出發(fā),其中在步驟702中執(zhí)行仿真程序7。可以通過各種不同類型的觸發(fā)來實(shí)現(xiàn)狀態(tài)702。這樣例如狀態(tài)702可以通過從靜止?fàn)顟B(tài)701出發(fā)的定時(shí)器中斷得以達(dá)到或通過數(shù)據(jù)事件得以達(dá)到。在數(shù)據(jù)事件的情況中,首先進(jìn)入狀態(tài)802并且在與此相連的中斷的情況中然后到達(dá)狀態(tài)702。例如當(dāng)一個(gè)Pin-Change-1nterrupt與一個(gè)Ι/0-Pin相連時(shí),是這種情況。如果中斷沒有與Ι/0-Pin相連,那么重新離開狀態(tài)802并且在702中不發(fā)生其它行動。狀態(tài)802則保障的是:用于仿真程序的數(shù)據(jù)處于被相應(yīng)編碼的狀態(tài),即在仿真程序的執(zhí)行環(huán)境中。
[0041]利用仿真程序還執(zhí)行存在于第二指令集IS2內(nèi)的控制器代碼EC。模擬程序9和仿真程序7實(shí)際上平行運(yùn)行。模擬只有如之前詳細(xì)說明的那樣在與事件相連的中斷的情況中被中斷,否則只有需相互交換的數(shù)據(jù)通過模擬環(huán)境接口 8變成可用的并且被仿真程序7或者模擬程序9讀取。
[0042]在過程模型10的計(jì)算步驟903結(jié)束之后,過程模型10的實(shí)時(shí)狀態(tài)參數(shù)在輸出功能904中被提供給仿真程序使用。這一點(diǎn)在模擬環(huán)境接口 8內(nèi)在數(shù)據(jù)塊802中要么簡單地通過對仿真程序7的物理環(huán)境的存儲要么通過調(diào)出控制器代碼EC內(nèi)的相應(yīng)的接口功能得以實(shí)現(xiàn)。在這種情況下,“物理環(huán)境的存儲”應(yīng)該理解為:例如改變的I/O信號通過將該改變的I/O信號適當(dāng)?shù)卮鎯υ诜抡娉绦虻沫h(huán)境中變得可供仿真程序使用。與此相反,只有當(dāng)這樣的接口功能的利用得到相應(yīng)的配置以及在控制器代碼EC內(nèi)的中斷被觸發(fā)時(shí),才在步驟702中在控制器代碼EC內(nèi)調(diào)出接口功能。如果中斷沒有被連接起來,那么只有如前所述的那樣信息作為這樣的信息被提供使用。在這種情況下上后者意味著:信號在物理上貼近以及作為這樣的信號通過適當(dāng)?shù)拇鎯Χ蔀榭捎貌⑶铱梢酝ㄟ^相應(yīng)的簡單的讀取過程被利用;但是在數(shù)據(jù)塊702內(nèi)未觸發(fā)步驟。相應(yīng)的內(nèi)容適用于過程模型10內(nèi)的計(jì)算903。
[0043]在圖5所示的實(shí)施例中,模擬環(huán)境5與仿真程序7之間的同步通過如下方式得以實(shí)現(xiàn):過程模型10的計(jì)算與通過仿真程序7對控制器代碼EC的執(zhí)行被模擬程序9中樞地控制,這在當(dāng)前主要涉及的是過程模型10的計(jì)算903與控制器代碼EC的執(zhí)行702在時(shí)間上的協(xié)調(diào)。在圖5中可以看到:不僅過程模型10而且仿真程序7的執(zhí)行是如何通過模擬環(huán)境接口 8從模擬程序的靜止?fàn)顟B(tài)901中被觸發(fā)的,通過這種方式保障時(shí)間上的同步。當(dāng)然這一點(diǎn)的前提是:可以通過模擬程序9調(diào)出過程模型10。在仿真程序7方面在步驟801中首先確定控制器的必須被處理的功能性。接著在步驟811中所有實(shí)時(shí)的輸入變量被讀入,既有由過程模型10提供使用的輸入變量也有來自可能的外部來源11的其它輸入變量。在步驟812中由物理數(shù)據(jù)制成執(zhí)行環(huán)境,這樣信息通過簡單地讀取操作可以提供給仿真程序7使用。對于以接口程序作業(yè)的情況,直接在步驟702中通過仿真程序7對控制器代碼EC的相應(yīng)的功能進(jìn)行加工處理。在計(jì)算完成之后在步驟813中,執(zhí)行環(huán)境連同實(shí)時(shí)更新的數(shù)據(jù)被重新存儲并且通過在步驟814中執(zhí)行輸出功能而寫出相應(yīng)的結(jié)果,一方面是涉及過程模型10的結(jié)果,另一方面是涉及外部數(shù)據(jù)接收裝置(Datensenke) 12的結(jié)果。以這種方式方法在仿真程序7上實(shí)時(shí)地對涉及過程模型10和涉及控制器代碼EC的計(jì)算步驟相互同步地進(jìn)行計(jì)算。
[0044]在圖4和5所示出的實(shí)施例中,仿真程序7對每個(gè)在運(yùn)行時(shí)間被調(diào)出的第二指令集IS2內(nèi)的控制器代碼EC的指令進(jìn)行解釋并且然后在功能上與第一指令集ISl的相應(yīng)的指令一致地在測試裝置I的第一類型計(jì)算核心上執(zhí)行這個(gè)被調(diào)出的指令。
【權(quán)利要求】
1.用于對帶有控制器代碼(EC)的虛擬控制器(3)的至少一個(gè)部分進(jìn)行實(shí)時(shí)測試的測試裝置(I),該測試裝置(I)具有帶第一指令集(ISl)的至少一個(gè)第一類型計(jì)算核心(4)和用于對虛擬控制器(3)的環(huán)境進(jìn)行實(shí)時(shí)模擬的至少一個(gè)模擬環(huán)境(5),其中,利用至少一個(gè)第一類型計(jì)算核心(4)對所述模擬環(huán)境(5)和所述控制器代碼(EC)進(jìn)行計(jì)算, 其特征在于: 控制器代碼(EC)能夠在帶第二指令集(IS2)的第二類型計(jì)算核心(6)上運(yùn)行,所述第二類型計(jì)算核心(6)的第二指令集(IS2)不同于所述第一類型計(jì)算核心(4)的第一指令集(ISl); 所述第一類型計(jì)算核心(4)執(zhí)行用于模擬第二類型計(jì)算核心(6)的仿真程序(7)并且仿真程序(7)執(zhí)行控制器代碼(EC); 仿真程序(7)具有用于與模擬環(huán)境(5)交換數(shù)據(jù)和/或事件的模擬環(huán)境接口(8)。
2.如權(quán)利要求1所述的測試裝置(I),其特征在于:模擬環(huán)境(5)包括至少一個(gè)模擬程序(9)和一個(gè)過程模型(10),所述模擬程序(9)能夠經(jīng)由模擬環(huán)境接口(8)通過仿真程序(7)調(diào)出,和/或所述仿真程序(7)能夠經(jīng)由模擬環(huán)境接口(8)通過模擬程序(9)調(diào)出。
3.如權(quán)利要求2所述的測試裝置(I),其特征在于:數(shù)據(jù)能夠經(jīng)由模擬環(huán)境接口(8)而在仿真程序(7)與過程模型(10)之間交換。
4.如權(quán)利要求2或3所述的測試裝置(I),其特征在于:在仿真程序(7)借助模擬環(huán)境接口(8)通過模擬程序(9)調(diào)出時(shí),仿真程序(7)對控制器代碼(EC)的執(zhí)行環(huán)境進(jìn)行檢測,該仿真程序⑵執(zhí)行控制器代碼(EC)的被調(diào)出的部分,并且該仿真程序(7)實(shí)時(shí)更新控制器代碼(EC)的執(zhí)行環(huán)境。
5.如權(quán)利要求4所述的測試裝置(I),其特征在于:控制器代碼(EC)是完整的,特別是包括操作系統(tǒng)、驅(qū)動程序和控制器的所有軟件組件,因此執(zhí)行環(huán)境包括虛擬控制器(3)的完整的物理環(huán)境。
6.如權(quán)利要求4所述的測試裝置(I),其特征在于:控制器代碼(EC)是不完整的,特別是不包括操作系統(tǒng)和驅(qū)動程序,因此執(zhí)行環(huán)境僅包括虛擬控制器(3)的軟件組件。
7.如權(quán)利要求3所述的或者如權(quán)利要求4至6之任一項(xiàng)所述的、回引權(quán)利要求3的測試裝置(1),其特征在于:經(jīng)由模擬環(huán)境接口(8)數(shù)據(jù)驅(qū)動地在仿真程序(7)與過程模型(10)之間由仿真程序(7)對控制器代碼(EC)進(jìn)行計(jì)算。
8.如權(quán)利要求2和3至7之任一項(xiàng)所述的、回引權(quán)利要求2的測試裝置(I),其特征在于:過程模型(10)的計(jì)算和通過仿真程序(7)對控制器代碼(EC)的執(zhí)行被模擬程序(9)中樞地控制,特別是所述過程模型(10)的計(jì)算(903)與控制器代碼(EC)的執(zhí)行(702)在時(shí)間上的協(xié)調(diào)。
9.如權(quán)利要求1至8之任一項(xiàng)所述的測試裝置(I),其特征在于:仿真程序(7)對每個(gè)在運(yùn)行時(shí)間被調(diào)出的第二指令集(IS2)內(nèi)的控制器代碼(EC)的指令進(jìn)行解釋并且在功能上與第一指令集(ISl)的指令一致地并且在第一類型計(jì)算核心(4)上執(zhí)行。
10.如權(quán)利要求1至9之任一項(xiàng)所述的測試裝置(I),其特征在于:仿真程序(7)在即將執(zhí)行之前將控制器代碼(EC)完全地或部分地轉(zhuǎn)化到第一指令集(ISl)中,特別是在轉(zhuǎn)化之前,為轉(zhuǎn)化到第一指令集(ISl)中的控制器代碼(EC')分派與在虛擬控制器(3)上實(shí)際上可供使用的存儲器一樣多的存儲器。
【文檔編號】G05B23/02GK104460646SQ201410468167
【公開日】2015年3月25日 申請日期:2014年9月15日 優(yōu)先權(quán)日:2013年9月18日
【發(fā)明者】R·雷恩費(fèi)爾納, T·克斯坦 申請人:帝斯貝思數(shù)字信號處理和控制工程有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1