説明

エンジン運転時間積算データ記憶方法及び記憶装置並びにこの記憶装置を備えたエンジン制御装置

【課題】電源が遮断されるタイミングの影響を受けることなくエンジンの運転時間の積算値を正しく得ることができるエンジン運転時間積算値記憶方法を提供する。
【解決手段】一定時間が経過する毎に運転時間の積算値をインクリメントして、インクリメントした積算値をバッファメモリに記憶させた後、バッファメモリの記憶内容をEEPROMの3つのデータ記憶領域に順次書き込む。マイクロプロセッサ11の電源が投入され、そのイニシャライズが終了した後、3つのデータ記憶領域に記憶されているデータを比較することにより、前回のエンジンの運転時の運転時間の積算値の最終値が正しく記憶されていると見なすことができるデータ記憶領域を判定して、積算値の最終値が正しく記憶されていると見なすことができるデータ記憶領域に記憶されている積算値を今回のエンジンの運転時にバッファメモリに記憶させるデータの初期値とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マイクロプロセッサを用いてエンジンの運転時間を計測し、計測された運転時間の積算値を与えるデータを積算データとして、書き換えが可能な不揮発性メモリに記憶させるエンジン運転時間積算データ記憶方法及び記憶装置並びにこの記憶装置を備えたエンジン制御装置に関するものである。
【背景技術】
【0002】
エンジンオイルの交換時期などのメンテナンス時期の管理を行なうために、エンジンの実運転時間を計測して、計測した運転時間の積算値を記憶させる装置が、特許文献1により提案されている。
【0003】
特許文献1に記載された記憶装置においては、オイルを交換した時からのエンジンの運転時間を計測して、その計測値の積算値をメモリに記憶させ、記憶された運転時間の積算値が設定された値を超えたときにオイルを交換する時期が来たことをユーザに報知するようにしている。特許文献1に記載された記憶装置では、運転時間の積算値を記憶させるメモリとしてEEPROM(書換えが可能な不揮発性メモリ)を用いて、エンジンの運転が停止されて電源が落とされた状態でも記憶内容を保持するようにしている。
【特許文献1】特開2003−193905号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された記憶装置では、運転時間の積算値を記憶させるメモリとしてEEPROMを用いているが、EEPROMのような不揮発性メモリは、書込み速度が遅く、メモリへのデータの書込みに要する時間が長いため、メモリにデータを書き込んでいる最中にキースイッチが開かれたり、バッテリが外されたりして電源が遮断されると、メモリに正しいデータが記憶されないおそれがある。
【0005】
特にコストの低減を図るために、EEPROMとして、シリアルインターフェースを用いてデータのやりとりを行なうシリアルEEPROMを用いる場合には、書込みに要する時間が長くかかるため、データ記憶領域にデータを書き込んでいる途中で電源が遮断される確率が高くなる。データ記憶領域にデータを書き込んでいる途中で電源が遮断されると、EEPROMに記憶された運転時間の積算値が不定になるため、次回の運転時に運転時間の積算を開始する際の初期値を正しく定めることができなくなり、記憶された積算値の信頼性が失われる。この場合、メモリに記憶された運転時間の積算値の信憑性が疑わしくなるため、メンテナンスの管理を正しく行なうことができない。
【0006】
本発明の目的は、書込みに要する時間が長い不揮発性メモリを用いる場合でも、エンジンの運転開始時の運転時間の積算値の初期値を常に適正な値として、運転時間の積算を正確に行なわせることができるエンジン運転時間積算データ記憶方法及びこの記憶方法を実施するために用いる記憶装置を提供することにある。
【0007】
本発明の他の目的は、エンジンの運転時間の積算データを記憶する記憶装置として、書込みに要する時間が長い不揮発性メモリを用いる場合でも、エンジンの運転時間の積算を正確に行なわせて、運転時間の積算値の信頼性を高め、エンジンのメンテナンス時期の管理を的確に行なうことができるようにしたエンジン制御装置を提供することにある。
【課題を解決するための手段】
【0008】
本願の請求項1に記載された発明は、マイクロプロセッサを用いてエンジンの運転時間を計測し、計測された運転時間の積算値を与えるデータを積算データとして、書換えが可能な不揮発性メモリに記憶させるエンジン運転時間積算データ記憶方法に係わるものである。
【0009】
本発明においては、エンジンの運転中、一定の時間が経過する毎に積算データを一定の増分だけインクリメントして、インクリメントしたデータをバッファメモリに記憶させるようにしておくとともに、バッファメモリに記憶されるデータがインクリメントされる毎に該バッファメモリに新たに記憶された積算データを順次書き込む少なくとも3つのデータ記憶領域を不揮発性メモリに設定して、該少なくとも3つのデータ記憶領域へのデータの書込み順序を定めておく。そして、マイクロプロセッサの電源が投入され、マイクロプロセッサのイニシャライズが終了した後に、少なくとも3つのデータ記憶領域に記憶されているデータを比較することにより、前回のエンジンの運転時に演算された積算値の最終値が正しく記憶されていると見なすことができるデータ記憶領域を判定して、該最終値が正しく記憶されていると見なすことができるデータ記憶領域に記憶されているデータの値を今回のエンジンの運転時にバッファメモリに記憶させるデータの初期値とするバッファメモリ初期値設定過程を行なう。
【0010】
上記のように、運転時間の積算値が更新される毎に、更新された運転時間の積算値を一時的に記憶させておくバッファメモリを設けるとともに、運転時間の積算値を記憶させる不揮発性メモリに、少なくとも3つのデータ記憶領域を設定しておいて、バッファメモリの記憶内容が更新される(積算データがインクリメントされる)毎に、バッファメモリの記憶内容をこれらのデータ記憶領域に予め定めた順序で書き込むようにしておくと、エンジンの運転を停止する際に電源が遮断されるタイミングによっては、一部のデータ記憶領域に記憶されたデータが不定になることがあるが、すべてのデータ記憶領域に記憶されたデータが不定になることはなく、少なくとも一部のデータ記憶領域には、前回の運転の終了時に最後に更新された積算データまたはその直前に更新された積算データが記憶されている。そして、バッファメモリの内容を書き込むデータ記憶領域を少なくとも3つ設けておけば、これらのデータ記憶領域にそれぞれ記憶されているデータを比較することにより、いずれのデータ記憶領域に記憶されているデータが、前回の運転の終了時に最後に更新された積算データであるか、またはその直前に更新された積算データであるかを判定することができる。前回の運転の終了時に最後に更新された積算データまたはその直前に更新された積算データを次回の運転時にバッファメモリに記憶させる積算データの初期値とすることにより、次回の運転時に運転時間の積算値を与える積算データの演算を大きな誤差を生じさせることなく行うことができる。
【0011】
例えば、前回エンジンの運転を停止させた際に、バッファメモリの内容が更新される前に電源が遮断されたとき、及びバッファメモリの内容の更新が行なわれる過程の途中で電源が遮断されたときには、次回の運転開始時にすべてのデータ記憶領域に記憶されているデータ(積算データ)の値が等しくなっている。この状態では、いずれかのデータ記憶領域に記憶されているデータの値を次回のエンジンの運転における運転時間の計測を行なう際のバッファメモリの記憶内容の初期値とすることにより、次回の運転における運転時間の積算値の演算を正しく開始させることができる。
【0012】
なおバッファメモリの内容の更新が完了した後、最初にデータが書き込まれるデータ記憶領域へのデータの書込みが開始される前に電源が遮断されたときにも、次回の運転開始時にすべてのデータ記憶領域に記憶されているデータの値が等しくなっている。この場合、バッファメモリでは既に積算データの更新が済んでいるにも拘わらず、不揮発性メモリの各データ記憶領域には1回前の更新時の積算データが記憶されていることになるため、厳密には、すべてのデータ記憶領域に積算データの最終値が記憶されているとはいえないが、この場合、各データ記憶領域に記憶されているデータは、運転終了時直前に演算された積算データであるので、この積算データを最終値と見なして次の運転時にバッファメモリに記憶させる積算データの初期値としても、積算データの演算に大きな誤差は生じない。
【0013】
また前回の運転停止時に、バッファメモリの内容が更新された後、最初にデータが書き込まれるデータ記憶領域へのデータの書込みが行なわれている途中で電源が遮断されたときには、次回の運転開始時に、最初にデータが書き込まれるデータ記憶領域に記憶されたデータの値は不定であるが、他のデータ記憶領域に記憶されたデータの値は等しくなっている。この場合には、他のデータ記憶領域に記憶されたデータの値を次回の運転時にバッファメモリに記憶させる積算データの初期値とすることにより、次回の運転における運転時間の積算データの演算を大きな誤差を生じさせることなく行わせることができる。
【0014】
また前回の運転停止時に、バッファメモリの内容が更新され、最初にデータが書き込まれるデータ記憶領域へのデータの書込みが完了した後、2番目にデータが書き込まれるデータ記憶領域へのデータの書込みが開始される前に電源が遮断されたときには、次回の運転開始時に、最初にデータが書き込まれるデータ記憶領域に記憶されているデータの値が、2番目以降にデータが書き込まれるデータ書込み領域に書き込まれているデータの値に一定の増分を加算した値に等しくなっており、2番目以降にデータが書き込まれるデータ書込み領域に書き込まれているデータの値はすべて等しくなっている。この場合は、最初にデータが書き込まれるデータ記憶領域に記憶されているデータの値を次回の運転時にバッファメモリに記憶される積算データの初期値とすることにより、次回の運転における積算データの演算を正しく行わせることができる。
【0015】
更に前回の運転停止時に、2番目にデータが書き込まれるデータ記憶領域へのデータの書込みが行なわれている最中に電源が遮断されたときには、次回の運転開始時に、2番目にデータが書き込まれるデータ記憶領域に書き込まれているデータは不定であるが、最初にデータが書き込まれるデータ記憶領域に書き込まれているデータの値は、3番目にデータが書き込まれるデータ記憶領域に書き込まれているデータに一定の増分を加算した値に等しくなっている。このときには、最初にデータが書き込まれるデータ記憶領域に記憶されているデータの値を次回の運転時にバッファメモリに記憶される積算データの初期値とすることにより、次回の運転における積算データの演算を正しく行わせることができる。
【0016】
前回の運転停止時に、2番目にデータが書き込まれるデータ記憶領域へのデータの書込みが完了した後、3番目にデータが書き込まれるデータ記憶領域へのデータの書込みが開始される前に電源が遮断されたときには、次回の運転時に、最初にデータが書き込まれるデータ記憶領域に書き込まれているデータの値と2番目にデータが書き込まれるデータ記憶領域に書き込まれているデータの値とが等しく、かつ最初にデータが書き込まれるデータ記憶領域に書き込まれているデータの値と2番目にデータが書き込まれるデータ記憶領域に書き込まれているデータの値が、3番目にデータが書き込まれるデータ記憶領域に書き込まれているデータの値よりも一定の増分だけ大きくなっている。この場合も、最初にデータが書き込まれるデータ記憶領域に記憶されているデータの値を次回の運転時にバッファメモリに記憶される積算データの初期値とすることにより、次回の運転における積算時間の演算を正しく開始させることができる。
【0017】
また前回の運転停止時に、3番目にデータが書き込まれるデータ記憶領域へのデータの書込みが行なわれている最中に電源が遮断されたときには、次回の運転時に、最初にデータが書き込まれるデータ記憶領域に書き込まれているデータの値と2番目にデータが書き込まれるデータ記憶領域に書き込まれているデータの値とが等しく、かつ3番目にデータが書き込まれるデータ記憶領域に書き込まれているデータの値は不定となっている。この場合も、最初にデータが書き込まれるデータ記憶領域に記憶されているデータの値を次回の運転時にバッファメモリに記憶される積算データの初期値とすることにより、次回の運転における運転時間の積算値の演算を正しく開始させることができる。
【0018】
上記のように、本発明によれば、エンジンの運転を開始する際に、前回エンジンの運転を終了した際に計測された運転時間の積算値を与える積算データの最終値または最終値の演算が行われる直前に演算された積算データの値を求めて、この積算データを今回のエンジン運転時にバッファメモリに記憶させる積算データの初期値とするので、前回のエンジン運転停止時に電源が遮断されたタイミングの影響をほとんど受けることなく、エンジンの運転時間の積算値を与える積算データの演算と記憶とを正確に行なわせて、エンジンのメンテナンスを管理するための運転時間の積算値の情報を正確に得ることができる。
【0019】
本願の請求項2は、上記エンジン運転時間積算データ記憶方法の好ましい態様の構成を記載したもので、この発明においては、エンジンの運転中、一定の時間が経過する毎に前記積算データを一定の増分だけインクリメントして、インクリメントしたデータをバッファメモリに記憶させるようにしておくとともに、バッファメモリに記憶される積算データがインクリメントされる毎に該バッファメモリに新たに記憶された積算データを書き込む第1ないし第3のデータ記憶領域を不揮発性メモリに設定して、第1のデータ記憶領域、第2のデータ記憶領域及び第3のデータ記憶領域の順にデータを書き込むように第1ないし第3のデータ記憶領域へのデータの書き込み順序を定めておく。
【0020】
そして、マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後、第1ないし第3のデータ記憶領域にそれぞれ記憶されている第1ないし第3のデータを比較して、以下の(a)ないし(d)の判定と、バッファメモリへのデータの初期値の書込みとを行なうバッファメモリ初期値設定過程を行なう。
(a)第1のデータと第2のデータとが等しいとの第1の判定が成立したときに、第1のデータの値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とする。
(b)第1のデータと第2のデータとが等しくなく、第2のデータが第3のデータに等しく、かつ第1のデータが第2のデータに前記増分を加算した値に等しいとの第2の判定が成立したときには、第1のデータの値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とする。
(c)第1のデータと第2のデータとが等しくなく、第2のデータが第3のデータに等しく、かつ第1のデータが第2のデータに増分を加算した値に等しくないとの第3の判定が成立したときには第2のデータの値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とする。
(d)第1のデータと第2のデータとが等しくなく、かつ第2のデータが第3のデータに等しくないとの第4の判定が成立したときには、第1のデータの値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とする。
【0021】
本願の請求項3に記載された発明は、エンジンの運転時間を計測する運転時間計測手段と、運転時間計測手段により計測された運転時間の積算値を与えるデータを積算データとして不揮発性メモリに記憶させる積算データ記憶手段とをマイクロプロセッサを用いて構成するエンジン運転時間積算データ記憶装置を対象とする。
【0022】
本発明においては、上記積算データ記憶手段を、運転時間計測手段が計測している運転時間が設定された時間経過する毎にデータ更新タイミングを検出するデータ更新タイミング検出手段と、データ更新タイミングが検出される毎に積算値のデータを一定の増分だけインクリメントして、インクリメントしたデータをバッファメモリに記憶させる積算データ一時記憶手段と、バッファメモリに記憶された積算データがインクリメントされる毎にバッファメモリに新たに記憶された積算データを、不揮発性メモリの少なくとも3つのデータ記憶領域に予め定めた順序で順次書き込むデータ書込み手段と、マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後、少なくとも3つのデータ記憶領域に記憶されているデータを比較することにより、前回のエンジンの運転時に演算された積算値の最終値が正しく記憶されていると見なすことができるデータ記憶領域を判定して、該最終値が正しく記憶されていると見なすことができるデータ記憶領域に記憶されているデータの値を今回のエンジンの運転時に前記バッファメモリに積算データの初期値として記憶させるバッファメモリ初期値設定手段とを備えた構成とする。
【0023】
本願の請求項4は、上記エンジン運転時間積算データ記憶装置の好ましい態様の構成を記載したもので、この発明においては、積算データ記憶手段を、運転時間計測手段が計測している運転時間が設定された時間経過する毎にデータ更新タイミングを検出するデータ更新タイミング検出手段と、データ更新タイミングが検出される毎に積算データを一定の増分だけインクリメントして、インクリメントした積算データをバッファメモリに記憶させる積算データ一時記憶手段と、バッファメモリに記憶される積算データがインクリメントされる毎に、バッファメモリに新たに記憶された積算データを、不揮発性メモリの第1ないし第3のデータ記憶領域に、第1のデータ記憶領域、第2のデータ記憶領域及び第3のデータ記憶領域の順に書き込み順序を定めて書き込むデータ書込み手段と、マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後に、第1ないし第3のデータ記憶領域にそれぞれ記憶されている第1ないし第3のデータを比較して、第1のデータと第2のデータとが等しいとの第1の判定が成立したときには第1のデータの値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とし、第1のデータと第2のデータとが等しくなく、第2のデータが第3のデータに等しく、かつ第1のデータが第2のデータに前記増分を加算した値に等しいとの第2の判定が成立したときには第1のデータの値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とし、第1のデータと第2のデータとが等しくなく、第2のデータが第3のデータに等しく、かつ第1のデータが第2のデータに増分を加算した値に等しくないとの第3の判定が成立したときには第2のデータの値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とし、第1のデータと第2のデータとが等しくなく、かつ第2のデータが第3のデータに等しくないとの第4の判定が成立したときに第1のデータの値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とするバッファメモリ初期値設定手段とを備えた構成とする。
【0024】
上記不揮発性メモリとしては、シリアルインターフェースを通してデータの読み書きを行なうシリアルEEPROMを用いることができる。不揮発性メモリとして、単価が低いシリアルEEPROMを用いると、コストの低減を図ることができる。
【0025】
請求項6に記載された発明は、エンジンを回転させるために必要な各種の制御を行なうエンジン制御手段と、エンジンの運転時間を計測する運転時間計測手段と、運転時間計測手段により計測された運転時間の積算値を与えるデータを積算データとして不揮発性メモリに記憶させる積算データ記憶手段と、積算データ記憶手段により記憶された積算データが設定値に達したときにエンジンのメンテナンス時期が来たことの報知を行なうメンテナンス時期報知手段とがマイクロプロセッサを用いて構成されるエンジン制御装置を対象としたもので、本発明においては、積算データ記憶手段が、請求項3に記載された発明と同様に構成される。
【0026】
請求項7に記載された発明も請求項6に記載された発明と同様のエンジン制御装置を対象としたもので、本発明においては、積算データ記憶手段が、請求項4に記載された発明と同様に構成される。
【0027】
なおエンジン制御手段は、エンジンの点火時期の制御、燃料噴射量の制御など、エンジンを回転させるために必要な各種の制御を行なう手段である。
【発明の効果】
【0028】
以上のように、本発明に係わる運転時間積算データ記憶方法及び記憶装置によれば、エンジンの運転中、一定の時間が経過する毎に運転時間の積算値を与える積算データを一定の増分だけインクリメントして、インクリメントした積算データをバッファメモリに記憶させるとともに、バッファメモリに記憶された積算データがインクリメントされる毎に該バッファメモリに新たに記憶された積算データを不揮発性メモリに設定した少なくとも3つのデータ記憶領域に予め定めた順序で書込むようにしておいて、マイクロプロセッサのイニシャライズが終了した後に、少なくとも3つのデータ記憶領域に記憶されているデータを比較することにより、前回のエンジンの運転停止時にバッファメモリに記憶された積算データの最終値が正しく記憶されていると見なすことができるデータ記憶領域を判定して、該最終値が正しく記憶されていると見なすことができるデータ記憶領域に記憶されているデータの値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とするようにしたので、前回のエンジン運転停止時に電源が遮断されたタイミングの影響を受けることなく、常にエンジンの運転時間の積算値を与える積算データの演算と該積算データの記憶とを正確に行なわせて、エンジンのメンテナンスを管理するための運転時間の積算値の情報を正確に得ることができる。
【0029】
また本発明に係わるエンジン制御装置によれば、エンジンの運転停止時に電源が遮断されるタイミングの影響をほとんど受けることなく、エンジンの運転時間の積算値を与える積算データの演算と該積算データの記憶とを正確に行なわせて、エンジンの運転時間の積算値についての情報を正確に得ることができるため、エンジンのメンテナンスの管理を的確に行なわせることができる。
【発明を実施するための最良の形態】
【0030】
以下図1ないし図4を参照して、本発明の好ましい実施形態につき詳細に説明する。図1は、本発明に係わるエンジン制御装置のハードウェアの構成例を示した回路図、図2は、本発明に係わるエンジン運転時間積算データ記憶装置の構成を示したブロック図、図3は、マイクロプロセッサが一定の時間毎に実行する積算時間制御処理のアルゴリズムの一例を示したフローチャート、図4はマイクロプロセッサの電源が投入された際に行なわれるデータ判定・バッファメモリ初期値設定処理のアルゴリズムを示したフローチャートである。
【0031】
図1において、1は負極端子が接地されたバッテリ、2はバッテリ1の両端の電圧がキースイッチ3とダイオード4とを通して入力された昇圧回路、5は昇圧回路4の入力端子間に接続されたコンデンサである。昇圧回路2は昇圧トランス201と発振回路202とを備えていて、昇圧トランス2の一次電流を発振回路の発振周波数に同期して断続させることにより、昇圧トランス2の二次コイルに250V程度まで昇圧された電圧を発生させる。
【0032】
5は一端が共通接続された一次コイル5aと二次コイル5bとを有する点火コイルで、一次コイル5aの他端は接地されている。点火コイルの一次コイル5aの一端には点火用コンデンサ6の一端が接続され、点火用コンデンサ6の他端は、カソードを該点火用コンデンサ側に向けたダイオード7を通して昇圧回路2の非接地側出力端子に接続されている。点火コイルの一次コイル5aの両端にはカソードを接地側に向けたダイオード8が接続され、点火用コンデンサ6の他端と接地間に、放電用スイッチを構成するサイリスタ9がそのカソードを接地側に向けて接続されている。点火コイルの二次コイル5bの他端は高電圧コードを通して、エンジンの気筒に取付けられた点火プラグ10の非接地側端子に接続されている。
【0033】
11は各種の制御を行なうマイクロプロセッサ(MPU)で、このマイクロプロセッサは、バッテリ1の電圧がキースイッチ3とダイオード12とを通して入力された電源回路13から一定の電源電圧Vcc(5V)が与えられて動作する。図示の電源回路13は3端子レギュレータからなっていて、その入力端子間及び出力端子間にはそれぞれコンデンサ14及び15が接続されている。
【0034】
マイクロプロセッサ11には、書換えが可能な不揮発性メモリであるシリアルEEPROM RMが接続されている。また図示しないエンジンのクランク軸に取り付けられた鉄製のフライホイール17の外周にリラクタ(誘導子)r1が設けられ、リラクタr1の回転方向の前端側エッジ及び後端側エッジをそれぞれ検出して極性が異なるパルス信号Vs1及びVs2を発生するパルサ(パルス信号発生器)18が設けられている。パルサ18は、エンジンの点火位置の計測を開始する基準クランク角位置の情報や、エンジンの回転速度の情報など、エンジンの制御に必要な回転情報を得るために設けられたもので、パルサ18の出力Vs1及びVs2は、波形整形回路19によりマイクロプロセッサが認識し得る波形の信号p1及びp2に変換されて、マイクロプロセッサの所定のポートに入力されている。マイクロプロセッサ11は、例えばパルサから入力される信号p1の発生周期からエンジンの回転速度を演算し、演算した回転速度と他の制御条件とに対してエンジンの点火位置(点火を行なわせるクランク角位置)を演算する。点火位置は、例えば、エンジンの気筒内のピストンが上死点に達する位置からの進み角の形で演算される。マイクロプロセッサは、エンジンのクランク軸が現在の回転速度で、基準クランク角位置(例えば信号Vs1の発生位置)から点火位置まで回転するのに要する時間を点火位置計測用計時データとして演算して、基準クランク角位置が検出されたときにこの計時データを点火タイマにセットしてその計測を開始させる。点火タイマが点火位置計測用計時データの計測を完了すると(演算された点火位置が検出されると)マイクロプロセッサ11に割り込み指令が与えられる。マイクロプロセッサはこの割り込み処理で点火信号供給回路20に点火指令信号を与える。点火信号供給回路はマイクロプロセッサから点火指令信号が与えられた時にオン状態になるスイッチを備えていて、マイクロプロセッサから点火指令信号が与えられた時に電源回路13から与えられる電圧Vccを電源電圧として、サイリスタ9のゲートに点火信号Siを供給する。
【0035】
シリアルEEPROM RMは、電源電圧Vccが与えられる電源端子、及び接地端子GNDの他に、チップセレクト端子CS、シリアルクロック入力端子SK、シリアルデータ入力端子DI、シリアルデータ出力端子DO等を備えていて、マイクロプロセッサからチップセレクト端子にチップセレクト信号が与えられているときに、マイクロプロセッサからシリアルクロック入力端子SKを通して与えられるクロック信号に同期して、シリアルデータ入力端子DIを通して与えられるアドレスとデータとを1ビットずつ読み込んで、該データを所定のアドレス(データ記憶領域)に書き込む。
【0036】
この例では、昇圧回路2と、点火コイル5と、点火用コンデンサ6と、サイリスタ9と、ダイオード7及び8とにより、バッテリの出力電圧を昇圧して得た高電圧で点火コイルの一次側に設けられた点火用コンデンサを充電して、該点火用コンデンサに蓄積された電荷を、放電用スイッチ(サイリスタ9)と点火コイルの一次コイルとを通して放電させることにより点火コイルの二次コイル5bに点火用の高電圧を誘起させる直流電圧昇圧式のコンデンサ放電式点火回路(DC−CDI回路)が構成されている。
【0037】
上記点火回路と、ダイオード4及び12と、電源回路13及びコンデンサ14,15と、マイクロプロセッサ11と、波形整形回路19と、シリアルEEPROM RMとがケース21内に収納されて、ECU(電子式制御ユニット)が構成されている。
【0038】
上記のECUにおいて、キースイッチ3が閉じられると、昇圧回路2から250V程度まで昇圧されたパルス状の電圧が断続的に出力される。この電圧が発生する毎に点火用コンデンサ6が図示の極性に段階的に充電されていく。点火用コンデンサ6の両端の電圧が設定値に達すると、図示しない制御回路が昇圧回路2の発振回路202の発振を停止させ、点火用コンデンサ6の充電を停止させる。マイクロプロセッサ11が演算した点火位置で点火指令信号を発生すると、点火信号供給回路20がサイリスタ9に点火信号Siを与えるため、サイリスタ9がオン状態になる。これにより、点火用コンデンサ6に蓄積された電荷がサイリスタ9と点火コイルの一次コイル5aとを通して放電し、この放電により、点火コイルの一次コイルに高い電圧が誘起する。この電圧は点火コイルの一次、二次間の昇圧比により昇圧されるため、点火プラグ10に点火用の高電圧が印加される。これにより、点火プラグ10の放電ギャップに火花が生じ、エンジンが点火される。
【0039】
図示の例では、ECUがエンジンの点火位置の制御を行なうように構成されているが、一般にECUは、エンジンを回転させるために必要な各種の制御を行なうエンジン制御手段を構成する。ECUに設けられるエンジン制御手段が行なう制御の中には、エンジンの点火位置の制御の他、必要に応じて、エンジンへの燃料の供給の制御などが含まれる。従って、エンジンが燃料噴射装置を備えている場合には、スロットル開度や回転速度などに対して燃料噴射量を制御する手段がECU内に更に設けられる。
【0040】
本実施形態においては、エンジンのメンテナンス時期を管理するため、図2に示すように、ECUのマイクロプロセッサ11が、エンジンENGの運転時間を計測する運転時間計測手段TMと、運転時間計測手段TMにより計測された運転時間の積算値のデータを不揮発性メモリRMに記憶させる積算データ記憶手段AMとを構成する。
【0041】
運転時間計測手段TMは、エンジンの運転時間を計測する手段である。本実施形態では、この運転時間計測手段が、エンジンが運転されていることが検出されているときに、一定時間Δt[msec]が経過する毎にカウンタTime1の計数値を1ずつインクリメントする手段からなっている。本実施形態では、エンジンの回転速度が設定値(例えば1000rpm)以上であるときにエンジンが運転されているとして、カウンタTime1の計数値をΔt[msec]ステップで1ずつインクリメントする手段により、運転時間計測手段TMが構成されている。Δtは、運転時間の積算値を演算する処理を行うタスクを実行する間隔に等しく設定されるが、本実施形態では、Δt=32msecに設定している。即ち、エンジンが運転されていることが検出されているときに32msecが経過する毎にカウンタTime1の計数値を1だけインクリメントすることにより、エンジンの運転時間を計測する。
【0042】
積算データ記憶手段AMは、運転時間の積算値を与える積算データを一定時間ΔT(>Δt)毎に一定の増分だけインクリメントして(積算データを更新して)、インクリメントした積算データを不揮発性メモリ(EEPROM)RMに記憶させる手段である。本実施形態においては、この積算データ記憶手段AMが、データ更新タイミング検出手段TDと、積算データ一時記憶手段BMと、データ書込み手段DWと、バッファメモリ初期値設定手段ISとにより構成される。
【0043】
データ更新タイミング検出手段TDは、運転時間計測手段TMにより計測されている運転時間が設定された時間ΔT経過する毎にデータ更新タイミング(積算値をインクリメントするタイミング)を検出する手段であり、積算データ一時記憶手段BMは、データ更新タイミング検出手段TDによりデータ更新タイミングが検出される毎に積算データを一定の増分だけインクリメントして、インクリメントした積算データをバッファメモリM0に記憶させる手段である。バッファメモリとしては、マイクロプロセッサに設けられているキャッシュメモリを用いる。バッファメモリに記憶される積算データは、エンジンの運転時間の積算値を与えるデータで、運転時間の積算値そのものでもよいが、本実施形態では、実際の運転時間の積算値をΔTで除した値を積算データとしている。従って、積算データにΔTを乗じることにより、実際の運転時間の積算値が求められる。
【0044】
データ書込み手段DWは、バッファメモリM0に記憶された積算データがインクリメントされる毎に、バッファメモリに新たに記憶された積算データを、不揮発性メモリRMの少なくとも3つのデータ記憶領域に予め定めた順序で順次書き込む手段である。即ち、本発明においては、不揮発性メモリRMの少なくとも3つのデータ記憶領域(アドレス)を、バッファメモリに新たに記憶された積算データを記憶させるデータ記憶領域M1,M2,M3,…として定めておいて、これらのデータ記憶領域にデータを書き込む順序を予め定めておき、バッファメモリに記憶された積算データD0がインクリメントされる毎にバッファメモリに新たに記憶された積算データD0を一連のデータ記憶境域に順番に書き込んでいく。
【0045】
バッファメモリ初期値設定手段ISは、エンジンの運転が開始されたときに、上記バッファメモリに記憶させる運転時間の積算値の初期値を定める手段である。このバッファメモリ初期値設定手段ISは、エンジンを運転するためにマイクロプロセッサ11の電源が投入され(キースイッチ3が閉じられ)、マイクロプロセッサ11のイニシャライズが終了した後に、不揮発性メモリRMの前記少なくとも3つのデータ記憶領域M1,M2,…に記憶されているデータを比較することにより、前回のエンジンの運転時にバッファメモリに記憶されたデータの最終値が正しく記憶されていると見なすことができるデータ記憶領域を判定して、最終値が正しく記憶されていると見なすことができるデータ記憶領域に記憶されているデータの値を今回のエンジンの運転時に積算データの初期値としてバッファメモリM0に記憶させる。「最終値が正しく記憶されていると見なすことができるデータ記憶領域」とは、前回の運転停止時に最後に演算された積算データ(積算データの最終値)または、該最終値が演算される直前に(最後の演算の1回前に)演算された積算データが記憶されているデータ記憶領域である。
【0046】
上記のように、運転時間の積算値を与える積算データが更新される毎に、更新された積算データを一時的に記憶させておくバッファメモリM0を設けるとともに、積算データを記憶させる不揮発性メモリに、少なくとも3つのデータ記憶領域M1,M2,…を設定しておいて、バッファメモリの記憶内容が更新される(インクリメントされる)毎に、バッファメモリに新たに記憶された積算データをこれらのデータ記憶領域に予め定めた順序で書き込むようにしておくと、エンジンの運転を停止する際に電源が遮断されるタイミングによっては、一部のデータ記憶領域に記憶されたデータが不定になる。しかし、すべてのデータ記憶領域に記憶されたデータが不定になることはなく、一部のデータ記憶領域には前回の運転時に最後に演算された(更新された)積算データの最終値またはその直前に更新された積算データが記憶されている。積算データの最終値を演算する直前(1回前)に演算された積算データの値と積算データの最終値との間の差は僅かであるので、積算データの最終値を演算する直前(1回前)に演算された積算データを積算データの最終値と見なしても、次回の運転時の積算データの演算に大きな誤差は生じない。そして、バッファメモリの内容を書き込むデータ記憶領域を少なくとも3つ設けておけば、後記するように、これらのデータ記憶領域にそれぞれ記憶されているデータを比較することにより、前回のエンジンの運転時に演算された積算データの最終値、またはその最終値の演算の直前に演算された積算データが記憶されているデータ記憶領域を、最終値が正しく記憶されていると見なすことができるデータ記憶領域として判定することができる。このようにして、前回のエンジン運転時に演算された積算データの最終値が正しく記憶されていると見なすことができるデータ記憶領域を特定して、そのデータ記憶領域に記憶されているデータの値を今回の運転時にバッファメモリに記憶させる積算データの初期値とすることにより、大きな誤差を生じさせることなく、積算データの演算を行わせることができる。
【0047】
ここで、判定処理簡単にするために、不揮発性メモリに第1ないし第3のデータ記憶領域M1,M2及びM3を設定しておき、バッファメモリM0の記憶内容が更新された時に、これらのデータ記憶領域M1ないしM3に順次バッファメモリM0の記憶内容を書き込むものとする。
【0048】
この場合、バッファメモリ初期値設定手段ISは、マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後、第1ないし第3のデータ記憶領域M1ないしM3にそれぞれ記憶されている(前回の運転を終了する際に最後に記憶された)第1ないし第3のデータD1,D2及びD3を比較して、以下の(a)ないし(d)の判定と、バッファメモリへのデータの初期値の書込みとを行なうバッファメモリ初期値設定過程を行なう。
(a)第1のデータD1と第2のデータD2とが等しいとの第1の判定が成立したときに、第1のデータD1の値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とする。
(b)第1のデータD1と第2のデータD2とが等しくなく、第2のデータD2が第3のデータD3に等しく、かつ第1のデータD1が第2のデータD2に一定の増分(本実施形態では1)を加算した値に等しいとの第2の判定が成立したときには、第1のデータD1の値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とする。
(c)第1のデータD1と第2のデータD2とが等しくなく、第2のデータD2が第3のデータD3に等しく、かつ第1のデータD1が第2のデータD2に増分を加算した値に等しくないとの第3の判定が成立したときには第2のデータD2の値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とする。
(d)第1のデータD1と第2のデータD2とが等しくなく、かつ第2のデータD2が第3のデータD3に等しくないとの第4の判定が成立したときには、第1のデータD1の値に等しい値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とする。
【0049】
図3は、エンジンの運転中、一定の時間Δt(本実施形態ではΔt=32msec)が経過する毎に、マイクロプロセッサが実施する積算時間制御処理である。この処理においては、ステップS1において、パルサ18の出力信号の発生周期から演算されたエンジンの回転速度Nが判定速度1000rpm以上であるか否かを判定する。この判定の結果、N≧1000rpmでないと判定されたときには、エンジンの運転が行なわれていないと判定し、以後何もしないでこの処理から脱ける。
【0050】
ステップS1において、エンジンの回転速度Nが判定速度1000rpm以上であると判定されたときには、エンジンが運転されているとして、カウンタTime1の計数値を1だけインクリメントする。図3の処理は、32msec毎に行なわれるため、カウンタTime1の計数値は32msec毎に1だけインクリメントされる。カウンタTime1の計数値をインクリメントした後、ステップS3でカウンタTime1の計数値が3750以上であるか否かを判定する。その結果、カウンタTime1の計数値が3750未満である(前回の運転時間の積算値の更新タイミングから2分が経過していない)と判定されたときには、以後何もしないでこの処理から脱ける。ステップS3でカウンタTime1の計数値が3750以上である(前回の運転時間の積算値の更新タイミングから2分以上が経過した)と判定されたときには、次いでステップS4に進んで、バッファメモリに記憶された積算データD0を1だけインクリメントし、この積算データD0をステップS5でEEPROMの第1のデータ記憶領域に第1のデータD1として書き込む。次いでステップS6でバッファメモリに記憶されている積算データD0をEEPROMの第2のデータ記憶領域に第2のデータD2として書き込み、ステップS7でバッファメモリに記憶されている積算データD0をEEPROMの第3のデータ記憶領域に第3のデータD3として書き込む。
【0051】
図3の処理のステップS1ないしステップS3により、データ更新タイミング検出手段TDが構成され、ステップS4により、積算データ更新値一時記憶手段BMが構成される。またステップS5ないしS7により、データ書込み手段DWが構成される。
【0052】
エンジンの運転終了時に不揮発性メモリの第1ないし第3のデータ記憶領域に記憶されるデータは、電源が遮断されるタイミングにより異なる状態をとる。図3のアルゴリズムに従って、不揮発性メモリの第1のデータ記憶領域ないし第3のデータ記憶領域にそれぞれデータを書き込む場合に、エンジンの運転を終了する際に図3に示した電源遮断タイミング1でマイクロプロセッサの電源が遮断されたとする。このときバッファメモリに記憶された積算データのインクリメント(更新)は終了しているが、第1のデータD1ないし第3のデータD3は更新されていないので、D1=D2=D3となっている。この場合、バッファメモリに記憶された積算データのインクリメント(更新)が完了しているにも拘わらず、第1のデータD1ないし第3のデータD3は更新されていないため、厳密に言えば、第1のデータD1ないし第3のデータD3は前回の運転時の積算データの最終値として正しいとはいえないが、この場合第1のデータD1ないし第3のデータD3は、積算データの最終地の演算の1回前の演算で求められた値であるので、次の運転時にバッファメモリに記憶させる運転時間の積算値の初期値を第1のデータD1の値に等しい値としても大きな誤差は生じない。
【0053】
次に電源遮断タイミング2で電源が遮断されたとときには、第1のデータD1の値が不定になるが、第2のデータD2及び第3のデータD3は等しくなっている。この場合、第2のデータD2及び第3のデータD3は厳密には、運転終了時の運転時間の積算データの最終値であるとはいえないが、運転が終了する直前に演算された値であるとはいえるため、次回の運転開始時に第2のデータD2(または第3のデータD3)に等しい値をバッファメモリに積算データの初期値として記憶させても、積算データの演算に大きな誤差は生じない。
【0054】
次に電源遮断タイミング3で電源が遮断された場合には、第1のデータD1が正しく更新されているが、第2のデータD2及び第3のデータD3は更新されていないため、第1のデータD1は第2のデータD2(=第3のデータD3)に1を加算した値になっており、第2のデータD2と第3のデータD3とが等しくなっている。この場合は、次回の運転開始時に第1のデータをバッファメモリに積算データの初期値として記憶させることにより、積算データの演算を正しく行なわせることができる。
【0055】
また電源遮断タイミング4で電源が遮断された場合には、第2のデータが不定となるが、第1のデータD1は運転時間の積算値の正しい最終値に等しくなっている。また第1のデータD1は、第3のデータD3に1を加算した値になっている。この場合も、次回の運転開始時に第1のデータをバッファメモリに積算データの初期値として記憶させることにより、積算データの演算を正しく行なわせることができる。
【0056】
次に電源遮断タイミング5で電源が遮断された場合には、第1のデータD1と第2のデータD2の更新が完了しているため、第1のデータD1と第2のデータD2とが等しくなっており、第1のデータD1と第2のデータD2とは、第3のデータD3に1を加算した値になっている。この場合は、次回の運転開始時に第1のデータ(または第2のデータ)をバッファメモリに積算データの初期値として記憶させることにより、エンジンの運転時間の積算値を与える積算データの演算を正しく行なわせることができる。
【0057】
電源遮断タイミング6で電源が遮断された場合には、第1のデータD1と第2のデータD2の更新が完了しているため、第1のデータD1と第2のデータD2とが等しくなっているが、第3のデータD3は不定になっている。この場合は、次回の運転開始時に第1のデータ(または第2のデータ)をバッファメモリに積算データの初期値として記憶させることにより、積算データの演算を正しく行なわせることができる。
【0058】
電源遮断タイミング7で電源が遮断された場合には、第1のデータD1と第2のデータD2と第3のデータD3との更新が完了しているため、第1のデータD1ないし第3のデータD3がすべて等しくなっている。この場合は、次回の運転開始時に第1のデータ(または第2のデータ、または第3のデータ)をバッファメモリに積算データの初期値として記憶させることにより、積算データの演算を正しく行なわせることができる。
【0059】
次に図4は、エンジンの運転開始時にキースイッチがオン状態にされて、マイクロプロセッサ11に電源電圧が投入され、各部のイニシャライズが終了した後に行なわれるデータ判定・バッファメモリ初期値設定処理のアルゴリズムを示したものである。この処理においては、マイクロプロセッサのイニシャライズが終了した後、ステップS01ないしS03でそれぞれ不揮発性メモリの第1のデータ記憶領域ないし第3のデータ記憶領域にそれぞれ記憶されている第1のデータD1ないし第3のデータD3をマイクロプロセッサに読み込む。次いでステップS04で第1のデータD1が第2のデータD2に等しいか否かを判定し、等しい場合(前記第1の判定が成立したとき)には、ステップS05で第1のデータD1の値をバッファメモリに運転時間の積算データD0の初期値(前回の運転時の積算データの最終値)として記憶する。
【0060】
ステップS04で第1のデータD1が第2のデータD2に等しくないと判定されたときには、ステップS06に進んで、第2のデータD2と第3のデータD3とが等しいか否かを判定する。その結果、第2のデータD2と第3のデータD3とが等しいと判定されたときには、ステップS07に進んで第1のデータが第1のデータD1が第2のデータD2に1を加算した値に等しいか否かを判定する。その結果、第1のデータD1が第2のデータD2に1を加算した値に等しいと判定されたとき(前記第2の判定が成立したとき)には、ステップS08で第1のデータD1の値をバッファメモリに積算データD0の初期値として記憶する。
【0061】
ステップS07で第1のデータD1が第2のデータD2に1を加算した値に等しくないと判定されたとき(前記第3の判定が成立したとき)には、ステップS09に進んで、第2のデータD2の値をバッファメモリに積算データD0の初期値として記憶する。
【0062】
またステップS06で第2のデータD2と第3のデータD3とが等しくないと判定されたとき(前記第4の判定が成立したとき)には、ステップS10に進んで、第1のデータD1の値をバッファメモリに積算データD0の初期値として記憶する。
【0063】
図4に示した処理のステップS01ないしS10により、バッファメモリ初期値設定手段ISが構成される。
【0064】
マイクロプロセッサ11はまた、不揮発性メモリRMに記憶された運転時間の積算値のデータが設定値に達したときに、エンジンのメンテナンス時期(例えばエンジンオイルの交換時期)が来たことの報知を行なうメンテナンス時期報知手段を構成する。
【0065】
上記のように、エンジンの運転中、一定の時間が経過する毎に積算データを一定の増分だけインクリメントして、インクリメントしたデータをバッファメモリに記憶させるとともに、バッファメモリに記憶されるデータがインクリメントされる毎に該バッファメモリに記憶されたデータを不揮発性メモリに設定した少なくとも3つのデータ記憶領域に予め定めた順序で書込むようにしておくと、マイクロプロセッサのイニシャライズが終了した後に、少なくとも3つのデータ記憶領域に記憶されているデータを比較することにより、前回のエンジンの運転停止時にバッファメモリに記憶された積算データの最終値が正しく記憶されていると見なすことができるデータ記憶領域を判定して、該最終値が正しく記憶されていると見なすことができるデータ記憶領域に記憶されているデータの値を今回のエンジンの運転時にバッファメモリに記憶させる積算データの初期値とするようにしたので、前回のエンジン運転停止時に電源が遮断されたタイミングの影響を受けることなく、エンジンの運転時間の積算値を与える積算データの演算とその記憶とを正確に行なわせて、エンジンのメンテナンスを管理するための運転時間の積算値の情報を正確に得ることができる。
【0066】
上記の実施形態では、エンジンを制御するECU内に設けられているマイクロプロセッサを用いて、エンジン運転時間積算データ記憶装置を構成しているが、エンジンを制御するマイクロプロセッサとは別のマイクロプロセッサを用いて、例えばエンジンのメンテナンスを管理する専用のマイクロプロセッサを別個に設けて、このマイクロプロセッサにより、エンジン運転時間積算データ記憶装置を構成するようにしてもよい。
【図面の簡単な説明】
【0067】
【図1】本発明に係わるエンジン制御装置のハードウェアの構成例を示した回路図である。
【図2】本発明の実施形態に係わるエンジン運転時間積算データ記憶装置の構成を示したブロック図である。
【図3】本発明の実施形態において、マイクロプロセッサが一定の時間毎に実行する積算時間制御処理のアルゴリズムの一例を示したフローチャートである。
【図4】本発明の実施形態において、マイクロプロセッサの電源が投入された際に行なわれるデータ判定・バッファメモリ初期値設定処理のアルゴリズムを示したフローチャートである。
【符号の説明】
【0068】
1 バッテリ
2 昇圧回路
3 キースイッチ
5 点火コイル
6 点火用コンデンサ
11 マイクロプロセッサ
RM シリアルEEPROM
TM 運転時間計測手段
TD データ更新タイミング検出手段
BM 積算データ更新値一時記憶手段
DW データ書込み手段
IS バッファメモリ初期値設定手段

