(57)【要約】【課題】記録媒体の容量を圧迫することなく不具合発生時のログデータ取得の自動化を行う。【解決手段】ログデータ記録装置（記録媒体１９）が接続される第１の処理装置（メインＣＰＵ１１）と、第１の処理装置とは通信可能に接続される１以上の第２の処理装置（サブＣＰＵ１２〜１４）とを含むログデータ記録管理装置であって、第１および１以上の第２の処理装置は、プログラム実行時、それぞれが有するハードウェアへの設定値に関するログデータを収集し、それぞれが参照可能な記憶装置（メモリ１５およびメモリ１６〜１８）に一時保存する手段を備え、第２の処理装置は、不具合発生を検出した場合、ログデータの収集を停止し、記憶装置（メモリ１６〜１８）に保存されたログデータをプロセッサ間通信により第１の処理装置に転送してログデータ記録装置に保存する。【選択図】図１
2010244185.tif 000002
【特許請求の範囲】
【請求項１】
ログデータ記録装置が接続される第１の処理装置と、前記第１の処理装置とは通信可能に接続される１以上の第２の処理装置とを含むログデータ記録管理装置であって、
前記第１および第２の処理装置は、
プログラム実行時、それぞれが有するハードウェアへの設定値に関するログデータを収集し、それぞれが参照可能な記憶装置に一時保存する手段を備え、
前記第２の処理装置は、
不具合発生を検出した場合、前記ログデータの収集を停止し、前記記憶装置に保存されたログデータをプロセッサ間通信により前記第１の処理装置に転送して前記ログデータ記録装置に保存することを特徴とするログデータ記録管理装置。
【請求項２】
特定の情報を入力する操作入力装置を備え、
前記第２の処理装置は、
前記収集したログデータを前記プロセッサ間通信により前記第１の処理装置に転送するにあたり、前記操作入力装置から取得される特定の情報を動作契機とすることを特徴とする請求項１記載のログデータ記録管理装置。
【請求項３】
前記第１および第２の処理装置は、
動作に不具合が発生したことを検出した場合に、発生した不具合を示す情報を参照して自身の不具合であるか否かを判定することを特徴とする請求項１または請求項２記載のログデータ記録管理装置。
【請求項４】
前記第１の処理装置は、
自身の不具合であった場合、
自身のログデータの収集を停止して前記１以上の第２の処理装置にログデータ記録を促す特定の情報を送信し、前記第２の処理装置から送信されるログデータを受信して前記ログデータ記録装置に保存し、
自身の不具合でなかった場合、
記憶装置に割り当てられる通信バッファに前記特定の情報があれば、前記ログデータの収集を停止して前記第２の処理装置にログデータ記録を促す特定の情報を送信し、前記第２の処理装置からのログデータの送信を待って前記ログデータ記録装置に保存することを特徴とする請求項３記載のログデータ記録管理装置。
【請求項５】
前記第２の処理装置は、
自身の不具合であった場合、
自身のログデータの収集を停止して前記第１の処理装置に前記操作装置から入力される特定の情報を送信するとともに前記収集したログデータを送信し、
自身の不具合でなかった場合、
前記記憶装置に割り当てられる通信バッファに前記特定の情報があれば、前記ログデータの収集を停止して前記第１の処理装置に前記収集したログデータを送信することを特徴とする請求項３記載のログデータ記録管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理装置（ＣＰＵ）で製品が構築される、例えば、車載情報機器の組み立て検査工程に用いて好適な、ログデータ記録管理装置に関する。
【背景技術】
【０００２】
現場製造ラインにおいて、製品検査は、ハードウェアを組み立て後、ソフトウェアをインストールして動作可能になった状態で実施される。ところで、ソフトウェアがインストールされた状態ではじめて動作が可能になる部位で不具合が発生した場合、製品で取得可能なログデータが解析に必要になる場合がある。
【０００３】
現状、ログデータは人為的操作によって取得可能であるが、不具合が発生した製品に対して再現確認を実施してからログデータを取得するしかなく、この場合、再現確認の手間や未再現時の対応等について工数が増える。また、検査は半自動的に行われるため、ログデータの取得忘れ、あるいは取得できたとしても必要な情報が既に消去されていることが多々あり、この場合いたずらに時間が費やされることがある。
【０００４】
一方で、特許文献１には、プログラムデバッグ機能を有しないＣＰＵの不具合が発生した瞬間の状態を捉えるために、製品に搭載された他のＣＰＵがプロセッサ間通信によりそのプログラムデバッグを代替する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１４１１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１には、上記した不具合が発生した瞬間の情報を記録する手段が開示されているが、結果のみ記録されただけでは、不具合発生までに至る経緯や要因を特定することが困難な場合もある。また、常時、ログデータを保存することは可能であるが、このとき不具合に関係のないデータまで保存することになるため、記録媒体の容量の圧迫や検査に対して悪影響が出ることがある。
【０００７】
本発明は上記した課題を解決するためになされたものであり、記録媒体の容量を圧迫することなく不具合発生時のログデータ取得の自動化を行い製品検査時における作業者の負担軽減をはかった、ログデータ記録管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記した課題を解決するために本発明のログデータ記録管理装置は、ログデータ記録装置が接続される第１の処理装置と、第１の処理装置とは通信可能に接続される１以上の第２の処理装置とを含むログデータ記録管理装置であって、前記第１および第２の処理装置は、プログラム実行時、それぞれが有するハードウェアへの設定値に関するログデータを収集し、それぞれが参照可能な記憶装置に一時保存する手段を備え、前記第２の処理装置は、動作に不具合が発生したことを検出した場合、前記ログデータの収集を停止し、前記記憶装置に保存されたログデータをプロセッサ間通信により前記第１の処理装置に転送して前記ログデータ記録装置に保存するものである。
【発明の効果】
【０００９】
本発明のログデータ記録管理装置によれば、記録媒体の容量を圧迫することなく不具合発生時のログデータ取得の自動化を行うことで製品検査時における作業者の負担軽減がはかれる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係るログデータ記録管理装置の構成を示すブロック図である。
【図２】本発明の実施の形態１に係るログデータ記録管理装置が有する記憶装置へのログデータ格納方法について模式的に示した図である。
【図３】本発明の実施の形態１に係るログデータ記録管理装置の第１の処理装置が実行するプログラムの構造を機能展開して示したブロック図である。
【図４】本発明の実施の形態１に係るログデータ記録管理装置の第２の処理装置が実行するプログラムの構造を機能展開して示したブロック図である。
【図５】本発明の実施の形態１に係るログデータ記録管理装置の第１の処理装置の動作を示すフローチャートである。
【図６】本発明の実施の形態１に係るログデータ記録管理装置の第２の処理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１は、本発明の実施の形態１に係るログデータ記録管理装置の構成を示すブロック図である。ここでは、本発明の実施の形態１に係るログデータ記録管理装置がログデータ記録管理装置に適用される例が示されている。
【００１２】
図１に示されるように、ログデータ記録管理装置は、記録媒体１９が接続される第１の処理装置（以下、メインＣＰＵ１１という）と、このメインＣＰＵ１１に対し、バス経由でプロセッサ間通信可能に接続される１以上の第２の処理装置としてのサブＣＰＵ１２〜１４を含む。なお、記録媒体１９は、ログデータ記録装置として用いられる大容量ハードディスク等により構成されるものとし、サブＣＰＵ１２〜１４とは直接的には接続されていないものとする。
【００１３】
ここでは、メインＣＰＵ１１は、例えば、ログデータ記録管理装置の本体部に実装され、サブＣＰＵ１２〜１４は、ナビゲーション装置、チューナ装置、通信デバイス等、周辺装置を制御するために実装されることを想定して説明する。
【００１４】
メインＣＰＵ１１にはランダムアクセス可能な素子で構成されるメモリ１５が、サブＣＰＵ１２〜１４には、同じくランダムアクセス可能な素子で構成されるメモリ１６〜１８がそれぞれ接続されている。
メモリ１６〜１８には、例えば、図２に示されるように、メモリ１５同様、所定の領域にログデータ記憶領域（Ｈ／Ｗ設定データ格納領域）が割り当てられており、この領域は、最終番地ｎ＋ｎ番地までログデータの書き込みが終了すると先頭のｎ番地に戻るリングバッファとして使用される。また、図示省略しているが、メモリ１５、および１６〜１８の一部領域には通信バッファも割り当てられ、プロセッサ間通信を実現する構成になっている。通信バッファが割り当てられる領域は、上記したログデータとは異なり、通常のＲＡＭとして使用される。
【００１５】
なお、符号２０は、操作用キースイッチであり、サブＣＰＵ１２〜１４が、プロセッサ間通信により収集したログデータを手動でメインＣＰＵ１１に転送するにあたり、特定の情報（後述する記録用キーコード）を入力する操作入力装置としても使用される。
また、符号３０ａ〜３０ｃは、上記した周辺装置に接続される、例えば、各種センサ類やモータ等の外部接続機器を示すものとする。
【００１６】
図３は、本発明の実施の形態１に係るログデータ記録管理装置の第１の処理装置（メインＣＰＵ１１）が実行するプログラムの構造を機能展開して示したブロック図である。
図３に示されるように、メインＣＰＵ１１が実行するプログラムを機能毎に大別すれば、主制御部１１０と、ログデータ収集部１１２と、動作状態判定部１１１と、プロセッサ間通信部１１３と、ログデータ取得部１１４とを含む。
【００１７】
主制御部１１０は、メインＣＰＵ１１としての本来の機能を実行する他、後述するログデータ収集部１１２、動作状態判定部１１１、プロセッサ間通信部１１３、ログデータ取得部１１４の間のシーケンス制御を行う。
ログデータ収集部１１２は、プログラムが起動されてからログデータの収集停止が指示されるまでの間、ＣＰＵが内蔵するレジスタ等のハードウェア（不図示）に設定された値の履歴を収集し、メモリ１５に保存する機能を有する。
【００１８】
動作状態判定部１１１は、メインＣＰＵ１１による不具合発生を検出して、ログデータ収集部１１２とログデータ取得部１１４を制御する機能を有する。なお、動作状態判定部１１１は、後述するようにＤＴＣ（故障診断）検出プログラムで代替してもよい。
【００１９】
プロセッサ間通信部１１３は、主制御部１１０による制御の下でメモリ１５に通信バッファを割当て、その通信バッファを使用してサブＣＰＵ１２〜１４との間で情報交換を行う機能を有する。ここで、交換される情報としては、ログデータの他に、後述する記録用キーコードも含む。
ログデータ取得部１１４は、プロセッサ間通信部１１３を介して送信されるサブＣＰＵ１２〜１４のログデータを取得して記録媒体１９へ保存するためのデータ転送を行う機能を有する。
【００２０】
図４は、本発明の実施の形態１に係るログデータ記録管理装置の第２の処理装置（サブＣＰＵ１２）が実行するプログラムの構造を機能展開して示したブロック図である。
図４に示されるように、サブＣＰＵ１２が実行するプログラムは、機能的に大別すると、主制御部１２０と、ログデータ収集部１２２と、動作状態判定部１２１と、プロセッサ間通信部１２３と、特定情報通知部１２４とを含む。
【００２１】
主制御部１２０は、例えば、チューナを制御するためのサブＣＰＵ１２としての本来の機能を実行する他、後述するログデータ収集部１２２、動作状態判定部１２１、プロセッサ間通信部１２３、特定情報通知部１２４のシーケンス制御を行う。
ログデータ収集部１２２は、プログラムが起動されてからログデータ収集停止が指示されるまでの間、ＣＰＵ内レジスタ等ハードウェア（不図示）に設定された値の履歴を収集し、メモリ１６に保存する機能を有する。動作状態判定部１２１は、サブＣＰＵ１２による不具合発生を検出してログデータ収集部１２２と特定情報通知部１２４とを制御する機能を有する。
【００２２】
プロセッサ間通信部１２３は、主制御部１２０による制御の下、メモリ１６に通信バッファを割当て、その通信バッファを使用してメインＣＰＵ１１との間で情報交換を行う機能を有する。ここで交換される情報の中には、ログデータの他に後述する記録用キーコードを含むものとする。
特定情報通知部１２４は、収集したログデータをプロセッサ間通信によりメインＣＰＵ１１へ転送するにあたり、そのための契機となる操作用キースイッチ２０から入力される特定の情報（記録用キーコード）をプロセッサ間通信部１２３経由でメインＣＰＵ１１へ通知する機能を有する。
【００２３】
なお、サブＣＰＵ１３、１４についても上記したサブＣＰＵ１２と同じ構成を有するものであり、重複を回避する意味で説明を省略してある。
【００２４】
図５、図６は、本発明の実施の形態１に係るログデータ記録管理装置の動作を示すフローチャートであり、メインＣＰＵ１１の動作（図５）、サブＣＰＵ１２（１３、１４）の動作（図６）のそれぞれを示す。
以下、図５、図６のフローチャートを参照しながら、図３、図４に示すメインＣＰＵ１１、サブＣＰＵ１２（１３、１４）のログデータ記録動作について詳細に説明する。
【００２５】
まず、図５において、メインＣＰＵ１１は、プログラムの起動を契機に（ステップＳＴ５０１“ＹＥＳ”）、ログデータ収集部１１２が、プログラム処理が進むにつれ遷移するログデータの収集を開始する（ステップＳＴ５０２）。ここで、ログデータは、メインＣＰＵ１１が内蔵するレジスタへの設定値の履歴とし、ログデータ収集部１１２は、この設定値が変更される毎にその値を主制御部１１０がメモリ１５内に確保したハードウェア設定データ領域に書き込む。ここで、確保した領域の最終番地までログデータの書込みが到達した場合は、確保した領域の先頭番地に戻り古いログデータを上書きすることは上記したとおりである。
【００２６】
ところで、動作状態判定部１１１は、ＤＴＣ（故障診断）検出プログラムを実行することで外部接続機器３０ａ〜３０ｃの不具合検出を可能とする。
ここで使用されるＤＴＣ検出プログラムによれば、発生した不具合毎にＩＤが設けられる。例えば、外部接続機器３０ａとしての外気温度センサがＧＮＤと短絡している場合のＩＤは１−２−１、運転席側ダンパーモータの差動が長すぎる場合のＩＤは３−２−１等である。動作状態判定部１１１は、このＩＤを参照することにより、製品内部の不具合か、あるいは外部接続機器３０ａ〜３０ｃの不具合かを特定することが可能である。
【００２７】
上記した動作状態判定部１１１によるＤＴＣ検出処理判定を経て（ステップＳＴ５０３）、製品内部での不具合、すなわちメインＣＰＵ１１の不具合であると判定された場合（ステップＳＴ５０４“ＹＥＳ”）、動作状態判定部１１１は、主制御部１１０による制御の下でログデータ収集部１１２を制御してログデータ収集を停止させ、メモリ１５へのログデータ書込みを停止させる（ステップＳＴ５０５）。この処理によって不具合発生前からの設定情報を確保することができる。
【００２８】
次に、主制御部１１０は、プロセッサ間通信部１１３によるプロセッサ間通信を起動し、記録用キーコードをそれぞれのサブＣＰＵ１２〜１４へ送信する（ステップＳＴ５０６）。ここで、「記録用キーコード」とは、サブＣＰＵ１２〜１４にログデータ記録を促す特定の情報をいう。続いてプロセッサ間通信部１１３は、サブＣＰＵ１２〜１４から順次送信されるログデータを受信し（ステップＳＴ５１１）、ログデータ取得部１１４はログデータ受信完了後、取得したログデータを記録媒体１９へ保存する（ステップＳＴ５１２）。
【００２９】
一方、ステップＳＴ５０４で外部接続機器３０ａ〜３０ｃの不具合でないと判定された場合（ステップＳＴ５０４“ＮＯ”）、主制御部１１０は、プロセッサ間通信のためにメモリ１５に割り当てられている通信バッファを参照し（ステップＳＴ５０７）、その通信バッファ内に記録用キーコードにあるか否かを判定する（ステップＳＴ５０８）。
ここで参照される記録用キーコードは、後述するようにサブＣＰＵ１２〜１４により手動で生成されたものと同じものである。
【００３０】
ステップＳＴ５０８で記録用キーコードがあると判定されると（ステップＳＴ５０８“ＹＥＳ”）、引き続きサブＣＰＵ１２〜１４からログデータが送信されてくるため、主制御部１１０は、ログデータ収集部１１２を制御してログデータ収集を停止させてメモリ１５へのログデータ書込みを停止させ（ステップＳＴ５０９）、プロセッサ間通信部１１３によるプロセッサ間通信を用いて記録用キーコードをそれぞれのサブＣＰＵ１２〜１４へ送信する（スップＳＴ５１０）
このことによりメインＣＰＵ１１は受信準備が整い、プロセッサ間通信部１１３は、サブＣＰＵ１２〜１４から順次送信されるログデータを受信する（ステップＳＴ５１１）。そして、ログデータ取得部１１４はログデータ受信完了後、取得したログデータを記録媒体１９へ保存し、メモリ１５にある自身のログデータとともにサブＣＰＵ１２〜１４から送信されたログデータとを保存する（ステップＳＴ５１２）。
【００３１】
上記した処理によりメインＣＰＵ１１は、自身のログデータと、サブＣＰＵ１２〜１４から送信されるログデータとを作業者に負担を強いることなく自動で記録媒体１９に保存することができる。
【００３２】
次に、図６を参照しながらサブＣＰＵ１２〜１４のログデータ記録動作について説明する。図６において、まず、サブＣＰＵ１２〜１４は、プログラムの起動を契機に（ステップＳＴ６０１“ＹＥＳ”）、ログデータ収集部１２２が、プログラム処理が進むにつれ遷移するログデータの収集を開始する（ステップＳＴ６０２）。
【００３３】
動作状態判定部１２１は、ＤＴＣ（故障診断）検出プログラムを実行することにより外部接続機器３０ａ〜３０ｃの不具合検出が可能であることは上記したとおりである。
動作状態判定部１２１によるＤＴＣ検出処理判定を経て（ステップＳＴ６０３）、製品内部での不具合、すなわちサブＣＰＵ１２〜１４の不具合であると判定された場合（ステップＳＴ６０４“ＹＥＳ”）、主制御部１２０による制御の下、ログデータ収集部１２２は、ログデータ収集を停止し、メモリ１６〜１８へのログデータ書込みを停止させる（ステップＳＴ６０５）。この処理によって不具合発生前からの設定情報を確保することができる。
【００３４】
ところで、サブＣＰＵ１２〜１４は、ログデータを保存する記録媒体１９への直接的なリードライト制御機能を持たないため、メインＣＰＵ１１にログデータを転送する際の契機になる記録用キーコードを送信する必要がある。
ここで、この記録用キーコードは、操作用キースイッチ２０による手動入力により生成されるものと同じであり、例えば、あるキースイッチを同時押下することによりログデータ記録の際の契機として生成されるものであり、特定情報通知部１２４がこの記録用キーコードを取得し、プロセッサ間通信部１２３によりメインＣＰＵ１１へ送信される（ステップＳＴ６０６）。続いて、プロセッサ間通信部１２３は、メモリ１６〜１８に一時保存したログデータをメインＣＰＵ１１へ送信する（ステップＳＴ６０７）。
【００３５】
一方、ステップＳＴ６０４で外部接続機器３０ａ〜３０ｃの不具合でないと判定された場合（ステップＳＴ６０４“ＮＯ”）、主制御部１２０は、プロセッサ間通信のためにメモリ１６〜１８に割り当てられている通信バッファを参照し（ステップＳＴ６０８）、その通信バッファ内に記録用キーコードがあるか否かを判定する（ステップＳＴ６０９）。
ここで、記録用キーコードがあると判定された場合（ステップＳＴ６０９“ＹＥＳ”）、主制御部１２０は、ログデータ収集部１２２を制御してログデータ収集を停止させてメモリ１６〜１８へのログデータ書込みを停止させる（ステップＳＴ６１０）。この処理により、不具合発生前からのＣＰＵ内部レジスタへの設定情報が確保される。
【００３６】
最後に、プロセッサ間通信部１２３によりメモリ１６〜１８に一時保存したログデータをメインＣＰＵ１１へ送信して上記した一連の処理を終了する。
上記によりメインＣＰＵ１１は、サブＣＰＵ１２〜１４から順次送信されるログデータを受信し、ログデータ受信完了後、記録媒体１９に保存することができる。
【００３７】
上記した処理によりサブＣＰＵ１２〜１４は、自身のログデータを作業者に負担を強いることなく自動で記録媒体１９に保存することができる。
【００３８】
以上説明のように本発明の実施の形態１に係るログデータ記録管理装置によれば、例えば、図１において、第１（メインＣＰＵ１１）および１以上の第２の処理装置（サブＣＰＵ１２〜１４）は、プログラム実行時、ハードウェアへの設定値に関するログデータを収集し、それぞれが参照可能な記憶装置（メモリ１５およびメモリ１６〜１８）に一時保存する手段を備え、第２の処理装置は、不具合発生を検出した場合、ログデータの収集を停止し、記憶装置（メモリ１６〜１８）に保存されたログデータをプロセッサ間通信により第１の処理装置に転送してログデータ記録装置（記録媒体１９）に保存することで、不具合発生に至るまでのログデータを確実に取得することでき、したがって、再現確認を行う必要がなくなり解析までの時間短縮がはかれ、作業者の負担が軽減される。
なお、不具合検出については、ＤＴＣ検出プログラムを流用すれば、再構築する必要が無くなるため、比較的安いコストでログデータ記録管理装置を提供できる。
【００３９】
なお、図３、図４に示す第１の処理装置（メインＣＰＵ１１）、あるいは第２の処理装置（サブＣＰＵ１２〜１４）が有する機能は、全てをソフトウェアによって実現しても、あるいはその少なくとも一部をハードウェアで実現してもよい。
例えば、プログラム実行時、それぞれが有するハードウェアへの設定値に関するログデータを収集し、それぞれが参照可能な記憶装置に一時保存するデータ処理、あるいは、不具合発生を検出した場合、ログデータの収集を停止し、記憶装置に保存されたログデータをプロセッサ間通信により第１の処理装置に転送してログデータ記録装置に保存するデータ処理は、１または複数のプログラムによりコンピュータ上で実現してもよく、また、その少なくとも一部をハードウェアで実現してもよい。
【符号の説明】
【００４０】
１０  ログデータ記録管理装置、１１  メインＣＰＵ（第１の処理装置）、１２〜１４  サブＣＰＵ（第２の処理装置）、１５〜１８  メモリ（記憶装置）、１９  記録媒体、２０  操作用キースイッチ（操作入力装置）、３０ａ，３０ｃ  外部接続機器、１１０，１２０  主制御部、１１１，１２１  ログデータ収集部、１１２，１２２  動作状態判定部、１１３，１２３  プロセッサ間通信部、１１４  ログデータ取得部、１２４  特定情報通知部。
【図１】
2010244185.tif 000003
【図２】
2010244185.tif 000004
【図３】
2010244185.tif 000005
【図４】
2010244185.tif 000006
【図５】
2010244185.tif 000007
【図６】
2010244185.tif 000008