JP4306765B2 - 故障診断用情報収集装置 - Google Patents

故障診断用情報収集装置 Download PDF

Info

Publication number
JP4306765B2
JP4306765B2 JP2007152767A JP2007152767A JP4306765B2 JP 4306765 B2 JP4306765 B2 JP 4306765B2 JP 2007152767 A JP2007152767 A JP 2007152767A JP 2007152767 A JP2007152767 A JP 2007152767A JP 4306765 B2 JP4306765 B2 JP 4306765B2
Authority
JP
Japan
Prior art keywords
abnormality
time
information
determination
time stamp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007152767A
Other languages
English (en)
Other versions
JP2008304367A (ja
Inventor
良夫 中垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2007152767A priority Critical patent/JP4306765B2/ja
Priority to US12/134,814 priority patent/US8078355B2/en
Priority to EP08010384A priority patent/EP2000874B8/en
Publication of JP2008304367A publication Critical patent/JP2008304367A/ja
Application granted granted Critical
Publication of JP4306765B2 publication Critical patent/JP4306765B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0264Control of logging system, e.g. decision on which data to store; time-stamping measurements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31462Add time stamp to alarm message
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明は、車両(自動車)における故障診断に関するものである。
従来より、車両に搭載される電子制御ユニット(以下、ECUともいう)としては、常時自己故障診断を実行し、故障(異常)を検出した時に、その故障内容を示す異常情報(いわゆるDTC:Diagnostic Trouble Code )と、その時の年月日時刻(時刻情報)とを記憶手段に保存するものがある(例えば、特許文献1参照)。
また、この種のECUにおける故障診断処理では、異常が発生しているか否かを判定する判定処理を定期的に行うと共に、その判定処理で異常が発生していると連続して判定している時間が、異常確定判定時間に達したならば、その時点ではじめて異常が発生していると確定判定し(つまり、その時点で異常を検出したこととなり)、異常情報を記憶するようになっている。これは、誤検出を防止するためである。
特開平7−181112号公報
ところで、車両においては、制御内容の多様化、複雑化に伴って、複数のECUが通信線を介して接続される車載ネットワークの制御形態がとられるようになってきている。
そして、こうした車載ネットワークでは、複数のECUが制御用情報をやり取りしながら自己の制御対象を制御するため、ある部位の異常をきっかけに、複数のECUで同時期に異なる内容の異常が検出される可能性がある。
例えば、エンジンを協同して制御する2つのECU(a),(b)のうち、ECU(a)にパルス状のクランクセンサ信号が入力され、そのECU(a)がECU(b)へ、クランクセンサ信号に基づき検出したエンジンの回転情報を送信し、ECU(b)が、その回転情報を用いて処理を実行する、といった制御形態を例に挙げる。この場合、クランクセンサからECU(a)への信号線に接触不良が生じたとすると、ECU(a)では、クランクセンサ信号にパルス抜けが生じることから、クランクセンサの異常を検出することとなる。また、クランクセンサ信号のパルス抜けにより、ECU(a)からECU(b)への回転情報には正常時よりも大きな変動が生じることとなるため、ECU(b)は、点火不良でエンジン回転数が変動していると判断して、失火異常を検出することとなる。
一方、同様に、1つのECUにおいても、ある部位の異常がきっかけとなって、同時期に異なる内容の異常が検出される可能性がある。
例えば、内蔵された電源回路からセンサに電源を供給しつつ、そのセンサからの信号を用いて制御処理を実行するECUの場合を例に挙げる。この場合、センサの電源回路に出力異常が生じたとすると、その電源回路の出力を監視する処理によりセンサ電源異常が検出され、また、センサ信号を監視する処理によりセンサ異常も検出される。
ここで、上記従来技術によれば、異常が発生したと確定判定された時に、異常情報と共に時刻情報が記憶されるため、複数のECU又は1つのECUで複数項目の異常が検出された場合には、その複数のECU又は1つのECUから異常情報と時刻情報を読み出すことにより、各異常についての異常情報が記憶された順序(即ち、異常と確定判定された順序)は知ることができる。
しかしながら、異常確定判定時間は、各異常の検出処理毎にそれぞれ異なるため、ある部位の異常がきっかけとなって複数項目の異常が検出された場合に、ある項目の異常の方が本当は早く発生しているのに、他の項目の異常の方が早く異常と確定判定される、といった異常検出順序の逆転が生じる場合がある。
そして、従来技術では、異常と確定判定した時の時刻情報を記憶するだけなので、こうした逆転現象が起きていることを知ることはできない。つまり、複数の異常が検出されることとなった発端の異常を容易に見つけることができないという問題がある。
例えば、前述した2つのECU(a),(b)の例において、ECU(a)におけるクランクセンサ異常の判定時間が、ECU(b)における失火異常の判定時間よりも長い時間に設定されていたとすると、本当はクランクセンサの異常が発端となっているのに、そのクランクセンサの異常情報がECU(a)で記憶されるよりも先に、ECU(b)で失火の異常情報が記憶される可能性がある。すると、それらの異常情報と共に記憶された時刻情報からでは、クランクセンサの異常よりも失火異常の方が先に発生している、という風にしか解釈できず、本当の故障原因を発見し損ねることとなる。
そこで、本発明は、車両における故障診断を行い易い故障診断用情報収集装置の提供を目的としている。
上記目的を達成するためになされた請求項1の故障診断用情報収集装置は、車両における複数の異常項目毎に、異常検出手段を備えている。そして、各異常検出手段は、検出対象の異常が発生しているか否かを判定する判定手段を有しており、その判定手段により異常が発生していると連続して判定している時間が、異常確定判定時間に達すると、その異常が発生していると確定判定して、その異常が発生していることを示す異常情報を記憶すると共に、前記確定判定をした時の時刻情報を、異常確定時の時刻情報として記憶する。更に、前記異常確定判定時間は、異常検出手段毎に異なっている。
そして特に、この故障診断用情報収集装置において、各異常検出手段は、判定手段により異常が発生していないと判定している状態から、該判定手段により異常が発生していると判定した状態に転じると、その時に、その時の時刻情報である異常判定開始時(つまり、異常と判定し始めた時)の時刻情報を、異常未確定段階の時刻情報として記憶し、その異常判定開始時の時刻情報を、その後に前記確定判定をするかしないかに関わらず保持する
この故障診断用情報収集装置によれば、各異常検出手段が記憶した情報を読み出して、その情報の中に、異常情報があれば、異常と確定判定された異常項目を知ることができ、しかも、その異常情報と共に記憶されていた異常判定開始時の時刻情報から、その異常が発生していると判定され始めた時刻(つまり、異常の発生開始時刻)を知ることができる。よって、複数の異常が検出された場合に、それら異常の発端となった異常(即ち、主要因)を容易に特定することができるようになる。
そして、このため、車両のディーラーや整備工場等で修理を行う際に、故障箇所の誤判断による正常部品の交換(即ち、誤交換)を防止して、効率的な故障箇所修理が可能となり、延いては、車両の一発完治を実現することが可能となる。
また、各異常検出手段が記憶した情報を読み出してみて、複数の異常情報が記憶されていた場合には、その各異常情報に対応する異常判定開始時の時刻情報と異常確定時の時刻情報とにより、その異常情報の示す異常が、「いつから異常と判定されはじめて、いつ異常と確定判定されたか」という時間的推移を知ることができる。そして、各異常について、その時間的推移を比較することにより、それら異常の発端となった主要因の異常を、より的確に特定し易くなる。
次に、請求項の故障診断用情報収集装置では、請求項の故障診断用情報収集装置において、各異常検出手段は、異常判定開始時の時刻情報を記憶するための記憶領域をN個(Nは2以上の整数)備えており、その記憶領域に異常判定開始時の時刻情報を最新のものからN個記憶するようになっている。
この構成によれば、何れかの異常検出手段が検出対象とする異常について、判定手段により異常と判定されたが、異常確定判定時間が経過する前に異常と判定されなくなることが繰り返される、異常判定/正常判定のハンチング現象が生じた場合には、その異常検出手段の記憶領域に、異常判定開始時の時刻情報が複数個記憶されることとなる。このため、何れかの異常検出手段が記憶した情報を読み出した際に、異常判定開始時の時刻情報が複数個記憶されていたならば、異常判定/正常判定のハンチング現象が起こっていたこと及びその頻度を知ることができ、異常確定判定へ至る予兆を確認することができる。
一方、請求項の故障診断用情報収集装置では、請求項の故障診断用情報収集装置において、各異常検出手段は、異常判定開始時の時刻情報を記憶するための記憶領域を1個だけ備えており、その記憶領域に異常判定開始時の時刻情報を最新のものだけ記憶するようになっている。この構成によれば異常判定開始時の時刻情報を記憶するための記憶領域(リソース)を節約することができるという点で有利である。
次に、請求項の故障診断用情報収集装置では、請求項1〜の故障診断用情報収集装置において、各異常検出手段は、判定手段により異常が発生していると連続して判定している時間が、異常確定判定時間よりも短い中間時間に達すると、その時に、その中間時間到達時の時刻情報も、異常未確定段階の時刻情報として記憶し、その中間時間到達時の時刻情報を、その後に前記確定判定をするかしないかに関わらず保持する
この構成によれば、異常発生順序を判断するための情報が増えるため有利である。具体的には、各異常検出手段が記憶した情報を読み出してみて、複数の異常情報が記憶されていた場合には、その各異常情報に対応する異常判定開始時の時刻情報と中間時間到達時の時刻情報とにより、その異常情報の示す異常が、「いつから異常と判定されはじめて、いつ中間時間に達したか」という時間的推移を知ることができる。そして、各異常について、その時間的推移を比較することにより、それら異常の発端となった主要因の異常を、より的確に特定し易くなる。
また特に異常情報の示す異常が、「いつから異常と判定されはじめて、いつ中間時間に達し、いつ異常と確定判定されたか」という3時点の時間的推移を簡単に知ることができ、発端となった主要因の異常を、より一層的確に特定し易くなる。
尚、中間時間をどのような値に設定するかは任意であるが、異常確定判定時間に対する一定割合の時間(異常確定判定時間に、0より大きく1未満の定数を乗じた時間)に設定することが考えられる。また、複数の異常について、上記3時点の時間的推移を比較することを考えると、中間時間は、請求項に記載の如く、異常確定判定時間の半分の時間であることが好ましい。直感的に分かり易いからである。
次に、請求項の故障診断用情報収集装置では、請求項4,5の故障診断用情報収集装置において、各異常検出手段は、中間時間到達時の時刻情報を記憶するための記憶領域をM個(Mは2以上の整数)備えており、その記憶領域に中間時間到達時の時刻情報を最新のものからM個記憶するようになっている。
この構成によれば、中間時間到達時の時刻情報について、前述した請求項の構成による効果と同様の効果を得ることができる。
つまり、この構成によれば、何れかの異常検出手段が検出対象とする異常について、判定手段により異常が発生していると中間時間以上継続して判定されたが、異常確定判定時間が経過する前に異常と判定されなくなることが繰り返される、ハンチング現象が生じた場合には、その異常検出手段の記憶領域に、中間時間到達時の時刻情報が複数個記憶されることとなる。このため、何れかの異常検出手段が記憶した情報を読み出した際に、中間時間到達時の時刻情報が複数個記憶されていたならば、そのようなハンチング現象が起こっていたこと及びその頻度を知ることができ、異常と確定判定される可能性の高い予兆状態を確認することができる。
一方、請求項の故障診断用情報収集装置では、請求項4,5の故障診断用情報収集装置において、各異常検出手段は、中間時間到達時の時刻情報を記憶するための記憶領域を1個だけ備えており、その記憶領域に中間時間到達時の時刻情報を最新のものだけ記憶するようになっている。この構成によれば中間時間到達時の時刻情報を記憶するための記憶領域(リソース)を節約することができるという点で有利である。
ところで、異常検出手段が記憶した情報を読み出す手法としては、次のようなものが考えられる。
まず、異常検出手段は、自身の構成要素として、情報を記憶するための記憶手段を有することとなるが、その記憶手段としての記録媒体を、当該故障診断用情報収集装置が設けられた電子制御ユニットから取り出し、その記録媒体から情報を読み出す、という手法が考えられる。尚、記憶手段としての記録媒体は、異常検出手段毎に設けられても良いし、複数の異常検出手段に共通で設けられるものでも良い。
また、外部装置から当該故障診断用情報収集装置へ、何れかの情報を要求する要求信号を出力すると、当該故障診断用情報収集装置に備えられた応答手段が、各異常検出手段が記憶した情報のうち、その要求信号に対応する情報を外部装置へ出力する、という形態をとることもできる。
但し、前者の手法では、記録媒体を物理的に取り出す作業が必要となってしまう。また、後者の形態では、読み出し対象の情報を1つ1つ指定しなければならない。
そこで、外部装置から当該故障診断用情報収集装置へ、情報の要求信号を出力すると、当該故障診断用情報収集装置に備えられた応答手段が、各異常検出手段が記憶した全ての情報を外部装置へ出力する、という形態が考えられる。
しかし、この形態では、異常と確定判定されていない異常項目についても、異常未確定段階の時刻情報(異常判定開始時の時間情報、或いは更に中間時間到達時の時間情報)が出力されることとなり、無駄が多い。
そこで、請求項の故障診断用情報収集装置では、請求項1〜の故障診断用情報収集装置において、次のような応答手段を設けている。
即ち、応答手段は、外部装置から異常情報要求を受けると、異常検出手段が記憶した異常情報と合わせて、その異常検出手段が記憶した時刻情報を外部装置へ出力する。尚、応答手段が出力する時刻情報は異常判定開始時の時刻情報異常確定時の時刻情報であり、請求項の構成では、更に中間時間到達時の時刻情報である。
そして、このような請求項の故障診断用情報収集装置によれば、異常と確定判定された異常項目についてだけ、その項目の異常情報と共に時間情報(異常判定開始時の時間情報、異常確定時の時刻情報、中間時間到達時の時間情報)が出力されることとなる。よって、複数の異常が検出された場合(複数の異常情報が記憶された場合)には、そのうちの主要因である発端異常を特定するのに必要な情報だけが出力されることとなり、外部装置への情報転送量を必要最小限に抑えることができる。
次に、請求項の故障診断用情報収集装置では、請求項の故障診断用情報収集装置において、更に、次のような出力手段が設けられている。
即ち、出力手段は、外部装置から出力要求を受けると、異常検出手段が記憶した異常未確定段階の時刻情報を外部装置へ定期的に出力する。尚、出力手段が出力する異常未確定段階の時刻情報は、少なくとも異常判定開始時の時刻情報であり、請求項の構成では、更に中間時間到達時の時刻情報である。
このような請求項の故障診断用情報収集装置によれば、異常未確定段階の時刻情報(異常判定開始時の時刻情報、或いは更に、中間時間到達時の時刻情報)を外部装置側へと定期的に取り出して常時モニタすることができるため、異常と確定判定されていない異常項目についても、その後に異常と確定判定されそうな予兆を確認することができる。具体的には、異常判定開始時の時刻情報や中間時間到達時の時刻情報が出力されたならば、異常の兆候があると認識することができ、また、それら時刻の間隔などから、異常判定/正常判定のハンチング現象が起こっていることや、その頻度を知ることができるため、車両の状態確認を行うのに有利である。
一方、請求項の故障診断用情報収集装置を1つの電子制御ユニットに適用するのであれば、その1つの電子制御ユニット内に、当該故障診断用情報収集装置を設ければ良い。
また、請求項の故障診断用情報収集装置を、車載ネットワークを成す複数の電子制御ユニットに適用するのであれば、請求項10に記載の如く構成すれば良い。
即ち、請求項10の故障診断用情報収集装置では、請求項の故障診断用情報収集装置において、異常検出手段は、車両に搭載されて互いに通信する複数の電子制御ユニットの各々に1つ以上ずつ設けられている。そして、応答手段は、各電子制御ユニットに設けられると共に、前記異常情報要求を受けると、その電子制御ユニットに設けられている異常検出手段が記憶した異常情報と合わせて、その異常検出手段が記憶した時刻情報を外部装置へ出力する。
同様に、請求項の故障診断用情報収集装置を1つの電子制御ユニットに適用するのであれば、その1つの電子制御ユニット内に、当該故障診断用情報収集装置を設ければ良い。
また、請求項の故障診断用情報収集装置を、車載ネットワークを成す複数の電子制御ユニットに適用するのであれば、請求項11に記載の如く構成すれば良い。
即ち、請求項11の故障診断用情報収集装置では、請求項の故障診断用情報収集装置において、異常検出手段は、車両に搭載されて互いに通信する複数の電子制御ユニットの各々に1つ以上ずつ設けられている。そして、応答手段は、各電子制御ユニットに設けられると共に、前記異常情報要求を受けると、その電子制御ユニットに設けられている異常検出手段が記憶した異常情報と合わせて、その異常検出手段が記憶した時刻情報を外部装置へ出力する。そして更に、出力手段は、各電子制御ユニットに設けられると共に、前記出力要求を受けると、その電子制御ユニットに設けられている異常検出手段が記憶した異常未確定段階の時刻情報を外部装置へ定期的に出力する。
ところで、前述したように、各異常検出手段は、自身の構成要素として、情報を記憶するための記憶手段を有することとなるが、その記憶手段としては、例えば、電源が常時供給されるRAMであるスタンバイRAM(バックアップRAMとも呼ばれる)が考えられる。そして、スタンバイRAMを記憶手段とすれば、例えば、車両のイグニッションスイッチがオフされて、当該故障診断用情報収集装置が設けられた電子制御ユニットへの動作電源が遮断されても、異常未確定段階の時刻情報を継続して記憶することができる。このため、異常と判定されはじめてから異常と確定判定されるまでの間に、上記動作電源が遮断された場合でも、異常の発生開始時刻や異常確定判定へ至る前の予兆を確認することが可能となる。
また、スタンバイRAMのリソースを節約するのであれば、異常検出手段の記憶手段(特に、異常未確定段階の時刻情報を記憶するための記憶手段)としては、通常のRAMを用いることもできる。
次に、請求項12の故障診断用情報収集装置は、請求項1〜11の故障診断用情報収集装置において、
前記各異常検出手段は、
一定時間毎に起動するようになっていると共に、
前記判定手段により異常が発生していないと判定した場合には、異常が発生していると連続して判定している時間を計測するためのカウンタをクリアし、
また、前記判定手段により異常が発生していると判定した場合には、前記カウンタをカウントアップさせた後、前記カウンタの値に基づき、前記異常判定開始時から前記異常確定判定時間が経過したか否かを判定する判定処理を行って、該判定処理により、前記異常確定判定時間が経過していないと判定した場合には、異常が発生していると確定判定することなく動作を終了するが、前記判定処理により、前記異常確定判定時間が経過したと判定した場合には、異常が発生していると確定判定して、前記異常情報と前記異常確定時の時刻情報を記憶すること、を特徴としている。
一方、第1参考例の故障診断用情報収集装置は、検出対象の異常が発生しているか否かを判定する判定手段を備えると共に、その判定手段により異常が発生していると連続して判定している時間が、異常確定判定時間に達すると、その異常が発生していることを示す異常情報を記憶する。
そして特に、この故障診断用情報収集装置は、判定手段により異常が発生していると判定し始めてから、該判定手段により異常が発生していると連続して判定している時間が異常確定判定時間に達する前の、特定時点の時刻情報をN個(Nは2以上の整数)記憶可能な記憶手段を備えており、その特定時点が到来した時の時刻情報を、前記記憶手段に最新のものから最大でN個記憶するようになっている。
このような故障診断用情報収集装置によれば、判定手段により異常と判定されて前記特定時点にまで至ったが、異常確定判定時間が経過する前に異常と判定されなくなることが繰り返される、ハンチング現象が生じた場合には、記憶手段に、特定時点の時刻情報が複数個記憶されることとなる。このため、記憶手段から情報を読み出した際に、特定時点の時刻情報が複数個記憶されていたならば、それら時刻の間隔などから、異常判定/正常判定のハンチング現象が起こっていたこと及びその頻度を知ることができ、異常確定判定へ至る予兆を確認することができる。
尚、特定時点としては、判定手段により異常が発生していると判定し始めた時(即ち、判定手段により異常が発生していないと判定している状態から、異常が発生していると判定した状態に転じた時)が好ましい。また、判定手段により異常が発生していると判定し始めてから、異常確定判定時間の所定割合の時間(例えば半分の時間)が経過した時でも良い。また、判定手段により異常が発生していると判定し始めた時と、異常確定判定時間の所定割合の時間が経過した時との両方でも良い。つまり、特定時点は、異なる複数の時点であっても良く、その場合には、その各時点について、時刻情報をN個記憶可能な記憶手段を設ければ良い。
次に、第2参考例の故障診断用情報収集装置は、第1参考例の故障診断用情報収集装置において、出力手段を備えている。そして、その出力手段は、外部装置から出力要求を受けると、記憶手段に記憶されている時刻情報を外部装置へ定期的に出力する。
この構成によれば、記憶手段に記憶された特定時点の時刻情報を外部装置側へと定期的に取り出して常時モニタすることができるため、その後に異常と確定判定されそうな予兆を簡単に確認することができる。
以下に、本発明が適用された実施形態について説明する。
[第1実施形態]
まず図1は、本発明の故障診断用情報収集装置が適用された第1実施形態の車載ネットワークを表す構成図である。
図1に示すように、本実施形態の車載ネットワークは、車両内の通信線11を介して接続された複数(この例では4つ)のECU1〜4から構成されている。
そして、図1ではECU2についてのみ図示しているが、各ECU1〜4には、CPU15、ROM16、SRAM17及びNRAM18などからなる周知のマイコンが備えられている。尚、ROM16には、CPU15によって実行されるプログラムが格納されている。また、SRAM17は、それが搭載されたECUへの動作電源が遮断されても車載バッテリの電力を元にした電源が常時供給されるスタンバイRAMであり、NRAM18は、ECUへの動作電源が遮断されると電源供給が停止する通常のRAM(ノーマルRAM)である。
そして、例えば、ECU1は、イグニッションスイッチのオン/オフなどに応じて他のECU2〜4への動作電源の供給を制御するECUであり、ECU2とECU3は、前述したECU(a),(b)と同様に、車両のエンジンを協同して制御するECUであり、ECU4は、トランスミッションを制御するECUである。また、通信線11には、車両外の装置であって、車両の故障を診断するための診断装置13が接続可能になっている。
このような車載ネットワークにおいては、ECU1から他の各ECU2〜4へ、時計であるグローバルタイマの値(グローバルタイマ値)が定期的に送信されて、そのグローバルタイマ値が各ECU2〜4にて更新記憶されるようになっている。尚、グローバルタイマ値は、時刻を示す時刻情報であり、本実施形態では、ECU1が動作を開始してからの経過時間を1ms単位で示す。
具体的に説明すると、ECU1では、図2のグローバルタイマ値送信処理が一定時間毎に実行される。そして、グローバルタイマ値送信処理が開始されると、まずS110にて、ECU1に内蔵されたグローバルタイマの現在の値が、他のECU2〜4へ今回送信すべきグローバルタイマ値として生成され、次のS120にて、その生成されたグローバルタイマ値が、通信線11を介してECU2〜4へ送信される。
一方、ECU2〜4の各々では、通信線11から情報を受信した受信タイミング毎に、図3のグローバルタイマ値受信処理が実行される。そして、グローバルタイマ値受信処理が開始されると、まずS150にて、ECU1からのグローバルタイマ値を受信したか否かを判定する。そして、グローバルタイマ値を受信していなければ、そのまま当該グローバルタイマ値受信処理を終了するが、グローバルタイマ値を受信したならば、次のS160にて、その受信したグローバルタイマ値を例えばNRAM18に更新記憶し、その後、当該グローバルタイマ値受信処理を終了する。そして、このような処理により、ECU2〜4がECU1からの同じグローバルタイマ値を共有することとなる。
次に、ECU2〜4の各々で実行される他の処理について説明する。尚、前述した図2,図3の処理や、後述する各処理は、実際にはECUに備えられたマイコンのCPU15によって実行されるものである。
まず、各ECU2〜4のNRAM18には、そのECUにて検出対象としている1つ或いは複数の異常の項目毎(換言すれば、異常の内容毎)について、本タイムスタンプ、第1仮タイムスタンプ(以下、Pre1タイムスタンプという)、第2仮タイムスタンプ(以下、Pre2タイムスタンプという)、及びPre1セット履歴フラグを、1つずつ記憶するための記憶領域が設けられている。尚、本タイムスタンプは、異常が発生していると確定判定した時の時刻情報であり、Pre1タイムスタンプは、その異常が発生していると判定し始めた時の時刻情報であり、Pre2タイムスタンプは、その異常が発生していると判定し始めてから、異常が発生していると確定判定するまでの真ん中時点の時刻情報であり、Pre1セット履歴フラグは、Pre1タイムスタンプに値がセットされていることを示すフラグである。
また、各ECU2〜4は、車両のイグニッションスイッチがオンされると、ECU1の制御動作により車載バッテリからの電圧(バッテリ電圧)が動作電源として供給されて動作を開始する。
そして、各ECU2〜4では、動作の開始時に、図4のタイムスタンプ初期化処理が実行される。このタイムスタンプ初期化処理は、そのECUにて検出対象としている異常の項目毎に設けられている処理であり、その項目の異常に対応する本タイムスタンプ、Pre1タイムスタンプ、Pre2タイムスタンプ、及びPre1セット履歴フラグを、初期化するための処理である。
即ち、このタイムスタンプ初期化処理では、まずS210にて、Pre1タイムスタンプとPre2タイムスタンプをクリアし(0にし)、次のS220にて、本タイムスタンプをクリアする。そして、次のS230にて、Pre1セット履歴フラグをオフし、その後、当該タイムスタンプ初期化処理を終了する。尚、Pre1セット履歴フラグは、後述する図5の処理により、Pre1タイムスタンプに値がセットされた時にオンされる。
次に、各ECU2〜4では、検出対象としている異常の項目毎に、図5の異常検出処理が一定時間毎に実行される。
そして、この異常検出処理では、まずS305にて、検出対象の異常が未確定であるか否かを判定し、異常未確定であれば(つまり、その異常が発生していると確定判定していなければ)、S310に進み、検出対象の異常について、その異常が発生していると判定すべき異常判定条件が成立しているか否かを判定する。例えば、検出対象の異常が、センサ異常であるとすると、異常判定条件としては、そのセンサの出力値が異常領域内である、といった条件である(図6参照)。
上記S310で異常判定条件が成立していると判定した場合(即ち、検出対象の異常が発生していると判定した場合)には、S315に進んで、Pre1フラグがオフであるか否かを判定する。尚、このPre1フラグがオフということは、今回が、上記S310で異常が発生していると判定し始めた時(即ち、異常判定開始時)である、ということを意味している。そして、Pre1フラグがオフであると判定した場合には、S320に進んで、Pre1フラグをオンし、次のS325にて、検出対象の異常に対応するPre1セット履歴フラグをオンする。そして更に、次のS330にて、検出対象の異常に対応するPre1タイムスタンプに、ECU1から取得しているグローバルタイマ値をセットし、その後、S335へ進む。
また、上記S315にて、Pre1フラグがオフでない(オンである)と判定した場合には、そのままS335に移行する。このため、前回もS310で異常が発生していると判定している場合には、S320〜S330がスキップされることとなる。
S335では、S310で異常が発生していると連続して判定している時間を計測するための異常カウンタをカウントアップさせる。そして、次のS340にて、正常カウンタをクリアする。尚、正常カウンタは、後述するS390で正常と連続して判定している時間を計測するためのカウンタである。また、この正常カウンタと異常カウンタは、ECUの動作開始時にクリアされている。
次に、S345にて、異常カウンタの値に基づき、異常判定開始時から異常確定判定時間(以下、異常判定時間という)の半分の時間が経過したか否かを判定し、その時間が経過していないと判定したならば、S365に移行する。
S365では、異常カウンタの値に基づき、異常判定開始時から異常判定時間が経過したか否かを判定し、異常判定時間が経過していないと判定したならば、そのまま当該異常検出処理を終了する。
一方、上記S345にて、異常判定時間の半分の時間が経過したと判定した場合には、S350に進み、Pre2フラグがオフであるか否かを判定する。尚、このPre2フラグがオフということは、今回が、異常判定開始時から異常判定時間の半分の時間が経過した時である、ということを意味している。そして、Pre2フラグがオフであると判定した場合には、S355に進んで、Pre2フラグをオンし、次のS360にて、検出対象の異常に対応するPre2タイムスタンプに、ECU1から取得しているグローバルタイマ値をセットする。そして、その後、前述のS365へ進む。
また、上記S350にて、Pre2フラグがオフでない(オンである)と判定した場合には、そのままS365に移行する。このため、前回もS345で異常判定時間の半分の時間が経過したと判定している場合には、S355及びS360がスキップされることとなる。
一方、上記S365にて、異常判定時間が経過したと判定した場合には、異常が発生していると確定判定することとなる。そこで、S370に進み、検出対象の異常に対応する本タイムスタンプに、ECU1から取得しているグローバルタイマ値をセットし、次のS375にて、異常時処理を行う。そして、次のS380にて、検出対象の異常が発生していることを示す異常情報としてのDTCを記憶した後、当該異常検出処理を終了する。
尚、異常時処理では、例えば、車両の搭乗者に対して異常の発生を知らせるための警告灯を点灯させる。また、DTCは、SRAM17又はECUに設けられたフラッシュメモリやEEPROM等の書換可能ROM(図示省略)に記憶される。
上記S370〜S380の処理が行われると、次回からは、上記S305にて、検出対象の異常が未確定ではない(異常が確定した)と判定される。
そして、そのS305にて、異常が未確定ではないと判定した場合、或いは、上記S310にて、異常判定条件が成立していないと判定した場合には、S390に移行する。
S390では、検出対象の異常について、その異常が無く正常であると判定すべき正常判定条件が成立しているか否かを判定する。例えば、検出対象の異常が、センサ正常であるとすると、正常判定条件としては、そのセンサの出力値が正常領域内である、といった条件である(図6参照)。
そして、上記S390で正常判定条件が成立していると判定した場合には、S395に進んで、正常カウンタをカウントアップさせ、次のS400にて、異常カウンタをクリアする。次にS405にて、S390で正常判定条件が成立していると判定し始めた時(即ち、正常判定開始時)から正常判定時間が経過したか否かを、正常カウンタの値に基づき判定し、正常判定時間が経過していないと判定したならば、そのままS425に移行する。また、S405で正常判定時間が経過したと判定した場合には、S410に進み、正常時処理を行った後、S425に進む。尚、正常時処理では、例えば、前述の警告灯を消灯させる。
そして、S425では、Pre1フラグとPre2フラグをクリアし、その後、当該異常検出処理を終了する。
また、上記S390にて、正常判定条件が成立していないと判定した場合には、S415に移行して、正常カウンタをクリアし、次のS420にて、異常カウンタをクリアする。そして、その後、上記S425に進む。
つまり、異常検出処理では、異常判定条件が成立していないと判定していた状態から異常判定条件が成立していると判定する状態に転じた時(異常判定開始時)のグローバルタイマ値を、Pre1タイムスタンプとして記憶し(S330)、その異常判定開始時から継続して異常判定条件が成立していると判定している時間が、異常判定時間の半分の時間に達した時(異常判定時間の半分経過時)のグローバルタイマ値を、Pre2タイムスタンプとして記憶し(S360)、異常判定開始時から継続して異常判定条件が成立していると判定している時間が、異常判定時間に達して、DTCを記憶した時(異常確定時)のグローバルタイマ値を、本タイムスタンプとして記憶するようにしている(S370)。
このため、検出対象がセンサ異常である異常検出処理を例に挙げると、例えば図6に示すように、「グローバルタイマ値=400」の時に、センサ出力が異常領域に入って異常判定条件が成立し始めたとすると、その時の「400」がPre1タイムスタンプとして記憶される。
その後、センサ出力が正常領域内に戻って異常判定条件が成立しなくなり、更にその後、「グローバルタイマ値=1200」の時に再び異常判定条件が成立し始めたとすると、その時の「1200」がPre1タイムスタンプとして更新記憶される。つまり、Pre1タイムスタンプの値が「400」から「1200」に上書きされる。
そして、異常判定時間が、グローバルタイマ値が1000だけ増加する時間(=1000ms)であるとすると、その後、異常判定条件が成立し続けて「グローバルタイマ値=1700」の時になると、その時の「1700」がPre2タイムスタンプとして記憶される。
そして更に、その後、異常判定条件が成立し続けて「グローバルタイマ値=2200」の時になると、センサ異常が確定判定されて、その時の「2200」が本タイムスタンプとして記憶されると共に、センサ異常を示すDTCが記憶されることとなる。
このため、各タイムスタンプの記憶先から、それら各タイムスタンプを読み出せば、Pre1タイムスタンプの値により、異常状態が発生した時刻を知ることができ、Pre2タイムスタンプの値により、異常判定時間の半分が経過した時刻を知ることができ、本タイムスタンプの値により、異常判定時間が経過してDTCが記憶された異常確定時刻を知ることができる。
尚、図6において、もし「グローバルタイマ値=1700」の時から「グローバルタイマ値=2200」の時までの間に異常判定条件が成立しなくなり、その後、再び異常判定条件が成立し続けて異常判定時間の半分が経過したならば、その時のグローバルタイマ値がPre2タイムスタンプとして更新記憶されることとなる。つまり、Pre2タイムスタンプの値も、Pre1タイムスタンプと同様に、1つの最新値に上書きされる。また、異常判定時間と正常判定時間は、異常検出処理毎(換言すれば、検出対象の異常毎)に異なっている。
次に、ECU2〜4の各々では、通信線11に接続された診断装置13から送信されるDTC出力要求(異常情報要求に相当)を受信すると、図7のDTC出力要求応答処理が実行される。
尚、診断装置13は、各ECU2〜4からDTCを読み出すための操作が行われると、ECU2〜4へDTC出力要求を送信するようになっている。また、その操作の際に、本タイムスタンプ、Pre1タイムスタンプ、及びPre2タイムスタンプの各々について、DTCと共に読み出すか否かを指定することができ、何れかのタイムスタンプの読み出しが指定された場合には、そのタイムスタンプの出力要求を含んだDTC出力要求を、各ECU2〜4へ送信するようになっている。
そして、各ECU2〜4におけるDTC出力要求応答処理では、まずS510にて、SRAM17又は書換可能ROMに、何れかのDTCが記憶されているか否かを判定する。そして、DTCが記憶されていないと判定した場合には、S520に進んで、診断装置13へ、「DTC記憶なし」を示す情報を送信し、その後、当該DTC出力要求応答処理を終了する。
診断装置13は、ECU2〜4の全てから、「DTC記憶なし」を示す情報が送られてきた場合には、当該診断装置13に備えられた表示装置の画面(以下、表示画面という)に、図9(A)に示すような内容を表示する。尚、「発生時刻」とは、異常発生時刻のことであり、「1/2経過時刻」とは、異常状態の継続時間が異常判定時間の半分に達した時の時刻であり、「確定時刻」とは、異常確定時刻のことである。
一方、上記S510にて、DTCが記憶されていると判定した場合には、S530に移行して、図8に示すDTC・タイムスタンプ出力処理を実行し、その後、当該DTC出力要求応答処理を終了する。
ここで、図8のDTC・タイムスタンプ出力処理は、記憶されていたDTCと共に、そのDTCに対応した(詳しくは、そのDTCが示す異常に対応した)各タイムスタンプを診断装置13へ送信するための処理であり、記憶されていたDTCの各々について実行される。
そして、DTC・タイムスタンプ出力処理の実行が開始されると、まずS610にて、診断装置13への送信データが格納される送信用データ領域TR[0]〜TR[3]をクリアし、次のS620にて、記憶されていたDTCを送信用データ領域TR[0]に書き込む。
次に、S630にて、診断装置13からのDTC出力要求中に、本タイムスタンプ出力要求が含まれていたか否かを判定し、本タイムスタンプ出力要求が含まれていなければ、そのままS650に移行するが、本タイムスタンプ出力要求が含まれていたならば、S640に進む。そして、S640では、上記S620で送信用データ領域TR[0]に書き込んだDTCに対応する本タイムスタンプを、送信用データ領域TR[1]に書き込み、その後、S650に進む。
S650では、診断装置13からのDTC出力要求中に、Pre1タイムスタンプ出力要求が含まれていたか否かを判定し、Pre1タイムスタンプ出力要求が含まれていなければ、そのままS670に移行するが、Pre1タイムスタンプ出力要求が含まれていたならば、S660に進む。そして、S660では、上記S620で送信用データ領域TR[0]に書き込んだDTCに対応するPre1タイムスタンプを、送信用データ領域TR[2]に書き込み、その後、S670に進む。
S670では、診断装置13からのDTC出力要求中に、Pre2タイムスタンプ出力要求が含まれていたか否かを判定し、Pre2タイムスタンプ出力要求が含まれていなければ、そのままS690に移行するが、Pre2タイムスタンプ出力要求が含まれていたならば、S680に進む。そして、S680では、上記S620で送信用データ領域TR[0]に書き込んだDTCに対応するPre2タイムスタンプを、送信用データ領域TR[3]に書き込み、その後、S690に進む。
S690では、送信用データ領域TR[0]〜TR[3]に書き込まれているデータを診断装置13へ送信し、その後、当該DTC・タイムスタンプ出力処理を終了する。
このようなDTC・タイムスタンプ出力処理による作用について説明する。
例えば、ECU2において、SRAM17又は書換可能ROMに、DTCとして{0x0120}が記憶されており、そのDTCに対応するPre1タイムスタンプ、Pre2タイムスタンプ、本タイムスタンプの各々として、{0x0320}、{0x0708}、{0x0AF0}がNRAM18に記憶されていたとする。尚、{}内の0xで始まる英数字列は16進数表示の数字である。
この場合に、診断装置13から各ECU2〜4へ、Pre1タイムスタンプ出力要求とPre2タイムスタンプ出力要求を含んだDTC出力要求が送信されたとすると、ECU2においては、DTC・タイムスタンプ出力処理により、送信用データ領域TR[0]〜TR[3]には、図9(B)のようにデータが書き込まれることとなる。尚、送信用データ領域TR[1]内のデータが、クリアされたままの{0x0000}であるのは、この例では、診断装置13にて本タイムスタンプの読み出し指定は行われておらず、診断装置13からのDTC出力要求中に本タイムスタンプ出力要求が含まれていないからである。
そして、ECU2から診断装置13へ、図9(B)のデータが送信される。
すると、診断装置13は表示画面に、図9(C)に示すような内容を表示することとなる。つまり、「トラブルコード」として、{0x0120}を表示形式にした「P0120」が表示され、「発生時刻」として、Pre1タイムスタンプの値が示す「800ms」が表示され、「1/2経過時刻」として、Pre2タイムスタンプの値が示す「1800ms」が表示される。そして、「確定時刻」としては、データ無しを意味する「−ms」が表示される。
尚、診断装置13にて本タイムスタンプの読み出し指定が行われ、診断装置13からのDTC出力要求中に本タイムスタンプ出力要求が含まれた場合には、ECU2から診断装置13へ本タイムスタンプの値{0x0AF0}も送信され、診断装置13の表示画面に、「確定時刻」として、その本タイムスタンプの値が示す「2800ms」が表示されることとなる。
また、ECU2〜4のうちの1つ以上に、複数のDTCが記憶されていた場合、診断装置13の表示画面には、その各DTCについて、図9(C)のような内容が、同時に又は切り替えて表示されることとなる。また、診断装置13は、DTC及び各タイムスタンプが、どのECUから送られてきたものであるかを、合わせて表示するように構成しても良い。
次に、ECU2〜4の各々では、診断装置13から送信される常時モニタ出力要求(出力要求に相当)を受信すると、図10の常時モニタ出力要求応答処理が実行される。
尚、診断装置13は、各ECU2〜4で記憶されたPre1タイムスタンプをモニタするための操作が行われると、ECU2〜4へ常時モニタ出力要求を送信するようになっている。また、その操作の際に、Pre2タイムスタンプについてもモニタするか否かを指定することができ、Pre2タイムスタンプもモニタすることが指定された場合には、Pre2タイムスタンプの出力要求を含んだ常時モニタ出力要求を、各ECU2〜4へ送信するようになっている。また、診断装置13は、特定のモニタ停止操作が行われると、各ECU2〜4へモニタ停止要求を送信する。
そして、図10に示すように、各ECU2〜4における常時モニタ出力要求応答処理では、まずS710にて、何れかの検出対象異常に対応する(換言すれば、何れかのDTCに対応する)Pre1セット履歴フラグがオンされているか否かを判定する。そして、Pre1セット履歴フラグがオンされていないと判定した場合には、S720に進んで、診断装置13へ、「Preタイムスタンプ記憶なし」を示す情報を送信し、その後、当該常時モニタ出力要求応答処理を終了する。
診断装置13は、ECU2〜4の全てから、「Preタイムスタンプ記憶なし」を示す情報が送られてきた場合には、表示画面に、図12(A)に示すような内容を表示する。尚、「兆候」とは、異常の兆候のことであり、この場合には、「兆候」として“なし”が表示される。そして、「発生時刻」及び「1/2経過時刻」の各々として、データ無しを意味する「−ms」が表示される。
一方、上記S710にて、Pre1セット履歴フラグがオンされていると判定した場合には、何等かの異常について、少なくともPre1タイムスタンプが記憶されているということであるため、S730に移行する。
S730では、その後、診断装置13からのモニタ停止要求を受けるまで、図11に示すPreタイムスタンプ出力処理を一定時間毎に実行する。そして、診断装置13からのモニタ停止要求を受けると、S730から抜けて、当該常時モニタ出力要求応答処理を終了する。
ここで、図11のPreタイムスタンプ出力処理は、NRAM18に記憶されているPre1タイムスタンプ及びPre2タイムスタンプを診断装置13へ定期的に送信するための処理であり、Pre1タイムスタンプが記憶されていた異常項目毎について実行される。
そして、Preタイムスタンプ出力処理の実行が開始されると、まずS805にて、診断装置13からのモニタ停止要求を受信したか否かを判定し、モニタ停止要求を受信したと判定した場合には、当該Preタイムスタンプ出力処理を終了して図10のS730から抜けるが、モニタ停止要求を受信していないと判定した場合には、次のS810に進む。
S810では、診断装置13への常時モニタ用の送信データが格納される常時モニタ送信用データ領域TRM[0]〜TRM[2]をクリアし、次のS820にて、送信対象のPre1タイムスタンプを常時モニタ送信用データ領域TRM[0]に書き込む。
次に、S830にて、診断装置13からの常時モニタ出力要求中に、Pre2タイムスタンプ出力要求が含まれていたか否かを判定し、Pre2タイムスタンプ出力要求が含まれていなければ、そのままS850に移行するが、Pre2タイムスタンプ出力要求が含まれていたならば、S840に進む。そして、S840では、上記S820で常時モニタ送信用データ領域TRM[0]に書き込んだPre1タイムスタンプと同じ異常に対応するPre2タイムスタンプがNRAM18に記憶されているか否かを判定し、そのPre2タイムスタンプが記憶されていれば、それを常時モニタ送信用データ領域TRM[1]に書き込む。そして、その後、S850に進む。
S850では、上記S820で常時モニタ送信用データ領域TRM[0]に書き込んだPre1タイムスタンプに対応するDTCが何であるかを示す情報(本実施形態では、そのDTC)を、常時モニタ送信用データ領域TRM[2]に書き込む。
次にS860にて、常時モニタ送信用データ領域TRM[0]〜TRM[2]に書き込まれているデータを診断装置13へ送信する。そして、次のS870にて、一定時間だけ待ち、その後、上記S805へ戻る。
このようなPreタイムスタンプ出力処理による作用について説明する。
例えば、診断装置13から各ECU2〜4へ、Pre2タイムスタンプ出力要求を含んだ常時モニタ出力要求が送信されたとする。そして、ECU2において、NRAM18に、DTC={0x0120}の異常に対応するPre1タイムスタンプ及びPre2タイムスタンプの各々として、{0x04B0}、{0x06A4}が記憶されていたとする。
この場合、ECU2においては、Preタイムスタンプ出力処理により、常時モニタ送信用データ領域TRM[0]〜TRM[2]には、図12(B)のようにデータが書き込まれることとなる。
そして、ECU2から診断装置13へ、図12(B)のデータが送信される。
すると、診断装置13は表示画面に、図12(C)に示すような内容を表示することとなる。つまり、「兆候」として、{0x0120}を表示形式にした「P0120」のDTCに関して異常の兆候があること(P0120異常兆候)が表示され、その「P0120」が示す異常の「発生時刻」として、Pre1タイムスタンプの値が示す「1200ms」が表示され、同じくその「P0120」が示す異常の「1/2経過時刻」として、Pre2タイムスタンプの値が示す「1700ms」が表示される。
尚、Preタイムスタンプ出力処理は一定時間毎に繰り返されるため、ECU2〜4で記憶されるPre1タイムスタンプ及びPre2タイムスタンプが更新されたならば、その更新されたタイムスタンプが診断装置13へ送信される。よって、診断装置13の表示画面には、その更新されたタイムスタンプによる時刻が表示されることとなる。
また、ECU2〜4のうちの1つ以上に、複数の異常項目についてPre1タイムスタンプが記憶されていた場合、診断装置13の表示画面には、その各異常項目について、図12(C)のような内容が、同時に又は切り替えて表示されることとなる。また、診断装置13は、各タイムスタンプが、どのECUから送られてきたものであるかを、合わせて表示するように構成しても良い。
以上のような車載ネットワークによれば、各ECU2〜4において、何等かの異常が発生していると確定判定された時には、その異常を示すDTCと本タイムスタンプが記憶されるが、更に、その異常が発生していると判定され始めた異常判定開始時に、Pre1タイムスタンプも記憶される。また、その異常判定開始時から異常判定時間の半分の時間が経過した時に、Pre2タイムスタンプも記憶される。
そして、通信線11に診断装置13を接続すると共に、その診断装置13を操作して、本タイムスタンプ、Pre1タイムスタンプ、及びPre2タイムスタンプの出力要求を含んだDTC出力要求を各ECU2〜4へ送信させれば、各ECU2〜4は、自身が記憶しているDTCと合わせて、そのDTCに対応するPre1タイムスタンプ、Pre2タイムスタンプ及び本タイムスタンプを診断装置13へと送信することとなる。そして、このようにECU2〜4から診断装置13へ読み出されたDTC及び各タイムスタンプは、診断装置13の表示画面に表示される。
このため、各ECU2〜4から診断装置13へ、DTCと共に読み出されたPre1タイムスタンプ、Pre2タイムスタンプ及び本タイムスタンプのうち、Pre1タイムスタンプにより、そのDTCの示す異常が発生していると判定され始めた時刻(つまり、異常判定時間に依存しない異常発生時刻)を知ることができる。
よって、ECU2〜4から複数のDTCが読み出された場合、即ち、ECU2〜4のうちの1つ或いは2つ以上で複数の異常が検出された場合に、それら異常の発端となった主要因の異常をPre1タイムスタンプによって容易に特定することができるようになる。そして、このため、車両のディーラーや整備工場等で修理を行う際に、故障箇所の誤判断による正常部品の誤交換を防止して、効率的な故障箇所修理が可能となる。
また特に、ECU2〜4からDTCと共に読み出されたPre1タイムスタンプと本タイムスタンプとにより、そのDTCの示す異常が、「いつから異常と判定されはじめて、いつ異常と確定判定されたか」という時間的推移を知ることができる。更に、DTCと共に読み出されたPre2タイムスタンプも参酌することにより、そのDTCの示す異常が、「いつから異常と判定されはじめて、いつ異常判定時間の半分(1/2経過時刻)に達し、いつ異常と確定判定されたか」という3時点の時間的推移を簡単に知ることができる。よって、ECU2〜4から複数のDTCが読み出された場合には、その各DTCが示す異常について、上記時間的推移を比較することにより、それら異常の発端となった主要因の異常を、より的確に特定し易くなる。
例えば、図13に示すように、ECU2において、「グローバルタイマ値=800」の時に、異常aが発生していると判定され始め、その後、異常aについての異常判定時間である2000msが経過して、「グローバルタイマ値=2800」となった時に、その異常aのDTCであるDTCaが記憶されたとする。また、異常aが発生したことにより、ECU3が検出対象としている異常bが発生し、ECU3において、「グローバルタイマ値=1600」の時に、異常bが発生していると判定され始め、その後、異常bについての異常判定時間である800msが経過して、「グローバルタイマ値=2400」となった時に、その異常bのDTCであるDTCbが記憶されたとする。
そして、この場合、ECU2では、異常aに対応するPre1タイムスタンプa、Pre2タイムスタンプa及び本タイムスタンプaの各々として、「800」,「1800」,「2800」が記憶されることとなり、ECU3では、異常bに対応するPre1タイムスタンプb、Pre2タイムスタンプb及び本タイムスタンプbの各々として、「1600」,「2000」,「2400」が記憶されることとなる。
ここで、この例では、異常bの異常判定時間(=800ms)よりも異常aの異常判定時間(=2000ms)の方が長いため、本当は異常aが発生したことにより異常bが発生したのに、その異常aのDTC(DTCa)及び本タイムスタンプがECU2で記憶されるよりも先に、ECU3で異常bのDTC(DTCb)及び本タイムスタンプが記憶されている。よって、DTCと本タイムスタンプだけからでは、異常aよりも異常bの方が先に発生している、という風にしか読み取れず、本当の故障原因を発見し損ねることとなる。
これに対して、本実施形態によれば、各異常a,bについてのPre1タイムスタンプ及びPre2タイムスタンプもECUに記憶されて、DTCと共に診断装置13へ読み出されるため、その各異常a,bのPre1タイムスタンプ及びPre2タイムスタンプにより、異常bよりも異常aの方が先に発生していることを知ることができ、異常aが異常bの発端となっているかも知れないことを容易に予測することができるようになる。
尚、図13の右側に記載している2つの四角枠内のうち、上側は、ECU2から診断装置13へ異常aのDTC及び各タイムスタンプが読み出された場合の、診断装置13での表示内容を示しており、下側は、ECU3から診断装置13へ異常bのDTC及び各タイムスタンプが読み出された場合の、診断装置13での表示内容を示している。
また例えば、異常aの具体例としては、「発明が解決しようとする課題」の欄で説明したクランクセンサの異常が考えられ、異常bの具体例としては、同じく「発明が解決しようとする課題」の欄で説明した失火異常が考えられる。
一方、言うまでもないが、図13の異常a,bが1つのECUで検出される異常であっても、同様の効果が得られる。例えば、異常aとしては、「発明が解決しようとする課題」の欄で説明したセンサ電源異常が考えられ、異常bとしては、同じく「発明が解決しようとする課題」の欄で説明したセンサ異常が考えられる。また例えば、他の例として、異常aとしては、酸素センサを活性化させるヒータの異常が考えられ、異常bとしては、その酸素センサの異常が考えられる。
また、本実施形態において、各ECU2〜4は、診断装置13からのDTC出力要求に応じて、その時に記憶しているDTCと共に各タイムスタンプを出力するようになっている。このため、本タイムスタンプだけでなく、Pre1タイムスタンプとPre2タイムスタンプについても、異常と確定判定された異常項目についてのみECU2〜4に出力させることができる。よって、複数の異常が検出された場合(複数のDTCが記憶された場合)には、そのうちの主要因である発端異常を特定するのに必要な情報だけが出力されることとなり、診断装置13への情報転送量を必要最小限に抑えることができる。
また、本実施形態においては、診断装置13から各ECU2〜4へ、Pre2タイムスタンプの出力要求を含んだ常時モニタ出力要求を送信したならば、各ECU2〜4から診断装置へ、最新のPre1タイムスタンプとPre2タイムスタンプが一定時間毎に出力されて、それらが診断装置13の表示画面に表示される。また、診断装置13から各ECU2〜4へ、Pre2タイムスタンプの出力要求を含まない常時モニタ出力要求を送信したならば、各ECU2〜4から診断装置13へ、最新のPre1タイムスタンプのみが一定時間毎に出力されて、それらが診断装置13の表示画面に表示される。
このため、異常と確定判定されていない異常項目についても、その後に異常と確定判定されそうな予兆を確認することができる。具体的には、ECU2〜4から診断装置13へPre1タイムスタンプ或いは更にPre2タイムスタンプが出力されて、診断装置13の表示画面に、図12(C)のような内容が表示されたならば、異常の兆候があると認識することができる。
尚、本第1実施形態では、図5の異常検出処理が異常検出手段に相当しており、その処理のうちのS310が判定手段に相当している。そして、Pre1タイムスタンプが異常判定開始時の時刻情報に相当し、Pre2タイムスタンプが中間時間到達時の時刻情報に相当し、本タイムスタンプが異常確定時の時刻情報に相当している。また、異常検出処理毎(検出対象の異常毎)についてNRAM18に設けられた記憶領域であって、Pre1タイムスタンプ、Pre2タイムスタンプ、及び本タイムスタンプの各々を記憶するための記憶領域が、異常検出手段を構成する手段のうち、異常判定開始時の時刻情報、中間時間到達時の時刻情報、及び異常確定時の時刻情報の各々を記憶するための記憶領域又は記憶手段に該当している。一方、図7のDTC出力要求応答処理が応答手段に相当し、図10の常時モニタ出力要求応答処理が出力手段に相当している。
[第2実施形態]
第2実施形態の車載ネットワークは、第1実施形態と比較すると、下記(1)〜(5)の点が異なっている。
(1)まず、各ECU2〜4のNRAM18には、異常項目毎のPre1タイムスタンプとPre2タイムスタンプをそれぞれ記憶するための各記憶領域が、1つずつでなく、複数個(本実施形態では5個)ずつ設けられている。そして、Pre1タイムスタンプとPre2タイムスタンプは、最新のものから5個ずつ記憶されるようになっている。
このため、以下において、異常項目毎の5個の各Pre1タイムスタンプを区別する場合には、それらをPre1[0]タイムスタンプ〜Pre1[4]タイムスタンプと記載し、また、Pre1[k]タイムスタンプとも記載する。尚、kは、配列インデックスであり、0〜4の何れかである。同様に、異常項目毎の5個の各Pre2タイムスタンプを区別する場合には、それらをPre2[0]タイムスタンプ〜Pre2[4]タイムスタンプと記載し、また、Pre2[j]タイムスタンプとも記載する。尚、jも、配列インデックスであり、0〜4の何れかである。一方、Pre1タイムスタンプとPre2タイムスタンプの記憶数は異なっていても良い。
(2)そして、各ECU2〜4では、図4のタイムスタンプ初期化処理に代えて、図14のタイムスタンプ初期化処理が実行される。
図14のタイムスタンプ初期化処理では、まずS213にて、そのタイムスタンプ初期化処理に対応する異常についてのPre1[0]タイムスタンプ〜Pre1[4]タイムスタンプ及びPre2[0]タイムスタンプ〜Pre2[4]タイムスタンプをクリアし、続くS215にて、その各タイムスタンプの配列インデックスk,jを0にクリアする。そして、その後、図4と同じS220及びS230の処理を行う。
(3)更に、各ECU2〜4では、図5の異常検出処理に代えて、図15の異常検出処理が実行される。
図15の異常検出処理は、図5の異常検出処理と比較すると、S330に代わるS333にて、図16(A)に示すPre1タイムスタンプ記憶処理が実行され、S360に代わるS363にて、図17(A)に示すPre2タイムスタンプ記憶処理が実行される点が異なっている。
そして、図16(A)のPre1タイムスタンプ記憶処理では、まずS910にて、検出対象異常に対応するPre1[k]タイムスタンプ(kの値は、その時点で設定されている値)に、ECU1から取得している現在のグローバルタイマ値(即ち、異常判定開始時のグローバルタイマ値)をセットし、次のS920にて、kの値をインクリメント(+1)する。そして、次のS930にて、「k≧5」になったか否かを判定し、「k≧5」でなければ、そのまま当該Pre1タイムスタンプ記憶処理を終了するが、「k≧5」ならば、S940に進んで、kの値を0に戻し、その後、当該Pre1タイムスタンプ記憶処理を終了する。
このため、図16(B)に示すように、Pre1[0]タイムスタンプ〜Pre1[4]タイムスタンプの各々には、図15のS333でPre1タイムスタンプ記憶処理が実行される毎に、Pre1[0]タイムスタンプ→Pre1[1]タイムスタンプ→…→Pre1[4]タイムスタンプの順で、その時のグローバルタイマ値がセットされるが、Pre1[4]タイムスタンプの次は、再びPre1[0]タイムスタンプに戻って、グローバルタイマ値がセットされる。つまり、NRAM18に設けられたPre1タイムスタンプの複数の記憶領域は、いわゆるローリングデータ領域になっている。
また同様に、図17(A)のPre2タイムスタンプ記憶処理では、まずS950にて、検出対象異常に対応するPre2[j]タイムスタンプ(jの値は、その時点で設定されている値)に、ECU1から取得している現在のグローバルタイマ値(即ち、異常判定時間の半分経過時のグローバルタイマ値)をセットし、次のS960にて、jの値をインクリメント(+1)する。そして、次のS970にて、「j≧5」になったか否かを判定し、「j≧5」でなければ、そのまま当該Pre2タイムスタンプ記憶処理を終了するが、「j≧5」ならば、S980に進んで、jの値を0に戻し、その後、当該Pre2タイムスタンプ記憶処理を終了する。
このため、図17(B)に示すように、Pre2[0]タイムスタンプ〜Pre2[4]タイムスタンプの各々には、図15のS363でPre2タイムスタンプ記憶処理が実行される毎に、Pre2[0]タイムスタンプ→Pre2[1]タイムスタンプ→…→Pre2[4]タイムスタンプの順で、その時のグローバルタイマ値がセットされるが、Pre2[4]タイムスタンプの次は、再びPre2[0]タイムスタンプに戻って、グローバルタイマ値がセットされる。つまり、NRAM18に設けられたPre2タイムスタンプの複数の記憶領域も、いわゆるローリングデータ領域になっている。
上記(1)〜(3)の相違点により、例えば図18に示すように、異常判定時間が800msに設定された異常について、グローバルタイマ値=400、600、1100、1600の各時点で異常判定条件が成立し始めたとすると、Pre1[0]タイムスタンプ〜Pre1[3]タイムスタンプの各々として、400、600、1100、1600の各値が記憶されることとなる。また、「グローバルタイマ値=1100」の時点から異常判定条件が成立したまま、異常判定時間の半分である400msが経過すると、その時点のグローバルタイマ値である1500が、Pre2[0]タイムスタンプとして記憶される。同様に、「グローバルタイマ値=1600」の時点から異常判定条件が成立したまま、400msが経過すると、その時点のグローバルタイマ値である2000が、Pre2[1]タイムスタンプとして記憶される。
このように、本第2実施形態では、各異常について、Pre1タイムスタンプとPre2タイムスタンプが、最新のものから最大で5個ずつ記憶される。尚、図18の例では、「グローバルタイマ値=1600」の時点から異常判定条件が成立し続けて、「グローバルタイマ値=2400」の時に、その時の「2400」が本タイムスタンプとして記憶されると共に、DTCが記憶されている。
(4)次に、各ECU2〜4において、図7のS530では、図8のDTC・タイムスタンプ出力処理に代えて、図19のDTC・タイムスタンプ出力処理が実行される。
そして、図19のDTC・タイムスタンプ出力処理は、図8のDTC・タイムスタンプ出力処理と比較すると、S610、S660、S680及びS690の各々に代えて、S615、S665、S685及びS695の処理が行われる。
まず、S610に代わるS615では、診断装置13への送信データが格納される送信用データ領域TR[0]〜TR[11]をクリアする。つまり、本第2実施形態では、送信用データ領域TRが0番から11番までの12個のデータを格納可能になっている。
そして、S660に代わるS665では、S620で送信用データ領域TR[0]に書き込んだDTCに対応するPre1[0]タイムスタンプ〜Pre1[4]タイムスタンプを、送信用データ領域TR[2]〜TR[6]の各々に書き込む。
また、S680に代わるS685では、S620で送信用データ領域TR[0]に書き込んだDTCに対応するPre2[0]タイムスタンプ〜Pre2[4]タイムスタンプを、送信用データ領域TR[7]〜TR[11]の各々に書き込む。
そして、S690に代わるS695では、送信用データ領域TR[0]〜TR[11]に書き込まれているデータを診断装置13へ送信する。
このような第2実施形態のDTC・タイムスタンプ出力処理による作用について説明する。
例えば、ECU2において、SRAM17又は書換可能ROMに、DTCとして{0x0120}が記憶されており、そのDTCに対応するPre1[0]タイムスタンプ〜Pre1[4]タイムスタンプの各々として、{0x0190}、{0x0258}、{0x044C}、{0x0640}、{0x0000}がNRAM18に記憶されていたとする。そして更に、そのDTCに対応する本タイムスタンプとして、{0x0960}がNRAM18に記憶されていたとする。
この場合に、診断装置13から各ECU2〜4へ、Pre1タイムスタンプ出力要求と本タイムスタンプ出力要求を含んだDTC出力要求が送信されたとすると、ECU2においては、DTC・タイムスタンプ出力処理により、送信用データ領域TR[0]〜TR[11]には、図20(A)のようにデータが書き込まれることとなる。尚、この例では、Pre1[4]タイムスタンプに未だグローバルタイマ値が記憶されていないため、送信用データ領域TR[6]内のデータは{0x0000}である。また、送信用データ領域TR[7]〜TR[11]内のデータが、クリアされたままの{0x0000}であるのは、この例では、診断装置13にてPre2タイムスタンプの読み出し指定は行われておらず、診断装置13からのDTC出力要求中にPre2タイムスタンプ出力要求が含まれていないからである。
そして、ECU2から診断装置13へ、図20(A)のデータが送信される。
すると、診断装置13は表示画面に、図20(B)に示すような内容を表示することとなる。つまり、「トラブルコード」として、{0x0120}を表示形式にした「P0120」が表示され、「発生時刻1」〜「発生時刻4」の各々として、Pre1[0]タイムスタンプ〜Pre1[3]タイムスタンプの各値(10進数表示の値)が表示され、「発生時刻5」としては、データ無しを意味する「−ms」が表示される。そして、「1/2経過時刻」としても、「−ms」が表示され、また、「確定時刻」としては、本タイムスタンプの値(10進数表示の値)が表示される。
尚、診断装置13にてPre2タイムスタンプの読み出し指定が行われ、診断装置13からのDTC出力要求中にPre2タイムスタンプ出力要求が含まれた場合には、ECU2から診断装置13へ、DTC={0x0120}に対応するPre2[0]タイムスタンプ〜Pre2[4]タイムスタンプの各値も送信される。そして、診断装置13の表示画面に、「1/2経過時刻1」〜「1/2経過時刻4」の各項目が表示されると共に、その各項目について、Pre2[0]タイムスタンプ〜Pre2[4]タイムスタンプの各値が表示されることとなる。
また、ECU2〜4のうちの1つ以上に、複数のDTCが記憶されていた場合、診断装置13の表示画面には、その各DTCについて、図20(B)のような内容が、同時に又は切り替えて表示されることとなる。また、診断装置13は、DTC及び各タイムスタンプが、どのECUから送られてきたものであるかを、合わせて表示するように構成しても良い。
(5)また、各ECU2〜4において、図10のS730では、図11のPreタイムスタンプ出力処理に代えて、図21のPreタイムスタンプ出力処理が実行される。
そして、図21のPreタイムスタンプ出力処理は、図11のPreタイムスタンプ出力処理と比較すると、S810、S820、S840、S850及びS860の各々に代えて、S815、S825、S845、S855及びS865の処理が行われる。
まず、S810に代わるS815では、診断装置13への常時モニタ用の送信データが格納される常時モニタ送信用データ領域TRM[0]〜TRM[10]をクリアする。つまり、本第2実施形態では、常時モニタ送信用データ領域TRMが0番から10番までの11個のデータを格納可能になっている。
そして、S820に代わるS825では、送信対象のPre1[0]タイムスタンプ〜Pre1[4]タイムスタンプを、常時モニタ送信用データ領域TRM[0]〜TRM[4]の各々に書き込む。
また、S840に代わるS845では、S825で常時モニタ送信用データ領域TRM[0]〜TRM[4]に書き込んだPre1[k]タイムスタンプと同じ異常に対応するPre2[0]タイムスタンプ〜Pre2[4]タイムスタンプを、常時モニタ送信用データ領域TRM[5]〜TRM[9]の各々に書き込む。
そして、S850に代わるS855では、S825で常時モニタ送信用データ領域TRM[0]〜TRM[4]に書き込んだPre1[k]タイムスタンプに対応するDTCが何であるかを示す情報(本実施形態では、そのDTC)を、常時モニタ送信用データ領域TRM[10]に書き込む。
そして更に、S860に代わるS865では、常時モニタ送信用データ領域TRM[0]〜TRM[10]に書き込まれているデータを診断装置13へ送信する。
このような第2実施形態のPreタイムスタンプ出力処理による作用について説明する。
例えば、診断装置13から各ECU2〜4へ、Pre2タイムスタンプ出力要求を含まない常時モニタ出力要求が送信されたとする。そして、ECU2において、NRAM18に、DTC={0x0120}の異常に対応するPre1[0]タイムスタンプ〜Pre1[4]タイムスタンプの各々として、{0x0190}、{0x0258}、{0x044C}、{0x0640}、{0x0000}が記憶されていたとする。
この場合、ECU2においては、Preタイムスタンプ出力処理により、常時モニタ送信用データ領域TRM[0]〜TRM[10]には、図22(A)のようにデータが書き込まれることとなる。
そして、ECU2から診断装置13へ、図22(A)のデータが送信される。
すると、診断装置13は表示画面に、図22(B)に示すような内容を表示することとなる。つまり、「兆候」として、{0x0120}を表示形式にした「P0120」のDTCに関して異常の兆候があること(P0120異常兆候)が表示され、その「P0120」が示す異常の「発生時刻1」〜「発生時刻5」のうち、「発生時刻1」〜「発生時刻4」の各々として、Pre1[0]タイムスタンプ〜Pre1[3]タイムスタンプの各値(10進数表示の値)が表示される。そして、「発生時刻5」としては、Pre1[4]タイムスタンプの値が{0x0000}であるため、データ無しを意味する「−ms」が表示される。また、「P0120」が示す異常の「1/2経過時刻」としても、「−ms」が表示される。
尚、診断装置13にてPre2タイムスタンプもモニタすることが指定されて、診断装置13からの常時モニタ出力要求中にPre2タイムスタンプ出力要求が含まれた場合には、ECU2から診断装置13へ、DTC={0x0120}に対応するPre2[0]タイムスタンプ〜Pre2[4]タイムスタンプの各値も一定時間毎に送信される。そして、診断装置13の表示画面に、「1/2経過時刻1」〜「1/2経過時刻4」の各項目が表示されると共に、その各項目について、Pre2[0]タイムスタンプ〜Pre2[4]タイムスタンプの各値が表示されることとなる。
また、ECU2〜4のうちの1つ以上に、複数の異常項目についてPre1タイムスタンプが記憶されていた場合、診断装置13の表示画面には、その各異常項目について、図22(B)のような内容が、同時に又は切り替えて表示されることとなる。また、診断装置13は、各タイムスタンプが、どのECUから送られてきたものであるかを、合わせて表示するように構成しても良い。一方、本第2実施形態においても、Preタイムスタンプ出力処理は一定時間毎に繰り返されるため、ECU2〜4で記憶されるPre1タイムスタンプ及びPre2タイムスタンプが更新されたならば、その更新されたタイムスタンプが診断装置13へ送信されて、診断装置13の表示画面には、その更新されたタイムスタンプによる時刻が表示されることとなる。
以上のような第2実施形態の車載ネットワークによれば、第1実施形態と同じ効果に加えて、更に下記の効果が得られる。
まず、ECU2〜4で検出対象としている何れかの異常について、異常判定条件が異常判定時間よりも短い時間だけ成立することが繰り返される、異常判定/正常判定のハンチング現象が生じた場合、その異常についてのPre1タイムスタンプが複数個記憶されることとなる。
このため、診断装置13からECU2〜4へのDTC出力要求により、何れかのECU2〜4から診断装置13へ、何れかの異常についてのPre1タイムスタンプが複数読み出されたならば、その異常について、異常と確定判定される前に、異常判定/正常判定のハンチング現象が起こっていたことを知ることができ、更に、それらPre1タイムスタンプの各値から、そのハンチング現象が起こっていた時刻や頻度を知ることができる。よって、異常確定判定へ至る前の予兆状態を詳しく確認することができる。
また、診断装置13からECU2〜4への常時モニタ出力要求により、何れかのECU2〜4から診断装置13へ、何れかの異常についてのPre1タイムスタンプが複数読み出されたならば、その異常について、異常判定/正常判定のハンチング現象が起こっていること及びそのハンチング現象の発生時刻や頻度を知ることができ、これから異常と確定判定されるかも知れない予兆を詳しく確認することができる。
同様に、ECU2〜4で検出対象としている何れかの異常について、異常判定条件が異常判定時間の半分よりも長く異常判定時間よりは短い時間だけ成立することが繰り返される、異常判定/正常判定のハンチング現象(以下、異常確定判定に近いハンチング現象という)が生じた場合、その異常についてのPre2タイムスタンプが複数個記憶されることとなる。
このため、診断装置13からECU2〜4へのDTC出力要求或いは常時モニタ出力要求により、何れかのECU2〜4から診断装置13へ、何れかの異常についてのPre2タイムスタンプが複数読み出されたならば、それらPre2タイムスタンプの各値から、異常確定判定に近いハンチング現象についても、それの発生時刻や頻度を知ることができ、延いては、異常と確定判定される可能性の高い予兆状態を確認することができる。
尚、本第2実施形態では、図15の異常検出処理が異常検出手段に相当しており、その処理のうちのS310が判定手段に相当している。また、異常検出処理毎(検出対象の異常毎)についてNRAM18に設けられた記憶領域であって、Pre1タイムスタンプとPre2タイムスタンプを複数個ずつ記憶可能な記憶領域が、記憶手段に該当している。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、上記各実施形態において、Pre1タイムスタンプ、Pre2タイムスタンプ、本タイムスタンプ、及びPre1セット履歴フラグの各々は、SRAM17に記憶されるようにしても良い。そして、その場合、図4,図14のタイムスタンプ初期化処理は、車載バッテリが車両に接続された直後にだけ実施されるように構成すれば良い。このように構成すれば、上記各タイムスタンプ及びPre1セット履歴フラグを、イグニッションスイッチのオン/オフに拘わらず継続して保存することができる。つまり、異常判定条件が成立してから異常と確定判定されるまでの間に、ECU2〜4への動作電源が遮断されても、上記各タイムスタンプ及びPre1セット履歴フラグを保存することができ、イグニッションスイッチのオフ期間を跨いで異常の発生時刻や異常の兆候を確認することができるようになる。
一方、図3以降の各処理を行うECUが1つであると共に、そのECUが複数項目の異常を検出するようになっている構成でも良い。また、この場合、そのECUは、必ずしも他のECU1からグローバルタイマ値を受け取る必要はなく、自ECUに備えられた時計の値を各タイムスタンプとして記憶するように構成することができる。
実施形態の車載ネットワークを表す構成図である。 ECU1で実行されるグローバルタイマ値送信処理を表すフローチャートである。 ECU2〜4で実行されるグローバルタイマ値受信処理を表すフローチャートである。 ECU2〜4で実行される第1実施形態のタイムスタンプ初期化処理を表すフローチャートである。 ECU2〜4で実行される第1実施形態の異常検出処理を表すフローチャートである。 第1実施形態の異常検出処理の作用を表すタイムチャートである。 ECU2〜4で実行されるDTC出力要求応答処理を表すフローチャートである。 図7のS530で実行される第1実施形態のDTC・タイムスタンプ出力処理を表すフローチャートである。 第1実施形態のDTC・タイムスタンプ出力処理の作用及び診断装置の表示内容を説明する説明図である。 ECU2〜4で実行される常時モニタ出力要求応答処理を表すフローチャートである。 図10のS730で実行される第1実施形態のPreタイムスタンプ出力処理を表すフローチャートである。 第1実施形態のPreタイムスタンプ出力処理の作用及び診断装置の表示内容を説明する説明図である。 第1実施形態の効果を説明するタイムチャートである。 ECU2〜4で実行される第2実施形態のタイムスタンプ初期化処理を表すフローチャートである。 ECU2〜4で実行される第2実施形態の異常検出処理を表すフローチャートである。 図15のS333で実行されるPre1タイムスタンプ記憶処理を説明する説明図である。 図15のS363で実行されるPre2タイムスタンプ記憶処理を説明する説明図である。 第2実施形態の異常検出処理の作用を表すタイムチャートである。 図7のS530で実行される第2実施形態のDTC・タイムスタンプ出力処理を表すフローチャートである。 第2実施形態のDTC・タイムスタンプ出力処理の作用及び診断装置の表示内容を説明する説明図である。 図10のS730で実行される第2実施形態のPreタイムスタンプ出力処理を表すフローチャートである。 第2実施形態のPreタイムスタンプ出力処理の作用及び診断装置の表示内容を説明する説明図である。
符号の説明
1〜4…ECU(電子制御ユニット)、11…通信線、13…診断装置、15…CPU、16…ROM、17…SRAM(スタンバイRAM)、18…NRAM(通常のRAM)

Claims (12)

  1. 検出対象の異常が発生しているか否かを判定する判定手段を有し、その判定手段により異常が発生していると連続して判定している時間が、異常確定判定時間に達すると、その異常が発生していると確定判定して、その異常が発生していることを示す異常情報を記憶すると共に、前記確定判定をした時の時刻情報を、異常確定時の時刻情報として記憶する異常検出手段を、車両における複数の異常項目毎に備え、
    更に、前記異常確定判定時間は前記異常検出手段毎に異なっている故障診断用情報収集装置において、
    前記各異常検出手段は、前記判定手段により異常が発生していないと判定している状態から、該判定手段により異常が発生していると判定した状態に転じると、その時に、その時の時刻情報である異常判定開始時の時刻情報を、異常未確定段階の時刻情報として記憶し、その異常判定開始時の時刻情報を、その後に前記確定判定をするかしないかに関わらず保持すること、
    を特徴とする故障診断用情報収集装置。
  2. 請求項1に記載の故障診断用情報収集装置において、
    前記各異常検出手段は、前記異常判定開始時の時刻情報を記憶するための記憶領域をN個(Nは2以上の整数)備えており、その記憶領域に前記異常判定開始時の時刻情報を最新のものからN個記憶するようになっていること、
    を特徴とする故障診断用情報収集装置。
  3. 請求項に記載の故障診断用情報収集装置において、
    前記各異常検出手段は、前記異常判定開始時の時刻情報を記憶するための記憶領域を1個だけ備えており、その記憶領域に前記異常判定開始時の時刻情報を最新のものだけ記憶するようになっていること、
    を特徴とする故障診断用情報収集装置。
  4. 請求項1ないし請求項3の何れか1項に記載の故障診断用情報収集装置において、
    前記各異常検出手段は、前記判定手段により異常が発生していると連続して判定している時間が、前記異常確定判定時間よりも短い中間時間に達すると、その時に、その中間時間到達時の時刻情報も、異常未確定段階の時刻情報として記憶し、その中間時間到達時の時刻情報を、その後に前記確定判定をするかしないかに関わらず保持すること、
    を特徴とする故障診断用情報収集装置。
  5. 請求項に記載の故障診断用情報収集装置において、
    前記中間時間は、前記異常確定判定時間の半分の時間であること、
    を特徴とする故障診断用情報収集装置。
  6. 請求項4又は請求項5に記載の故障診断用情報収集装置において、
    前記各異常検出手段は、前記中間時間到達時の時刻情報を記憶するための記憶領域をM個(Mは2以上の整数)備えており、その記憶領域に前記中間時間到達時の時刻情報を最新のものからM個記憶するようになっていること、
    を特徴とする故障診断用情報収集装置。
  7. 請求項4又は請求項5に記載の故障診断用情報収集装置において、
    前記各異常検出手段は、前記中間時間到達時の時刻情報を記憶するための記憶領域を1個だけ備えており、その記憶領域に前記中間時間到達時の時刻情報を最新のものだけ記憶するようになっていること、
    を特徴とする故障診断用情報収集装置。
  8. 請求項1ないし請求項7の何れか1項に記載の故障診断用情報収集装置において、
    外部装置から異常情報要求を受けると、前記異常検出手段が記憶した異常情報と合わせて、その異常検出手段が記憶した時刻情報を前記外部装置へ出力する応答手段を備えていること、
    を特徴とする故障診断用情報収集装置。
  9. 請求項に記載の故障診断用情報収集装置において、
    外部装置から出力要求を受けると、前記異常検出手段が記憶した異常未確定段階の時刻情報を前記外部装置へ定期的に出力する出力手段を備えていること、
    を特徴とする故障診断用情報収集装置。
  10. 請求項に記載の故障診断用情報収集装置において、
    前記異常検出手段は、前記車両に搭載されて互いに通信する複数の電子制御ユニットの各々に1つ以上ずつ設けられ、
    前記応答手段は、前記各電子制御ユニットに設けられると共に、前記異常情報要求を受けると、その電子制御ユニットに設けられている異常検出手段が記憶した異常情報と合わせて、その異常検出手段が記憶した時刻情報を前記外部装置へ出力すること、
    を特徴とする故障診断用情報収集装置。
  11. 請求項9に記載の故障診断用情報収集装置において、
    前記異常検出手段は、前記車両に搭載されて互いに通信する複数の電子制御ユニットの各々に1つ以上ずつ設けられ、
    前記応答手段は、前記各電子制御ユニットに設けられると共に、前記異常情報要求を受けると、その電子制御ユニットに設けられている異常検出手段が記憶した異常情報と合わせて、その異常検出手段が記憶した時刻情報を前記外部装置へ出力し、
    前記出力手段は、前記各電子制御ユニットに設けられると共に、前記出力要求を受けると、その電子制御ユニットに設けられている異常検出手段が記憶した異常未確定段階の時刻情報を前記外部装置へ定期的に出力すること、
    を特徴とする故障診断用情報収集装置。
  12. 請求項1ないし請求項11の何れか1項に記載の故障診断用情報収集装置において、
    前記各異常検出手段は、
    一定時間毎に起動するようになっていると共に、
    前記判定手段により異常が発生していないと判定した場合には、異常が発生していると連続して判定している時間を計測するためのカウンタをクリアし、
    また、前記判定手段により異常が発生していると判定した場合には、前記カウンタをカウントアップさせた後、前記カウンタの値に基づき、前記異常判定開始時から前記異常確定判定時間が経過したか否かを判定する判定処理を行って、該判定処理により、前記異常確定判定時間が経過していないと判定した場合には、異常が発生していると確定判定することなく動作を終了するが、前記判定処理により、前記異常確定判定時間が経過したと判定した場合には、異常が発生していると確定判定して、前記異常情報と前記異常確定時の時刻情報を記憶すること、
    を特徴とする故障診断用情報収集装置。
JP2007152767A 2007-06-08 2007-06-08 故障診断用情報収集装置 Active JP4306765B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007152767A JP4306765B2 (ja) 2007-06-08 2007-06-08 故障診断用情報収集装置
US12/134,814 US8078355B2 (en) 2007-06-08 2008-06-06 Failure-diagnosis information collection system
EP08010384A EP2000874B8 (en) 2007-06-08 2008-06-06 Failure-diagnosis information collection system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007152767A JP4306765B2 (ja) 2007-06-08 2007-06-08 故障診断用情報収集装置

Publications (2)

Publication Number Publication Date
JP2008304367A JP2008304367A (ja) 2008-12-18
JP4306765B2 true JP4306765B2 (ja) 2009-08-05

Family

ID=39745341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007152767A Active JP4306765B2 (ja) 2007-06-08 2007-06-08 故障診断用情報収集装置

Country Status (3)

Country Link
US (1) US8078355B2 (ja)
EP (1) EP2000874B8 (ja)
JP (1) JP4306765B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4736828B2 (ja) * 2006-02-03 2011-07-27 株式会社デンソー 電子制御装置
FR2920895B1 (fr) * 2007-09-06 2014-11-28 Peugeot Citroen Automobiles Sa Procede de gestion de defaillances avec memorisation de ces defaillances pour un vehicule automobile.
JP4458179B2 (ja) * 2008-03-27 2010-04-28 トヨタ自動車株式会社 故障検出装置、故障検出システム、故障検出方法
JP4623189B2 (ja) * 2008-09-26 2011-02-02 株式会社デンソー 異常判定装置、異常判定プログラム及び異常判定方法
JP5208872B2 (ja) * 2009-07-15 2013-06-12 日立オートモティブシステムズ株式会社 車両搭載機器の制御装置のメモリ診断装置
FR2949865B1 (fr) * 2009-09-09 2012-10-05 Peugeot Citroen Automobiles Sa Autodiagnostic de calculateurs mecatroniques
JP5347997B2 (ja) * 2010-02-04 2013-11-20 株式会社デンソー 故障診断用情報収集装置
JP5343920B2 (ja) * 2010-04-27 2013-11-13 株式会社デンソー 故障予兆検出装置
JP5556824B2 (ja) * 2011-03-18 2014-07-23 株式会社デンソー 車載システム、ecu、記憶指示送信装置、および記憶要求送信装置
JP5360148B2 (ja) * 2011-07-12 2013-12-04 株式会社デンソー 電子制御装置
DE102011121441A1 (de) * 2011-12-16 2013-06-20 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Verfahren zum Betreiben eines Fehlerdiagnosesystems eines Fahrzeugs und Fahrzeug
JP5556801B2 (ja) * 2011-12-19 2014-07-23 株式会社デンソー 車載電子制御装置および診断システム
JP5439522B2 (ja) * 2012-02-22 2014-03-12 本田技研工業株式会社 車両データ収集装置及び車両データ収集方法
EP2708963A1 (en) 2012-09-12 2014-03-19 Alstom Technology Ltd. Devices and methods for diagnosis of industrial electronic based products
JP5849990B2 (ja) * 2013-05-29 2016-02-03 株式会社デンソー 車載制御装置及び車載制御システム
DE102014208611A1 (de) * 2014-05-08 2015-11-12 Robert Bosch Gmbh Verfahren zur Diagnose eines Zustands in einem Fahrzeug und Diagnose-Testgerät
CN104331068B (zh) * 2014-10-21 2018-03-27 普华基础软件股份有限公司 一种基于电子控制单元的测试装置
JP6542096B2 (ja) * 2015-10-13 2019-07-10 住友重機械工業株式会社 故障診断システム
KR101786228B1 (ko) * 2015-12-01 2017-10-18 현대자동차주식회사 차량 고장 진단방법
US9845760B2 (en) * 2016-03-21 2017-12-19 Ford Global Technologies, Llc Methods and systems for engine fuel and torque control
JP6822074B2 (ja) * 2016-11-04 2021-01-27 株式会社デンソー 回転電機システム
JP6837893B2 (ja) * 2017-03-31 2021-03-03 住友重機械工業株式会社 故障診断システム
CN106970609A (zh) * 2017-04-22 2017-07-21 深圳市元征科技股份有限公司 车辆诊断盒的诊断方法及车辆诊断盒
FR3076633A1 (fr) * 2018-01-10 2019-07-12 Psa Automobiles Sa Procede de gestion de defauts averes pour un calculateur moteur
FR3076635B1 (fr) * 2018-01-10 2021-06-11 Psa Automobiles Sa Procede de recuperation de defauts detectes non confirmes pour calculateur moteur
JP7064414B2 (ja) * 2018-10-04 2022-05-10 本田技研工業株式会社 故障診断装置
JP7268418B2 (ja) * 2019-03-15 2023-05-08 株式会社デンソー 通信システム、サーバ、及び車外検出装置
CN110111448A (zh) * 2019-04-24 2019-08-09 北京长城华冠汽车技术开发有限公司 汽车故障名称显示系统及汽车故障名称显示方法
JP7136046B2 (ja) * 2019-08-15 2022-09-13 株式会社デンソー 制御装置
JP7311458B2 (ja) * 2020-04-07 2023-07-19 トヨタ自動車株式会社 バッテリー診断装置、方法、プログラム、及び車両
CN111708353A (zh) * 2020-06-30 2020-09-25 深圳市元征科技股份有限公司 一种车辆诊断设备数据显示方法、系统及相关设备
US20220337331A1 (en) * 2021-04-14 2022-10-20 Meta Platforms, Inc. Utilizing high-bandwidth memory and multi-thread processors to implement a precision time memory and synchronous processing system on a network interface card

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4118692C2 (de) * 1991-06-07 2002-03-21 Bosch Gmbh Robert Vorrichtung zur Fehlerspeicherung in einer Steuereinrichtung eines Kraftfahrzeugs
JP3505760B2 (ja) * 1993-02-18 2004-03-15 株式会社デンソー 車両の自己診断装置
JP3138709B2 (ja) 1993-12-21 2001-02-26 アイシン・エィ・ダブリュ株式会社 車両用電子制御装置の自己故障診断方法及び装置
JP2000146765A (ja) 1998-11-09 2000-05-26 Nissan Motor Co Ltd 車両用電子制御装置
JP2000203134A (ja) * 1999-01-11 2000-07-25 Konica Corp 画像形成装置および遠隔診断システム
JP3489548B2 (ja) * 2000-06-29 2004-01-19 株式会社デンソー エンジン制御用電子制御装置
JP2003027981A (ja) 2001-07-13 2003-01-29 Mitsubishi Motors Corp 車両用故障診断装置
JP2003285700A (ja) 2002-03-28 2003-10-07 Mitsubishi Fuso Truck & Bus Corp 車両の故障診断装置
JP2005195501A (ja) * 2004-01-08 2005-07-21 Bosch Automotive Systems Corp 異常報知方法及び異常報知装置
JP4554996B2 (ja) * 2004-06-09 2010-09-29 本田技研工業株式会社 車両の電子制御システムの故障検知方法
US7239946B2 (en) * 2004-10-25 2007-07-03 General Motors Corporation Vehicles fault diagnostic systems and methods
JP4661380B2 (ja) * 2005-06-14 2011-03-30 トヨタ自動車株式会社 故障診断装置、故障診断システム、故障診断方法、及び車載装置
JP2007038816A (ja) * 2005-08-02 2007-02-15 Nissan Motor Co Ltd ネットワークシステム及びその管理方法
FR2920895B1 (fr) 2007-09-06 2014-11-28 Peugeot Citroen Automobiles Sa Procede de gestion de defaillances avec memorisation de ces defaillances pour un vehicule automobile.

Also Published As

Publication number Publication date
JP2008304367A (ja) 2008-12-18
EP2000874B1 (en) 2012-07-11
EP2000874A3 (en) 2010-09-29
US8078355B2 (en) 2011-12-13
EP2000874B8 (en) 2012-09-05
EP2000874A2 (en) 2008-12-10
US20080306650A1 (en) 2008-12-11

Similar Documents

Publication Publication Date Title
JP4306765B2 (ja) 故障診断用情報収集装置
JP4511587B2 (ja) 車両の遠隔診断システムためのデータ通信装置
US11541899B2 (en) Vehicle diagnosis apparatus, vehicle diagnosis system, and vehicle diagnosis program
JP4451905B2 (ja) 車両の遠隔診断システム
JP3657027B2 (ja) 車両故障診断装置の時間管理システム及び方法
KR101448753B1 (ko) 게이트웨이를 이용한 차량 진단 시스템 및 그 방법
US7734389B2 (en) Fault information management system and a method for implementing a fault information management system for a vehicle
JP5347997B2 (ja) 故障診断用情報収集装置
JP2005219717A (ja) 車両・車載機器の異常診断装置
JP4396740B2 (ja) 診断装置
JP5849990B2 (ja) 車載制御装置及び車載制御システム
JP2003285700A (ja) 車両の故障診断装置
JP5617901B2 (ja) 電子制御装置
JP2008161263A (ja) スロットマシン設定値管理システム
JP2003027981A (ja) 車両用故障診断装置
JP2003172199A (ja) 車両用電子制御装置のプログラム書き換えシステム
JP2006113668A (ja) 故障診断装置
JP7183884B2 (ja) 電子制御装置
JP2014084037A (ja) 車両診断装置
KR101065485B1 (ko) 엔진 무선 모니터링 시스템
JP2008265618A (ja) 車載電子制御装置
JP2019177709A (ja) 故障診断装置
EP2685431B1 (en) Vehicle information management system
JP2005335590A (ja) 車両診断情報取得装置および車両診断情報取得方法
JP2012083608A (ja) 表示機構監視装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090414

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090427

R150 Certificate of patent or registration of utility model

Ref document number: 4306765

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250