【特許請求の範囲】
【請求項1】
マイクロプロセッサを用いてエンジンの運転時間を計測し、計測された運転時間の積算値を与えるデータを積算データとして、書換えが可能な不揮発性メモリに記憶させるエンジン運転時間積算データ記憶方法であって、
前記エンジンの運転中、一定の時間が経過する毎に前記積算データを一定の増分だけインクリメントして、インクリメントした積算データをバッファメモリに記憶させるようにしておくとともに、前記バッファメモリに記憶されるデータがインクリメントされる毎に該バッファメモリに新たに記憶された積算データを順次書き込む少なくとも3つのデータ記憶領域を前記不揮発性メモリに設定して、該少なくとも3つのデータ記憶領域へのデータの書込み順序を定めておき、
前記マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後、前記少なくとも3つのデータ記憶領域に記憶されている積算データを比較することにより、前回のエンジンの運転時に演算された積算データの最終値が正しく記憶されていると見なすことができるデータ記憶領域を判定して、該最終値が正しく記憶されていると見なすことができるデータ記憶領域に記憶されている積算データの値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とするバッファメモリ初期値設定過程を行なうこと、
を特徴とするエンジン運転時間積算データ記憶方法。
【請求項2】
マイクロプロセッサを用いてエンジンの運転時間を計測し、計測された運転時間の積算値を与えるデータを積算データとして、書き換えが可能な不揮発性メモリに記憶させるエンジン運転時間積算データ記憶方法において、
前記エンジンの運転中、一定の時間が経過する毎に前記積算データを一定の増分だけインクリメントして、インクリメントした積算データをバッファメモリに記憶させるようにしておくとともに、前記バッファメモリに記憶される積算データがインクリメントされる毎に該バッファメモリに新たに記憶された積算データを書き込む第1ないし第3のデータ記憶領域を前記不揮発性メモリに設定して、第1のデータ記憶領域、第2のデータ記憶領域及び第3のデータ記憶領域の順にデータを書き込むように前記第1ないし第3のデータ記憶領域へのデータの書き込み順序を定めておき、
前記マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後、前記第1ないし第3のデータ記憶領域にそれぞれ記憶されている第1ないし第3のデータを比較して、前記第1のデータと第2のデータとが等しいとの第1の判定が成立したときには前記第1のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とし、前記第1のデータと第2のデータとが等しくなく、前記第2のデータが第3のデータに等しく、かつ第1のデータが第2のデータに前記増分を加算した値に等しいとの第2の判定が成立したときには前記第1のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とし、前記第1のデータと第2のデータとが等しくなく、前記第2のデータが第3のデータに等しく、かつ前記第1のデータが第2のデータに前記増分を加算した値に等しくないとの第3の判定が成立したときには前記第2のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とし、前記第1のデータと第2のデータとが等しくなく、かつ前記第2のデータが第3のデータに等しくないとの第4の判定が成立したときには前記第1のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とするバッファメモリ初期値設定過程を行なうこと、
を特徴とするエンジン運転時間積算データ記憶方法。
【請求項3】
エンジンの運転時間を計測する運転時間計測手段と、前記運転時間計測手段により計測された運転時間の積算値を与えるデータを積算データとして不揮発性メモリに記憶させる積算データ記憶手段とをマイクロプロセッサを用いて構成するエンジン運転時間積算データ記憶装置であって、
前記積算データ記憶手段は、
前記運転時間計測手段が計測している運転時間が設定された時間経過する毎にデータ更新タイミングを検出するデータ更新タイミング検出手段と、
前記データ更新タイミングが検出される毎に前記積算データを一定の増分だけインクリメントして、インクリメントした積算データをバッファメモリに記憶させる積算データ一時記憶手段と、
前記バッファメモリに記憶された積算データがインクリメントされる毎に前記バッファメモリに新たに記憶された積算データを、前記不揮発性メモリの少なくとも3つのデータ記憶領域に予め定めた順序で順次書き込むデータ書込み手段と、
前記マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後、前記少なくとも3つのデータ記憶領域に記憶されているデータを比較することにより、前回のエンジンの運転時に演算された積算値の最終値が正しく記憶されていると見なすことができるデータ記憶領域を判定して、該最終値が正しく記憶されていると見なすことができるデータ記憶領域に記憶されているデータの値を今回のエンジンの運転時に前記バッファメモリに積算データの初期値として記憶させるバッファメモリ初期値設定手段と、
を具備してなるエンジン運転時間積算データ記憶装置。
【請求項4】
エンジンの運転時間を計測する運転時間計測手段と、前記運転時間計測手段により計測された運転時間の積算値のデータを不揮発性メモリに記憶させる積算データ記憶手段とをマイクロプロセッサを用いて構成するエンジン運転時間積算データ記憶装置であって、
前記積算データ記憶手段は、
前記運転時間計測手段が計測している運転時間が設定された時間経過する毎にデータ更新タイミングを検出するデータ更新タイミング検出手段と、
前記データ更新タイミングが検出される毎に前記積算値のデータを一定の増分だけインクリメントして、インクリメントしたデータをバッファメモリに記憶させる積算データ一時記憶手段と、
前記バッファメモリに記憶される積算データがインクリメントされる毎に、前記バッファメモリに新たに記憶された積算データを、前記不揮発性メモリの第1ないし第3のデータ記憶領域に、第1のデータ記憶領域、第2のデータ記憶領域及び第3のデータ記憶領域の順に書き込み順序を定めて書き込むデータ書込み手段と、
前記マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後に、前記第1ないし第3のデータ記憶領域にそれぞれ記憶されている第1ないし第3のデータを比較して、前記第1のデータと第2のデータとが等しいとの第1の判定が成立したときには前記第1のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とし、前記第1のデータと第2のデータとが等しくなく、前記第2のデータが第3のデータに等しく、かつ第1のデータが第2のデータに前記増分を加算した値に等しいとの第2の判定が成立したときには前記第1のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とし、前記第1のデータと第2のデータとが等しくなく、前記第2のデータが第3のデータに等しく、かつ前記第1のデータが第2のデータに前記増分を加算した値に等しくないとの第3の判定が成立したときには前記第2のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とし、前記第1のデータと第2のデータとが等しくなく、かつ前記第2のデータが第3のデータに等しくないとの第4の判定が成立したときに前記第1のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とするバッファメモリ初期値設定手段と、
を具備してなるエンジン運転時間積算データ記憶装置。
【請求項5】
前記不揮発性メモリは、シリアルインターフェースを通してデータの読み書きを行なうシリアルEEPROMである請求項3または4に記載のエンジン運転時間積算データ記憶装置。
【請求項6】
エンジンを回転させるために必要な各種の制御を行なうエンジン制御手段と、エンジンの運転時間を計測する運転時間計測手段と、前記運転時間計測手段により計測された運転時間の積算値を与えるデータを積算データとして不揮発性メモリに記憶させる積算データ記憶手段と、前記積算データ記憶手段により記憶されたエンジンの運転時間の積算値のデータが設定値に達したときに前記エンジンのメンテナンス時期が来たことの報知を行なうメンテナンス時期報知手段とがマイクロプロセッサを用いて構成されたエンジン制御装置において、
前記積算データ記憶手段は、
前記運転時間計測手段が計測している運転時間が設定された時間経過する毎にデータ更新タイミングを検出するデータ更新タイミング検出手段と、
前記データ更新タイミングが検出される毎に前記積算データを一定の増分だけインクリメントして、インクリメントしたデータをバッファメモリに記憶させる積算データ一時記憶手段と、
前記バッファメモリに記憶された積算データがインクリメントされる毎に前記バッファメモリに新たに記憶された積算データを、前記不揮発性メモリの少なくとも3つのデータ記憶領域に予め定めた順序で順次書き込むデータ書込み手段と、
前記マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後、前記少なくとも3つのデータ記憶領域に記憶されているデータを比較することにより、前回のエンジンの運転時に演算された積算値の最終値が正しく記憶されていると見なすことができるデータ記憶領域を判定して、該最終値が正しく記憶されていると見なすことができるデータ記憶領域に記憶されているデータを今回のエンジンの運転時に前記バッファメモリに積算データの初期値として記憶させるバッファメモリ初期値設定手段と、
を具備してなるエンジン制御装置。
【請求項7】
エンジンを回転させるために必要な各種の制御を行なうエンジン制御手段と、エンジンの運転時間を計測する運転時間計測手段と、前記運転時間計測手段により計測された運転時間の積算値を与えるのデータを積算データとして不揮発性メモリに記憶させる積算データ記憶手段と、前記積算データ記憶手段により記憶された積算データが設定値に達したときに前記エンジンのメンテナンス時期が来たことの報知を行なうメンテナンス時期報知手段とがマイクロプロセッサを用いて構成されたエンジン制御装置において、
前記積算データ記憶手段は、
前記運転時間計測手段が計測している運転時間が設定された時間経過する毎にデータ更新タイミングを検出するデータ更新タイミング検出手段と、
前記データ更新タイミングが検出される毎に前記積算データを一定の増分だけインクリメントして、インクリメントしたデータをバッファメモリに記憶させる積算データ一時記憶手段と、
前記バッファメモリに記憶される積算データがインクリメントされる毎に、前記バッファメモリに新たに記憶された積算データを、前記不揮発性メモリの第1ないし第3のデータ記憶領域に、第1のデータ記憶領域、第2のデータ記憶領域及び第3のデータ記憶領域の順に書き込み順序を定めて書き込むデータ書込み手段と、
前記マイクロプロセッサの電源が投入され、該マイクロプロセッサのイニシャライズが終了した後に、前記第1ないし第3のデータ記憶領域にそれぞれ記憶されている第1ないし第3のデータを比較して、前記第1のデータと第2のデータとが等しいとの第1の判定が成立したときには前記第1のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とし、前記第1のデータと第2のデータとが等しくなく、前記第2のデータが第3のデータに等しく、かつ第1のデータが第2のデータに前記増分を加算した値に等しいとの第2の判定が成立したときには前記第1のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とし、前記第1のデータと第2のデータとが等しくなく、前記第2のデータが第3のデータに等しく、かつ前記第1のデータが第2のデータに前記増分を加算した値に等しくないとの第3の判定が成立したときには前記第2のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とし、前記第1のデータと第2のデータとが等しくなく、かつ前記第2のデータが第3のデータに等しくないとの第4の判定が成立したときに前記第1のデータの値に等しい値を今回のエンジンの運転時に前記バッファメモリに記憶させる積算データの初期値とするバッファメモリ初期値設定手段と、
を具備してなるエンジン運転時間積算データ記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate