(57)【要約】【課題】車両用制御装置が正常であるか否かを的確に判定しつつ、フェイルセーフを実現できる車両用制御装置を提供する。【解決手段】第１の演算部（７、８）は、第１の入力値に第１の演算を実行して第１の出力値を出力する。逆算部（９、１０）は、第１の出力値に第１の演算の逆演算である第２の演算を実行して第２の出力値を出力する。異常診断部（４０）は、第１の入力値と第２の出力値に基づいて、エンジン制御装置（１）が正常であるか否かを判定する。異常診断部（４０）は、エンジン制御装置（１）が正常であると判定された場合、第１の出力値に基づいて、車両用装置を作動させ、エンジン制御装置（１）が正常でないと判定された場合、車両用装置を停止させる。【選択図】図２
2016037862.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力値に第１の演算を実行して第１の出力値を出力する第１の演算部と、
前記第１の出力値に前記第１の演算の逆演算である第２の演算を実行して第２の出力値を出力する逆演算部と、
前記第１の入力値と前記第２の出力値に基づいて、車両用制御装置が正常であるか否かを判定する第１の判定部と、
前記車両用制御装置が正常であると判定された場合、前記第１の出力値に基づいて、車両用装置を作動させ、前記車両用制御装置が正常でないと判定された場合、前記車両用装置を停止させる制御部と、
を備えることを特徴とする車両用制御装置。
【請求項２】
請求項１に記載の車両用制御装置であって、
前記第１の判定部は、
前記第１の入力値と前記第２の出力値との差分が第１の閾値未満の場合、前記車両用制御装置が正常であると判定し、前記差分が前記第１の閾値以上の場合、前記車両用制御装置が正常でないと判定する
ことを特徴とする車両用制御装置。
【請求項３】
請求項２に記載の車両用制御装置であって、
前記差分が前記第１の閾値以上となった回数を計数する計数部をさらに備え、
前記第１の判定部は、
前記回数が前記第２の閾値未満の場合、前記車両用制御装置が正常であると判定し、前記回数が前記第２の閾値以上の場合、前記車両用制御装置が正常でないと判定する
ことを特徴とする車両用制御装置。
【請求項４】
請求項３に記載の車両用制御装置であって、
前記計数部は、
前記差分が前記第１の閾値以上の状態が継続した回数を計数する
ことを特徴とする車両用制御装置。
【請求項５】
請求項１に記載の車両用制御装置であって、
前記第１の入力値に前記第１の演算を実行して第３の出力値を出力する第２の演算部と、
前記第１の入力値と前記第３の出力値に基づいて、車両用制御装置が正常であるか否かを判定する第２の判定部と、をさらに備える
ことを特徴とする車両用制御装置。
【請求項６】
請求項１に記載の車両用制御装置であって、
前記制御部は、
前記車両用制御装置が正常でないと判定された場合、車両の駆動源を停止させるように前記車両用装置を制御した後、前記車両用装置を停止させる
ことを特徴とする車両用制御装置。
【請求項７】
請求項１に記載の車両用制御装置であって、
前記車両用装置は、
スロットル装置、燃料噴射装置、又は点火装置である
ことを特徴とする車両用制御装置。
【請求項８】
請求項１に記載の車両用制御装置であって、
前記第１の入力値は、
ユーザの操作指示を示す値、又は前記車両用装置の状態を示す値である
ことを特徴とする車両用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用制御装置に関する。
【背景技術】
【０００２】
冗長系システムでは、同一の演算を並列に実施し、両者の結果を比較して演算の信頼性を高めている（例えば、特許文献１参照）。特許文献１には、所定のシステムにおける同一の制御量をシステムの状態に応じて演算するために、主演算系と副演算系とを併用し、これら主演算系の演算結果と副演算系の演算結果とを比較して、システムの異常を判定することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１８０７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されるような技術では、主演算系と副演算系が同一の間違った演算結果を出力した場合、システムは正常であると判定されてしまう。例えば、外部からのノイズが主演算系と副演算系に同じ影響を与えた場合や、主演算系と副演算系のプログラム仕様書に誤りがあり、これに基づいて主演算系と副演算系のプログラムが作成された場合などに、このような事態が想定される。
【０００５】
一方、エンジン制御装置などの車両用制御装置は、様々な車両用装置を制御している。例えば、エンジン制御装置は、アクセルセンサから出力された信号に基づいて目標スロットル開度を演算し、実スロットル開度が目標スロットル開度になるようにスロットルモータを制御する。車両用制御装置の演算結果は、車両の走行に影響を与えるため、車両用制御装置が異常の場合、フェイルセーフを実現することが要請される。
【０００６】
本発明の目的は、車両用制御装置が正常であるか否かを的確に判定しつつ、フェイルセーフを実現できる車両用制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、第１の入力値に第１の演算を実行して第１の出力値を出力する第１の演算部と、前記第１の出力値に前記第１の演算の逆演算である第２の演算を実行して第２の出力値を出力する逆演算部と、前記第１の入力値と前記第２の出力値に基づいて、車両用制御装置が正常であるか否かを判定する第１の判定部と、前記車両用制御装置が正常であると判定された場合、前記第１の出力値に基づいて、車両用装置を作動させ、前記車両用制御装置が正常でないと判定された場合、前記車両用装置を停止させる制御部と、を備えるようにしたものである。
【発明の効果】
【０００８】
本発明によれば、車両用制御装置が正常であるか否かを的確に判定しつつ、フェイルセーフを実現できる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第1の実施形態によるエンジン制御装置を含む車両システムの構成図である。
【図２】本発明の第1の実施形態によるエンジン制御装置の構成図である。
【図３】図２に示す演算部及び逆算部が実行する具体的な演算の一例を示す図である。
【図４】本発明の第1の実施形態によるエンジン制御装置の処理を示すフローチャートの例である。
【図５】本発明の第1の実施形態によるエンジン制御装置の異常診断部の処理を示すフローチャートの例である。
【図６】本発明の第２の実施形態によるエンジン制御装置の構成図である。
【図７】本発明の第３の実施形態によるエンジン制御装置の構成図である。
【図８】本発明の第４の実施形態によるエンジン制御装置の構成図である。
【発明を実施するための形態】
【００１０】
以下、図面を用いて本発明の第１〜第４の実施形態によるエンジン制御装置（車両用制御装置）の構成及び動作を説明する。
【００１１】
（第１の実施形態）
最初に、図１を用いて、車両システムのハードウェア構成を説明する。図１は、本発明の第1の実施形態によるエンジン制御装置１を含む車両システムの構成図である。
【００１２】
車両システムには、アクセルセンサ２、スロットルセンサ３、スロットルモータ４、インジェクター５、点火装置６および、それらを制御する、エンジン制御装置１、が搭載される。前記エンジン制御装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等を備えて構成され、あらかじめ定められたプログラムにしたがって信号処理を行う。
【００１３】
また、前記エンジン制御装置１は、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信により、通信線１００を介してネットワークを構成して、種々の情報を各種制御装置と送受信する。前記エンジン制御装置１は、前記アクセルセンサ２、前記スロットルセンサ３からアクセル開度、スロットル開度などの入力に基づき、前記スロットルモータ４、前記インジェクター５、前記点火装置６を制御することで、目標スロットル開度や燃料噴射量、点火時期などが制御されることにより、運転状態に応じて出力が制御される。
【００１４】
次に、図２を用いて、本発明をエンジン制御装置１に適用した場合の構成の一例を説明する。図２は、本発明の第1の実施形態によるエンジン制御装置１の構成図である。
【００１５】
エンジン制御装置１は、演算部７、演算部８、逆算部９、逆算部１０、異常診断部４０を備えている。演算部７は、エンジン制御装置１の外部からの値を入力として演算する。例えば、アクセルセンサからのアクセル開度を入力値とする。演算部８は、演算部７の演算結果を入力として、エンジン制御装置１の外部への出力値を演算する。例えば、スロットルモータ４へのスロットル開度を出力値とする。
【００１６】
逆算部９は、演算部８の演算結果を入力として、演算部８の演算の逆算を実施する。逆算部１０は、逆算部９の演算結果を入力として、演算部７の演算の逆算を実施する。
【００１７】
異常診断部４０は、逆算部１０の演算結果、主演算部７の入力値を入力とし、両者を比較することで異常判定を行う。異常であると判定した場合、フェイルセーフ機能を作動する。
【００１８】
ここで、演算部７及び演算部８は、全体として、第１の入力値に第１の演算を実行して第１の出力値を出力する第１の演算部として機能する。逆算部９及び逆算部１０は、全体として、第１の出力値に第１の演算の逆演算である第２の演算を実行して第２の出力値を出力する逆演算部として機能する。
【００１９】
異常診断部４０は、第１の入力値と第２の出力値に基づいて、エンジン制御装置（車両用制御装置）が正常であるか否かを判定する第１の判定部として機能する。
【００２０】
異常診断部４０は、エンジン制御装置が正常であると判定された場合、第１の出力値に基づいて、車両用装置（スロットル装置、燃料噴射装置、点火装置など）を作動させ、エンジン制御装置が正常でないと判定された場合、車両用装置を停止させる制御部として機能する（フェイルセーフ機能）。なお、第１の入力値は、例えば、ユーザの操作指示（アクセル操作、ブレーキ操作、シフト操作など）を示す値、車両用装置の状態（実制御量、温度など）を示す値などである。
【００２１】
詳細には、制御部としての異常診断部４０は、エンジン制御装置１（車両用制御装置）が正常でないと判定された場合、車両の駆動源としてのエンジンを停止させるように車両用装置（スロットル装置、燃料噴射装置、点火装置など）を制御した後、車両用装置を停止させる。
【００２２】
具体的には、スロットル装置は、スロットルバルブを閉じるように制御された後、作動を停止する。燃料噴射装置は、燃料噴射弁を閉じるように制御された後、作動を停止する。点火装置は、点火しない状態に制御された後、作動を停止する。これにより、エンジンは停止する。
【００２３】
次に、図３を用いて、具体的な演算例を説明する。図３は、図２に示す演算部７、８、及び、逆算部９、１０が実行する具体的な演算の一例を示す図である。
【００２４】
演算部７の入力値をパラメータＡ、出力値をパラメータＢとし、演算部７の演算を「Ｂ＝Ａ＋１」とする。演算部８の出力値をパラメータＣとし、演算部８の演算を「Ｃ＝Ｂ×２」とする。この時、逆算部９の出力値をパラメータＢ’とすると、逆算部９の演算は「Ｂ’＝Ｃ÷２」となる。逆算部１０の出力値をパラメータＡ’とすると、逆算部１０の演算は「Ａ’＝Ｂ’−１」となる。
【００２５】
異常診断部４０では、パラメータＡおよびＡ’を入力とし、両者を比較することで異常判定を行う。
【００２６】
次に、図４を用いて、エンジン制御装置１の動作を説明する。図４は、本発明の第1の実施形態によるエンジン制御装置１の処理を示すフローチャートの例である。
【００２７】
ステップＳ１０では、エンジン制御装置１の外部からの値をパラメータＡとして入力し、演算部７で演算をする。ステップＳ１１では、演算部７の出力値Ｂを入力として、演算部８で演算をする。ステップＳ１２では、演算部８の出力値Ｃを入力として、逆算部９で逆算をする。ステップＳ１３では、逆算部９の出力値Ｂ’を入力として、逆算部１０で逆算をする。ステップＳ１４では、異常診断部４０の処理を実施する。なお、異常診断部４０の処理については、図５を用いて、詳細に説明する。
【００２８】
図５は、本発明の第1の実施形態によるエンジン制御装置１の異常診断部４０の処理を示すフローチャートの例である。
【００２９】
ステップＳ２０では、演算部７の入力値Ａと逆算部１０の出力値Ａ’との差異が所定値未満であれば、ステップＳ２１へ進む。所定値以上であれば、ステップＳ２２へ進む。
【００３０】
ステップＳ２１では、ＮＧカウンタ１の値を０にする。ＮＧカウンタ１とは、演算部７の入力値Ａと、逆算部１０の出力値Ａ’の差異が所定値以上である状態の継続回数を計測するものである。ステップＳ２２では、ＮＧカウンタ１の値を１増やす。
【００３１】
ステップＳ２３では、ＮＧカウンタ１の値が所定値以上か判定する。所定値以上であれば、ステップＳ２４に進む。所定値未満であれば、ステップＳ２４を行わずに進む。ステップＳ２４では、フェイルセーフ機能を作動する。
【００３２】
つまり、異常診断部４０での異常判定は、逆算部１０の出力値と演算部７の入力値の差異が所定値以上である状態が所定回数継続した場合、フェイルセーフ機能を作動する。
【００３３】
上記の方法により、演算部に異常があり、演算結果が異常であった場合に、異常の検知が可能となる。
【００３４】
ここで、異常診断部４０は、第１の入力値と第２の出力値との差分が第１の閾値以上の状態が継続した回数を計数する計数部として機能する。
【００３５】
異常診断部４０は、この回数が第２の閾値未満の場合、エンジン制御装置１（車両用制御装置）が正常であると判定し、この回数が第２の閾値以上の場合、エンジン制御装置１が正常でないと判定する第１の判定部として機能する。
【００３６】
異常診断部４０は、エンジン制御装置１が正常であると判定された場合、第１の出力値に基づいて、車両用装置（スロットル装置、燃料噴射装置、点火装置など）を作動させ、エンジン制御装置が正常でないと判定された場合、車両用装置を停止させる制御部として機能する（フェイルセーフ機能）。
【００３７】
上記実施形態では、演算部が２つある例を説明したが、これに限定せず、演算部が１つの構成や、３つ以上の構成に本発明を適用しても良い。
【００３８】
上記実施形態では、演算部が一系統のみの例を説明したが、これに限定せず、例えば冗長系システムのように同じ制御量の演算部を複数系統持つ構成に本発明を適用しても良い。
【００３９】
以上説明したように、本実施形態によれば、エンジン制御装置１が正常であるか否かを的確に判定しつつ、フェイルセーフを実現できる。
【００４０】
（第１の変形例）
異常診断部４０（第１の判定部）は、単に、第１の入力値と第２の出力値との差分が第１の閾値未満の場合、エンジン制御装置（車両用制御装置）が正常であると判定し、この差分が第１の閾値以上の場合、エンジン制御装置が正常でないと判定してもよい。
【００４１】
（第２の変形例）
異常診断部４０（計数部）は、単に、第１の閾値以上となった回数を計数してもよい。この場合、異常診断部４０（第１の判定部）は、この回数が第２の閾値未満の場合、エンジン制御装置（車両用制御装置）が正常であると判定し、この回数が第２の閾値以上の場合、エンジン制御装置が正常でないと判定する。
【００４２】
（第２の実施形態）
次に、図６を用いて、本発明を冗長系のエンジン制御装置１に適用した場合の構成の一例を説明する。図６は、本発明の第２の実施形態によるエンジン制御装置１の構成図である。
【００４３】
エンジン制御装置１は、主演算部１１、主演算部１２、副演算部２１、副演算部２２、逆算部３１、逆算部３２、逆算部３３、逆算部３４、異常診断部４１、異常診断部４２、異常診断部４３を備えている。
【００４４】
主演算部１１は、エンジン制御装置１の外部からの値を入力として演算する。例えば、アクセルセンサからのアクセル開度を入力値とする。主演算部１２は、主演算部１１の演算結果を入力として、エンジン制御装置１の外部への出力値を演算する。例えば、スロットルセンサへのスロットル開度を出力値とする。副演算部２１は、主演算部１１と同じ演算を実施する冗長系の演算処理であり、エンジン制御装置１の外部からの値を入力として演算する。副演算部２２は、主演算部１２と同じ演算を実施する冗長系の演算処理であり、副演算部２１の演算結果を入力として、エンジン制御装置１の外部への出力値を演算する。
【００４５】
逆算部３１は、主演算部１２の演算結果を入力として、主演算部１２の演算の逆算を実施する。逆算部３２は、逆算部３１の演算結果を入力として、主演算部１１の演算の逆算を実施する。逆算部３３は、副演算部２２の演算結果を入力として、副演算部２２の演算の逆算を実施する。逆算部３４は、逆算部３３の演算結果を入力として、副演算部２１の逆算を実施する。
【００４６】
異常診断部４１は、逆算部３２の演算結果、主演算部１１の入力値を入力とし、両者を比較することで異常判定を行う。異常であると判定した場合、フェイルセーフ機能を作動する。異常診断部４２は、逆算部３４の演算結果、副演算部２１の入力値を入力とし、両者を比較する事で異常判定を行う。異常であると判定した場合、フェイルセーフ機能を作動する。異常診断部４３は従来の異常判定を行う箇所であり、主演算部１２の出力値と副演算部２２の出力値を入力とし、両者を比較することで異常判定を行う。異常であると判定した場合、フェイルセーフ機能を作動する。
【００４７】
ここで、副演算部２１及び副演算部２２は、全体として、第１の入力値に第１の演算を実行して第３の出力値を出力する第２の演算部として機能する。異常診断部４３は、第１の入力値と第３の出力値に基づいて、エンジン制御装置１（車両用制御装置）が正常であるか否かを判定する第２の判定部として機能する。
【００４８】
上記実施形態では、冗長系システムを持つ構成において、主演算部の結果と副演算部の結果を比較し、異常と判断する機能を有する構成の例を説明したが、これに限定せず、異常と判断する機能の無い構成においても、本発明を適用しても良い。
【００４９】
以上説明したように、本実施形態によれば、エンジン制御装置１が正常であるか否かを的確に判定しつつ、フェイルセーフを実現できる。また、異常診断部４１〜４３のいずれかにより、エンジン制御装置１が正常でないと判定された場合、フェイルセーフが実行される。そのため、フェイルセーフ機能が強化される。
【００５０】
（第３の実施形態）
次に、図７を用いて、図６の異常診断部４３が無い構成の一例を説明する。図７は、本発明の第３の実施形態によるエンジン制御装置１の構成図である。
【００５１】
なお、図７において、図６に示された装置と同一の符号の装置については、同一の機能を有するため、説明を省略する。
【００５２】
上記実施形態では、冗長系システムの主演算部および副演算部の両方に本発明を適用した例を説明したが、これに限定せず、冗長系システムの主演算部あるいは副演算部の片側にのみ本発明を適用しても良い。
【００５３】
本実施形態によれば、エンジン制御装置１が正常であるか否かを的確に判定しつつ、フェイルセーフを実現できる。また、異常診断部４１、４２のいずれかにより、エンジン制御装置１が正常でないと判定された場合、フェイルセーフが実行される。そのため、フェイルセーフ機能が強化される。
【００５４】
（第４の実施形態）
次に、図８を用いて、図６の逆算部３３、３４、及び異常診断部４２が無い構成の一例を説明する。図８は、本発明の第４の実施形態によるエンジン制御装置１の構成図である。
【００５５】
なお、図８において、図６に示された装置と同一の符号の装置については、同一の機能を有するため、説明を省略する。
【００５６】
上記実施形態では、エンジン制御装置の例を説明したが、例えばハイブリッド制御装置、モータ制御装置、バッテリ制御装置等、別の制御装置で実現してもよい。
【００５７】
本実施形態によれば、エンジン制御装置１が正常であるか否かを的確に判定しつつ、フェイルセーフを実現できる。また、異常診断部４１、４３のいずれかにより、エンジン制御装置１が正常でないと判定された場合、フェイルセーフが実行される。そのため、フェイルセーフ機能が強化される。さらに、従来の異常診断部４３を用いることにより、生産コストを削減することもできる。
【００５８】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD（Solid State Drive）等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【符号の説明】
【００５９】
１…エンジン制御装置
２…アクセルセンサ
３…スロットルセンサ
４…スロットルモータ
５…インジェクター
６…点火装置
７…演算部
８…演算部
９…逆算部
１０…逆算部
１１…主演算部
１２…主演算部
２１…副演算部
２２…副演算部
３１…逆算部
３２…逆算部
３３…逆算部
３４…逆算部
４０…異常診断部
４１…異常診断部
４２…異常診断部
１００…多重通信線
【図１】
2016037862.tif 000003
【図２】
2016037862.tif 000004
【図３】
2016037862.tif 000005
【図４】
2016037862.tif 000006
【図５】
2016037862.tif 000007
【図６】
2016037862.tif 000008
【図７】
2016037862.tif 000009
【図８】
2016037862.tif 000010