(57)【特許請求の範囲】
【請求項１】
少なくともプロセッサ（２）およびメモリ（３）を有し、入力装置（７）が接続されている制御装置（１）によって車両を制御するための制御プログラム（ＳＰＣ）をテストする方法であって、
（ａ）前記制御プログラム（ＳＰＣ）を、前記メモリ（３）の第1のメモリ領域（３ａ）に記憶し、
ここで、前記制御プログラムは、前記車両の機関を制御するための制御機能を有する複数の制御プログラムモジュール（ＳＰＣＭｉ）より構成され、
（ｂ）テストすべき、複数のテストプログラムモジュール（ＳＩＭＰＣＭｉ）を、前記入力装置（７）を介して入力し、かつ、前記メモリの第２のメモリ領域（３ｂ）に前記複数のテストプログラムモジュール（ＳＩＭＰＣＭｉ）を記憶させ、
（ｃ）前記第1のメモリ領域（３ａ）の中の、隣接する制御プログラムモジュール（ＳＰＣＭｉ）の間に、複数の切り換えプログラムモジュール（Ｓ）を配置し、
ここで、前記複数の切り換えプログラムモジュール（Ｓ）は、第1の切り換え可能な状態と、第２の切り換え可能な状態と、前記メモリの第２メモリ領域（３ｂ）の中のテストプログラムモジュール（ＳＩＰＭＣＭｉ）へのアドレスポインターとを有し、
（ｄ）前記プロセッサによって、前記複数の切り換えプログラムモジュール（Ｓ１−Ｓｎ）を順次実行し、
ここで、
実行中の切り換えプログラムモジュール（Ｓｉ）が前記第1の切り換え可能な状態に在るときは、前記実行中の切り換えプログラムモジュール（Ｓｉ）に続く制御プログラムモジュール（ＳＰＣＭｉ）が前記プロセッサによって実行され、
なお、直前に実行された、制御プログラムモジュール（ＳＰＣＭｉ−１）またはテストプログラムモジュール（ＳＩＭＰＣＭｉ−１）の出力が、前記実行中の切り換えプログラムモジュール（Ｓｉ）に続く制御プログラムモジュール（ＳＰＣＭｉ）のための入力として使用され、
または
実行中の切り換えプログラムモジュール（Ｓｉ）が前記第２の切り換え可能な状態に在るときは、前記複数のテストプログラムモジュールの中の一つのモジュール（ＳＩＭＰＣＭｉ）が前記プロセッサによって実行され、
なお、前記複数のテストプログラムモジュールの中の一つのモジュール（ＳＩＭＰＣＭｉ）は、前記実行中の切り換えプログラムモジュール（Ｓｉ）のアドレスポインターによって選択され、
そして、直前に実行された、制御プログラムモジュール（ＳＰＣＭｉ−１）またはテストプログラムモジュール（ＳＩＭＰＣＭｉ−１）の出力が、前記複数のテストプログラムモジュールの中の一つのモジュール（ＳＩＭＰＣＭｉ）のための入力として使用され、
（ｅ）前記アドレスポインターによってアドレスされたテストプログラムモジュール（ＳＩＭＰＣＭｉ）によって取って代えられる、前記少なくとも１つの切り換えプログラムモジュール（Ｓ）に続く制御プログラムモジュール（ＳＰＣＭｉ）を特定するために、
前記入力装置（７）を使用して、前記少なくとも一つの切り換えプログラムモジュール（Ｓ）を第２の切り換え可能な状態に設定し、かつ、前記複数のテストプログラムモジュールの中の一つのモジュール（ＳＩＭＰＣＭｉ）へのアドレスポインターを設定する、
ことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御装置の制御機能、例えば車両の機関制御機能をシミュレーションするための方法に関する。
【０００２】
【従来の技術】
制御装置の制御機能は、制御プログラムコードとして制御装置のメモリに記憶されておりかつ制御機能を実施するために処理される。制御装置の機能性を験すために、制御プログラムコードを予めシミュレーションすること、即ち制御機能をモデルとして表しかつ相応に生成されたシミュレーションプログラムコードを実時間で実行すると有利である。その際シミュレーションプログラムコードの生成はシミュレーションツールによって行われる。
【０００３】
所謂外部のバイパスにおいて、１つまたは複数の制御装置機能がモデル化されかつ実時間で外部のシミュレーション計算機に設けられているプロセッサにおいてシミュレーションされる。その際シミュレーションされるべきではないその他の制御機能、並びに作動系ドライバおよびハードウェアドライバは、制御装置に設けられている内部のプロセッサにおいて実施される。外部のバイパスではシミュレーションプログラムコードの処理が外部のシミュレーション計算機において行われ、その際制御装置との交信はインタフェース、例えばＣＡＮ−Ｂｕｓを介して行われる。
【０００４】
図１には、制御装置２０のシミュレーションすべき制御機能のシミュレーションが外部のシミュレーション計算機３０において行われる、制御プログラムコードの外部のバイパスないし外部の周囲の基本構成が示されている。
【０００５】
制御装置２０は、任意のアッセンブリ１０、例えば車両の機関を制御するために用いられる、多数の制御機能を有している。制御装置２０の新しい制御機能の開発のためにまたは既存の制御機能の改良のために、制御装置のメモリに記憶されている制御プログラムコードの相応の制御プログラムコードモジュールに代わって、外部のシミュレーション計算機３０に存在する外部のプロセッサにおいて計算が行われる。シミュレーションツールによって生成されたシミュレーションプログラムコードは、シミュレーション計算機３０の外部のプロセッサにおいて処理される。シミュレーションプログラムコードは、アッセンブリ１０の作動経過中、例えば機関の作動経過中、相応の入力量ないし入力データをインタフェースを介して制御装置２０の制御プログラムコードから得て、それから実行ないし処理されかつ出力データないし結果量を制御装置２０に戻し書き込む。これにより、作動の経過中、例えば車両の機関制御機能を変更しかつその結果を車両において直接観察ことができる。制御装置２０の検査すべき制御機能は、入力装置４０によってモデル化されかつ外部のシミュレーション計算機に入力される。
【０００６】
外部のシミュレーション計算機３０に移された制御機能に対する入力データは制御装置２０によって使用されるようになっており、かつ外部のシミュレーション計算機３０に移された制御機能の出力データは制御装置２０に返送される。
【０００７】
上述の外部のバイパスないし制御装置２０に記憶されている制御プログラムコードの部分の外部の周囲は多数の欠点を有している。制御装置機能をシミュレーションするために、外部のシミュレーション計算機が必要である。更に、インタフェースは、外部のアッセンブリから到来する入力量がシミュレーション計算機において十分に高速に使用することができかつ計算されたデータが制御装置において制御装置プログラムにおける引き続く処理のために適時に使用することができる程度に高速でなければならない。
【０００８】
このことは、付加的なインタフェースおよび外部のシミュレーション計算機自体による付加的なハードウェアコストを意味している。制御装置２０と外部のシミュレーション計算機３０との間で、インタフェースを介して常時データが交換され、その際データ伝送に対して付加的な時間が必要とされる。この時間損失は、実時間で行われなければならない、制御装置機能のシミュレーションに著しく不都合に作用する可能性がある。外部のバイパスに設けるべきシミュレーション計算機３０は更に、所定の周囲条件に対して制御装置２０のように設計されていない。これにより、周囲条件がシミュレーションに及ぼす影響を適当に考慮することができない。
【０００９】
【発明が解決しようとする課題】
従って本発明の課題は、冒頭に述べた形式の方法を、制御プログラムとシミュレーションプログラムコードとの間のデータ交換が著しく容易になるようにすることである。
【００１０】
【課題を解決するための手段および発明の効果】
この課題は、冒頭に述べた記載の方法において、請求項１に記載の特徴部分に記載の方法において解決される。
【００１１】
請求項１に記載の、制御装置の制御機能をシミュレーションするための本発明の方法は、制御プログラムとシミュレーションプログラムコードとの間のデータ交換が著しく容易になるという利点を有している。
【００１２】
本発明の別の利点は、制御プログラムコードもシミュレーションプログラムコードも制御装置それ自体に存在する、即ち制御プログラムコードおよびシミュレーションプログラムコードが同じ周囲条件にさらされているという点にある。
【００１３】
本発明は、シミュレーションを、このシミュレーションを外部のシミュレーション計算機に移動することなしに、制御装置それ自体において直接実施するという思想に基づいている。これにより、装置コストが著しく低減される。
【００１４】
【発明の実施の形態】
その他の請求項において、制御装置の制御機能のシミュレーションのための本発明の方法の有利な実施の形態が示されている。
【００１５】
有利な実施形態によれば、用意されるシミュレーションプログラムコードモジュールをテスト制御機能から生成し、この場合該テスト機能は入力装置を介して制御装置に入力される。
【００１６】
これにより、制御装置に記憶されているすべての制御機能の全部ではなくて、テストすべき所定の制御機能のみがシミュレーションされるという特別な利点が得られる。
【００１７】
別の有利な実施形態によれば、切換装置を、第２のメモリ領域に記憶されたシミュレーションプログラムコードモジュールのジャンプアドレスに切り換える。
【００１８】
別の有利な実施形態によれば、第２のメモリ領域に記憶されたシミュレーションプログラムコードモジュールに対するジャンプアドレスを制御プログラムコードの生成の際にその都度固定する。
【００１９】
別の有利な実施の形態によれば、第２のメモリ領域に記憶されたすべてのシミュレーションプログラムコードモジュールに対して、１つの共通のジャンプアドレスを用意し、その際シミュレーションすべき制御機能に属するシミュレーションプログラムコードモジュールの活性化はフラグないしマーカーを介して行われる。
【００２０】
別の有利な実施の形態によれば、それぞれの制御プログラムコードモジュールを自立的に１つの所属のシミュレーションプログラムコードモジュールによってシミュレーションする。
【００２１】
別の有利な実施の形態によれば、制御装置の、シミュレーションすべき制御機能をテスト制御機能として入力装置を介して選択する
別の有利な実施の形態によれば、シミュレーションすべき制御機能を実時間においてシミュレーションする。
【００２２】
別の有利な実施の形態によれば、シミュレーションすべき制御機能のシミュレーションを制御装置に設けられているプロセッサにおいて内部で行う。
【００２３】
別の有利な実施の形態によれば、前以て決められたデータ交換方法を設定し、該データ交換方法を介して、シミュレーションプログラムコードモジュールに入力データを供給しかつ該シミュレーションプログラムコードモジュールが出力データを送出する。
【００２４】
別の有利な実施の形態によれば、データ交換方法は、シミュレーションプログラムコードモジュールに、入力データを読み出しかつ出力データを書き込むためのメモリアドレスに関する情報を供給する。
【００２５】
別の有利な実施の形態によれば、制御プログラムコードモジュールからシミュレーションプログラムコードモジュールに切り換えるための切換装置は少なくとも２つの状態を有しており、その際第１の切換可能な状態において、対応する制御プログラムコードモジュールが実行されかつ第２の切換可能な状態において対応するシミュレーションプログラムコードモジュールが実行される。
【００２６】
別の有利な実施の形態によれば、シミュレーションすべきそれぞれの制御機能に対して１つまたは複数のテスト制御機能を入力する。
【００２７】
これにより、シミュレーションすべき制御機能に対して、種々様々なモデルを表す複数の種々異なったテスト制御機能を入力可能であり、これらのテスト制御機能を切換装置の切換によって択一的にテストすることができるという特別な利点が得られる。
【００２８】
別の有利な実施の形態によれば、テスト制御機能を入力装置を介してグラフィックまたはテキストにより入力する。
【００２９】
これにより、操作員がテスト機能を分かり易くかつ簡単な方法で入力することができるという利点が生じる。
【００３０】
別の有利な実施の形態によれば、切換装置の第１の切換可能な状態に、対応する制御プログラムコードモジュールを対応付け、かつ切換装置のそれぞれ別の切換可能な状態にそれぞれシミュレーションプログラムコードモジュールを対応付ける。
【００３１】
別の有利な実施の形態によれば、切換装置をプログラムコードとしてメモリの第１のメモリ領域に記憶する。
【００３２】
【実施例】
図２には、本発明の方法を実施するための制御装置１が示されている。
【００３３】
制御装置１は、独自のプロセッサ２およびメモリ３を有している。メモリ３は、制御プログラムコードＳＰＣを記憶するための第１のメモリ領域３ａおよびシミュレーションプログラムコードＳＩＭＰＣＭを記憶するための第２のメモリ領域３ｂを有している。制御装置１は、制御およびセンサ線路４を介して任意のアッセンブリ、例えば車両の機関に接続されている。制御装置１は更に、入力線路６を介してテスト制御機能を入力するための入力装置７に接続されている。制御装置１のプロセッサ２および内部メモリ３は、内部バス８を介して相互に接続されている。内部バス８は、図２には図示されていないインタフェースを介して入力線路６および制御およびセンサ線路４に接続されている。
【００３４】
制御装置１はアッセンブリ５を、制御プログラムコードＳＰＣとしてメモリ３の第１のメモリ領域３ａに記憶されている制御機能によって制御する。メモリ３の第１のメモリ領域３ａに記憶されている制御プログラムコードは、１つまたは複数の制御プログラムコードモジュールと、制御プログラムコードＳＰＣＭから第２のメモリ領域３ｂに記憶されているシミュレーションプログラムコードモジュールＳＩＭＰＣＭへ切り換えるための少なくとも１つの切換装置Ｓとから成っている。
【００３５】
アッセンブリ５の制御のために用いられる、制御装置１の所定の制御機能をシミュレーションするために、テスト制御機能が入力装置７，入力線路６，入力インタフェース並びにバス８を介して制御装置１に入力されかつプロセッサ２によってシミュレーションプログラムコードに変換され、それは１つまたは複数のシミュレーションプログラムコードモジュールとしてメモリ３の第２のメモリ領域３ｂに記憶される。制御プログラムコードとしてメモリの第１のメモリ領域に記憶されている、制御装置１のシミュレーションすべきそれぞれの制御機能に対して、１つまたは複数のテスト制御機能が入力されかつシミュレーションプログラムコードとして第２のメモリ領域３ｂに記憶される。テスト制御機能はグラフィックまたはテキストの形において入力装置において入力されかつ相応の機械コード（入力装置にて実行されるコンパイラを用いて生成される）がプロセッサ２において処理される。
【００３６】
図３には、図２に図示の、制御装置１のメモリ３の第１のメモリ領域３ａおよび第２のメモリ領域３ｂの占有状態が略示されている。
【００３７】
第１のメモリ領域３ａには、制御装置機能を実施するための制御プログラムコードＳＰＣがモジュール構成に分割されて存在している。制御プログラムコードＳＰＣは複数の自立的にシミュレーション可能な制御プログラムモジュールＳＰＣＭに分割されている。それぞれの制御プログラムモジュールＳＰＣＭは制御装置１の１つまたは複数の制御機能を実施する。
【００３８】
第１のメモリ領域３ａにおいて更に、制御プログラムコードモジュールＳＰＣＭからシミュレーションプログラムコードモジュールＳＩＭＰＣＭに切り換えるための切換装置Ｓが設けられている。
【００３９】
第１のメモリ領域３ａに記憶されている切換装置Ｓは少なくとも２つの切換可能な状態を有しており、その際第１の切換可能な状態において、所属の制御プログラムコードモジュールＳＰＣＭが実行されかつ第２の切換可能な状態において、所属のシミュレーションプログラムコードモジュールＳＩＭＰＣＭが実行される。
【００４０】
切換装置Ｓは、２より多くの切換可能な状態を有することもでき、その際第１の切換可能な状態において、所属の制御プログラムコードモジュールＳＰＣＭが実行されかつそれぞれ別の切換可能な状態において、第２のメモリ領域３ｂに記憶されている所属のシミュレーションプログラムコードモジュールＳＩＭＰＣＭが実行される。
【００４１】
第１のメモリ領域３ａに記憶されている制御プログラムコードＳＰＣＭは、制御装置１の１つまたは複数のオリジナル制御機能に相応しかつ第２のメモリ領域３ｂに記憶されているシミュレーションプログラムコードモジュールＳＩＭＰＣＭは、入力装置７を介して入力された１つまたは複数のテスト制御機能に相応している。
【００４２】
個々の制御プログラムコードモジュールＳＰＣＭは、少なくとも１つの所属のシミュレーションプログラムコードモジュールＳＩＭＰＣＭによって自立的にシミュレーション可能である。しかしシミュレーションプログラムモジュールは、制御プログラムコードにおいて対応性を有していない完全に新しい機能を表すこともできる。
【００４３】
制御装置１の、シミュレーションすべき制御機能は、入力装置７によって選択可能である。このことは、第１のメモリ領域３ａに記憶されている切換装置Ｓを用いて行われ、その結果操作員はプログラム流を任意に外部から制御することができる。
【００４４】
少なくとも２つの切換可能な状態を有している切換装置は、相応の入力によって、切換装置Ｓに属する制御プログラムコードメモリＳＰＣＭまたは所属のシミュレーションプログラムコードモジュールＳＩＭＰＣＭが実施されるように、切り換えられる。切換装置Ｓはプロフラムコードとして同様にメモリ３の第１のメモリ領域３ａに記憶されている。制御プログラムコードＳＰＣの処理の際に、切換装置Ｓに達し、その際切換装置Ｓの切換状態に相応して、後続の制御プログラムコードモジュールＳＰＣＭまたはシミュレーションプログラムコードモジュールＳＩＭＰＣＭが実行される。
【００４５】
その際切換装置Ｓは第２のメモリ領域３ｂに記憶されているシミュレーションプログラムコードモジュールＳＩＭＰＣＭのジャンプアドレスを指示する。切換装置Ｓが第２の切換可能な状態に存在しているとき、プログラムは対応付けられたシミュレーションプログラムコードモジュールＳＩＭＰＣＭヘ分岐しかつこれを実行する。
【００４６】
図３に示されているように、制御プログラムコードＳＰＣの処理の際にまず、切換装置Ｓ１が実現され、その際その切換状態に依存して、制御プログラムコードＳＰＣ１または相応のないし新しいシミュレーションプログラムコードモジュールＳＩＭＰＣＭ１が実行される。切換装置Ｓ１が第２の切換可能な状態にある、即ち制御プログラムモジュール１に記憶されている制御機能がシミュレーションされるべきであれば、プログラムは、シミュレーションプログラムコードモジュールＳＩＭＰＣＭ１の開始時に存在するジャンプアドレスに分岐される。
【００４７】
その後、シミュレーションプログラムコードモジュールＳＩＭＰＣＭ１がプロセッサにおいて処理され、その際テスト制御機能が作動しているアッセンブリ５に相応に作用する。
【００４８】
シミュレーションプログラムコードモジュール１の実行後、プログラム実行は第１のメモリ領域３ａにおける切換装置Ｓ２に戻る。スイッチＳ２が同様に第２の切換可能な状態にあると、プログラム実行は第２のシミュレーションプログラムモジュールＳＩＭＰＣＭ２に分岐され、それは、第２の制御プログラムコードモジュールＳＰＭ２に記憶されている制御機能に相応するテスト制御機能を実行する。切換装置Ｓ１，Ｓ２，…Ｓｎの切換によって、操作員はオリジナル制御プログラムコードＳＰＣまたはシミュレーションプログラムコードＳＩＭＰＣが実行されるのかを選択することができる。
【００４９】
第２のメモリ領域３ｂに記憶されているシミュレーションプログラムコードモジュールＳＩＭＰＣＭへのジャンプアドレスは、制御プログラムコードＳＰＣの生成の際に確定されるかまたは第２のメモリ領域３ｂに記憶されているシミュレーションプログラムコードモジュールＳＩＭＰＣＭすべてに対して１つの共通のジャンプアドレスが準備され、かつシミュレーションすべき制御機能に属するシミュレーションプログラムコードモジュールＳＩＭＰＣＭの活性化はフラグないしマーカを介して行われる。これらフラグはユニバーサルに使用可能な制御ビットでありかつ所定の状態の存在を指示する。
【００５０】
シミュレーションプログラムコードモジュールＳＩＭＰＣＭに入力データを供給し、かつシミュレーションプログラムコードモジュールＳＩＭＰＣＭが出力データを送出する所定のデータ交換方法が設定されている。このデータ交換方法によって、生成されたシミュレーションプログラムコードをインストルメント化、即ち、入力データによってシミュレーションし、かつ制御装置ソフトウェアのデータにアクセスすることができる。データ交換フォーマットを介して、シミュレーションプログラムコードモジュールＳＩＭＰＣＭに、入力データを読み出しかつ出力データを書き込むためのメモリアドレスに関する情報が供給される。
【００５１】
第１のメモリ領域３ａに記憶されている切換装置Ｓは、例えば、ＩＦ−ＴＥＨＮ−ＥＬＥＳＥプログラム分岐の形のプログラムコードとして記憶される。これに対して択一的に、ＧＯＴＯ分岐としてのプログラミングも可能である。
【００５２】
図３との関連において先に説明した内部バイパスにおいて、制御プログラムプログラムコードモジュールＳＰＣＭとして第１のメモリ領域３ａに記憶されているシミュレーションすべき制御機能のシミュレーションが、制御装置１に設けられているプロセッサ２において内部で行われる。その際シミュレーションすべき制御機能は実時間でシミュレーションされる。
【００５３】
外部のシミュレーション計算機とのデータ交換が行われる必要がないので、データの、シミュレーション計算機に対する相当の伝送時間およびシミュレーション計算機によって計算されたデータの、制御装置に２０におけるプロセッサへの伝送時間が省略される。
【００５４】
シミュレーションプログラムコードモジュールＳＩＭＰＣＭはメモリ３に存在する、制御プログラムの入力および出力データへ直接アクセスすることができる。このこともシミュレーションを加速しかつシミュレーション時間を低減する。
【００５５】
切換装置Ｓによって、操作員は、簡単かつ簡便な手法でプログラム流を制御することができる。その際処理された制御プログラムは、一方における制御プログラムコードモジュールＳＰＣＭの形のオリジナルの制御プログラム部分と、他方におけるシミュレーションプログラムコードモジュールＳＩＭＰＣＭの形のシミュレーションプログラム部分とから成っている。これによりシミュレーションは非常にフレキシブルになる。
【００５６】
シミュレーションプログラムコードモジュールＳＩＭＰＣＭは制御プログラムコードモジュールＳＰＣＭと同じメモリに存在しかつ同じプロセッサにおいて実行されるので、これらは、同じ程度、制御装置１に対して作用する周囲条件にさらされている。これにより、シミュレーションは実際の条件下で実施されかつその情報値は高められる。
【００５７】
本発明は、説明してきた実施例に限定されず、多岐にわたって変形可能である。
【００５８】
例えば第１および第２のメモリ領域は自立したメモリとして構成されていてもよい。
【００５９】
更に、制御装置１によって複数のアッセンブリを同時に制御しかつ複数のアッセンブリに対するシミュレーションを同時に実施することも可能である。
【００６０】
更にシミュレーションプログラムコードが入力装置７を介してテスト機能として入力されるのではなく、制御装置１に接続可能なメモリにおいて直接接続されるようにすることも可能である。
【００６１】
更に、本発明の方法を、制御プログラムコードモジュールの内部を迂回して外部のバイパスと組み合わされて使用することができる。
【図面の簡単な説明】
【図１】制御装置の制御機能のシミュレーションの実施のための外部のシミュレーション計算機を有する外部のバイパスの基本構成を示す略図である。
【図２】制御装置の制御機能のシミュレーションのための本発明の方法を実施するための制御装置の基本構成を示す図である。
【図３】図２に示されている制御装置の第１および第２のメモリ領域内のメモリ内容を示す線図である。
【符号の説明】
１  制御装置、  ２  プロセッサ、  ３  メモリ、  ３ａ  第１メモリ領域、３ｂ  第２メモリ領域、  ４  制御およびセンサ線路、  ５  アッセンブリ、６  入力線路、  ７  入力装置、  ＳＰＣ  制御プログラムコード、  ＳＰＣＭ  制御プログラムコードモジュール、  ＳＩＭＰＣＭ  シミュレーションプログラムコードモジュール
【図１】
0004215864.tif 000002
【図２】
0004215864.tif 000003
【図３】
0004215864.tif 000004