(57)【特許請求の範囲】
【請求項１】
多数の作動可能なモジュール（Ａ，Ｂ，Ｃ，Ｄ）を有し、
作動されたモジュール（Ａ，Ｂ，Ｃ，Ｄ）は、システム（２）における当該モジュールの状態の監視によって情報を形成し、
スケジューラ（１２）が前記モジュールの作動のために設けられている、システムに対する制御装置であって、
第１の記憶手段が設けられており、
該第１の記憶手段には、同時に作動されたとき、どのモジュールが別のどのモジュールに障害を与えるかという情報、および前記モジュールのどの状態が作動されたモジュールによって監視され、当該モジュールのどの状態が作動されたモジュールによって障害を受けるかについての情報が記憶されており、
第２の記憶手段が設けられており、
該第２の記憶手段には、どのモジュール（Ａ，Ｂ，Ｃ，Ｄ）がすでに作動されているかを指示する情報が記憶されており、
前記スケジューラ（１２）は特定のモジュール（Ａ）の作動のために前記第１および第２の記憶手段に記憶された情報に基づいて、該特定のモジュール（Ａ）の作動によってモジュール間に障害が発生し得るか否かを検出し、
前記スケジューラ（１２）は、相互に障害を与えるモジュールが同時に作動することを阻止し、相互に障害を与える可能性のない場合には、当該モジュールが作動することを許容する制御装置において、
前記モジュール（Ａ，Ｂ，Ｃ，Ｄ）と前記スケジューラ（１２）は、マイクロコンピュータ（３）によって処理されるプログラムとして構成されており、
前記第１と第２の記憶手段は、前記制御装置のメモリに複数のテーブルまたは複数のマトリクスとして構成されており、
前記スケジューラ（１２）は、
・前記第１の記憶手段への問い合わせにより、モジュールのどの状態（Ｘ，Ｙ，Ｚ）が特定のモジュール（Ａ）によって監視されているかを検出し、
・どのモジュール（Ｂ，Ｃ，Ｄ）が、前記モジュールの状態（Ｘ、Ｙ、Ｚ）を妨害するかを検出し、
・前記第１の記憶手段への問い合わせによって、モジュールのどの状態が前記特定のモジュール（Ａ）から障害を受けるかを検出し、
・どのモジュールが前記検出された状態を監視しているかを検査し、
・前記第２の記憶手段への問い合わせによって、前記特定のモジュール（Ａ）から障害を受けるか、または該特定のモジュール（Ａ）に障害を与えるモジュール（Ｂ，Ｃ，Ｄ）のうちのどのモジュールが現在のところ作動しているかを検出し、
・当該情報に基づいて、前記特定のモジュール（Ａ）が作動してもよいか否かを決定する、
ことを特徴とする、システムに対する制御装置。
【請求項２】
システム（２）の制御装置（１）を駆動するための方法であって、
複数のモジュール（１０，１１）の少なくとも１つを作動し、
作動されたモジュールは、前記システム（２）における当該モジュールの状態の監視によって情報を形成する駆動方法において、
第１の記憶手段が設けられており、
該第１の記憶手段には、同時に作動されたとき、どのモジュールが別のどのモジュールに障害を与えるかという情報、および前記システムのどの状態が作動されたモジュールによって監視され、当該システムのどの状態が作動されたモジュールによって障害を受けるかについての情報が記憶されており、
第２の記憶手段が設けられており、
該第２の記憶手段には、どのモジュール（１０，１１）がすでに作動されているかが記憶されており、
別のモジュールを作動するために、前記第１および第２の記憶手段に記憶された情報に基づいて、別のモジュールの作動によってモジュール間に障害が発生し得るか否かを検出し、
前記モジュール（Ａ，Ｂ，Ｃ，Ｄ）と前記スケジューラ（１２）は、マイクロコンピュータ（３）によって処理されるプログラムとして構成されており、
前記第１と第２の記憶手段は、前記制御装置のメモリに複数のテーブルまたは複数のマトリクスとして構成されており、
相互に障害を与えるモジュールが同時に作動することを、
・前記第１の記憶手段への問い合わせにより、どの状態（Ｘ，Ｙ，Ｚ）が特定のモジュール（Ａ）によって監視されているかを検出するステップ、
・どのモジュール（Ｂ，Ｃ，Ｄ）が、前記状態（Ｘ、Ｙ、Ｚ）を妨害するかを検出するステップ、
・前記第１の記憶手段への問い合わせによって、どの状態が前記特定のモジュール（Ａ）から障害を受けるかを検出するステップ、
・どのモジュールが前記検出された状態を監視しているかを検査するステップ、
・前記第２の記憶手段への問い合わせによって、前記特定のモジュール（Ａ）から障害を受けるか、または該特定のモジュール（Ａ）に障害を与えるモジュール（Ｂ，Ｃ，Ｄ）のうちのどのモジュールが現在のところ作動しているかを検出するステップ、
・当該情報に基づいて、前記特定のモジュール（Ａ）が作動してもよいか否かを決定するステップ、
によって阻止する、ことを特徴とする駆動方法。
【請求項３】
方法の個々のステップは、マイクロコンピュータにより処理されるプログラムによって実行される、請求項２記載の駆動方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多数の作動可能なモジュールを有し、作動されたモジュールはシステム状態の監視によって情報を形成し、スケジューラがモジュールの作動のために設けられている、システムに対する制御装置に関する。
【０００２】
【従来の技術】
ＷＯ９７／１３０６４からすでに、機関制御装置に対する診断装置が公知である。ここでは種々異なる、いわゆる診断機能モジュールがスケジューラによって作動される。診断機能モジュールは機関駆動に必要なシステムの検査に用いる。ここでスケジューラは、すでに発見されたエラーに基づいて、診断機能モジュールがエラーを指示することが予測されるとき、所定の診断機能モジュールを阻止することができる。
【０００３】
【発明が解決しようとする課題】
本発明の課題は、実行中のモジュール間の相互の依存関係を、別のモジュールの実行時に考慮できるように構成することである。
【０００４】
【課題を解決するための手段】
この課題は本発明により、第１の記憶手段が設けられており、
該第１の記憶手段には、同時に作動されたとき、どのモジュールが別のどのモジュールに障害を与えるかという情報、および前記システムのどの状態が作動されたモジュールによって監視され、当該システムのどの状態が作動されたモジュールによって障害を受けるかについての情報が記憶されており、
第２の記憶手段が設けられており、
該第２の記憶手段には、どのモジュールがすでに作動されているかを指示する情報が記憶されており、
前記スケジューラは特定のモジュールの作動のために前記第１および第２の記憶手段に記憶された情報に基づいて、該特定のモジュールの作動によってモジュール間に障害が発生し得るか否かを検出し、
前記スケジューラは、相互に障害を与えるモジュールが同時に作動することを阻止し、相互に障害を与える可能性のない場合には、当該モジュールが作動することを許容する制御装置において、
前記スケジューラは、
・前記第１の記憶手段への問い合わせにより、どの状態が特定のモジュールによって監視されているかを検出し、
・どのモジュールが、前記状態を妨害するかを検出し、
・前記第１の記憶手段への問い合わせによって、どの状態が前記特定のモジュールから障害を受けるかを検出し、
・どのモジュールが前記検出された状態を監視しているかを検査し、
・前記第２の記憶手段への問い合わせによって、前記特定のモジュールから障害を受けるか、または該特定のモジュールに障害を与えるモジュールのうちのどのモジュールが現在のところ作動しているかを検出し、
・当該情報に基づいて、前記特定のモジュールが作動してもよいか否かを決定する、
ことにより解決される。
【０００５】
【発明の実施の形態】
相互の依存関係に関する情報が第１の記憶手段に記憶されるから、この情報を中央で統合することができる。したがって簡単に、別のモジュールを追加することも、再び除去することもできる。モジュールの相互依存関係は、中央で記憶されているためすべてのモジュールに対してとりわけ簡単に考慮することができる。このことはとくに、他のモジュールによって障害を受けているシステムの状態を監視する所定のモジュールを呼び出すべき場合に重要である。このような場合には、障害を受けている状態の監視に基づいて誤った情報が形成されることがある。
【０００６】
従属請求項に記載された手段によって、制御装置を駆動するためのシステムおよび方法に対する制御装置の有利な改善形態および実施例が可能である。とりわけ簡単には、別のモジュールの作動を阻止するか、またはすでに作動しているモジュールを非作動状態にする。第１の記憶手段には、モジュール間の相互依存関係、またはシステムの障害および／または前記のモジュールによるシステムの状態の監視に付いての付加的情報を記憶することができる。とりわけ簡単には、モジュールおよびスケジューラをマイクロプロセッサに対するプログラムとして実現する。記憶手段として有利にはテーブルまたはマトリクスを制御装置のメモリにおいて使用する。
【０００７】
【実施例】
本発明の実施例を以下詳細に説明する。
【０００８】
図１には制御装置１が示されており、この制御装置は接続線路４によって制御すべきシステム２と接続されている。制御装置１はマイクロコンピュータ３を有する。このマイクロコンピュータはモジュール１０，１１，１２を処理するために設けられている。ここに図示したモジュールでは、モジュール１０が機能モジュール、モジュール１１が診断モジュールであり、プログラムモジュール１２はスケジューラとして構成されている。
【０００９】
システム２は、それぞれ任意の技術的システムとすることができ、このシステムは制御装置１によって制御される。例えばシステム２は自動車、内燃機関、または伝動装置とすることができる。この種のシステム２には多数のセンサおよび多数の調整素子が設けられている。接続線路４を介して、制御装置１によって形成された調整信号はシステム２の調整素子２に伝送される（システム２への矢印により示されている）。さらにシステム２のセンサの測定値を接続線路によって制御装置１へ伝送することができる（制御装置１への矢印により示されている）。したがって制御装置１はシステム２についての情報を受け取る。この情報は制御装置１によって処理され、所望の状態（例えば自動車の場合、アクセルペダル位置）に依存してシステムに対する制御情報に変換される。
【００１０】
制御装置１はここでは概略的に、複数のモジュール１０，１１，１２とマイクロコンピュータ３により示されている。その他の当業者には周知のハードウェア要素は図示されていない。モジュール１０，１１，１２は通常、プログラムモジュールとして構成されている。しかし相応の機能を保証するハードウェア構成素子を使用することもできる。プログラムモジュールの場合は、ユニットとしてスケジューラにより作動されたり、非作動されたりするプログラム命令の実行フローである。ユーザーにユニットとして表示される機能、または一体的機能の制御に使用される機能は、スケジューラにより管理される複数の別個のモジュールに分割することができる。さらにそれぞれ１つの機能モジュール１０，１つの診断モジュール１１および１つのスケジューラだけが図示されている。複雑な制御機能および診断機能を行うためにはもちろん、それぞれ複数の相応のモジュール１０，１１が設けられる。機能モジュールは、直接的制御タスクを処理するために必要である。すなわちこれら機能モジュールは、システム２のセンサ情報を評価し、設定された目標値に依存して相応の制御情報をシステム２に対して形成する。この種の機能モジュールの入力信号は例えば自動車の場合、回転数、アクセルペダル位置の調整信号であり、この調整信号から相応の制御情報が機関に対して形成される。診断モジュール１１は、システム２の正常な機能を監視するというタスクを有する。自動車の場合、例えば法的条件のため触媒器の機能を運転中に検査しなければならない。このことは間欠的に診断モジュール１１を作動させ、この診断モジュールが触媒器の機能をラムダセンサの信号を評価することによって行われる。
【００１１】
機能モジュール１０と診断モジュール１１は非作動状態または作動状態にすることができる。非作動状態では、モジュールと結び付いたタスク、例えば診断またはシステムの一部の制御が実行されない。このことは例えば、非作動状態のモジュールはシステムのデータを読み取らず、情報をシステム２に出力することもしないことを意味する。しかし非作動状態でもモジュールは例えばマイクロコンピュータと情報を交換することができ、とりわけモジュールとスケジューラとの間ではモジュールの作動に関する情報（例えば作動の可能性および作動の要求）の交換が可能でなければならない。すべてのモジュール１０，１１がシステム２の動作時にいつも必要であるわけではないから、これらモジュールの少なくとも一部は非作動状態または作動状態であることができる。個々の機能モジュール１０または診断モジュール１１の作動はシーケンス制御部によって行われる。このシーケンス制御部はどの機能モジュール１０または診断モジュール１１が実行されるべきかを決定する。スケジューラ１２はこのシーケンス制御部の一部である。ここでシーケンス制御部は、個々の機能モジュール１０または診断モジュール１１の作動が所定の外部条件に依存するようにすることができる。機能モジュール１０は内燃機関の点火または噴射と関係する。このモジュールは例えば機関のクランクシャフト位置に依存する。同じように診断モジュール１１はシステム２の動作状態に依存して作動される。このとき、複数の機能モジュールおよび複数の診断モジュール１１を並列に処理することができる。これは、１つのモジュールの処理が除外されず、同時に別のモジュールも処理されるように行う。ここで問題となるのは、所定のモジュールが１０，１１が作動しているときに同時に別の所定のモジュールがエラーのある情報を送出することである。例えば現在の自動車では、アクティブ形炭素フィルタが設けられており、このフィルタは蒸発した炭化水素がタンクから大気に達するのを阻止する。機関が運転されているときは、制限された時間の間、このアクティブ形炭素フィルタを通って空気が吸入され、フィルタに含まれる炭化水素が機関で燃焼される。これによりフィルタはこの手段によって再び清浄化される。しかしこのこととラムダセンサの信号の障害が結び付いていると、これによりアクティブ形炭化水素フィルタの清浄中は触媒器の診断を行うことができない。したがってアクティブ形炭化水素フィルタの清浄のために機能モジュール１０が作動している間、診断モジュール１１は触媒器の検査に対して作動状態になってはならない。さらにこの清浄中は機能モジュール１０も障害を受けてはならない。これは混合気適合と同じである。
【００１２】
モジュール間のこの相互依存関係を考慮するために、本発明ではスケジューラ１２が設けられている。スケジューラはこの相互依存関係を記憶手段の評価によって考慮する。図２には、スケジューラがアクセスする第１のメモリの内容が示されている。Ｘ、ＹおよびＺにより図２にはシステムの物理的状態が示されている。これら物理的状態はシステムのセンサ信号に影響を及ぼす。列Ｉにはシステムの３つの異なる状態Ｘ、Ｙ、Ｚがリストアップされている。システムのこの状態はプログラムモジュールにより制御または監視される。プログラムモジュールはここでは、Ａ，Ｂ，Ｃ，Ｄにより示されている。さらに１つのモジュールが同時に状態を制御し、かつ監視することもできる（モジュールＤは列ＩＩとＩＩＩに示されている）。１つのモジュールが状態を制御し、この状態を監視する別のモジュールが制御に基づきエラーのある結果を送出すれば、このことは１つの状態の障害によって間接的に、少なくともモジュールの１つによって実現される。例えば１つの状態が所要のパラメータとしてモジュールの計算に必要であれば、このことは他のモジュールとの障害によってエラー診断または間違った制御パルスとなる。
【００１３】
列ＩＩには、相応の状態を監視するモジュールがリストアップされており、列ＩＩＩには障害となるモジュールがリストアップされている。状態Ｘは例えばプログラムモジュールＡとＢによって監視され、プログラムモジュールＣにより障害を受ける。状態ＹはモジュールＡにより監視され、モジュールＢにより障害を受ける。状態Ｚは例えばモジュールＡによってのみ監視され、モジュールからの障害を受けない。モジュールＡが作動すべき場合、スケジューラ１２は図２に示したテーブルをアクセスし、モジュールＡが状態Ｘ、ＹおよびＺを監視していることを検出する。状態ＸとＹはモジュールＣとＢにより障害を受けるから、モジュールＣとＢが作動されていないときモジュールＡだけが作動のためにイネーブルされる。さらにモジュールＡは状態Ｚを監視するが、この状態は別のモジュールから影響を受けない。しかしこのことは制御装置の拡張に対して利用できる。例えば図２にすでに示したテーブルに問題なしに、場合により状態Ｚに影響を及ぼす別のモジュールをプロットすることができる。
【００１４】
図２に記憶された情報は任意の記憶手段に、別の形態で、例えばマトリクスで記憶することもできる。重要なことは記憶手段が設けられており、この記憶手段に基づいて、どのモジュール間に相互依存関係が存在するか、すなわちどのモジュールが、存在する相互依存関係に基づいて同時に作動してもよいか、または作動してはならないかを検出できることである。ここで重要なことはまた、制御システムへの機能モジュールまたは診断モジュールの追加または除去を簡単に次のようにして実行できることである。すなわち、個々のモジュールが消去または追加され、相応の記録が記憶手段で行われることによって簡単に実行できることである。さらに非常に明快に、異なるモジュール間の複雑な相互依存関係を考慮できる。
【００１５】
図２に示したテーブルは、余計な情報ないし所定の冗長性を含んでいる。実際には列ＩＩとＩＩＩだけがモジュール間の相互依存関係を検出するのに必要である。列Ｉに対する理由は、これにより相互依存関係がとりわけ簡単に理解できるからである。新たなモジュールの追加が簡単になる。なぜなら、通常はどの状態が新たなモジュールを必要とするか（列ＩＩ）、またはどの状態が新たなモジュールを妨害するか（列ＩＩＩ）が既知だからである。したがって択一的に、第１の記憶手段に列ＩＩとＩＩＩだけを記憶することもできる。相応のことが図３に示されている。図３の表示は、図２の列ＩＩおよびＩＩＩと同じ情報を別の表示形態で示す。列ＩＶには、モジュールがリストアップされており、列Ｖには障害を受けるモジュールがリストアップされている。図３は、モジュールＡがモジュールＢ、ＣおよびＤから障害を受けることを示している。モジュールＢはモジュールＣから障害を受け、モジュールＣは他のモジュールから障害を受けず、モジュールＤはモジュールＢから障害を受ける。図３のテーブルは、例えば固定的にプログラミングすることができる。またはコンピュータの初期化の際に作成することもできる。図３のテーブルによれば、２つのモジュールは次の場合に相互に障害を与える。すなわち、モジュールの少なくとも１つが列ＩＶにプロットされており、他方のモジュールが同じ行で列Ｖにプロットされている場合である。
【００１６】
図４には、スケジューラ１２のプログラムの実行フローに対する例が概略的に示されている。このスケジューラは図２の情報にアクセスする。第１のプログラムステップ１０１で、システム２の状態、またはその他の条件、例えば所定時間の経過に依存して、スケジューラに問い合わせが出力され、所定のモジュール、ここでは例えばモジュールＡが処理される。後続のプログラムステップ１０２で、第１の記憶手段の問い合わせにより、図２に示したように、どの状態がモジュールＡによって監視されているか（状態Ｘ、Ｙ、およびＺ）が検出される。後続のプログラムステップ１０３で、どのモジュールがこの状態（Ｘ、Ｙ、Ｚ）を妨害するか（Ｂ、Ｃ、Ｄ）が検出される。付加的にステップ１０２で第１の記憶手段の問い合わせによって、どの状態がモジュールＡから障害を受けるか（ここでは障害を受けない）が検出される。プログラムステップ１０３で付加的に相応することが検査される。すなわち、どのモジュールがこのようにして検出された状態を監視しているかが検査される。後続のプログラムステップ１０４で別の記憶手段の問い合わせによって、モジュールＡから障害を受けるか、またはＡに障害を与えるモジュールのうちのどれが現在のところ作動しているかが検出され、後続のステップ１０５でこの情報に基づいて、モジュールＡが作動してもよいか否かが決定される。障害を受けるモジュール（Ｂ、Ｃ、Ｄ）がいずれも作動しておらず、Ａの作動によってアクティブなモジュールが障害を受けなければ、モジュールＡの作動がイネーブルされ、これによりモジュールＡが処理される。別のプログラムステップ１０６で次に、第２の記憶手段にモジュールＡが作動されていることが書き込まれる。モジュールＡの作動によって、ほかのすでに作動されているモジュールとのコンフリクトが発生する場合には別の手段が考えられる。この場合例えば、スケジューラ１２によりステップ１０５でモジュールＡの作動を拒否すれば、モジュールＡが比較的に遅い時点で再度、スケジューラでの通報を試みなければならないこととなる。別の手段では、スケジューラ１２がステップ１０５で、障害となるモジュールを非作動状態にすることを決定し、その後にモジュールＡをイネーブルするのである。このことは例えば、個々のモジュールに割り当てられた優先度に基づいて行われる。後続のプログラムステップ１０６で、どのモジュールが現在作動しているかが記憶される。
【図面の簡単な説明】
【図１】  制御装置と制御すべきシステムの概略図である。
【図２】  第１の記憶手段に記憶される情報の構成を示す図である。
【図３】  第１の記憶手段に記憶される情報の構成を示す図である。
【図４】  本発明の方法のフローチャートである。
【符号の説明】
１  制御装置
２  制御すべきシステム
３  マイクロコンピュータ
１０，１１  モジュール
１２  スケジューラ
【図１】
0004763109.tif 000002
【図２】
0004763109.tif 000003
【図３】
0004763109.tif 000004
【図４】
0004763109.tif 000005