説明

分散制御システム

【課題】分散型の制御システムを提供すること。
【解決手段】制御システム(20)は、第1のプロセッサ(21a)と、第2のプロセッサ(21b)と、前記第1のプロセッサの上で動作する第1の制御アルゴリズム(54)と、前記第2のプロセッサの上で動作する第2の制御アルゴリズム(54)とを含んでいる。この制御システムは、更に、前記第1のプロセッサと前記第2のプロセッサとの上でシーケンシャルに動作する複数のシーケンシャルなステップを含む第3の制御アルゴリズム(57)を更に含む。このようにして、システムの中のプロセッサの数を減少させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、第1のプロセッサと第2のプロセッサと前記第1のプロセッサの上で動作する第1の制御アルゴリズムと前記第2のプロセッサの上で動作する第2の制御アルゴリズムとを含む制御システムに関する。
【0002】
このタイプの制御は、典型的には、「分散制御システム」として分類される。分散制御は、制御機能を複数の異なるプロセッサの間で分散することが可能なシステムにおいて用いられる。分散制御は、「集中制御」と対照させて、「非集中制御」と称されることもある。
【背景技術】
【0003】
ほとんどの一般的に入手可能な分散制御システムでは、アーキテクチャは、プロセス全体を制御する中央コントローラとプロセス全体の複数のサブ・タスクを制御する複数のサブ・コントローラとに基づく。例えば、ロボット・マニピュレータでは、中央コントローラがロボット・マニピュレータの動作全体を調整し、ジョイント・コントローラが個々のジョイント(関節)の動作を制御する。中央コントローラは、それぞれのジョイントの所望の動作を計算し、この基準値を、基準軌跡に可能な限り正確に従うことを目指す別のジョイント・コントローラに送る。
【0004】
分散制御システムの既知である別の応用例としては、船舶における大型のディーゼル・エンジンの動作を制御するのに用いられるシステムがある。この例では、中央コントローラは、例えば、エンジンの回転速度やエンジンの動力出力など、エンジン・プロセス全体を制御する。別の「シリンダ制御ユニット」が、例えば、燃料注入や排気弁の開併など、それぞれの個別のシリンダの動作を制御する。中央コントローラは、全体的な所望の結果を達成するためにそれぞれの個別のシリンダがどのように機能すべきかを計算する。従って、中央コントローラは、基準コマンドを、それぞれのシリンダ制御ユニットに送る。すると、個別のシリンダ制御ユニットは、基準コマンドを達成するためにシリンダの詳細な動作を制御する。
【0005】
典型的なシステムの短所の1つとして、少なくとも1つのプロセッサが中央制御機能のために用いられる必要があることに加え、それぞれのサブ・タスクのために1つのプロセッサが用いられることが必要だという点がある。従って、12のシリンダを有している大型のディーゼル・エンジンを制御する必要があれば、通常は、12+1のプロセッサが必要となる。場合によっては、複数のシリンダを1つのプロセッサで制御することが可能であり、それによってプロセッサの数を減らすことができる。
【0006】
典型的なシステムの別の短所として、中央プロセッサが万が一故障した場合にはシステム自体が非常に脆弱であるという点を挙げることができる。モータ制御など、危険を伴う応用例の場合には、何らかの量の冗長性を有するようにシステムを設計することが必要である。ほとんどの場合に、中央制御アルゴリズムは、2つの別個のプロセッサに実装される。モニタ・ルーチンは、これら2つのプロセッサをモニタし、一方のプロセッサが故障した際には、2つのプロセッサの間で切り換わることができる。しかし、冗長構成の2つのプロセッサを用い、どの時点で切り換えるべきかを知ることは、非常に複雑である可能性がある。更に、冗長構成のプロセッサが必要となることにより、必要なプロセッサの数が増え、更に、システムにおける通信経路の複雑さも増大する。
【発明の開示】
【0007】
従って、本発明の第1の特徴は、必要とされるプロセッサの数を減らす制御システムを提供することである。
【0008】
本発明の別の特徴は、1又は複数のプロセッサの故障に対して耐久性を有する制御システムを提供することである。
【0009】
本発明の別の特徴は、冗長性が簡潔な態様で処理される制御システムを提供することである。
【0010】
上述の特徴は、この明細書の最初の段落で述べた制御システムであって、更に、第1及び第2のプロセッサの上でシーケンシャルに動作する複数のシーケンシャルなステップを含む第3の制御アルゴリズムを更に含む制御システムによって部分的に提供される。このようにして、第3の制御アルゴリズムを2つのプロセッサの間で分割することによって、2つのプロセッサが第3の制御アルゴリズムの負荷を共有することを可能にする。
【0011】
なお、この明細書の文脈では、「第1及び第2のプロセッサの上でシーケンシャルに動作する複数のシーケンシャルなステップ」という記載は、シーケンシャルに動作される複数のステップとして、すなわち、順に動作される複数のステップとして理解されるべきである。第1の数のステップは第1のプロセッサの上で動作し、第2の数のステップは、第1の数のステップが第1のプロセッサの上で終了したら、第2のプロセッサの上で動作する。
【0012】
第3の制御アルゴリズムは反復的なループとして動作する制御アルゴリズムを含むことがある。PIコントローラは、このタイプの制御アルゴリズムのよい例である。第3の制御アルゴリズムの実行を分割して、ループの第1の例の実行は第1のプロセッサの上でなされ、ループの第2の例の実行は第2のプロセッサの上でなされるようにすることができる。ループの第3の例の実行は、再び第1のプロセッサにおいてなされることが可能である。このプロセスは、連続的に反復可能である。
【0013】
この制御システムのある実施例では、第1の制御アルゴリズムは、第1のアクチュエータを制御し、第2のアルゴリズム(55)は第2のアクチュエータ(3b)を制御することができる。
【0014】
この制御システムのある実施例では、第3の制御アルゴリズムは、第1及び第2の制御アルゴリズムに基準値を提供することができる。このようにして、第3の制御アルゴリズムは、第1及び第2の制御アルゴリズムの動作を調整するある種の調整のためのアルゴリズムとして見ることができる。
【0015】
複数のプロセッサが相互に通信することを可能にするために、この制御システムは、更に、第1のプロセッサと第2のプロセッサとの間に配置された通信システムを含むことがある。この通信システムは、例えば、第3の制御アルゴリズムによって用いられるデータを転送することができる。
【0016】
この制御システムは、また、第3の制御アルゴリズムが第1のプロセッサから前記第2のプロセッサに切り換えるときに通信システムによって第1のプロセッサから第2のプロセッサとの間で転送されるデータ・ベクトルを更に含むことがある。このようにして、第3の制御アルゴリズムによって用いられる制御データは、第3の制御アルゴリズムがある1つのプロセッサから次のプロセッサに移動するときに、ある1つのプロセッサから次のプロセッサに移動させることができる。
【0017】
上述のデータ・ベクトルは、当該データ・ベクトルが更新されるときに設定されるタイムスタンプすなわちシーケンス番号を含むことがある。このようにして、この制御アルゴリズムは、いつデータ・ベクトルが最後に更新されたかを判断し、及び/又は、どのプロセッサが最後にデータ・ベクトルを更新したかを判断する。
【0018】
ある実施例では、第3の制御アルゴリズムは積分器を含み、前記積分器によって得られた積分値は第1のプロセッサから第2のプロセッサに転送される。このようにして、PIコントローラは、複数のプロセッサによって共有されているときであっても、第3の制御アルゴリズムにおいて実現可能である。ある実施例では、上述の積分値は、データ・ベクトルを介して転送することができる。
【0019】
ある場合には、第3の制御アルゴリズムのコントローラ・ゲインは、ゲイン指定が可能である。これは、例えば、サンプリング時間が固定されておらず外部パラメータに依存する場合でも用いることができる。この場合には、ゲイン指定は、データ・ベクトルにおけるタイムスタンプと現在時刻との間の時間間隔に依存しうる。
【0020】
この制御システムのある応用例では、この制御システムは、ピストン・エンジンの制御に用いることができる。第1の制御アルゴリズムは第1のエンジン・シリンダの動作を制御し、第2の制御アルゴリズムは第2のエンジン・シリンダの動作を制御しうる。第3の制御アルゴリズムは、更に、エンジンの回転速度及び/又はパワー出力を制御することができる。
【0021】
上述の実施例では、この制御システムは、エンジンの回転と同期させることができる。この場合には、ゲイン指定は、エンジンの回転速度に依存しうる。
【0022】
上述の実施例では、第3の制御アルゴリズムの実行は、ピストン・エンジンのタイミングに基づいて、第1のプロセッサと第2のプロセッサとの間で切り換えられうる。換言すると、第3の制御アルゴリズムは、エンジンの回転に応答して、1つのプロセッサから次のプロセッサに移動することができる。このようにして、第3の制御アルゴリズムのサンプリング時間は、エンジンの回転速度に依存する。
【0023】
この出願では、「含む/含まれる」という用語は、記載されている特徴、数字、ステップ又はコンポーネントの存在を特定するために用いられているのであるが、1又は複数の他の特徴、数字、ステップ、コンポーネント又はこれらの組合せの存在又は追加を排除するものではない。
【0024】
例えば、現在の請求項1では、制御システムは3つの制御アルゴリズムと2つのプロセッサとを含むとされている。しかし、この技術分野の当業者であれば理解するように、この現在の請求項1は、3よりも多くの任意の数の制御アルゴリズムと2よりも多くの任意の数のプロセッサとを含む場合もカバーすることを理解するはずである。
【0025】
この明細書の目的として述べておくが、この出願では、「制御システム」という用語は、相互に接続された複数の物理コンポーネントを含み、所定の態様で協調的に動作するシステムとして理解すべきである。これらの物理コンポーネントは、すべてがハードウェア・ベースである場合もあるし、ソフトウェアとしてプログラムされている場合もある。後者の場合には、物理コンポーネントにおいてプログラムされているソフトウェアは、当該物理コンポーネントの技術的コンポーネントと想定される。
【発明を実施するための最良の形態】
【0026】
図1に示されている従来技術による制御システム1は、分散制御システムの典型である。この例では、このシステムは、船舶(図示せず)における大型ジーゼル・エンジン2に適用される。このシステムでは、エンジン2は、複数のシリンダ3a、3b、3cを含んでいて、シリンダはそれぞれシリンダ制御ユニット(CCU)4a、4b、4cによって制御される。シリンダ制御ユニット4は、接続されているシリンダの燃料注入、排気、潤滑剤の供給などを制御する。それぞれのCCUは、この例では通信バス5である通信システムに接続されている。これら複数のCCUは、従って、従来技術において広く知られているように、相互に通信してセンサ情報などを交換する。
【0027】
個々のCCUは、エンジン制御ユニット(ECU)6と称される中央コントローラによって調整される。ECUは、個々のCCUのために基準値を計算し、これらの値をバス5を介して個々のCCUに送る。例えば、ECUの典型的な機能の1つとして、エンジン速度の制御がある。ECUは、速度要求信号を船舶7のブリッジにいる操舵手から受け取る。ECUは、次に、速度要求信号とエンジンの現実の速度とを比較する。エンジンの現実の速度は、エンジンに装着されているクランクシャフト回転センサ8によって測定される。クランクシャフト回転センサは、測定された速度を、バスを介してECUに送る。現実の速度と所望の速度との差に基づいて、ECUは、個々のシリンダがどれだけのパワーを提供すべきかを決定する。ECUは、次に、基準信号をそれぞれのCCUに送る。すると、個々のCCUは、これらのシリンダがどのように制御されるべきかを判断する。
【0028】
ある例では、ECUにおける速度制御アルゴリズムは、PIコントローラに基づくことができる。所望の速度と現実の速度との間の誤差が大きければ大きいほど、ECUは、CCUにより多くの燃料を注入するように命じる。現実の燃料注入と燃料注入の形成とは、個々のCCUによって制御される。ECUは、放出(emission)制御や振動制御など、エンジンの他の機能も制御することができる。
【0029】
ECU6が故障した場合にエンジンが停止することを防止するために、冗長的なバックアップECU9が、システムに提供されている。このバックアップECUは、メインのECU6をモニタし、故障が検出された場合にはメインのECU6を停止する。
【0030】
しかし、この冗長性は、この技術分野の当業者によく知られている多くの方法で処理することができる。例えば、別の冗長コントローラ(図示せず)を、メインのECU6と冗長ECU9とは別個に用いることができる。他の場合には、両方のECUは、バスの上を自らの制御値を送信し、個々のCCUは、正しい信号を用いることを選択することができる。
【0031】
しかし、上述のシステムでは、CCUに加えて、2つのECUが必要になる。更に、冗長性により、システムにおいて序文の複雑性がもたらされることになる。
【0032】
図2は、本発明による制御システム20のある実施例の概略図である。制御システム20は、従来技術に関する上述の例と同じ船舶における大型ジーゼル・エンジン2に適用される。従って、同一の構成要素には、同一の参照番号を用いる。
【0033】
従来技術によるシステムのように、エンジン2は、複数のシリンダ3a、3b、3cを含んでいて、シリンダはそれぞれシリンダ制御ユニット(CCU)21a、21b、21cによって制御される。上述の例のように、それぞれのCCUが、1つのシリンダの動作を制御する。しかし、この技術分野の当業者であれば理解するように、より少ない数のプロセッサを用いることを望み、CCUプロセッサにおいて利用可能な処理能力に余分がある場合には、それぞれのCCUは複数のシリンダを制御することができる。
【0034】
しかし、本発明による制御システム20は、従来技術の場合とは異なり、それ自体のプロセッサを有する別個のエンジン制御ユニットを含まない。従来技術ではECUにおいて動作していた制御アルゴリズムは、今度は、CCUプロセッサにおいてシーケンシャルに動作する複数のシーケンシャルなステップに分割されている。ECU制御アルゴリズムはCCUにおいて利用可能なアイドル時間に動作させることができるために、このようなことが可能なのである。
【0035】
この特定の例におけるECUアルゴリズムは、エンジンの回転と同期しており、ECUアルゴリズムは、複数のシリンダが点火するのと同じ順序で1つのCCUから次のCCUに送られる。
【0036】
エンジンが始動すると、第1のシリンダCCUは、所望の回転速度と現実の回転速度との間の誤差を計算するECUアルゴリズムを始動し、どれだけの燃料を第1のシリンダに注入すべきかに関する値を計算する。この制御値は、PIコントローラの出力に基づいている。この値は、第1のシリンダのCCUシリンダ・アルゴリズムに送られる。第1のシリンダCCUアルゴリズムは、すると、要求された亮の燃料を注入し、ECUアルゴリズムを第2のシリンダの制御CPUに送る。
【0037】
速度制御関数が第2のシリンダCCUに送られると、第1のシリンダCCUは、更に、状態ベクトルすなわちデータ・ベクトルを第2のシリンダCCUに送る。この特定の実施例では、状態ベクトルは、ECU制御アルゴリズムの一体的な部分(integral part)の値を含む。このようにして、PIコントローラは分散的な態様で実装され、それぞれのシリンダCCUは、ECU制御アルゴリズムにシーケンシャルに参加する。ECU制御アルゴリズムとCCU制御アルゴリズムとは、エンジンのクランクシャフト回転と同期している。
【0038】
状態ベクトルは、また、複数のCCUの間で追加的なデータを送るのにも用いることができる。例えば、ある1つのCCUに接続されたセンサは、当該CCUが状態ベクトルの制御を有するときに読み出すことができ、当該CCUは、この状態ベクトルを次のCCUに送る前に更新することができる。
【0039】
このような本発明による分散型の制御方法の利点の1つとして、1つのCPUが故障したとしても、このチェーンの中にある次のCPUが故障したCPUの前のCPUからの状態ベクトルを用いることがある。これにより、すべてのCCUは、バスからの状態ベクトルを、それが送られる度に読み出すことが必要になる。
【0040】
例えば、シリンダxのCCUがECU制御アルゴリズムの制御を有する場合を考察しよう。シリンダxのCCUは、所望の速度と現実の速度との間の誤差を計算し、状態ベクトルから積分器の現在値を読み出し、積分器の新たな値を用いて状態ベクトルを更新し、新たな制御値を計算する。この制御値は、シリンダxのCCU制御アルゴリズムに送られ、状態ベクトルはバス5に送られる。他のすべてのCCUは、シリンダxのCCUによって送られる状態ベクトルを読み出し、それをそれ自体の内部メモリに記憶する。次に、制御は、このプロセスを反復するシリンダx+1のCCUに転送される。
【0041】
しかし、シリンダx+1のCCUが故障した場合を考察しよう。この場合には、いかなる制御動作も生じることはなく、シリンダx+1は機能しない。更に、状態ベクトルは更新されない。しかし、クランクシャフトが所定の位置に到達すると、ECU制御アルゴリズムは、シリンダx+2のCCUに転送される。すると、シリンダx+2のCCUは、シリンダxのCCUによってバス上に送出された状態ベクトルに基づいて、制御を継続する。
【0042】
このようにして、CPUが故障した場合でも、余分のプログラミングを行う必要はない。故障したCPUに接続されたシリンダは、単に機能しなくなるだけであって、しかし、他のシリンダは何の問題もなく機能し続ける。この結果として非常にシンプルなシステムが得られ、その機能の決定も容易である。
【0043】
上述の例で注意すべきは、故障したCCUがサイクルの中に存在する場合には、2つの連続的なECU制御アルゴリズムのステップの間でのサンプル時間が増加するということである。この結果として、安定性の問題が生じる。従って、CCUには、それよりも前のCCUが故障したかどうかを識別することができるルーチンが備えられている。この場合には、CCUは、それ自体の制御アルゴリズムをより大きなサンプル時間を考慮するように調整することができる。
【0044】
これは、例えば、状態ベクトルが、最後に当該状態ベクトルを更新したCCUを表す識別スタンプ又はシーケンス番号を含む場合に実現可能である。例えば、上述の例では、シリンダx+2のCCUが状態ベクトルを受け取るとき、識別スタンプ又はシーケンス番号はシリンダxを特定する。シリンダx+2のCCUは、従って、シリンダx+1が故障したことを知ることになる。
【0045】
これは、また、状態ベクトルにタイムスタンプを追加することによって実現される。このように、ECUアルゴリズムのゲインは、状態ベクトルにおけるタイムスタンプと現在の時間との間の時差に応じて指定される。例えば、上述の例では、シリンダxのCCUは、バスの上に状態ベクトル送出する直前に、その状態ベクトルにタイムスタンプを追加することができる。シリンダx+2のCCUは、このタイムスタンプを読み出して、最後の制御動作と現在の時間との間のサンプル時間を判断する。次に、シリンダx+2のCCUは、時間間隔が予想したものよりも大きい場合には、そのゲインを調節する。このアプローチは、この特定の例において有用であるが、その理由は、ECU制御アルゴリズムがクランクシャフトと同期しているからである。従って、ECU制御アルゴリズムの複数のステップの間の時間間隔は可変であり、クランクシャフト速度に依存する。よって、上述のアプローチは、クランクシャフト回転速度に対してゲイン指定がなされる場合にも有用である。
【0046】
注意すべきであるが、選択されたゲインの指定は、線形及び非線形の両方である非常に多くの形状を取りうる。例えば、非常に低速では、ゲイン・マージンは、それ以外の場合にはエンジン動作に関する問題を生じうるような低すぎるゲインを有することにならないように、縮小することができる。従って、ゲイン指定を用いる場合には、このゲイン指定は、制御対象であるシステムと一致するように調整されるべきである。
【0047】
上述の状態ベクトルすなわちデータ・ベクトルは、制御データ以外のデータを転送するのにも用いることができる。例えば、センサ・データを、状態ベクトルを介して、ある1つのCCUから次のCCUに転送することができる。例えば、CCUのタスクの中の1つとして、現在のシリンダ温度を、当該CCUが接続されたシリンダに配置されているシリンダ温度センサから要求することがある。すると、CCUは、状態ベクトルを次のCCUに送る前に、当該状態ベクトルにおける対応する値を更新することができる。このようにして、状態ベクトルは、常に関係するデータを常に有することになる。ここで説明しているような移動型の状態ベクトルを用いる効果は、データの移動がうまく定義されるということにある。従って、システムのプログラマが、任意の時点においてデータがどこにあるかを知ることが容易になる。従来型の分散型の制御システムでは、データは多くの経路を介して移動するので、本発明の場合よりもデータ・フローの決定性が低い(less deterministic)。
【0048】
更に、現在説明している例における上述の移動型の状態ベクトルが効果的であるのは、この状態ベクトルはECU制御アルゴリズムが必要とするすべてのデータを含んでいることである。ECU制御アルゴリズムと状態ベクトルとが1つのCCUから次のCCUに一緒に転送されるために、ECUは、常に、動作において用いる現在のデータを有することになる。
【0049】
しかし、移動型の状態ベクトルを、時間に関するデータに関して、従来型の分散型制御通信と組み合わせることも可能である。例えば、複数のシリンダの中の1つに問題がある場合には、この1つのシリンダは、その問題に関する信号をシステムの他の部分にバスを介して送ることができる。すると、ECU制御アルゴリズムは、現時点では他のシリンダのCCUにおいて処理を行っている場合でも、その問題に対処することができる。
【0050】
図3には、典型的な従来型の分散型制御システムのタイミング・ダイアグラム30を示している。このシステムは、4つのプロセッサP1、P2、P3、P4を有する。このシステムは、更に、4つの制御アルゴリズム31、32、33、34を含む。最初の3つの制御アルゴリズム31、32、33は、プロセスのサブエレメント(下位要素)を制御し、最後の制御アルゴリズムはこれらのサブエレメントを調整する。
【0051】
第1のサンプル35の終わりにおいて、調整を行う制御アルゴリズム34は、新たな基準値をサブ制御アルゴリズム31、32、33に送る。しかし、この調整を行う制御アルゴリズム34が存在するプロセッサP4が故障を生じると、プロセスの全体が停止する。
【0052】
図4は、本発明による制御システムのタイミング・ダイアグラムを示している。このシステムは、3つのプロセッサP1、P2、P3と、従来技術の場合と同じ4つの制御アルゴリズム31、32、33、34を含む。しかし、調整を行う制御アルゴリズム34は、3つのシーケンシャルなステップ34a、34b、34cに分割されている。これらのシーケンシャルなステップは、プロセッサのアイドル時間には、3つのプロセッサP1、P2、P3の間にシーケンシャルに分散されている。このようにして、全体のプロセッサが救われるようになっている。
【0053】
注意すべきは、図4におけるタイミング・ダイアグラムは概略的であるということである。この技術分野における当業者であれば理解するように、個々のプロセッサにおけるタスク指定に用いられる複数のタスクの間の時間間隔は短い。
【0054】
図5及び6には、本発明による制御システムが3つのシリンダを有する大型のジーゼル・エンジンに適用される場合の、3つのプロセッサP1、P2、P3に関するタイミング・ダイアグラムが示されている。P1はシリンダ1のシリンダ制御ユニット(CCU)の一部であり、P2はシリンダ2のCCUの一部であり、P3はシリンダ3のCCUの一部である。このように3つのシリンダを有するエンジンは、図解のために簡略化されているのであって、当業者にとっては、任意の数のシリンダを有するエンジンにこの方法を適用することができるのは、明らかである。
【0055】
図5は、モータが80RPMで動作しているときのタイミング・ダイアグラム50を示している。図6は、モータが200RPMで動作しているときのタイミング・ダイアグラム60を示している。なお、これらの図面は、複雑な点を省略して概念を示すための概略的なものである。
【0056】
モータは、80RPMで動作するとき(図5)には、750msごとに1回の完全な回転をする。星印51、52、53は、それぞれのシリンダがその頂部の停止中心(top dead center、TDC)位置にある時点を示す。図面に見られるように、シリンダの1つは、250msごとにTDC位置にある。この例では、CCU制御アルゴリズム54、55、56は、完了するのに25msを必要とし、シリンダがTDCに到達する25ms前に完了しなければならない。ECU制御アルゴリズム57は、完了するのに25msを必要とし、シリンダがTDCに到達する70ms前に完了しなければならない。ECU制御アルゴリズムは、計算を終了すると、計算された制御値をそれぞれのCCU制御アルゴリズムに与え、次のプロセッサに送られる。
【0057】
図6では、モータは、200RPMの回転速度で動作する。モータは、従って、300msごとに完全な1回転をする。異なる複数のシリンダのTDC点は、従って、250msではなくて100msの間隔をもって離間している。これにより、処理に利用可能な時間量が短くなる。しかし、制御アルゴリズムは、同じ量の時間を必要とし、TDCから同じ時間だけ前に終了しなければならない。
【0058】
理解できるように、モータが80RPMで動作している場合にはプロセッサにおけるアイドル時間が多くあり、モータが200RPMで動作している場合には、プロセッサにおけるアイドル時間がそれよりも短い。
【0059】
注意すべきは、ECU制御アルゴリズムは、前のCCU制御アルゴリズムが計算を終了する前に計算を開始することができるということである。このようにして、ECU制御アルゴリズムは、前のシリンダのTDC位置よりも前に計算を開始することができる。例えば、200RPMで動作している6つのシリンダ・エンジンは、50msごとにTDCに位置するシリンダを1つ有することになる。従って、例えば、プロセスにおけるある時点では、シリンダ1のCCU制御アルゴリズムがP1において動作している間に、ECU制御アルゴリズムはP2において動作し、シリンダ2のCCU制御アルゴリズムのための制御値を計算することを意味する。
【0060】
注意すべきは、ECU制御アルゴリズムが1つのプロセッサから次のプロセッサに移動する順序は、もしそのようなことが希望されていない場合には、シリンダの点火順序に従う必要はない、ということである。更に、ECU制御アルゴリズムは、あるCCUのある1つのプロセッサにおいて動作して計算された信号を別のCCUのプロセッサに送ることができる。例えば、ECU制御アルゴリズムがシリンダ1のCCUのプロセッサにおいて動作して、計算された基準値をシリンダ3のCCUに送ることができるというということである。また、ECU制御アルゴリズムは、シリンダ2のCCUのプロセッサにおいて動作して、シリンダ1のCCUに、計算された基準値を送ることができる。
【0061】
以上の説明及び図面は、例示的な実施例を説明するために簡略化され概略的な態様で示されている。内部的な電子的及び機械的な詳細は示されていないが、これは、この技術分野の当業者であればそのような詳細を知っており、個々での説明を不必要に複雑にする必要は内からである。
【0062】
当業者であれば、この出願には複数の異なる発明が含まれており、必要であれば、分割出願の材料として用いることができるはずである。例えば、ネットワークにおける移動型の状態ベクトルに関する発明は、分散制御に関する発明とは独立に用いることもできる。
【0063】
以上の説明は本発明がエンジン制御に適用された場合に焦点を合わせたものである。しかし、当業者であれば、本発明は、分散型の制御を応用できる他の多くの応用例においても用いることができることを理解するはずである。従って、本発明の保護範囲は、エンジン制御に関する応用例には限定されない。
【図面の簡単な説明】
【0064】
【図1】大型のジーゼル・エンジンを制御するのに典型的に用いられる従来技術による制御システムの概略図である。
【図2】大型のジーゼル・エンジンに適用された本発明による制御システムの第1の実施例のI略図である。
【図3】4つのプロセッサと4つの制御アルゴリズムとを含む従来技術による制御システムに関するタイミング・ダイアグラムの実施例を示している。
【図4】3つのプロセッサと図3に示されているのと同じ4つの制御アルゴリズムとを含む本発明によるシステムに関するタイミング・ダイアグラムの実施例を示している。
【図5】大型ジーゼル・エンジンに適用された本発明による制御システムの第1の低い回転速度におけるタイミング・ダイアグラムの実施例を示している。
【図6】図5の実施例の第2の高い回転速度におけるタイミング・ダイアグラムを示している。

