JP7447855B2 - 異常診断装置 - Google Patents

異常診断装置 Download PDF

Info

Publication number
JP7447855B2
JP7447855B2 JP2021048963A JP2021048963A JP7447855B2 JP 7447855 B2 JP7447855 B2 JP 7447855B2 JP 2021048963 A JP2021048963 A JP 2021048963A JP 2021048963 A JP2021048963 A JP 2021048963A JP 7447855 B2 JP7447855 B2 JP 7447855B2
Authority
JP
Japan
Prior art keywords
item
discrimination
vehicle
calculation
value
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
JP2021048963A
Other languages
English (en)
Other versions
JP2022147632A (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2021048963A priority Critical patent/JP7447855B2/ja
Priority to CN202210250377.7A priority patent/CN115113940A/zh
Priority to US17/655,787 priority patent/US12014586B2/en
Publication of JP2022147632A publication Critical patent/JP2022147632A/ja
Application granted granted Critical
Publication of JP7447855B2 publication Critical patent/JP7447855B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • 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
    • 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
    • G07C2205/00Indexing scheme relating to group G07C5/00
    • G07C2205/02Indexing scheme relating to group G07C5/00 using a vehicle scan tool
    • 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/008Registering or indicating the working of vehicles communicating information to a remotely located station

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Vehicle Cleaning, Maintenance, Repair, Refitting, And Outriggers (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明は、車両の異常の発生要因を調べる異常診断装置に関する。
特許文献1には、車両の異常の発生要因を調べる異常診断装置の一例が記載されている。車両で異常が発生した場合、車両の記憶装置にDTC及びFFDが記憶される。DTCとは、故障コードのことであり、「Diagnostic Trouble Code」の略記である。FFDとは、フリーズフレームデータであり、「Freeze Frame Data」の略記である。
特許文献1によれば、車両の記憶装置に記憶されているDTC及びFFDを、車外に設けられている解析センタが受信すると、解析センタでは、DTCが示す異常の発生要因となり得る車両部品を網羅するリストが作成される。続いて、FFDがデータマイニングなどによって解析される。解析の結果、異常の発生要因ではないと診断した車両部品が、上記のリストから除去される。これにより、異常の発生要因である可能性のある車両部品を絞り込むことができる。なお、特許文献1では、解析センタが、異常診断装置に対応する。
特開2009-293951号公報
FFDなどのような車両情報を用いた診断を行う場合、診断の精度の向上及び診断できる内容の追加などを目的として、異常診断装置の記憶部に記憶されている診断プログラムが更新されることがある。
ここで、車両部品の異常診断を行うための異常診断装置を、車両製造メーカ及び車両販売店などの複数の事業体がそれぞれ用意している。各診断装置の記憶部に記憶されている診断プログラムの仕様は実質的には同じであっても、診断プログラムを作成するプログラミング言語が異なることがある。
このような場合、複数の診断装置の何れにおいても同様の診断結果を得られるようにするためには、複数の診断装置で診断プログラムの更新を個別に行う必要がある。その結果、複数の診断装置において診断の精度及び診断できる内容を統一するためには、多大なる労力及び時間が必要となる。そこで、診断プログラム自体を更新することなく、診断の精度及び診断できる内容を変更することができる異常診断装置の開発が求められている。
上記課題を解決するための異常診断装置は、異常が発生した際に、当該異常の内容を示すコードである異常特定コードと、車両状態を示す値である車両状態値の時系列データであって、且つ当該異常の発生時の前記車両状態値を含むデータである車両情報と、を車両記憶部に記憶する機能を有する車両と通信可能であり、前記車両での異常の発生要因を調べる装置である。この異常診断装置は、前記車両記憶部に記憶された前記異常特定コード及び前記車両情報を取得する取得部と、実行装置、及び、前記実行装置が実行する診断プログラムを記憶する記憶装置を有する診断エンジンと、複数の前記異常特定コードの各々に対応する複数の判別セットを記憶しており、且つ記憶内容の書き換えが可能なデータベースと、を備えている。複数の前記判別セットには、対応する前記異常特定コードが示す異常の発生原因となりうる車両部品に関する項目である判別項目が紐付けられている。複数の前記判別項目は、前記車両部品を示す情報である部品情報と、当該車両部品に関連する前記車両情報を解析するルールを含む判別テーブルと、を有している。前記診断エンジンは、前記取得部が取得した前記異常特定コードに対応する前記判別セットを前記データベースから読み出し、読み出した当該判別セットに紐付けられている前記判別項目の前記判別テーブルの前記ルールに従って前記取得部が取得した前記車両情報を解析することにより、当該判別項目の前記部品情報が示す前記車両部品に異常が発生しているか否かを診断する。
上記構成によれば、車両での異常の発生要因を調べる場合、取得部が取得した異常特定コードに対応する判別セットが診断エンジンによってデータベースから読み出される。すると、診断エンジンによって、当該判別セットに紐付けられている判別項目のルールに従って車両情報が解析される。これにより、当該判別項目の部品情報が示す車両部品に異常が発生しているか否かを診断できる。
上記の異常診断装置では、判別セットに紐付ける判別項目の内容を変更したり、判別項目の数を変更したり、上記ルールの変更や追加を行ったりすることで、診断の精度及び診断できる内容を変更することができる。そのため、記憶装置に記憶されている診断プログラム自体を更新しなくてもよい。
したがって、上記構成によれば、診断プログラムを更新しなくても、診断の精度及び診断できる内容を変更することができるようになる。
上記異常診断装置の一態様において、前記判別テーブルは、前記ルールとして、前記車両部品に異常が発生しているか否かを判別するための値である処理値を前記車両情報から導出する際の当該車両情報の加工手法の情報を有し、前記処理値と比較する値である比較値の情報、及び、前記処理値と前記比較値とを比較する際の比較演算子の情報をさらに有している。前記診断エンジンは、前記判別テーブルにおける前記加工手法に従って前記車両情報を解析することによって前記処理値を導出し、前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断する。
上記構成によれば、診断エンジンは、判別テーブルを読み出すと、当該判別テーブルにおける加工手法に従って車両情報を解析することによって処理値を導出する。続いて、診断エンジンは、導出した処理値と判別テーブルにおける比較値との比較を、判別テーブルにおける比較演算子を用いて行う。そして、診断エンジンは、その比較結果を基に、車両部品に異常が発生しているか否かを診断する。
すなわち、上記の異常診断装置では、判別テーブルを変更して加工手法を変更することにより、診断プログラムを変更することなく、処理値を変更できる。導出される処理値が変われば、診断の精度も変わる。また、判別テーブルを変更して比較値を変更することにより、診断プログラムを変更することなく、診断の精度を変更できる。また、判別テーブルを変更して比較演算子を変更することにより、診断プログラムを変更することなく、診断の精度を変更できる。
上記異常診断装置の一態様において、前記判別テーブルは、項目種類の情報をさらに有している。複数の前記判別項目の中には、前記判別テーブルにおける前記項目種類が前記車両情報の項目となる前記判別項目と、前記判別テーブルにおける前記項目種類が計算項目となる前記判別項目と、がある。前記計算項目は計算テーブルを有している。前記計算テーブルは、前記車両情報を加工することによって複数の値を含む時系列データである加工後データを導出するための加工手法の情報を含んでいる。前記診断エンジンは、前記判別項目の前記判別テーブルにおける前記項目種類が、前記車両情報の項目である場合、前記判別テーブルにおける前記加工手法に従って前記車両情報を解析することによって前記処理値を導出し、前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断する。一方、前記診断エンジンは、前記判別項目の前記判別テーブルにおける前記項目種類が前記計算項目である場合、当該計算項目の前記計算テーブルにおける前記加工手法に従って前記車両情報を加工することによって、前記車両情報と同じフォーマットの前記加工後データを導出し、前記判別テーブルにおける前記加工手法に従って前記加工後データを解析することによって前記処理値を導出し、前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断する。
上記構成によれば、診断エンジンは、読み出した判別項目の判別テーブルにおける項目種類が車両情報の項目である場合、当該車両情報の項目が指定する車両情報を、判別テーブルにおける加工手法に従って解析することによって処理値を導出する。続いて、診断エンジンは、導出した処理値と判別テーブルにおける比較値との比較を、判別テーブルにおける比較演算子を用いて行う。そして、診断エンジンは、その比較結果を基に、車両部品に異常が発生しているか否かを診断する。
一方、診断エンジンは、読み出した判別項目の判別テーブルにおける項目種類が計算項目である場合、計算項目の計算テーブルにおける加工手法に従って車両情報を加工することによって加工後データを導出する。次に、診断エンジンは、判別テーブルにおける加工手法に従って加工後データを解析することによって処理値を導出する。続いて、診断エンジンは、導出した処理値と判別テーブルにおける比較値との比較を、判別テーブルにおける比較演算子を用いて行う。そして、診断エンジンは、その比較結果を基に、車両部品に異常が発生しているか否かを診断する。
すなわち、計算項目の計算テーブルを変更して加工手法を変更することにより、診断プログラムを変更することなく、加工後データ及び処理値を変更できる。これにより、診断の精度を変更できる。
上記異常診断装置の一態様において、前記計算項目には、子要素として、1つ以上の前記車両情報の項目が設定されている。複数の前記計算項目のうち、複数の前記子要素を有する前記計算項目を規定の計算項目とする。このとき、前記診断エンジンは、前記判別項目の前記判別テーブルにおける前記項目種類が前記計算項目であり、且つ当該計算項目が前記規定の計算項目ではない場合、前記計算テーブルにおける前記加工手法に従って、前記子要素として設定されている前記車両情報の項目が指定する前記車両情報を加工することによって前記加工後データを導出し、前記判別テーブルにおける前記加工手法に従って前記加工後データを解析することによって前記処理値を導出し、前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断する。前記診断エンジンは、前記判別項目の前記判別テーブルにおける前記項目種類が前記計算項目であり、且つ当該計算項目が前記規定の計算項目である場合、前記計算テーブルにおける前記加工手法に従って、前記子要素として設定されている複数の前記車両情報の項目の各々が指定する複数の前記車両情報を加工することによって、複数の前記加工後データを導出し、複数の前記加工後データについて、時間毎に値を減算することによって、前記車両情報と同じフォーマットの再加工データを導出し、前記判別テーブルにおける前記加工手法に従って前記再加工データを解析することによって前記処理値を導出し、前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断する。
上記構成によれば、診断エンジンは、読み出した判別項目の判別テーブルにおける項目種類が規定の計算項目である場合、計算テーブルにおける加工手法に従って複数の車両情報を加工することによって、複数の加工後データを導出する。すなわち、複数の車両情報のうち、第1車両情報を加工することによって第1加工後データが導出される。また、複数の車両情報のうち、第2車両情報を加工することによって第2加工後データが導出される。次に、診断エンジンは、複数の加工後データについて、時間毎に値を減算することによって、再加工データを導出する。すなわち、複数の加工後データを基に、1つの再加工データが導出される。続いて、診断エンジンは、判別テーブルにおける加工手法に従って再加工データを解析することによって処理値を導出する。次に、診断エンジンは、導出した処理値と判別テーブルにおける比較値との比較を、判別テーブルにおける比較演算子を用いて行う。そして、診断エンジンは、その比較結果を基に、車両部品に異常が発生しているか否かを診断する。
すなわち、計算項目の計算テーブルを変更して加工手法を変更することにより、診断プログラムを変更することなく、各加工後データ、再加工データ及び処理値を変更できる。これにより、診断の精度を変更できる。
上記異常診断装置の一態様において、前記判別セットのうち、複数の判別項目が紐付けられている判別セットを、所定判別セットとしたとき、前記所定判別セットでは、複数の前記判別項目に対して、診断の順番を定める優先順位が設定されている。前記診断エンジンは、前記所定判別セットを前記データベースから読み出した場合、前記所定判別セットの複数の前記判別項目について、優先順位の高い前記判別項目の前記部品情報が示す前記車両部品の診断から順に実行し、複数の前記判別項目の何れかの診断で前記車両部品に異常が発生していると診断した場合、残りの前記判別項目の診断を実行しない。
上記構成によれば、複数の判別項目の全てについて診断を行う場合と比較し、車両での異常の発生の要因の調査に要する時間を短縮できる。
実施形態の異常診断装置と、車両とを示す図。 車両で異常が発生した際のFFDの一例を示す図。 異常診断装置のデータベースのデータ構成を示す模式図。 各判別項目のデータ構成を示す図。 判別項目の判別テーブルの一例を示す図。 計算項目の計算テーブルの一例を示す図。 計算テーブルに従ってFFDを加工することによって導出される時系列データの一例を示す図。 計算テーブルに従ってFFDを加工することによって導出される時系列データの一例を示す図。 車両部品に異常が発生しているか否かを診断する際のメイン処理ルーチンを説明するフローチャート。 判別項目の判定処理を実行するためのサブルーチンを説明するフローチャート。 計算項目の計算処理を実行するためのサブルーチンを説明するフローチャート。 計算項目の子要素である2つのFFDの一例を示す図。 計算項目の計算処理によって導出された時系列データの一例を示す図。
以下、車両の異常診断装置の一実施形態を図1~図13に従って説明する。
図1には、複数の異常診断装置20A,20Bが図示されている。各異常診断装置20A,20Bは、車両10から各種の情報を受信する機能を有している。車両10は、車両10で異常が発生した際に、DTC及びFFDを車両記憶部11に記憶する機能を有している。
DTCは、車両10で発生した異常の内容を示すコードである。すなわち、DTCが、「異常特定コード」に対応する。FFDは、車両状態を示す値である車両状態値の時系列データである。FFDは、車両10での異常の発生時の車両状態値を含むデータである。すなわち、FFDが、「車両情報」に対応する。DTCは、「Diagnostic Trouble Code」の略記である。FFDは、「Freeze Frame Data」の略記である。
図2には、FFDの一例が図示されている。FFDは、例えば、時系列的に連続する5つの車両状態値を含むデータである。複数の車両状態値のうち、時刻t(m+3)である場合の車両状態値、すなわち4番目の車両状態値が、異常の発生時点の車両状態値である。車両状態値は、例えば、センサ値、指令値である。
車両10で発生する異常としては、例えば、内燃機関の失火、内燃機関の始動不良を挙げることができる。
<異常診断装置20A,20B>
図1に示すように、各異常診断装置20A,20Bは、取得部21と、診断エンジン22と、データベース30とを備えている。
取得部21は、車両記憶部11に記憶されたDTC及びFFDを取得する。例えば、取得部21は、ネットワークを介して車両10からDTC及びFFDを受信する。また、取得部21は、診断用ドングルを用いて車両10からDTC及びFFDを取得してもよい。
診断エンジン22は、CPU23及び記憶装置24を有している。記憶装置24には、CPU23が実行する診断プログラムが記憶されている。本実施形態では、CPU23が、「実行装置」に対応する。CPU23は、診断プログラムを実行することにより、取得部21が取得したDTC及びFFDを解析して車両10での異常の発生要因を調べる。
なお、各異常診断装置20A,20Bにおいて記憶装置24に記憶されている診断プログラムは、実質的に同一ではあるものの、完全に同一であるとは限らない。すなわち、異常診断装置20Aの診断プログラムと、異常診断装置20Bの診断プログラムとでは、プログラムの仕様は同じであれば、プログラムを作成した言語が互いに異なっていてもよい。ここでいう実質的に同一とは、データベース30の内容が同じであれば、異常診断装置20Aでの診断の結果と、異常診断装置20Bでの診断の結果とが互いに同じとなることである。
図3は、データベース30におけるデータ構成を示すブロック図である。データベース30は、書き換え可能なメモリである。データベース30には、複数のDTCの各々に対応する複数の判別セットが記憶されている。例えば、DTCが「Pxxxx」である場合の判別セットとして、判別セットDset11が用意されている。DTCが「Pxxy」である場合の判別セットとして、判別セットDset21,Dset22,Dset23が用意されている。DTCが「Pxxz」である場合の判別セットとして、判別セットDset31,Dset32が用意されている。すなわち、DCTに対応する判別セットの数は1つ以上である。
図3に示すように、データベース30には、N個の判別項目ITが記憶されている。Nは2以上の整数であって、例えば10よりも大きい値がNとして設定される。そして、各判別セットには、少なくとも1つの判別項目ITが紐付けられている。
例えば、判別セットDset11には、項目番号が1となる判別項目IT(1)が紐付けられている。判別セットDset21には、項目番号が2となる判別項目IT(2)と、項目番号が3となる判別項目IT(3)とが紐付けられている。判別セットDset22には、項目番号が4となる判別項目IT(4)と、項目番号が5となる判別項目IT(5)とが紐付けられている。判別セットDset23には、項目番号が6となる判別項目IT(6)と、項目番号が7となる判別項目IT(7)とが紐付けられている。判別セットDset31には、項目番号が5となる判別項目IT(5)と、項目番号が8となる判別項目IT(8)と、項目番号が9となる判別項目IT(9)とが紐付けられている。判別セットDset32には、項目番号が8となる判別項目IT(8)と、項目番号が10となる判別項目IT(10)とが紐付けられている。
なお、データベース30に記憶されている複数の判別セットの中には、所定判別セットが含まれている。所定判別セットとは、複数の判別項目が紐付けられている判別セットである。図3においては、判別セットDset21,Dset22,Dset23,Dset31,Dset32が、所定判別セットに対応する。
判別項目ITは、車両部品を示す情報である部品情報と、判別テーブルとを有している。ここでいう車両部品は、例えば、燃料噴射弁、点火プラグ、スタータモータである。判別テーブルは、車両部品に関連するFFDを解析するルールを含んでいる。
図4には、複数の判別項目ITの判別テーブルの例が示されている。図4に示すように、判別項目IT(1)及び判別項目IT(2)では、項目種類として、FFD項目がそれぞれ設定されている。すなわち、判別項目IT(1),IT(2)は、FFD項目が指定する1つのFFDを解析することによって、判別項目ITの部品情報が示す車両部品に異常が発生しているか否かを診断する項目である。本実施形態では、FFDが車両情報に対応しているため、FFD項目が、「車両情報の項目」に対応する。
判別項目IT(3)では、項目種類として、判別項目A11が設定されている。判別項目A11には、第1子要素として、FFD項目が設定されている。判別項目A11は、各判別項目IT(1)~IT(N)のうち、判別項目IT(3)以外の何れかである。すなわち、判別項目IT(3)は、第1子要素のFFD項目が指定するFFDを解析することによって、判別項目IT(3)の部品情報が示す車両部品に異常が発生しているか否かを診断する項目である。
判別項目IT(4)では、項目種類として、計算項目B21が設定されている。計算項目B21には、第1子要素として、2つのFFD項目が設定されている。複数の子要素を有する計算項目を「規定の計算項目」としたとき、計算項目B21が、規定の計算項目に対応する。
判別項目IT(4)は、第1子要素の2つのFFD項目が指定する2つのFFDを解析することによって、判別項目IT(4)の部品情報が示す車両部品に異常が発生しているか否かを診断する項目である。より詳しくは、計算項目B21の第1子要素の各FFD項目が指定するFFDを基に、1つの加工後データを新たに作成し、この加工後データを解析することによって、車両部品に異常が発生しているか否かが診断される。なお、加工後データのフォーマットは、FFDのフォーマットと同じである。すなわち、加工後データは、複数の値からなる時系列データである。
判別項目IT(5)では、項目種類として、判別項目A12と1つのFFD項目とが設定されている。判別項目A12には、第1子要素として、計算項目B22が設定されている。計算項目B22には、第2子要素として、2つのFFD項目が設定されている。すなわち、計算項目B22が、「規定の計算項目」に対応する。なお、第2子要素は、第1子要素よりも下位の要素である。
判別項目IT(5)は、各FFD項目が指定するFFDを解析することによって、判別項目IT(5)の部品情報が示す車両部品に異常が発生しているか否かを診断する項目である。より詳しくは、計算項目B22の第2子要素である各FFD項目が指定するFFDを基に、1つの加工後データを作成する。加工後データのフォーマットは、FFDのフォーマットと同じである。すなわち、加工後データは、複数の値からなる時系列データである。そして、この加工後データの解析結果と、残りの1つのFFD項目が指定するFFDとを解析することによって、車両部品に異常が発生しているか否かが診断される。
図5に示すように、各判別項目ITの判別テーブルは、項目種類の他、時間方向の結合方法の情報、開始時刻の情報、終了時刻の情報、比較演算子の情報及び比較値の情報を有している。時間方向の結合方法の情報、開始時刻の情報及び終了時刻の情報が、FFDを解析する「ルール」に該当する。また、時間方向の結合方法の情報が、FFDの「加工手法の情報」に該当する。
図5には、判別項目ITの判別テーブルの例が示されている。
パターンPT11では、開始時刻が1であり、終了時刻が5である。判別項目ITの項目種類がFFD項目であり、FFD項目が指定するFFDが、図2に示したFFDであるとする。この場合、「100、200、300、400、410」において、開始時刻が指定する1番目の値は100であり、終了時刻が指定する5番目の値は410である。この場合、100、200、300、400及び410が選択され、選択した複数の値を基に処理値が導出されることになる。
パターンPT11では、時間方向の結合方法が「最大」である。結合方法が「最大」である場合、選択した複数の値の中の最大値が処理値として導出される。そのため、図2に示したFFDの場合では、410が処理値として導出される。
パターンPT11では、比較演算子が「>」であり、比較値が「Th11」である。この場合、上記の処理値が比較値Th11よりも大きいか否かが判定される。
図5に示すパターンPT12では、時間方向の結合方法が「なし」であり、開始時刻が1であり、終了時刻が設定されていない。この場合、開始時刻が示す1番目の値を処理値として導出する。例えば、判別項目ITの項目種類がFFD項目であり、FFD項目が指定するFFDが、図2に示したFFDであるとする。この場合、「100、200、300、400、410」において、開始時刻が指定する1番目の値は100である。そのため、100が処理値として導出される。
パターンPT12では、比較演算子が「=」であり、比較値が「Th12」である。この場合、上記の処理値が比較値Th12と等しいか否かが判定される。
図5に示すパターンPT13では、開始時刻が3であり、終了時刻が5である。例えば、判別項目ITの項目種類がFFD項目であり、FFD項目が指定するFFDが、図2に示したFFDであるとする。この場合、「100、200、300、400、410」において、開始時刻が指定する3番目の値は300であり、終了時刻が指定する5番目の値は410である。この場合、300、400及び410が選択され、選択した複数の値を基に処理値が導出されることになる。
パターンPT13では、時間方向の結合方法が「最小」である。結合方法が「最小」である場合、選択した複数の値の中の最小値が処理値として導出される。そのため、図2に示したFFDの場合では、300が処理値として導出される。
パターンPT13では、比較演算子が「<」であり、比較値が「Th13」である。この場合、上記の処理値が比較値Th13よりも小さいか否かが判定される。
図5に示すパターンPT14では、開始時刻が1であり、終了時刻が5である。例えば、判別項目ITの項目種類がFFD項目であり、FFD項目が指定するFFDが、図2に示したFFDであるとする。この場合、「100、200、300、400、410」において、開始時刻が指定する1番目の値は100であり、終了時刻が指定する5番目の値は410である。この場合、100、200、300、400及び410が選択され、選択した複数の値を基に処理値が導出されることになる。
パターンPT14では、時間方向の結合方法が「抽出(4)」である。この場合、選択した複数の値の中から、4番目の値が処理値として抽出される。そのため、図2に示したFFDの場合、400が処理値として抽出される。
パターンPT14では、比較演算子が「<」であり、比較値が「Th14」である。この場合、上記の処理値が比較値Th14よりも小さいか否かが判定される。
なお、判別項目ITには、項目種類として計算項目が設定されていることがある。この場合、後述する計算項目における計算テーブルに従って導出された時系列データを基に、処理値が導出される。当該時系列データを基に処理値を導出する手法は、図5を用いて説明した、FFDを基に処理値を導出する手法と同様である。すなわち、判別テーブルにおける時間方向の結合方法、開始時刻及び終了時刻を用いて当該時系列データを加工することにより、処理値が導出される。そして、導出した処理値と判別テーブルにおける比較値との比較が、判別テーブルにおける比較演算子を用いて行われる。
次に、図6を参照し、計算項目について説明する。
計算項目は、項目種類と、計算テーブルとを有している。計算項目の項目種類として、FFD項目が設定される。計算テーブルは、FFD項目が指定するFFDを加工することによって複数の値を含む時系列データである加工後データを導出するための加工手法を含んでいる。加工後データのフォーマットは、FFDのフォーマットと同じである。すなわち、加工後データは、複数の値からなる時系列データである。
図6に示すように、計算テーブルは、時間方向の演算方法の情報と、時間位置の情報とを有している。時間方向の演算方法の情報及び時間位置の情報が、「計算テーブルの加工手法の情報」に対応する。すなわち、FFDを構成する複数の値のうち、時間位置で指定された値を基に、当該演算方法に従ってFFDが加工され、加工後データが導出される。
図6に示すパターンPT21では、項目種類がFFD項目であり、時間方向の演算方法が差分であり、時間位置が1である。これは、FFDを構成する5つの車両状態値のうち、時間位置によって指定された車両状態値を基準値とし、残りの4つの車両状態値と基準値との差分を導出することを意味する。例えばFFD項目が指定するFFDが図2に示したFFDであるとする。この場合、時間位置が1であるため、「100、200、300、400、410」において、1番目の車両状態値である100が基準値として設定される。そして、演算方法として差分が指定されているため、残りの4つの車両状態値と100との差分が導出される。その結果、図7に示す加工後データが導出される。
図6に示すパターンPT22では、項目種類がFFD項目であり、時間方向の演算方法が拡張であり、時間位置が2である。これは、FFDを構成する5つの車両状態値のうち、時間位置によって指定された車両状態値を基準値として、残りの4つの車両状態値を基準値に置き換えることを意味する。例えばFFD項目が指定するFFDが図2に示したFFDであるとする。この場合、時間位置が2であるため、「100、200、300、400、410」において、2番目の車両状態値である200が基準値として設定される。そして、演算方法として拡張が指定されているため、残りの4つの車両状態値が200に置き換えられる。その結果、図8に示す加工後データが導出される。
<診断エンジン22が実行する処理の流れ>
図9を参照し、車両10での異常の発生要因を調べるために診断エンジン22が実行するメイン処理ルーチンについて説明する。図9に示すメイン処理ルーチンは、記憶装置24に記憶されている診断プログラムをCPU23が実行することによって実現される。
メイン処理ルーチンにおいて、はじめのステップS11では、診断エンジン22は、取得部21が取得したDTCに対応する判別セットをデータベース30から取得する。なお、DTCによっては、複数の判別セットが対応付けられていることがある。すなわち、診断エンジン22は、ステップS13以降の処理を、取得した判別セットの数だけ実行する。
次のステップS13において、診断エンジン22は、判別セットに紐付けられている判別項目の数である項目数をループ回数Bとして設定する。例えば、取得部21が取得したDTCが図3に示した「Pxxx」である場合、1がループ回数Bとして設定される。続いて、ステップS15において、診断エンジン22は、係数Dとして1をセットする。
そして、ステップS17において、診断エンジン22は、判別項目ITの判別テーブルに従ってFFDを解析することにより、判別項目ITの部品情報が示す車両部品に異常が発生しているか否かを判定する判定処理を実行する。すなわち、診断エンジン22は、図10を用いて説明するサブルーチンを実行する。この判定処理を実行するためのサブルーチンについては後述する。
図10のサブルーチンを実行して判定処理が終了すると、診断エンジン22は、処理をステップS19に移行する。ステップS19において、診断エンジン22は、判定処理の結果が真であったか否かを判定する。結果が真である場合とは、判別項目ITの部品情報が示す車両部品に異常が発生したと判定した場合である。結果が偽である場合とは、判別項目ITの部品情報が示す車両部品に異常が発生したと判定していない場合である。
判定処理の結果が真であった場合(S19:YES)、診断エンジン22は、処理をステップS21に移行する。ステップS21において、診断エンジン22は、真となった判別項目ITを出力する。すなわち、診断エンジン22は、真となった判別項目ITの部品情報が示す車両部品に異常が発生している可能性がある旨を出力する。そして、診断エンジン22は、メイン処理ルーチンを終了する。
一方、ステップS19において、判定処理の結果が真ではなかった場合(NO)、結果が偽であったため、診断エンジン22は、処理をステップS23に移行する。ステップS23において、診断エンジン22は、係数Dを1だけインクリメントする。続いて、ステップS25において、診断エンジン22は、係数Dがループ回数Bよりも大きいか否かを判定する。係数Dがループ回数B以下である場合は、判別セットに紐付けられている判別項目ITの中で、判定処理を実行していない判別項目ITが未だある。そのため、係数Dがループ回数B以下である場合(S25:NO)、診断エンジン22は、処理をステップS17に移行する。この場合、診断エンジン22は、前回の判定処理の実行時とは別の判別項目ITの判別テーブルに従ってFFDを解析することにより、判別項目ITの部品情報が示す車両部品に異常が発生しているか否かを判定する判定処理を実行する。すなわち、診断エンジン22は、図10のサブルーチンを実行する。
ここで、判別セットに複数の判別項目ITが紐付けられている場合、診断エンジン22は、各判別項目ITのうち、優先順位の高い順に判定処理を実行する。例えば、図3で示した項目番号が小さい判別項目ITを、項目番号が大きい判別項目ITよりも優先順位の高い判別項目としてもよい。
一方、ステップS25において、係数Dがループ回数Bよりも大きい場合(YES)、診断エンジン22は、処理をステップS27に移行する。この場合、診断エンジン22は、異常が発生している可能性のある車両部品を特定できなかった。そのため、ステップS27において、診断エンジン22は、異常を示す項目がない旨を出力する。すなわち、診断エンジン22は、異常の発生している可能性のある車両部品を発見できなかった旨を出力する。そして、診断エンジン22は、メイン処理ルーチンを終了する。
図10を参照し、判定処理を実行するためのサブルーチンについて説明する。図10に示すサブルーチンは、記憶装置24に記憶されている診断プログラムをCPU23が実行することによって実現される。
当該サブルーチンにおいて、はじめのステップS41では、診断エンジン22は、判別項目における要素数を、ループ回数Xとして設定する。ここでいう要素数とは、判定処理の実行対象となる判別項目における項目種類の数である。例えば、図4に示す判別項目IT(1)に対する判定処理を実行する場合、ループ回数Xとして1が設定される。また例えば、判別項目IT(5)に対する判定処理を実行する場合、ループ回数Xとして2が設定される。
次のステップS43において、診断エンジン22は、係数Yとして1をセットする。続いて、ステップS45において、診断エンジン22は、処理対象となる要素が判別項目であるか否かを判定する。処理対象となる要素が判別項目ではない場合(S45:NO)、診断エンジン22は、処理をステップS47に移行する。
ステップS47において、診断エンジン22は、処理対象となる要素が計算項目であるか否かを判定する。処理対象となる要素が計算項目ではない場合(S47:NO)、診断エンジン22は、処理をステップS49に移行する。この場合、処理対象となる要素がFFD項目である。
ステップS49において、診断エンジン22は、FFD項目が指定するFFDを取得する。そして、診断エンジン22は、処理をステップS55に移行する。
一方、ステップS47において、処理対象となる要素が計算項目である場合(YES)、診断エンジン22は、処理をステップS51に移行する。ステップS51において、診断エンジン22は、計算項目の計算処理を実行する。すなわち、診断エンジン22は、図11を用いて説明するサブルーチンを実行する。この計算処理を実行するためのサブルーチンについては後述する。計算処理では、計算項目の計算テーブルに従って加工後データが導出される。図11のサブルーチンを実行して計算処理を終了すると、診断エンジン22は、処理をステップS55に移行する。
ここで、診断プログラムの構造によれば、項目種類や子要素に計算項目が設定されている場合、上位の要素に対する判定処理よりも、下位の要素に対する計算処理を先に完了させる。すなわち、判別項目ITの項目種類が計算項目である場合、当該計算項目には子要素が設定されていることがある。ここでは、子要素として設定されている計算項目を子計算項目という。子計算項目に対する計算処理を実行することにより、子計算項目の子要素として設定されているFFD項目が指定するFFDを加工することにより、子計算項目に対する計算処理の結果が出力される。その後、判別項目ITに対する判定処理は、子計算項目に対する計算処理の結果を用いて実行される。
その一方で、ステップS45において、処理対象となる要素が判別項目である場合(YES)、診断エンジン22は、処理をステップS53に移行する。ステップS53において、診断エンジン22は、当該判別項目(すなわち、子要素)に対して判定処理を実行する。図10のサブルーチンを実行することにより、当該判別項目に対する判定処理が実行される。ここでいう判別項目が、第1子要素の判別項目である場合、ステップS41では、ループ回数Xとして、当該第1子要素に対応する第2子要素の数がセットされる。
ここで、診断プログラムの構造によれば、下位の要素が設定されている場合、下位の要素に対する判定処理を、上位の要素に対する判定処理よりも先に完了させる。すなわち、判別項目ITの項目種類が判別項目(ここでは、「子判別項目」という。)である場合、当該子判別項目には子要素が設定されている。子判別項目に対する判定処理を実行することにより、子判別項目の子要素として設定されているFFD項目が指定するFFDが加工され、子判別項目に対する判定処理の結果が出力される。その後、判別項目ITに対する判定処理は、子判別項目に対する判定処理の結果を用いて実行される。
ステップS53の判定処理を終了すると、診断エンジン22は、処理をステップS55に移行する。
ステップS55において、診断エンジン22は、判別テーブルで時間方向の結合方法が指定されているか否かを判定する。図5に示した各パターンPT11~PT15のうち、パターンPT11,PT13,PT14の場合、結合方法が指定されている。一方、パターンPT12の場合、結合方法が指定されていない。そして、結合方法が指定されている場合(S55:YES)、診断エンジン22は、処理をステップS57に移行する。ステップS57において、診断エンジン22は、指定されている結合方法に従って、FFDの複数の車両状態値を基に処理値を導出する結合処理を実行する。そして、診断エンジン22は、処理をステップS61に移行する。
一方、ステップS55において、結合方法が指定されていない場合(NO)、診断エンジン22は、処理をステップS59に移行する。ステップS59において、診断エンジン22は、判別テーブルで指定されている時刻の車両状態値を抽出し、抽出した車両状態値を処理値として設定する。そして、診断エンジン22は、処理をステップS61に移行する。
ステップS61において、診断エンジン22は、判別テーブルにおける比較演算子と比較値とを用い、処理値と比較値とを比較する比較処理を実行する。診断エンジン22は、比較処理において、結果に応じた値を出力値として設定する。例えば、診断エンジン22は、比較処理の結果が真である場合には1を出力値として出力し、結果が偽である場合には0を出力値として出力する。
次のステップS63において、診断エンジン22は、係数Yを1だけインクリメントする。次のステップS65において、診断エンジン22は、係数Yがループ回数Xよりも大きいか否かを判定する。係数Yがループ回数X以下である場合(S65:NO)、診断エンジン22は、処理をステップS45に移行する。そして、診断エンジン22は、処理対象となる要素を変更し、ステップS45以降の処理を実行する。一方、係数Yがループ回数Xよりも大きい場合(S65:YES)、診断エンジン22は、処理をステップS67に移行する。
ステップS67において、診断エンジン22は、論理結合処理を実行する。例えばループ回数Xが1である場合、診断エンジン22は、論理結合処理において、ステップS61の比較処理で出力した出力値を結合値として出力する。ループ回数Xが2以上である場合、診断エンジン22は、複数の出力値に基づいた値を結合値として出力する。例えば、複数の出力のうち少なくとも1つが1である場合、診断エンジン22は、1を結合値として出力する。一方、複数の出力値の何れもが0である場合、診断エンジン22は、0を結合値として出力する。このように結合値を出力すると、診断エンジン22は、図10のサブルーチンを終了する。
図11を参照し、計算処理を実行するためのサブルーチンについて説明する。図11に示すサブルーチンは、記憶装置24に記憶されている診断プログラムをCPU23が実行することによって実現される。
当該サブルーチンにおいて、はじめのステップS81では、診断エンジン22は、計算項目における要素数を、ループ回数X1として設定する。ここでいう要素数とは、計算処理の実行対象となる計算項目における要素の数である。例えば図4に示す計算項目B21の場合、第1子要素として2つのFFD項目が設定されているため、要素の数が2となる。また例えば図4に示す計算項目B22の場合、第2子要素として2つのFFD項目が設定されているため、要素の数が2となる。
次のステップS83において、診断エンジン22は、係数Y1として1をセットする。続いて、ステップS85において、診断エンジン22は、処理対象となる要素が判別項目であるか否かを判定する。処理対象となる要素が判別項目ではない場合(S85:NO)、診断エンジン22は、処理をステップS87に移行する。
ステップS87において、診断エンジン22は、処理対象となる要素が計算項目であるか否かを判定する。処理対象となる要素が計算項目ではない場合(S87:NO)、診断エンジン22は、処理をステップS89に移行する。この場合、処理対象となる要素はFFD項目である。
ステップS89において、診断エンジン22は、FFD項目が指定するFFDを取得する。そして、診断エンジン22は、処理をステップS85に移行する。
一方、ステップS87において、処理対象となる要素が計算項目である場合(YES)、診断エンジン22は、処理をステップS91に移行する。ステップS91において、診断エンジン22は、当該計算項目(すなわち、子要素の計算処理)に対する計算処理を実行する。すなわち、診断エンジン22は、図11のサブルーチンを実行することにより、下位の要素に対する計算処理を実行する。ここでいう計算項目が、第1子要素の計算項目である場合、ステップS81では、ループ回数X1として、当該第1子要素に対応する第2子要素の数がセットされる。そして、計算処理を終了すると、診断エンジン22は、処理をステップS95に移行する。
ここで、診断プログラムの構造によれば、下位の要素が設定されている場合、下位の要素に対する計算処理を、上位の要素に対する計算処理よりも先に完了させる。すなわち、第1計算項目の子要素が計算項目(ここでは、「第2計算項目」という。)である場合、当該第2判別項目には子要素が設定されている。第2計算項目に対する計算処理を実行することにより、第2計算項目の子要素として設定されているFFD項目が指定するFFDを加工することにより、第2計算項目に対する計算処理の結果が出力される。その後、第1計算項目に対する計算処理は、第2計算項目に対する計算処理の結果を用いて実行される。
その一方で、ステップS85において、処理対象となる要素が判別項目である場合(YES)、診断エンジン22は、処理をステップS93に移行する。ステップS93において、診断エンジン22は、判別項目の判定処理を実行する。すなわち、診断エンジン22は、図10のサブルーチンを実行することにより、下位の要素に対する判定処理を実行する。ステップS93の判定処理が終了すると、診断エンジン22は、処理をステップS95に移行する。
ここで、診断プログラムの構造によれば、子要素に判別項目が設定されている場合、上位の要素に対する計算処理よりも、下位の要素に対する判定処理を先に完了させる。すなわち、判別項目ITの項目種類が計算項目である場合、当該計算項目には、第1子要素として判別項目(ここでは、「子判別項目」という。)が設定されていることがある。さらに、子判別項目の第2子要素として、FFD項目が設定されていることがある。この場合、子判別項目に対する判定処理を実行することにより、子判別項目の第2子要素として設定されているFFD項目が指定するFFDを加工し、子判別項目に対する判定処理の結果が出力される。その後、計算項目に対する計算処理は、子判別項目に対する判定処理の結果を用いて実行される。
ステップS95において、診断エンジン22は、計算テーブルで時間方向の演算方法が指定されているか否かを判定する。図6に示した各パターンPT21,PT22の場合では、演算方法が指定されている。演算方法が指定されている場合(S95:YES)、診断エンジン22は、処理をステップS97に移行する。ステップS97において、診断エンジン22は、指定されている演算方法に従って、FFDを加工して加工後データを導出する演算処理を実行する。そして、診断エンジン22は、処理をステップS101に移行する。
一方、ステップS95において、演算方法が指定されていない場合(NO)、診断エンジン22は、処理をステップS101に移行する。
ステップS101において、診断エンジン22は、係数Y1を1だけインクリメントする。次のステップS103において、診断エンジン22は、係数Y1がループ回数X1よりも大きいか否かを判定する。係数Y1がループ回数X1以下である場合(S103:NO)、診断エンジン22は、処理をステップS85に移行する。そして、診断エンジン22は、処理対象となる要素を変更し、ステップS85以降の処理を実行する。一方、係数Y1がループ回数X1よりも大きい場合(S103:YES)、診断エンジン22は、処理をステップS105に移行する。
ステップS105において、診断エンジン22は、要素計算処理を実行する。すなわち、診断エンジン22は、要素計算処理において、複数の時系列データについて、時刻毎に減算を行うことにより、再加工データを導出する。例えば、図12に示すような複数の時系列データの場合、診断エンジン22は、要素計算処理によって、図13に示す時系列データを再加工データとして導出する。そして、診断エンジン22は、一連の処理を終了する。
<本実施形態における作用及び効果>
まずはじめに、DTCとして図3に示した「Pxxx」を取得部21が取得し、「Pxxx」に対応するFFDを取得部21が取得した場合について説明する。
取得部21によって、「Pxxx」と、「Pxxx」に対応するFFDとが取得されると、図9のメイン処理ルーチンが実行される。すなわち、「Pxxx」に対応する判別セットDset11がデータベース30から読み出される(ステップS11)。判別セットDset11には、判別項目IT(1)が紐付けられている。そのため、判別項目IT(1)がデータベース30から読み出される。そして、判別項目IT(1)に対する判定処理が実行される(ステップS17)。すなわち、図10のサブルーチンが実行される。
図10のサブルーチンにおいて、判別項目IT(1)の項目種類はFFD項目であるため、判別項目IT(1)のFFD項目が指定するFFDが、診断エンジン22によって取得される(ステップS49)。
例えば、判別項目IT(1)の判別テーブルが、図5に示したパターンPT11であるとする。この場合、判別項目IT(1)では、時間方向の結合方法が指定されているため(ステップS55:YES)、結合処理が実行される(ステップS57)。パターンPT11では、結合方法が最大であり、開始時刻が1であり、終了時刻が5である。FFDが図2に示した「100、200、300、400、410」である場合、100、200、300、400、410のうちの最大値である410が、処理値として導出される。
続いて、比較処理では、判別項目IT(1)の判別テーブルにおける比較演算子と比較値とが用いられる(ステップS61)。パターンPT11では、比較演算子が「>」であり、比較値が「Th11」である。そのため、結合処理で導出した処理値が比較値Th11よりも大きいか否かが判定される。そして、処理値が比較値Th11よりも大きい場合には、1が出力値として出力される。一方、処理値が比較値Th11以下である場合には、0が出力値として出力される。
そして、論理結合処理が実行される(ステップS67)。この場合、ループ回数Xが1であるため、比較処理で出力された出力値と同じ値が、結合値として出力される。サブルーチンが終了して判別項目IT(1)に対する判定処理が終了すると、図9のメイン処理ルーチンが再開される。すなわち、図9に示したステップS19で、判定処理の結果が真であるか否かが判定される。すなわち、結合値が1である場合は、結果が真であるため(ステップS19:YES)、判別項目IT(1)の部品情報が示す車両部品に異常が発生している可能性がある旨が出力される(ステップS21)。そして、「Pxxx」が示す車両10の異常の発生要因の調査は終了される。一方、結合値が0である場合は、結果が偽であるため(ステップS19:NO)、異常の可能性のある車両部品が発見されなかった旨が出力される(ステップS27)。そして、「Pxxx」が示す車両10の異常の発生要因の調査は終了される。
次に、DTCとして図3に示した「Pxxy」を取得部21が取得し、「Pxxy」に対応するFFDを取得部21が取得した場合について説明する。
取得部21によって、「Pxxy」と、「Pxxy」に対応するFFDとが取得されると、図9に示した一連の処理が実行される。すなわち、「Pxxy」に対応する判別セットDset21,Dset22,Dset23がデータベース30から読み出される(ステップS11)。
判別セットDset21の場合について説明する。判別セットDset21には、2つの判別項目IT(2),IT(3)が紐付けられている。そのため、各判別項目IT(2),IT(3)がデータベース30から読み出される。すると、優先順に従って、判定処理が実行される(ステップS17)。例えば、判別項目IT(2)に対する判定処理がはじめに実行される。そして、判別項目IT(2)に対する判定処理の結果が真であった場合(ステップS19:YES)、判別項目IT(2)の部品情報が示す車両部品に異常が発生している可能性がある旨が出力される(ステップS21)。この場合、判別項目IT(3)に対する判定処理は実行されない。
一方、判別項目IT(2)に対する判定処理の結果が偽であった場合(ステップS19:NO)、判別項目IT(3)に対する判定処理が実行される(ステップS17)。図10のサブルーチンにおいて、判別項目IT(3)の項目種類は判別項目A11であるため、ステップS49,S51,S53のうち、ステップS53の判定処理が実行される。この場合、判別項目IT(3)に対する判定処理が中断され、判別項目A11に対する判定処理が実行される。
判別項目A11の項目種類はFFD項目であるため、判別項目A11のFFD項目が指定するFFDが診断エンジン22によって取得される(ステップS49)。そして、ステップS57の結合処理又はステップS59の処理によって、処理値が導出される。この場合、判別項目A11の判別テーブルを用いることにより、処理値が導出される。
次の比較処理では、判別項目A11の判別テーブルにおける比較演算子と比較値とが用いられる(ステップS61)。そして、論理結合処理では、比較処理で導出した出力値に基づいた結合値が導出される(ステップS67)。こうして判別項目A11に対する判定処理が終了すると、判別項目IT(2)に対する判定処理が再開される。判別項目IT(2)に対する判定処理において、ステップS53が終了したため、ステップS63以降の処理が実行される。
判別項目IT(3)の項目種類は判別項目であるため、判別項目IT(3)の判別テーブルは、例えば、図5に示したパターンPT12である。判別項目IT(3)の判別テーブルでは、結合方法が指定されていないため(ステップS55:NO)、開始時刻で指定された値が処理値として導出される。この場合、判別項目A11に対する判定処理で導出された結合値が処理値として導出される。
すると、次の比較処理では、判別項目IT(3)の判別テーブルにおける比較値と導出値との比較が、判別項目IT(3)の判別テーブルにおける比較演算子を用いて行われる(ステップS61)。その後、論理結合処理が実行されると(ステップS67)、判別項目IT(3)に対する判定処理が終了される。そして、図9のメイン処理ルーチンが再開される。判別項目IT(3)に対する判定処理の結果が真である場合(ステップS19:YES)、判別項目IT(3)の部品情報が示す車両部品に異常が発生している可能性がある旨が出力される(ステップS21)。一方、判別項目IT(3)に対する判定処理の結果が偽である場合(ステップS19:NO)、異常の可能性のある車両部品が発見されなかった旨が出力される(ステップS27)。
次に、判別セットDset22の場合について説明する。判別セットDset22には、2つの判別項目IT(4),IT(5)が紐付けられている。そのため、各判別項目IT(4),IT(5)がデータベース30から読み出される。すると、優先順に従って、判定処理が実行される(ステップS17)。例えば、判別項目IT(4)に対する判定処理がはじめに実行される。図10のサブルーチンにおいて、判別項目IT(4)の項目種類は計算項目B21であるため、ステップS49,S51,S53のうち、ステップS51の計算処理が実行される。すなわち、判別項目IT(4)に対する判定処理が中断され、計算項目B21に対する計算処理が実行される。
図4に示したように、計算項目B21には、第1子要素として、2つのFFD項目が設定されている。まず、2つのFFD項目のうち、第1FFD項目が指定するFFDである第1FFDについて処理が実行される。すなわち、図11のサブルーチンにおいて、ステップS89,S91,S93のうち、ステップS93の処理によって、第1FFDが指定する第1FFDが取得される。すると、計算項目B21の計算テーブルに従って第1FFDが加工されることにより、第1加工後データが導出される(ステップS95,S97)。
続いて、2つのFFD項目のうち、第2FFD項目が指定するFFDである第2FFDについて処理が実行される。すなわち、ステップS89,S91,S93のうち、ステップS93の処理によって、第2FFDが指定する第2FFDが取得される。すると、計算項目B21の計算テーブルに従って第2FFDが加工されることにより、第2加工後データが導出される(ステップS95,S97)。
そして、要素計算処理が実行される(ステップS105)。要素計算処理では、第1加工後データと第2加工後データとを基に、再加工データが導出される。こうして計算項目B21に対する計算処理が終了されると(図10のステップS51)、判別項目IT(4)に対する判定処理が再開される。判別項目IT(4)に対する判定処理では、当該再加工データが、判別項目IT(4)の判別テーブルに従って加工されることにより、処理値が導出される(ステップS55,S57,S59)。以降の処理は、上記の場合と同様であるため、説明を割愛する。
判別項目IT(4)に対する判定処理の結果が偽である場合(ステップS19:NO)、判別項目IT(5)に対する判定処理が実行される(ステップS17)。図4に示したように、判別項目IT(5)は、項目種類として、判別項目A12と、FFD項目とを有している。判別項目A12に対する判定処理(ステップS17)について説明する。
図10のサブルーチンにおいて、判別項目A12の項目種類は計算項目B22であるため、ステップS49,S51,S53のうち、ステップS51の計算処理が実行される。すなわち、判別項目A12に対する判定処理が中断され、計算項目B22に対する計算処理が実行される。計算項目B22に対する計算処理が終了されると、判別項目A12に対する判定処理が再開される。判別項目A12に対する判定処理では、当該計算処理で導出された再加工データを基に処理値が導出される(ステップS55,S57,S59)。
すると、次の比較処理では、判別項目A12の判別テーブルにおける比較値と導出値との比較が、判別項目A12の判別テーブルにおける比較演算子を用いて行われる(ステップS61)。その後、論理結合処理が実行されると(ステップS67)、判別項目A12に対する判定処理が終了される。判別項目A12に対する判定処理の結果が真である場合(ステップS19:YES)、判別項目IT(5)の部品情報が示す車両部品に異常が発生している可能性がある旨が出力される(ステップS21)。一方、判別項目IT(5)に対する判定処理の結果が偽である場合(ステップS19:NO)、判別項目IT(5)のFFD項目について、判定処理が実行される(ステップS17)。以降の処理は、上記の場合と同様であるため、説明を割愛する。
本実施形態では、以下の効果を得ることができる。
(1)本実施形態では、判別セットに紐付ける判別項目ITの内容を変更したり、判別項目ITの数を変更したり、判別項目ITの判別テーブルの変更や追加を行ったりすることで、診断の精度及び診断できる内容を変更することができる。そのため、記憶装置24に記憶されている診断プログラム自体を更新しなくてもよい。
したがって、異常診断装置20Aのデータベース30の記憶内容と、異常診断装置20Bのデータベース30の記憶内容とを同じにすれば、異常診断装置20Aによる診断結果と、異常診断装置20Bによる診断結果とを同じにできる。
(2)詳しくは、判別テーブルを変更して時間方向の結合方法、開始時刻及び終了時刻のうち少なくとも1つを変更すれば、判別テーブルに従ってFFDを加工した際に導出される処理値が変わる。処理値が変われば、診断の精度が変わる。また、判別テーブルを変更して比較演算子を変更することにより、診断の精度が変わりうる。また、判別テーブルを変更して比較値を変更することにより、診断の精度が変わりうる。すなわち、判別テーブルの内容を変更することにより、診断プログラムを変更することなく、診断の精度を調整できる。
(3)また、計算項目の計算テーブルの内容を変更することにより、加工後データ及び処理値を変更できる。例えば、計算テーブルを変更して時間方向の演算方法を変更することにより、加工後データ及び処理値を変更できる。また、計算テーブルを変更して時間位置を変更することにより、加工後データ及び処理値を変更できる。そして、加工後データ及び処理値が変わると、診断の精度も変わる。したがって、計算項目の計算テーブルを変更することにより、診断プログラムを変更することなく、診断の精度を調整できる。
(4)本実施形態では、複数の判別項目ITが紐付けられている判別セットがデータベース30から読み出された場合、優先順位の高い判別項目ITから診断が実行される。この際、複数の判別項目ITの中で、1つの判別項目ITで車両部品に異常が発生していると診断されると、残りの判別項目ITの診断が実行されない。そのため、判別セットに紐付けられている複数の判別項目ITの全てについて診断を行う場合と比較し、車両10での異常の発生要因を調査するのに要する時間を短縮できる。
(変更例)
上記実施形態は、以下のように変更して実施することができる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・複数の判別項目ITが紐付けられている判別セットがデータベース30から読み出された場合、全ての判別項目ITについて診断を行って当該判別セットに対する一連の処理を終了するようにしてもよい。
・FFDを構成する車両状態値の数は、2つ以上であれば、5つでなくてもよい。
・判別テーブルにおける比較演算子は、上記実施形態で説明した演算子以外であってもよい。例えば、他の比較演算子としては、「≧」、「≦」、「≠」を挙げることができる。
・判別テーブルにおける時間方向の結合方法は、上記実施形態で説明した「最大」、「最小」、「抽出」以外であってもよい。他の結合方法としては、例えば、「平均」を挙げることができる。結合方法が平均である場合、選択した複数の車両状態値の平均値を処理値として出力すればよい。
・診断エンジン22は、CPU23と記憶装置24を備えて、ソフトウェア処理を実行するものに限らない。すなわち、診断エンジン22は、以下(a)~(c)の何れかの構成であればよい。
(a)診断エンジン22は、コンピュータプログラムに従って各種処理を実行する一つ以上のプロセッサを備えている。プロセッサは、CPU並びに、RAM及びROMなどのメモリを含んでいる。メモリは、処理をCPUに実行させるように構成されたプログラムコード又は指令を格納している。メモリ、すなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含んでいる。
(b)診断エンジン22は、各種処理を実行する一つ以上の専用のハードウェア回路を備えている。専用のハードウェア回路としては、例えば、特定用途向け集積回路、すなわちASIC又はFPGAを挙げることができる。なお、ASICは、「Application Specific Integrated Circuit」の略記であり、FPGAは、「Field Programmable Gate Array」の略記である。
(c)診断エンジン22は、各種処理の一部をコンピュータプログラムに従って実行するプロセッサと、各種処理のうちの残りの処理を実行する専用のハードウェア回路とを備えている。
10…車両
11…車両記憶部
20A,20B…異常診断装置
21…取得部
22…診断エンジン
23…CPU
24…記憶装置
30…データベース

Claims (5)

  1. 異常が発生した際に、当該異常の内容を示すコードである異常特定コードと、車両状態を示す値である車両状態値の時系列データであって、且つ当該異常の発生時の前記車両状態値を含むデータである車両情報と、を車両記憶部に記憶する機能を有する車両と通信可能であり、前記車両での異常の発生要因を調べる異常診断装置であって、
    前記車両記憶部に記憶された前記異常特定コード及び前記車両情報を取得する取得部と、
    実行装置、及び、前記実行装置が実行する診断プログラムを記憶する記憶装置を有する診断エンジンと、
    複数の前記異常特定コードの各々に対応する複数の判別セットを記憶しており、且つ記憶内容の書き換えが可能なデータベースと、を備え、
    複数の前記判別セットには、対応する前記異常特定コードが示す異常の発生原因となりうる車両部品に関する項目である判別項目が紐付けられており、
    複数の前記判別項目は、前記車両部品を示す情報である部品情報と、当該車両部品に関連する前記車両情報を解析するルールを含む判別テーブルと、を有しており、
    前記診断エンジンは、
    前記取得部が取得した前記異常特定コードに対応する前記判別セットを前記データベースから読み出し、
    読み出した当該判別セットに紐付けられている前記判別項目の前記判別テーブルの前記ルールに従って前記取得部が取得した前記車両情報を解析することにより、当該判別項目の前記部品情報が示す前記車両部品に異常が発生しているか否かを診断する
    異常診断装置。
  2. 前記判別テーブルは、
    前記ルールとして、前記車両部品に異常が発生しているか否かを判別するための値である処理値を前記車両情報から導出する際の当該車両情報の加工手法の情報を有し、
    前記処理値と比較する値である比較値の情報、及び、前記処理値と前記比較値とを比較する際の比較演算子の情報をさらに有しており、
    前記診断エンジンは、
    前記判別テーブルにおける前記加工手法に従って前記車両情報を解析することによって前記処理値を導出し、
    前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断する
    請求項1に記載の異常診断装置。
  3. 前記判別テーブルは、項目種類の情報をさらに有しており、
    複数の前記判別項目の中には、前記判別テーブルにおける前記項目種類が前記車両情報の項目となる前記判別項目と、前記判別テーブルにおける前記項目種類が計算項目となる前記判別項目と、があり、
    前記計算項目は計算テーブルを有し、前記計算テーブルは、前記車両情報を加工することによって複数の値を含む時系列データである加工後データを導出するための加工手法の情報を含んでおり、
    前記診断エンジンは、
    前記判別項目の前記判別テーブルにおける前記項目種類が、前記車両情報の項目である場合、
    前記判別テーブルにおける前記加工手法に従って前記車両情報を解析することによって前記処理値を導出し、
    前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断し、
    前記診断エンジンは、
    前記判別項目の前記判別テーブルにおける前記項目種類が前記計算項目である場合、
    当該計算項目の前記計算テーブルにおける前記加工手法に従って前記車両情報を加工することによって、前記車両情報と同じフォーマットの前記加工後データを導出し、
    前記判別テーブルにおける前記加工手法に従って前記加工後データを解析することによって前記処理値を導出し、
    前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断する
    請求項2に記載の異常診断装置。
  4. 前記計算項目には、子要素として、1つ以上の前記車両情報の項目が設定されており、
    複数の前記計算項目のうち、複数の前記子要素を有する前記計算項目を規定の計算項目としたとき、
    前記診断エンジンは、
    前記判別項目の前記判別テーブルにおける前記項目種類が前記計算項目であり、且つ当該計算項目が前記規定の計算項目ではない場合、
    前記計算テーブルにおける前記加工手法に従って、前記子要素として設定されている前記車両情報の項目が指定する前記車両情報を加工することによって前記加工後データを導出し、
    前記判別テーブルにおける前記加工手法に従って前記加工後データを解析することによって前記処理値を導出し、
    前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断し、
    前記診断エンジンは、
    前記判別項目の前記判別テーブルにおける前記項目種類が前記計算項目であり、且つ当該計算項目が前記規定の計算項目である場合、
    前記計算テーブルにおける前記加工手法に従って、前記子要素として設定されている複数の前記車両情報の項目の各々が指定する複数の前記車両情報を加工することによって、複数の前記加工後データを導出し、
    複数の前記加工後データについて、時間毎に値を減算することによって、前記車両情報と同じフォーマットの再加工データを導出し、
    前記判別テーブルにおける前記加工手法に従って前記再加工データを解析することによって前記処理値を導出し、
    前記判別テーブルにおける前記比較値と前記処理値とを、前記判別テーブルにおける前記比較演算子を用いて比較し、その比較結果に基づいて前記車両部品に異常が発生しているか否かを診断する
    請求項3に記載の異常診断装置。
  5. 前記判別セットのうち、複数の判別項目が紐付けられている判別セットを、所定判別セットとしたとき、
    前記所定判別セットでは、複数の前記判別項目に対して、診断の順番を定める優先順位が設定されており、
    前記診断エンジンは、
    前記所定判別セットを前記データベースから読み出した場合、
    前記所定判別セットの複数の前記判別項目について、優先順位の高い前記判別項目の前記部品情報が示す前記車両部品の診断から順に実行し、
    複数の前記判別項目の何れかの診断で前記車両部品に異常が発生していると診断した場合、残りの前記判別項目の診断を実行しない
    請求項1~請求項4のうち何れか一項に記載の異常診断装置。
JP2021048963A 2021-03-23 2021-03-23 異常診断装置 Active JP7447855B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021048963A JP7447855B2 (ja) 2021-03-23 2021-03-23 異常診断装置
CN202210250377.7A CN115113940A (zh) 2021-03-23 2022-03-15 异常诊断装置
US17/655,787 US12014586B2 (en) 2021-03-23 2022-03-21 Abnormality diagnosis device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021048963A JP7447855B2 (ja) 2021-03-23 2021-03-23 異常診断装置

Publications (2)

Publication Number Publication Date
JP2022147632A JP2022147632A (ja) 2022-10-06
JP7447855B2 true JP7447855B2 (ja) 2024-03-12

Family

ID=83325352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021048963A Active JP7447855B2 (ja) 2021-03-23 2021-03-23 異常診断装置

Country Status (3)

Country Link
US (1) US12014586B2 (ja)
JP (1) JP7447855B2 (ja)
CN (1) CN115113940A (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149434A1 (en) 2004-12-30 2006-07-06 Bertosa Thomas J Method and system for retrieving diagnostic information from a vehicle
JP2009293951A (ja) 2008-06-02 2009-12-17 Toyota Motor Corp 車両用故障診断装置、故障診断方法
JP2010064654A (ja) 2008-09-11 2010-03-25 Toyota Motor Corp 車両の修理交換情報管理システム、及び車両の異常原因情報管理システム
JP2015073190A (ja) 2013-10-02 2015-04-16 トヨタ自動車株式会社 通信システムおよび通信ノード並びに通信方法
JP2016049947A (ja) 2014-09-02 2016-04-11 トヨタ自動車株式会社 故障診断支援システム
JP2020147198A (ja) 2019-03-14 2020-09-17 トヨタ自動車株式会社 ハイブリッド車両、及びハイブリッド車両の異常診断方法
JP2021016207A (ja) 2019-07-10 2021-02-12 株式会社Subaru 電動車両

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019501B2 (en) * 1995-06-07 2011-09-13 Automotive Technologies International, Inc. Vehicle diagnostic and prognostic methods and systems
JP4369825B2 (ja) * 2004-08-11 2009-11-25 株式会社日立製作所 車両故障診断装置および車載端末
JP4826609B2 (ja) 2008-08-29 2011-11-30 トヨタ自動車株式会社 車両用異常解析システム及び車両用異常解析方法
JP4928532B2 (ja) 2008-12-10 2012-05-09 本田技研工業株式会社 車両の故障診断装置
JP2010203841A (ja) * 2009-03-02 2010-09-16 Hitachi Mobile Co Ltd 車両のデータ収集装置およびこれを用いた車両の診断方法
US8509985B2 (en) * 2011-05-25 2013-08-13 GM Global Technology Operations LLC Detecting anomalies in fault code settings and enhancing service documents using analytical symptoms
JP5350521B1 (ja) * 2012-07-12 2013-11-27 ヤマハ発動機株式会社 車両情報管理システム。
JP5915492B2 (ja) * 2012-10-10 2016-05-11 株式会社デンソー 車両用ダイアグノーシス装置
EP3156870B1 (en) * 2015-10-15 2022-06-01 Tata Consultancy Services Limited Systems and methods for predictive reliability mining
KR102322838B1 (ko) * 2016-10-12 2021-11-05 하만인터내셔날인더스트리스인코포레이티드 차량내 예측적 고장 검출을 위한 시스템 및 방법
JP6848791B2 (ja) * 2017-09-28 2021-03-24 株式会社デンソー 車両診断装置、車両診断システム及び車両診断プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149434A1 (en) 2004-12-30 2006-07-06 Bertosa Thomas J Method and system for retrieving diagnostic information from a vehicle
JP2009293951A (ja) 2008-06-02 2009-12-17 Toyota Motor Corp 車両用故障診断装置、故障診断方法
JP2010064654A (ja) 2008-09-11 2010-03-25 Toyota Motor Corp 車両の修理交換情報管理システム、及び車両の異常原因情報管理システム
JP2015073190A (ja) 2013-10-02 2015-04-16 トヨタ自動車株式会社 通信システムおよび通信ノード並びに通信方法
JP2016049947A (ja) 2014-09-02 2016-04-11 トヨタ自動車株式会社 故障診断支援システム
JP2020147198A (ja) 2019-03-14 2020-09-17 トヨタ自動車株式会社 ハイブリッド車両、及びハイブリッド車両の異常診断方法
JP2021016207A (ja) 2019-07-10 2021-02-12 株式会社Subaru 電動車両

Also Published As

Publication number Publication date
CN115113940A (zh) 2022-09-27
US12014586B2 (en) 2024-06-18
US20220309842A1 (en) 2022-09-29
JP2022147632A (ja) 2022-10-06

Similar Documents

Publication Publication Date Title
US8209671B2 (en) Computer program testing after source code modification using execution conditions
US10223188B2 (en) Method and system for detecting symptoms and determining an optimal remedy pattern for a faulty device
US20150346066A1 (en) Asset Condition Monitoring
CN112559365A (zh) 一种测试用例筛选方法、装置、计算机设备和存储介质
US10788817B2 (en) Manufacturing process analysis device, manufacturing process analysis method, and recording medium whereupon manufacturing process analysis program is stored
US20180253664A1 (en) Decision aid system and method for the maintenance of a machine with learning of a decision model supervised by expert opinion
US20090210104A1 (en) Process and device for diagnostic and maintenance operations of aircraft
US10094740B2 (en) Non-regression method of a tool for designing a monitoring system of an aircraft engine
EP3896543A1 (en) Device for evaluating a classification made for a measured data point
EP4033404A1 (en) Class determination system, class determination method, and class determination program
JP7447855B2 (ja) 異常診断装置
US20150193617A1 (en) Signature verification device, signature verification method, and program
US20210279524A1 (en) Training model creation system and training model creation method
Poll et al. Third international diagnostics competition–DXC’11
CN114625106B (zh) 车辆诊断的方法、装置、电子设备及存储介质
CN115687137A (zh) 工业机器人的自动测试方法、装置、示教器及存储介质
CN105814546B (zh) 用于辅助对算法链的检验和验证的方法和系统
CN112241792A (zh) 信息处理方法以及信息处理系统
JP6731366B2 (ja) ソースコード検証システム
JP2001022441A (ja) プラント監視装置
JP7514787B2 (ja) 異常部位特定装置及び異常部位特定方法
JP2020038473A (ja) 分析装置および不良対策支援方法
US20220027261A1 (en) Method and device for operating fuzz testing of a program code
JPWO2014141352A1 (ja) システム制御装置
JP6257236B2 (ja) データ処理装置及びデータ処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231227

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: 20240130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240212

R151 Written notification of patent or utility model registration

Ref document number: 7447855

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151