説明

制御システム

【課題】一部の制御装置にて障害が発生した場合でも、代替処理を実行してシステム全体の機能を維持してシステム全体の信頼性を向上させることができる制御システムを提供する。
【解決手段】データを入出力する各種センサ1a,1b,…及びアクチュエータ2a,2b,…などの各機器は、IOU5a,5b,5cに接続されてIOU5a,5b,5cからCANバス7にてデータを送受信する構成とし、CANバス7に接続されて相互にデータを送受信して連携して処理を実行するECU3a,3b,3cのいずれかにて障害が発生した場合、GW4にて障害発生を検知し、各ECU3a,3b,3cから予め送信されて記憶部41に記憶してある代替処理用制御プログラム44a,44b,44cを実行して代替処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多数の機器を制御して、全体として多様な機能を実現させる制御システムのフェールセーフ機能に関し、一部の制御装置にて障害が発生した場合でも、代替処理を実行してシステム全体の機能を維持してシステム全体の信頼性をより向上させることができる制御システムに関する。
【背景技術】
【0002】
近年では、多数の機器を制御して、全体として多様な機能を実現させる制御システムが普及している。機器には夫々制御装置が接続され、更に各制御装置に通信手段を設けて相互にデータを交換させ、個々の制御装置が独立した制御を行なうのではなく、他の制御装置などを介して得られるデータに基づいて自身に対応する制御対象の機器を制御するなど、連携して制御を実行する制御システムが各分野で利用されている。
【0003】
特に車両の分野では、各種機能に対応するアクチュエータ又はセンサなどの機器が多数車内に配され、各機器を制御する制御装置としてECU(Electronic Control Unit)が各々に対応して配されて動作している。車両の制御は機械的制御から電気的制御へ移行しつつあり、更に、制御システムによって実現される機能の特化、実現できる機能の増加及び多様化が進んでいる。これにより、車両に搭載されるアクチュエータ、センサなどの機器が増加し、制御装置の処理は分散される傾向にある。
【0004】
このように多数の制御装置が連携して各種機能を実現する場合、一部の制御装置にて障害が発生したことにより、システム全体として機能停止状態となる虞がある。特に車両の分野では、システム全体の機能が停止することは必ず回避し、少なくともフェールセーフにてシステム全体の機能を維持し、安全性を保持しながら復旧することが望ましい。
【0005】
システムの障害発生回避及び高信頼性に関しては、例えば特許文献1に、分散した複数のモジュールのプロセッサによるトランザクション処理に関し、いずれかのモジュールが障害となった場合、他のモジュールにて障害が発生したモジュールのトランザクション処理を代替して再開する発明が開示されている。
【0006】
特許文献2では、車両制御システムのフェールセーフ機能に関し、自ノードの状態を判定して判定結果を送受信し、障害が発生したノードを特定し、他のノードにてバックアップを行うことを可能とし、各ノードの状態を判定する特定のマスタノードなどを不要とすることができる発明が開示されている。なお、特許文献3では、障害の検出及び復帰の検知については開示されているが、障害発生中のバックアップとしては、主に通信に関してシステムの多重化にて実現されている。
【0007】
特許文献3では、複数の論理構成要素にて構成される論理回路にて、一部の論理処理部にて障害が発生した場合に、正常な論理構成要素を再構成して予備論理処理部として動作させるか、又は予備の論理処理部を予め用意しておいて予備論理処理部として動作させて自己復旧を可能とする発明が開示されている。これに対して特許文献4では、特許文献3に開示されている発明を車両制御システムに適用するために、論理処理部と全く同一の処理を行わせることなく、最低限の一部の処理を代替して実現できるように構成して、装置の小型化且つ低コスト化を図る発明が開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平8−278909号公報
【特許文献2】特開2007−126127号公報
【特許文献3】特開平8−44581号公報
【特許文献4】特開2000−081991号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
従来の制御システムでは、アクチュエータ又はセンサなどの機器は、アクチュエータを制御する制御装置、センサから取得されるデータを使用して演算処理、制御処理を実行する制御装置に直接的に接続され、他の制御装置へも当該制御装置からネットワークを介してデータが送信される構成とした場合が多い。
【0010】
この場合、一部の制御装置に障害が発生したとしても物理的な接続を再構成するには、予め配線を二重化しておくなどの物理的な冗長構成が必要であり、配線が多くなるなどの問題となる。特に車両における制御システムでは、高信頼性が望まれると共に、省線化、軽量化も重要な課題であるから、物理的な冗長構成とせずに信頼性が高いシステムが構築されることが望ましい。
【0011】
本発明は斯かる事情に鑑みてなされたものであり、一部の制御装置にて障害が発生した場合でも、代替処理を実行してシステム全体の機能を維持してシステム全体の信頼性を向上させることができる制御システムを提供することを目的とする。
【課題を解決するための手段】
【0012】
第1発明に係る制御システムは、データを入出力する複数の機器と、該複数の機器が接続されており、各機器が入出力するデータを送受信する一又は複数の入出力装置と、該入出力装置が接続される通信線と、該通信線に接続されており前記入出力装置から送信される各機器からのデータを使用するか、又は他の装置から送信されるデータを使用して前記入出力装置を介してデータを機器へ与えて機器の動作を制御する制御処理を実行する複数の制御装置とを含む制御システムであって、前記複数の制御装置の内、いずれかの制御装置にて制御処理を実行できない障害発生を検知する障害検知手段と、該障害検知手段が障害発生を検知した場合、障害が発生した制御装置での制御処理を代替実行する代替処理実行手段とを備えることを特徴とする。
【0013】
第2発明に係る制御システムは、データを入出力する複数の機器と、該複数の機器が接続されており、各機器から入力されるデータを送受信する一又は複数の入出力装置と、該一又は複数の入出力装置が接続される第1の通信線と、前記複数の機器のいずれかからのデータを受信して使用するか、又は他の装置から送信されるデータを使用して前記機器の動作を制御するためのデータを送信する複数の制御装置と、該複数の制御装置が接続される第2の通信線と、第1及び第2の通信線との間でのデータの送受信を中継する中継装置とを含む制御システムであって、前記複数の制御装置の内、いずれかの制御装置にて制御処理を実行できない障害発生を検知する障害検知手段と、該障害検知手段が障害発生を検知した場合、障害が発生した制御装置での制御処理を代替実行する代替処理実行手段とを備えることを特徴とする。
【0014】
本発明では、データを入出力する複数の機器からのデータは、各機器が接続される入出力装置から通信線へ送信され、各機器を制御するために送信されるデータは入出力装置が通信線から受信して各機器へ与える。つまり、従来は機器を制御するか、又は機器からのデータを使用する制御装置に直接接続されていた機器は、制御装置から分離され入出力装置を介して通信線へ接続される。これにより、機器が正常であっても当該機器を制御する制御装置にて障害発生した場合に、機器からのデータがシステムから断絶される事態を回避できる。しかも、入出力装置にて各機器からのデータを送受信することにより、各機器から任意のタイミングに入出力されるデータの制御装置との間の送受信を入出力装置にて適切なタイミング、適切な精度にて送受信することが可能となる。
複数の機器からのシステムへのデータの送受信と、システムに含まれる制御装置の通信線への接続とを分離することにより、いずれかの制御装置にて障害が発生した場合に、他の手段にて機器とデータを送受信して制御処理を代替可能である。本発明では、システムに含まれる複数の制御装置のいずれかにおける障害発生を検知し、障害発生が検知された場合に代替処理実行手段にて、制御処理を代替実行する。
これにより、本発明では、一部の制御装置にて障害が発生した場合であっても、当該制御装置が関係する機器からのデータを使用できなくなる事態も回避でき、制御装置の代替処理を実行することでシステム全体の機能を維持することが可能である。
【0015】
本発明では更に、複数の機器が接続される入出力装置が接続される第1の通信線と、各機器を制御するか又は機器からのデータを使用する複数の制御装置が接続される第2の通信線とを分離してもよい。
制御装置の内のいずれかにて障害が発生した場合に、代替処理実行手段にて代替処理が実行され、障害が発生した場合に他の制御装置にて代替実行してシステム全体の機能を維持することが可能である。また、入出力装置が接続される通信線と、制御装置が接続される通信線とを分離して中継装置にて中継する構成とすることにより、通信線間を結ぶ中継装置にて第1及び第2の通信線でのデータの送受信タイミングを更に効率よく調整することが可能となると共に、入出力装置は、代替実行処理を行う手段へのデータの送受信先を認識することなく、中継装置に送受信先の特定を任せることが可能となり、各装置の構成の簡易化、処理負荷の軽減化を図ることも可能である。
【0016】
第3発明に係る制御システムは、第1又は第2発明における前記複数の制御装置は、自身に障害が発生した場合の代替処理を可能とする代替処理データを前記代替処理実行手段へ予め送信する手段を備え、前記代替処理実行手段は、各制御装置から送信された代替処理データを記録手段に記録する手段を備え、前記障害検知手段が障害発生を検知した場合、障害が発生した制御装置を特定し、特定された制御装置から送信された代替処理データを前記記録手段から読み出して代替処理を実行するようにしてあることを特徴とする。
【0017】
本発明では、各制御装置が自身に障害が発生した場合の代替処理を可能とする代替処理データ、例えばアプリケーションプログラムの複製、処理を簡易化したプログラムなどを自身の初期化処理時、起動時などに代替処理実行手段へ送信しておき、代替処理実行手段にて各制御装置からの代替処理データを記録しておく。そして、障害が発生してこれを検知した場合に、代替処理実行手段は障害が発生した制御装置から送信されて記録しておいたデータを実行する。システム設計の段階から、代替処理実行手段にて予め各制御装置の代替処理を可能とする代替処理データを登録しておく構成でもよいが、動的に集める構成により、多様なシステム設計に対応させることができる。
なお、各制御装置は、自身にて障害の発生が予見できる場合、当該障害発生を予見した時点で代替処理実行手段へ代替処理データを送信する構成としてもよい。この場合、代替処理実行手段にて記録手段の資源を節約することも可能である。
【0018】
第4発明に係る制御システムは、第1乃至第3の発明のいずれかにおいて、各機器からのデータ及び機器へ与えられるデータには、データを夫々識別する識別情報が付与されて前記通信線にて送受信されるようにしてあり、前記代替処理実行手段は、制御処理によりデータを通信線へ送信する場合、元の識別情報とは異なる代替処理によるデータであることを示す識別情報を付与して通信線へ送信するようにしてあることを特徴とする。
【0019】
本発明では、各機器が入出力装置を介して各制御装置と送受信しあうデータには、データを各別に識別するための識別情報が付与されて送受信されるようにしてあり、障害が発生して代替処理実行手段によって代替処理が行なわれることでデータが送信される場合には、当該データには代替処理によって送信されるデータであることを示す識別情報が付与される。これにより、当該データを使用する他の制御装置、各機器、又は入出力装置は、受信したまたは与えられたデータに付与されている識別情報により、代替処理が実行中であることを各自で認識することが可能である。代替処理によって送信されるデータなのか否かを識別できるから、障害が発生していた制御装置が復旧してデータの送信を再開した場合に、当該制御装置が復旧したことを各自が認識することが可能となり、システム全体として復旧への対応を連携して実行することができる。
【0020】
第5発明に係る制御システムは、第1乃至第4発明のいずれかにおける前記複数の制御装置は夫々、自身の動作状況を示す情報を定期的に通信線へ送信するようにしてあり、前記障害検知手段は、各制御装置から送信される動作状況を示す情報に基づき、障害発生を検知するようにしてあることを特徴とする。
【0021】
本発明では、各制御装置から定期的に通信線へ送信される各自の動作状況を示す情報に基づき、障害発生が検知される。定期的に送信するようにしてあるから、情報が示す動作状況の内容のみならず、当該情報を送信しない制御装置で障害が発生していると検知することも可能である。同一の通信線に接続されている装置間で各制御装置の動作状況を共有することができ、障害が発生したことの判断を複数の装置にて確実にすることができる。
【0022】
第6発明に係る制御システムは、第1乃至第4発明のいずれかにおける前記障害検知手段は、各制御装置へ動作状況の問い合わせを送信する手段と、問い合わせへの応答を受信する手段とを備え、各制御装置からの応答に基づき、障害発生を検知するようにしてあることを特徴とする。
【0023】
本発明では、障害検知手段が各制御装置へ問い合わせを行ない、問い合わせへの応答により各制御装置の動作状況を把握する。応答の内容から判断してもよいし、応答がない制御装置にて障害が発生していると検知することも可能である。これにより、問い合わせへの応答にて適宜必要な時点で動作状況を把握するから、各制御装置における処理負荷、及び通信線における通信負荷をより軽減することを可能とする。
【0024】
第7発明に係る制御システムは、第5又は第6発明において、前記障害検知手段が障害発生を検知した場合、各制御装置の動作状況の比較に基づき、ハードウェア資源の使用率が他の制御装置よりも低い制御装置を特定する手段と、該手段が特定した制御装置を前記代替処理実行手段として動作させる手段とを備えることを特徴とする。
【0025】
本発明では、各制御装置の動作状況に基づき、ハードウェア資源の使用率が他よりも低く、動作負荷が軽いか又はリソースに余裕が有る制御装置に代替処理を実行させる。これにより、代替処理を他の装置に実行させてシステム全体の信頼性を向上できると共に、システム全体の処理負荷を均等にして効率化することができる。
【0026】
第8発明に係る制御システムは、第1乃至第7発明のいずれかにおける前記複数の制御装置は夫々、他の制御装置における障害の発生を検知する手段と、該手段により障害の発生を検知した場合、障害発生通知を通信線へ出力する手段とを備え、前記障害検知手段は、障害の発生を検知した場合、複数の制御装置の内の少なくとも1つの制御装置から障害発生通知を受信したときに、障害が発生したことを確定するようにしてあることを特徴とする。
【0027】
本発明では、各制御装置は、連携処理のために定期的に交換するデータなどの送受信により、又は上述の発明で相互に送信する動作状況を示す情報に基づき、相互に障害の発生を検知する手段を有して、他の制御装置における障害の発生を検知した場合に更に他の制御装置へ障害発生を通知する。障害検知手段は、各制御装置の動作状況を収集するなどして自身にて障害発生を検知した場合、他の制御装置からも障害発生通知を受信した時に初めて、障害が発生したことを確定する。これにより、誤って障害発生を検知する可能性を低減し、より信頼性を向上させることが可能となる。
【0028】
第9発明に係る制御システムは、第1乃至第8発明のいずれかにおいて、障害が発生した制御装置による制御処理の復旧を検知する復旧検知手段を更に備え、該復旧検知手段が復旧を検知した場合、前記代替処理実行手段は代替処理を停止するようにしてあることを特徴とする。
【0029】
本発明では、一部の制御装置に障害が発生したことを検知して代替処理を実行している場合に、当該制御装置が自己復旧機能などにより復旧したときには、これを検知して元のようにシステムが復旧される。これにより、システムの完全な復旧を可能とし、信頼性を向上させることができる。
【0030】
第10発明に係る制御システムは、第9発明における前記複数の制御装置は夫々、他の制御装置にて発生した障害の復旧を検知する手段と、該手段により復旧を検知した場合、障害復旧通知を通信線へ出力する手段とを備え、前記復旧検知手段は、障害の復旧を検知した場合、複数の制御装置の内の少なくとも1つの制御装置から障害復旧通知を受信したとき、障害が復旧したことを確定するようにしてあることを特徴とする。
【0031】
本発明では、復旧検知の際には、各制御装置は、連携処理のために定期的に交換するデータなどの送受信により、又は上述の発明で相互に送信する動作状況を示す情報に基づき、相互に復旧を検知する手段を有して、他の制御装置における障害の復旧を検知した場合に更に他の制御装置へ復旧を通知する。そして復旧検知手段では、自身の検知のみならず、他の制御装置でも復旧が検知されたときに初めて障害が復旧したことを確定する。これにより、誤って障害復旧を検知する可能性を低減し、より信頼性を向上させることが可能となる。
【0032】
第11発明に係る制御システムは、第2発明において、前記代替処理実行手段は、前記中継装置が備えることを特徴とする。
【0033】
第12発明に係る制御システムは、第2発明において、前記障害検知手段は、前記中継装置が備えることを特徴とする。
【0034】
本発明では、制御システムにおいて一部の制御装置にて障害が発生した場合に当該制御装置の制御処理を代替して実行する手段、又はいずれかの制御装置における障害発生を検知する障害検知手段若しくは復旧検知手段は、夫々専用の装置が通信線に接続されて実現されても、特定の制御装置で実現されても、機器が直接的に接続される入出力装置で実現されても、あるいは異なる通信線間におけるデータの送受信を中継する中継装置で実現されてもよい。
【0035】
ただし、中継装置はデータの中継の要否を判断して中継する所謂ゲートウェイ機能により、全データを送受信して各データを必要とする各制御装置、又はデータを必要とする各機器が接続されている入出力装置へ必要に応じて送信する機能を有することになるから、中継装置にて実現することにより、他の制御装置などで実現するよりも、制御装置の負荷を軽減することができるなど効率化を図ることができる。
また、中継装置は、各制御装置、及び入出力装置がデータを必要とするタイミングで、必要とするデータのみを送信するために、接続されている全ての通信線に送信されるデータを一旦データベース化して記録してから、データベースから各データを送信する構成が想定できる。この場合、多くのデータを記録していることから、より柔軟な条件で障害の発生を検知でき、各制御装置の動作状況を把握できる。また、記録のためのリソースを他の装置よりも備えているから代替処理データを多く記録することもでき、最低限の構成にて実現するためには、中継装置にて実現されることが望ましい。
【発明の効果】
【0036】
本発明による場合、アクチュエータ、センサなどの各機器と、センサから出力されるデータに基づいてアクチュエータに制御データを与えて制御する制御装置とを含む制御システムで、各機器からのデータのシステムへの入力を、各制御装置を経由せずに入出力装置を介する構成として一部の制御装置にて障害が発生したとしても、各機器のシステムからの離脱を回避することができ、更に当該データを使用する制御処理を他の特定の制御装置、中継装置、又は入出力装置などの装置にて代替して実行し、システム全体の機能を維持することができる。これにより、システム全体の信頼性を向上させることができる。
【0037】
本発明の制御システムを、車両の運転制御に関わる車載制御システムに適用することで、通信し合う連携処理により、車載制御システムにおいて、より高い安全性、信頼性を実現することができる。
【図面の簡単な説明】
【0038】
【図1】実施の形態1における車載制御システムの構成を示す構成図である。
【図2】実施の形態1の車載制御システムを構成するECU及びGWの内部構成、並びに各装置の接続を簡略化して示すブロック図である。
【図3】実施の形態1のECU及びGWによる代替処理データの送受信処理の一例を示すフローチャートである。
【図4】実施の形態1のGWの制御部により実行される処理手順の一例を示すフローチャートである。
【図5】実施の形態1における車載制御システムにて送受信されるデータに付与されるIDの内容例を示す説明図である。
【図6】実施の形態1におけるGWによる障害検知処理の手順の一例を示すフローチャートである。
【図7】実施の形態1におけるGWによる復旧検知処理の手順の一例を示すフローチャートである。
【図8】実施の形態2におけるGWの制御部及びいずれかのECUにより実行される処理手順の一例を示すフローチャートである。
【図9】実施の形態3の車載制御システムを構成するECU、GW、IOUの接続構成を示すブロック図である。
【発明を実施するための形態】
【0039】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、以下に示す実施の形態では、車両に搭載されている多数のアクチュエータ、センサ及びECUを含む車載制御システムに、本発明に係る制御システムを適用した例を挙げて説明する。
【0040】
(実施の形態1)
図1は、実施の形態1における車載制御システムの構成を示す構成図である。実施の形態1における車載制御システムは、車両の前部に搭載された温度センサ若しくはカメラ、タイヤの軸に取り付けられる車輪速センサ、又はヨーレートセンサなどの各種センサ1a,1b,1c,1d,1e,1f,1g,1hと、ブレーキ、ヘッドライト、ドアロックなどの各種アクチュエータ2a,2b,2c,2dと、各種センサ1a,1b,…から得られるデータに基づいてアクチュエータ2a,2b,…の動作を制御するECU3a,3b,3cと、異なるネットワーク間でのデータの送受信を中継するGW(Gate Way)4とを含み、更に、各種センサ1a,1b,…及びアクチュエータ2a,2b,…の入出力をネットワークへ送受信するIOU(Input-Output Unit:入出力ユニット)5a,5b,5cとを含む。
【0041】
各種センサ1a,1b,…及びアクチュエータ2a,2b,…は夫々、信号線6,6,…によりIOU5a,5b,…に接続されている。センサ1a,1b,…及びアクチュエータ2a,2b,…はIOU5a,5b,5cに夫々、ジカ線を介した接続、又はLIN(Local Interconnect Network)により通信が可能な構成としてもよい。
【0042】
ECU3a,3b,3c、GW4、及びIOU5a,5b,5cは夫々、CAN(Controller Area Network)バス7に接続されており、相互に制御用のデータを送受信する。実施の形態1ではECU3a,3b,3c、GW4、及びIOU5a,5b,5c間の接続形態はバス型、通信のプロトコルはCANとする。しかしながら、接続形態はスター型、ディジーチェーン型などでもよく、通信のプロトコルも他の通信プロトコルでよい。
【0043】
IOU5a,5b,5cには夫々、車両内で近傍に配置されているセンサ1a,1b,…とアクチュエータ2a,2b,…とが接続されている。いずれのセンサ1a,1b,…及びアクチュエータ2a,2b,…を同一のIOU5a(又はIOU5b,5c)に接続するかは、物理的距離に基づいて設計されている。図1に示す例では、車両前部の左部分の3つのセンサ1a,1b,1cと、1つのアクチュエータ2aとが近くに配されているので1台のIOU5aに接続されている。車両前部の右部分の3つのセンサ1d,1e,1fと、1つのアクチュエータ2bとが同一のIOU5bに接続され、車両後部の2つのセンサ1g,1hと、2つのアクチュエータ2c,2dとが同一のIOU5cに接続されている。センサ1a,1b,…及びアクチュエータ2a,2b,…が、それらからのデータを使用するか、又は制御するかなどの処理を行なうECU3a,3b,3cに各々直接的に接続される構成でなく、近傍に配置されるIOU5a,5b,5cに接続されて、IOU5a,5b,5cによりECUとの間の入出力が集約される。
【0044】
例えば、以下の説明では、ECU3aはセンサ1a,1dからのデータを使用し、アクチュエータ2a,2bの動作を制御すべく制御データを送信するが、センサ1a,1d及びアクチュエータ2a,2bはいずれも、ECU3aに直接的に接続されるのではない。また、センサ1a,1d、アクチュエータ2a,2bは夫々、別のIOU5a,5bに接続されている。また、ECU3bは、車両の前後部に夫々配置されているセンサ1b,1f,1hからのデータを使用し、アクチュエータ2c,2dの動作を制御すべく制御データを送信する。この場合も、センサ1b,1f,1h、アクチュエータ2c,2dはいずれもECU3bに直接的に接続される構成ではない。
【0045】
そして、後述するように実施の形態1では、ECU3a,3b,3cのいずれかにて障害が発生した場合、当該障害が発生したECUが使用していたデータを使用して障害が発生していたECUが実行していた処理を他の装置が肩代わりして実行する。実施の形態1では、肩代わり即ち代替処理はGW4が行なう。
【0046】
このような構成により、ECU3a,3b,3cのいずれかにて障害が発生した場合に、当該障害が発生したECUにて実行していた処理が続行されると共に、障害が発生したECUにて使用していたセンサ1a,1b,…からの情報が使用できなくなる事態、又は制御されていたアクチュエータ2a,2b,…が制御されなくなる事態を回避できる。
【0047】
比較として例えば、センサ1a,1b,…又はアクチュエータ2a,2b,…が直接的にこれらを使用するECU3a,3b,3cに接続される構成とした場合、ECU3a,3b,3cのいずれかにて障害が発生したときには、当該ECUにて実行されていた処理が停止すると共に、当該ECUに接続されていたセンサ1a,1b,…又はアクチュエータ2a,2b,…を他のECUからも利用できなくなる。
【0048】
また、IOU5a,5b,5cを用いる構成は、機能的には接続されることが望ましいが物理的に距離が遠いセンサ1a,1b,…及びアクチュエータ2a,2b,…とECU3a,3b,3cとの間を信号線6,6,…にて接続するよりも、信号線6,6,…の長さも比較的短くて済む点、省線化に効果的である。特に、図1中の車両前部の左部分及び右部分などは、センサ1a,1b,…などの機器の数が多く、省線化の効果が顕著に現れる。
【0049】
図2は、実施の形態1の車載制御システムを構成するECU3a及びGW4の内部構成、並びに各装置の接続を簡略化して示すブロック図である。センサ1a,1b,…からのセンサが検知した測定値などの情報、及びアクチュエータ2a,2b,…からの制御状態を示す情報は、各々から周期的に出力されるようにしてある。そして、IOU5a,5b,5cは、各センサ1a,1b,…からデータ、又はアクチュエータ2a,2b,…からのデータを周期的にCANバス7へ送信する。GW4も、他のCANバス7(図2では図示せず)を介して図示しない他のセンサから出力された測定値などのデータを周期的にCANバス7へ送信するようにしてある。これにより、各アクチュエータ2a,2b,…を制御するECU3a,3bでは、常時的に最新の内容のデータを取得することができる。
【0050】
ECU3aは、制御部30aと、記憶部31aと、通信部32aとを備える。ECU3b,3cの内部構成はECU3aの内部構成と同様であるので、詳細な説明は省略する。
【0051】
制御部30aには、CPU(Central Processing Unit)を利用する。記憶部31aには、フラッシュメモリ、EEPROM(Electrically Erasable and Programmable Read Only Memory)などの不揮発性メモリが用いられ、制御部30aが読み出して実行する制御プログラム33aが記憶されている。
【0052】
通信部32aは、CANバス7を介した通信を実現する。即ち実施の形態1では通信部32aはCANプロトコルに準じ、CANコントローラ及びCANトランシーバを含む。制御部30aは、通信部32aによりCANバス7を介して他のECU3b,3c、GW4、及びIOU5a,5b,5cとのデータの送受信が可能である。CANバス7を介して送受信されるデータには夫々、データの内容に対応する「CANID」(以下単にIDという)が付与されており、各ECU3a,3b,3cは、自身宛のデータに付与されているIDを予め記憶部31a,31b,31cなどに記憶しており、自身宛以外のデータは受信しないようにしてもよい。
【0053】
なお、ECU3aにおける制御部30a、記憶部31a及び通信部32aの一部(コントローラ)は、マイクロコンピュータとして構成されてもよい。
【0054】
このように構成されるECU3aの制御部30aは、制御プログラム33aに基づき、センサ1a,1dからのデータがIOU5a,5bから送信された場合にこれを受信する処理、受信したデータを用いて演算を行なう処理、演算結果によって得られるデータを他のECU3b,3cで用いられるようにCANバス7へ送信する処理、又はアクチュエータ2a,2bの動作を制御すべく通信部32aによりCANバス7へ送信する処理など、車載制御システムを構成する制御装置としての処理を行なう。
【0055】
ECU3aの制御部30aは、上述の処理に加え、自身に障害が発生した場合にGW4における代替処理を可能とするための代替処理データをGW4へ送信しておく。代替処理データは具体的には、制御プログラム33aの複製、制御プログラム33aの簡易版などである。特有の参照テーブルなどを含んでもよい。
【0056】
また、制御部30aは、定期的に自身の動作状況を示す情報を、通信部32aを介してデータとしてCANバス7へ送信する。なお、GW4から送信される動作状況の問い合わせメッセージを受信した場合に、当該メッセージへの応答として自身の動作状況を示す情報を送信するようにしてもよい。
【0057】
また、ECU3aは制御部30aの処理により、他のECU3b,3cにおける障害の発生を検知する。ECU3a,3b,3cは相互に障害の発生を検知した場合、当該障害が発生したECUを識別する情報を含めて障害発生通知をCANバス7へ送信する。障害発生通知がCANバス7へ送信されることにより、他のECU3c、GW4及びIOU5a,5b,5cにて障害発生を認識することが可能である。
【0058】
障害発生検知については、IOU5a,5b,5cでも検知してもよい。IOU5a,5b,5cは、自身に接続されているアクチュエータ2a,2b,…を制御するためにECU3a,3b,3cのいずれかから周期的に送信されるべき制御データを受信できない場合、制御データの送信元のECUにて障害が発生していると検知し、障害発生を他へ通知する。なお、IOU5a,5b,5cは、センサ1a,1b,…から定期的に出力されるべきデータが出力されない場合、当該センサにて障害が発生したと検知し、障害発生を通知してもよい。
【0059】
また、ECU3aは、自己診断及び自己修復機能により、障害が発生したとしても復旧が可能な場合には復旧する。具体的には例えば、制御部30aは、一のプロセスを実行することによりCPUの使用率が所定の比率以上となるなどの暴走状態となった場合、自身にリセット信号を入力させる。ECU3aの制御部30aは、復旧した後は上述のように制御プログラム33aに基づく車載制御システムを構成する制御装置としての処理を実行すると共に、動作状況を示す情報の定期的送信なども再開する。
【0060】
復旧についても、ECU3aの制御部30aは、他のECU3b,3cにて障害が発生した後に復旧した場合にこれを検知する。制御部30aは、復旧を検知した場合、復旧したECUを識別する情報を含めて復旧通知をCANバス7へ送信する。復旧通知がCANバス7へ送信されることにより、他のECU3c、GW4及びIOU5a,5b,5cにて復旧を認識することが可能である。
【0061】
GW4は、制御部40と、記憶部41と、通信部42とを備える。制御部40には、CPUを利用する。記憶部41には、フラッシュメモリ、EEPROMなどのメモリが用いられ、制御部40が読み出してゲートウェイ機能を実現すべく実行する制御プログラム43のみならず、ECU3a,3b,3cの肩代わりとして代替処理を実行するための代替処理用制御プログラム44a,44b,44cが記憶されている。代替処理を実行するためのデータは制御部40が実行する制御プログラムに限らず、特有のテーブル、制御データなどでもよい。なお、代替処理用制御プログラム44a,44b,44cは、GW4が備えるDRAM(Dynamic Random Access Memory)又はSRAM(Static Random Access Memory)などを用いた一時記憶部に一時的に記憶される構成でもよい。
【0062】
通信部42は、CANバス7を介したCANプロトコルに準じた通信を実現する。CANコントローラ及びCANトランシーバを用いる。制御部40は、通信部42によりCANバスを介してECU3a,3b,3c、及びIOU5a,5b,5cとのデータの送受信が可能である。
【0063】
GW4は、複数の異なるCANバス7に接続されており、CANバス7,7間のデータの送受信を中継するため、記憶部41に記憶されている制御プログラム43に基づき、通信部42にて受信できるデータ、即ちCANバス7に送信されたデータを全て監視する。GW4は、受信するデータに付与されているデータのIDと、中継の要否と、中継先との対応を記憶部41に記憶しておき、各データの中継の要否を判断して必要な場合に中継する所謂ゲートウェイ機能を発揮する。
【0064】
このように構成されるGW4の制御部40は、ゲートウェイ機能に加えて、各ECU3a,3b,3cから代替処理を実現するために送信される代替処理データを受信した場合、記憶部41に記憶しておく。具体的には、例えば制御部40は、各ECU3a,3b,3cから代替処理データとして送信される夫々の制御プログラムの複製を受信し、図2に示しているように、代替処理用制御プログラム44a,44b,44cとして夫々記憶しておく。制御部40は、代替処理データの送信元のECU3a,3b,3cを識別する情報と、記憶部41に記憶した各代替処理データとの対応を記憶しておく。ECU3a,3b,3cのいずれかにて障害が発生した場合、制御部40は当該ECUを特定し、記憶部41に記憶してある対応に基づき、代替処理データを読み出して代替処理を実行する。
【0065】
GW4の制御部40は更に、ゲートウェイ機能に加えて、ECU3a,3b,3cのいずれかにおける障害の発生を検知する。具体的には、GW4の制御部40は、上述のECU3a,3b,3cから定期的に送信される動作状況を示す情報を通信部42にて受信する。そして制御部40は、受信の有無又は受信した情報が示す動作状況の内容によって、ECU3a,3b,3cの夫々における動作状況を認識し、障害が発生しているか否かを判断する。
【0066】
更に制御部40は障害発生の検知とは逆に、ECU3a,3b,3cのいずれかで障害が発生した後の復旧を検知する。制御部40は、ECU3a,3b,3cから定期的に送信される動作状況を示す情報の受信の有無、又は受信した情報が示す動作状況の内容によって、ECU3a,3b,3cの動作状況を認識し、障害が復旧しているか否かを判断する。
【0067】
以下、ECU3a,3b,3c及びGW4による代替処理データの送受信処理、障害発生検知の処理、及び代替処理の実行過程を、フローチャートを参照して説明する。
【0068】
図3は、実施の形態1のECU3a,3b,3c及びGW4による代替処理データの送受信処理の一例を示すフローチャートである。図3では、ECU3b,3cによる処理はECU3aによる処理と同様であるため図示を省略する。
【0069】
ECU3aの制御部30aは、自身に障害が発生した場合に備えて代替処理データを通信部32aにより送信する(ステップS11)。ECU3aにより代替処理データを送信しておくタイミングは、ECU3aの初期化時、最初の起動時、車両の組み立て工程にて車載制御システム全体の点検時など、物理的な接続関係が確定した時点が好ましい。
【0070】
GW4の制御部40は、通信部42によりCANバス7を監視し、代替処理データを受信したか否かを判断する(ステップS12)。制御部40は、代替処理データを受信していないと判断した場合(S12:NO)、処理をステップS12へ戻し、ECU3aからの代替処理データを受信するまで待機する。
【0071】
制御部40は、代替処理データを受信したと判断した場合(S12:YES)、受信した代替処理データを代替処理用制御プログラム44aとして記憶部41に記憶する(ステップS13)。制御部40は、記憶した代替処理データと、代替処理データの送信元のECU3aとの対応を記憶しておく(ステップS14)。なお、GW4は必ずしも全てのECU3a,3b,3cから代替処理データを受信して記憶しておく必要はない。
【0072】
また、制御部40は、初期的な処理として、後述の障害発生又は復旧検知の確認をさせるECU(例えばECU3a)を決定し、ECUの識別情報を登録しておく(ステップS15)。
【0073】
このように、車載制御システムの物理的な接続関係が確定している時点で、ECU3a,3b,3cから代替処理データを受信して記憶しておくことにより、多様なシステム設計に対応して障害発生時の代替処理を実行することができる。なお、図3のフローチャートに示す処理の内、GW4側のステップS12〜S14の処理を常時一定時間毎に実行しており、ECU3a,3b,3cは、自身の障害の発生が予見できたタイミングでステップS11の処理を実行する構成としてもよい。この場合、予めGW4の記憶部41に多数の代替処理データ(本実施の形態では代替処理用制御プログラム)を記憶しておかずともよく、記憶部41の記憶容量を節約できる。
【0074】
図4は、実施の形態1のGW4の制御部40により実行される処理手順の一例を示すフローチャートである。
【0075】
制御部40は、通常のゲートウェイ機能を発揮する処理を実行し(ステップS21)、当該通常処理中に定期的に、後述する障害発生検知処理を実行する(ステップS22)。そして制御部40は、当該処理により障害発生を検知したか否かを判断する(ステップS23)。制御部40は、障害発生を検知していないと判断した場合(S23:NO)、処理をステップS21へ戻して通常処理に戻る。
【0076】
制御部40は、障害発生検知処理により障害発生を検知したと判断した場合(S23:YES)、障害が発生したECUを特定し(ステップS24)、特定したECUから送信されて記憶部41に記憶してある代替処理データを読み出し(ステップS25)、実行する(ステップS26)。このとき、制御部40は、自身のゲートウェイ機能を発揮する通常の処理も継続して実行する。
【0077】
次に制御部40は、障害が発生したECUの復旧検知処理を実行し(ステップS27)、当該処理により障害復旧を検知したか否かを判断する(ステップS28)。制御部40は、障害復旧を検知していないと判断した場合(S28:NO)、処理をステップS26へ戻して代替処理データの実行を続行し、その中で復旧検知処理を実行する。
【0078】
制御部40は、復旧検知処理により障害復旧を検知したと判断した場合(S28:YES)、障害が復旧したECUに対応する代替処理データの実行を停止し(ステップS29)、処理を終了する。
【0079】
これにより、車載制御システムにおいてECU3aにて障害が発生した場合であっても、GW4がECU3aで実行されていた処理を肩代わりするので、車載制御システムの機能は維持される。ECU3aが自身の処理のために使用していたセンサ1aからのデータは、IOU5aを介してCANバス7へ送信されるので、GW4はこれを依然として利用できる。ECU3aに障害が発生したことによって、センサ1aからのデータを取得できず、代替処理を十分に行なえなかった従来の構成と比較して、より確実にシステムの機能を維持することができ、信頼性が向上する。
【0080】
なお、ここでGW4の制御部40は、ECU3aの代替処理を実行することによってCANバス7へ、ECU3aが送信していたデータを送信する場合、当該データに付与するIDは、代替処理用のIDを付与する。
【0081】
図5は、実施の形態1における車載制御システムにて送受信されるデータに付与されるIDの内容例を示す説明図である。ECU3a,3b,3c、GW4及びIOU5a,5b,5cでは、図5の説明図に示すようなデータの内容とIDとの対応を記憶しておき、各データを識別する。
【0082】
図5には、ID「010」が付与されるデータは「A」で識別されるECU3aを送信元とし、例えば送信周期は20msecであり、代替処理が実行される場合にはIDは「011」が付与されて送信されることが示されている。また、ID「020」が付与されるデータは「C」で識別されるECU3cを送信元とし、例えば送信周期は200msecであるが、代替処理が実行される場合にはIDは「021」が付与され、しかも送信周期は400msecで送信されることが示されている。このように、代替処理の実行の場合は、送信されるデータの精度が16ビットから8ビットに低下すること、送信周期が長くなることなどが許容されるとする。
【0083】
また、図5に示す内容例では、「B」で識別されるECU3bが送信元であるデータに付与されているIDは「100」であり、ECU3bにて障害が発生した場合の代替処理用のIDは「101」であることが示されている。例えば、ECU3bから送信されるデータを使用するECU3aの制御部30aは、IDが「100」であるデータを受信する。制御部30aは、ECU3bにて障害が発生してIDが「100」であるデータを受信できなくなった後に、IDが「101」のデータがCANバス7へ送信された場合、これを代替処理の実行によって送信されたデータであると認識し、受信して使用する。後にECU3bの障害が復旧して、ECU3bが再度自身の処理によりIDが「100」であるデータの送信を開始した場合、ECU3aの制御部30aは、CANバス7からIDが「100」のデータを通信部32aにより受信し、ECU3bが復旧したことを検知し、以後は代替処理によって送信されるIDが「101」のデータは使用しない。
【0084】
このように、正常時のIDと代替処理用のIDとを識別可能とすることにより、各データを用いるECU3a,3b,3c、GW4及びIOU5a,5b,5cにて障害発生及び復旧を各自で認識することが可能となり、システム全体で障害及び復旧への対応を連携して迅速に実行することができる。
【0085】
次に、障害検知処理及び復旧検知処理の詳細について説明する。図6は、実施の形態1におけるGW4による障害検知処理の手順の一例を示すフローチャートである。図6のフローチャートに示す処理手順は、図4のフローチャートに示したステップS22の障害発生検知処理の詳細に対応する。なお、以下の説明ではECU3a,3b,3c側の通知処理の例としてECU3aの処理を挙げて説明するが、ECU3b,3cの処理も同様であるから詳細な説明は省略する。
【0086】
ECU3aの制御部30aは、通常の処理を実行するが(ステップS31)、上述のように、動作状況を示す情報を一定周期にて定期的に取得してデータとして通信部32aにより送信する(ステップS32)。このとき、動作状況を示す情報は、例えばCPU、メモリ、通信などの各資源の使用率である。メモリの空き容量を含めてもよい。
【0087】
そしてECU3aの制御部30aは、他のECU3b,3cにて障害を検知したか否かを判断する(ステップS33)。制御部30aは、通信部32aにより送受信するデータに基づき、他のECU3b,3cの障害を検知できる。例えば、ECU3aは、ECU3bにおける演算によって求められ、周期的にCANバス7へ送信されるデータを使用する場合、当該データがECU3bから送信されない場合にECU3bにて障害が発生したと検知する。また、制御部30aは、データに含まれる数値情報が所定の正常範囲外である場合に、障害が発生したと検知してもよいし、正常範囲外の数値情報が所定の回数N回以上連続した場合に初めて、障害が発生したと検知してもよい。
【0088】
ECU3aの制御部30aは、他のECU3b,3cの障害を検知しないと判断した場合(S33:NO)、処理をステップS31へ戻して通常の処理を実行し続け、一定周期が到来する都度に動作状況を示す情報の送信を繰り返す。制御部30aは、障害を検知したと判断した場合(S33:YES)、障害の発生を他へ通知する(ステップS34)。具体的には、制御部30aは、障害が発生したECU(例えばECU3b)を特定し、特定したECU3bの識別情報を含めて、障害発生通知用のIDを付与したデータを通信部32aによりCANバス7へ送信する。これにより、GW4、他のECU3c、及びIOU5a,5b,5cが障害発生を認識することが可能である。
【0089】
これに対し、GW4の制御部40は、通信部41によりECU3a,3b,3cから定期的に送信されるべき動作状況を示す情報を受信する(ステップS41)。制御部40は、受信する情報に基づきECU3a,3b,3cのいずれかで障害が発生しているか否かを判断する(ステップS42)。詳細には、制御部40は、定期的に送信されるべき動作状況を示す情報を、あるECUから所定の周期に相当する時間を超過して受信できない場合、当該ECUにて障害が発生したと判断する。また、制御部40は、各ECU3a,3b,3cの動作状況を示す情報に基づき、CPUの使用率が所定の比率以上である場合に、障害が発生したと判断してもよいし、メモリの空き領域が所定値未満である場合に障害が発生したと判断してもよい。
【0090】
制御部40は、ステップS42にて障害が発生したと判断した場合(S42:YES)、制御部40のみの判断では確定せず、図3のフローチャートに示した初期的処理にて決定した障害発生検知のECUへ、障害が発生したと認識しているか否かを問い合わせる(ステップS43)。制御部40は、当該ECUからの応答の有無を判断し(ステップS44)、応答無と判断した場合は(S44:NO)ステップS44へ処理を戻して応答が有るまで待機する。このとき、所定の待機時間の上限を超過しても応答が無い場合は、処理を終了する。このとき、当該障害発生検知のECUにて障害が発生したと判断することができる。また、応答の有無の判断回数に上限を設け、制御部40は、上限回数を超過した場合には処理を終了する。このときも該障害発生検知のECUにて障害が発生したと判断する。
【0091】
制御部40は、応答有りと判断した場合(S44:YES)、応答の内容に基づき、障害の発生が障害発生検知のECUでも確認されているか否かを判断する(ステップS45)。制御部40は、障害発生が確認されていない場合は(S45:NO)、障害発生検知処理を終了して、処理を図4のフローチャートのステップS22へ戻す。このとき、GW4の判断にて障害発生を検知したが、未確定の状態となる。後述の処理により障害発生検知のECUを含む各ECU3a,3b,3cでも障害発生が確認されていると判断するまで、未確定となる。
【0092】
制御部40は、ステップS45にて障害の発生が障害発生検知のECUでも確認されていると判断した場合(S45:YES)、障害発生を確定し(ステップS46)、障害発生検知処理を終了して処理を図4のフローチャートのステップS22へ戻す。このとき、障害発生が確定されているので、ステップS22では障害が発生したと判断される。
【0093】
更に制御部40は、各ECU3a,3b,3c又はIOU5a,5b,5cから送信される障害発生通知の受信により、障害発生を検知してもよい。そこでステップS42にて、制御部40は、受信した動作状況を示す情報からは障害が発生していないと判断した場合(S42:NO)、他の装置から障害発生通知を複数受信したか否かを判断する(ステップS47)。制御部40は、障害発生通知を複数から受信していないと判断した場合(S47:NO)、そのまま障害発生検知処理を終了して、処理を図4のフローチャートのステップS23へ戻す。
【0094】
制御部40は、障害発生通知を複数から受信したと判断した場合(S47:YES)、障害発生を確定し(S46)、障害発生検知処理を終了して、処理を図4のフローチャートのステップS23へ戻す。
【0095】
なおステップS47の処理は、より確実性を向上させるために複数から障害発生通知を受信したか否かを判断する構成としたが、障害発生通知を外部から1つでも受信した場合には障害発生を確定する構成としてもよい。また、外部から障害発生通知を1つでも受信した場合(S47:YES)、障害発生を一時的に記憶しておき、再度障害発生検知処理を実行して各ECU3a,3b,3cからの動作状況を示す情報に基づき、障害発生を確認し、このとき確認できた場合はステップS43〜45の処理をスキップして障害発生を確定させる(S46)構成としてもよい。
【0096】
図7は、実施の形態1におけるGW4による復旧検知処理の手順の一例を示すフローチャートである。図7のフローチャートに示す処理手順は、図4のフローチャートに示したステップS27の復旧検知処理の詳細に対応する。なお、以下の説明ではECU3a,3b,3c側の通知処理の例としてECU3aの処理を挙げて説明するが、ECU3b,3cの処理も同様であるから詳細な説明は省略する。
【0097】
ECU3aの制御部30aは、自身の通常の動作を実行すると共に(ステップS51)、自身の動作状況を示す情報を一定周期にて通信部32aにより送信する(ステップS52)。図6のフローチャートのステップS31と同一である。
【0098】
そして制御部30aは、他のECU3b,3cにて障害が復旧したか否かを判断する(ステップS53)。制御部30aは、ECU3bからの送信が停止していたデータが、再度CANバス7に送信され、通信部32aにて正常に受信できた場合、ECU3bの障害が復旧したと検知する。制御部30aは、データに含まれる数値情報が所定の正常範囲内である場合に、障害が復旧したことを検知してもよいし、また、所定の回数N回以上、正常範囲内の数値情報が得られた場合に初めて、障害が復旧したことを検知してもよい。
【0099】
制御部30aは、他のECU3b,3cの復旧を検知しないと判断した場合(S53:NO)、処理をステップS51へ戻して通常の処理を実行し続け、一定周期が到来していれば動作状況を示す情報の送信を行なう。制御部30aは、復旧を検知したと判断した場合(S53:YES)、障害の復旧を他へ通知する(ステップS54)。具体的には、復旧したECU3bの識別情報を含めて、障害復旧通知用のIDを付与したデータを通信部32aによりCANバス7へ送信する。これにより、GW4、他のECU3c、及びIOU5a,5b,5cが障害復旧を認識することが可能である。
【0100】
これに対し、GW4の制御部40は、通信部41によりECU3a,3b,3cから定期的に送信されるべき動作状況を示す情報を受信する(ステップS61、なおS41と同様の処理)。制御部40は、受信する情報に基づき障害が発生したECUが復旧しているか否かを判断する(ステップS62)。詳細には、制御部40は、障害が発生していたECUからの動作状況を示す情報の受信が再開された場合は、当該ECUにおける障害が復旧したと判断する。また、制御部40は、各ECU3a,3b,3cの動作状況を示す情報に基づき、CPUの使用率が所定の比率未満である場合に障害が復旧したと判断してもよいし、メモリの空き領域が所定値以上である場合に障害が復旧したと判断してもよい。
【0101】
制御部40は、ステップS62にて障害が復旧したと判断した場合(S62:YES)、制御部40のみの判断では確定せず、図3のフローチャートに示した初期的処理にて決定した障害発生検知のECUへ、障害が復旧したと認識しているか否かを問い合わせる(ステップS63)。制御部40は、当該ECUからの応答の有無を判断し(ステップS64)、応答無と判断した場合は(S64:NO)ステップS64へ処理を戻して応答が有るまで待機する。このとき、所定の待機時間の上限を超過しても応答が無い場合は、復旧検知処理を終了する。このとき、当該障害発生検知のECUにて障害が発生しており、復旧していないと判断することができる。また、応答の有無の判断回数に上限を設け、制御部40は、上限回数を超過した場合には処理を終了する。このときも該障害発生検知のECUにて未だ障害が発生しており、復旧していないと判断する。
【0102】
制御部40は、応答有りと判断した場合(S64:YES)、応答の内容に基づき、障害の復旧が障害発生検知のECUでも確認されているか否かを判断する(ステップS65)。制御部40は、障害復旧が確認されていない場合は(S65:NO)、復旧検知処理を終了して、処理を図4のフローチャートのステップS28へ戻す。このとき、GW4の判断にて復旧を検知したが、未確定の状態となる。後述の処理により障害発生検知のECUを含む各ECU3a,3b,3cでも復旧が確認されていると判断するまで、未確定となる。
【0103】
制御部40は、ステップS65にて障害の復旧が障害発生検知のECUでも確認されていると判断した場合(S65:YES)、障害復旧を確定し(ステップS66)、復旧検知処理を終了して処理を図4のフローチャートのステップS28へ戻す。このとき、障害復旧が確定されているので、ステップS28では障害が復旧したと判断される。
【0104】
更に制御部40は、各ECU3a,3b,3c又はIOU5a,5b,5cから送信される障害復旧通知の受信により、障害復旧を検知してもよい。そこでステップS62にて、制御部40は、受信した動作状況を示す情報からは障害が復旧していないと判断した場合(S62:NO)、他の装置から障害復旧通知を複数受信したか否かを判断する(ステップS67)。制御部40は、障害復旧通知を複数から受信していないと判断した場合(S67:NO)、そのまま復旧検知処理を終了して、処理を図4のフローチャートのステップS28へ戻す。
【0105】
制御部40は、障害復旧通知を複数から受信したと判断した場合(S67:YES)、障害復旧を確定し(S66)、復旧検知処理を終了して、処理を図4のフローチャートのステップS28へ戻す。
【0106】
ステップS67の処理は、より確実性を向上させるために複数から障害復旧通知を受信したか否かを判断する構成としたが、障害復旧通知を外部から1つでも受信した場合には障害復旧を確定する構成としてもよい。また、外部から障害復旧通知を1つでも受信した場合(S67:YES)、障害復旧を一時的に記憶しておき、再度復旧検知処理を実行して各ECU3a,3b,3cからの動作状況を示す情報に基づき、障害復旧を確認し、このとき確認できた場合はステップS63〜S65の処理をスキップして障害復旧を確定させる(S66)構成としてもよい。
【0107】
このように、GW4の制御部40は、自身の処理により障害発生を検知した場合、及び障害復旧を検知した場合でも、障害発生検知のECUとして特定したECUでも認識しているかが確認されたとき、又は、他のECU3a,3b,3c、IOU5a,5b,5cなどの装置から通知がされたときに初めて、障害が発生したこと、障害が復旧したことを確定させる。これにより、誤って障害発生又は障害復旧を検知する可能性を低減し、より信頼性を向上させることができる。
【0108】
なお、実施の形態1では、上述のように障害発生検知処理、及び復旧検知処理にて、確定処理を含む構成としたが、本発明はこれに限らず、ステップS43〜S47、及びステップS63〜S67の処理を省略し、GW4の制御部40が単独で動作状況に基づいて障害発生、又は障害復旧を検知する構成としてもよい。
【0109】
(実施の形態2)
実施の形態1では、代替処理をGW4にて実行する構成とした。これに対し、実施の形態2では、GW4は障害発生を検知した場合、自身を含めて障害が発生したECU以外の装置の内で処理負荷が比較的に軽い装置を特定し、当該装置にて代替処理を実行させる構成とする。
【0110】
実施の形態2における車載制御システムのハードウェア的な構成は、実施の形態1における構成と同様であり、GW4の代替処理の手順が相違する。したがって、実施の形態1と共通する構成については同一の符号を付して詳細な説明を省略し、相違する代替処理の手順について、以下説明する。
【0111】
図8は、実施の形態2におけるGW4の制御部40及びいずれかのECU3a,3b,3cにより実行される処理手順の一例を示すフローチャートである。なお、図8のフローチャートに示す処理手順の内、実施の形態1における図4のフローチャートに示した処理手順と共通する手順については、同一のステップ番号を付して詳細な説明を省略する。
【0112】
GW4の制御部40は、障害が発生したと判断した場合に(S23:YES)、障害が発生したECU(例えばECU3b)を特定すると(S24)、各ECU3a,3cから定期的に送信される動作状況を示す情報に基づき、ECU3a,3c及び自身の動作状況を比較する(ステップS71)。制御部40は、比較に基づき、資源の使用率が他よりも低い装置を、代替処理を実行させる装置として特定する(ステップS72)。具体的には、制御部40は、CPUの使用率が最も低い装置、又はメモリの空き容量が最も多い装置などを、代替処理を実行させる装置として特定する。制御部40は、ステップS24にて特定した障害が発生したECUの代替処理データを読み出し(S25)、ステップS72にて特定した装置へ送信する(ステップS73)。
【0113】
なお、制御部40は、障害が復旧したと判断した場合(S28:YES)、ステップS72にて特定した装置へ代替処理データ実行の停止を指示する(ステップS74)。
【0114】
代替処理を実行する装置として特定されたECU3a,3cのいずれか(以下、ECU3aとして説明する)では、制御部30aがGW4から送信された代替処理データを通信部32aにより受信し(ステップS75)、図示しないDRAM、SRAMなどの一時記憶部に記憶し(ステップS76)、実行する(ステップS77)。
【0115】
代替処理を実行する装置として特定されたECU3aの制御部30aは、GW4からの停止指示を受信したか否か、又は自身の検知処理によって障害が発生していたECU3bの復旧を検知したか否かを判断する(ステップS78)。制御部30aは、停止指示を受信せず、且つ復旧を検知していないと判断した場合(S78:NO)、処理をステップS77へ戻して代替処理データの実行を続行する。このとき、制御部30aは、自身の通常処理も継続して実行している。制御部30aは、停止指示を受信するか、又は復旧を検知したと判断した場合(S78:YES)、代替処理データの実行を停止し(ステップS79)、一時記憶部に記憶した代替処理データを消去し(ステップS80)、処理を終了する。
【0116】
実施の形態2で、ECU3aがECU3bの代替処理を実行する場合、ECU3b宛にIOU5a,5b,5cから送信されていたデータは、ECU3aにて受信されるように変更しなければならない。このとき、IOU5a,5b,5cは障害発生前と同様にデータをCANバス7へ送信し、ECU3aが代替処理データと共に受信すべきデータのIDのリストを受信して記憶しておき、必要なデータを受信する。また、IOU5a,5b,5cが、データの宛先を明示的にIDで示してデータを送信する場合、IOU5a,5b,5cはGW4からの通知を受けるか、又は、自身の処理にて障害の発生を検知し、代替処理の実行を開始したECU3aを特定する機能を備え、障害が発生して代替処理が実行されるために宛先を変更すべきことを認識して、障害の発生を検知した場合に代替処理を実行する装置へデータを送信するようにしてもよい。
【0117】
実施の形態2に示したように、障害が発生した時点で動作ハードウェア資源の使用率が他よりも低い装置に代替処理を実行させることにより、システム全体の機能を維持して信頼性を向上させることができると共に、システム全体の処理負荷を均等にして効率化させることができる。
【0118】
(実施の形態3)
実施の形態1では、センサ1a,1b,…及びアクチュエータ2a,2b,…などの各機器が接続されるIOU5a,5b,5cは、ECU3a,3b,3cが接続されるCANバス7で同一のネットワーク内に接続される構成とした。これに対し、実施の形態3では、IOU5a,5b,5cが接続されるネットワークと、ECU3a,3b,3c群が接続されるネットワークとが分離される構成とする。
【0119】
実施の形態3における車載制御システムは、システムを構成するセンサ1a,1b,…及びアクチュエータ2a,2b,…などの各機器、各機器が接続されるIOU5a,5b,5c、ECU3a,3b,3c、及びGW4夫々の内部構成は実施の形態1と同様である。したがって、共通する構成については同一の符号を付して詳細な説明を省略する。
【0120】
図9は、実施の形態3の車載制御システムを構成するセンサ1a,1b,…及びアクチュエータ2a,2b,…などの各機器、ECU3a,3b,3c、GW4、及びIOU5a,5b,5cの接続構成を示すブロック図である。
【0121】
図9に示すように、実施の形態3における車載制御システムでは、各種センサ1a,1b,…及びアクチュエータ2a,2b,…は夫々、信号線6,6,…によりIOU5a,5b,5cに接続されている。IOU5a,5b,5cは第1のネットワーク8を介してGW4に接続されている。GW4には、第1のネットワーク8とは異なる第2のネットワーク9が接続されており、第2のネットワーク9を介してECU3a,3b,3cが相互にデータを送受信するように構成される。
【0122】
第1のネットワーク8及び第2のネットワーク9の通信プロトコルはいずれも限定されない。第1のネットワーク8では、IOU5a,5b,5cが多重化通信にて相互にデータを送受信可能な構成でもよいし、IOU5a,5b,5cが夫々、個別にGW4に接続して1対1でデータを送受信する構成でもよい。また、第1のネットワーク8と第2のネットワーク9とは、通信プロトコルは同じでもよい。
【0123】
実施の形態1同様に、センサ1a,1b,…及びアクチュエータ2a,2b,…はIOU5a,5b,5cに夫々、LINにより通信が可能な構成としてもよい。
【0124】
ECU3a,3b,3c及びGW4による代替処理データの送受信処理、代替処理の実行手順、GW4による障害検知処理、復旧検知処理は、実施の形態3のように2つの異なるネットワーク8,9を含む構成でも図3乃至図7のフローチャートに示した夫々の処理手順によって実現できる。実施の形態3では、IOU5a,5b,5cはECU3a,3b,3cにおける障害発生及び復旧を各自で検知することは困難である。しかしながら、GW4が必ず中継する構成とするから、IOU5a,5b,5cがいずれかのECU3a,3b,3cへ宛先を指定してデータを送信する場合、障害の発生又は復旧を認識しなくとも、GW4の制御部40にて代替処理を行なうためにそのまま使用すればよい。また、資源に余裕があるいずれかのECU3a,3b,3cにて代替処理を実行する構成の場合も、GW4の制御部40が、代替処理を実行している装置を特定してデータの宛先を変えて中継することによって問題なく代替処理が実行される。なお、代替処理実行中は、GW4からIOU5a,5b,5cへデータを送信する際に、代替処理用のIDを付与して送信することにより、IOU5a,5b,5cにて代替処理実行中であることを認識することは可能である。
【0125】
このように、実施の形態3では、2つの異なるネットワーク8,9にIOU5a,5b,5cとECU3a,3b,3cとを夫々接続する構成により、IOU5a,5b,5cはECU3a,3b,3cにおける障害の発生の有無に関わらず、処理を実行できる。IOU5a,5b,5cはデータの送受信先を特に特定する必要がなく、IOU5a,5b,5cにおける処理負荷を軽減化することが可能である。
【0126】
実施の形態1乃至3では、ECU3a,3b,3c、GW4及びIOU5a,5b,5cは、CANバス7等のネットワークに接続される構成とした。ただし、通信線を介した有線通信のみならず、無線による通信によっても障害検知処理及び代替処理等の同等の発明を実現できる。
【0127】
なお、開示された実施の形態は、全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上述の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0128】
1a,1b,1c,1d,1e,1f,1g,1h センサ(機器)
2a,2b,2c,2d アクチュエータ(機器)
3a,3b,3c ECU(制御装置、障害検知手段、代替処理実行手段)
31a,31b,31c 記憶部
4 GW(中継装置、障害検知手段、代替処理実行手段)
41 記憶部(記憶手段)
44a,44b,44c 代替処理用制御プログラム(代替処理データ)
5a,5b,5c IOU(入出力装置)
7 CANバス(通信線)
8 第1のネットワーク(第1の通信線)
9 第2のネットワーク(第2の通信線)

