【課題】車載装置を車両から取り外すことなく、車載装置の詳細な動作確認を行うことができる車載装置の検査システム、車載装置の検査用装置、車載装置、および、可搬型の記憶媒体を提供すること。
【解決手段】実施形態に係る車載装置の検査システムは、可搬型の記憶媒体と、車載装置とを含む。記憶媒体は、車載装置によって実行されることにより車載装置の検査が行われる検査プログラムを含む検査用のシナリオが書き込まれるシナリオ領域と、車載装置によって検査の結果が書き込まれる結果領域とを備える。車載装置は、車両に搭載された状態で記憶媒体を接続可能に構成される接続部と、接続された記憶媒体からシナリオを読み出す読出部と、読み出されたシナリオに従って車載装置の検査を行う検査部と、検査の結果を記憶媒体へ書き込む書込部とを備える。
車両に搭載された状態の車載装置によって読み出され、前記車載装置によって実行されることにより当該車載装置の検査が行われる検査プログラムを含む検査用のシナリオが書き込まれるシナリオ領域と、
車両に搭載された状態の前記車載装置によって前記検査の結果が書き込まれる結果領域と
を備えることを特徴とする可搬型の記憶媒体。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本願の開示する車載装置の検査システム、車載装置の検査用装置、車載装置、および、可搬型の記憶媒体の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【0010】
図1は、実施形態に係る車載装置の検査システム1を示す説明図である。
図1に示すように、車載装置の検査システム1(以下、単に「検査システム1」と記載する)は、検査用装置2と、可搬型の記憶媒体3と、車載装置4とを備える。
【0011】
検査用装置2は、例えば、汎用のパーソナルコンピュータであり、車載装置4の検査に使用されるプログラムがインストールされる。車載装置4の構成については、
図2を参照して後述する。なお、検査用装置2は、タブレット型の端末装置であってもよい。
【0012】
また、記憶媒体3は、例えば、USBメモリである。なお、記憶媒体3は、USBメモリに限定されるものではなく、携行が可能な可搬型の記憶装置であれば、他の任意の記憶媒体であってもよい。記憶媒体3の構成については、
図7を参照して後述する。
【0013】
車載装置4は、例えば、マルチメディアの再生機能を備えたカーナビゲーション装置である。なお、車載装置4は、カーナビゲーション装置に限定されるものではなく、カーオーディオ装置や車載テレビ装置等、他の車載装置であってもよい。車載装置4の構成については、
図8を参照して後述する。
【0014】
検査システム1は、例えば、車載装置4が搭載された車両および車載装置4のアフターサービスを行うエンジニアによって使用されるシステムである。
【0015】
かかる検査システム1は、車載装置4を車両から取り外すことなく、車載装置4によって自装置(車載装置4)の検査を行うことを可能としている。また、検査システム1は、車載装置4によって行われた検査の結果を車載装置4から検査用装置2へ取り込み可能としている。
【0016】
具体的には、検査システム1では、エンジニアのもとへ車載装置4に不具合が生じた車両が持ち込まれた場合、エンジニアは、記憶媒体3を検査用装置2へ接続し、車載装置4の不具合を検査用装置2へ入力する(ステップS1)。
【0017】
車載装置4は、車載装置4に関する複数の不具合と、その不具合を検証するために車載装置4によって実行させる複数の検査プログラムとが対応付けられた情報を予め記憶している。そして、検査用装置2は、車載装置4の不具合が入力されると、不具合に応じた検査用のシナリオを作成する(ステップS2)。検査用のシナリオには、前述した検査用プログラムが含まれている。
【0018】
続いて、検査用装置2は、記憶媒体3に対して、作成した検査用のシナリオの書き込みを行う(ステップS3)。その後、エンジニアは、記憶媒体3を検査用装置2から取り外し、車両に搭載された状態の車載装置4へ接続する。
【0019】
車載装置4は、記憶媒体3から検査用のシナリオの読み出しを行う(ステップS4)。続いて、車載装置4は、読み出したシナリオに含まれる検査プログラムを実行することによって、自装置(車載装置4)の動作を検証するための検査を行う(ステップS5)。
【0020】
そして、車載装置4は、検査が終了すると、記憶媒体3に対して、検査の結果の書き込みを行う(ステップS6)。その後、エンジニアは、検査の結果の書き込みが完了した記憶媒体3を車載装置4から取り外し、検査用装置2へ接続する。
【0021】
検査用装置2は、記憶媒体3から検査の結果の読み出しを行う(ステップS7)。
かかる検査用装置2は、車載装置4に生じる複数の不具合を解消する対処方法を予め複数記憶している。そして、検査用装置2は、記憶媒体3から読み出した検査の結果に基づいて、車載装置4の不具合に対応する対処方法を選択し、検査の結果および対処方法を表示部によって出力する(ステップS8)。
【0022】
このように、検査システム1では、車載装置4を車両から取り外すことなく、車両に搭載したままの状態で車載装置4の検査を行うことが可能である。かかる検査システム1によれば、車載装置4の検査を行う場合に、車載装置4を車両から取り外す作業が不要となり、車両のユーザがエンジニアのもとへ車両を持ち込んでから車載装置4の検査が完了するまでのユーザの待ち時間を短縮することができる。
【0023】
また、検査システム1は、車載装置4によって行われた検査の結果を車載装置4から検査用装置2へ取り込み可能としている。そして、検査用装置2は、検査の結果および不具合を解消する対処方法を出力可能としている。
【0024】
これにより、検査システム1では、車載装置4の表示部よりも表示面積の大きな検査用装置2の表示部によって、検査の結果および対処方法をエンジニアや車両のユーザへ分かり易く表示させることができる。
【0025】
次に、
図2を参照し、検査用装置2の構成について説明する。
図2は、実施形態に係る検査用装置2の構成の一例を示すブロック図である。
図2に示すように、検査用装置2は、接続部21と、入力操作部22と、表示部23と、記憶部24と、制御部25とを備える。
【0026】
接続部21は、例えば、USBポートであり、記憶媒体3が接続される。なお、接続部21は、USBポートに限定されるものではなく、記憶媒体3の種類に応じた接続ポートであればよい。
【0027】
入力操作部22は、例えば、キーボードやマウス等の情報入力デバイスである。表示部23は、例えば、液晶ディスプレイである。なお、検査用装置2がタブレット型の端末装置の場合、入力操作部22および表示部23は、タッチパネル機能を備えたディスプレイとなる。
【0028】
記憶部24は、例えば、ハードディスクやフラッシュメモリ等の比較的記憶容量が大きな情報記憶デバイスである。かかる記憶部24は、検査プログラム61、ブートプログラム62、関連付け情報63、および対処方法64を記憶する。
【0029】
検査プログラム61は、車載装置4によって実行されることによって、車載装置4の検査が行われる検査用のバイナリデータである。なお、記憶部24は、複数種類の車載装置4用の検査プログラム61を多数記憶する。
【0030】
検査プログラム61が実行されることによって行われる検査の対象機器は、例えば、メイン基板や通信用のCAN、表示制御基板、光ピックアップ、デジタル放送受信器、音響基板、メモリ等がある。なお、これらは検査対象機器の一例であり、車載装置4が備える他の機器も検査の対象である。
【0031】
また、検査プログラム61が実行されることによって行われる検査には、例えば、検査対象装置がCANの場合、CANへ正常に電源が供給されているか否かの検査や、通常使用時では想定されていない程の通信負荷をCANに掛ける検査等がある。
【0032】
また、検査対象機器が光ピックアップの場合、ディスクの内周領域、外周領域、および内周領域と外周領域との間の3箇所において、正常に情報の読み取りが行われるか否かの検査等がある。
【0033】
また、検査対象機器がメモリの場合、メモリ内の任意の領域へ内容が既知の情報の書き込みを行った後に情報の読み出しを行い、読み出した情報が書き込み前の内容が既知の情報と同一か否かを判定する検査等がある。なお、ここに列挙した検査は、車載装置4に実行させる検査の一例に過ぎない。
【0034】
検査プログラム61には、付加情報として、車載装置4が正常(OK)か異常(NG)かの判定基準となる閾値等の結果解析用情報36(
図7参照)が含まれている。なお、結果解析用情報36は、検査プログラム61とは別に、記憶部24によって記憶されてもよい。かかる場合、結果解析用情報36と対応する検査プログラム61とは、後述の関連付け情報63によって対応付けされる。
【0035】
また、ブートプログラム62は、検査を行う前に、車載装置4を検査用に初期化するプログラムである。かかるブートプログラム62には、本プログラムが車載装置4の検査用のプログラムであることを示すキーコードが含まれる。
【0036】
また、ブートプログラム62には、検査モードも含まれる。検査モードには、エラーストップモードと、エラースルーモードとの2種類がある。エラーストップモードは、検査中に車載装置4の異常を示すエラーが検知された場合に、その時点で検査を終了する検査モードである。一方、エラースルーモードは、検査中にエラーが検知されても、全ての検査が完了するまで検査を続行する検査モードである。
【0037】
エラーストップモードによれば、迅速に検査を完了させることが可能である。また、エラースルーモードによれば、車載装置4の不具合の原因が複数ある場合に、より詳細に車載装置4の不具合の原因を検出することが可能となる。
【0038】
関連付け情報63は、車載装置4の機種、車載装置4が搭載される車種、車載装置4に発生する不具合の種類、不具合が発生する検査対象機器の種類、ブートプログラム62、および検査プログラム61名が対応付けられたルックアップテーブルである。
【0039】
対処方法64は、車載装置4の不具合を解消するための複数の対処方法が記されたテキストデータである。かかるテキストデータには、例えば、「メイン基板を交換してください。」、「デッキを交換してください。」、「光ピックアップを交換してください。」、「ソフトウェアを更新してください。」等といった複数種類のものがある。
【0040】
制御部25は、検査用装置2全体の動作を統括制御する処理部であり、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)を備える演算装置である。
【0041】
かかる制御部25は、CPUがROMから検査用のアプリケーションプログラムを読み出し、RAMを作業領域として使用して実行することによって機能するシナリオ作成部51と、書込部52と、読出部53と、解析部54とを備える。
【0042】
シナリオ作成部51は、入力操作部22から車載装置4の不具合、若しくは、不具合の生じた制御対象機器を示す信号が入力される場合に、不具合に応じた検査用のシナリオを自動的に作成する処理部である。
【0043】
ここで、
図3および
図4を参照し、シナリオ作成部51が検査用のシナリオを作成する場合に、表示部23に表示させる画面について説明し、その後、
図5を参照し、シナリオ作成部51によって作成される検査用のシナリオのデータ構成について説明する。
【0044】
図3および
図4は、実施形態に係る表示部23によって表示される画面の一例を示す説明図であり、
図5は、実施形態に係る検査用のシナリオのデータ構成の一例を示す説明図である。
【0045】
シナリオ作成部51は、入力操作部22から検査用のシナリオの作成を開始する操作が行われたことを示す信号が入力されると、
図3に示すように、車載装置4の機種および車載装置4が搭載される車種の一覧を表示部23によって表示させる。
【0046】
車載装置4の機種の横には、チェックボックスが表示される。かかるチェックボックスのいずれか一つにチェックを入れることで、検査を行う車載装置4の機種を選択することができる。
図3に示す例では、車種が400Aの車両に搭載される機種が001の車載装置4が選択されている。
【0047】
シナリオ作成部51は、入力操作部22から車載装置4の機種を選択する操作が行われたことを示す信号が入力されると、
図4に示すように、選択された車載装置4に発生する不具合(検査項目)の一覧を表示させる。
【0048】
不具合(検査項目)の横には、チェックボックスが表示される。かかるチェックボックスのいずれか一つにチェックを入れることで、所望する検査の大項目を選択することができる。
図4に示す例では、CAN検査が選択されている。
【0049】
シナリオ作成部51は、検査の大項目が選択されると、大項目に対応付けられた複数の検査プログラム61を、関連付け情報63に基づいて記憶部25から自動的に選択し、
図4に示すように、画面上で不具合(検査項目)の一覧の下に表示させる。
【0050】
図4に示す例では、検査の小項目として、イグニッションスイッチOFF検査のスタート、チェック、エンド、イグニッションスイッチON検査のスタート、チェック、エンド等といった複数の検査コマンドが表示されている。その後、シナリオ作成部51は、入力操作部22から車載装置4によって実行させる検査プログラム61を確定させる操作が行われたことを示す信号が入力されると、検査用のシナリオを作成する。
【0051】
このとき、シナリオ作成部51は、決定された検査プログラム61と、検査プログラム61に対応付けられたブートプログラム62と、関連付け情報63とを記憶部24から読み出して、検査用のシナリオを作成する。
【0052】
例えば、
図5に示すように、シナリオ作成部51は、ブートプログラム62が先頭、その後に検査プログラム61となるようなデータ構造のシナリオ34を作成する。ブートプログラム62は、先頭から順に、キーコード、検査モード、一連の検査プログラム61を繰り返す回数を指定するループ指定回数等が格納される。キーコードには、製品の属性情報として、車載装置4の機種名、製品番号、車載装置4が搭載される車両の車種、機種名などの情報が含まれる。
【0053】
また、検査プログラム61には、複数の検査コマンドが実行される順に格納される。各検査コマンドには、優先順位が設けられており、シナリオ作成部51は、優先順位の高い検査コマンドほど検査プログラム61の先頭に近い位置に格納する。なお、優先順位の高い検査コマンドとは、過去に車載装置4の不具合が検知された回数の多い検査コマンドである。かかる検査用のシナリオ34は、
図5に矢印で示す方向の順に、車載装置4によって読み出されて順次設定および実行される。これにより、エラーストップモードでの検査をより迅速に完了させることができる。
【0054】
図2へ戻り、シナリオ作成部51は、作成した検査用のシナリオ34を書込部52へ出力する。このとき、シナリオ作成部51は、検査用のシナリオ34と、検査プログラム61に含まれる結果解析用情報36(
図7参照)とを個別に書込部52へ出力する。
【0055】
書込部52は、シナリオ作成部51から入力される検査用のシナリオ34を接続部21へ出力して、記憶媒体3へ書き込む処理部である。かかる書込部52は、検査用のシナリオ34と、結果解析用情報36(
図7参照)とを個別に記憶媒体3へ書き込む。
【0056】
読出部53は、車載装置4によって記憶媒体3に書き込まれる検査の結果を記憶媒体3から接続部21を介して読み出す処理部である。かかる読出部53は、検査の結果を読み出す操作が行われたことを示す信号が操作入力部22から入力された場合に、検査の結果とともに、結果解析用情報36(
図7参照)を記憶媒体3から読み出して、解析部54へ出力する。
【0057】
解析部54は、読出部53から入力される検査の結果を結果解析用情報36(
図7参照)に基づいて解析し、車載装置4が正常(OK)か異常(NG)かを判定する処理部である。かかる解析部54は、車載装置4の判定結果を検査の結果として表示部23へ出力する。
【0058】
また、解析部54は、異常と判定した車載装置4の不具合を解消する対処方法64を記憶部24から読み出して検査結果とともに表示部23へ出力し、表示部23によって表示させる。なお、かかる検査用装置2の制御部25が実行する処理の詳細については、
図9および
図10を参照して後述する。
【0059】
次に、
図6を参照し、解析部54が表示部23によって表示させる画面について説明する。
図6は、実施形態に係る表示部23によって表示される画面の一例を示す説明図である。なお、
図6には、
図4に示す検査プログラム61が車載装置4によって実行され場合の検査の結果および対処方法を示している。
【0060】
解析部54は、例えば、
図6に示すように、表示部23の画面における上段左側に、検査が行われた車載装置4の基準、車載装置4が搭載された車両の車種、行われた検査項目を表示させる。また、解析部54は、表示部23の画面における上段右側に、検査の結果を表示させる。
図6に示す例では、CANの検査でエラーが検知され、CANが異常であることを示す「NG」の文字が表示されている。
【0061】
また、解析部54は、検査項目の下に、CANの異常に起因した車載装置4の不具合を解消する対処方法を表示させる。
図6に示す例では、「メイン基板の交換が必要です。」というテキストデータが表示されている。また、解析部54は、表示部23の画面における下段に、各検査コマンドの実行結果が正常(OK)であったか、異常(NG)であったかを示す検査の詳細な結果を表示させる。
【0062】
このように、検査用装置2は、車載装置4の不具合(検査項目)を選択するだけで、その不具合を検証するための検査プログラム61を含む検査用のシナリオ34を自動的に作成する。これにより、例えば、車載装置4の検査や検査用プログラム61に精通していないエンジニアであっても、容易に検査用のシナリオ34を作成することができる。
【0063】
また、検査用装置2は、作成した検査用のシナリオ34を記憶媒体3に書き込むことができる。したがって、検査用のシナリオ34が書き込まれた記憶媒体3を車両に搭載された状態の車載装置4に接続し、車載装置4によって検査用のシナリオ34を読み取らせて実行させることにより、車載装置4を車両から取り外すことなく検査を行うことができる。
【0064】
次に、
図7を参照して、記憶媒体3の構成について説明する。
図7は、実施形態に係る記憶媒体3の構成の一例を示す説明図である。
図7に示すように、記憶媒体3は、接続部31と、シナリオ領域32と、結果領域33とを備える。
【0065】
接続部31は、検査用装置2の接続部21および車載装置4の後述する接続部41(
図8参照)に接続されるUSB端子である。なお、接続部31は、記憶媒体3の種類に応じた他の接続端子であってもよい。
【0066】
シナリオ領域32は、ブートプログラム62および検査プログラム61を含む検査用のシナリオ34が検査用装置2によって書き込まれる記憶領域である。また、結果領域33は、車載装置4の検査の結果35が車載装置4によって書き込まれる記憶領域である。また、結果領域33には、検査用装置2によって結果解析用情報36も書き込まれる。
【0067】
このように、記憶媒体3は、検査用のシナリオ34を記憶するシナリオ領域32と、検査の結果35等を記憶する結果領域33とを備える。これにより、検査用のシナリオ34および検査の結果35を簡単に持ち運びすることができる。
【0068】
次に、
図8を参照し、車載装置4の構成について説明する。
図8は、実施形態に係る車載装置4の構成の一例を示す説明図である。車載装置4は、接続部41と、複数の検査対象機器42と、報知部43と、表示操作部44と、制御部45とを備える。
【0069】
接続部41は、例えば、車載装置4が車両に搭載された状態で記憶媒体3を接続可能な位置に設けられるUSBポートである。なお、接続部41は、USBポートに限定されるものではなく、記憶媒体3の種類に応じた接続ポートであればよい。
【0070】
検査対象機器42は、車載装置4が備えるマルチメディアの再生およびカーナビゲーションを行う場合に動作する複数の電子機器であり、例えば、メイン基板やCAN、表示制御基板、光ピックアップ、デジタル放送受信器、音響基板、メモリ等である。
【0071】
報知部43は、例えば、LED(Light Emitting Diode)等のイルミネーションランプである。かかる報知部43は、発光する色の違いや点滅によって、検査の進捗状況を報知する。例えば、報知部43は、正常に検査進行している場合には、緑色に発光して点滅し、検査の進行が停滞(フリーズ)状態となった場合には、赤色に発光して連続点灯する。また、報知部43は、検査が完了した場合には、緑色に発光して連続点灯する。
【0072】
これにより、車載装置4の検査を行うエンジニアは、報知部43を確認することによって、検査の進捗状況を容易に確認することができる。したがって、例えば、エンジニアは、検査の進行がフリーズ状態となった場合に、検査を中止して新たな検査用のシナリオ34を車載装置4に実行させる等、迅速な対応が可能となる。
【0073】
表示操作部44は、例えば、タッチパネル機能を備えた液晶ディスプレイである。かかる表示操作部44は、通常使用時には、カーナビゲーション画像やデジタルテレビ画像、各種操作ボタン画像等を表示する。また、表示操作部44は、車載装置4の検査や検査を行う場合に、検査用のダイアグノーシス画面(以下、「ダイアグ画面」と記載する)を表示する。
【0074】
制御部45は、車載装置4全体の動作を統括制御する処理部であり、例えば、CPU、ROM、およびRAMを備える演算装置である。かかる制御部45は、CPUがROMから検査用のアプリケーションプログラムを読み出し、RAMを作業領域として使用して実行することによって機能する読出部46と、検査部47と、書込部48とを備える。
【0075】
読出部46は、接続部41に接続された記憶媒体3から検査用のシナリオ34を読み出して検査部47へ出力する処理部である。書込部48は、検査部47から入力される検査の結果35を接続部41に接続された記憶媒体3へ書き込む処理部である。
【0076】
検査部47は、読出部46から入力される検査用のシナリオ34に従って各検査対象機器42の動作検査を行う処理部である。かかる検査部47は、例えば、エンジニアが表示操作部44に対してダイアグ画面を表示させる操作を行い、その後、ダイアグ画面中のプログラム更新ボタンを操作した場合に、検査用のアプリケーションプログラムを起動する。
【0077】
ここで、ダイアグ画面を表示させる操作は、車載装置4を通常使用する場合に行う操作とは異なり、例えば、車載装置4の操作ボタンを通常使用時とは異なる手順で押す操作と、車両のイグニッションスイッチをON/OFFする操作とを組み合わせた操作である。これにより、車載装置4は、ユーザが誤ってダイアグ画面を表示させてしまうことを防止している。
【0078】
検査部47は、検査用のアプリケーションプログラムを起動すると、読出部46に対して情報の読み出しを指示する。読出部46は、検査部47からの指示に従って、記憶媒体3から情報を読み出して検査部47へ出力する。
【0079】
検査部47は、読出部46から入力される情報の先頭にキーコードが含まれている場合、その情報を検査用のシナリオ34と判断する。具体的には、車載装置4は、自装置の機種名、製品番号、自装置が搭載される車種、機種名などの情報を記憶している。
【0080】
そして、車載装置4は、記憶しているこれらの情報と、キーコードに含まれる車載装置4の機種名、製品番号、車載装置4が搭載される車種、機種名などの情報とを照合し、一致している場合に、読出部46から入力された情報を検査用のシナリオ34と判断する。
【0081】
また、車載装置4は、記憶しているこれらの情報と、キーコードに含まれる車載装置4の機種名、製品番号、車載装置4が搭載される車種、機種名などの情報とが一致しなければ、検査を開始せずに通常の動作を行う。
【0082】
その後、検査部47は、検査用のシナリオ34に含まれる検査プログラム61を実行し、各検査コマンドに応じた動作指令を検査対象機器42へ出力することによって各検査対象機器42の検査を行う。
【0083】
そして、検査部47は、検査の状況を監視して各検査対象機器42の動作状態を示す数値を検査の結果35として各検査対象機器42から取得する。その後、検査部47は、取得した検査の結果35を書込部48へ出力する。書込部48は、検査部47から入力される検査の結果35を記憶媒体3へ書き込む。かかる車載装置4の制御部45が実行する処理の詳細については、
図11〜
図14を参照して後述する。
【0084】
次に、
図9および
図10を参照し、検査用装置2の制御部25が実行する検査用シナリオ書込み制御および検査結果読み出し制御について説明する。
図9は、実施形態に係る検査用シナリオ書込み制御処理を示すフローチャートである。また、
図10は、実施形態に係る検査結果読み出し制御処理を示すフローチャートである。
【0085】
なお、
図9には、検査用装置2が検査用のシナリオ34を作成して記憶媒体3へ書き込む場合に、制御部25の各処理部が実行する処理を示している。また、
図10には、検査用装置2が記憶媒体3から検査の結果35を読み出す場合に、制御部25の各処理部が実行する処理を示している。
【0086】
検査用装置2の制御部25は、入力操作部22に対して、シナリオ作成操作が行われた場合に、
図9に示す検査用シナリオ書込み制御処理を実行する。具体的には、
図9に示すように、制御部25のシナリオ作成部51は、表示部23によって車載装置4の機種選択画面を表示させる(ステップS101)。
【0087】
続いて、シナリオ作成部51は、機種選択操作があるか否かを入力操作部22から入力される信号に基づいて判定する(ステップS102)。そして、シナリオ作成部51は、機種選択操作がないと判定した場合(ステップS102,No)、機種選択操作があるまで、ステップS102の判定処理を繰り返す。
【0088】
また、シナリオ作成部51は、機種選択操作があると判定した場合(ステップS102,Yes)、表示部23によって、不具合選択画面を表示させる(ステップS103)。その後、シナリオ作成部51は、不具合選択操作があるか否かを入力操作部22から入力される信号に基づいて判定する(ステップS104)。
【0089】
なお、この不具合選択操作には、車載装置4に発生する不具合を選択する操作、車載装置4の内部で異常のおそれがある検査対象機器42を選択する操作、検査モードを選択する操作、および検査のループ回数の指定回数を選択する操作等が含まれる。
【0090】
そして、シナリオ作成部51は、不具合選択操作がないと判定した場合(ステップS104,No)、不具合選択操作があるまで、ステップS104の判定処理を繰り返す。また、シナリオ作成部51は、不具合選択操作があると判定した場合(ステップS104,Yes)、選択された機種および不具合に応じた検査プログラム61を関連付け情報63に基づいて、記憶部24から選択して読み出す(ステップS105)。
【0091】
なお、ここで読み出される検査プログラム61には、付加情報として、車載装置4が正常(OK)か異常(NG)かの判定基準となる閾値等の結果解析用情報36が含まれている。
【0092】
続いて、シナリオ作成部51は、ステップS106において選択した検査プログラム61を用いて検査用のシナリオ34を作成する(ステップS106)。このとき、シナリオ作成部51は、不具合選択操作によって選択された検査モードおよびループ回数の指定回数に基づいて選択したブートプログラム62を記憶部24から読み出す。
【0093】
そして、シナリオ作成部51は、読み出したブートプログラム62の末尾に、選択した複数の検査プログラム61を付加することによって、シナリオ34を作成し、書込部52へ出力する。このとき、シナリオ作成部51は、検査プログラム61に含まれる前述の結果解析用情報36を別ファイルとして作成し、書込部52へ出力する。
【0094】
最後に、書込部52は、シナリオ作成部51から入力されるシナリオ34を、接続部21に接続された記憶媒体3のシナリオ領域32へ書き込み(ステップS107)、処理を終了する。このとき、書込部52は、シナリオ作成部51から入力される結果解析用情報36を、予め記憶媒体3の結果領域33へ書き込んでから、処理を終了する。
【0095】
一方、検査用装置2の制御部25は、入力操作部22に対して、検査結果読出操作が行われた場合に、
図10に示す検査結果読み出し制御処理を実行する。具体的には、
図10に示すように、制御部25の読出部53は、接続部21に接続された記憶媒体3から検査の結果35を読み出す(ステップS201)。このとき、読出部53は、検査の結果35とともに、結果解析用情報36の読み出しも行い、読み出した検査の結果35および結果解析用情報36を解析部54へ出力する。
【0096】
続いて、解析部54は、読出部53から入力される結果解析用情報36に基づいて、検査の結果35を解析し(ステップS202)、解析の結果、車載装置4に異常があるか否かを判定する(ステップS203)。
【0097】
そして、解析部54は、異常がないと判定した場合(ステップS203,No)、その旨を示す検査結果を表示部23によって表示させ(ステップS205)、処理を終了する。また、解析部54は、異常があると判定した場合(ステップS203,Yes)、その旨を示す検査結果および対処方法を表示部23によって表示させ(ステップS204)、処理を終了する。
【0098】
次に、
図11を参照し、車載装置4の制御部45が実行する処理について説明する。
図11は、実施形態に係る車載装置側起動処理を示すフローチャートである。
図11に示す車載装置側起動処理は、装置通常操作中に繰り返し実行される処理である。
【0099】
制御部45は、表示操作部44に対して、ダイアグ画面表示操作が行われた場合に、
図11に示すステップS302以降の処理を行う。なお、制御部45は、表示操作部44に対して、他の操作が行われた場合には、その操作に対応した処理を行う。また、制御部45は、表示操作部44に対する操作がない場合、処理を終了する。
【0100】
具体的には、
図11に示すように、車載装置4の検査部47は、まず、表示操作部44に対して、ダイアグ画面を表示させる操作があったか否かを判定する(ステップS301)。そして、検査部47は、ダイアグ画面を表示させる操作がないと判定した場合(ステップS301,No)、他の操作があったか否かを表示操作部44から入力される信号に基づいて判定する(ステップS311)。
【0101】
検査部47は、他の操作があると判定した場合(ステップS311,Yes)、他の操作に応じた処理を行う(ステップS312)。例えば、検査部47は、プログラムのバージョンを確認する操作を検知した場合、車載装置4にインストールされているプログラムのバージョンを表示操作部44によって表示させる処理を行い、その後、処理を終了する。また、検査部47は、他の操作がないと判定した場合(ステップS311,No)、処理を終了する。
【0102】
また、検査部47は、ダイアグ画面を表示させる操作があると判定した場合(ステップS301,Yes)、表示操作部44によってダイアグ画面を表示させる(ステップS302)。
【0103】
ここで表示されるダイアグ画面には、例えば、車載装置4のプログラムを更新するために操作するボタンや、車載装置4のプログラムのバージョンを確認するために操作するボタン等の複数のボタンが表示される。
【0104】
ダイアグ画面を表示させる操作としては、ブレーキを踏みながらのライトのON/OFFを所定の周期で切り替えることや、車載装置の所定のボタンを規定の順序や長さで押すこと等、事前の取り決めで適宜設計可能である。その他、例えばUSBを挿入した時点でも良い。
【0105】
続いて、検査部47は、プログラム更新操作があったか否かを表示操作部44から入力される信号に基づいて判定する(ステップS303)。そして、検査部47は、プログラム更新操作がないと判定した場合(ステップS303,No)、処理をステップS311へ移す。
【0106】
また、検査部47は、プログラム更新操作があると判定した場合(ステップS303,Yes)、検査部47は、検査モード移行キーを制御部45が備えるファイル(図示略)に書き込む(ステップS304)。なお、検査モード移行キーは、検査モード移行用のフラグである。そして、検査部47は、電源OFF要求表示を表示操作部44によって表示させる(ステップS305)。
【0107】
その後、検査部47は、電源OFF操作があるか否かを電源の管理を行う検査対象装置42から入力される信号に基づいて判定する(ステップS306)。なお、ここでの電源OFF操作は、車両のイグニッションスイッチをOFFする操作であってもよく、車載装置4の電源スイッチをOFFする操作であってもよい。
【0108】
そして、検査部47は、電源OFF操作がないと判定した場合(ステップS306,No)、電源OFF操作があるまで、ステップS306の判定処理を繰り返す。また、検査部47は、電源OFF操作があると判定した場合(ステップS306,Yes)、車載装置4の電源をOFFする(ステップS307)。
【0109】
その後、検査部47は、電源ON操作があるか否かを電源の管理を行う検査対象装置42から入力される信号に基づいて判定する(ステップS308)。ここでの電源ON操作は、車両のイグニッションスイッチをONする操作であってもよく、車載装置4の電源スイッチをONする操作であってもよい。
【0110】
そして、検査部47は、電源ON操作がないと判定した場合(ステップS308,No)、電源ON操作があるまで、ステップS308の判定処理を繰り返す。また、検査部47は、電源ON操作があると判定した場合(ステップS306,Yes)、前述のキーファイルに検査モード移行キーがあるか否かを判定する(ステップS309)。
【0111】
そして、検査部47は、検査モード移行キーがあると判定した場合(ステップS309,Yes)、検査モードで立ち上げ(起動処理)を行い(ステップS310)、処理を終了する。また、検査部47は、検査モード移行キーがないと判定した場合(ステップS310,No)、通常の立ち上げ(起動処理)を行い(ステップS313)、処理を終了する。
【0112】
次に、
図12を参照し、検査モード中の車載装置側検査処理について説明する。
図12は、実施形態に係る検査モード中の車載装置側検査処理を示すフローチャートである。車載装置4の制御部45は、車載装置4が検査モードで立ち上げられ、且つ、接続部41に記憶媒体3が接続された場合に、
図12に示す検査モード中の車載装置側検査処理を実行する。
【0113】
制御部45が備える検査部47は、検査モード以外で検査用の記憶媒体3が接続部41に接続された場合には、処理を行わない。また、検査部47は、検査モード中に、例えば、音楽ファイルなどが記憶された記憶媒体が接続部41に接続された場合にも、処理を行わない。
【0114】
具体的には、制御部45の試験部47は、
図12に示すように、まず、検査部47は、読出部46へ情報の読み出しを指示し、読出部46によって記憶媒体3から情報の読み出しを行わせ(ステップS401)、読出部46から情報を取得する。
【0115】
続いて、検査部47は、取得した情報の先頭にキーコードがあるか否かを判定する(ステップS402)。ここで、検査部47は、前述したように、車載装置4に記憶されている自装置の機種名、製品番号、自装置が搭載される車種、機種名などの情報と、キーコードに含まれる車載装置4の機種名、製品番号、車載装置4が搭載される車種、機種名などの情報とを照合し、一致している場合に、キーコードがあると判定する。
【0116】
また、検査部47は、車載装置4に記憶されている自装置の機種名、製品番号、自装置が搭載される車種、機種名などの情報と、キーコードに含まれる車載装置4の機種名、製品番号、車載装置4が搭載される車種、機種名などの情報とが一致しなければ、キーコードがないと判定する。
【0117】
そして、検査部47は、キーコードがないと判定した場合(ステップS402,No)、処理を終了する。また、検査部47は、キーコードがあると判定した場合(ステップS402,Yes)、取得した情報を検査用のシナリオ34であると判断し、ブートプログラム62に含まれる検査モードがエラーストップモードであるか否かを判定する(ステップS403)。
【0118】
そして、検査部47は、検査モードがエラーストップモードであると判定した場合(ステップS403,Yes)、検査モードとしてエラーストップモードを設定するとともに、ブートプログラム62に含まれるループ指定回数を設定する(ステップS404)。
【0119】
その後、検査部47は、エラーストップモード検査処理を実行し(ステップS405)、エラーストップモード検査処理が完了すると処理を終了する。かかるエラーストップモード検査処理の内容については、
図13を参照して後述する。
【0120】
また、検査部47は、検査モードがエラーストップモードでないと判定した場合(ステップS403,No)、検査モードとしてエラースルーモードを設定するとともに、ブートプログラム62に含まれるループ指定回数を設定する(ステップS406)。
【0121】
その後、検査部47は、エラースルーモード検査処理を実行し(ステップS407)、エラースルーモード検査処理が完了すると処理を終了する。かかるエラースルーモード検査処理の内容については、
図14を参照して後述する。
【0122】
なお、ここでは、車載装置4が検査モードで立ち上げられ、且つ、接続部41に記憶媒体3が接続された場合に、検査部47が検査モード中の車載装置側検査処理を実行する場合について説明したが、検査部47が行う処理はこれに限定されるものではない。
【0123】
例えば、検査部47は、車載装置4が検査モード以外の通常のモードで制御されている場合に、接続部41へ記憶媒体3が接続され、記憶媒体3にキーコードが入っていればステップS302のダイアグ画面表示処理以降の処理を実行する構成であってもよい。
【0124】
次に、
図13を参照し、車載装置側エラーストップモード検査について説明する。
図13は、実施形態に係る車載装置側エラーストップモード検査処理を示すフローチャートである。
【0125】
図13に示すように、車載装置側エラーストップモード検査処理では、検査部47は、検査がスタートすると、記憶媒体3から取得した検査用のシナリオ34に含まれる検査プログラム61の先頭に、検査プログラム61の実行位置を指すポインタを設定する(ステップS501)。
【0126】
続いて、検査部47は、ポインタが設定された先頭の検査コマンドを実行し(ステップS502)、その後、検査コマンド実行の進捗状況を報知部43によって報知させる(ステップS503)。続いて、検査部47は、検査コマンドを実行することによって行った検査の結果35を書き込み部によって記憶媒体3へ書き込ませる(ステップS504)。
【0127】
その後、検査部47は、記憶媒体3へ書き込んだ検査の結果35がエラーであったか否かを判定する(ステップS505)。そして、検査部47は、検査の結果35がエラーであったと判定した場合(ステップS505,Yes)、処理を終了する。このように、エラーストップモードでは、車載装置4の異常を検知した時点で即座に検査を終了することによって、短時間での検査を可能としている。
【0128】
また、検査部47は、検査の結果35がエラーでなかったと判定した場合(ステップS505,No)、ポインタが検査プログラム61の最後尾に設定されているか否かの判定を行う(ステップS506)。そして、検査部47は、ポインタが検査プログラム61の最後尾に設定されていないと判定した場合(ステップS506,No)、ポインタを次の検査コマンドに進め(ステップS508)、処理をステップS502へ移す。
【0129】
また、検査部47は、ポインタが検査プログラム61の最後尾に設定されていると判定した場合(ステップS506,Yes)、一連の検査プログラム61を繰り返し行った回数、つまりループ回数がループ指定回数に達したか否かを判定する(ステップS507)。
【0130】
そして、検査部47は、ループ回数がループ指定回数に達していないと判定した場合(ステップS507,No)、処理をステップS501へ移す。また、検査部47は、ループ回数がループ指定回数に達したと判定した場合(ステップS507,Yes)、処理を終了する。
【0131】
次に、
図14を参照し、車載装置側エラースルーモード検査について説明する。
図14は、実施形態に係る車載装置側エラースルーモード検査処理を示すフローチャートである。
【0132】
図14に示すように、車載装置側エラースルーモード検査処理では、検査部47は、検査がスタートすると、記憶媒体3から取得した検査用のシナリオ34に含まれる検査プログラム61の先頭に、検査プログラムの実行位置を指すポインタを設定する(ステップS601)。
【0133】
続いて、検査部47は、ポインタが設定された先頭の検査コマンドを実行し(ステップS602)、その後、検査コマンド実行の進捗状況を報知部43によって報知させる(ステップS603)。続いて、検査部47は、検査コマンドを実行することによって行った検査の結果35を書き込み部によって記憶媒体3へ書き込ませる(ステップS604)。
【0134】
続いて、検査部47は、ポインタが検査プログラム61の最後尾に設定されているか否かの判定を行う(ステップS605)。そして、検査部47は、ポインタが検査プログラム61の最後尾に設定されていないと判定した場合(ステップS605,No)、ポインタを次の検査コマンドに進め(ステップS607)、処理をステップS602へ移す。
【0135】
また、検査部47は、ポインタが検査プログラム61の最後尾に設定されていると判定した場合(ステップS605,Yes)、一連の検査プログラム61を繰り返し行った回数、つまりループ回数がループ指定回数に達したか否かを判定する(ステップS606)。
【0136】
そして、検査部47は、ループ回数がループ指定回数に達していないと判定した場合(ステップS606,No)、処理をステップS601へ移す。また、検査部47は、ループ回数がループ指定回数に達したと判定した場合(ステップS606,Yes)、処理を終了する。このように、エラースルーモードでは、異常検知の有無に関わらず、検査プログラム61に含まれる全ての検査コマンドを、予め設定されるループ指定回数だけ繰り返し行うことによって、車載装置4の全ての異常をより正確に検知することができる。
【0137】
上述したように、実施形態に係る検査システム1では、検査用装置2が車載装置4の不具合に応じた検査用のシナリオ34を作成して可搬型の記憶媒体3へ書き込み、車両に搭載された状態の車載装置4が記憶媒体3から検査用のシナリオ34を読み出す。
【0138】
そして、車載装置4は、検査用のシナリオ34に従って自装置(車載装置4)の検査を行い、検査の結果35を記憶媒体3へ書き込む。さらに、検査用装置4は、記憶媒体3から検査の結果35を読み出して表示出力する。
【0139】
かかる検査システム1によれば、車載装置4の検査を行う場合に、車載装置4を車両から取り外す作業が不要となり、車両のユーザがエンジニアのもとへ車両を持ち込んでから車載装置4の検査が完了するまでのユーザの待ち時間を短縮することができる。
【0140】
また、検査システム1によれば、車載装置4の表示操作部44に比べて表示面積が大きな検査用装置2の表示部23によって、検査の結果35を表示させることが可能となるので、検査の結果35の確認作業が容易になる。