(57)【要約】  個々の制御装置の処理能力を効率良く使えるようにする。  第１制御装置と第２制御装置を含んで分散制御システムを構成する。第１制御装置には、その制御対象を制御するための基本制御量を求める基本制御量演算機能と、上記基本制御量とその補正値とに基づいて補正制御量を求めるための補正制御量演算機能と、上記基本制御量及び上記補正制御量に基づいて上記第１制御装置の制御対象を制御可能な第１制御機能とを設ける。また、第２制御装置には、その制御対象を制御可能な第２制御機能と、上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を余剰能力に応じて演算可能な補正値演算機能と、上記補正値を上記第１制御装置に送信するための補正値送信機能とを設ける。個々の制御装置に固有の処理が大半を占めている場合でも、負荷分散により個々の制御装置の処理能力を使い切れるようにする。
2008035405.tif 000002
【特許請求の範囲】
【請求項１】
第１制御装置と、上記第１制御装置とは異なる第２制御装置とがネットワークで接続され、上記第１制御装置と上記第２制御装置との間で負荷の分散制御が可能とされる分散制御システムであって、
上記第１制御装置は、上記第１制御装置の制御対象を制御するための基本制御量を求める基本制御量演算機能と、
上記基本制御量とその補正値とに基づいて補正制御量を求めるための補正制御量演算機能と、
上記基本制御量及び上記補正制御量に基づいて上記第１制御装置の制御対象を制御可能な第１制御機能と、を含み、
上記第２制御装置は、上記第２制御装置の制御対象を制御可能な第２制御機能と、
上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を余剰能力に応じて演算可能な補正値演算機能と、
上記補正値を上記第１制御装置に送信するための補正値送信機能と、を含むことを特徴とする分散制御システム。
【請求項２】
上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御される第１処理モードと、
上記補正値演算機能によって求められた補正値が上記補正値送信機能により上記第１制御装置に送信され、上記補正制御量演算機能により上記補正制御量が求められ、上記補正制御量により第１制御装置の制御対象が制御される第２処理モードと、を含む請求項１記載の分散制御システム。
【請求項３】
上記第２制御装置は、予め設定された時刻を通知するタイマ機能と、
上記第２制御装置における負荷を観測する負荷観測機能と、を含み、
上記タイマ機能によって、予め設定された時刻が通知された場合において、上記負荷が予め設定された基準値より低い場合には、上記補正値演算機能により補正値が求められ、それが上記補正値送信機能により上記第１制御装置に送信される請求項２記載の分散制御システム。
【請求項４】
上記第２制御装置は、上記第２制御装置における負荷を観測する負荷観測機能と、
上記負荷観測機能の観測結果を上記第１制御装置に通知する観測結果通知機能と、を含み、
上記第１制御装置は、上記第２制御装置における負荷が予め定められた基準値よりも高い場合には、上記第１処理モードにより制御対象を制御する請求項２記載の分散制御システム。
【請求項５】
上記第２制御装置が複数設けられ、
上記第１制御装置は、上記複数の第２制御装置に補正値演算の実行を依頼する機能を含む請求項２記載の分散制御システム。
【請求項６】
上記第１制御装置は、上記第２制御装置の優先順位が規定された優先度テーブルを具備し、上記第１制御装置は、上記第２処理モードにおいて、前記優先度テーブルを参照し、上記複数の第２制御装置のなかかで優先度が最も高く設定された第２制御装置における補正値演算機能を利用する請求項５記載の分散制御システム。
【請求項７】
上記第１制御装置は、上記第２処理モードにおいて、上記複数の第２制御装置の全てに対して補正値演算の実行を依頼し、補正値の送信が最も早く行われた第２制御装置からの補正値を利用する請求項５記載の分散制御システム。
【請求項８】
上記第２制御装置は、複数の補正値を演算する機能と、上記第２制御装置における負荷を観測する機能を有し、上記負荷の状況に応じて、求める補正値の数を調節する請求項２記載の分散制御システム。
【請求項９】
上記第１制御装置は、上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を求める第２補正値演算機能を更に含む請求項１記載の分散制御システム。
【請求項１０】
上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御される第１処理モードと、
上記補正値演算機能によって求められた補正値が上記補正値送信機能により上記第１制御装置に送信され、上記補正制御量演算機能により上記補正制御量が求められ、上記補正制御量により第１制御装置の制御対象が制御される第２処理モードと、
上記第２補正値演算機能によって求められた補正値に基づいて上記補正制御量演算機能により上記補正制御量が求められ、それによって上記第１制御装置の制御対称が制御される第３処理モードと、の選択が可能とされる請求項９記載の分散制御システム。
【請求項１１】
第１制御装置と、上記第１制御装置とは異なる第２制御装置とがネットワークで接続され、上記第１制御装置と上記第２制御装置との間で負荷の分散制御が可能とされる分散制御システムであって、
上記第１制御装置は、上記第１制御装置の制御対象を制御するための基本制御量を求める基本制御量演算機能と、
上記基本制御量とその補正値とに基づいて補正制御量を求めるための補正制御量演算機能と、
上記基本制御量及び上記補正制御量に基づいて上記第１制御装置の制御対象を制御可能な第１制御機能と、
上記第１制御装置における負荷を観測する負荷観測機能と、を含み、
上記第２制御装置は、上記第２制御装置の制御対象を制御可能な第２制御機能と、
上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を余剰能力に応じて演算可能な補正値演算機能と、
上記補正値を上記第１制御装置に送信するための補正値送信機能と、を含み、
上記第１制御装置における負荷の観測結果が予め定められた基準値より高い場合には、上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御されることを特徴とする分散制御システム。
【請求項１２】
第１制御装置と、上記第１制御装置とは異なる第２制御装置とがネットワークで接続され、上記第１制御装置と上記第２制御装置との間で負荷の分散制御が可能とされる分散制御システムであって、
上記第１制御装置は、上記第１制御装置の制御対象を制御するための基本制御量を求める基本制御量演算機能と、
上記基本制御量とその補正値とに基づいて補正制御量を求めるための補正制御量演算機能と、
上記基本制御量及び上記補正制御量に基づいて上記第１制御装置の制御対象を制御可能な第１制御機能と、
上記第１制御装置と上記第２制御装置との間の通信路の負荷を観測する通信路負荷観測機能と、を含み、
上記第２制御装置は、上記第２制御装置の制御対象を制御可能な第２制御機能と、
上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を余剰能力に応じて演算可能な補正値演算機能と、
上記補正値を上記第１制御装置に送信するための補正値送信機能と、を含み、
上記通信路の負荷の観測結果が予め定められた基準値より高い場合には、上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御されることを特徴とする分散制御システム。
【請求項１３】
上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御される第１処理モードと、
上記補正値演算機能によって求められた補正値が上記補正値送信機能により上記第１制御装置に送信され、上記補正制御量演算機能により上記補正制御量が求められ、上記補正制御量により第１制御装置の制御対象が制御される第２処理モードと、を含む請求項１１又は１２記載の分散制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御装置がネットワークを介して接続された分散制御システムに関し、特にリアルタイム処理要求があるシステムに適用して有効な技術に関する。
【背景技術】
【０００２】
現在の車載電子制御システムにおいては、排気ガス浄化、低燃費、低エミッション規制強化への対応のみに留まらず、安全性・快適性追求の制御へと展開されており、もはやマイコン性能向上のトレンドを超えた高度かつ細密な制御が求められるようになっている。そのため自動車に搭載されるマイコン数は現在1台当たり３０〜１００個にまで膨れ上がっており、その数は、油圧など機械的に実現してきた操舵や制動などの機能を電気的なアクチュエータやモータ、電子制御などによって実現する技術（Ｘ−ｂｙ−ｗｉｒｅ）の進展や、更なる制御の高度化によって、増加の一途を辿ると予想される。このことはコスト要求の厳しい自動車においては非常に深刻な問題であり、これ以上のマイコン数増加を阻止するためにも計算リソースの効率活用が強く求められている。【０００３】
車載電子制御システムでは、センサから入力された制御対象機器の内部外部の情報に基づいて制御装置によって制御信号が生成され、アクチュエータがその制御信号に基づいて動作されることによって、制御対象が所望の状態になるよう制御される。各制御装置は車載ＬＡＮ（local  area  network）で接続され通信ネットワークを構築しており、データ共有化や連係動作を行うことによって高度な協調制御を実現している。【０００４】
この際、個々の制御装置はそれぞれの制御対象機器を制御するために構成されており、最大の演算負荷時に対応できるだけの処理性能を持っていなければならない。しかし、例えば制御対象機器が動作しない場合や複雑な制御を必要としない場合には、制御装置の処理能力を十分に利用することができないため、処理性能を十分に使い切ることができない。【０００５】
そこで、複数の制御装置（ＥＣＵ）で負荷を分散して処理を行わせることによって各制御装置ＥＣＵの余剰能力を有効活用しようとする技術が提案されている（例えば特許文献１参照）。この技術は、各種制御対象機器を制御するのに必要な制御プログラムを、ネットワークに接続された制御装置毎に実行する必要のある固有タスクと、任意の制御装置にて実行可能なフロートタスクとに分け、そのフロートタスク実行用のプログラムを、ネットワークに接続されたマネージャ制御装置にて管理するものである。【０００６】
【特許文献１】特開２００４−０３８７６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記特許文献１記載の技術によれば、各種制御対象機器を制御するのに必要な制御プログラムを制御装置毎に実行する必要のある固有タスクと、任意の制御装置にて実行可能なフロートタスクとに分け、そのフロートタスク実行用のプログラムを、ネットワークに接続されたマネージャ制御装置にて管理するものであり、任意の制御装置で実行可能なフロートタスクのみを負荷分散の対象としている。しかしながら、一般に、自動車制御においては個々の制御装置に固有の処理が大半を占めているため、上記技術で得られる負荷分散効果は限定されてしまう。つまり、分散対象とされる負荷は、全ての制御装置で処理可能なフロートタスクに限定されることから、そのようなフロートタスクが少ない制御系では、負荷分散により個々の制御装置の処理能力を使い切れないことが、本願発明者によって見いだされた。【０００８】
本発明の目的は、個々の制御装置の処理能力を効率良く使うための技術を提供することにある。【０００９】
本発明の上記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。【００１１】
〔１〕第１制御装置と、上記第１制御装置とは異なる第２制御装置とがネットワークで接続され、上記第１制御装置と上記第２制御装置との間で負荷の分散制御が可能とされる分散制御システムにおいて、上記第１制御装置には、上記第１制御装置の制御対象を制御するための基本制御量を求める基本制御量演算機能と、上記基本制御量とその補正値とに基づいて補正制御量を求めるための補正制御量演算機能と、上記基本制御量及び上記補正制御量に基づいて上記第１制御装置の制御対象を制御可能な第１制御機能とを設ける。また、上記第２制御装置には、上記第２制御装置の制御対象を制御可能な第２制御機能と、上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を余剰能力に応じて演算可能な補正値演算機能と、上記補正値を上記第１制御装置に送信するための補正値送信機能とを設ける。かかる構成は第１乃至第１０実施形態に対応する。【００１２】
上記の手段によれば、上記第２制御装置において、上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を求めることができ、求められた補正値が第１制御装置に送信される。第１制御装置では、上記基本制御量とその補正値とに基づいて補正制御量が求められ、上記基本制御量及び上記補正制御量に基づいて上記第１制御装置の制御が行われる。すなわち、第１制御装置が担当する制御対象の制御項目について基本制御量演算は第１制御装置で行うようにし、制御成績を向上させるために必要とされるような補正値演算を、余剰能力に応じて第２制御装置で行えるようになっている。第２制御装置は、処理余裕が生じた場合に基本制御量に対する補正値を求めるための演算を実行し、補正値を第１制御装置に送信する。第１制御装置では、基本制御量と補正値から、補正制御量を求め制御対象を制御する。第２制御装置に処理余裕がない場合については、補助演算は行わないようにすることで、第２制御装置の制御対象の制御には影響を与えない。また、そのとき、第１制御装置は基本制御量を用いて制御対象を制御するので、最低限の制御目標は達成することができる。このように上記の手段によれば、制御成績を向上させるために必要とされるような補正値演算を、余剰能力に応じて第２制御装置で行えるようにしており、各種制御対象機器を制御するのに必要な制御プログラムを制御装置毎に実行する必要のある固有タスクと、任意の制御装置にて実行可能なフロートタスクとに分け、そのフロートタスク実行用のプログラムを、ネットワークに接続されたマネージャ制御装置にて管理するものではないので、例えば自動車制御などのように個々の制御装置に固有の処理が大半を占めている場合でも、負荷分散により個々の制御装置の処理能力を使い切ることが可能とされる。【００１３】
〔２〕上記〔１〕において、上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御される第１処理モードと、上記補正値演算機能によって求められた補正値が上記補正値送信機能により上記第１制御装置に送信され、上記補正制御量演算機能により上記補正制御量が求められ、上記補正制御量により第１制御装置の制御対象が制御される第２処理モードとを含めることができる。このとき第１処理モード、第２処理モードの選択が可能とされる。かかる構成は第１乃至第９実施形態に対応する。【００１４】
〔３〕上記〔２〕において、上記第２制御装置は、予め設定された時刻を通知するタイマ機能と、上記第２制御装置における負荷を観測する負荷観測機能とを設け、上記タイマ機能によって、予め設定された時刻が通知された場合において、上記負荷が予め設定された基準値より低い場合には、上記補正値演算機能により補正値が求められ、それが上記補正値送信機能により上記第１制御装置に送信されるように構成することができる。かかる構成は第５実施形態に対応する。【００１５】
〔４〕上記〔２〕において、上記第２制御装置に、上記第２制御装置における負荷を観測する負荷観測機能と、上記負荷観測機能の観測結果を上記第１制御装置に通知する観測結果通知機能とを設け、上記第１制御装置は、上記第２制御装置における負荷が予め定められた基準値よりも高い場合には、上記第１処理モードにより制御対象を制御するように構成することができる。かかる構成は第１実施形態に対応する。【００１６】
〔５〕上記〔２〕において、上記第２制御装置が複数設けられるとき、上記第１制御装置には、上記複数の第２制御装置に補正値演算の実行を依頼する機能を設けることができる。かかる構成は第８、第９実施形態に対応する。【００１７】
〔６〕上記〔５〕において、上記第１制御装置は、上記第２制御装置の優先順位が規定された優先度テーブルを具備し、上記第１制御装置は、上記第２処理モードにおいて、前記優先度テーブルを参照し、上記複数の第２制御装置のなかかで優先度が最も高く設定された第２制御装置における補正値演算機能を利用するように構成することができる。かかる構成は第９実施形態に対応する。【００１８】
〔７〕上記〔５〕において、上記第１制御装置は、上記第２処理モードにおいて、上記複数の第２制御装置の全てに対して補正値演算の実行を依頼し、補正値の送信が最も早く行われた第２制御装置からの補正値を利用するように構成することができる。かかる構成は第８実施形態に対応する。【００１９】
〔８〕上記〔２〕において、上記第２制御装置は、複数の補正値を演算する機能と、上記第２制御装置における負荷を観測する機能を有し、上記負荷の状況に応じて、求める補正値の数を調節するように構成することができる。かかる構成は第８、第９実施形態に対応する。【００２０】
〔９〕上記〔１〕において、上記第１制御装置には、上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を求める第２補正値演算機能を更に設けることができる。かかる構成は第１０実施形態に対応する。【００２１】
〔１０〕上記〔９〕において、上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御される第１処理モードと、上記補正値演算機能によって求められた補正値が上記補正値送信機能により上記第１制御装置に送信され、上記補正制御量演算機能により上記補正制御量が求められ、上記補正制御量により第１制御装置の制御対象が制御される第２処理モードと、上記第２補正値演算機能によって求められた補正値に基づいて上記補正制御量演算機能により上記補正制御量が求められ、それによって上記第１制御装置の制御対称が制御される第３処理モードとの選択が可能となるように構成することができる。【００２２】
〔１１〕第１制御装置と、上記第１制御装置とは異なる第２制御装置とがネットワークで接続され、上記第１制御装置と上記第２制御装置との間で負荷の分散制御が可能とされる分散制御システムにおいて、上記第１制御装置には、上記第１制御装置の制御対象を制御するための基本制御量を求める基本制御量演算機能と、上記基本制御量とその補正値とに基づいて補正制御量を求めるための補正制御量演算機能と、上記基本制御量及び上記補正制御量に基づいて上記第１制御装置の制御対象を制御可能な第１制御機能と、上記第１制御装置における負荷を観測する負荷観測機能とを設ける。また、上記第２制御装置には、上記第２制御装置の制御対象を制御可能な第２制御機能と、上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を余剰能力に応じて演算可能な補正値演算機能と、上記補正値を上記第１制御装置に送信するための補正値送信機能とを設ける。そして、上記第１制御装置における負荷の観測結果が予め定められた基準値より高い場合には、上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御されるように構成する。かかる構成は第３実施形態に対応する。【００２３】
かかる構成においても、制御成績を向上させるために必要とされるような補正値演算を、余剰能力に応じて第２制御装置で行えるようにしており、各種制御対象機器を制御するのに必要な制御プログラムを制御装置毎に実行する必要のある固有タスクと、任意の制御装置にて実行可能なフロートタスクとに分け、そのフロートタスク実行用のプログラムを、ネットワークに接続されたマネージャ制御装置にて管理するものではないので、上記〔１〕の場合と同様に、例えば自動車制御などのように個々の制御装置に固有の処理が大半を占めている場合でも、負荷分散により個々の制御装置の処理能力を使い切ることが可能とされる。【００２４】
〔１２〕第１制御装置と、上記第１制御装置とは異なる第２制御装置とがネットワークで接続され、上記第１制御装置と上記第２制御装置との間で負荷の分散制御が可能とされる分散制御システムにおいて、上記第１制御装置には、上記第１制御装置の制御対象を制御するための基本制御量を求める基本制御量演算機能と、上記基本制御量とその補正値とに基づいて補正制御量を求めるための補正制御量演算機能と、上記基本制御量及び上記補正制御量に基づいて上記第１制御装置の制御対象を制御可能な第１制御機能と、上記第１制御装置と上記第２制御装置との間の通信路の負荷を観測する通信路負荷観測機能とを設ける。また、上記第２制御装置には、上記第２制御装置の制御対象を制御可能な第２制御機能と、上記第１制御装置の制御対象を制御するための基本制御量に対する補正値を余剰能力に応じて演算可能な補正値演算機能と、上記補正値を上記第１制御装置に送信するための補正値送信機能とを設ける。そして、上記通信路の負荷の観測結果が予め定められた基準値より高い場合には、上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御されるように構成する。かかる構成は第４実施形態に対応する。【００２５】
かかる構成においても、制御成績を向上させるために必要とされるような補正値演算を、余剰能力に応じて第２制御装置で行えるようにしており、各種制御対象機器を制御するのに必要な制御プログラムを制御装置毎に実行する必要のある固有タスクと、任意の制御装置にて実行可能なフロートタスクとに分け、そのフロートタスク実行用のプログラムを、ネットワークに接続されたマネージャ制御装置にて管理するものではないので、上記〔１〕の場合と同様に、例えば自動車制御などのように個々の制御装置に固有の処理が大半を占めている場合でも、負荷分散により個々の制御装置の処理能力を使い切ることが可能とされる。【００２６】
〔１３〕上記〔１１〕又は〔１２〕において、上記基本制御量演算機能により求められた基本制御量により上記第１制御装置の制御対象が制御される第１処理モードと、上記補正値演算機能によって求められた補正値が上記補正値送信機能により上記第１制御装置に送信され、上記補正制御量演算機能により上記補正制御量が求められ、上記補正制御量により第１制御装置の制御対象が制御される第２処理モードとを含めることができる。このとき、第１処理モード、第２処理モードの選択が可能とされる。
【発明の効果】
【００２７】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。【００２８】
すなわち、制御成績を向上させるために必要とされるような補正値演算を、余剰能力に応じて第２制御装置で行えるようにしており、例えば自動車制御などのように個々の制御装置に固有の処理が大半を占めている場合でも、負荷分散により個々の制御装置の処理能力を使い切ることが可能とされる。これにより、複数の制御装置を含んで成る分散制御システムにおいて、上記制御装置の処理能力を効率良く使うための技術を提供することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の第１実施形態に係る分散制御システムの構成例ブロック図である。
【図２】上記第１実施形態に係る分散制御システムにおける処理モード１のタスク実行の説明図である。
【図３】上記第１実施形態に係る分散制御システムにおける処理モード２のタスク実行の説明図である。
【図４】上記第１実施形態に係る分散制御システムにおける各ＥＣＵの処理の流れを示すフローチャートである。
【図５】本発明の第２実施形態にかかる分散制御システムにおける各ＥＣＵの処理の流れを示すフローチャートである。
【図６】本発明の第３実施形態にかかる分散制御システムの構成例ブロック図である。
【図７】上記第１実施形態にかかる分散制御システムにおいて補正処理の実行完了がデッドライン時間を越えてしまう場合のタスク実行の説明図である。
【図８】本発明の第３実施形態にかかる分散制御システムにおける各ＥＣＵの処理の流れを示すフローチャートである。
【図９】本発明の第４実施形態にかかる分散制御システムの構成例ブロック図である。
【図１０】上記第４実施形態にかかる分散制御システムにおいて各ＥＣＵが具備するパケットテーブルの説明図である。
【図１１】本発明の第５実施形態にかかる分散制御システムの構成例ブロック図である。
【図１２】上記第５実施形態における各ＥＣＵの処理の流れを示すフローチャートである。
【図１３】本発明の第６実施形態にかかる分散制御システムの構成例ブロック図である。
【図１４】本発明の第７実施形態にかかる分散制御システムの構成例ブロック図である。
【図１５】上記第７実施形態にかかる分散制御システムにおいてＥＣＵ２が複数の補正値演算タスクを実行した場合のタスク実行の説明図である。
【図１６】上記第７実施形態にかかる分散制御システムにおける補正値演算タスクテーブルの説明図である。
【図１７】上記第７実施形態にかかる分散制御システムにおける補正値演算タスクテーブルの別の説明図である。
【図１８】本発明の第８実施形態にかかる分散制御システムの構成例ブロック図である。
【図１９】上記第８実施形態にかかる分散制御システムおいて補正値演算タスクを実行するＥＣＵの処理の流れを示すフローチャートである。
【図２０】本発明の第９実施形態にかかる分散制御システムの構成例ブロック図である。
【図２１】上記第９実施形態にかかる分散制御システムにおける各制御装置のタスク実行の説明図である。
【図２２】本発明の第１０実施形態にかかる分散制御システムの構成例ブロック図である。
【図２３】上記第１０実施形態にかかる分散制御システムにおける各ＥＣＵの処理の流れを示すフローチャートである。
【符号の説明】
【００３０】
ＥＣＵ１，ＥＣＵ２  制御装置
ＣＰＵ１，ＣＰＵ２  演算装置
ＣＯＭ１，ＣＯＭ２  通信装置
ＣＮＴ１，ＣＮＴ２  制御対象
ＳＮ１，ＳＮ２  センサ
ＡＣ１，ＡＣ２  アクチュエータ
ＭＮＴ２  ＣＰＵ負荷観測装置
ＭＥＭ１，ＭＥＭ２  記憶装置
Ｔ１  基本制御量演算タスク
ＴＦ  補正処理タスク
ＴＣ１  補正値演算タスク
ＮＷ  ネットワーク
【発明を実施するための最良の形態】
【００３１】
＜第１実施形態＞
図１には、本発明の第１実施形態にかかる分散制御システムが示される。図１に示される分散制御システムは、制御装置ＥＣＵ１と制御装置ＥＣＵ２とがネットワークＮＷに接続され、制御装置ＥＣＵ１と制御装置ＥＣＵ２とで負荷の分散制御が可能とされる。制御装置ＥＣＵ１と制御装置ＥＣＵ２とは、特に制限されないが、それぞれ公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。【００３２】
上記制御装置ＥＣＵ１は、センサＳＮ１の情報を用いて制御量を計算し、アクチュエータＡＣ１を介して制御対象ＣＮＴ１の制御を行うことができる。上記制御装置ＥＣＵ２は、センサＳＮ２の情報を用いて制御量を計算し、アクチュエータＡＣ２を介して制御対象ＣＮＴ２の制御を行うことができる。【００３３】
上記制御装置ＥＣＵ１は、予め設定されたプログラムを実行する演算装置ＣＰＵ１、上記演算装置ＣＰＵ１で実行されるタスクや各種データの記憶を可能とする記憶装置ＭＥＭ１、外部との間で各種情報の入出力を可能とする外部入出力装置Ｉ／Ｏ１、データ通信を可能とする通信装置ＣＯＭ１を含んで成る。【００３４】
上記制御装置ＥＣＵ２は、予め設定されたプログラムを実行する演算装置ＣＰＵ２、この演算装置ＣＰＵ２の負荷を観測するためのＣＰＵ負荷観測装置ＭＮＴ２、上記演算装置ＣＰＵ２で実行されるタスクや各種データの記憶を可能とする記憶装置ＭＥＭ２、外部との間で各種情報の入出力を可能とする外部入出力装置Ｉ／Ｏ２、データ通信を可能とする通信装置ＣＯＭ２を含んで成る。【００３５】
ここで、制御装置ＥＣＵ１の記憶装置ＭＥＭ１には制御対象ＣＮＴ１の基本制御量演算タスクＴ１、補正値に基づき制御量の補正処理を行うタスクＴＦが格納されており、制御装置ＥＣＵ２の記憶装置ＭＥＭ２には、制御対象ＣＮＴ１に対する補正値演算タスクＴＣ１が格納されている。【００３６】
上記センサＳＮ１，ＳＮ２からの出力信号ｘに対して、制御対象を制御するための高精度の制御量ｆ（ｘ）は、（１）式によって示される。また、最低限の精度要求に基づき、高次の項を切り捨てた基本制御量ｆｍ（ｘ）は、（２）式によって示され、高次の項の影響を表す補正値ｆｈ（ｘ）は、（３）式によって示される。
ｆ（ｘ）＝ａ０＋ａ１ｘ＋ａ２ｘ２＋ａ３ｘ３＋・・・＋ａｎｘｎ  ……（１）
ｆｍ（ｘ）＝ａ０＋ａ１ｘ・・・＋ａｍｘｍ（ｍ＜ｎ）  ……（２）
ｆｈ（ｘ）＝ａｍ＋１ｘｍ＋１＋・・・＋ａｎｘｎ  ……（３）
上記基本制御量ｆｍ（ｘ）を求める処理を基本制御量演算処理、補正値ｆｈ（ｘ）を求める処理を補正値演算処理と呼ぶ。また、基本制御量ｆｍ（ｘ）と補正値ｆｈ（ｘ）から、高精度の制御量は、ｆｍ（ｘ）＋ｆｈ（ｘ）から求められる。この処理を補正処理と呼ぶ。【００３７】
尚、本例では、制御演算処理が線形多項式の例を示し、補正演算は、基本制御量と補正値の和という単純な例を示したが、それに限定されるものでない。【００３８】
本例において、制御装置ＥＣＵ１は制御対象ＣＮＴ１に対する制御量の計算について２つの処理モードを持っている。処理モード１では、制御装置ＥＣＵ１の基本制御量ｆm(ｘ)を求める基本制御量演算タスクＴ１の結果をそのままアクチュエータＡＣ１への制御量とするが、処理モード２では、制御装置ＥＣＵ２の補正値ｆｈ（ｘ）を求める補正値演算タスクＴＣ１の結果に基づき、補正処理タスクＴＦが基本制御量演算タスクＴ１の結果を補正して高精度の補正制御量ｆ（ｘ）を求め、それをアクチュエータＡＣ１への制御量とする。上記処理モード１及び処理モード２は、任意に選択することができる。つまり、上記制御量を補正するか否かの選択は任意とされる。【００３９】
図２には処理モード１のタスク実行の様子が示され、図３には処理モード２のタスク実行の様子が示される。【００４０】
図２，３において、横軸は経過時間（ｔｉｍｅ）であり、ＤＬは制御量演算のデッドライン時間、ＩＤＬはＣＰＵのアイドル状態を示している。図２の処理モード１では時刻ＳＴ１でタスクＴ１が起動し、時刻ＦＴ１で演算が終了し、結果がアクチュエータＡＣ１へ出力される。これに対し、図３の処理モード２では時刻ＳＴ１にタスクＴ１が起動され、同時にタスクＴ１起動通知パケットＰＫＴ１を受けた制御装置ＥＣＵ２によって補正値演算タスクＴＣ１が起動される。その後、補正値演算タスクＴＣ１の結果パケットＰＫＴ２が制御装置ＥＣＵ１に受信される。タスクＴ１とＴＣ１の結果が揃うとタスクＴＦが起動されて最終的な制御量が求められ、それがアクチュエータＡＣ１へ出力される。【００４１】
以下、図４を用いて制御量演算の流れを詳細に説明する。【００４２】
先ず、制御装置ＥＣＵ１においてタイマ割り込みや外部割り込み等の要因により基本制御量演算タスクＴ１の起動要求が発生する（Ｐ４０１）。制御装置ＥＣＵ１はＴ１起動の通知信号とセンサデータや演算に必要なデータを含むパケットＰＫＴ１を作成しネットワークを介して制御装置ＥＣＵ２に送信した後（Ｐ４０２）、補正値返信待ちの期限を知らせるタイマの設定およびタイムアウトしたか否かを示すタイムアウトフラグを論理値‘０’に設定して（Ｐ４０４）タスクＴ１の実行を開始する（Ｐ４０４）。そして、実行が終了すると制御装置ＥＣＵ１は通常状態に戻る（Ｐ４０５）。【００４３】
制御装置ＥＣＵ２は、制御装置ＥＣＵ１から送信された起動通知を受信（Ｐ４１５）すると、ＣＰＵ負荷観測装置ＭＮＴ２から自己のＣＰＵ負荷を参照し、補正値演算タスクＴＣ１の起動可否を判断する（Ｐ４１６）。ＣＰＵ負荷が事前に決められたしきい値を超えていた場合、補正値演算タスクＴＣ１の実行は破棄され、制御装置ＥＣＵ２は通常状態に戻る（Ｐ４１９）。それに対して、ＣＰＵ負荷がしきい値を超えていなかった場合には補正値演算タスクＴＣ１はレディキューに入れられ、事前に設定された実行優先度に従って実行される（Ｐ４１７）。補正値演算タスクＴＣ１の実行が終了し補正値が得られると制御装置ＥＣＵ２は、補正値を含むパケットＰＫＴ２を作成しネットワークを介して制御装置ＥＣＵ１に返信し（Ｐ４１８）、その後通常状態に戻る（Ｐ４１９）。【００４４】
制御装置ＥＣＵ１は、もし期限時間内に補正値の返信がなければタイマの割り込みが発生する（Ｐ４１０）。制御装置ＥＣＵ１はこの場合、タイムアウトフラグを１に設定して（Ｐ４１３）タスクＴ１の結果をそのままアクチュエータに出力する（Ｐ４１４）。また、補正値返信パケットＰＫＴ２を受信した場合においては（Ｐ４０６）、タイムアウトフラグが論理値‘１’、つまり期限時間を過ぎていればそのまま通常処理に戻り（Ｐ４１１）タイムアウトフラグが論理値‘０’、つまり期限時間内であれば、まずタイマを解除して（Ｐ４０７）受信した補正値に基づき補正処理タスクＴＦを起動、制御量の補正処理を行う（Ｐ４０８）。その後、補正後の制御量をアクチュエータに出力し（Ｐ４１０）通常処理に戻る（Ｐ４１１）。【００４５】
上記の構成によれば、以下の作用効果を得ることができる。【００４６】
（１）制御装置ＥＣＵ１が担当する制御対象の制御項目について基本制御量演算は制御装置ＥＣＵ１で行うようにし、制御成績を向上させるために必要とされるような補正値演算を、余剰能力に応じて制御装置ＥＣＵ２で行えるようになっている。制御装置ＥＣＵ２は、処理余裕が生じた場合に基本制御量に対する補正値を求めるための演算を実行し、補正値を制御装置ＥＣＵ１に送信する。制御装置ＥＣＵ１では、基本制御量と補正値から、補正制御量を求め制御対象を制御する。制御装置ＥＣＵ２に処理余裕がない場合については、補助演算は行わないようにすることで、制御装置ＥＣＵ２の制御対象の制御には影響を与えない。また、そのとき、制御装置ＥＣＵ１は基本制御量を用いて制御対象を制御するので、最低限の制御目標は達成することができる。【００４７】
（２）上記（１）の作用効果によれば、制御成績を向上させるために必要とされるような補正値演算を、余剰能力に応じて制御装置ＥＣＵ２で行えるようにしており、各種制御対象機器を制御するのに必要な制御プログラムを制御装置毎に実行する必要のある固有タスクと、任意の制御装置にて実行可能なフロートタスクとに分け、そのフロートタスク実行用のプログラムを、ネットワークに接続されたマネージャ制御装置にて管理するもの（特許文献１参照）ではないので、例えば自動車制御などのように個々の制御装置に固有の処理が大半を占めている場合でも、負荷分散により個々の制御装置の処理能力を使い切ることが可能とされる。【００４８】
＜第２実施形態＞
次に、本発明の第２実施形態にかかる分散制御システムについて図５を用いて説明する。【００４９】
第１実施形態にかかる分散制御システムでは、制御装置ＥＣＵ２は補正値計算タスクの実行が不可と判定した場合、補正値演算タスクＴＣ１の実行を破棄しそのまま通常処理に戻る。そのため制御装置ＥＣＵ１では返信待ち期限が終了するまでの一定時間は、以降の処理を開始することができない。【００５０】
そこで、第２実施形態にかかる分散制御システムでは、制御装置ＥＣＵ２が補正値計算タスクの実行可否判定（Ｐ５１９）において実行不可とした場合、即座にネットワークを介して制御装置ＥＣＵ１に実行不可通知パケットＰＫＴ２を送信する機能が追加されている。これによって、制御装置ＥＣＵ１は補正値の返信の有無を早期に知ることができ、不必要に待つ必要がなくなるため、制御量計算完了までのレスポンス時間を短縮できる。【００５１】
制御装置ＥＣＵ１は実行不可通知パケットＰＫＴ２を受信すると（Ｐ５１２）、タイムアウトフラグが論理値‘１’、つまり期限時間を過ぎていればそのまま通常処理に戻り（Ｐ５１１）タイムアウトフラグが論理値‘０’、つまり期限時間内であれば、まずタイマを解除して（Ｐ５１４）基本制御量を出力し（Ｐ５１７）、通常処理に戻る（Ｐ５１１）。尚、図５におけるその他の処理については、図４に示されるのと同様であるので、その詳細な説明を省略する。【００５２】
上記の構成によれば、制御装置ＥＣＵ２が補正値計算タスクの実行可否判定（Ｐ５１９）において実行不可とした場合、即座にネットワークを介して制御装置ＥＣＵ１に実行不可通知パケットＰＫＴ２を送信する機能を含んでいるため、制御装置ＥＣＵ１は補正値の返信の有無を早期に知ることができ、不必要に待つ必要がなくなるため、制御量計算完了までのレスポンス時間を短縮できる。【００５３】
＜第３実施形態＞
次に、本発明の第３実施形態にかかる分散制御システムについて図６−８を用いて説明する。【００５４】
第１実施形態にかかる分散制御システムにおいては、制御装置ＥＣＵ１は基本制御量演算タスクＴＣ１を起動する度に制御装置ＥＣＵ２に通知し、補正値演算タスクの起動を要求する。しかし、第１実施形態にかかる分散制御システムにおいて図４記載の処理フローに従い制御装置ＥＣＵ２が補正値演算を行った場合について、補正処理タスクＴＦの実行完了がデッドライン時間を越えてしまうことが起こりうる。図７にその一例を示す。図７において横軸は経過時間を表し、ＡＴ０はタスクＴ１の起動要求が発生した時刻、ＤＬは制御量演算のデッドライン時間、ＩＤＬはＣＰＵのアイドル状態を示している。図７で、タスクＴ１は時刻ＡＴ０に起動要求が発生し、レディキューに入れられるが、より実行優先度の高いタスクＴ０が存在するために直ぐには実行状態に移れない状況にある。したがってタスクＴ１はタスクＴ０の実行終了時刻ＳＴ１まで実行開始を待たなければならない。その結果、制御装置ＥＣＵ２から受信した補正値に基づき補正処理ＴＦを行おうとすると、デッドライン時間内に処理を完了できなくなってしまう。【００５５】
そこで第３実施形態にかかる分散制御システムでは、上記の不都合を未然に回避するため、図６に示されるように、制御装置ＥＣＵ１にＣＰＵ負荷観測装置ＭＮＴ１を設け、タスクＴ１起動時に自己のＣＰＵ負荷を参照し起動通知を行うか否か判断する機能が追加されている。これにより、不必要な演算や通信処理の発生を未然に防ぐことができるため、計算リソースをより効率活用することが可能となる。【００５６】
図８には、第３実施形態にかかる分散制御システムにおける制御装置ＥＣＵ１、制御装置ＥＣＵ２の処理の流れが示される。制御装置ＥＣＵ１は、基本制御量演算タスクＴ１の起動要求が発生すると（Ｐ８０１）、ＣＰＵ負荷観測装置ＭＮＴ１から自己のＣＰＵ負荷を参照して補正値演算の依頼を行うか否か判定する（Ｐ８０２）。ＣＰＵ負荷が高い場合には、補正値演算の依頼を行うことなく基本制御量をそのまま出力（Ｐ８１２）、ＣＰＵ負荷が低い場合には、制御装置ＥＣＵ２に対して起動通知パケットＰＫＴ１を送信する（Ｐ８０３）。各制御装置ＥＣＵ１，ＥＣＵ２における以降の処理については図４や図５に記載された処理の流れと同様である。【００５７】
上記の構成によれば、制御装置ＥＣＵ１にＣＰＵ負荷観測装置ＭＮＴ１を設け、タスクＴ１起動時に自己のＣＰＵ負荷を参照し起動通知を行うか否か判断する機能を含むことから、不必要な演算や通信処理の発生を未然に防ぐことができるため、計算リソースをより効率活用することが可能となる。【００５８】
＜第４実施形態＞
次に、本発明の第４実施形態にかかる分散制御システムについて図９−１０を用いて説明する。【００５９】
第１実施形態において、制御装置ＥＣＵ１と制御装置ＥＣＵ２はそれぞれ起動通知パケットＰＫＴ１、補正値返信パケットＰＫＴ２の送受信を行う必要がある。ＰＫＴ１には起動通知コードおよびタスクＴＣ１の演算に必要なセンサデータやグローバル変数など多くのデータが含まれる。同様にＰＫＴ２についても、補正値データだけでなく更新したグローバル変数などが含まれるため、合計のデータサイズは大きくなってしまう。【００６０】
このため、ネットワークのトラフィックが非常に混み合っている場合、これらのパケット送受信処理に多くの時間を要することになり、デッドライン時間内に処理を完了させることができなくなる可能性もある。さらに、より重要度の高い他の制御装置ＥＣＵ間の通信にも支障をきたすことになりかねない。【００６１】
第４実施形態にかかる分散制御システムでは、上記通信負荷観測装置ＮＭの不都合を回避するため、図９のブロック図に示すように各制御装置ＥＣＵ１，ＥＣＵ２に通信負荷観測装置ＮＭ１，ＮＭ２を具備させる。通信負荷観測装置ＮＭ１，ＮＭ２は、ネットワーク上に流れる任意のパケットＰＫＴｘについてネットワーク占有時間を記録するなどして、単位時間当たりのネットワーク利用率をモニタする機能を持つ。これにより制御装置ＥＣＵ１は、起動通知を行うか否かについてネットワーク負荷を考慮に入れることが可能になる。制御装置ＥＣＵ１は、起動通知パケットＰＫＴ１や補正値返信パケットＰＫＴ２の情報を予めテーブルとして持っておく必要がある。【００６２】
図１０には、パケットテーブルの一例が示される。図１０において、ＰＫＴ−ＩＤは各パケットの識別子、ＤＳは各パケットのデータサイズ、ＤＬはパケット送信完了のデッドライン時間を表している。制御装置ＥＣＵ１はこのパケットテーブルを参照して、ネットワーク負荷が事前に設定したしきい値を超えないかどうか、送信デッドラインに間に合うかなどを考慮して起動通知を行うか否か判断する。【００６３】
制御装置ＥＣＵ２については、制御装置ＥＣＵ１から起動通知を受信した後の補正値計算タスクＴＣ１の実行可否について、同様にパケットテーブルを参照してネットワーク負荷の状況によって判断する。これらによってネットワークのトラフィックの混雑によるレスポンスの悪化を防ぐことができる。【００６４】
＜第５実施形態＞
次に、本発明の第５実施形態にかかる分散制御システムについて図１１−１２を用いて説明する。【００６５】
一般に、車載電子制御システムに代表されるリアルタイム処理システムにおいては、一定時間おきに起動する周期タスクが多数を占める。ここでは、制御装置ＥＣＵ１の基本制御量演算タスクＴ１が周期タスクである場合の実施形態を示す。【００６６】
第１実施形態にかかる分散制御システムにおいては、制御装置ＥＣＵ１は基本制御量演算タスクＴ１の起動の度に起動通知パケットＰＫＴ１を送信し、制御装置ＥＣＵ２に補正値演算タスクＴＣ１の起動を促す必要があった。しかしタスクＴ１が周期タスクである場合は、事前に制御装置ＥＣＵ２にその起動周期を設定しておくことで制御装置ＥＣＵ１からの起動通知は必要なくなる。これにより起動時毎の通知およびタスクＴＣ１の実行が不可であった場合に無駄になるデータ送受信にかかるネットワーク負荷を削減できる。また制御装置ＥＣＵ２にとっては制御装置ＥＣＵ１からの起動通知を受けるまでの遅れ時間がなくなり、補正値返信までのレスポンスを向上させることができる。【００６７】
図１１には、本発明の第５実施形態にかかる分散制御システムのブロック図が示される。各制御装置ＥＣＵ１，ＥＣＵ２はそれぞれタイマＴＭＲを持ち、タスクを周期的に起動できる。制御装置ＥＣＵ１と制御装置ＥＣＵ２の間で送受信するパケットは以下の３つが必要である。第１に、補正値演算タスクＴＣ１が実行可能な場合に制御装置ＥＣＵ２が制御装置ＥＣＵ１に対して必要なデータの送信要求を行うパケットＰＫＴ３、第２に、制御装置ＥＣＵ１がその要求されたデータを制御装置ＥＣＵ２に送信するパケットＰＫＴ４、第３に、補正値を返信するパケットＰＫＴ５である。【００６８】
以下、図１２を用いて各制御装置ＥＣＵの処理の流れを説明する。【００６９】
まず、制御装置ＥＣＵ１においてタイマＴＭＲ１が基本制御量演算タスクＴ１の起動要求を発生させる（Ｐ１２０１）。このとき制御装置ＥＣＵ１は、まず補正値返信待ち期限タイマの設定およびタイムアウトフラグを論理値‘０’にして（Ｐ１２０２）、演算の実行を開始する（Ｐ１２０２）。そして実行終了後は通常処理状態に戻る（Ｐ１２０６）。【００７０】
このとき、タスクＴ１の起動要求発生と同タイミングで制御装置ＥＣＵ２ではタイマＴＭＲ２が補正値演算タスクＴＣ１の起動要求を発生させる（Ｐ１２１６）。制御装置ＥＣＵ２は負荷観測装置ＭＮＴ２を参照してタスクＴＣ１の実行可否の判定を行い（Ｐ１２１７）ＣＰＵ負荷が事前に設定したしきい値を上回る場合には、実行を破棄し通常処理に戻る（Ｐ１２１８）。ＣＰＵ負荷がしきい値を下回る場合は、データ要求パケットＰＫＴ１を制御装置ＥＣＵ１へ送信する。【００７１】
制御装置ＥＣＵ１は、データ送信要求を受けると（Ｐ１２０４）タスクＴＣ１の実行に必要なデータパケットＰＫＴ２を制御装置ＥＣＵ２に送信する（Ｐ１２０５）。【００７２】
制御装置ＥＣＵ２は、制御装置ＥＣＵ１からデータパケットを受信すると（Ｐ２１９）補正値演算を開始して（Ｐ１２２０）結果の補正値パケットＰＫＴ３を制御装置ＥＣＵ１へ返信（Ｐ１２２１）の後に通常処理に戻る（Ｐ１２２２）。【００７３】
制御装置ＥＣＵ１は、補正値パケットを受信すると（Ｐ１２０７）、タイムアウトフラグが論理値‘０’、つまり待ち期限内であった場合には、まずタイマを解除し（Ｐ１２０９）、制御量補正処理タスクＴＦを実行し（Ｐ１２１０）、その結果をアクチュエータＡＣへ出力する（Ｐ１２１１）。タイムアウトフラグが１つまり待ち期限を過ぎていた場合は、そのまま通常処理に戻る（Ｐ１２１２）。【００７４】
もし制限時間内に補正値の返信がなかった場合には、期限時刻にタイマ割り込みが発生し（Ｐ１２１３）、制御装置ＥＣＵ１はタスクＴ１の結果をそのまま出力する（Ｐ１２１５）。【００７５】
このように上記の構成によれば、タスクＴ１が周期タスクである場合に、事前に制御装置ＥＣＵ２にその起動周期を設定しておくことで制御装置ＥＣＵ１からの起動通知は必要なくなるため、起動時毎の通知およびタスクＴＣ１の実行が不可であった場合に無駄になるデータ送受信にかかるネットワーク負荷を削減できる。また制御装置ＥＣＵ２にとっては制御装置ＥＣＵ１からの起動通知を受けるまでの遅れ時間がなくなり、補正値返信までのレスポンスを向上させることができる。【００７６】
＜第６実施形態＞
次に、本発明の第６実施形態にかかる分散制御システムについて図１３を用いて説明する。【００７７】
第５実施形態にかかる分散制御システムでは、基本制御量演算タスクＴ１がタイマによって周期起動される場合の構成を示した。ここでは、外部装置からの割り込みによってタスクＴ１が起動される場合についての実施形態を示す。【００７８】
一般に車載電子制御システムにおいては、例えばエンジン制御を例に挙げると、エンジン回転に同期して起動するタスクが多くを占める。これは、エンジンの回転角度をカムセンサ、クランクセンサ等で検出し、一定回転角度おきに発生させた割り込み信号をトリガとして、タスクが起動するように設定されている。【００７９】
第６実施形態にかかる分散制御システムでは、上記の例のように外部装置からの割り込み信号によりＴ１が起動する場合に、ＣＰＵ１を経由することなく、通信装置ＣＯＭ１が割り込み発生を通知する手段が追加される。これにより起動通知が迅速に行われて制御装置ＥＣＵ２が補正値を返信するまでのレスポンス時間を短縮できる。【００８０】
図１３には、第６実施形態にかかる分散制御システムの構成例が示される。制御装置ＥＣＵ１には、センサからの割り込み信号をＣＯＭ１にも伝達するかの否かの選択を行う装置ＣＭが新たに追加されている。ＣＭは、割り込み信号がＴ１起動のトリガ信号である場合にはＣＯＭ１に割り込み信号をバイパスし、通信装置ＣＯＭ１はそれを検出すると割り込み通知パケットＰＫＴを制御装置ＥＣＵ２へ送信する。割り込み信号がＴ１起動のトリガ信号でない場合にはＣＭは通常通りＣＰＵ１の方だけに信号を伝達する。制御装置ＥＣＵ２では、ＣＯＭ２が割り込み通知パケットＰＫＴを受信するとＣＰＵ２に対して補正値演算タスクＴＣ１の起動を要求する。【００８１】
このように上記の構成によれば、外部装置からの割り込み信号によりＴ１が起動する場合に、ＣＰＵ１を経由することなく、割り込みが発生されることにより、起動通知が迅速に行われて制御装置ＥＣＵ２が補正値を返信するまでのレスポンス時間が短縮される。【００８２】
＜第７実施形態＞
次に、本発明の第７実施形態にかかる分散制御システムについて図１４−１７を用いて説明する。【００８３】
第１実施形態にかかる分散制御システムにおいては、制御装置ＥＣＵ２は補正値演算タスクを１つしか持っていない状況を想定していた。ここでは、制御装置ＥＣＵ２が複数の補正値演算タスクを持つ場合についての第７実施形態にかかる分散制御システムについて説明する。【００８４】
図１４には、第７実施形態にかかる分散制御システムの構成例が示される。【００８５】
制御装置ＥＣＵ２は、異なる２つの補正値演算タスクＴＣ１とＴＣ２を持っている。さらに、ＥＣＵ２には、図１６又は図１７に示すような補正値演算タスクの情報を含むテーブルＴＢＬを新たに追加する。制御装置ＥＣＵ２は、制御装置ＥＣＵ１から基本制御量演算タスクＴ１の起動通知を受信すると、ＣＰＵ負荷観測装置ＭＮＴ２からＣＰＵ負荷を読み出す。そして、補正値演算タスクテーブルＴＢＬを参照し、どの補正値演算タスクが実行可能であるか判断する。制御装置ＥＣＵ２は、処理余裕があれば複数の補正値演算タスクの全てを実行することも可能である。図１５には、第７実施形態にかかる分散制御システムにおける各制御装置ＥＣＵ１，ＥＣＵ２のタスク実行の様子が示される。【００８６】
図１６には、補正値演算タスクテーブルＴＢＬの例が示される。【００８７】
ＴＣｘ−ＩＤは補正値演算タスク識別子、ＥＸＴは補正値演算タスクの実行時間、ＤＳは補正値演算タスクの実行に必要なデータ等のパケット送受信にかかる総データサイズを表している。制御装置ＥＣＵ２はこれらの情報とＣＰＵ負荷の状況に基づき、実行するタスクを決定する。【００８８】
また、図１７にはタスクテーブルＴＢＬのもう一つの例が示される。【００８９】
ＬＶＬはＣＰＵ負荷の度合いを表しており、事前に何段階かのレベルに分けられている。ＴＣｘ−ＩＤｓは、各負荷レベルに対応する、起動すべき補正値演算タスクの識別子が書き込まれている。つまりＣＰＵ負荷が分かれば、このテーブルを参照することにより起動すべきタスクが決定される。よって図１６のテーブルを利用する場合と違って、実行時に制御装置ＥＣＵ２がどのタスクを起動すべきか逐一判定する必要がなくなるため、より効率的である。【００９０】
＜第８実施形態＞
次に、本発明の第８実施形態にかかる分散制御システムについて図１８―１９を用いて説明する。【００９１】
第１実施形態にかかる分散制御システムにおいては、ある一つの制御装置ＥＣＵが補正値演算タスクを実行する状況を想定していた。第８実施形態では、複数の制御装置ＥＣＵが同じ補正値演算タスクＴＣ１を持っている場合についての実施形態を示す。【００９２】
図１８には、本発明の第８実施形態にかかる分散制御システムの構成例が示される。制御装置ＥＣＵ２と制御装置ＥＣＵ３は、同じ補正値演算タスクＴＣ１をそれぞれ持っている。まず、基本制御量演算タスクＴ１が起動要求を受けると、制御装置ＥＣＵ１はネットワークに起動通知パケットＰＫＴ１をネットワークＮＷ内で不特定の制御装置に向かって送信する（これを「ブロードキャスト」という）。そのため第８実施形態にかかる分散制御システムでは、例えば車載ＬＡＮにおいて代表的なＣＡＮ（コントローラエリアネットワーク）プロトコルのように、通信パケットのブロードキャストが可能なネットワークの場合に適している。起動通知パケットＰＫＴ１のブロードキャスト後は、制御装置ＥＣＵ１の処理の流れは図４に示される制御装置ＥＣＵ１の処理の流れと同様である。制御装置ＥＣＵ１は返信されてくる補正値パケットＰＫＴ２について、制御装置ＥＣＵ２、制御装置ＥＣＵ３のどちらのパケットを採用しても最終結果に変わりはないため、先に返信された方のパケットを採用することとする。【００９３】
図１９には、制御装置ＥＣＵ２、制御装置ＥＣＵ３の処理の流れが示される。【００９４】
制御装置ＥＣＵ２、制御装置ＥＣＵ３はともにブロードキャストで制御装置ＥＣＵ１から起動通知を受信する（Ｐ１９０１）。その後ＣＰＵ負荷から実行可否を判断し（Ｐ１９０２）実行可能であれば補正値演算を開始（Ｐ１９０３）、不可であれば通常状態へ戻る（Ｐ１９０５）。実行が終了すると補正値パケットＰＫＴ２Ｍを送信する（Ｐ１９０４）。ただし、補正値の送信が終了する前に、他の制御装置ＥＣＵからの補正値パケットＰＫＴ２Ｎが送信された場合については、即座に補正値演算を中止して（Ｐ１０９７）通常処理に戻る。【００９５】
このように上記の構成によれば、複数の制御装置ＥＣＵが同一のタスクを実行するため、制御装置ＥＣＵの故障時にも安定動作が期待できる。従って第８実施形態にかかる分散制御システムは、高い信頼性が求められる制御システムに適している。【００９６】
＜第９実施形態＞
次に、本発明の第９実施形態にかかる分散制御システムについて図２０−２１を用いて説明する。【００９７】
ここで上記第８実施形態にかかる分散制御システムにおいては、制御装置ＥＣＵ１からの起動通知を受けると制御装置ＥＣＵ２、制御装置ＥＣＵ３ともに同一の補正値演算タスクＴＣ１の実行を開始していた。この方法は、先に述べたように信頼性の向上に寄与する一方、とくに高い信頼性が要求されていない場合においては、多重に演算を行うことによる処理効率低下の方がむしろ問題となる。そこで第９実施形態では、複数の制御装置ＥＣＵが同一の補正値演算タスクを持っているような分散制御システムにおいて、多重演算を避けつつ、複数の補正値演算タスクを実行するようにしている。【００９８】
図２０には、本発明の第９実施形態にかかる分散制御システムの構成例が示される。【００９９】
制御装置ＥＣＵ２、制御装置ＥＣＵ３は上記の補正値演算タスクテーブルＴＢＬを持っており、自己のＣＰＵ負荷状況によってどれだけの補正値演算タスクが処理可能であるか判断できるようになっている。図に示すように制御装置ＥＣＵ１は補正値演算タスクＴＣ１とＴＣ２、制御装置ＥＣＵ２はＴＣ２とＴＣ３を持っているものとする。【０１００】
まず、基本制御量演算タスクが起動すると、制御装置ＥＣＵ１は起動通知パケットＰＫＴ１をブロードキャストもしくは事前に設定した優先度の最も高い制御装置ＥＣＵ宛てに送信する。ここでは制御装置ＥＣＵ２、制御装置ＥＣＵ３の順に優先度が設定されているものとする。【０１０１】
制御装置ＥＣＵ２はＰＫＴ１を受信すると、図４記載の制御装置ＥＣＵ２の処理フローに従ってＣＰＵ負荷に応じて補正値演算タスクを起動する。ここではタスクＴＣ１が起動され、タスクＴＣ２は起動されなかったものとする。制御装置ＥＣＵ２は、どのタスクを起動したかの情報を含むパケットＰＫＴ２を、次の優先度の制御装置ＥＣＵ３に送信する。そして補正値の演算が終了すると結果パケットＰＫＴ３を制御装置ＥＣＵ１に返信する。【０１０２】
制御装置ＥＣＵ３は、制御装置ＥＣＵ２からのパケットＰＫＴ２を受信すると、自己のＣＰＵ負荷に応じ、すでに制御装置ＥＣＵ２が実行を開始したタスクＴＣ１を除いて、実行するタスクを判断する。図２０に示される例ではタ、スクＴＣ２，ＴＣ３が実行の対象となる。ここでは、タスクＴＣ２，ＴＣ３が制御装置ＥＣＵ３によって実行されるものとする。さらに、続く優先度の制御装置ＥＣＵが存在する場合には、どのタスクを起動したかの情報を含むパケットをその制御装置ＥＣＵ宛てに送信する。その後、制御装置ＥＣＵ３はタスクＴＣ３の結果のパケットＰＫＴ４を制御装置ＥＣＵ１に送信する。【０１０３】
制御装置ＥＣＵ１は、制御装置ＥＣＵ２、制御装置ＥＣＵ３からそれぞれ受け取った補正値に基づき補正処理を行い、結果の制御量をアクチュエータＡＣ１〜ＡＣ３に出力する。このときの各制御装置ＥＣＵ１，ＥＣＵ２，ＥＣＵ３のタスク実行状況は図２１に示されるようになる。【０１０４】
このように上記の構成によれば、どのタスクを起動したかの情報を含むパケットが優先度に従って送信され、このパケットを受信した制御装置では、他の制御装置が実行を開始したタスクを除いて実行するタスクを判断するようにしているので、多重演算を回避しつつ複数の補正実行タスクを実行することができる。【０１０５】
＜第１０実施形態＞
次に、本発明の第１０実施形態にかかる分散制御システムついて図２２−２３を用いて説明する。【０１０６】
第１実施形態にかかる分散制御システムでは、制御装置ＥＣＵ１は補正値演算タスクを持たないとしている。しかしこの場合、制御装置ＥＣＵ１にいくら処理余裕があっても、制御装置ＥＣＵ２が忙しいときには補正値に基づく補正処理ができなくなってしまう。そこで、第１０実施形態にかかる分散制御システムでは、制御装置ＥＣＵ１自身にも補正値演算タスクを持たせることにする。これにより制御装置ＥＣＵ１での処理に余裕がある場合には、制御装置ＥＣＵ１自信で補正処理が行われる。【０１０７】
図２１には、本発明の第１０実施形態にかかる分散制御システムの構成例が示される。制御装置ＥＣＵ１にもＣＰＵ負荷観測装置ＭＮＴ１、補正値演算タスクテーブルＴＢＬを追加することで、制御装置ＥＣＵ１自身の補正値演算が可能となる。このときの各制御装置ＥＣＵの処理の流れを図２３に示す。【０１０８】
制御装置ＥＣＵ１は、基本制御量演算タスクＴ１の起動要求が発生すると（Ｐ２３０１）、自己のＣＰＵ負荷によって補正値演算タスクを自己実行するか、他の制御装置ＥＣＵへ依頼するかの判定を行う（Ｐ２３０２）。ＣＰＵ負荷が低く自己実行が可能であると判定した場合には、基本制御量演算タスクＴ１（Ｐ２３０７）、補正値演算タスクＴＣ１（Ｐ２３０８）、制御量補正処理タスクＴＦ（Ｐ２３０９）を順に自己実行して結果をアクチュエータへ出力する（Ｐ２３０６）。【０１０９】
上記の構成によれば、制御装置ＥＣＵ１自身にも補正値演算タスクを持たせることにより、制御装置ＥＣＵ１での処理に余裕がある場合には、制御装置ＥＣＵ１自信で補正処理を行うことができる。【０１１０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【０１１１】
本発明は、ネットワークを介して接続された分散制御システムに広く適用することができる。
【図１】
2008035405.tif 000003
【図２】
2008035405.tif 000004
【図３】
2008035405.tif 000005
【図４】
2008035405.tif 000006
【図５】
2008035405.tif 000007
【図６】
2008035405.tif 000008
【図７】
2008035405.tif 000009
【図８】
2008035405.tif 000010
【図９】
2008035405.tif 000011
【図１０】
2008035405.tif 000012
【図１１】
2008035405.tif 000013
【図１２】
2008035405.tif 000014
【図１３】
2008035405.tif 000015
【図１４】
2008035405.tif 000016
【図１５】
2008035405.tif 000017
【図１６】
2008035405.tif 000018
【図１７】
2008035405.tif 000019
【図１８】
2008035405.tif 000020
【図１９】
2008035405.tif 000021
【図２０】
2008035405.tif 000022
【図２１】
2008035405.tif 000023
【図２２】
2008035405.tif 000024
【図２３】
2008035405.tif 000025
【国際調査報告】
2008035405.tif 000026
2008035405.tif 000027
2008035405.tif 000028
2008035405.tif 000029