(57)【要約】【課題】制御の安全性を確保しつつ、その連続性を向上させることが可能な制御装置を提供すること。【解決手段】第１の処理手段が算出した指令値と第２の処理手段が出力した判定基準が不一致であると判定したときに、過去に第１の処理手段が正常に作動していると判定した際における入力値を第１の処理手段に送信して指令値を再度算出させ、入力値に応じて第１の処理手段が算出した指令値が過去に第１の処理手段が正常に作動していると判定した際における指令値と一致した場合には、第１の処理手段ではなく第２の処理手段が異常状態にあると判定することを特徴とする、制御装置。【選択図】図１
2011191876.tif 000002
【特許請求の範囲】
【請求項１】
入力値に基づいて制御対象への指令値を算出する第１の処理手段と、
前記入力値に基づいて、前記第１の処理手段が正常に作動しているか否かを判定するための判定基準を出力する第２の処理手段と、
前記第１の処理手段により算出された指令値と前記第２の処理手段により出力された判定基準の一致程度に基づいて、前記第１の処理手段が正常に作動しているか否かを判定する第３の処理手段と、を備える制御装置であって、
前記第３の処理手段は、
過去に第１の処理手段が正常に作動していると判定した際における、前記第１の処理手段に入力された入力値と該入力値に基づいて前記第１の処理手段により算出された指令値とを対応づけて記憶しており、
前記指令値と前記判定基準が不一致であると判定したときには、前記過去に第１の処理手段が正常に作動していると判定した際における入力値を前記第１の処理手段に送信して指令値を再度算出させ、該入力値に応じて前記第１の処理手段が算出した指令値が前記過去に第１の処理手段が正常に作動していると判定した際における指令値と一致した場合には、前記第１の処理手段ではなく前記第２の処理手段が異常状態にあると判定することを特徴とする、
制御装置。
【請求項２】
入力値に基づいて制御対象への指令値を算出する第１の処理手段と、
前記入力値に基づいて、前記第１の処理手段が正常に作動しているか否かを判定するための判定基準を出力する第２の処理手段と、
前記第１の処理手段により算出された指令値と前記第２の処理手段により出力された判定基準の一致程度に基づいて、前記第１の処理手段が正常に作動しているか否かを判定する第３の処理手段と、を備える制御装置であって、
前記第３の処理手段は、
過去に第１の処理手段が正常に作動していると判定した際における、前記第１の処理手段に入力された入力値と該入力値に基づいて前記第２の処理手段により出力された判定基準とを対応づけて記憶しており、
前記指令値と前記判定基準が不一致であると判定したときには、前記過去に第１の処理手段が正常に作動していると判定した際における入力値を前記第２の処理手段に送信して判定基準を再度出力させ、該入力値に応じて前記第２の処理手段が出力した判定基準が前記過去に第１の処理手段が正常に作動していると判定した際における判定基準と一致しない場合には、前記第１の処理手段ではなく前記第２の処理手段が異常状態にあると判定することを特徴とする、
制御装置。
【請求項３】
入力値に基づいて制御対象への指令値を算出する第１の処理手段と、
前記入力値に基づいて、前記第１の処理手段が正常に作動しているか否かを判定するための判定基準を出力する第２の処理手段と、
前記第１の処理手段により算出された指令値と前記第２の処理手段により出力された判定基準の一致程度に基づいて、前記第１の処理手段が正常に作動しているか否かを判定する第３の処理手段と、を備える制御装置であって、
前記第３の処理手段は、
過去に第１の処理手段が正常に作動していると判定した際における、前記第１の処理手段に入力された入力値と、該入力値に基づいて前記第１の処理手段により算出された指令値及び前記第２の処理手段により出力された判定基準とを対応づけて記憶しており、
前記指令値と前記判定基準が不一致であると判定したときには、前記過去に第１の処理手段が正常に作動していると判定した際における入力値を前記第１の処理手段及び前記第２の処理手段に送信して、指令値を再度算出させると共に及び判定基準値を再度出力させ、
該入力値に応じて前記第１の処理手段が算出した指令値が前記過去に第１の処理手段が正常に作動していると判定した際における指令値と一致した場合、及び該入力値に応じて前記第２の処理手段が出力した判定基準が前記過去に第１の処理手段が正常に作動していると判定した際における判定基準と一致しない場合には、前記第１の処理手段ではなく前記第２の処理手段が異常状態にあると判定し、
該入力値に応じて前記第１の処理手段が算出した指令値が前記過去に第１の処理手段が正常に作動していると判定した際における指令値と一致せず、且つ該入力値に応じて前記第２の処理手段が出力した判定基準が前記過去に第１の処理手段が正常に作動していると判定した際における判定基準と一致しない場合には、前記第１の処理手段と前記第２の処理手段の双方が異常状態にあると判定することを特徴とする、
制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力値に基づいて制御対象への指令値を算出する制御装置に関し、特に、算出した指令値の妥当性を自ら判断する機能を備える制御装置に関する。
【背景技術】
【０００２】
従来、例えば車両制御の分野において、センサ等から入力された入力値に基づいて、エンジンや変速機、走行用モータ、ブレーキ装置、ステアリング装置等の制御対象への指令値を算出する制御装置が広く用いられている。
【０００３】
こうした制御装置においては、指令値の妥当性について自らチェックすることが、安全面から望まれている。
【０００４】
特許文献１には、第１ＣＰＵと第２ＣＰＵに、同じ操舵角、車速、後輪舵角等のデータを入力し、第１ＣＰＵの出力と第２ＣＰＵの出力の誤差が所定の許容レベルに入っているか否かを判定し、誤差が所定の許容レベル以上の場合には第１ＣＰＵが故障であると判定するコントローラのフェイルセーフ装置について記載されている。
【０００５】
また、特許文献２にも、同様に、１つの制御対象に対してメインとサブの２つのＣＰＵを用いて制御系を構成し、各々のＣＰＵで同じ演算を実行させ、両者の命令および処理データに不一致が生じた場合や出力に所定の閾値以上の差が生じた場合には、故障と判断して制御を停止する等のフェイルセーフ機能を備えた装置について記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開Ｈ０６−２１９３１０号公報
【特許文献２】特開昭６３−２７１５４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の装置では、判定基準となる処理手段（第２ＣＰＵやサブＣＰＵ）に故障等の異常が生じた場合について考慮されていない。
【０００８】
この結果、指令値を算出する方の処理手段（第１ＣＰＵ、メインＣＰＵ）が正常であるにも拘わらず、制御を停止してしまう等の不都合が生じる場合がある。従って、制御の連続性が維持できない場合がある。
【０００９】
本発明はこのような課題を解決するためのものであり、制御の安全性を確保しつつ、その連続性を向上させることが可能な制御装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するための本発明の第１の態様は、
入力値に基づいて制御対象への指令値を算出する第１の処理手段と、
前記入力値に基づいて、前記第１の処理手段が正常に作動しているか否かを判定するための判定基準を出力する第２の処理手段と、
前記第１の処理手段により算出された指令値と前記第２の処理手段により出力された判定基準の一致程度に基づいて、前記第１の処理手段が正常に作動しているか否かを判定する第３の処理手段と、を備える制御装置であって、
前記第３の処理手段は、
過去に第１の処理手段が正常に作動していると判定した際における、前記第１の処理手段に入力された入力値と該入力値に基づいて前記第１の処理手段により算出された指令値とを対応づけて記憶しており、
前記指令値と前記判定基準が不一致であると判定したときには、前記過去に第１の処理手段が正常に作動していると判定した際における入力値を前記第１の処理手段に送信して指令値を再度算出させ、該入力値に応じて前記第１の処理手段が算出した指令値が前記過去に第１の処理手段が正常に作動していると判定した際における指令値と一致した場合には、前記第１の処理手段ではなく前記第２の処理手段が異常状態にあると判定することを特徴とする、
制御装置である。
【００１１】
ここで、第１ないし第３の処理手段は、例えば別体のプロセッサであってもよいし、マルチコア・プロセッサが備える複数のＣＰＵコアであってもよいし、マルチスレッド処理装置の複数のスレッドであってもよい。また、これらの組み合わせであってもよい（例えば、第１処理手段と第２処理手段がマルチコア・プロセッサの複数のＣＰＵコアであり、第３の処理手段が単体のプロセッサである等）。後述の本発明の第２又は第３の態様においても同様である。
【００１２】
この本発明の第１の態様によれば、第３の処理手段が、過去に第１の処理手段が正常に作動していると判定した際における入力値と指令値を対応づけて記憶しており、指令値と判定基準が不一致であると判定したときには、過去に第１の処理手段が正常に作動していると判定した際における入力値を第１の処理手段に送信し、この入力値に応じて第１の処理手段が算出した指令値が過去に第１の処理手段が正常に作動していると判定した際における指令値と一致した場合には、第１の処理手段ではなく第２の処理手段が異常状態にあると判定するため、制御の安全性を確保しつつ、その連続性を向上させることができる。
【００１３】
本発明の第２の態様は、
入力値に基づいて制御対象への指令値を算出する第１の処理手段と、
前記入力値に基づいて、前記第１の処理手段が正常に作動しているか否かを判定するための判定基準を出力する第２の処理手段と、
前記第１の処理手段により算出された指令値と前記第２の処理手段により出力された判定基準の一致程度に基づいて、前記第１の処理手段が正常に作動しているか否かを判定する第３の処理手段と、を備える制御装置であって、
前記第３の処理手段は、
過去に第１の処理手段が正常に作動していると判定した際における、前記第１の処理手段に入力された入力値と該入力値に基づいて前記第２の処理手段により出力された判定基準とを対応づけて記憶しており、
前記指令値と前記判定基準が不一致であると判定したときには、前記過去に第１の処理手段が正常に作動していると判定した際における入力値を前記第２の処理手段に送信して判定基準を再度出力させ、該入力値に応じて前記第２の処理手段が出力した判定基準が前記過去に第１の処理手段が正常に作動していると判定した際における判定基準と一致しない場合には、前記第１の処理手段ではなく前記第２の処理手段が異常状態にあると判定することを特徴とする、
制御装置である。
【００１４】
この本発明の第２の態様によれば、第３の処理手段が、過去に第１の処理手段が正常に作動していると判定した際における入力値と判定基準を対応づけて記憶しており、指令値と判定基準が不一致であると判定したときには、過去に第１の処理手段が正常に作動していると判定した際における入力値を第２の処理手段に送信し、入力値に応じて第２の処理手段が出力した判定基準が過去に第１の処理手段が正常に作動していると判定した際における判定基準と一致しない場合には、第１の処理手段ではなく第２の処理手段が異常状態にあると判定するため、制御の安全性を確保しつつ、その連続性を向上させることができる。
【００１５】
本発明の第３の態様は、
入力値に基づいて制御対象への指令値を算出する第１の処理手段と、
前記入力値に基づいて、前記第１の処理手段が正常に作動しているか否かを判定するための判定基準を出力する第２の処理手段と、
前記第１の処理手段により算出された指令値と前記第２の処理手段により出力された判定基準の一致程度に基づいて、前記第１の処理手段が正常に作動しているか否かを判定する第３の処理手段と、を備える制御装置であって、
前記第３の処理手段は、
過去に第１の処理手段が正常に作動していると判定した際における、前記第１の処理手段に入力された入力値と、該入力値に基づいて前記第１の処理手段により算出された指令値及び前記第２の処理手段により出力された判定基準とを対応づけて記憶しており、
前記指令値と前記判定基準が不一致であると判定したときには、前記過去に第１の処理手段が正常に作動していると判定した際における入力値を前記第１の処理手段及び前記第２の処理手段に送信して、指令値を再度算出させると共に及び判定基準値を再度出力させ、
該入力値に応じて前記第１の処理手段が算出した指令値が前記過去に第１の処理手段が正常に作動していると判定した際における指令値と一致した場合、及び該入力値に応じて前記第２の処理手段が出力した判定基準が前記過去に第１の処理手段が正常に作動していると判定した際における判定基準と一致しない場合には、前記第１の処理手段ではなく前記第２の処理手段が異常状態にあると判定し、
該入力値に応じて前記第１の処理手段が算出した指令値が前記過去に第１の処理手段が正常に作動していると判定した際における指令値と一致せず、且つ該入力値に応じて前記第２の処理手段が出力した判定基準が前記過去に第１の処理手段が正常に作動していると判定した際における判定基準と一致しない場合には、前記第１の処理手段と前記第２の処理手段の双方が異常状態にあると判定することを特徴とする、
制御装置である。
【００１６】
この本発明の第３の態様によれば、第３の処理手段が、過去に第１の処理手段が正常に作動していると判定した際における入力値と、指令値及び判定基準とを対応づけて記憶しており、指令値と判定基準が不一致であると判定したときには、過去に第１の処理手段が正常に作動していると判定した際における入力値を第１の処理手段及び第２の処理手段に送信して指令値を再度算出させると共に及び判定基準値を再度出力させ、入力値に応じて第１の処理手段が算出した指令値が過去に第１の処理手段が正常に作動していると判定した際における指令値と一致した場合、及び入力値に応じて第２の処理手段が出力した判定基準が過去に第１の処理手段が正常に作動していると判定した際における判定基準と一致しない場合には、第１の処理手段ではなく前記第２の処理手段が異常状態にあると判定し、入力値に応じて第１の処理手段が算出した指令値が過去に第１の処理手段が正常に作動していると判定した際における指令値と一致せず、且つ入力値に応じて第２の処理手段が出力した判定基準が過去に第１の処理手段が正常に作動していると判定した際における判定基準と一致しない場合には、第１の処理手段と前記第２の処理手段の双方が異常状態にあると判定するため、制御の安全性を更に確保しつつ、その連続性を向上させることができる。
【発明の効果】
【００１７】
本発明によれば、制御の安全性を確保しつつ、その連続性を向上させることが可能な制御装置を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施例に係る制御装置１のシステム構成例である。
【図２】第２のマイクロコンピュータ２０の異常判定のために第３のマイクロコンピュータが実行する処理の流れを示すフローチャートである。
【図３】本発明の第２実施例に係る制御装置２のシステム構成例である。
【図４】第２のマイクロコンピュータ２０の異常判定のために第２実施例に係る第３のマイクロコンピュータが実行する処理の流れを示すフローチャートである。
【図５】本発明の第３実施例に係る制御装置３のシステム構成例である。
【図６】第１のマイクロコンピュータ１０及び第２のマイクロコンピュータ２０の異常判定のために第３実施例に係る第３のマイクロコンピュータが実行する処理の流れを示すフローチャートである。
【図７】本発明の他の実施例に係る制御装置のシステム構成例である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００２０】
＜第１実施例＞
以下、図面を参照し、本発明の第１実施例に係る制御装置１について説明する。本実施例の制御装置１は、例えば、車両に搭載され、種々の車載機器制御のための処理を実行する制御装置に、好適に適用される。後述する第２及び第３実施例についても同様である。
【００２１】
車載機器制御の例としては、例えばエンジン制御、ブレーキ制御、パワーステアリング等を制御するステアリング制御、ドアロック等を制御するボデー制御、ＶＳＣ（Vehicle  Stability  Control）やＶＤＩＭ（Vehicle  Dynamics  Integrated  Management）等の車両安定化制御、ＡＣＣ（Adaptive  Cruise  Control）等の運転支援制御、ナビゲーション制御等が挙げられる。
【００２２】
図１は、本発明の第１実施例に係る制御装置１のシステム構成例である。制御装置１は、主要な構成として、第１のマイクロコンピュータ１０と、第２のマイクロコンピュータ２０と、第３のマイクロコンピュータ３０と、を備える。
【００２３】
これらのマイクロコンピュータは、例えば、ＣＰＵ（Central Processing Unit）を中心としてＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）等がバスを介して相互に接続されたマイクロコンピュータであり、その他、ＨＤＤ（Hard  Disc  Drive）やＤＶＤ−Ｒ（Digital  Versatile  Disk-Recordable）ドライブ、ＣＤ−Ｒ（Compact  Disc-Recordable）ドライブ、ＥＥＰＲＯＭ（Electronically  Erasable  and  Programmable  Read  Only  Memory）等の記憶装置やＩ／Ｏポート、タイマー、カウンター等を備える。なお、ＲＯＭやＲＡＭその他の記憶装置については、各マイクロコンピュータが共有しても構わない。
【００２４】
第１のマイクロコンピュータ１０は、入力された入力値Ｉｎｐに基づいて、制御対象４０に出力すべき指令値Ｃｏｍを算出し、この指令値Ｃｏｍを入力値Ｉｎｐと共に第３のマイクロコンピュータ３０に出力する。
【００２５】
入力値Ｉｎｐは、例えばＡ／Ｄ変換器を介して入力されるセンサ出力値であり、制御対象４０は、例えば、エンジンや変速機、走行用モータ、ブレーキ装置、ステアリング装置等である。以下の説明では、車速センサから入力される車速、及びＡＣＣが行う定速走行制御における目標車速のセットが入力値Ｉｎｐであり、制御対象４０に出力する指令値Ｃｏｍは目標トルクＴｒ＊であるものとする。目標トルクＴｒ＊は、例えば、車速と目標車速の差分に対してＰＩＤ演算を行うことによって算出される。
【００２６】
目標トルクＴｒ＊は、本発明の制御装置１が搭載される車両の種類に応じて、エンジンの目標トルク、走行用モータの目標トルク、これらの合計トルク等として制御対象４０に与えられる。目標トルクを実現するためのエンジン制御やモータ制御については、本発明の中心的事項ではないため、説明を省略する。
【００２７】
第２のマイクロコンピュータ２０は、上記入力値Ｉｎｐに基づいて、第１のマイクロコンピュータ１０が正常に作動しているか否かを判定するための判定基準を生成し、生成した判定基準Ｒｅｆを第３のマイクロコンピュータ３０に出力する。
【００２８】
ここで、判定基準Ｒｅｆは、第１のマイクロコンピュータ１０と全く同じ演算を行った結果であってもよいし、より簡易な演算を行った結果であってもよい。また、特定の数値ではなく、ある程度の幅を持った数値範囲であってもよい。以下では、全く同じ演算を行った結果の数値を判定基準Ｒｅｆとして出力するものとする。
【００２９】
第３のマイクロコンピュータ３０は、指令値Ｃｏｍと判定基準Ｒｅｆの一致程度に基づいて、第１のマイクロコンピュータ１０が正常に作動しているか否かを判定する。具体的には、例えば、指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値未満であれば第１のマイクロコンピュータ１０が正常に作動しており、閾値以上であれば第１のマイクロコンピュータ１０が正常に作動していない（異常状態にある）と判定する。
【００３０】
但し、第３のマイクロコンピュータ３０は、第２のマイクロコンピュータ２０に異常がないかどうかを判定するために、記憶装置３２に過去の入力値Ｉｎｐ（１）〜Ｉｎｐ（ｎ）、及び指令値Ｃｏｍ（１）〜Ｃｏｍ（ｎ）を対応づけて記憶させている。括弧内の数字は、何度目に記憶されたかを示す。なお、記憶装置３２に記憶させるのは、第１のマイクロコンピュータ１０が正常に作動していると判定した際のデータセットのみとする。ここで、記憶装置３２は、第３のマイクロコンピュータ３０専用のものであってもよいが、各マイクロコンピュータ間で共有する記憶装置であっても構わない。
【００３１】
図２は、第２のマイクロコンピュータ２０の異常判定のために第３のマイクロコンピュータが実行する処理の流れを示すフローチャートである。本フローは、指令値Ｃｏｍ及び入力値Ｉｎｐが第１のマイクロコンピュータ１０から入力される度に繰り返し実行される。
【００３２】
まず、第３のマイクロコンピュータ３０は、指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値未満であるか否かを判定する（Ｓ１００）。指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値未満である場合は、指令値Ｃｏｍを制御対象４０に出力し（Ｓ１０２）、入力値Ｉｎｐと指令値Ｃｏｍのセットを記憶装置３２に記憶させ（Ｓ１０４）、本フローの１ルーチンを終了する。
【００３３】
指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値以上である場合には、制御装置１の制御を一時的に停止させると共に（Ｓ１０６）、第１のマイクロコンピュータ１０に対して、過去に記憶手段３２に記憶された入力値Ｉｎｐ（１）〜（ｎ）のいずれか（例えば直近値Ｉｎｐ（ｎ））を、再計算要求信号と共に出力する（Ｓ１０８）。
【００３４】
第１のマイクロコンピュータ１０は、再計算要求信号を受信すると、入力値Ｉｎｐ（ｎ）に基づいて指令値Ｃｏｍを再計算し、第３のマイクロコンピュータ３０に出力する。
【００３５】
第３のマイクロコンピュータ３０は、第１のマイクロコンピュータ１０から入力された指令値の再計算値ＣｏｍＲが、記憶装置３２に記憶されたデータのうち入力値Ｉｎｐ（ｎ）に対応する値Ｃｏｍ（ｎ）と一致するか否かを判定する（Ｓ１１０）。
【００３６】
指令値の再計算値ＣｏｍＲが値Ｃｏｍ（ｎ）と一致しない場合は、第１のマイクロコンピュータ１０が異常状態にあると判定する（Ｓ１１２）。この場合、第３のマイクロコンピュータ３０が第１のマイクロコンピュータ１０の機能を代行したり、制御装置１の機能停止処理を行ったりする。
【００３７】
これによって、異常値が指令値Ｃｏｍとして制御対象４０に出力されることを防止することができる。この結果、制御の安全性を確保することができる。
【００３８】
一方、指令値の再計算値ＣｏｍＲが値Ｃｏｍ（ｎ）と一致する場合は、第１のマイクロコンピュータ１０ではなく第２のマイクロコンピュータ２０が異常状態にあると判定する（Ｓ１１４）。この場合、第３のマイクロコンピュータ３０が第２のマイクロコンピュータ２０の機能を代行したり、第１のマイクロコンピュータ１０の異常判定を行わずに制御を継続したりする。
【００３９】
これによって、正常に作動している第１のマイクロコンピュータ１０によって制御対象４０の制御を継続することができる。この結果、制御の連続性を向上させることができる。
【００４０】
以上説明した本実施例の制御装置１によれば、第３のマイクロコンピュータ３０が、上記のような処理によって第２のマイクロコンピュータ２０に異常がないかどうかを判定するため、制御の安全性を確保しつつ、その連続性を向上させることができる。
【００４１】
＜第２実施例＞
以下、図面を参照し、本発明の第２実施例に係る制御装置２について説明する。
【００４２】
図３は、本発明の第２実施例に係る制御装置２のシステム構成例である。制御装置２は、主要な構成として、第１のマイクロコンピュータ１０と、第２のマイクロコンピュータ２０と、第３のマイクロコンピュータ３０と、を備える。制御装置２は、各構成要素の基本的機能に関しては第１実施例に係る制御装置１と共通するため、同一の符号を付して適宜説明を省略する。
【００４３】
第２実施例に係る第３のマイクロコンピュータ３０は、指令値Ｃｏｍと判定基準Ｒｅｆの一致程度に基づいて、第１のマイクロコンピュータ１０が正常に作動しているか否かを判定する。具体的には、例えば、指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値未満であれば第１のマイクロコンピュータ１０が正常に作動しており、閾値以上であれば第１のマイクロコンピュータ１０が正常に作動していない（異常状態にある）と判定する。
【００４４】
但し、第３のマイクロコンピュータ３０は、第２のマイクロコンピュータ２０に異常がないかどうかを判定するために、記憶装置３２に過去の入力値Ｉｎｐ（１）〜Ｉｎｐ（ｎ）、及び判定基準Ｒｅｆ（１）〜Ｒｅｆ（ｎ）を対応づけて記憶させている。括弧内の数字は、何度目に記憶されたかを示す。なお、記憶装置３２に記憶させるのは、第１のマイクロコンピュータ１０が正常に作動していると判定した際のデータセットのみとする。ここで、記憶装置３２は、第３のマイクロコンピュータ３０専用のものであってもよいが、各マイクロコンピュータ間で共有する記憶装置であっても構わない。
【００４５】
図４は、第２のマイクロコンピュータ２０の異常判定のために第３のマイクロコンピュータが実行する処理の流れを示すフローチャートである。本フローは、指令値Ｃｏｍ及び入力値Ｉｎｐが第１のマイクロコンピュータ１０から入力される度に繰り返し実行される。
【００４６】
まず、第３のマイクロコンピュータ３０は、指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値未満であるか否かを判定する（Ｓ２００）。指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値未満である場合は、指令値Ｃｏｍを制御対象４０に出力し（Ｓ２０２）、入力値Ｉｎｐと、同時に第２のマイクロコンピュータ２０から入力された判定基準Ｒｅｆのセットを記憶装置３２に記憶させ（Ｓ２０４）、本フローの１ルーチンを終了する。
【００４７】
指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値以上である場合には、制御装置１の制御を一時的に停止させると共に（Ｓ２０６）、第２のマイクロコンピュータ２０に対して、過去に記憶手段３２に記憶された入力値Ｉｎｐ（１）〜（ｎ）のいずれか（例えば直近値Ｉｎｐ（ｎ））を、再計算要求信号と共に出力する（Ｓ２０８）。
【００４８】
第２のマイクロコンピュータ２０は、再計算要求信号を受信すると、入力値Ｉｎｐ（ｎ）に基づいて判定基準Ｒｅｆを再計算し、第３のマイクロコンピュータ３０に出力する。
【００４９】
第３のマイクロコンピュータ３０は、第２のマイクロコンピュータ２０から入力された判定基準の再計算値ＲｅｆＲが、記憶装置３２に記憶されたデータのうち入力値Ｉｎｐ（ｎ）に対応する値Ｒｅｆ（ｎ）と一致するか否かを判定する（Ｓ２１０）。
【００５０】
判定基準の再計算値ＲｅｆＲが値Ｒｅｆ（ｎ）と一致する場合は、第１のマイクロコンピュータ１０が異常状態にあると判定する（Ｓ２１２）。この場合、第３のマイクロコンピュータ３０が第１のマイクロコンピュータ１０の機能を代行したり、制御装置１の機能停止処理を行ったりする。
【００５１】
これによって、異常値が指令値Ｃｏｍとして制御対象４０に出力されることを防止することができる。この結果、制御の安全性を確保することができる。
【００５２】
一方、判定基準の再計算値ＲｅｆＲが値Ｒｅｆ（ｎ）と一致しない場合は、第１のマイクロコンピュータ１０ではなく第２のマイクロコンピュータ２０が異常状態にあると判定する（Ｓ２１４）。この場合、第３のマイクロコンピュータ３０が第２のマイクロコンピュータ２０の機能を代行したり、第１のマイクロコンピュータ１０の異常判定を行わずに制御を継続したりする。
【００５３】
これによって、正常に作動している第１のマイクロコンピュータ１０によって制御対象４０の制御を継続することができる。この結果、制御の連続性を向上させることができる。
【００５４】
以上説明した本実施例の制御装置２によれば、第３のマイクロコンピュータ３０が、上記のような処理によって第２のマイクロコンピュータ２０に異常がないかどうかを判定するため、制御の安全性を確保しつつ、その連続性を向上させることができる。
【００５５】
＜第３実施例＞
以下、図面を参照し、本発明の第３実施例に係る制御装置３について説明する。
【００５６】
図５は、本発明の第３実施例に係る制御装置３のシステム構成例である。制御装置３は、主要な構成として、第１のマイクロコンピュータ１０と、第２のマイクロコンピュータ２０と、第３のマイクロコンピュータ３０と、を備える。制御装置３は、各構成要素の基本的機能に関しては第１実施例に係る制御装置１と共通するため、同一の符号を付して適宜説明を省略する。
【００５７】
第３実施例に係る第３のマイクロコンピュータ３０は、指令値Ｃｏｍと判定基準Ｒｅｆの一致程度に基づいて、第１のマイクロコンピュータ１０が正常に作動しているか否かを判定する。具体的には、例えば、指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値未満であれば第１のマイクロコンピュータ１０が正常に作動しており、閾値以上であれば第１のマイクロコンピュータ１０が正常に作動していない（異常状態にある）と判定する。
【００５８】
但し、第３のマイクロコンピュータ３０は、第１のマイクロコンピュータ１０及び第２のマイクロコンピュータ２０に異常がないかどうかを判定するために、記憶装置３２に過去の入力値Ｉｎｐ（１）〜Ｉｎｐ（ｎ）、指令値Ｃｏｍ（１）〜Ｃｏｍ（ｎ）、及び判定基準Ｒｅｆ（１）〜Ｒｅｆ（ｎ）を対応づけて記憶させている。括弧内の数字は、何度目に記憶されたかを示す。なお、記憶装置３２に記憶させるのは、第１のマイクロコンピュータ１０が正常に作動していると判定した際のデータセットのみとする。ここで、記憶装置３２は、第３のマイクロコンピュータ３０専用のものであってもよいが、各マイクロコンピュータ間で共有する記憶装置であっても構わない。
【００５９】
図６は、第１のマイクロコンピュータ１０及び第２のマイクロコンピュータ２０の異常判定のために第３のマイクロコンピュータが実行する処理の流れを示すフローチャートである。本フローは、指令値Ｃｏｍ及び入力値Ｉｎｐが第１のマイクロコンピュータ１０から入力される度に繰り返し実行される。
【００６０】
まず、第３のマイクロコンピュータ３０は、指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値未満であるか否かを判定する（Ｓ３００）。指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値未満である場合は、指令値Ｃｏｍを制御対象４０に出力し（Ｓ３０２）、入力値Ｉｎｐと、同時に第２のマイクロコンピュータ２０から入力された判定基準Ｒｅｆのセットを記憶装置３２に記憶させ（Ｓ３０４）、本フローの１ルーチンを終了する。
【００６１】
指令値Ｃｏｍと判定基準Ｒｅｆの差分が閾値以上である場合には、制御装置１の制御を一時的に停止させると共に（Ｓ３０６）、第１のマイクロコンピュータ１０及び第２のマイクロコンピュータ２０に対して、過去に記憶手段３２に記憶された入力値Ｉｎｐ（１）〜（ｎ）のいずれか（例えば直近値Ｉｎｐ（ｎ））を、再計算要求信号と共に出力する（Ｓ３０８）。
【００６２】
第１のマイクロコンピュータ１０は、再計算要求信号を受信すると、入力値Ｉｎｐ（ｎ）に基づいて指令値Ｃｏｍを再計算し、第３のマイクロコンピュータ３０に出力する。また、第２のマイクロコンピュータ２０は、再計算要求信号を受信すると、入力値Ｉｎｐ（ｎ）に基づいて判定基準Ｒｅｆを再計算し、第３のマイクロコンピュータ３０に出力する。
【００６３】
第３のマイクロコンピュータ３０は、第１のマイクロコンピュータ１０から入力された指令値の再計算値ＣｏｍＲが、記憶装置３２に記憶されたデータのうち入力値Ｉｎｐ（ｎ）に対応する値Ｃｏｍ（ｎ）と一致するか否かを判定する（Ｓ３１０）。
【００６４】
また、第３のマイクロコンピュータ３０は、第２のマイクロコンピュータ２０から入力された判定基準の再計算値ＲｅｆＲが、記憶装置３２に記憶されたデータのうち入力値Ｉｎｐ（ｎ）に対応する値Ｒｅｆ（ｎ）と一致するか否かを判定する（Ｓ３１２、Ｓ３１４）。
【００６５】
（Ａ）指令値の再計算値ＣｏｍＲが値Ｃｏｍ（ｎ）と一致せず、且つ判定基準の再計算値ＲｅｆＲが値Ｒｅｆ（ｎ）と一致する場合は、第１のマイクロコンピュータ１０が異常状態にあると判定する（Ｓ３１６）。この場合、第３のマイクロコンピュータ３０が第１のマイクロコンピュータ１０の機能を代行したり、制御装置１の機能停止処理を行ったりする。
【００６６】
これによって、異常値が指令値Ｃｏｍとして制御対象４０に出力されることを防止することができる。この結果、制御の安全性を確保することができる。
【００６７】
（Ｂ）指令値の再計算値ＣｏｍＲが値Ｃｏｍ（ｎ）と一致し、且つ判定基準の再計算値ＲｅｆＲが値Ｒｅｆ（ｎ）と一致しない場合は、第２のマイクロコンピュータ２０が異常状態にあると判定する（Ｓ３２０）。この場合、第３のマイクロコンピュータ３０が第２のマイクロコンピュータ２０の機能を代行したり、第１のマイクロコンピュータ１０の異常判定を行わずに制御を継続したりする。
【００６８】
これによって、正常に作動している第１のマイクロコンピュータ１０によって制御対象４０の制御を継続することができる。この結果、制御の連続性を向上させることができる。
【００６９】
（Ｃ）指令値の再計算値ＣｏｍＲが値Ｃｏｍ（ｎ）と一致せず、且つ判定基準の再計算値ＲｅｆＲが値Ｒｅｆ（ｎ）と一致しない場合は、第１のマイクロコンピュータ１０と第２のマイクロコンピュータ２０の双方が異常状態にあると判定する（Ｓ３１８）。
【００７０】
（Ｄ）指令値の再計算値ＣｏｍＲが値Ｃｏｍ（ｎ）と一致し、且つ判定基準の再計算値ＲｅｆＲが値Ｒｅｆ（ｎ）と一致する場合は、いずれのコンピュータが異常状態にあるか不明であるため、システムをシャットダウンする（Ｓ３２２）。
【００７１】
以上説明した本実施例の制御装置３によれば、第３のマイクロコンピュータ３０が、上記のような処理によって第１のマイクロコンピュータ１０及び第２のマイクロコンピュータ２０に異常がないかどうかを判定するため、制御の安全性を更に確保しつつ、その連続性を向上させることができる。
【００７２】
＜変形例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００７３】
例えば、第１ないし第３実施例において、第１ないし第３の処理手段の具体例として別体のマイクロコンピュータを例示したが、マルチコア・プロセッサが備える複数のＣＰＵコアであってもよいし、マルチスレッド処理装置の複数のスレッドであってもよい。また、これらの組み合わせであってもよい（例えば、第１処理手段と第２処理手段がマルチコア・プロセッサの複数のＣＰＵコアであり、第３の処理手段が単体のプロセッサである等）。
【００７４】
また、図７に示すように、複数セットの本発明に係る制御装置において、第３のマイクロコンピュータ３０のみを共用するような構成を採用してもよい。図７は、本発明の他の実施例に係る制御装置のシステム構成例である。
【００７５】
また、第１ないし第３実施例において、入力値Ｉｎｐは、各マイクロコンピュータが参照可能な多重通信線に出力されるものとしてもよい。この場合、第１のマイクロコンピュータ１０から第３のマイクロコンピュータ３０に入力値Ｉｎｐを出力する必要はない。更にこの場合、指令値Ｃｏｍが第１のマイクロコンピュータにより多重通信線に出力され、第３のマイクロコンピュータ３０は、指令値Ｃｏｍの承認済信号を多重通信線に出力するものとしてもよい。制御対象４０は、指令値Ｃｏｍの承認済信号を確認した上で、指令値Ｃｏｍに従った動作を行う。
【符号の説明】
【００７６】
１、２、３  制御装置
１０  第１のマイクロコンピュータ
２０  第２のマイクロコンピュータ
３０  第３のマイクロコンピュータ
３２  記憶装置
４０  制御対象
【図１】
2011191876.tif 000003
【図２】
2011191876.tif 000004
【図３】
2011191876.tif 000005
【図４】
2011191876.tif 000006
【図５】
2011191876.tif 000007
【図６】
2011191876.tif 000008
【図７】
2011191876.tif 000009