自動車1が、主エンジン2を制御/調整するために、少なくとも1つの制御装置3を有する。この主エンジン2は、特にディーゼル内燃機関若しくはガソリン内燃機関及び/又は電気エンジンでもよい。自動車1は、自動車1の(特に、走行動特性、又はトレーラーへの電気エネルギーの供給、又はトレーラーの検出に関する)さらに別の処理/進行を制御/調整するために、又は自動車1のさらに別の附属機器/附属装置5を制御/調整するために、例えば、自動車1のブレーキ系統若しくは自動車1に連結され得るトレーラーのブレーキ系統を制御/調整するために、少なくとも1つの別の制御装置4を有する。上記のこれらの両制御装置3,4は、周知のようにバスシステム6によってデータを交換するために互いに接続されている。信号/データを処理するためにプロセッサを備えているセンサ(例えば操舵角センサ)及びアクチュエータ(例えばワイパーモータ)も、バスシステム6に接続され得る。その結果、このようなインテリジェント構成要素の信号/データが、バスシステム6に直接に到達し、したがってこのバスシステム6に接続されている全ての制御装置3,4に供給され得る。当然に、任意の多くのその他の制御装置、例えば、内燃機関の排気ガスの後処理を制御/調整するための制御装置(SCR制御装置)も、バスシステム6に接続され得る(図示せず)。
図2に示されているように、センサからの信号(図示せず)が、主エンジン2を制御/調整するために、バスシステム6を通じて制御装置3に供給される。特に、主エンジン2のクランク軸(回転数センサ)の回転数、主エンジン2の負荷(回転トルク、吸気圧、スロットルバルブの位置、噴射量)及び空燃比(ラムダセンサ)に関する複数の信号(入力信号/入力変数)が、制御装置3に供給される。これらの信号と、場合によっては制御装置3に供給されるさらなる信号とが、当該制御装置3によって処理される。同様に、上記の処理に応じて制御装置3/ソフトウェアによって生成される信号(出力信号/出力変数)が、アクチュエータ(図示せず)に供給される。その結果、主エンジン2の稼働時に進行する物理的な工程(特に燃焼工程)が、当該それぞれのアクチュエータによって操作される。アクチュエータは、特に、主エンジン2又は自動車1の燃費及び排気を操作する機構又は制御要素、すなわち特にインジェクタ(制御の開始、制御期間、稼働サイクルごとの制御頻度)、スロットルバルブ(AGR、吸気)又は点火プラグである。
さらに図2に示されたように、自動車1の(特に、走行動特性に関する、又はトレーラーへの電気エネルギーの供給に関する、又はトレーラーの検出に関する)その他の処理/進行を制御/調整するため、同様に、センサ又はスイッチ(図示せず)の信号(入力信号/入力変数)が、バスシステム6を通じて別の制御装置4に供給される。
別の制御装置4が、自動車1の走行動特性を制御/調整するために使用される場合には、自動車1の両軸の車輪(それぞれの軸の個々の車輪の回転数センサ)の回転数と、自動車1のハンドルの回転角度(操舵角)とに関する信号が、当該別の制御装置4に供給される。これらの信号と、場合によっては制御装置4に供給されるさらなる信号とが、当該制御装置4によって処理される。同様に、上記の処理に応じて制御装置4/ソフトウェアによって生成される信号(出力信号)が、アクチュエータ(図示せず)に供給される。その結果、自動車1の稼働時に進行する物理的な工程又は処理/進行(走行工程)が、当該それぞれのアクチュエータによって操作される。アクチュエータは、特に、自動車1の走行動特性を操作する機構又は制御要素、すなわち特に自動車1のブレーキ系統の個々の車輪ブレーキシリンダ/ブレーキキャリパ又は油圧装置/油圧バルブである。
別の制御装置4が、電気エネルギーをトレーラーに供給する制御/調整のために、又はトレーラーの検出のために使用される場合には、例えば、トレーラーのプラグコネクタに配置されたマイクロスイッチの情報を含む信号が、当該別の制御装置4に供給される。これらの信号と、場合によっては制御装置4に供給されるさらなる信号とが、当該制御装置4によって処理される。同様に、上記の処理に応じて制御装置4/ソフトウェアによって生成される信号(出力信号)が、アクチュエータ(図示せず)に供給される。その結果、自動車1の稼働時に進行する物理的な工程又は処理/進行(トレーラーの検出、トレーラーの照明)が、当該それぞれのアクチュエータによって操作される。この場合、アクチュエータは、トレーラーが連結されているか否かを運転者に信号で知らせる、特に表示要素、例えばトレーラーのテールランプ又は自動車1のコックピット内の照明器具のような、すなわち特にトレーラーの個々の照明要素である。例えば、このスイッチが開かれている場合、トレーラーがこのトレーラーのプラグコネクタを通じて自動車1のオンボード電源に接続されていないことが、このことから推定され得る。それとは反対に、このスイッチが閉じられている場合、トレーラーがこのトレーラーのプラグコネクタを通じて自動車1のオンボード電源に接続されていることが、このことから推定され得る。マイクロスイッチを使用する代わりに、トレーラーの照明器具の連結された電気負荷によってトレーラーを検出することも考えられる。この場合、別の制御装置4に供給される信号は、特に、電流及び電圧のような電気変数である。当該信号は、この制御装置4によって処理され、出力信号として上記の光学式アクチュエータ(自動車1のコックピット内の照明器具、トレーラーの照明要素)に供給される。
バスシステム6を通じて又はバスシステム6によって、制御装置3に供給される全ての信号が、別の制御装置4にも供給され得る、又は、別の制御装置4に供給される全ての信号が、制御装置3にも供給され得る。
同様に、制御装置3の出力信号が、別の制御装置4にも供給され得る、又は、別の制御装置4の出力信号が、制御装置3にも供給され得る。
十分に周知であるように、制御装置3は、一方ではハードウェアを有し、他方では入力信号を処理するか若しくは出力信号を生成するために、又は主エンジン2の稼働時に進行する物理的な工程を操作するためにソフトウェア若しくはプログラムを有する。当該制御装置のソフトウェアは、プログラムコードとデータとに分離され得る。制御装置3のプログラムコードは、個々に実行すべき複数の関数を有し、当該データは、これらの関数のパラメータを有する。また、制御装置3又は自動車1を開発する場合、例えば、主エンジンが少しだけ変更されたときに、新しい関数の提供と、当該関数のパラメータ化とが実行されるか、又は、既存の関数のパラメータ化が少なくとも実行される。
通常は、全ての関数が、それらの関数の開発時に又はその後に文書化され、したがって制御装置3の開発に携わった人向けに一義的に特定可能であるか、又は制御すべき/調整すべき工程に対する作用に関して理解可能である。しかしながら、特に制御装置3のプログラムコードが、文書化されなかった関数を有することを見逃してはならない。特に、自動車1が道路内で実際に移動するのか、又は台上試験機/ローラーテストスタンド上で(すなわち、停止している自動車1で)検査されるのか、又は周囲若しくは車道に対して停止していない、すなわち移動する自動車1を用いて進行する走行サイクルごとに排気ガスの排気を分析するための車載式排出ガス測定システムを備えることによって検査されるのかが、この関数に基づいて判定されることによって、この関数は、自動車1の燃費及び排気を改竄し得る。この場合、自動車1が或る検査を受けることが決定されると、制御装置3のソフトウェアが、許容できない程に改竄されているか、又は、別の関数が、許容できない程に改竄されている。この場合、自動車1が、道路交通において実際に移動するときに、すなわち停止している自動車1(ローラーテストスタンド上の検査)又は周囲/車道に対して移動する自動車1がこの自動車1の排気ガスの排気を分析するための車載式排出ガス測定システムを備えることのような、テスト条件が存在しないときに、文書化されなかった(別の)関数に基づいて、又は主エンジン2の制御/調整に基づくパラメータとは違う文書化された関数のパラメータによって、主エンジン2の稼働時に進行する物理的な工程を改竄するため、特に入力信号の処理又は出力信号の生成が実行される。いずれにしても、本発明の目的は、上記の文書化されなかった関数が特定され得るように、すなわち上記の自動車1の特性に対する許容できない改竄が防止され得るように、制御装置3の検査を包括的に構成することにある。
本発明によれば、自動車1の制御装置3,4を検査するための方法が、第1の実施の形態にしたがって以下に記載された複数のステップを有する。当該制御装置3,4は、出力変数を生成するために入力変数を処理するための関数を有するソフトウェアを含む。
第1ステップでは、1つの走行サイクル(例えば、NEFZ、WLTP)が、自動車1によってローラーテストスタンド、すなわち台上試験機/試験設備上で進行/遂行/実行される。この場合、自動車1の制御装置3若しくは制御装置4又は全ての制御装置3,4の入力変数及び出力変数が記録される。1つの走行サイクルの進行、すなわち当該進行に必要な技術と、法的に規定されている条件(測定条件、周囲条件、条件付け)とは、当業者に十分に周知である。制御装置3若しくは制御装置4又は全ての制御装置3,4の入力変数及び出力変数の記録も、一般的に周知のように、例えばデータ記録装置によって実行される。駆動される1つの軸だけを有する自動車1による1つの走行サイクルの進行が、周知のように、駆動されない軸の停止している、すなわち移動しない複数の車輪によって実行される。したがって、確かに、当該駆動されない軸のこれらの車輪の回転数に関する信号が記録されるが、これらの信号は、これらの車輪がこの走行サイクルの進行中に回転/移動しないことを示す。自動車1のハンドルの回転角度(操舵角)が、この走行サイクル中に変化する(又は著しく変化する)ことなしに、自動車1による1つの走行サイクルの進行が、さらに周知のように実行される。したがって、確かに、当該自動車1のハンドルの回転角度に関する信号が記録されるが、この信号は、当該自動車1のハンドルの回転角度がこの走行サイクルの進行中に変化しない(又は著しく変化しない)ことを示す。いずれにしても、これらの信号のうちの1つの信号(当該駆動されない軸の複数の車輪の回転数)又はこれらの信号のうちの複数若しくは全ての信号が、バスシステム6を通じて又はバスシステム6によって、制御装置3若しくは別の制御装置4又は両制御装置3,4に供給され、当該それぞれの制御装置3,4によって、又は当該それぞれの制御装置3,4によって包含された関数に基づいて、出力信号に処理される。当然に、このような信号は、全てのその他の信号と一緒に、特に主エンジン2のクランク軸の回転数(回転数センサ)、主エンジン2の負荷(回転トルク、吸気圧、スロットルバルブの位置、噴射量)及び空燃比(ラムダセンサ)に関する信号(入力信号)と一緒に処理される。その結果、これらの信号は、制御装置3によって、又は制御装置3のソフトウェア内に含まれている関数によって処理される、すなわち出力信号に処理される。既に説明したように、いずれにしても、自動車1の制御装置3若しくは制御装置4又は全ての制御装置3,4の入力変数及び出力変数が記録される。全ての入力変数及び出力変数であろうと、幾つかの入力変数及び出力変数であろうと、任意に選択可能である。要するに、当該走行サイクルの経過後に、台上試験機/ローラーテストスタンド上で記録された制御装置3,4の入力変数及び出力変数が、別のアプリケーションソフトウェアのために準備される。
本発明によれば、当該走行サイクルが、別のステップ中に、当該第1ステップにしたがって繰り返される、ただし、当該走行サイクルを台上試験機/ローラーテストスタンド上自体で新たに進行させることなしに繰り返される。このことは、本発明にしたがって様々な方法で実行され得る。
例えば、制御装置3が、(この制御装置3のソフトウェアを検査するために、又はこの制御装置3のソフトウェア内の文書化されなかった関数を特定するために)複数のアクチュエータに接続され得る。例え、1つの走行サイクルが、当該第1ステップにしたがって自動車1によって台上試験機/ローラーテストスタンド上で進行されるとしても、これらのアクチュエータは、この制御装置3に接続されている(ただし、これらのアクチュエータの事例は必須ではない)。すなわち、いわゆる「ブレッドボード」が使用されてもよい。1つの走行サイクルが、当該第1ステップにしたがって自動車1によって台上試験機/ローラーテストスタンド上で進行されるときのように、制御装置3と上記の複数のアクチュエータとが協働する限り、この制御装置3と上記の複数のアクチュエータとは、この自動車のオンボード電源/この自動車の電子機器の少なくとも一部に組み込まれているか、又はこの自動車のオンボード電源の全体/この自動車の電子機器の全体に組み込まれている。いずれにしても、このようにして、制御装置3を、上記の制御装置3とアクチュエータとから成る複合構造の一部として、当該第1ステップ中に記録された入力変数に基づいて稼働させることが可能である。
本発明によれば、制御装置3をシミュレータ、特にHILシミュレータ(ハードウェアインザループシミュレータ)に接続すること、すなわち制御装置3の少なくとも一部を(仮想)シミュレーション環境内に組み込むことがさらに可能である。この場合、当該アクチュエータがシミュレートされる。当然に、アクチュエータも、上記の場合のように、(少なくとも同様に構成された)現実の部分として、HILシミュレータに接続して構成され得る。こうして、制御装置3を、制御装置3と模擬のアクチュエータ又は現実のアクチュエータとから成る複合構造の一部として、HILシミュレータに接続して、当該第1ステップ中に記録された入力変数に基づいて稼働させることが可能である。すなわち、HILシミュレータを使用することで、制御すべきシステムが、モデルによってシミュレーションされない。したがって、制御装置3の入力が、モデルからのセンサデータによって稼働されない。むしろ、当該第1ステップ中の台上試験機/ローラーテストスタンド上での当該走行サイクルの進行とは違って、この別のステップでは、現実のセンサが存在しない。したがって、制御装置3が、電気的に直接に稼働される、すなわち現実に(当該第1ステップ中に)記録された測定データに基づいて稼働される。当該測定データは、HILシミュレータでのテスト環境において当該制御装置に効果的に入力される。この場合、当該現実に記録されている測定データは、当該第1ステップ中に記録された制御装置3/制御装置3,4の入力信号に相当する。例えば少なくとも1つのアクチュエータを制御するための制御装置3の出力変数も、モデルにリードバックされない。したがって、当該HILシミュレータは、この別のステップのために有益である。何故なら、当該HILシミュレータは、それぞれのアプリケーションソフトウェアの実時間条件を満たし得るプロセッサだけを有するのではなくて、当該制御装置と存在する擬似負荷/現実のアクチュエータとのために、デジタル入力インタフェース及びデジタル出力インタフェース並びにアナログ入力インタフェース及びアナログ出力インタフェースも有するからである。
さらに、本発明によれば、制御装置3ではなくて、制御装置3のソフトウェアだけが、少なくとも部分的な(仮想)シミュレーション環境内に組み込まれることによって、当該走行サイクルを別のステップ中に繰り返すこと、ただし、当該走行サイクルを台上試験機/ローラーテストスタンド上で新たに進行させることなしに繰り返すことが可能である。この場合、当該アクチュエータがシミュレートされる(SIL、ソフトウェアインザループ)。この場合、当該ソフトウェアだけが、テスト用の少なくとも部分的なシミュレーション環境内に準備され、オブジェクトシステム(制御装置)上で実行されるのではなくて、開発用コンピュータ上で実行される。すなわち、当該別の処理では、当該ソフトウェアだけが、テストされる。この別の実施の形態の場合、ハードウェアインザループとは違って、特別なハードウェアが使用されない。この場合、ハードウェアインザループの場合のようにオブジェクトハードウェア(制御装置3)上で実行する代わりに、制御装置3,4のソフトウェアが、(アクチュエータの)シミュレーションモデルと一緒に、特に開発用コンピュータ上で実行される。いずれにしても、こうして、制御装置3のソフトウェアを、制御装置3と模擬のアクチュエータとから成る上記の複合構造の一部として、SILシミュレータに接続して、当該第1ステップ中に記録された入力変数に基づいて稼働させることが可能である。当該HILシミュレータに関連して既に説明したように、制御すべき当該システムが、モデルによってシミュレーションされない。したがって、制御装置3/当該ソフトウェアの入力が、モデルからのセンサデータによって稼働されない。むしろ、当該第1ステップ中の台上試験機/ローラーテストスタンド上での当該走行サイクルの進行とは違って、この別のステップでは、現実のセンサが存在しない。したがって、制御装置3のソフトウェアが、(電気的に)直接に稼働される、すなわち現実に(当該第1ステップ中に)記録された測定データ/入力変数に基づいて稼働される。当該測定データ/入力変数は、開発用コンピュータでのテスト環境において当該制御装置3のソフトウェアに効果的に入力される。この場合、当該現実に記録されている測定データは、当該第1ステップ中に記録された制御装置3/制御装置3,4の入力信号に相当する。例えば1つのアクチュエータを制御するための制御装置3の出力変数も、モデルにリードバックされない。したがって、当該SILシミュレータは、この別のステップのために有益である。何故なら、当該SILシミュレータは、それぞれのアプリケーションソフトウェアの実時間条件を満たし得る適切なプロセッサだけを有するのではなくて、このようなシステム/試験室は、適切なデジタル入力インタフェース及びデジタル出力インタフェース並びにアナログ入力インタフェース及びアナログ出力インタフェースも有するからである。
いずれにしても、この別のステップでは、すなわち、当該走行サイクルを台上試験機/ローラーテストスタンド上で新たに進行させることなしに、当該第1ステップにしたがって当該走行サイクルを繰り返すために、制御装置3又は制御装置3のソフトウェアが、当該第1ステップ中に記録された入力変数に基づいて稼働される。すなわち、当該第1ステップ中に記録された入力変数が、制御装置3又は制御装置3のソフトウェアに供給される。しかしながら、本発明によれば、この場合(すなわち、当該稼働時に、又は、当該稼働/起動/作動のために、又は、当該稼働前に)、当該第1ステップ中に記録された入力変数/入力信号が、必ず変更又は操作される。すなわち、制御装置3又は制御装置3のソフトウェアの稼働が、当該第1ステップ中に記録された1つの入力変数又は当該第1ステップ中に記録された複数の入力変数と共に実行される。この場合、変更が、任意に実行され得る。すなわち、この変数又はこの信号が、大きくされるか又は小さくされることによって(オフセットを当該信号に加算するか、又は係数を当該信号/信号値に乗算することによって)、すなわち当該それぞれの信号の振幅又はレベルが操作されるか、又は当該それぞれの信号の周波数が高く若しくは低くされることによって、当該それぞれの入力変数が変更され得る。すなわち、一定の信号が変更されるか、又は、一定の信号が、或る周波数と重畳されることによって、当該一定の信号(すなわち、当該第1ステップ中に記録されたそれぞれの入力変数)が変更されてもよい。すなわち、当該第1ステップ中に記録された1つの入力変数の信号レベルが零に等しいか又は零にほぼ等しいこの入力変数が上昇又は降下されてもよい。その結果、低い状態(0V)の代わりに、高い状態(xV)が、この信号によって示される。例えば、当該第1ステップ中に記録された(当該それぞれの制御装置3,4の)1つの入力変数が、自動車1の操舵角に該当する。1つの走行サイクルが、当該第1ステップ中に自動車1によって台上試験機/ローラーテストスタンド上で進行されたので、操舵角センサの信号、すなわち制御装置3又は制御装置3,4の可能な入力変数の信号が、一貫して0(低)又はほぼ0のレベルを有する。いずれにしても、この信号又はこの入力変数は、台上試験機/ローラーテストスタンド上で現実に進行される走行サイクル中に、自動車1が(例えば現実の交通において)走行されるときに起こり得るハンドル操作が実行されないことを示し、当該ハンドル操作が車道及び/又は周囲に対して実行されるのではなくて、台上試験機/ローラーテストスタンド上で不変に維持されていることを示す。このとき、(当該稼働のために/当該稼働中に/当該稼働時に)あたかもバーチャルにハンドル操作されることによって、すなわちハンドル操作が、当該第1ステップ中に記録された入力変数を変更することによってシミュレートされることによって、例えば、(ほぼ)一定の入力変数が変更されるか、又は、(当該第1ステップ中に記録された)一定の信号が、或る周波数と重畳されることによって、当該第1ステップ中に記録されたこの入力変数が、当該別のステップ中に変更される。1つの走行サイクル(例えばNEFZ、WLTP)が、自動車1によって台上試験機/ローラーテストスタンド上で進行されたときに算出された1つの制御装置3,4の入力変数に関連して、走行する自動車をシミュレーションすることは、本発明にしたがって操舵角センサの信号を変更することだけによって実行されるのではなくて、例えば、自動車1のナビゲーションシステムの複数の信号が変更されることによっても実行される。1つの走行サイクルが、当該第1ステップ中に自動車1によって台上試験機/ローラーテストスタンド上で進行されたので、これらの信号は、最初は、自動車1が車道/周囲に対して移動しないことを示す。次いで、これらの信号は、本発明にしたがって変更/操作されて、検査すべき制御装置3,4又は検査すべきソフトウェアに供給されるか、又は、制御装置3,4又は対応するソフトウェアが、これらの信号によって稼働される。自動車1が車道/周囲に対して移動することが、当該別のステップ中にシミュレートされるように、当該ナビゲーションシステムのこれらの信号の変更/操作が実行される。自動車1が、車道/周囲に対して移動されることをシミュレートするため、当然に、自動車1による1つの走行サイクルの進行時にローラーテストスタンド/台上試験機上に停止している駆動されない軸の複数の車輪の回転数を示す制御装置3の入力変数が使用されてもよい。当該第1ステップ中に記録された信号/信号値は、(ほぼ)零になるか、又は自動車1の(特に駆動されない)軸のこれらの車輪が回転しないことを示す、すなわち当該第1ステップ中に実行された台上試験機上でのローラーテスト中に、自動車1が車道/周囲に対して移動しなかったことを示す。制御装置3,4又は検査すべきソフトウェアを稼働させるためにこの信号又はこれらの信号を変更することによって、すなわち当該レベルを上げることによって、及び/又は或る周波数を重畳することによって、自動車1が、車道/周囲に対して移動することがシミュレートされる。
要するに、この別のステップでは、すなわち、当該走行サイクルをローラーテストスタンド/台上試験機上で新たに進行させることなし、当該第1ステップにしたがって当該走行サイクルを繰り返すために、検査すべき制御装置3,4のソフトウェアの稼働が実行されるか、又は、検査すべき制御装置3,4の稼働が、すなわち当該第1ステップ中に記録された入力変数に基づいて実行される。この場合、当該第1ステップ中に記録された当該入力変数/入力信号は、当該稼働のために変更され、当該車道/周囲に対する自動車1の移動がシミュレートされるように、当該入力変数/入力信号の変更が実行される。その結果、同様に、制御装置3,4又はソフトウェアの出力変数が準備される。すなわち、この別のステップ中に、当該走行サイクルを台上試験機/ローラーテストスタンド上で新たに進行させることなし、当該第1ステップにしたがって当該走行サイクルを繰り返すときに、検査すべき制御装置3,4のソフトウェアを稼働することによって、又は検査すべき制御装置3,4を稼働することによって、当該第1ステップ中に記録された当該入力変数に基づいて得られた制御装置3,4又はソフトウェアの出力変数が準備される。この場合、当該第1ステップ中に記録された入力変数/入力信号がされてあり、車道/周囲に対する自動車1の移動がシミュレートされたように、当該入力変数/入力信号の変更が実行される。
さらに別のステップでは、当該第1ステップ中に記録された制御装置3,4の出力変数又は当該ソフトウェアの出力変数が、当該走行サイクルを台上試験機/ローラーテストスタンド上で新たに進行させることなし、当該走行サイクルを当該第1ステップにしたがって繰り返すことによって準備されたか又は得られた制御装置3,4の出力変数又は当該ソフトウェアの出力変数と比較される。この場合、車道/周囲に対する自動車1の移動がシミュレート/再現されるように、検査すべき制御装置3,4のソフトウェアの稼働又は検査すべき制御装置3,4の稼働が、当該第1ステップ中に記録され、本発明にしたがって変更/操作された入力変数に基づいて実行される。すなわち、当該第1ステップによる当該ソフトウェア/当該制御装置3,4の出力変数と、当該第1ステップに続く当該別のステップによる当該ソフトウェア/当該制御装置3,4の出力変数とが互いに比較される。
本発明によれば、当該第1ステップ中に記録された出力変数(すなわち、これらの出力変数のうちの少なくとも1つの出力変数)が、当該別のステップ中に準備されたか又は算出されたか又は記録された出力変数(すなわち、これらの別の出力変数のうちの少なくとも1つの出力変数)と異なることを利用して、1つの走行サイクルが、台上試験機/ローラーテストスタンド上で進行されるのか又は進行されないのかを識別する関数を、当該ソフトウェア/当該制御装置3,4が有することが確認される。この場合、当該ソフトウェア/制御装置3,4が、このような関数を有することが確認されたときに、エラーメッセージが表示されるか、又は、当該ソフトウェア/制御装置3,4がこのような関数を有することを指摘する状態変数が出力される。すなわち、当該第1ステップ中に記録された当該ソフトウェア/当該制御装置3の入力変数/入力信号を変更することによって(又は本発明にしたがって変更された入力変数を用いて当該ソフトウェア/当該制御装置3,4を稼働することによって)、車道/周囲に対する自動車1の移動をシミュレートする結果として、当該ソフトウェア/当該制御装置3によって処理された当該ソフトウェア/当該制御装置3の、当該第1ステップ中に記録された当該ソフトウェア/当該制御装置3の出力信号とは違う信号又は出力信号が、主エンジン2の複数のアクチュエータ(すなわち、少なくとも1つのアクチュエータ)に供給され、このとき、1つの走行サイクルが、台上試験機/ローラーテストスタンド上で進行されるのか又は進行されないのかを識別する関数を、当該ソフトウェア/当該制御装置3,4が有することを、当該主エンジン2の例えば制御装置3のこれらの出力変数の比較が明らかにする。特に、主エンジン2又は自動車1の燃費及び排気を操作するこれらの出力変数は、すなわち特にインジェクタ(制御の開始、制御期間、稼働サイクルごとの制御頻度)、スロットルバルブ(AGR、吸気)又は点火プラグに関する。当該ソフトウェア/当該制御装置3によって処理された信号(当該ソフトウェア/当該制御装置3の出力信号)が、当該インジェクタに供給される。
別の構成では、当該走行サイクルが、当該第1ステップ後にこの第1ステップにしたがって繰り返され、ただし、この走行サイクルを台上試験機/ローラーテストスタンド上で新たに進行させることなしに、しかしながら最初は、この第1ステップ中に記録された入力変数を変更することなしに実行されることが提唱され得る。その結果、制御装置3,4のソフトウェア又は制御装置3,4の稼働が、当該第1ステップ中に記録された当初の未変更の入力変数に基づいて実行される。すなわち、当該第1ステップ中に記録された入力変数を用いて当該ソフトウェア/当該制御装置3,4を稼働することによって、当該走行サイクルを台上試験機/ローラーテストスタンド上で(自動車1によって)新たに進行させることなし、当該第1ステップによる当該走行サイクルの繰り返しが、そもそも可能であるか否かが最初に検査される。こうして、当該制御装置3,4又は当該ソフトウェアを実際に検査する前に、選択されたシミュレーション環境(「ブレッドボード」、HIL、SIL)が、現実の自動車1を適切に再現するか否かが確認される。当該選択されたシミュレーション環境(「ブレッドボード」、HIL、SIL)が、現実の自動車1を適切に再現しない場合には、エラーが探索されるか、又は、整合が実行され得る。
本発明によれば、出力変数を生成するために入力変数を処理するための関数を有するソフトウェアを備える自動車1の制御装置3,4を検査するための方法が、別の構成にしたがって以下に記載されているステップから成る。
第1ステップでは、1つの走行サイクルが、停止していない、すなわち周囲又は車道に対して移動する自動車1によって進行/遂行/実行される。当該自動車1は、この自動車1の排気ガスの排気を分析するための車載式排出ガス測定システム(Portable Emission Measurement System,PEMS)を備える。この場合、自動車1の制御装置3又は制御装置4又は全ての制御装置3,4の入力変数及び出力変数が記録される。すなわち、自動車1の排気が、公道上の実際の、すなわち現実の運転中に、現実に変化する周囲条件及び運転条件の影響の下で測定される。この場合、排気ガスの排気が、自動車1の排気管で測定される(実路走行排気検査方法)。このような走行サイクルの進行、すなわち当該進行に必要な技術と、適切な又は法的に規定されている条件(標準化、周囲条件、条件付け、頻度)の確保とは、当業者に十分に周知である。制御装置3若しくは制御装置4又は全ての制御装置3,4の入力変数及び出力変数の記録も、一般的に周知のように、例えばデータ記録装置によって実行される。
周知のように、例えば、当該車載式排出ガス測定システムが、トレーラーに電気エネルギーを供給するために設けられている電気エネルギー供給部に接続されているようにして、1つの走行サイクルが、排気ガスの排気を分析するための当該車載式排出ガス測定システムを備える自動車1によって進行される。したがって、トレーラーへの電気エネルギーの供給に関する又はトレーラーの検出に関する少なくとも1つの信号が、上記の1つの走行サイクルの進行時に記録される。この場合、当該少なくとも1つの信号は、電気エネルギーがこの走行サイクルの進行中にトレーラーに供給されることを示す。すなわち、当該少なくとも1つの信号は、トレーラーが自動車1に連結されていることを示す。この場合、しかしながら、このトレーラーは、当該車載式排出ガス測定システムである。説明したように、当該信号は、トレーラーのプラグコネクタに配置されたマイクロスイッチの情報を含んでもよい。
いずれにしても、この少なくとも1つの信号は、バスシステム6を通じて又はバスシステム6によって制御装置3若しくは制御装置4又は両制御装置3,4に供給され、当該それぞれの制御装置3,4によって、又は当該それぞれの制御装置3,4によって包含された関数に基づいて、出力信号に処理される。当然に、このような信号は、全てのその他の信号と一緒に、特に主エンジン2のクランク軸の回転数(回転数センサ)、主エンジン2の負荷(回転トルク、吸気圧、スロットルバルブの位置、噴射量)及び空燃比(ラムダセンサ)に関する信号(入力信号)と一緒に処理される。その結果、これらの信号は、制御装置3によって、又は制御装置3のソフトウェア内に含まれている関数によって処理される、すなわち出力信号に処理される。既に説明したように、いずれにしても、自動車1の制御装置3若しくは制御装置4又は全ての制御装置3,4の入力変数及び出力変数が記録される。全ての入力変数及び出力変数であろうと、幾つかの入力変数及び出力変数であろうと、任意に選択可能である。要するに、当該走行サイクルの経過後に、車載式排出ガス測定システムによって排気ガスの排気を分析するために記録された制御装置3,4の入力変数及び出力変数が、別のアプリケーションソフトウェアのために準備される。
本発明によれば、当該走行サイクルが、別のステップ中に、当該第1ステップにしたがって繰り返される、ただし、当該走行サイクルを当該周囲又は車道に対して移動する、排気ガスの排気を分析するための車載式排出ガス測定システムを備える自動車1によって進行させることなしに繰り返される。このことは、本発明にしたがって様々な方法で実行され得る。
例えば、制御装置3が、(この制御装置3のソフトウェアを検査するために、又はこの制御装置3のソフトウェア内の文書化されなかった関数を特定するために)複数のアクチュエータに接続され得る。例え、1つの走行サイクルが、当該第1ステップにしたがって当該周囲又は車道に対して移動する、車載式排出ガス測定システムを有する自動車1によって進行されるとしても、これらのアクチュエータは、この制御装置3に接続されている(ただし、これらのアクチュエータの事例は必須ではない)。すなわち、いわゆる「ブレッドボード」が使用されてもよい。1つの走行サイクルが、当該第1ステップにしたがって当該周囲又は車道に対して移動する、車載式排出ガス測定システムを有する自動車1によって進行されるときのように、制御装置3と上記の複数のアクチュエータとが協働する限り、この制御装置3と上記の複数のアクチュエータとは、この自動車のオンボード電源/この自動車の電子機器の少なくとも一部に組み込まれているか、又はこの自動車のオンボード電源の全体/この自動車の電子機器の全体に組み込まれている。いずれにしても、このようにして、制御装置3を、上記の制御装置3とアクチュエータとから成る複合構造の一部として、当該第1ステップ中に記録された入力変数に基づいて稼働させることが可能である。
本発明によれば、制御装置3をシミュレータ、特にHILシミュレータ(ハードウェアインザループシミュレータ)に接続すること、すなわち制御装置3の少なくとも一部を(仮想)シミュレーション環境内に組み込むことがさらに可能である。この場合、当該アクチュエータがシミュレートされる。当然に、アクチュエータも、上記の場合のように、(少なくとも同様に構成された)現実の部分として、HILシミュレータに接続して構成され得る。こうして、制御装置3を、制御装置3と模擬のアクチュエータ又は現実のアクチュエータとから成る複合構造の一部として、HILシミュレータに接続して、当該第1ステップ中に記録された入力変数に基づいて稼働させることが可能である。すなわち、HILシミュレータを使用することで、制御すべきシステムが、モデルによってシミュレーションされない。したがって、制御装置3の入力が、モデルからのセンサデータによって稼働されない。むしろ、当該第1ステップ中の車載式排出ガス測定システムを用いた当該走行サイクルの進行とは違って、この別のステップでは、現実のセンサが存在しない。したがって、制御装置3が、電気的に直接に稼働される、すなわち現実に(当該第1ステップ中に)記録された測定データに基づいて稼働される。当該測定データは、HILシミュレータでのテスト環境において当該制御装置に効果的に入力される。この場合、当該現実に記録されている測定データは、当該第1ステップ中に記録された制御装置3/制御装置3,4の入力信号に相当する。例えば少なくとも1つのアクチュエータを制御するための制御装置3の出力変数も、モデルにリードバックされない。したがって、当該HILシミュレータは、この別のステップのために有益である。何故なら、当該HILシミュレータは、それぞれのアプリケーションソフトウェアの実時間条件を満たし得るプロセッサだけを有するのではなくて、当該制御装置と存在する擬似負荷/現実のアクチュエータとのために、デジタル入力インタフェース及びデジタル出力インタフェース並びにアナログ入力インタフェース及びアナログ出力インタフェースも有するからである。
さらに、本発明によれば、制御装置3ではなくて、制御装置3のソフトウェアだけが、少なくとも部分的な(仮想)シミュレーション環境内に組み込まれることによって、当該走行サイクルを別のステップ中に繰り返すこと、ただし、当該走行サイクルを当該周囲又は車道に対して移動する、車載式排出ガス測定システムを有する自動車1によって新たに進行させることなしに繰り返すことが可能である。この場合、当該アクチュエータがシミュレートされる(SIL、ソフトウェアインザループ)。この場合、当該ソフトウェアだけが、テスト用の少なくとも部分的なシミュレーション環境内に準備され、オブジェクトシステム(制御装置)上で実行されるのではなくて、開発用コンピュータ上で実行される。すなわち、当該別の処理では、当該ソフトウェアだけが、テストされる。この別の実施の形態の場合、ハードウェアインザループとは違って、特別なハードウェアが使用されない。この場合、ハードウェアインザループの場合のようにオブジェクトハードウェア(制御装置3)上で実行する代わりに、制御装置3,4のソフトウェアが、(アクチュエータの)シミュレーションモデルと一緒に、特に開発用コンピュータ上で実行される。いずれにしても、こうして、制御装置3のソフトウェアを、制御装置3と模擬のアクチュエータとから成る上記の複合構造の一部として、SILシミュレータに接続して、当該第1ステップ中に記録された入力変数に基づいて稼働させることが可能である。当該HILシミュレータに関連して既に説明したように、制御すべき当該システムが、モデルによってシミュレーションされない。したがって、制御装置3/当該ソフトウェアの入力が、モデルからのセンサデータによって稼働されない。むしろ、当該第1ステップ中の車載式排出ガス測定システムを有する自動車1を用いた当該走行サイクルの進行とは違って、この別のステップでは、現実のセンサが存在しない。したがって、制御装置3のソフトウェアが、(電気的に)直接に稼働される、すなわち現実に(当該第1ステップ中に)記録された測定データ/入力変数に基づいて稼働される。当該測定データ/入力変数は、開発用コンピュータでのテスト環境において当該制御装置3のソフトウェアに効果的に入力される。この場合、当該現実に記録されている測定データは、当該第1ステップ中に記録された制御装置3/制御装置3,4の入力信号に相当する。例えば1つのアクチュエータを制御するための制御装置3の出力変数も、モデルにリードバックされない。したがって、当該SILシミュレータは、この別のステップのために有益である。何故なら、当該SILシミュレータは、それぞれのアプリケーションソフトウェアの実時間条件を満たし得る適切なプロセッサだけを有するのではなくて、このようなシステム/試験室は、適切なデジタル入力インタフェース及びデジタル出力インタフェース並びにアナログ入力インタフェース及びアナログ出力インタフェースも有するからである。
いずれにしても、この別のステップでは、すなわち、当該走行サイクルを当該周囲又は車道に対して移動する、車載式排出ガス測定システムを有する自動車1によって進行させることなしに、当該第1ステップにしたがって当該走行サイクルを繰り返すために、制御装置3又は制御装置3のソフトウェアが、当該第1ステップ中に記録された入力変数に基づいて稼働される。すなわち、当該第1ステップ中に記録された入力変数が、制御装置3又は制御装置3のソフトウェアに供給される。しかしながら、本発明によれば、この場合(すなわち、当該稼働時に、又は、当該稼働のために、又は、当該稼働前に)、当該第1ステップ中に記録された入力変数/入力信号が、必ず変更又は操作される。すなわち、制御装置3又は制御装置3のソフトウェアの稼働が、当該第1ステップ中に記録された1つの入力変数又は当該第1ステップ中に記録された複数の入力変数と共に実行される。この場合、変更が、任意に実行され得る。すなわち、この変数又はこの信号が、大きくされるか又は小さくされることによって(オフセットを当該信号に加算するか、又は係数を当該信号/信号値に乗算することによって)、すなわち当該それぞれの信号の振幅又はレベルが操作されるか、又は当該それぞれの信号の周波数が高く若しくは低くされることによって、当該それぞれの入力変数が変更され得る。すなわち、一定の信号が変更されるか、又は、一定の信号が、或る周波数と重畳されることによって、当該一定の信号(すなわち、当該第1ステップ中に記録されたそれぞれの入力変数)が変更されてもよい。すなわち、当該第1ステップ中に記録された1つの入力変数の信号レベルが零に等しいか又は零にほぼ等しいこの入力変数が上昇又は降下されてもよい。その結果、低い状態(0V)の代わりに、高い状態(xV)が、この信号によって示される。
例えば、当該第1ステップ中に記録された(当該それぞれの制御装置3,4の)1つの入力変数が、トレーラーが自動車1に連結されているか否か、又は電気エネルギーが自動車1に配置されたトレーラーのプラグコネクタを通じてトレーラー又は他の装置に供給されるか否かの状態に該当する。1つの走行サイクルが、当該第1ステップ中に自動車1によって進行され、このときに、この自動車1が、当該周囲又は車道に対して移動し、この自動車1が、排気ガスの排気を分析するための車載式排出ガス測定システムを備えていたので、トレーラーへの電気エネルギーの供給又はトレーラーの検出に関する信号、すなわち当該トレーラーのプラグコネクタ内に配置されたマイクロスイッチによって供給されるか又は操作される信号、すなわち制御装置3又は制御装置3,4の可能な入力変数が、一貫して1(高)又はほぼ1のレベルを有する。
いずれにしても、この信号又はこの入力変数は、排気ガスの排気を分析するための車載式排出ガス測定システムを備えた自動車1によって現実に進行された走行サイクル中に、トレーラーが自動車1に連結されていること、又は自動車1に連結されているトレーラー若しくは車載式排出ガス測定システムがこの自動車1に配置されたトレーラーのプラグコネクタを通じてこの自動車1のボード電源に接続されているか、若しくは電気エネルギーを供給されることを指摘する状態若しくは条件が有力であることを示す。
このとき、(当該稼働のために/当該稼働中に/当該稼働時に)あたかもバーチャルに、当該トレーラーが切り離されるか、又は当該トレーラーへの電気エネルギーの供給が遮断されることによって、すなわちこのことが、当該第1ステップ中に記録された入力変数を変更することによってシミュレートされることによって、例えば、(ほぼ)一定の入力変数が変更されるか、又は、(当該第1ステップ中に記録された)一定の信号が、或る周波数と重畳されることによって、当該第1ステップ中に記録されたこの入力変数が、当該別のステップ中に変更される。
当然に、自動車1が、排気ガスの排気を分析するための車載式排出ガス測定システムを備えないことをシミュレートするため、自動車1による1つの走行サイクルの現実の進行時に電気エネルギーをトレーラー又は当該排出ガス測定システムに供給することから得られる、制御装置3又は制御装置4の入力変数が使用されてもよい。当該第1ステップ中に記録されたこれらの信号/信号値は、(主に、)零(0)よりも大きい値であるか、又は所定の電流が所定の電圧で通電することを示す、すなわちトレーラーを有する自動車1が当該第1ステップ中に実行されるテスト/走行サイクル中に電気負荷又は排出ガス測定システムに接続されていることを示す。制御装置3,4又は検査すべきソフトウェアを稼働させるためにこの信号又はこれらの信号を変更することによって、すなわち当該レベルを上げることによって、及び/又は或る周波数を重畳することによって、自動車1が、電気負荷を有するトレーラーに連結されていないか、排出ガス測定システムに接続されていないことが当該別のステップでシミュレートされる。
要するに、この別のステップでは、すなわち、このテスト/走行サイクルを、周囲に対して移動する、排気ガスの排気を分析するための当該車載式排出ガス測定システムを備える自動車1によって新たに進行させることなし、当該第1ステップにしたがって当該走行サイクルを繰り返すために、検査すべき制御装置3,4のソフトウェアの稼働が実行されるか、又は、検査すべき制御装置3,4の稼働が、すなわち当該第1ステップ中に記録された入力変数に基づいて実行される。この場合、当該第1ステップ中に記録された当該入力変数/入力信号は、当該稼働のために変更され、トレーラー/排出ガス測定システムの不在がシミュレートされるように、当該入力変数/入力信号の変更が実行される。
その結果、同様に、制御装置3,4又はソフトウェアの出力変数が準備される。すなわち、この別のステップ中に、検査すべき制御装置3,4のソフトウェアを稼働することによって、又は検査すべき制御装置3,4を稼働することによって、当該第1ステップ中に記録された当該入力変数に基づいて得られた制御装置3,4又はソフトウェアの出力変数が準備される。この場合、当該第1ステップ中に記録された入力変数/入力信号がされてあり、トレーラー/排出ガス測定システムの不在がシミュレートされたように、当該入力変数/入力信号の変更が実行される。
さらに別のステップでは、当該第1ステップ中に記録された制御装置3,4の出力変数又は当該ソフトウェアの出力変数が、このテスト/走行サイクルを、周囲に対して移動する、排気ガスの排気を分析するための当該車載式排出ガス測定システムを備える自動車1によって新たに進行させることなし、当該走行サイクルを当該第1ステップにしたがって繰り返すことによって準備されたか又は得られた制御装置3,4の出力変数又は当該ソフトウェアの出力変数と比較される。この場合、トレーラー/排出ガス測定システムの不在がシミュレート/再現されるように、検査すべき制御装置3,4のソフトウェアの稼働又は検査すべき制御装置3,4の稼働が、当該第1ステップ中に記録され、本発明にしたがって変更/操作された入力変数に基づいて実行される。すなわち、当該第1ステップによる当該ソフトウェア/当該制御装置3,4の出力変数と、当該第1ステップに続く当該別のステップによる当該ソフトウェア/当該制御装置3,4の出力変数とが互いに比較される。
本発明によれば、当該第1ステップ中に記録された出力変数(すなわち、これらの出力変数のうちの少なくとも1つの出力変数)が、当該別のステップ中に準備されたか又は算出されたか又は記録された出力変数(すなわち、これらの別の出力変数のうちの少なくとも1つの出力変数)と異なることを利用して、1つの走行サイクルを進行させる自動車が、当該自動車の排気ガスの排気を分析するための車載式排出ガス測定システムを備えるか否かを識別する関数を、当該ソフトウェア/当該制御装置3,4が有することが確認される。この場合、当該ソフトウェア/制御装置3,4が、このような関数を有することが確認されたときに、エラーメッセージが表示されるか、又は、当該ソフトウェア/制御装置3,4がこのような関数を有することを指摘する状態変数が出力される。すなわち、当該第1ステップ中に記録された当該ソフトウェア/当該制御装置3の入力変数/入力信号を変更することによって(又は本発明にしたがって変更された入力変数を用いて当該ソフトウェア/当該制御装置3,4を稼働することによって)、トレーラー/排出ガス測定システムの不在をシミュレートする結果として、当該ソフトウェア/当該制御装置3によって処理された当該ソフトウェア/当該制御装置3の、当該第1ステップ中に記録された当該ソフトウェア/当該制御装置3の出力信号とは違う信号又は出力信号が、主エンジン2の複数のアクチュエータ(すなわち、少なくとも1つのアクチュエータ)に供給され、このとき、1つの走行サイクルが(車載式排出ガス測定システムを用いて)進行されるのか又は進行されないのかを識別する関数を、当該ソフトウェア/当該制御装置3,4が有することを、当該主エンジン2の例えば制御装置3のこれらの出力変数の比較が明らかにする。特に、主エンジン2又は自動車1の燃費及び排気を操作するこれらの出力変数は、すなわち特にインジェクタ(制御の開始、制御期間、稼働サイクルごとの制御頻度)、スロットルバルブ(AGR、吸気)又は点火プラグに関する。当該ソフトウェア/当該制御装置3によって処理された信号(当該ソフトウェア/当該制御装置3の出力信号)が、当該インジェクタに供給される。
1つの構成では、当該走行サイクルが、当該第1ステップ後にこの第1ステップにしたがって繰り返され、ただし、この走行サイクルを、排気ガスの排気を分析するための車載式排出ガス測定システムを備える移動する自動車によって新たに進行させることなしに、しかしながら最初は、この第1ステップ中に記録された入力変数を変更することなしに実行されることが提唱され得る。その結果、制御装置3,4のソフトウェア又は制御装置3,4の稼働が、当該第1ステップ中に記録された当初の未変更の入力変数に基づいて実行される。すなわち、当該第1ステップ中に記録された入力変数を用いて当該ソフトウェア/当該制御装置3,4を稼働することによって、当該走行サイクルを、排気ガスの排気を分析するための車載式排出ガス測定システムを備える自動車によって新たに進行させることなし、当該第1ステップによる当該走行サイクルの繰り返しが、そもそも可能であるか否かが最初に検査される。こうして、当該制御装置3,4又は当該ソフトウェアを実際に検査する前に、選択されたシミュレーション環境(「ブレッドボード」、HIL、SIL)が、現実の自動車1を適切に再現するか否かが確認される。当該選択されたシミュレーション環境(「ブレッドボード」、HIL、SIL)が、現実の自動車1を適切に再現しない場合には、エラーが探索されるか、又は、整合が実行され得る。
自動車1の制御装置のソフトウェアを検査するための本発明の装置は、本発明の方法を実行するために適合されている、CPUとコンピュータで読み取り可能な記憶媒体とを有するコンピュータに相当する。本発明の方法の全てのステップを有し、これらのステップを制御するコンピュータプログラムが、この記憶媒体上に記憶されている。この場合、当該コンピュータプログラムは、当該CPUによって実行される。特に、本発明の方法の全てのステップが、シーケンス制御によって制御され得る。この場合、このシーケンス制御は、上記の記憶媒体上に記憶されている。
本発明によれば、プログラムが、コンピュータ上で実行されるときに、上記の本発明の方法を実行するために、コンピュータで読み取り可能な記憶媒体上に記憶されたプログラムコードを有するコンピュータプログラム製品も提供される。