【特許請求の範囲】
【請求項1】
第1のプロセッサ(21a)と第2のプロセッサ(21b)と前記第1のプロセッサの上で動作する第1の制御アルゴリズム(54)と前記第2のプロセッサの上で動作する第2の制御アルゴリズム(54)とを含む制御システム(20)であって、
前記第1のプロセッサと前記第2のプロセッサとの上でシーケンシャルに動作する複数のシーケンシャルなステップを含む第3の制御アルゴリズム(57)を更に含むことを特徴とする制御システム。
【請求項2】
請求項1記載の制御システム(20)において、前記第3の制御アルゴリズム(57)の前記シーケンシャルなステップは、第1の数のステップと第2の数のステップとを含み、前記第1の数のステップは前記第1のプロセッサ(21a)の上で動作し、前記第2の数のステップは、前記第1のプロセッサが前記第1の数のステップを終了したら、前記第2のプロセッサ(21b)の上で動作することを特徴とする制御システム。
【請求項3】
請求項1記載の制御システム(20)において、前記第3の制御アルゴリズム(57)は反復する制御ループを含み、前記制御ループの一例の1回の実行は前記第1のプロセッサ(21a)の上でなされ、前記制御ループの次の一例は前記第2のプロセッサ(21b)の上でなされることを特徴とする制御システム。
【請求項4】
請求項1から請求項3までのいずれかの請求項に記載の制御システム(20)において、前記第1の制御アルゴリズム(54)は第1のアクチュエータ(3a)を制御し、前記第2のアルゴリズム(55)は第2のアクチュエータ(3b)を制御することを特徴とする制御システム。
【請求項5】
請求項1から請求項4までのいずれかの請求項に記載の制御システム(20)において、前記第3の制御アルゴリズム(57)は前記第1及び第2の制御アルゴリズム(54、55)に基準値を提供することを特徴とする制御システム。
【請求項6】
請求項1から請求項5までのいずれかの請求項に記載の制御システム(20)において、前記第1のプロセッサ(21a)と前記第2のプロセッサ(21b)との間に配置され前記第3の制御アルゴリズム(57)によって用いられるデータを転送する通信システム(5)を更に含むことを特徴とする制御システム。
【請求項7】
請求項1から請求項6までのいずれかの請求項に記載の制御システム(20)において、前記第3の制御アルゴリズム(57)が前記第1のプロセッサから前記第2のプロセッサに切り換わるときに前記通信システム(5)によって前記第1のプロセッサ(21a)と前記第2のプロセッサ(21b)との間で転送されるデータ・ベクトルを更に含むことを特徴とする制御システム。
【請求項8】
請求項7記載の制御システム(20)において、前記データ・ベクトルは前記データ・ベクトルが更新されるときに設定されるタイムスタンプすなわちシーケンス数を含むことを特徴とする制御システム。
【請求項9】
請求項1から請求項8までのいずれかの請求項に記載の制御システム(20)において、前記第3の制御アルゴリズム(57)は積分器を含み、前記積分器の積分値は前記第1のプロセッサ(21a)から前記第2のプロセッサ(21b)に転送されることを特徴とする制御システム。
【請求項10】
請求項9記載の制御システム(20)において、前記積分値は前記データ・ベクトルを介して転送されることを特徴とする制御システム。
【請求項11】
請求項1から請求項10までのいずれかの請求項に記載の制御システム(20)において、前記第3の制御アルゴリズム(57)並びに/又は前記第1及び第2の制御アルゴリズム(54、55)のコントローラ・ゲインはゲイン指定されていることを特徴とする制御システム。
【請求項12】
請求項11記載の制御システム(20)において、前記ゲイン指定は、前記データ・ベクトルにおけるタイムスタンプと現在時刻との間の時間間隔に依存することを特徴とする制御システム。
【請求項13】
請求項1から請求項12までのいずれかの請求項に記載の制御システム(20)において、ピストン・エンジン(2)の制御に用いられ、前記第1の制御アルゴリズム(54)は第1のエンジン・シリンダ(3a)の動作を制御し、前記第2の制御アルゴリズム(55)は第2のエンジン・シリンダ(3b)の動作を制御することを特徴とする制御システム。
【請求項14】
請求項13記載の制御システム(20)において、前記第3の制御アルゴリズム(57)は、前記エンジン(2)の回転速度及び/又はパワー出力を制御することを特徴とする制御システム。
【請求項15】
請求項13又は請求項14に記載の制御システム(20)において、前記エンジン(2)の回転と同期していることを特徴とする制御システム。
【請求項16】
請求項15記載の制御システム(20)において、前記ゲイン指定は前記エンジン(2)の回転速度に依存していることを特徴とする制御システム。
【請求項17】
請求項15又は請求項16記載の制御システム(20)において、前記第3の制御アルゴリズム(57)の実行は、前記ピストン・エンジン(2)のタイミングに基づいて前記第1のプロセッサ(21a)と前記第2のプロセッサ(21b)との間で切り換えられることを特徴とする制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−25849(P2009−25849A)
【公開日】平成21年2月5日(2009.2.5)
【国際特許分類】
【外国語出願】
【出願番号】特願2007−157625(P2007−157625)
【出願日】平成19年6月14日(2007.6.14)
【出願人】(594140904)マーン・ベー・オグ・ドバルドヴェー・ディーゼール・アクティーゼルスカブ (22)
【氏名又は名称原語表記】Man B&W Diesel A/S
【住所又は居所原語表記】Center Syd,161 Stamholmen,DK−2650 HVIDOVRE,Denmark
【Fターム(参考)】