【特許請求の範囲】
【請求項1】
データを入出力する複数の機器と、該複数の機器が接続されており、各機器が入出力するデータを送受信する一又は複数の入出力装置と、該入出力装置が接続される通信線と、該通信線に接続されており前記入出力装置から送信される各機器からのデータを使用するか、又は他の装置から送信されるデータを使用して前記入出力装置を介してデータを機器へ与えて機器の動作を制御する制御処理を実行する複数の制御装置とを含む制御システムであって、
前記複数の制御装置の内、いずれかの制御装置にて制御処理を実行できない障害発生を検知する障害検知手段と、
該障害検知手段が障害発生を検知した場合、障害が発生した制御装置での制御処理を代替実行する代替処理実行手段と
を備えることを特徴とする制御システム。
【請求項2】
データを入出力する複数の機器と、該複数の機器が接続されており、各機器から入力されるデータを送受信する一又は複数の入出力装置と、該一又は複数の入出力装置が接続される第1の通信線と、前記複数の機器のいずれかからのデータを受信して使用するか、又は他の装置から送信されるデータを使用して前記機器の動作を制御するためのデータを送信する複数の制御装置と、該複数の制御装置が接続される第2の通信線と、第1及び第2の通信線との間でのデータの送受信を中継する中継装置とを含む制御システムであって、
前記複数の制御装置の内、いずれかの制御装置にて制御処理を実行できない障害発生を検知する障害検知手段と、
該障害検知手段が障害発生を検知した場合、障害が発生した制御装置での制御処理を代替実行する代替処理実行手段と
を備えることを特徴とする制御システム。
【請求項3】
前記複数の制御装置は、自身に障害が発生した場合の代替処理を可能とする代替処理データを前記代替処理実行手段へ予め送信する手段を備え、
前記代替処理実行手段は、
各制御装置から送信された代替処理データを記録手段に記録する手段を備え、
前記障害検知手段が障害発生を検知した場合、障害が発生した制御装置を特定し、特定された制御装置から送信された代替処理データを前記記録手段から読み出して代替処理を実行するようにしてあること
を特徴とする請求項1又は2に記載の制御システム。
【請求項4】
各機器からのデータ及び機器へ与えられるデータには、データを夫々識別する識別情報が付与されて前記通信線にて送受信されるようにしてあり、
前記代替処理実行手段は、制御処理によりデータを通信線へ送信する場合、元の識別情報とは異なる代替処理によるデータであることを示す識別情報を付与して通信線へ送信するようにしてあること
を特徴とする請求項1乃至3のいずれかに記載の制御システム。
【請求項5】
前記複数の制御装置は夫々、自身の動作状況を示す情報を定期的に通信線へ送信するようにしてあり、
前記障害検知手段は、各制御装置から送信される動作状況を示す情報に基づき、障害発生を検知するようにしてあること
を特徴とする請求項1乃至4のいずれかに記載の制御システム。
【請求項6】
前記障害検知手段は、
各制御装置へ動作状況の問い合わせを送信する手段と、
問い合わせへの応答を受信する手段と
を備え、
各制御装置からの応答に基づき、障害発生を検知するようにしてあること
を特徴とする請求項1乃至4のいずれかに記載の制御システム。
【請求項7】
前記障害検知手段が障害発生を検知した場合、各制御装置の動作状況の比較に基づき、ハードウェア資源の使用率が他の制御装置よりも低い制御装置を特定する手段と、
該手段が特定した制御装置を前記代替処理実行手段として動作させる手段と
を備えることを特徴とする請求項5又は6に記載の制御システム。
【請求項8】
前記複数の制御装置は夫々、
他の制御装置における障害の発生を検知する手段と、
該手段により障害の発生を検知した場合、障害発生通知を通信線へ出力する手段と
を備え、
前記障害検知手段は、障害の発生を検知した場合、複数の制御装置の内の少なくとも1つの制御装置から障害発生通知を受信したときに、障害が発生したことを確定するようにしてあること
を特徴とする請求項1乃至7のいずれかに記載の制御システム。
【請求項9】
障害が発生した制御装置による制御処理の復旧を検知する復旧検知手段を更に備え、
該復旧検知手段が復旧を検知した場合、前記代替処理実行手段は代替処理を停止するようにしてあること
を特徴とする請求項1乃至8のいずれかに記載の制御システム。
【請求項10】
前記複数の制御装置は夫々、
他の制御装置にて発生した障害の復旧を検知する手段と、
該手段により復旧を検知した場合、障害復旧通知を通信線へ出力する手段と
を備え、
前記復旧検知手段は、障害の復旧を検知した場合、複数の制御装置の内の少なくとも1つの制御装置から障害復旧通知を受信したとき、障害が復旧したことを確定するようにしてあること
を特徴とする請求項9に記載の制御システム。
【請求項11】
前記代替処理実行手段は、前記中継装置が備えること
を特徴とする請求項2に記載の制御システム。
【請求項12】
前記障害検知手段は、前記中継装置が備えること
を特徴とする請求項2に記載の制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−39702(P2011−39702A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−185134(P2009−185134)
【出願日】平成21年8月7日(2009.8.7)
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【Fターム(参考)】