(57)【要約】【課題】故障コードがノイズにより本来のコードと異なっても、即座に故障と誤診断されることを防止する。【解決手段】故障診断において故障と診断された場合に（Ｓ１００，１０２）に、故障は発生に対応する故障コードがメモリの二箇所に書き込まれ（Ｓ１０４）、二箇所の故障コードがいずれも故障発生に対応する所定のコードであると判定された場合（Ｓ１０８）にのみ故障発生として所定のエラー出力処理が行われ（Ｓ１１０）、ノイズによる故障コードの書き込みに誤りが生じても、即座に故障とされることがなく、誤診断の発生が防止されるようになっている。【選択図】図２
2005156165.tif 000002
【特許請求の範囲】
【請求項１】
電子機器の動作の故障診断結果を所定の故障コードとしてメモリに記憶し、当該故障コードを判定することで、故障発生の有無を判定する故障診断における誤診断を防止する故障誤診断防止方法であって、
前記故障コードの書き込み領域を二重に設定し、故障診断結果に対する故障コードを、前記二重に設定された書き込み領域にそれぞれ書き込み、
前記二重に書き込みされた故障コードのいずれもが故障発生に対応する所定のコードである場合にのみ故障発生と判定することを特徴とする故障誤診断防止方法。
【請求項２】
故障コードの書き込み領域の二重の設定は、メモリアドレスの異なる二箇所に設定することを特徴とする請求項１記載の故障誤診断防止方法。
【請求項３】
故障コードは、故障であるとの故障診断結果の場合に「１」、故障ではないとの故障診断結果の場合に「０」であることを特徴とする請求項２記載の故障誤診断防止方法。
【請求項４】
電子機器の動作の故障診断結果を所定の故障コードとしてメモリに記憶し、当該故障コードを判定することで、故障発生の有無を判定する故障診断における誤診断を防止するため前記電子機器において実行される故障誤診断防止プログラムであって、
故障診断結果が得られた際に、当該故障診断結果に応じた故障コードを決定するステップと、
前記決定された故障コードをメモリアドレスの異なる二箇所にそれぞれ書き込むステップと、
前記二箇所に書き込まれた故障コードのいずれもが故障発生に対応する所定のコードであるか否かを判定するステップと、
前記二箇所に書き込まれた故障コードのいずれもが故障発生に対応する所定のコードであると判定された場合に、所定の故障発生出力処理を行うステップと、
を具備してなることを特徴とする故障誤診断防止プログラム。
【請求項５】
故障コードは、故障であるとの故障診断結果の場合に「１」、故障ではないとの故障診断結果の場合に「０」であることを特徴とする請求項４記載の故障誤診断防止プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子装置における動作診断における誤診断を防止する方法に係り、特に、ノイズに起因して生ずる誤診断を防止する方法に関する。
【背景技術】
【０００２】
従来、この種の方法としては、例えば、ＲＯＭのデータ診断を行うにあたって、データと共に予めＲＯＭに書き込まれる診断許可フラグを二重にして、いずれの診断フラグも診断許可を示す値である場合にＲＯＭの診断を行うようにして、診断許可フラグ自体のデータエラーにより、ＲＯＭ診断ができなくなることを防止するようにしたものが既に開示されている（例えば、特許文献１）。
【０００３】
【特許文献１】特開２０００−１２３５９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来例は、装置動作中にＲＯＭのデータの診断を繰り返し行うようなものを前提としたものではないために、装置動作中に周期的に繰り返し故障診断を行うようなものに、上記従来例を適用する場合には、故障診断を行う前に、まず、二つの診断許可フラグがいずれも診断を許可する値であるか否かの判断を周期的に毎回繰り返すこととなり、システムの効率的な動作という観点からは非常に煩わしいものとなるという問題がある。
本発明は、上記実状に鑑みてなされたもので、故障コードがノイズにより本来のコードと異なっても、即座に故障と誤診断されることを防止することができ、しかも、装置の動作効率を阻害することがない故障誤診断防止方法及び故障誤診断防止プログラムを提供するものである。
本発明の他の目的は、信頼性の高い故障診断を可能とすることにある。
【課題を解決するための手段】
【０００５】
上記本発明の目的を達成するため、本発明に係る故障誤診断防止方法は、
電子機器の動作の故障診断結果を所定の故障コードとしてメモリに記憶し、当該故障コードを判定することで、故障発生の有無を判定する故障診断における誤診断を防止する故障誤診断防止方法であって、
前記故障コードの書き込み領域を二重に設定し、故障診断結果に対する故障コードを、前記二重に設定された書き込み領域にそれぞれ書き込み、
前記二重に書き込みされた故障コードのいずれもが故障発生に対応する所定のコードである場合にのみ故障発生と判定するよう構成されてなるものである。
【発明の効果】
【０００６】
本発明によれば、故障コードを二重に書き込むようにし、そのいずれもが故障発生に対応するコードである場合にのみ故障発生とするようにしたので、従来と異なり、本来、故障発生ではないにも関わらず、ノイズによって故障コードが故障発生に対応するコードとなっても、二重に書き込まれた故障コードの双方が故障発生に対応するコードとならない限り、従来と異なり、即座に故障発生とされることはなくなり、ノイズ発生に起因する誤診断が確実に防止され、信頼性の高い故障診断を可能とするという効果を奏するものである。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について、図１乃至図３を参照しつつ説明する。
なお、以下に説明する部材、配置等は本発明を限定するものではなく、本発明の趣旨の範囲内で種々改変することができるものである。
最初に、本発明の実施の形態における故障誤診断防止方法は、例えば、電子機器としての車両用電子制御装置における故障診断に適用されるものである。図１には、かかる車両用電子制御装置Ｓの、特に、本発明の実施の形態における故障誤診断防止方法に関わる主要部を中心とした概略構成例が示されており、以下、同図について説明する。
図１において、電子制御ユニット（図１において「ＥＣＵ」と表記）１は、車両のエンジン制御やトランスミッション制御の中心となるもので、エンジン制御やトランスミッション制御のためのプログラムの実行処理に加え、各種の故障診断などのプログラムの実行処理を行うマイクロコンピュータ１と、後述するように故障コードなどの書き込みがなされるＲＡＭ(Random Access Memory)２などを主要な構成要素として構成されたものとなっている。
この電子制御ユニット１０１には、エンジン制御等のために車両に設けられた各種センサ信号が入力され、マイクロコンピュータ１におけるエンジン制御等のための制御プログラムの実行に供されるようになっている。
【０００８】
次に、かかる電子制御ユニット１０１により実行される故障誤診断防止の処理手順について図２及び図３を参照しつつ説明する。
まず、図２に示された一連の処理は、マイクロコンピュータ１により、メインルーチンを構成する複数のサブルーチン処理の一つとして実行されるもので、特に、この図２に示された処理は、周期的に繰り返し行われるものとなっている。
処理が開始されると、故障診断が行われる（図２のステップＳ１００参照）。故障診断は、予め故障診断の対象とされた信号が所定の基準値を満たしているか、あるいは、所定の範囲内にあるかなどを判定するもので、通常は、複数の信号が故障診断の対象とされる。そして、その故障診断は、この図２に示された処理が先に述べたように周期的に繰り返される毎に、順次、その故障診断の対象が一つずつ選択されて故障診断されるようになっている。
【０００９】
そして、故障が発生したか否かが判定される（図２のステップＳ１０２参照）。すなわち、故障診断（図１のステップＳ１００参照）において故障診断の対象が故障発生とされる所定の条件を満たしたとの診断がなされたか否かが判定されることとなる。したがって、ステップＳ１００における故障診断において診断対象が故障発生とされる所定の条件を満たしたとの診断がなされたと判定された場合（ＹＥＳの場合）には、故障発生として次述するステップＳ１０４の処理へ進む一方、それ以外の場合（ＮＯの場合）には、故障発生ではないとして後述するステップＳ１０６の処理へ進むこととなる。
【００１０】
ステップＳ１０４においては、先のステップＳ１００で故障判断がなされた診断対象について、故障発生を示す所定の故障コードが二重にＲＡＭ２の所定箇所に設定されることとなる。すなわち、本発明の実施の形態においては、ある信号について故障と診断された場合、故障を示す故障コードとして例えば「１」を、ＲＡＭ２の故障コード書き込み領域として確保された二箇所の領域にそれぞれ書き込むようになっている。
図３には、ＲＡＭ２における故障コードの書き込みを模式的に説明するための模式図が示されており、以下、同図を参照しつつ、故障コードの二重書き込みについて説明する。
図３において、メモリアドレスを意味するADDR1〜ADDR3は、故障コードの書き込み領域として確保された第１の故障コード書き込み領域５１であり、また、メモリアドレスADDRn1〜ADDRn3の部分は、第１の故障コード書き込み領域５１と同じ故障コードが書き込まれる第２の故障コード書き込み領域５２である。
【００１１】
本発明の実施の形態においては、一つの故障診断の対象についての故障コードは、１ビットであるので、例えば、図３に示された例で、一つのメモリアドレスにおけるデータ容量が８ビットであるとすると、８個の故障診断の対象について各々の故障コードがｄ７〜ｄ０の所定のビットにそれぞれ書き込まれるようになっている。しかも、本発明の実施の形態においては、同じ、一つの故障判断の対象についての故障コードは、第１の故障コード書き込み領域５１と第２の故障コード書き込み領域５２のそれぞれに書き込まれるようになっている。
より具体的に言えば、例えば、第１の故障コード書き込み領域５１におけるメモリアドレスADDR1の第１のビットｄ０が、大気圧センサの出力信号についての故障コードが書き込まれるビットとして割り当てされるとすると、同時に、第２の故障コード書き込み領域５２のメモリアドレスADDRn1の第１のビットｄ０も、大気圧センサの出力信号についての故障コードが書き込まれるビットとして割り当てされるものとなっている。
【００１２】
したがって、ステップ１０４においては、上述の例の大気センサが故障である場合には、メモリアドレスADDR1の第１のビットｄ０とメモリアドレスADDRn1の第１のビットｄ０に、それぞれ「１」が書き込まれる（セットされる）こととなる。
一方、ステップ１０６においては、先のステップＳ１０２における故障ではない（故障未発生）との診断に対応して、その故障未発生とされた故障診断の対象について上述のように割り当てられている第１及び第２の故障コード書き込み領域５１，５２における故障コードのクリアが行われる。すなわち、本発明の実施の形態においては、該当するビットが「０」に設定されることとなる。
【００１３】
次いで、ステップＳ１０８においては、故障診断の対象についての第１及び第２の故障コード書き込み領域５１，５２における故障コードがいずれも「１」であるか否かが判定され、いずれも「１」であると判定された場合（ＹＥＳの場合）には、真に故障発生であるとしてステップＳ１１０の処理へ進み、エラー出力処理がなされることとなる。すなわち、故障と診断された対象に応じて予め設定されている所定の処理、例えば、その故障診断の対象が故障である旨をユーザーへ知らしめるための点灯素子の点灯やブザーの鳴動、さらには、故障に対応した何らかの新たな動作を開始させるいわゆるバックアップ処理の起動などが行われることとなる。このようにエラー出力処理が行われた後は、一連の処理が終了されてメインルーチンへ一旦戻ることとなる。
【００１４】
一方、ステップＳ１０８において、故障診断の対象についての第１及び第２の故障コード書き込み領域５１，５２における故障コードのいずれかが「１」ではないと判定された場合（ＮＯの場合）には、ステップＳ１１２へ進み、故障未発生として、第１及び第２の故障コード書き込み領域５１，５２における該当の故障コードが共に「０」にクリアされ、一連の処理が終了されメインルーチンへ一旦戻ることとなる。
ここで、従来装置においては、故障コードの書き込みが本発明のように二重化されていなかったため、故障コードが本来「０」とされるべき場合に、ノイズによって「１」となると、直ちに故障発生と誤診断されてしまっていた。
【００１５】
これに対して、本発明の実施の形態においては、上述のように、故障コードを二重に書き込むことで、特に、故障コードとして「０」が書き込まれる場合に、ノイズによって「０」が「１」となっても、二重化された故障コードの双方が「１」でなければ、真に故障発生とされることはなく、従来のような誤診断の発生が確実に防止されることとなる。
なお、上述した本発明の実施の形態においては、メモリとしてＲＡＭを使用した例を示したが、故障コードの書き込みに用いるメモリは、ＲＡＭに限定される必要はなく、例えば、ＥＥＰＲＯＭのようなものであってもよい。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態における故障誤診断防止方法が実行される車両用電子制御装置の概略構成例を示す構成図である。
【図２】図１に示された本発明の実施の形態における車両用電子制御装置の主要部をなす電子制御ユニットによって実行される故障誤診断防止処理の手順を示すサブルーチンフローチャートである。
【図３】本発明の実施の形態における故障誤診断防止方法の実行の際に使用されるＲＡＭへの故障コードの書き込み状態を模式的に示す模式図である。
【符号の説明】
【００１７】
１…マイクロコンピュータ
２…ＲＡＭ
１０１…電子制御ユニット
【図１】
2005156165.tif 000003
【図２】
2005156165.tif 000004
【図３】
2005156165.tif 000005