JP5260369B2 - 分散システム - Google Patents

分散システム Download PDF

Info

Publication number
JP5260369B2
JP5260369B2 JP2009067237A JP2009067237A JP5260369B2 JP 5260369 B2 JP5260369 B2 JP 5260369B2 JP 2009067237 A JP2009067237 A JP 2009067237A JP 2009067237 A JP2009067237 A JP 2009067237A JP 5260369 B2 JP5260369 B2 JP 5260369B2
Authority
JP
Japan
Prior art keywords
state
node
system state
nodes
ecu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009067237A
Other languages
English (en)
Other versions
JP2010220141A (ja
JP2010220141A5 (ja
Inventor
正裕 松原
康平 櫻井
隆生 児島
光太郎 島村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2009067237A priority Critical patent/JP5260369B2/ja
Publication of JP2010220141A publication Critical patent/JP2010220141A/ja
Publication of JP2010220141A5 publication Critical patent/JP2010220141A5/ja
Application granted granted Critical
Publication of JP5260369B2 publication Critical patent/JP5260369B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワークにより結合された複数の装置が協調動作して、高信頼な制御を行うシステムに関する。
近年、自動車の運転快適性や安全性の向上を目指して、機械的な操作力の伝達ではなく、電子制御により、運転者のアクセル,ステアリング,ブレーキなどの操作を車両の駆動力,操舵力,制動力発生機構などに反映させる車両制御システムの開発が行われている。建機など他の機器でも同様な電子制御の適用が進められている。これらシステムでは、機器に分散配置した複数の電子制御装置(ECU、Electronic Control Unit)がネットワークを介してデータを送受信し協調動作を行う。この際、同一ネットワーク内のあるECUに障害が発生した際に、各ECUが障害発生箇所を正確に特定し、障害内容に応じた適切なバックアップ制御を行うことが、フェールセーフ上必要不可欠となる。上記課題を解決するために、ECUが相互に各ノードの状態(障害有無など)を監視して判定し、その判定結果を交換した上で、多数決などにより各ノード状態を特定し、ノード間で状態認識を高信頼に一致化する技術がある(特許文献1参照)。ノードの障害有無は各ノードの属性の1つであるが、ノードに属さないシステムとしての状態に関する認識一致化も、同様にして行うことができる。
特開2007−126127号公報
特許文献1では、ノード状態の認識および認識一致化機能を、ミドルウェアに実装することにより、当該機能を汎用化するとしている。しかし、ノードやシステムの状態遷移はシステムにより多種多様であり、状態遷移が複雑なシステムで詳細なノード状態やシステム状態の認識一致化を図ろうとすると、ノード状態の判定方法をシステムごとに適合させる必要が生じる場合が考えられ、その際の当該ミドルウェアのソフトウェア変更量が大きくなる可能性もある。
また、ノードの取りうる状態は複数あり、各ノードはその中から真の状態を1つ抽出して正しく認識しなければならない。例えばあるノードがデータを送信してこないときの当該ノードの状態として、一旦正常に起動したがその後故障した場合、未起動であるがこれから起動する予定である場合、起動不可である場合、仕様通りスリープ状態に入っている場合などがある。これらのうちどれが真の状態であるかは自動的には決まらず、他ノードがあるルールを持って判断する必要がある。しかし各ノードの置かれた条件は同じではないので、同じルールに従ってもノード間で判断に差が出る可能性がある。つまりあるノードに関する状態認識には、各ノードの主観的な判断が入る場合があるといえる。このような場合でもノード間で状態認識を一致化させる仕組みが必要である。また、ノード状態が主要な決定要因となるシステムとしての状態についても、同様のことがいえる。
詳細なノード状態やシステム状態は、各ノードの障害有無(正常または異常)といった基本的なノード状態を入力として判定される場合が多い。このような基本的なノード状態は、システムの種類に依らず幅広く有効な概念であり、その認識方法は、データ受信時における異常検出や、自己診断ならびにその通知など、多様なシステムにて共通的な手法である。
このため、基本的なノード状態認識に関わる機能と、詳細なノード状態やシステム状態の認識に関わる機能とを分離して備え、機能間のインターフェースを定義することにより、システムに応じて変更が必要な部分は後者の一部に限定することが可能である。これにより、システムごとに変更する機能を少なくし、変更の不要な機能を多くすることでシステム間で機能の共有化ができ、当該ミドルウェア(もしくはハードウェア回路)の再利用性が向上する。また、詳細なノード状態やシステム状態の認識に関わる機能を柔軟に設定できるので、ノードの主観的な判断の余地を含む、複雑な状態遷移を取り扱うことができる。
請求項および以降の説明では、上記の基本的なノード状態を単に「ノード状態」と呼び、ノード詳細状態やシステム状態のことを合わせて「システム状態」と呼ぶ。
多様で複雑な遷移を取りうるシステム状態に関して、ノード間の状態認識を高信頼に一致化することができる。また、システム状態の認識および認識一致化機能を提供するミドルウェアやハードウェアの再利用性を高めつつ、柔軟で拡張性のある構成とすることができる。
ノード状態とシステム状態とは各々で認識一致化されるが、システム状態の判定にノード間で認識一致化された後のノード状態を入力として利用する方法では、システム状態の認識一致化がロバストになり、より高信頼化される。
分散システムの構成。 ステアバイワイヤのシステム構成概略。 システム状態特定の処理フロー(1)。 システム状態特定のデータフロー(1)。 システム状態特定の各処理と通信サイクルとの関係(1)。 システム開始時に関するノードとシステムの状態遷移図(1)。 システム開始時に関するノードとシステムの状態遷移図(2)。 システム状態特定の処理フロー(2)。 システム状態特定のデータフロー(2)。 システム状態特定の各処理と通信サイクルとの関係(2)。 システム終了時に関するノードとシステムの状態遷移図。 ノード途中参加時に関するノードとシステムの状態遷移図。 電気自動車のシステム構成概略。 ノード途中離脱時に関するノードとシステムの状態遷移図。
本発明の実施形態を図面を用いて説明する。
図1は、本発明の一実施例をなす分散システムの一般化された構成図である。分散システムは、複数のノード10(10−1,10―2,…,10−n)からなり、これらのノードはネットワーク100を介して接続される。ここで、ノードとは、ネットワークを介して情報通信可能な処理装置であり、CPUを含む各種の電子制御装置,アクチュエータとその制御部,センサなどが含まれる。ECUはノードの一種である。ネットワーク100は多重通信可能な通信ネットワークであり、あるノードから当該ネットワークに接続された他の全てのノードに対して、同一内容を同時に送信するブロードキャスト送信が可能である。通信プロトコルとしては、FlexRayやTTCAN(time-triggered CAN)などを用いることができる。
各ノードx(xはノード番号、x=1〜n)は、CPU11−x,主メモリ12−x,I/F13−x、及び、記憶装置14−xとからなり、これらは内部通信線などにより接続されている。又、I/F13−xは、ネットワーク100と接続されている。
記憶装置14−xは、ノード状態判定部15−x,ノード状態交換部16−x,ノード状態特定部17−x,システム状態判定部18−x,システム状態交換部19−x及び、システム状態特定部20−xなどのプログラムを格納する。
CPU11−xは、これらのプログラムを主メモリ12−xに読み込み、実行することにより、処理を行う。本稿で説明するプログラムやデータは、予め記憶装置に格納しておいてもよいし、ネットワーク経由で他の装置からダウンロードしてもよい。又、当該プログラムにより実現される機能を、専用のハードウェアにより実現してもよい。以下では、プログラムを主体として記載するが、実際の主体はCPUである。
ノード状態判定部15−xは、各ノードに対しノード状態を監視し判定する(以下、MON1)。ノード状態交換部16−xは、ネットワーク100を介し、ノード状態判定部15−xが判定したノード状態をノード間で送受信し、ノード状態に関する各ノードの判定結果を集約する(以下、EXD1)。ノード状態特定部17−xは、ノード状態交換部16−xが集約したノード状態判定結果に基づき、多数決処理などによりノード状態特定(以下、ID1)を行い、ノード間でノード状態の認識を一致化する。本発明では、各ノードにより判定され集約された判定結果から1つの結論を確定し、ノード間で一致した結果を得ることを「特定」と表す。
ノード状態判定(MON1)の具体的な手段の例としては、データ受信時にプロトコル異常を検出したとき、送信ノードの異常と判定する方法がある。また、受信データの誤り検出符合やシリアル番号の未更新によりエラーが検出された際に、送信ノードの異常と判定する方法がある。また自ノードの異常に関しては、自己診断機能により検出可能である。自己診断結果を他ノードに送信した場合には、受信ノードが送信ノードの異常を検出できる。
システム状態判定部18−xは、システム状態判定(以下、MON2)を行う。ここで「システム状態」とは前述の通り、ノードに属さないシステムとしての状態であるが、ノードの詳細状態も含むとする。システム状態交換部19−xは、ネットワーク100を介し、システム状態判定部18−xが判定したシステム状態をノード間で送受信し、システム状態に関する各ノードの判定結果を集約する(以下、EXD2)。システム状態特定部20−xは、システム状態交換部19−xが集約したシステム状態判定結果に基づき、多数決処理などによりシステム状態特定(以下、ID2)を行い、ノード間でシステム状態の認識を一致化する。
図2は本実施例の対象システムである、ステアバイワイヤの概略構成を示している。システムはECU1〜4(21−1〜4)の4ノード構成であり、各ECUはネットワーク25で接続されている。ECU2〜4はそれぞれインバータ22−2〜4を持ち、モータ23−2〜4を制御している。モータ23−2は駆動力伝達機構24−2を介してハンドル26,シャフト27に反力を与える。モータ23−3〜4は、それぞれ駆動力伝達機構24−3〜4を介してラック28を制御し、車輪29−1〜2の方向を変えることで転舵する。ECU2は、運転手によるハンドル26の操作量をシャフト27に備えたセンサから検出し、ネットワーク25に送信する。ECU3〜4は、車輪29−1〜2の軸に備えたセンサから転舵角を検出し、ネットワーク25に送信する。ECU1はネットワーク25を介してハンドル操作量や転舵角を取得し、インバータ22−2〜4を介するモータ23−2〜4の制御内容を計算する。計算値は制御指令として、ネットワーク25を介してECU2〜4に送信する。ECU2〜4はECU1からの制御指令に基づき、モータ23−2〜4を制御する。
図3はシステム状態特定の処理フローである。このフロー中の処理は、各ノードがネットワーク100を介して相互に通信し同期を取って進められる。
まずステップ31にてノード状態判定部15−xは、各ノードについての状態を自ノード単独で判定する(MON1)。ノード状態判定(MON1)結果は、各ノードに関する障害有無である。障害の項目は複数設定してもよい。
次にステップ32にてシステム状態判定部18−xは、ステップ31で得られたノード状態判定結果を入力すなわち判断材料の1つとし、システム状態を自ノード単独で判定する(MON2)。
次にステップ33にてノード状態交換部16−xは、ステップ31で得られたノード状態判定結果を、I/F13−xを利用して各ノード間で交換する(EXD1)。各ノードは、自ノードを含む各ノードによる、各ノードに対する状態判定(MON1)結果を集約し保持することになる。同様に、システム状態交換部19−xは、ステップ33で得られたシステム状態判定結果を、I/F13−xを利用して各ノード間で交換する(EXD2)。各ノードは、自ノードを含む各ノードによる、システム状態判定(MON2)結果を集約し保持することになる。
次にステップ34にて、ノード状態特定部17−xは、ステップ33で各ノードに集約されたノード状態判定結果から、多数決処理などにより各ノードの状態を特定する(ID1)。同様に、システム状態特定部20−xは、ステップ33で各ノードに集約されたシステム状態判定結果から、多数決処理などによりシステム状態を特定する(ID2)。
図4は、図3の処理フローを実施した場合のデータフローである。上位レイヤ40は、制御アプリケーションなどのソフトウェアが該当する。上位レイヤ40に対し、ノード状態特定部17−xによるノード状態特定(ID1)結果と、システム状態特定部20−xによるシステム状態特定(ID2)結果とは、API(Application Program Interface)などのインターフェースを介して提供される。ノード状態判定部15−xによるノード状態判定(MON1)結果や、システム状態判定部18−xによるシステム状態判定(MON2)結果を、上位レイヤ40に提供しても良い。
ノード状態やシステム状態の認識は、ノード状態特定結果やシステム状態特定結果をもとになされる。この状態遷移の管理は、ノード状態特定部17−xやシステム状態特定部20−xで行っても良いが、上位レイヤ40にて制御アプリケーションとは分離した「状態遷移管理部」として実装することもできる。状態遷移はシステムごとに異なる部分であり、状態遷移管理部を上位レイヤ40に実装した場合、システム状態特定を担うミドルウェアやハードウェアの汎用性が高まる。自己診断機能も上位レイヤ40に実装し、その結果のみをノード状態判定部15−xに提供すればよい。以上のように状態認識に関する機能が上位レイヤ40との機能分担をした際には、システムに応じて変更が必要になるのはほぼ、システム状態判定部18−xに限定される。逆に、システム状態判定部18−xをシステムに応じて設定することで、柔軟で複雑な状態認識が可能になる。
図5は、図3の処理フローにおける各処理を、通信サイクルに合わせてノード間で同期して実行する場合の、処理進行の一例である。図3の処理フローは繰り返し実行されるが、1回の実行を1ラウンドと呼ぶことにする。通信サイクルi(iは整数)ではラウンドr(rは整数)のノード状態判定(MON1)とシステム状態判定(MON2)が実行される。通信サイクルi+1では、ラウンドrのノード状態交換(EXT1)とシステム状態交換(EXT2)が実行されると平行して、ラウンドr+1のノード状態判定(MON1)とシステム状態判定(MON2)が実行される。また、ラウンドrのノード状態特定(ID1)とシステム状態特定(ID2)が実行される。通信サイクルi+2では、ラウンドr+1のノード状態交換(EXT1)とシステム状態交換(EXT2)が実行されると平行して、ラウンドr+2のノード状態判定(MON1)とシステム状態判定(MON2)が実行される。また、ラウンドr+1のノード状態特定(ID1)とシステム状態特定(ID2)が実行される。以降の通信サイクルでも同様に処理が進行する。
このようなパイプライン的な処理実行により、各通信サイクルにて、ノード状態特定(ID1)とシステム状態特定(ID2)の結果を得ることができる。
以下では、システム状態特定の処理例として、システム開始を取り上げ説明する。具体的には、各ノードが初期診断を行った後、制御を開始するタイミングを決める処理である。
図6はシステム開始に関係する、ノードの詳細な状態遷移図とシステム状態遷移図の一部である。ノード詳細状態は対象ノードxに対する状態認識であり、各ノード(ノード1〜n)について状態が認識し管理される。ノード詳細状態もシステム状態も、各ノードがそれぞれ個別に認識し管理している。
ノード詳細状態遷移にて、全てのノードは最初に初期状態61−xにある。遷移条件N1は、ノード状態特定(ID1)にて対象ノードxの正常(異常がないこと)が確認されることである。遷移条件N1が満たされると、対象ノードxの状態は初期状態61−xから正常62−xとなる。遷移条件N2は、ノード状態特定(ID1)にて対象ノードxの異常が確認されることである。遷移条件N2が満たされると、対象ノードxの状態は正常62−xから異常63−xとなる。遷移条件N3は、システム状態特定(ID2)にて対象ノードxの起動不可についてノード間で合意が取れる(認識が一致化する)ことである。具体的には例えば、システム状態特定(ID2)にて多数決処理を実行することができ、起動不可と判定するノードが過半数となることである。各ノードはノード状態特定(ID1)にて、初期状態61−xにある対象ノードxの異常を所定回数(ラウンド)pの間連続して確認すると、システム状態判定(MON2)にて対象ノードxを起動不可と判定する。遷移条件N3が満たされると、対象ノードxの状態は初期状態61−xから起動不可64−xとなる。
システム状態は最初に初期状態65にある。遷移条件S1は、全てのノードに関するノード詳細状態が初期状態61−xでなくなることである。遷移条件S1が満たされると、システム状態は初期状態65から正常66となる。この遷移はシステム開始(制御開始)を意味する。システム状態に対する認識はノード間で一致化されているので、システム開始のタイミングもノード間で一致化される。システム開始後は、各ノードに対するノード詳細状態の認識に応じて、各ノードが自律的に制御モードを選択し実行する。所定回数pは、システム開始までの最大待ち時間を決定するため、pの値を変更することでシステム開始時に許容する待ち時間を調整し、一定時間以内にシステムを開始することができる。
以上の状態遷移に関する処理により、各ノードはノード詳細状態とシステム詳細状態を共有し、安定してシステムを開始できる。
図2のステアバイワイヤに上記のシステム開始処理を適用した場合の、システム挙動の例を以下に示す。電源投入により各ECU(21−1〜4)が起動を試みるが、ECU1(21−1)は故障により起動できないのに対し、ECU2〜4(21−2〜4)は起動成功し、初期診断を完了してそれぞれのタイミングでシステム開始の待機に入ったとする。ECU2〜4はシステム開始待機に入った時点で、ネットワーク25上で通信できているので、ノード詳細状態は正常(62−2〜4)と互いに認識する。これに対し、ECU1はECU2〜4から所定時間後に、システム状態判定(MON2)により起動不可と判定され、さらにシステム状態特定(ID2)で合意が取れ、起動不可64−1と見なされる。これにより遷移条件S1が満たされ、システム状態は正常66となり、起動したECU2〜4にてステアリング制御が開始される。このとき、ECU2〜4はECU1の起動不可を特定しているため、通常制御ではなくバックアップ制御を実施する。この場合のバックアップ制御として例えば、ECU2が検出したハンドル26操作量を、ECU3〜4はネットワーク25から直接取り込み、比例制御のような簡易制御を行う方法がある。もしECU1がシステム開始後に起動しても、システム状態特定(ID2)により自ノードが他ノードから起動不可と認識されていることを知るので、シャットダウンし制御を乱さないようにすることもできる。
以上の結果、あるECUが故障した場合でも残りのECUは故障ECUの起動を待ち続けることなく、一定時間以内に足並みを揃えてシステム(制御)を開始することができ、適切な制御モードを選択することができる。
図7は、上記のシステム開始処理を実現するための、図6とは異なるノード詳細状態遷移とシステム状態遷移である。各ノードは初期化完了して一定時間経過した後、正常62−xであるノードが所定数ある場合、システム状態判定(MON2)にてシステム開始可能を判定する。遷移条件S2は、システム状態特定(ID2)にてシステム開始可否について合意が取れること、である。遷移条件S2が満たされると、システム状態は初期状態65から正常66となる。遷移条件N4は、ノードが初期状態61−xにある際に、遷移条件S2が成立すること、である。遷移条件N4が成立すると、ノード詳細状態は初期状態61−xから異常71−xになる。この異常71−x状態は、起動不可を含む。
システム上には、図6の状態遷移管理を行うノードと、図7の状態遷移管理を行うノードが混在しても良い。この場合、遷移条件S2は、遷移条件S1が成立すること、とすればよい。また1つのノード内で、図6のノード詳細状態管理を適用する対象ノードと、図7のノード詳細状態管理を適用する対象ノードとを分けても良い。このように柔軟なシステム構成を取る事が可能であるが、状態管理部の差異は上位レイヤ40で吸収できる。
図8はシステム状態特定の処理フローであり、図3と異なるもう1つの処理方法である。このフロー中の処理は、各ノードがネットワーク100を介して相互に通信し同期を取って進められる。
まずステップ81にて、ノード状態判定部15−xは、各ノードについての状態を自ノード単独で判定する(MON1)。次にステップ82にて、ノード状態交換部16−xは、ステップ81で得られたノード状態判定結果を、I/F13−xを利用して各ノード間で交換する(EXD1)。次にステップ83にて、ノード状態特定部17−xは、ステップ82で各ノードに集約されたノード状態判定結果から、多数決処理などにより各ノードの状態を特定する(ID1)。
次にステップ84にてシステム状態判定部は、ステップ83で得られたノード状態特定結果を入力すなわち判断材料の1つとし、システム状態を自ノード単独で判定する(MON2)。次にステップ85にてシステム状態交換部19−xは、ステップ84で得られたシステム状態判定結果を、I/F13−xを利用して各ノード間で交換する(EXD2)。次にステップ86にてシステム状態特定部20−xは、ステップ85で各ノードに集約されたシステム状態判定結果から、多数決処理などによりシステム状態を特定する(ID2)。
図9は、図8の処理フローを実施した場合のデータフローである。システム状態判定部への入力がノード状態判定(MON1)結果ではなく、ノード状態特定(ID1)結果である点が、図3と異なる。ノード状態特定結果は、ノード状態判定結果より信頼性が高いので、システム状態特定(ID2)結果は、図3より図8の処理フローの方が信頼性は高くなる。
図10は、図8の処理フローにおける各処理を、通信サイクルに合わせてノード間で同期して繰り返し実行する場合の、処理進行の一例である。通信サイクルiではラウンドrのノード状態判定(MON1)が実行される。通信サイクルi+1では、ラウンドrのノード状態交換(EXT1)が実行されると平行して、ラウンドr+1のノード状態判定(MON1)が実行される。また、ラウンドrのノード状態特定(ID1)とその結果を入力とするシステム状態判定(MON2)が実行される。通信サイクルi+2では、ラウンドrのシステム状態交換(EXT2)と、ラウンドr+1のノード状態交換(EXT1)が実行されると平行して、ラウンドr+2のノード状態判定(MON1)が実行される。また、ラウンドrのシステム状態特定(ID2)と、ラウンドr+1のノード状態特定(ID1)とその結果を入力とするシステム状態判定(MON2)が実行される。以降の通信サイクルでも同様の処理が継続される。
このようなパイプライン的な処理実行により、各通信サイクルにて、ノード状態特定(ID1)とシステム状態特定(ID2)の結果を得ることができる。
以下では、システム状態特定の処理例として、システム終了を取り上げ説明する。図11はシステム終了に関係する、ノード詳細状態とシステム状態の遷移図の一部である。ここではシステム終了の条件として、遷移条件S3とS4を考慮している。遷移条件S3は、ノード詳細状態が異常63−xであるノードが所定数以上になること、である。遷移条件S4は、システム終了に関してシステム状態特定(ID2)にて合意が成立すること、である。S3とS4のいずれかが成立すると、システム状態は正常66から終了121に移り、各ノードは終了処理を行い、システムを停止する。
図2のステアバイワイヤに上記のシステム終了処理を適用した場合の、システム挙動の例を以下に示す。ECU1(21−1)は自己診断機能によりシステム運用をこれ以上継続するのは危険だと判断したとする。ECU1はI/F13を介し、システム終了要求をECU2〜4(21−2〜4)に対し送信する。各ECUはノード状態判定(MON1)にて、ECU1がシステム終了要求を出していること、言い換えると、ECU1がシステム終了要求を出す状態であることを認識する。次に各ECUは、システム状態判定(MON2)にて、システム終了要求に応じるか否かを決定する。この決定内容をECU間で交換し(EXT2)、確定する(ID2)。これによりシステム状態特定(ID2)の結果がシステム終了となる場合には、遷移条件S4が成立する。以上の結果、必要時にシステム終了を確実に実施することができる。
以下では、システム状態特定の処理例として、あるノードがシステム運用中に途中から参加するケースを取り上げ説明する。図12はシステム終了に関係する、ノード詳細状態とシステム状態の遷移図の一部である。ここではノード詳細状態として異常63−xから正常62−xに戻ることを仕様上認めている。その遷移条件N5は、ノード状態特定(ID1)にて対象ノードxの正常が確認されたこと、でよい。または、各ノードはノード状態判定(MON1)もしくはノード状態特定(ID1)にて対象ノードxの正常を確認すると、対象ノードxについてシステムへの再参加を認めるか否かをシステム状態判定(MON2)にて判断することとして、そのシステム再参加可否についてシステム状態特定(ID2)にて合意が取れ、その結果が再参加可のとき、としても良い。
システムの遷移条件S5は、ノード詳細状態がECU1については異常63−xとなり、ECU2〜4については正常62−xとなること、である。遷移条件S6は、ECU1〜4すべてについてノード詳細状態が正常62−xとなること、である。
ECU1〜4の状態が正常62−xであるとき、システム状態は通常制御モード121である。このときに、ECU1が動作不良を起こし、リセットしたとする。このときECU2〜4はノード状態特定(ID1)からECU1の異常を認識し、ECU1の状態を異常63−xとする。これにより遷移条件S5が成立し、システム状態は通常制御モード121から、ECU2〜4によるバックアップ制御モード122に遷移し、ECU2〜4はバックアップ制御モードに切り替える。その後、ECU1のリセットが完了し再起動すると、ECU2〜4はノード状態特定(ID1)からECU1の正常を認識し、ECU1の状態を正常62−xとする。さらにECU2〜4はシステム状態判定(MON2)でECU1の再参加を許可する判断を行い、システム状態特定(ID2)で合意する。これにより遷移条件S6が成立し、システム状態はバックアップ制御モード122から、通常制御モード121に遷移し、ECU1〜4は通常制御モードを同期して実行する。以上の結果、あるノードのシステムへの途中参加を許容しつつ、高信頼な制御モード選択を可能にする。
図13は本実施例の他の実施例をなすシステムである、電気自動車の一部の概略構成を示している。システムはECU1〜4(131−1〜4)の4ノード構成であり、各ECUはネットワーク135で接続されている。ECU3〜4はそれぞれインバータ132−3〜4を持ち、モータ133−3〜4を制御している。モータ133−3〜4はそれぞれ、駆動力伝達機構134−3〜4を介して車軸138−1〜2を回転させ、前輪139−1〜2と後輪139−3〜4を駆動する。インバータ132−3には電力回生が可能であり、インバータ132−4は回生をしないとする。ECU1は、運転手によるアクセルペダル136とブレーキペダル137の操作量をセンサから検出し、ECU3〜4に対する制御指令値を計算して、ネットワーク25に送信する。ECU2はモータ133−3〜4の駆動動力を発生させるためのバッテリー電源138に対し残量などの状態を監視し、その結果をネットワーク25に送信する。ECU3〜4はECU1からの制御指令に基づき、インバータ132−3〜4およびモータ133−3〜4を制御する。
以下では、システム状態特定の処理例として、あるノードがシステム運用中に離脱するケースを取り上げ説明する。図14はノード途中離脱に関係する、ECU3(131−3)およびECU4(131−4)のノード詳細状態と、システム状態の遷移図の一部である。インバータ132−3が発熱により温度上昇したとき、ECU3はインバータ132−3の温度異常を検出し、インバータ132−3を一時的に休止させる必要性を判断し、インバータ休止要求をネットワーク135に送信する。各ECUはノード状態判定(MON1)にて、インバータ132−3の休止要求(ECU3が休止要求を発する状態にあること)を認識する。各ECUはシステム状態判定(MON2)にて、インバータ132−3の休止可否を判断し、システム状態特定(ID2)にて合意する。ECU3の詳細状態にて、遷移条件N6は前記のインバータ休止要求に関してシステム状態特定(ID2)にて休止可となること、である。遷移条件N6が成立すると、ECU3の状態は正常141から一時休止142となり、ECU3はインバータ132−3を休止させる。また、システム状態の遷移条件S7は、ECU3が一時休止状態142となり、他ECUが正常状態であること、である。遷移条件S7が成立すると、システム状態は通常制御モード145からバックアップ制御モード146に遷移し、ECU1,2,4は後輪駆動のみを前提として車両制御を行う。
以下ではノード途中離脱の別のケースを、図14を用いて説明する。各ECUは、ECU2から送信されるバッテリー電源138の残量を受信し、その残量が所定の閾値を下回ったとき、ノード状態判定(MON1)にてバッテリー電源残量低下(ECU2が残量低下を検出していること)を認識し、ノード状態特定(ID1)により確定する。ECU1は電力消費量を抑える必要性を判断し、低消費電力モードへの切替要求を各ECUに発する。各ノードはECU1からの切替要求を受けて、低消費電力モードへの切替可否を判断する。このECU1による切替要求の判断から、各ECUによる切替可否の判断までが、一連のシステム状態判定(MON2)と言う事ができる。各ECUはシステム状態特定(ID2)にて、低消費電力モードへの切替可否を確定する。この確定条件は、ECU1〜4がすべて切替可と判断することとする。
ECU4の詳細状態における遷移条件N7、およびシステム状態の遷移条件S8は、低消費電力モードへ切替可であることが、システム状態特定(ID2)にて合意されることである。このとき、ECU4は正常状態143からスリープ状態144に遷移し、ほとんど電力を消費しなくなる。システム状態は通常制御モード145から低消費電力モード147になり、ECU1〜3は前輪駆動のみを前提として車両制御を行う。
以上の結果、あるノードの途中離脱を許容しつつ、高信頼な制御モード選択を可能にする。
分散システムを応用した制御システムは、自動車や建設機械,ファクトリーオートメーションなどの幅広い工業分野で活用されており、今後も適用範囲の拡大が期待される。それらの分散型制御システムに本発明を適用することで、ノード間のシステム状態に関する認識不一致を防止し、安定したシステム運用が可能になる。また本発明はミドルウェアに実装することで、特別な装置の追加なしに低コストに実施できる。
10 ノード
11 CPU
12 メインメモリ
13 I/F
14 記憶装置
100 ネットワーク

Claims (1)

  1. 複数のノードがネットワークを介して接続される分散システムにおいて、
    前記複数のノードの各々は、
    前記ネットワークの通信状態又は通信データから各ノードの障害の有無を示すノード状態を判定するノード状態判定部と、
    前記ノード状態判定部によるノード判定結果を、前記ノード間で前記ネットワークを介した送受信により交換するノード状態交換部と、
    前記ノード状態交換部が集約したノード状態判定結果から前記ノード状態を特定するノード状態特定部と、
    前記複数のノードの制御モードを示すシステム状態を判定するシステム状態判定部と、
    前記システム状態判定部によるシステム状態判定結果を、前記ノード間で前記ネットワークを介した送受信により交換するシステム状態交換部と、
    前記状態交換部が集約したシステム状態判定結果からシステム状態を特定するシステム状態特定部と、を備え、
    前記システム状態判定部は、システム状態を判定するための入力として、前記ノード状態特定部によるノード状態特定結果を利用することを特徴とする分散システム。
JP2009067237A 2009-03-19 2009-03-19 分散システム Active JP5260369B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009067237A JP5260369B2 (ja) 2009-03-19 2009-03-19 分散システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009067237A JP5260369B2 (ja) 2009-03-19 2009-03-19 分散システム

Publications (3)

Publication Number Publication Date
JP2010220141A JP2010220141A (ja) 2010-09-30
JP2010220141A5 JP2010220141A5 (ja) 2011-04-21
JP5260369B2 true JP5260369B2 (ja) 2013-08-14

Family

ID=42978446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009067237A Active JP5260369B2 (ja) 2009-03-19 2009-03-19 分散システム

Country Status (1)

Country Link
JP (1) JP5260369B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5651442B2 (ja) * 2010-11-29 2015-01-14 矢崎総業株式会社 動作支援装置、電子機器、電子制御装置、及び、制御システム
EP3443432A4 (en) * 2016-04-12 2020-04-01 Guardknox Cyber Technologies Ltd. SPECIALLY PROGRAMMED COMPUTER SYSTEMS WITH ASSOCIATED DEVICES CONFIGURED TO IMPLEMENT SECURE LOCKINGS AND METHODS OF USING THEM

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000022698A (ja) * 1998-06-30 2000-01-21 Yazaki Corp 車両ネットワークシステム及び車両機器状態制御方法
JP4871687B2 (ja) * 2005-10-03 2012-02-08 日立オートモティブシステムズ株式会社 車両制御システム
JP2008097164A (ja) * 2006-10-10 2008-04-24 Hitachi Ltd 複数の機能要素から構成されるシステムの故障監視方法

Also Published As

Publication number Publication date
JP2010220141A (ja) 2010-09-30

Similar Documents

Publication Publication Date Title
US9934111B2 (en) Control and data transmission system, process device, and method for redundant process control with decentralized redundancy
JP2005302024A (ja) アービトレーション方法、システム、およびプログラム記憶装置(出力インターロック機能および自動切り替え機能による冗長コントローラのためのアービトレーション方法およびシステム)
WO2015166953A1 (ja) 設計支援装置、設計支援方法およびプログラム
EP2984528B1 (en) Control of aircraft systems with at least two remote data concentrators for control of an aircraft system component
CN104570721A (zh) 冗余控制器主从状态确定方法
US10592356B2 (en) Microcontroller and electronic control unit
JP5260369B2 (ja) 分散システム
WO2018163665A1 (ja) 制御装置および制御方法
JP7023722B2 (ja) 二重化制御システム
JP4993208B2 (ja) 産業用コントローラ用機器
JP4899615B2 (ja) 二重化プログラマブルコントローラの等値化方式
JP2003296133A (ja) コントローラ
CN109491842B (zh) 用于故障安全计算系统的模块扩展的信号配对
CN113741166B (zh) 一种基于多cpu工业系统控制器的工控逻辑冗余实现方法
KR20140092132A (ko) 알티오에스 마이컴의 오에스 태스크의 모니터링 방법
JP5575086B2 (ja) 電子制御装置
JP2009259134A (ja) 安全plc
JP4613019B2 (ja) コンピュータシステム
JPH1091603A (ja) デュアルcpuシステムにおける立ち上げ同期確立方法及び異常監視方法
JP2998804B2 (ja) マルチマイクロプロセッサシステム
JP6024604B2 (ja) 通信装置
JPH11175108A (ja) 二重化コンピュータ装置
JP2016009499A (ja) 相互接続を管理する方法およびシステム
JP2005148890A (ja) プロセッサ監視装置
JP2023525457A (ja) 自律走行する車両、またはロボットの制御

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5260369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350