(57)【要約】【課題】監視対象の装置の異常をより確実に判定することができる監視装置、監視システム、および監視方法を提供すること。【解決手段】実施形態の一態様に係る監視装置は、取得部と、監視部と、記憶部と、判定部とを備える。取得部は、所定の機器を制御する制御装置の動作状態を示す情報を取得する。監視部は、取得部によって取得される情報に基づいて制御装置の動作状態を監視する。記憶部は、監視部による制御装置の監視結果を記憶する。判定部は、所定の機器が起動されてから停止されるまでの間に、所定の動作を行わない制御装置をリセットするリセット装置によって制御装置が所定回数以上リセットされたことを監視結果に基づいて検出した場合に、制御装置を異常と判定する。【選択図】図１
2019067053.tif 000002
【特許請求の範囲】
【請求項１】
所定の機器を制御する制御装置の動作状態を示す情報を取得する取得部と、
前記取得部によって取得される情報に基づいて前記制御装置の動作状態を監視する監視部と、
前記監視部による前記制御装置の監視結果を記憶する記憶部と、
前記所定の機器が起動されてから停止されるまでの間に、所定の動作を行わない前記制御装置をリセットするリセット装置によって前記制御装置が所定回数以上リセットされたことを前記監視結果に基づいて検出した場合に、前記制御装置を異常と判定する判定部と
を備えることを特徴とする監視装置。
【請求項２】
前記監視部は、
前記所定の機器が起動される場合にＯＮにし、前記所定の機器が停止される場合にＯＦＦにする異常終了フラグの状態と、
前記制御装置が前記リセット装置によってリセットされ、且つ、前記異常終了フラグの状態がＯＮの場合に、カウント値をカウントアップする異常終了カウンタのカウント値とを前記記憶部に記憶させ、
前記判定部は、
前記異常終了カウンタのカウント値が所定の異常終了回数以上となった場合に、前記制御装置を異常と判定する
ことを特徴とする請求項１に記載の監視装置。
【請求項３】
前記リセット装置は、
所定周期で前記制御装置と情報の送受信を行い、
前記取得部は、
前記制御装置および前記リセット装置間の前記情報の送受信タイミングを示す周期信号を取得し、
前記監視部は、
前記制御装置および前記リセット装置間の前記情報の送受信タイミングの周期をカウントする周期カウンタのカウント値と、
前記周期カウンタのカウント値が前記制御装置から前記リセット装置へ前記情報が送信されるべき周期を超えた場合に、ＯＦＦからＯＮにする情報非送信フラグの状態とを前記記憶部に記憶させ、
前記判定部は、
前記制御装置が前記リセット装置によってリセットされ、且つ、前記情報非送信フラグの状態がＯＮの場合に、前記制御装置を異常と判定する
ことを特徴とする請求項１または請求項２に記載の監視装置。
【請求項４】
前記制御装置は、
前記リセット装置から所定周期で問題を受信し、前記リセット装置へ所定周期で前記問題の回答を送信し、
前記リセット装置は、
前記制御装置から受信する前記回答の正否および前記回答の有無に基づいて、前記制御装置が前記所定の動作を行うか否かを判定し、
前記取得部は、
前記制御装置および前記リセット装置間で送受信される前記問題および前記回答の送受信タイミングを示す前記周期信号を取得する
ことを特徴とする請求項３に記載の監視装置。
【請求項５】
前記判定部によって前記制御装置が異常と判定される場合に、前記所定の機器に対してフェールセーフ制御を行うフェールセーフ制御部
をさらに備えることを特徴とする請求項１〜４のいずれか一つに記載の監視装置。
【請求項６】
所定の機器の動作を制御する制御装置と、
前記制御装置が所定の動作を行わない場合に、前記制御装置をリセットするリセット装置と、
前記制御装置の動作状態を監視し、前記所定の機器が起動されてから停止されるまでの間に、前記制御装置が前記リセット装置によって所定回数以上リセットされた場合に、前記制御装置の動作状態を異常と判定する監視装置と
を含むことを特徴とする監視システム。
【請求項７】
所定の機器の動作を制御する制御装置の動作状態を示す情報を取得する取得工程と、
前記取得工程によって取得される情報に基づいて前記制御装置の動作状態を監視する監視工程と、
前記監視工程による前記制御装置の監視結果を記憶する記憶工程と、
前記所定の機器が起動されてから停止されるまでの間に、所定の動作を行わない前記制御装置をリセットするリセット装置によって前記制御装置が所定回数以上リセットされたことを前記監視結果に基づいて検出した場合に、前記制御装置を異常と判定する判定工程と
を含むことを特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、監視装置、監視システム、および監視方法に関する。
【背景技術】
【０００２】
従来、監視対象の装置に所定周期で信号レベルが反転するウォッチドッグパルス（以下、「ＷＤＰ」と記載する）を出力させ、監視対象の装置から入力されるＷＤＰの周期性に基づいて、監視対象の装置を監視する監視装置がある。
【０００３】
かかる監視装置は、監視対象の装置から入力されるＷＤＰの信号レベルが所定時間以上反転しない場合や、監視対象の装置からＷＤＰが入力されない場合に、監視対象の装置をリセットする（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１３７０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、監視装置は、ＷＤＰの周期性やＷＤＰの入力有無を監視するだけでは、監視対象の装置の異常を確実に判定することができないことがある。実施形態の一態様は、上記に鑑みてなされたものであって、監視対象の装置の異常をより確実に判定することができる監視装置、監視システム、および監視方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態の一態様に係る監視装置は、取得部と、監視部と、記憶部と、判定部とを備える。取得部は、所定の機器を制御する制御装置の動作状態を示す情報を取得する。監視部は、前記取得部によって取得される情報に基づいて前記制御装置の動作状態を監視する。記憶部は、前記監視部による前記制御装置の監視結果を記憶する。判定部は、前記所定の機器が起動されてから停止されるまでの間に、所定の動作を行わない前記制御装置をリセットするリセット装置によって前記制御装置が所定回数以上リセットされたことを前記監視結果に基づいて検出した場合に、前記制御装置を異常と判定する。
【発明の効果】
【０００７】
実施形態の一態様に係る監視装置、監視システム、および監視方法は、監視対象の装置の異常をより確実に判定することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る監視方法の説明図である。
【図２】図２は、実施形態に係る監視システムの構成の一例を示す説明図である。
【図３】図３は、実施形態に係る監視システムの動作の一例を示す説明図である。
【図４】図４は、実施形態に係る監視システムの動作の一例を示す説明図である。
【図５】図５は、実施形態に係る監視装置の制御部が実行する処理を示すフローチャートである。
【図６】図６は、実施形態に係る監視装置の制御部が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本願の開示する監視装置、監視システム、および監視方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。図１は、実施形態に係る監視方法の説明図である。図１に示すように、実施形態に係る監視システム１００は、制御装置１、リセット装置２、および監視装置３を含む。
【００１０】
制御装置１は、例えば、車両のエンジン１０１の動作を制御するＥＣＵ（Electronic  Control  Unit）である。なお、制御装置１は、車両以外を駆動する原動機や、車両を駆動するモータ等、車両のエンジン以外の任意の機器を制御する装置であってよい。
【００１１】
リセット装置２は、制御装置１との間で情報の送受信を行い、制御装置１が所定の動作を行わない場合に、制御装置１へリセット要求Ｒ１を出力することによって、制御装置１をリセットする装置である。
【００１２】
例えば、リセット装置２は、制御装置１へ問題Ｑを送信し、制御装置１から問題Ｑの回答Ａを受信する。そして、リセット装置２は、回答Ａが不正解の場合に、制御装置１が所定の演算動作を行わないと判定し、制御装置１へリセット要求Ｒ１を送信する。また、リセット装置２は、エンジン１０１が停止される場合にも、制御装置１へリセット要求Ｒ１を出力し、車両の電源をシャットダウンさせる処理も行う。
【００１３】
制御装置１は、リセット装置２からリセット要求Ｒ１を受信した場合に、監視装置３へリセット要求Ｒ２を送信して監視装置３をリセットし、その後、制御装置１自体のリセットを行った後に、動作を再開する。なお、制御装置１は、エンジン１０１が停止される場合には、リセット要求Ｒ１を受信した後に、電源がシャットダウンされるため、動作を終了する。
【００１４】
また、制御装置１は、回答Ａとは別に、回答Ａをリセット装置２へ送信するタイミングで信号レベルが反転する周期信号（以下、「ＣＳ（Chip  Select）信号Ｓ」と記載する）をリセット装置２へ送信する。
【００１５】
監視装置３は、制御装置１の動作状態を監視して制御装置１の異常の有無を判定する装置である。監視装置３は、例えば、エンジン１０１のスロットルを駆動する電子スロットル駆動モータ１０２に接続され、制御装置１を異常と判定した場合に、電子スロットル駆動モータ１０２に対してフェールセーフ制御を行う。
【００１６】
なお、監視装置３は、制御装置１を異常と判定した場合に、電子スロットル駆動モータ１０２以外の機器に対して、フェールセーフ制御を行う構成であってもよい。かかる監視装置３は、例えば、制御装置１からリセット装置２へ送信されるＣＳ信号Ｓを監視することで、制御装置１の異常を判定することは可能である。
【００１７】
しかしながら、監視装置３は、ＣＳ信号Ｓを監視するだけでは、制御装置１の異常を正確に判定できない場合がある。例えば、制御装置１は、異常でない状態であっても、ある瞬間だけ所定のタイミングで信号レベルが反転せず、その後、正常に所定周期で信号レベルが反転するＣＳ信号Ｓを出力する場合がある。
【００１８】
以下、このように、ＣＳ信号Ｓで信号レベルが反転すべきタイミングで信号レベルが反転しない事象を「ＣＳ信号抜け」と称する。監視装置３は、ＣＳ信号Ｓだけを監視して制御装置１の異常を判定すると、ＣＳ信号抜けを検出した場合に、制御装置１が正常な状態であっても、制御装置１を異常と誤判定することがある。
【００１９】
一方、監視装置３は、前述した問題Ｑおよび回答Ａを記憶しておき、リセット装置２から制御装置１へ送信される問題Ｑと、制御装置１からリセット装置２へ送信される回答Ａを取得して確認することにより制御装置１の異常を判定することは可能である。
【００２０】
しかしながら、かかる構成の場合、監視装置３は、ＣＳ信号Ｓを取得する入力端子に加えて、問題Ｑを取得する入力端子と、回答Ａを取得する入力端子とを備える必要があり、コストが嵩む。
【００２１】
そこで、実施形態に係る監視装置３は、制御装置１の動作状態を示す情報を取得し、取得した情報に基づいて制御装置１の動作状態を監視して監視結果を記憶する。そして、監視装置３は、制御装置１のエンジン１０１が起動されてから停止されるまでの間に、リセット装置２によって制御装置１が所定回数以上リセットされたことを監視結果に基づいて検出した場合に、制御装置１を異常と判定する。
【００２２】
これにより、監視装置３は、リセットされた後に動作を再開する場合に、記憶しておいた監視結果を参照することによって、リセット前の制御装置１に異常の兆候があったか否かを判定することができる。
【００２３】
したがって、監視装置３は、今回のリセットがエンジン１０１の停止による正常なリセットか、制御装置１の異常に起因したリセット装置２によるリセットかを判別することができるので、制御装置１の異常を確実に判定することができる。
【００２４】
次に、図２を参照し、実施形態に係る監視システム１００の構成の一例について説明する。図２は、実施形態に係る監視システム１００の構成の一例を示す説明図である。なお、図２には、制御装置１の監視に関する構成要素を選択的に図示しており、他の構成要素については図示を省略している。
【００２５】
図２に示すように、監視システム１００は、制御装置１、リセット装置２、および監視装置３を含む。前述したように、制御装置１は、エンジン１０１の動作制御を行うＥＣＵであり、リセット装置２および監視装置３に接続される。
【００２６】
制御装置１は、例えば、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。
【００２７】
制御装置１は、ＣＰＵがＲＯＭに記憶されたプログラムを、ＲＡＭを作業領域として使用して実行することにより機能するリセット処理部１１と、演算部１２とを備える。なお、リセット処理部１１および演算部１２は、一部または全部がＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成されてもよい。
【００２８】
リセット処理部１１は、リセット装置２からリセット要求Ｒ１を受信した場合に、監視装置３へリセット要求Ｒ２を送信して監視装置３をリセットした後に、制御装置１自体をリセットする。その後、制御装置１は、所定の起動処理（以下、「イニシャル処理」と記載する）を実行した後に、通常の動作を開始する。
【００２９】
演算部１２は、リセット装置２から所定周期で問題Ｑを受信し、受信した問題Ｑの回答Ａを演算処理によって導出する。そして、演算部１２は、導出した回答Ａをリセット装置２へ送信する。
【００３０】
また、演算部１２は、例えば、回答Ａをリセット装置２へ送信するタイミング、および問題Ｑをリセット装置２から受信するタイミングで信号レベルがＬｏｗとなり、それ以外の期間に信号レベルがＨｉｇｈとなるＣＳ信号Ｓをリセット装置２へ送信する。かかるＣＳ信号Ｓは、監視装置３にも送信される。
【００３１】
リセット装置２は、制御部２１と記憶部２２とを備える。制御部２１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。制御部２１は、ＣＰＵがＲＯＭに記憶されたプログラムを、ＲＡＭを作業領域として使用して実行することにより機能するＱ＆Ａ処理部２３と、リセット処理部２４とを備える。
【００３２】
なお、Ｑ＆Ａ処理部２３およびリセット処理部２４は、一部または全部がＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成されてもよい。記憶部２２は、例えば、ＲＡＭやフラッシュメモリ等の記憶装置であり、周期異常カウンタ２５を記憶する。
【００３３】
Ｑ＆Ａ処理部２３は、制御装置１からの要求に応答して所定周期で制御装置１へ問題Ｑを送信し、制御装置１から問題Ｑの回答Ａを受信する。Ｑ＆Ａ処理部２３は、各問題Ｑの回答を記憶しており、制御装置１から受信した回答Ａと記憶している回答とを比較して、回答Ａが正解か否かを判定する。
【００３４】
なお、Ｑ＆Ａ処理部２３は、各問題Ｑの回答を記憶せずに、制御装置１へ送信した問題Ｑの回答を演算により導出し、導出した回答と制御装置１から受信した回答とを比較して、回答Ａが正解か否かを判定する構成であってもよい。
【００３５】
Ｑ＆Ａ処理部２３は、受信した回答Ａが不正解であった場合に、周期異常カウンタ２５のカウント値を２カウントアップする。また、Ｑ＆Ａ処理部２３は、制御装置１から所定のタイミングで回答Ａを受信しない場合に、周期異常カウンタ２５のカウント値を２カウントアップする。
【００３６】
また、Ｑ＆Ａ処理部２３は、周期異常カウンタ２５のカウント値が１以上の場合に、適切なタイミングで受信した回答Ａが正解であれば、周期異常カウンタ２５のカウント値を１カウントダウンする。
【００３７】
リセット処理部２４は、制御装置１が所定の動作を行わない場合に、制御装置１へリセット要求Ｒ１を送信する。例えば、リセット処理部２４は、周期異常カウンタ２５のカウント値が６に達した場合に、制御装置１へリセット要求Ｒ１を送信する。そして、リセット処理部２４は、周期異常カウンタ２５のカウント値をクリアする。
【００３８】
また、リセット処理部２４は、車両のイグニッションスイッチがＯＦＦ（以下、「ＩＧ−ＯＦＦ」と記載する）される場合にも、制御装置１へリセット要求Ｒ１を送信する。このとき、リセット装置２は、車両の電源をシャットダウンする。
【００３９】
なお、ここでは、図示を省略したが、記憶部２２は、リセット処理部２４がリセット要求Ｒ１を送信する毎にカウント値を１カウントアップするリセットカウンタ（図３参照）のカウント値を記憶する。そして、リセット処理部２４は、リセットカウンタのカウント値が６に達した場合に、車両の電源をシャットダウンする。
【００４０】
監視装置３は、制御部４と、記憶部５とを備える。制御部４は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポートなどを有するマイクロコンピュータや各種の回路を含む。制御部４は、ＣＰＵがＲＯＭに記憶されたプログラムを、ＲＡＭを作業領域として使用して実行することにより機能する取得部４１、監視部４２、判定部４３、およびフェールセーフ制御部４４を備える。
【００４１】
なお、取得部４１、監視部４２、判定部４３、およびフェールセーフ制御部４４は、一部または全部がＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成されてもよい。
【００４２】
記憶部５は、例えば、ＲＡＭやフラッシュメモリ等の記憶装置であり、異常終了フラグ５１、異常終了カウンタ５２、ＣＳ信号抜けカウンタ５３、ＣＳ信号抜けフラグ５４、および仮異常フラグ５５を記憶する。
【００４３】
異常終了フラグ５１は、エンジン１０１が起動される場合にＯＮとなり、エンジン１０１が停止される場合にＯＦＦとなるフラグである。異常終了カウンタ５２は、監視装置３がリセットされてイニシャル処理を行う時点で異常終了フラグ５１がＯＮの場合に１カウントアップされるカウンタである。
【００４４】
なお、異常終了フラグ５１は、監視装置３がリセットされてイニシャル処理を行う時点でＯＦＦの場合には、ＯＮにされる。ＣＳ信号抜けカウンタ５３は、ＣＳ信号Ｓの信号レベルがＬｏｗになる周期をカウントするカウンタである。ＣＳ信号抜けフラグ５４は、ＣＳ信号抜けが発生した場合に、ＯＦＦからＯＮになるフラグである。かかるＣＳ信号抜けフラグ５４は、ＣＳ信号抜けカウンタ５３のカウント値が制御装置１からリセット装置２へ回答Ａが送信されるべき周期を超えた場合に、ＯＦＦからＯＮになる情報非送信フラグの一例である。
【００４５】
ＣＳ信号抜けフラグ５４は、エンジン１０１が起動されてから最初にＣＳ信号抜けが発生した場合にＯＮとなり、エンジン１０１が停止されるまでＯＮを維持し、エンジン１０１が停止される場合にＯＦＦとなる。仮異常フラグ５５は、監視装置３によって制御装置１が仮異常と判定された場合に、ＯＦＦからＯＮとなる。
【００４６】
異常終了フラグ５１、ＣＳ信号抜けフラグ５４、および仮異常フラグ５５の状態、異常終了カウンタ５２およびＣＳ信号抜けカウンタ５３のカウント値の時間経過に伴う遷移の一例については、図３および図４を参照して後述する。
【００４７】
取得部４１は、制御装置１の動作状態を示す情報を取得する。具体的には、取得部４１は、制御装置１の動作状態を示す情報として、制御装置１から送信されるリセット要求Ｒ２、およびＣＳ信号Ｓを取得し、取得した情報を監視部４２へ出力する。監視部４２は、取得部４１によって取得される情報に基づいて制御装置１の動作状態を監視し、監視結果に応じて記憶部５の記憶内容を更新する。
【００４８】
監視部４２は、取得部４１によって取得される情報に応じて、異常終了フラグ５１、ＣＳ信号抜けフラグ５４、および仮異常フラグ５５の状態と、異常終了カウンタ５２およびＣＳ信号抜けカウンタ５３のカウント値とを更新する。かかる監視部４２が制御装置１の監視結果に応じて記憶部５の記憶内容を更新する具体的な一例については、図３および図４を参照して後述する。
【００４９】
判定部４３は、記憶部５に記憶された異常終了フラグ５１、ＣＳ信号抜けフラグ５４および仮異常フラグ５５の状態と、異常終了カウンタ５２およびＣＳ信号抜けカウンタ５３のカウント値に基づいて、制御装置１が異常か否かを判定する。判定部４３が制御装置１の異常を判定する具体的な一例についても、図３および図４を参照して後述する。
【００５０】
判定部４３は、制御装置１を異常と判定した場合に、その旨を示す信号をフェールセーフ制御部４４へ出力する。フェールセーフ制御部４４は、判定部４３から制御装置１が異常であることを示す信号が入力された場合に、電子スロットル駆動モータ１０２に対してフェールセーフ制御を行う。
【００５１】
例えば、フェールセーフ制御部４４は、エンジン１０１の回転数を自動的に低下させる制御信号を電子スロットル駆動モータ１０２へ出力してフェールセーフ制御を行う。このとき、フェールセーフ制御部４４は、エンジン１０１の回転数がアイドリング状態の場合よりも若干高くなる程度に電子スロットルを開かせる制御を行う。
【００５２】
これにより、フェールセーフ制御部４４は、車両が走行中に制御装置１の動作状態が異常になった場合に、車両の速度を安全な速度まで低下させ、運転者に車両を安全な場所（例えば、路肩等）に停止させることができる。
【００５３】
次に、図３および図４を参照し、実施形態に係る監視システム１００の動作の一例について説明する。図３および図４は、実施形態に係る監視システム１００の動作の一例を示す説明図である。
【００５４】
なお、図３には、制御装置１が連続して不正解の回答Ａをリセット装置２へ送信する場合の監視システム１００の動作の一例を示している。また、図４には、制御装置１が所定周期で回答Ａをリセット装置２へ送信しない事象が間欠的に発生する場合の監視システム１００の動作の一例を示している。
【００５５】
また、図３には、上から順に、（ａ）Ｑ＆Ａウィンドウ、（ｂ）Ｑ＆Ａ送受信状況、（ｃ）周期異常カウンタ、（ｄ）リセットカウンタ、（ｅ）ＣＳ信号Ｓ、（ｆ）ＣＳ信号抜けカウンタ５３、（ｇ）ＣＳ信号抜けフラグ５４、（ｈ）異常終了フラグ５１、（ｉ）異常終了カウンタ５２、（ｊ）制御装置動作状態、および（ｋ）監視装置監視状態の遷移を示している。なお、図３に示す横軸は、時間軸である。
【００５６】
また、図４には、上から順に、（ａ）Ｑ＆Ａウィンドウ、（ｂ）Ｑ＆Ａ送受信状況、（ｃ）周期異常カウンタ、（ｄ）ＣＳ信号Ｓ、（ｅ）ＣＳ信号抜けカウンタ５３、（ｆ）ＣＳ信号抜けフラグ５４、（ｇ）異常終了フラグ５１、（ｈ）異常終了カウンタ５２、（ｉ）制御装置動作状態、および（ｊ）監視装置監視状態の遷移を示している。なお、図４に示す横軸は、時間軸である。
【００５７】
なお、図３および図４に示すＱ＆Ａウィンドウは、リセット装置２が制御装置１から問題Ｑの回答Ａを受け付ける受付期間を示している。リセット装置２は、Ｑ＆ＡウィンドウがＯｐｅｎの期間に受信する回答Ａを有効な回答Ａとして取得し、Ｑ＆ＡウィンドウがＣｌｏｓｅの期間に受信する回答Ａを無効な回答Ａとして取得する。
【００５８】
また、リセット装置２は、前回の回答Ａを受信したタイミングでＱ＆ＡウィンドウをＣｌｏｓｅにし、Ｑ＆ＡウィンドウがＣｌｏｓｅの期間に、制御装置１からの問題送信要求に応答して、制御装置１へ次の問題Ｑを送信する。
【００５９】
そして、リセット装置２は、Ｑ＆ＡウィンドウをＣｌｏｓｅにしてから６ｍｓ後に、Ｑ＆ＡウィンドウをＯｐｅｎにする。その後、リセット装置２は、制御装置１から回答Ａを受信したタイミングでＱ＆ＡウィンドウをＣｌｏｓｅにする。
【００６０】
また、リセット装置２は、Ｑ＆ＡウィンドウをＯｐｅｎにしてから６ｍｓが経過しても回答Ａを受信しない場合、Ｑ＆ＡウィンドウをＣｌｏｓｅにする。また、リセット装置２は、Ｑ＆ＡウィンドウがＣｌｏｓｅの期間に回答Ａを受信した場合、かかる回答Ａを無効とするが、無効な回答Ａを受信したことに変わりはないため、無効な回答Ａを受信してから６ｓｍ間はＱ＆ＡウィンドウをＣｌｏｓｅにする。
【００６１】
一方、制御装置１は、基本動作として、４ｍｓ周期で問題Ｑの受信と、回答Ａの送信とを繰り返す。つまり、制御装置１は、問題Ｑを受信してから４ｍｓ後に回答Ａを送信し、回答Ａを送信してから４ｍｓ後に次の問題Ｑを受信するという動作を繰り返す。ただし、制御装置１は、まれに所定周期で回答Ａを送信しない場合がある。かかる場合に前述したＣＳ信号抜けが発生する。
【００６２】
上記した制御装置１およびリセット装置２の基本動作を踏まえて、図３を参照し、制御装置１が連続して不正解の回答Ａをリセット装置２へ送信する場合の監視システム１００の動作の一例について説明する。
【００６３】
図３に示す例では、図３（ｂ）に示すように、制御装置１は、４ｍｓ周期で正確に回答Ａの送信と、問題Ｑの受信を繰り返している。このため、図３（ｅ）に示すように、制御装置１は、回答Ａを送信するタイミングおよび問題Ｑを受信するタイミングで周期的に信号レベルがＬｏｗとなり、それ以外の期間に信号レベルがＨｉｇｈとなるＣＳ信号Ｓをリセット装置２へ送信する。
【００６４】
ただし、図３（ｂ）に×印で示すように、制御装置１は、２回目まで正解の回答Ａを送信した後、９回連続して不正解の回答Ａをリセット装置２へ送信している。このため、図３（ｃ）に示すように、リセット装置２は、不正解の回答Ａを受信する毎に、周期異常カウンタ２５のカウント値を２ずつカウントアップする。
【００６５】
そして、リセット装置２は、周期異常カウンタ２５が６に達すると、制御装置１へリセット要求Ｒ１を送信して、周期異常カウンタ２５のカウント値をクリアする。制御装置１は、リセット装置２からリセット要求Ｒ１を受信すると、監視装置３へリセット要求Ｒ２を送信する。
【００６６】
これにより、図３（ｋ）と（ｊ）とに示すように、制御装置１および監視装置３は、周期異常カウンタ２５のカウント値が６に達する毎にリセットし、その後、それぞれイニシャル処理を行った後に動作を再開する。
【００６７】
また、リセット装置２は、図３（ｄ）に示すように、制御装置１および監視装置３がリセットする毎にリセットカウンタのカウント値を１ずつカウントアップする。そして、リセット装置２は、リセットカウンタのカウント値が６に達すると、車両の電源をシャットダウンさせる。
【００６８】
このような動作を制御装置１およびリセット装置２が行う場合、図３（ｅ）に示すように、監視装置３は、ＣＳ信号Ｓの信号レベルがＬｏｗになってから次にＬｏｗになるまで、ＣＳ信号抜けカウンタ５３のカウント値を１ｍｓ毎に１ずつカウントアップする。このように、ＣＳ信号抜けカウンタ５３は、制御装置１およびリセット装置２間の情報の送受信タイミングの周期をカウントする周期カウンタとして機能する。
【００６９】
そして、監視装置３は、ＣＳ信号Ｓの信号レベルがＬｏｗになる毎に、ＣＳ信号抜けカウンタ５３のカウント値をクリアする。図３に示す例では、監視装置３は、ＣＳ信号抜けが発生しないので、ＣＳ信号抜けカウンタ５３のカウント値を４までカウントアップした後にカウント値をクリアする動作を繰り返す。
【００７０】
このように、図３に示す例では、ＣＳ信号抜けが発生しないため、図３（ｇ）に示すように、監視装置３は、ＣＳ信号抜けフラグ５４をＯＦＦの状態に維持する。また、図３（ｈ）に示すように、監視装置３は、エンジン１０１が起動される場合に、異常終了フラグ５１をＯＦＦからＯＮにする。
【００７１】
なお、監視装置３は、ＩＧ−ＯＦＦされる場合に、異常終了フラグ５１をＯＮからＯＦＦにする。ここで、図３に示す期間にはＩＧ−ＯＦＦされることはないものとする。かかる場合、監視装置３は、図３（ｋ）に示すように、リセット後に行うイニシャル処理中に、図３（ｈ）に示す異常終了フラグ５１の状態を確認する。
【００７２】
このとき、異常終了フラグ５１がＯＮであれば、今回の監視装置３のリセットがＩＧ−ＯＦＦに伴うリセットではなく、制御装置１の異常によりリセット装置２が制御装置１をリセットしたことによるリセットであることが推定できる。
【００７３】
実際に、図３に示す例では、制御装置１が不正解の回答Ａを３回連続してリセット装置２へ送信したことで、リセット装置２が制御装置１をリセットしており、これに伴って監視装置３がリセットされている。
【００７４】
そこで、監視装置３は、リセット後のイニシャル処理中に異常終了フラグ５１の状態を確認し、異常終了フラグ５１がＯＮであれば、制御装置１の異常により、制御装置１がリセット装置２によってリセットされたと推定する。こうして、監視装置３は、制御装置１の異常を推定する。
【００７５】
ただし、監視装置３は、制御装置１を１回だけ異常と推定しても、制御装置１を異常とは判定せず、図３（ｉ）に示すように、異常終了カウンタ５２のカウント値を１カウントアップする。これにより、監視装置３は、制御装置１に異常の兆候があったという履歴を残すことができる。
【００７６】
その後、監視装置３は、同様の状況、すなわち、リセット処理後のイニシャル処理中に、異常終了フラグ５１がＯＮになっていた場合に、異常終了カウンタ５２のカウント値を１ずつカウントアップする。
【００７７】
この間、図３（ｊ）に示すように、制御装置１は、通常動作を継続する。一方、図３（ｋ）に示すように、監視装置３は、制御装置１を正常と判定する。そして、監視装置３は、異常終了カウンタ５２のカウント値が４に達した場合に、制御装置１を本異常と判定する。
【００７８】
つまり、監視装置３は、エンジン１０１が起動されてから停止されるまでの間に、リセット装置２によって、制御装置１が所定回数（ここでは、４回）以上リセットされたことを異常終了カウンタ５２に基づいて検出した場合に、制御装置１を異常と判定する。これにより、監視装置３は、制御装置１の異常を確実に判定することができる。
【００７９】
そして、監視装置３は、制御装置１を本異常と判定した場合に、前述したフェールセーフ制御を開始する。このように、監視装置３は、リセットが６回行われて電源がシャットダウンされる前に、リセットが４回行われた時点でフェールセーフ制御を開始することにより、電力が供給されている状態で確実にフェールセーフ制御を行うことができる。
【００８０】
次に、図４を参照し、制御装置１が所定周期で回答Ａをリセット装置２へ送信しない事象が間欠的に発生する場合の監視システム１００の動作の一例について説明する。ここでは、ＩＧ−ＯＦＦされないものとして説明する。このため、図４に示す例では、図４（ｇ）に示すように、異常終了フラグ５１は、ＯＮの状態が維持されている。
【００８１】
図４に示す例では、図４（ｂ）に示すように、制御装置１は、３回連続して正解の回答Ａをリセット装置２へ送信するが、次に回答Ａを送信するタイミングで回答を送信していない。
【００８２】
このため、図４（ａ）に示すように、リセット装置２は、３回目の回答Ａを受信してからＱ＆ＡウィンドウをＣｌｏｓｅにした後、回答Ａを受信しないので、６ｍｓ間Ｑ＆ＡウィンドウをＯｐｅｎにしてからＱ＆ＡウィンドウをＣｌｏｓｅにする。
【００８３】
このとき、図４（ｂ）に示すように、制御装置１は、４ｍｓ周期で動作しているため、Ｑ＆ＡウィンドウがＣｌｏｓｅされるタイミングで次の問題Ｑを受信し、その４ｍｓ後に回答Ａを送信する。
【００８４】
ただし、リセット装置２は、基本動作として、Ｑ＆ＡウィンドウをＣｌｏｓｅしてから６ｍｓ経過するまではＱ＆ＡウィンドウをＯｐｅｎにしない。このため、図４（ａ）と（ｂ）とに示すように、リセット装置２は、Ｑ＆ＡウィンドウをＣｌｏｓｅしてから４ｍｓ経過後に受信する回答（Ａ）を無効とし、無効な回答（Ａ）を受信してから６ｍｓ後にＱ＆ＡウィンドウをＯｐｅｎにする。
【００８５】
その後、図４（ｂ）示すように、制御装置１は、２回連続して正解の回答Ａを送信し、次に回答Ａを送信するタイミングで回答Ａを送信せず、その後、Ｑ＆ＡウィンドウがＣｌｏｓｅの期間に回答（Ａ）を送信する。かかる回答（Ａ）は、前述した回答（Ａ）と同様に、リセット装置２によって無効とされる。
【００８６】
かかる問題Ｑおよび回答Ａの送受信を行う場合、制御装置１は、図４（ｄ）に示すＣＳ信号Ｓを出力する。つまり、制御装置１は、送信すべき回答Ａを送信しなかったタイミングでＣＳ信号抜けが発生したことを示すＣＳ信号Ｓを送信する。
【００８７】
一方、リセット装置２は、図４（ｃ）に示すように、回答Ａを受信すべきタイミングに回答を受信しない場合、および受信した回答（Ａ）を無効とした場合に、周期異常カウンタ２５のカウント値を２ずつカウントアップする。
【００８８】
続いて、リセット装置２は、正解の回答Ａを受信する毎に、周期異常カウンタ２５のカウント値を１ずつカウントアップする。その後、リセット装置２は、回答Ａを受信すべきタイミングに回答を受信しない場合、および受信した回答（Ａ）を無効とした場合に、周期異常カウンタ２５のカウント値を２ずつカウントアップする。
【００８９】
そして、リセット装置２は、周期異常カウンタ２５が６に達すると、制御装置１へリセット要求Ｒ１を送信して、周期異常カウンタ２５のカウント値をクリアする。制御装置１は、リセット装置２からリセット要求Ｒ１を受信すると、監視装置３へリセット要求Ｒ２を送信する。
【００９０】
これにより、図３（ｋ）と（ｊ）とに示すように、制御装置１および監視装置３は、周期異常カウンタ２５のカウント値が６に達する毎にリセットし、その後、それぞれイニシャル処理を行った後に動作を再開する。
【００９１】
このような動作を制御装置１およびリセット装置２が行う場合、図３（ｅ）に示すように、監視装置３は、ＣＳ信号Ｓの信号レベルがＬｏｗになってから次にＬｏｗになるまで、ＣＳ信号抜けカウンタ５３のカウント値を１ｍｓ毎に１ずつカウントアップする。
【００９２】
そして、監視装置３は、ＣＳ信号Ｓの信号レベルがＬｏｗになる毎に、ＣＳ信号抜けカウンタ５３のカウント値をクリアする。図４に示す例では、ＣＳ信号抜けが２回発生している。
【００９３】
かかる場合、監視装置３は、図４（ｅ）と（ｆ）とに示すように、１回目のＣＳ信号抜けが発生し、ＣＳ信号抜けカウンタ５３のカウント値が６に達したタイミングで、ＣＳ信号抜けフラグ５４をＯＦＦからＯＮにする。
【００９４】
つまり、監視装置３は、ＣＳ信号抜けが発生して制御装置１に異常の兆候があったことを示す監視結果を、ＣＳ信号抜けフラグ５４をＯＮにすることで記憶部５に記憶させる。その後、監視装置３は、図４（ｊ）に示すように、リセット後に行うイニシャル処理中に、図４（ｆ）に示すＣＳ信号抜けフラグ５４の状態を確認する。
【００９５】
このとき、ＣＳ信号抜けフラグ５４がＯＮであれば、今回の監視装置３のリセットがＩＧ−ＯＦＦに伴うリセットではなく、制御装置１の異常によりリセット装置２が制御装置１をリセットしたことによるリセットであることが推定できる。
【００９６】
実際に、図４に示す例では、ＣＳ信号抜けが２回発生しており、これに起因してリセット装置２が制御装置１をリセットしており、これに伴って監視装置３がリセットされている。
【００９７】
そこで、監視装置３は、リセット後のイニシャル処理中にＣＳ信号抜けフラグ５４の状態を確認し、ＣＳ信号抜けフラグ５４がＯＮであれば、制御装置１の異常により、制御装置１がリセット装置２によってリセットされたと推定する。こうして、監視装置３は、制御装置１の異常を推定する。
【００９８】
ただし、監視装置３は、制御装置１を１回だけ異常と推定しても、制御装置１を異常とは判定せず、図４（ｈ）に示すように、異常終了カウンタ５２のカウント値を１カウントアップする。
【００９９】
そして、監視装置３は、図４（ｆ）に示すように、ＣＳ信号抜けフラグ５４をＯＮからＯＦＦにし、図４（ｊ）に示すように、制御装置１を仮異常と判定して、仮異常フラグ５５をＯＮにする。これにより、監視装置３は、制御装置１に異常の兆候があったという履歴を残すことができる。
【０１００】
その後、監視装置３は、再度、制御装置１を仮異常と判定した場合に、仮異常フラグ５５がＯＮになっていた場合、つまり、エンジン１０１が起動されてから停止されるまでの間に、制御装置１を２回仮異常と判定した場合に、制御装置１を本異常と判定する。これにより、監視装置３は、制御装置１の異常を確実に判定することができる。
【０１０１】
そして、監視装置３は、制御装置１を本異常と判定した場合に、前述したフェールセーフ制御を開始する。このように、監視装置３は、リセットが６回行われて電源がシャットダウンされる前に、ＣＳ信号抜けに起因してリセットが２回行われた時点でフェールセーフ制御を開始することにより、電力が供給されている状態で確実にフェールセーフ制御を行うことができる。
【０１０２】
次に、図５および図６を参照して、実施形態に係る監視装置３の制御部４が実行する処理の一例について説明する。図５および図６は、実施形態に係る監視装置３の制御部４が実行する処理を示すフローチャートである。
【０１０３】
制御部４は、エンジン１０１が起動されてリセットし、異常終了フラグ５１をＯＦＦからＯＮにした後に、図５に示す処理を開始する。具体的には、制御部４は、まず、イニシャル処理を実行し（ステップＳ１０１）、異常終了フラグ５１がＯＦＦか否かを判定する（ステップＳ１０２）。そして、制御部４は、異常終了フラグ５１がＯＦＦであると判定した場合（ステップＳ１０２，Ｙｅｓ）、処理をステップＳ１０３へ移す。
【０１０４】
また、制御部４は、異常終了フラグ５１がＯＦＦでないと判定した場合（ステップＳ１０２，Ｎｏ）、異常終了カウンタ５２のカウント値を１カウントアップする（ステップＳ１１１）。続いて、制御部４は、異常終了カウンタ５２のカウント値（ここでは、「異常終了カウント値」と記載する）が４以上か否かを判定する（ステップＳ１１２）。
【０１０５】
そして、制御部４は、異常終了カウント値が４以上であると判定した場合（ステップＳ１１２，Ｙｅｓ）、処理をステップＳ１１３へ移す。また、制御部４は、異常終了カウント値が４以上でないと判定した場合（ステップＳ１１２，Ｎｏ）、処理をステップＳ１０３へ移す。
【０１０６】
ステップＳ１０３において、制御部４は、ＣＳ信号抜けフラグ５４がＯＮか否かを判定する。そして、制御部４は、ＣＳ信号抜けフラグ５４がＯＮでないと判定した場合（ステップＳ１０３，Ｎｏ）、処理をステップＳ１０７へ移す。
【０１０７】
また、制御部４は、ＣＳ信号抜けフラグ５４がＯＮであると判定した場合（ステップＳ１０３，Ｙｅｓ）、制御部４は、仮異常フラグ５５がＯＦＦか否かを判定する（ステップＳ１０４）。
【０１０８】
そして、制御部４は、仮異常フラグ５５がＯＦＦでないと判定した場合（ステップＳ１０４，Ｎｏ）、制御装置１を本異常と判定し（ステップＳ１１３）、フェールセーフ制御を行い（ステップＳ１１４）、処理を終了する。
【０１０９】
また、制御部４は、仮異常フラグ５５がＯＦＦであると判定した場合（ステップＳ１０４，Ｙｅｓ）、仮異常フラグ５５をＯＮにし（ステップＳ１０５）、ＣＳ信号抜けフラグ５４をＯＦＦにして（ステップＳ１０６）、通常制御を行う（ステップＳ１０７）。
【０１１０】
制御部４は、かかる通常制御中にも制御装置１の監視処理を行う。制御部４が通常制御中に行う制御装置１の監視処理については、図６を参照して後述する。その後、制御部４は、リセットが発生したか否かを判定する（ステップＳ１０８）。
【０１１１】
そして、制御部４は、リセットが発生したと判定した場合（ステップＳ１０８，Ｙｅｓ）、処理をステップＳ１０１へ移す。また、制御部４は、リセットが発生しないと判定した場合（ステップＳ１０８，Ｎｏ）、ＩＧ−ＯＦＦされたか否かを判定する（ステップＳ１０９）。
【０１１２】
そして、制御部４は、ＩＧ−ＯＦＦされないと判定した場合（ステップＳ１０９，Ｎｏ）処理をステップＳ１０７へ移す。また、制御部４は、ＩＧ−ＯＦＦされたと判定した場合（ステップＳ１０９，Ｙｅｓ）、ＣＳ信号抜けフラグ５４をＯＦＦにし、異常終了フラグ５１をＯＦＦにして（ステップＳ１１０）、処理を終了する。
【０１１３】
次に、図６を参照し、制御部４が通常制御中に行う制御装置１の監視処理について説明する。なお、ここでは、制御部４が通常制御中に行う制御装置１の監視処理以外の処理については説明を省略する。
【０１１４】
制御部４は、１ｍｓ周期で図６に示す処理を繰り返し実行する。具体的には、図６に示すように、制御部４は、通常制御中にＣＳ信号Ｓにエッジが無いか否かを判定する（ステップＳ２０１）。そして、制御部４は、ＣＳ信号Ｓにエッジがあると判定した場合（ステップＳ２０１，Ｎｏ）、処理を終了する。
【０１１５】
また、制御部４は、ＣＳ信号Ｓにエッジが無いと判定した場合（ステップＳ２０１，Ｙｅｓ）、ＣＳ信号抜けカウンタ５３のカウント値（ここでは、「ＣＳ信号抜けカウント値」と記載する）を１カウントアップする（ステップＳ２０２）。続いて、制御部４は、ＣＳ信号抜けカウント値が６以上であるか否かを判定する（ステップＳ２０３）。
【０１１６】
そして、制御部４は、ＣＳ信号抜けカウント値が６以上でないと判定した場合（ステップＳ２０３，Ｎｏ）、処理を終了する。また、制御部４は、ＣＳ信号抜けカウント値が６以上であると判定した場合（ステップＳ２０３，Ｙｅｓ）、ＣＳ信号抜けフラグ５４をＯＦＦからＯＮにして（ステップＳ２０４）、処理を終了する。
【０１１７】
上述したように、実施形態に係る監視装置３は、取得部４１と、監視部４２と、記憶部５と、判定部４３とを備える。取得部４１は、エンジン１０１を制御する制御装置１の動作状態を示す情報を取得する。監視部４２は、取得部４１によって取得される情報に基づいて制御装置１の動作状態を監視する。
【０１１８】
記憶部５は、監視部４２による制御装置１の監視結果を記憶する。判定部４３は、エンジン１０１が起動されてから停止されるまでの間に、所定の動作を行わない制御装置１をリセットするリセット装置２によって制御装置１が所定回数以上リセットされたことを監視結果に基づいて検出した場合に、制御装置１を異常と判定する。これにより、監視装置３は、制御装置１の異常をより確実に判定することができる。
【０１１９】
なお、上記した実施形態では、監視装置３は、異常終了カウンタ５２のカウント値が４に達した場合に、制御装置１を本異常と判定したが、０以外の任意の自然数に達した場合に、制御装置１を本異常と判定する構成であってもよい。
【０１２０】
また、監視装置３は、制御装置１を２回仮異常と判定した場合に、制御装置１を本異常と判定したが、１回仮異常と判定した場合や、３回以上仮異常と判定した場合に、制御装置１を本異常と判定する構成であってもよい。
【０１２１】
また、上記した周期異常カウンタ２５のカウント値を１回にカウントアップする値や１回にカウントダウンする値、リセット装置２が電源をシャットダウンするリセットカウンタのカウント値等は、任意に変更することが可能である。
【０１２２】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１２３】
１  制御装置
２  リセット装置
３  監視装置
４  制御部
５  記憶部
１１  リセット処理部
１２  演算部
２１  制御部
２２  記憶部
２３  Ｑ＆Ａ処理部
２４  リセット処理部
２５  周期異常カウンタ
４１  取得部
４２  監視部
４３  判定部
４４  フェールセーフ制御部
５１  異常終了フラグ
５２  異常終了カウンタ
５３  ＣＳ信号抜けカウンタ
５４  ＣＳ信号抜けフラグ
５５  仮異常フラグ
１００  監視システム
１０１  エンジン
１０２  電子スロットル駆動モータ
【図１】
2019067053.tif 000003
【図２】
2019067053.tif 000004
【図３】
2019067053.tif 000005
【図４】
2019067053.tif 000006
【図５】
2019067053.tif 000007
【図６】
2019067053.tif 000008