IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許-情報処理システム、および情報処理方法 図1
  • 特許-情報処理システム、および情報処理方法 図2
  • 特許-情報処理システム、および情報処理方法 図3
  • 特許-情報処理システム、および情報処理方法 図4
  • 特許-情報処理システム、および情報処理方法 図5
  • 特許-情報処理システム、および情報処理方法 図6
  • 特許-情報処理システム、および情報処理方法 図7
  • 特許-情報処理システム、および情報処理方法 図8
  • 特許-情報処理システム、および情報処理方法 図9
  • 特許-情報処理システム、および情報処理方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-25
(45)【発行日】2024-11-05
(54)【発明の名称】情報処理システム、および情報処理方法
(51)【国際特許分類】
   G06F 11/30 20060101AFI20241028BHJP
   G06F 11/34 20060101ALI20241028BHJP
   G05B 23/02 20060101ALI20241028BHJP
   G05B 19/418 20060101ALN20241028BHJP
【FI】
G06F11/30 172
G06F11/30 140D
G06F11/34 176
G05B23/02 301V
G05B19/418 Z
【請求項の数】 20
(21)【出願番号】P 2019229476
(22)【出願日】2019-12-19
(65)【公開番号】P2021096788
(43)【公開日】2021-06-24
【審査請求日】2022-12-19
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003133
【氏名又は名称】弁理士法人近島国際特許事務所
(72)【発明者】
【氏名】小澤 航
【審査官】山本 俊介
(56)【参考文献】
【文献】国際公開第2019/187208(WO,A1)
【文献】特開2007-233661(JP,A)
【文献】特開2018-106492(JP,A)
【文献】特開2010-224705(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/30-11/36
G05B 23/02
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され、前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータをまとめてログファイルとして処理する情報処理システムであって、
前記ログファイルが有するフォーマットを特定する判定条件を含んだフォーマット情報が格納されているフォーマット情報記録部と、
前記ログファイルから特定のログデータを抽出するための抽出条件が格納されている抽出条件記録部と、
前記フォーマット情報記録部に格納された前記フォーマット情報と、前記抽出条件記録部に格納された前記抽出条件と、に基づき、前記ログファイルから前記特定のログデータを抽出する抽出処理部と、
を有し、
前記複数のログデータを、前記情報処理システムが前記複数のログテータを受信した順番に並べることを特徴とする情報処理システム。
【請求項2】
前記複数のログデータの少なくとも1つは、複数のフィールド情報を有し、
前記判定条件は、前記複数のフィールド情報を有する前記複数のログデータが有する前記複数のフィールドの少なくとも1つを用いて、前記複数のログデータの1つのフォーマットを特定する条件を含む、ことを特徴とする請求項1に記載の情報処理システム。
【請求項3】
第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され、前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータをまとめて1つのログファイルとして処理する情報処理システムであって、
前記1つのログファイルが有するフォーマットを特定する判定条件を含んだフォーマット情報が格納されているフォーマット情報記録部と、
前記1つのログファイルから特定のログデータを抽出するための抽出条件が格納されている抽出条件記録部と、
前記フォーマット情報記録部に格納された前記フォーマット情報と、前記抽出条件記録部に格納された前記抽出条件と、に基づき、前記1つのログファイルから前記特定のログデータを抽出する抽出処理部と、
を有することを特徴とする情報処理システム。
【請求項4】
前記複数のログデータを、前記情報処理システムが前記複数のログテータを受信した順番に並べることを特徴とする請求項に記載の情報処理システム。
【請求項5】
第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され、前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータをまとめてログファイルとして処理する情報処理システムであって、
前記ログファイルが有するフォーマットを特定する判定条件を含んだフォーマット情報が格納されているフォーマット情報記録部と、
前記ログファイルから特定のログデータを抽出するための抽出条件が格納されている抽出条件記録部と、
前記フォーマット情報記録部に格納された前記フォーマット情報と、前記抽出条件記録部に格納された前記抽出条件と、に基づき、前記ログファイルから前記特定のログデータを抽出する抽出処理部と、を有し、
前記複数のログデータの少なくとも1つは、複数のフィールド情報を有し、
前記判定条件は、前記複数のフィールド情報の少なくとも1つを用いて、前記複数のログデータの1つのフォーマットを特定
前記複数のログデータを、前記情報処理システムが前記複数のログテータを受信した順番に並べることを特徴とする情報処理システム。
【請求項6】
第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され、前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータをまとめて1つのログファイルとして処理する情報処理システムであって、
前記1つのログファイルが有するフォーマットを特定する判定条件を含んだフォーマット情報が格納されているフォーマット情報記録部と、
前記1つのログファイルから特定のログデータを抽出するための抽出条件が格納されている抽出条件記録部と、
前記フォーマット情報記録部に格納された前記フォーマット情報と、前記抽出条件記録部に格納された前記抽出条件と、に基づき、前記1つのログファイルから前記特定のログデータを抽出する抽出処理部と、を有し、
前記複数のログデータの少なくとも1つは、複数のフィールド情報を有し、
前記判定条件は、前記複数のフィールド情報の少なくとも1つを用いて、前記複数のログデータの1つのフォーマットを特定する、
ことを特徴とする情報処理システム。
【請求項7】
前記情報処理システムは、前記抽出処理部が抽出した特定のログデータを記録する抽出結果記録部を有し、
前記抽出結果記録部は、抽出した前記特定の複数のログデータを、前記情報処理システムが受信した時刻の順に並べて記録する、ことを特徴とする請求項1乃至のいずれか1項に記載の情報処理システム。
【請求項8】
前記抽出結果記録部は、抽出した前記特定の複数のログデータを、前記フォーマット毎に並べて記録する、ことを特徴とする請求項に記載の情報処理システム。
【請求項9】
前記情報処理システムは、前記抽出処理部が抽出した特定のログデータを記録する抽出結果記録部を有し、
前記抽出結果記録部は、抽出した前記特定の複数のログデータを、前記フォーマット毎に並べて記録する、ことを特徴とする請求項1乃至のいずれか1項に記載の情報処理システム。
【請求項10】
前記抽出結果記録部は、記録した前記特定の複数のログデータを、前記情報処理システムが受信した時刻の順に並べて表示手段に表示させるよう出力する、ことを特徴とする請求項乃至のいずれか1項に記載の情報処理システム。
【請求項11】
前記抽出結果記録部は、フォーマットが異なる複数のログデータを表示手段に同時に表示させるよう出力する、ことを特徴とする請求項乃至10のいずれか1項に記載の情報処理システム。
【請求項12】
前記複数のログデータを前記ログファイルにまとめるログ記録部がログサーバ―に含まれ、
前記フォーマット情報記録部と、前記抽出条件記録部、前記抽出処理部と、は解析用サーバに含まれることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理システム。
【請求項13】
前記第1の装置のメーカは前記第2の装置のメーカと異なる、または、前記第1の装置のベンダは前記第2の装置のベンダと異なる、ことを特徴とする請求項1乃至1のいずれか1項に記載の情報処理システム。
【請求項14】
解析用サーバが、第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータを含んだログファイルを受信する受信工程と、
解析用サーバが、前記第1のフォーマット及び前記第2のフォーマットのいずれかであるかを特定する判定条件を含んだフォーマット情報を用いて、受信した前記ログファイルが有するフォーマットを特定する特定工程と、
前記解析用サーバが、ログファイルから特定のログデータを抽出するための抽出条件を用いて、受信した前記ログファイルから特定した前記フォーマットを有するログデータを抽出する抽出工程と、
を有し、
前記ログファイルにおいて、前記複数のログデータを並べる順番が、解析用サーバに前記ログファイルを送信するログ記録部が前記複数のログテータを受信した順番であることを特徴とする情報処理方法
【請求項15】
前記受信工程の前に、ログ記録部が、前記第1のログデータと前記第2のログデータと、を含む複数のログデータを受信し、前記複数のログデータを1つのログファイルにまとめて出力する出力工程を含む、ことを特徴とする請求項14に記載の情報処理方法。
【請求項16】
前記複数のログデータの少なくとも1つは、複数のフィールド情報を有し、
前記判定条件は、前記複数のフィールド情報を有する前記複数のログデータが有する前記複数のフィールドの少なくとも1つを用いて、前記複数のフィールドの1つのフォーマットを特定する条件を含む、ことを特徴とする請求項14または請求項15に記載の情報処理方法。
【請求項17】
前記抽出工程において、前記解析用サーバが前記1つのログファイルから複数の前記特定のログデータを抽出し、前記複数の前記特定のログデータの各々から複数の前記フィールド情報を抽出する、ことを特徴とする請求項1に記載の情報処理方法。
【請求項18】
前記抽出工程の後に、前記抽出されたログデータを表示手段に表示させるよう出力する表示出力工程を含む、ことを特徴とする請求項1乃至1のいずれか1項に記載の情報処理方法。
【請求項19】
表示出力工程において、フォーマットが異なる複数のログデータを表示手段に同時に表示させるよう出力する、ことを特徴とする請求項1に記載の情報処理方法。
【請求項20】
前記第1の装置のメーカは前記第2の装置のメーカと異なる、または、前記第1の装置のベンダは前記第2の装置のベンダと異なる、ことを特徴とする請求項1乃至1のいずれか1項に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異なる記録フォーマットを有するログデータが混在したログファイルから特定のログデータないしは前記特定のログデータを構成する特定のフィールドを抽出する情報処理システム、および情報処理方法に関する。
【背景技術】
【0002】
ロボットアームを含む生産装置などのシステム運用保守の業務において、保守担当者はエンドユーザからの依頼や様々な目的に応じた調査のために、ログを構成するログデータを解析することがある。一般に、ログ(log)は、システムで稼働しているOSカーネル、サービス、アプリケーションなどが、動作状況に係るテキストデータなどを時刻情報などと関連付けて記録したものである。
【0003】
この種のログを解析する目的は、例えば生産装置のトラブル発生原因の特定などであって、そのためにログ解析によって、OS動作履歴、稼働履歴、動作履歴、エラー発生履歴などを調査する場合がある。ログの取込、抽出などを含むログ解析の作業の手間および時間の削減を目的としたトラブル解析に関する従来技術として、例えば特許文献1の技術が提案されている。
【0004】
特許文献1の構成では、解析のために取り込んだ、OSログやアプリケーションログなどの種別を、ログファイル名などから判別している。特許文献1の構成では、ログファイル名などからログ種別を特定し、ログ種別ごとに事前に定義されたフォーマット情報に基づきログの各フィールドの内容を認識し、ユーザが設定した抽出条件に応じて必要なフィールドのみ抽出する。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2016-14980号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1の技術は、例えばログファイル名からログ種別を特定するようになっている。ところが、ログサーバが、複数の異なるアプリケーション、OS、生産装置コントローラなどがそれぞれ発生した複数の異なるフォーマットを有するログを、例えば1つのログファイルにマージした状態で記録する場合もある。このような複数フォーマット混在のログファイルでは、例えばログ種別に基づくフォーマット判別は適用できない。
【0007】
そこで、本発明の課題は、例えば1つのログファイルに複数の異なる記録フォーマットのログデータが含まれている場合でも、ユーザがトラブル解析などに必要とするログデータを確実に抽出できるようにすることにある。
【課題を解決するための手段】
【0008】
本発明の一態様は、第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され、前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータをまとめてログファイルとして処理する情報処理システムであって、前記ログファイルが有するフォーマットを特定する判定条件を含んだフォーマット情報が格納されているフォーマット情報記録部と、前記ログファイルから特定のログデータを抽出するための抽出条件が格納されている抽出条件記録部と、前記フォーマット情報記録部に格納された前記フォーマット情報と、前記抽出条件記録部に格納された前記抽出条件と、に基づき、前記ログファイルから前記特定のログデータを抽出する抽出処理部と、を有し、前記複数のログデータを、前記情報処理システムが前記複数のログテータを受信した順番に並べることを特徴とする情報処理システムである。
本発明の一態様は、第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され、前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータをまとめて1つのログファイルとして処理する情報処理システムであって、前記1つのログファイルが有するフォーマットを特定する判定条件を含んだフォーマット情報が格納されているフォーマット情報記録部と、前記1つのログファイルから特定のログデータを抽出するための抽出条件が格納されている抽出条件記録部と、前記フォーマット情報記録部に格納された前記フォーマット情報と、前記抽出条件記録部に格納された前記抽出条件と、に基づき、前記1つのログファイルから前記特定のログデータを抽出する抽出処理部と、を有することを特徴とする情報処理システムである。
本発明の一態様は、第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され、前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータをまとめてログファイルとして処理する情報処理システムであって、前記ログファイルが有するフォーマットを特定する判定条件を含んだフォーマット情報が格納されているフォーマット情報記録部と、前記ログファイルから特定のログデータを抽出するための抽出条件が格納されている抽出条件記録部と、前記フォーマット情報記録部に格納された前記フォーマット情報と、前記抽出条件記録部に格納された前記抽出条件と、に基づき、前記ログファイルから前記特定のログデータを抽出する抽出処理部と、を有し、前記複数のログデータの少なくとも1つは、複数のフィールド情報を有し、前記判定条件は、前記複数のフィールド情報の少なくとも1つを用いて、前記複数のログデータの1つのフォーマットを特定し、前記複数のログデータを、前記情報処理システムが前記複数のログテータを受信した順番に並べることを特徴とする情報処理システムである。
本発明の一態様は、第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され、前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータをまとめて1つのログファイルとして処理する情報処理システムであって、前記1つのログファイルが有するフォーマットを特定する判定条件を含んだフォーマット情報が格納されているフォーマット情報記録部と、前記1つのログファイルから特定のログデータを抽出するための抽出条件が格納されている抽出条件記録部と、前記フォーマット情報記録部に格納された前記フォーマット情報と、前記抽出条件記録部に格納された前記抽出条件と、に基づき、前記1つのログファイルから前記特定のログデータを抽出する抽出処理部と、を有し、前記複数のログデータの少なくとも1つは、複数のフィールド情報を有し、前記判定条件は、前記複数のフィールド情報の少なくとも1つを用いて、前記複数のログデータの1つのフォーマットを特定する、ことを特徴とする情報処理システムである。
本発明の一態様は、解析用サーバが、第1の装置から出力される第1のフォーマットを有する第1のログデータと、第2の装置から出力され前記第1のフォーマットと異なる第2のフォーマットを有する第2のログデータと、を含む複数のログデータを含んだログファイルを受信する受信工程と、解析用サーバが、前記第1のフォーマット及び前記第2のフォーマットのいずれかであるかを特定する判定条件を含んだフォーマット情報を用いて、受信した前記ログファイルが有するフォーマットを特定する特定工程と、前記解析用サーバが、ログファイルから特定のログデータを抽出するための抽出条件を用いて、受信した前記ログファイルから特定した前記フォーマットを有するログデータを抽出する抽出工程と、を有し、前記ログファイルにおいて、前記複数のログデータを並べる順番が、解析用サーバに前記ログファイルを送信するログ記録部が前記複数のログテータを受信した順番であることを特徴とする情報処理方法である。
【発明の効果】
【0009】
上記構成によれば、例えば、1つのログファイルに複数の異なる記録フォーマットのログデータが混在するような場合でも、ユーザがトラブル解析などに必要とするログデータを確実に抽出することができる。
【図面の簡単な説明】
【0010】
図1】本発明の実施例1に係るシステム構成を示すブロック図である。
図2】本発明の実施例1に係る解析作業のメイン処理を示したフローチャート図である。
図3】本発明の実施例1に係るフォーマット情報入力処理を示したフローチャート図である。
図4】本発明の実施例1に係る抽出条件入力処理を示したフローチャート図である。
図5】本発明の実施例1に係る解析対象ログ選択処理を示したフローチャート図である。
図6】本発明の実施例1に係るログの解析処理を示したフローチャート図である。
図7】本発明の実施例1に係る複数フォーマット情報を示す説明図である。
図8】本発明の実施例1に係る複数抽出条件情報を示す説明図である。
図9】本発明の実施例1に係る解析処理で使用するログのレコードを示す説明図である。
図10】本発明の実施例1に係るハードウェア構成と解析結果表示画面の一例を示す説明図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は参考数値の例示に過ぎない。
【0012】
本実施形態では、ロボットを用いた生産ラインのための異常監視システムないし生産管理システムにおいて、ログ解析を行う情報処理システムについて説明する。図1は本発明を適用可能な装置およびシステムの機能ブロック構成を示す。
【0013】
本実施形態のシステムは、異常監視、ないし生産管理の対象である生産装置4と、異常監視装置ないし生産管理装置を構成する制御装置として、3つのログサーバ1、解析用サーバ2、作業用PC3を備える。これらログサーバ1、解析用サーバ2、作業用PC3(作業端末)は、後述のCPUを制御装置とした、例えばPC(パーソナルコンピュータ)フォームの制御端末などから構成することができる。なお、ここでは、異常監視装置ないし生産管理装置を構成する制御装置を、ログサーバ1、解析用サーバ2、作業用PC3の3つに分けた構成を示しているが、これらの内、任意の2つないし3つが一体の制御端末によって構成されていても構わない。
【0014】
ここで、図10にディスプレイ1001を備えた作業用PC3の制御系の構成を示す。ただし、図10下部のCPU601を中心とした制御系の構成は、ログサーバ1、解析用サーバ2でも共通である。図10のような制御系は、例えばいわゆるPCフォームの実装形態で実現できる。
【0015】
図10の制御系は、主制御手段としてのCPU601、記憶装置としてのROM602、およびRAM603を備えたPCハードウェアなどによって構成することができる。ROM602には、本実施形態のログ解析、抽出の処理手順を実現するためのCPU601の制御プログラムや定数情報などを格納しておくことができる。また、RAM603は、その制御手順を実行する時にCPU601のワークエリアなどとして使用される。また、図10の制御系には、不図示の外部記憶装置が接続されているものとする。この外部記憶装置は、HDDやSSD、ネットワークマウントされた他のシステムの外部記憶装置などから構成することができる。
【0016】
本実施形態のログ解析、抽出の処理手順を実現するためのCPU601の制御プログラムは、上記の外部記憶装置やROM602の例えばEEPROM領域のような記憶部に格納しておく。その場合、本実施形態の制御手順を実現するためのCPU601の制御プログラムは、ネットワークインターフェース608を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。本実施形態の制御手順を実現するためのCPU601の制御プログラムを格納した状態における各種の記憶手段、記憶部、ないし記憶デバイスは、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
【0017】
ネットワークインターフェース608は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格を用いて構成することができる。このネットワークインターフェース608、およびネットワーク609を介して、CPU601は、他の装置1104と通信することができる。図10の装置が作業用PC3であれば、この他の装置1104は、例えばログサーバ1、解析用サーバ2に相当し、これら3台の制御装置は、ネットワーク609を介して相互に通信することができる。
【0018】
また、図10の制御装置は、ユーザインターフェース装置1002(UI装置)を備える。ユーザインターフェース装置1002としては、例えばLCDディスプレイ、キーボード、ポインティングデバイス(マウス、ジョイスティックなど)などから成るGUI装置として構成される。このユーザインターフェース装置1002を介して、後述する複数フォーマット情報202の入力設定や、複数抽出条件情報204の入力設定を行うことができる。
【0019】
再び図1において、ログサーバ1はログ101を有する。この例では、ログ101はHDDの如くのシンボルを用いて3つ示されている。ログ101を構成する3つのログファイルは、生産装置4を構成する3台の生産装置41、42、43の動作状態に係るログデータをそれぞれ記録する。
【0020】
生産装置41~43は、例えば、ロボット401と、このロボット401を制御するコントローラ402から構成される。さらに、ロボット401は、ロボットアームと、ワークを取り扱うハンドによって構成され、コントローラ402は、ロボットアームとハンドをそれぞれ制御し、ワークを操作させる。以下では、このロボットアームとハンドの制御手段として、コントローラ402を構成する制御部に別々に言及する場合がある。
【0021】
解析用サーバ2は、ログ記録部201、複数フォーマット情報記録部203、複数抽出条件記録部205、抽出結果記録部206を備える。また、解析用サーバ2は、ログ取込部207、複数フォーマット情報設定部208、フォーマット判定部209、複数抽出条件設定部210、抽出処理部211を備える。これらのうち、各処理部については、例えばCPU601が後述する制御手順を記述した制御プログラムを実行することにより実現される。また、各記録部については、例えば後述のROM602ないしRAM603などの記憶手段によって構成される。
【0022】
複数フォーマット情報記録部203は、例えばメモリ(例えば後述のROM602ないしRAM603)に配置された記憶領域によって構成される。複数フォーマット情報記録部203は複数フォーマット情報202を格納する。複数フォーマット情報202は、ログデータの抽出(ないし検索)を制御するために用いられる。複数抽出条件記録部205は、例えばメモリ(例えばRAM603)に配置された記憶領域によって構成される。複数抽出条件記録部205は、複数抽出条件情報204を格納する。この、複数抽出条件情報204もまた、ログデータの抽出(ないし検索)を制御するために用いられる。
【0023】
作業用PC3は複数フォーマット情報入力部301、複数抽出条件入力部302、解析対象ログ選択部303、解析処理実行指示部304、入出力表示部305などにより構成される。これらの入力部、選択部、指示部、表示部は、ディスプレイ、キーボード、ポインティングデバイスなどのハードウェアを用いたユーザインターフェースにより構成される(後述の図10参照)。
【0024】
[ログサーバ]
ログサーバ1は、生産装置4のトラブル発生原因の特定を目的として生産装置41~43でそれぞれ稼働しているロボット401を制御しているコントローラ402が出力するログ101(1011~1013)を記録する。記録されるログ101に記録されるログデータには、ロボット動作ログ、生産装置4のエラー発生履歴ログなどがある。ロボット動作ログには、アームの動作種別、ロボットアームの各軸のモータへの指令パルス値とエンコーダから取得したフィードバックパルス値、ロボット手先位置の3次元の座標情報、力センサ値、ロボットハンドのフィンガの開閉量などの情報が含まれる。
【0025】
生産装置41~43ではそれぞれロボット401が稼働しており、ログサーバ1は生産装置4毎に別のログ1011~1013を記録する。本実施形態では、これらログファイルにおいて、1つの生産装置4の中では、種類の異なる複数のロボット401が存在している可能性がある。そのため、ログ1011~1013に記録されるログデータのフォーマットは異なるものが混在する。さらに、ロボットを構成するアームとハンドについても、それぞれが異なるメーカ、ベンダによって製造され、それらが発生するログデータのフォーマットが異なる場合がある。
【0026】
本実施形態では、ロボット401が複数存在するものとし、各ロボット、ないしそのアーム、ハンドからそれぞれ異なるフォーマットのログデータが出力される。ログサーバ1は、このフォーマットが混在するログデータを生産装置41~43毎に、また受信した時刻の順序で、1つのログファイルにまとめて出力する。ロボット401を制御する生産装置4のトラブル解析ではロボット401の動作順と動作内容が重要になる。そのため、ロボット401を制御するコントローラ402がログデータとして発生するタイムスタンプが記録する。微妙にずれていた場合でもサーバがログデータを受け取った順に記録することでログデータの時系列的な矛盾が起きないようにするため上記のような形式でロギング(ログデータ記録)を行う。
【0027】
上記のようなログ記録(ロギング)には、例えばsyslogプロトコル/サーバを用いることができる。例えば、ログサーバ1でsyslogサーバを稼働させる。このsyslogサーバは、ネットワーク609(図10)などを介してsyslogプロトコルを介して生産装置41~43から受信したログデータを、受信した順序でログ1011~1013に追記していく。
【0028】
[解析用サーバ]
解析用サーバ2は、ログ記録部201、複数フォーマット情報記録部203、複数抽出条件記録部205、抽出結果記録部206を備える。また、解析用サーバ2は、ログ取込部207、複数フォーマット情報設定部208、フォーマット判定部209、複数抽出条件設定部210、抽出処理部211を備える。
【0029】
ログ記録部201は、ログサーバ1に記録されているログファイル(ログ1011~1013)の中から例えば、解析対象のログ101が含まれるログファイルを取り込んで記録する。ログサーバ1から解析用サーバ2へのログファイルの転送には、syslogプロトコルの他、ftp、sftpプロトコル、http、httpsプロトコルなどを利用できる。
【0030】
なお、本実施形態では、解析用サーバ2とログサーバ1が別体の構成を示しているが、解析用サーバ2とログサーバ1は一体の制御端末であっても構わない。その場合には、解析用サーバ2は、例えば、生産装置4の各々からログデータをsyslogプロトコルなどにより受信する。また、ログ記録部201は、ログファイル(ログ1011~1013)を記録するためのHDDなどによって構成されることになる。
【0031】
複数フォーマット情報記録部203には、ログファイル種別毎に複数のログフォーマットとフォーマットを判定するための条件である複数フォーマット情報202が記録される。複数抽出条件記録部205には、解析対象のログファイルに含まれる複数のログフォーマット毎に抽出処理時の複数抽出条件情報204が記録される。抽出結果記録部206には、抽出処理部211によって解析に必要なデータを抽出した結果が記録される。ログ取込部207は、ログ記録部201の解析対象のログファイルを取り込みメモリ上に展開する。複数フォーマット情報設定部208は、複数フォーマット情報記録部203から、解析対象のログファイルの種別に応じた複数フォーマット情報202を読み出して設定する。
【0032】
フォーマット判定部209は、ログ取込部207に取り込まれているログファイルに含まれる各ログに対して、複数フォーマット情報設定部208に設定されている複数フォーマットの内、どのフォーマットに該当するかを判定する処理を行う。
【0033】
複数抽出条件設定部210は、複数抽出条件記録部205から解析対象のログファイルの種別に応じた複数抽出条件情報204を読み出して設定する。そして、読み込んだ複数抽出条件情報204の内、フォーマット判定部209により判定されたログのフォーマットに該当する抽出条件を特定し、解析対象の各ログから抽出するデータフィールドを決定する。
【0034】
抽出処理部211は、複数抽出条件設定部210に設定された抽出条件に基づき、ログの抽出処理を行う。抽出した結果は抽出結果記録部206へ格納する。抽出結果記録部206に記録された抽出結果は、ディスプレイ1001(図10)やプリンタによって出力することができる。ユーザは指定した抽出条件を満たして出力された抽出結果を用いて、生産装置4の動作状態を監視し、あるいは生産管理業務を遂行することができる。
【0035】
[作業用PC]
作業用PC3は、複数フォーマット情報入力部301、複数抽出条件入力部302、解析対象ログ選択部303、解析処理実行指示部304、入出力表示部305から構成される。なお、図1では、作業用PC3は解析用サーバ2と別体の構成として示してあるが、作業用PC3は、例えば解析用サーバ2と一体の制御端末であってもよい。あるいは、作業用PC3の機能がログサーバ1に実装される構成であっても構わない。
【0036】
複数フォーマット情報入力部301では、例えば、解析作業者(ユーザ)が解析用サーバ2の複数フォーマット情報記録部203に対して、解析対象のログファイル毎に、複数フォーマット情報202の入力を行う。ただし、複数フォーマット情報202は、必ずしもユーザの手作業などによって入力する必要はない。例えばデータベースファイルなどのファイル情報(ファイルデータそのもの、あるいはそのデータベースファイルへのポインタ:ファイル名など)を読み込むことにより、複数フォーマット情報202を入力してもよい。
【0037】
複数抽出条件入力部302では、解析作業者が解析用サーバ2の複数抽出条件記録部205に対して、解析対象のログファイル毎、フォーマット毎に複数抽出条件情報204の入力を行う。
【0038】
解析対象ログ選択部303では、解析作業者がトラブル解析の対象とするログファイルを選択する。作業者は、解析対象ログ選択部303を用いて解析対象のログファイル名を指定することができる。
【0039】
解析処理実行指示部304では、複数フォーマット情報入力部301、複数抽出条件入力部302、解析対象ログ選択部303、でユーザが入力および選択した情報に基づき、ログから解析に必要な情報を抽出する処理の実行を解析用サーバ2へ指示をする。
【0040】
入出力表示部305は、複数フォーマット情報入力部301、複数抽出条件入力部302、解析対象ログ選択部303において解析作業者が情報を入力するための画面、および解析結果を表示する画面を表示する。
【0041】
以下では、図1図10を参照して、本実施形態のログ抽出ないし解析システム、特に解析用サーバにおける処理手順につき詳述する。
【0042】
[メイン処理]
図2は本実施形態のトラブル解析支援に係るメイン処理の流れを示している。ステップS101では、ログ解析の作業を行う作業者は、作業用PC3から、解析用サーバ2にアクセスし、作業用PC3の入出力表示部305に解析作業のための情報を入力するためのメイン画面を表示させる。
【0043】
ステップS102において、作業者は、例えば作業用PC3のメイン画面内に表示された作業メニューから、ログ解析における実施したい処理に対応する項目を選択する。作業メニューは、例えば、選択可能な処理に対応する項目として、(a)フォーマット入力、(b)抽出条件入力、(c)解析対象ログ選択、(d)解析実行、(e)解析終了、のようなメニューアイテムを含む。解析用サーバ2は、上記(a)、(b)、(c)、(d)、(e)いずれかのメニューアイテムの項目が選択されると、選択された項目に対応する処理を実行する。
【0044】
上記メイン画面のメニューから(a)フォーマット入力、の項目が選択されると、図2のステップS103において、フォーマット設定画面を表示する。このフォーマット設定画面は、例えばユーザが作業中の作業用PC3のディスプレイ1001に表示される。ここでは、作業用PC3の複数フォーマット情報入力部301は、作業用PC3のフォーマット設定画面に入力された情報を、解析用サーバ2に転送する。解析用サーバ2では、受信したフォーマット情報を複数フォーマット情報記録部203にログフォーマットの定義情報(202)として記録させる処理が行われる。フォーマット情報の入力処理は、後述の図3で説明する。
【0045】
なお、ステップS103のフォーマットの入力は、ログの抽出(検索)処理に先立って少なくとも1回行っておけばよい。また、解析作業を行う直前に入力する作業手順であっても構わない。
【0046】
また、上記メイン画面のメニューから(b)抽出条件入力の項目が選択された場合、図2のステップS104において、抽出条件設定画面を表示する。この抽出条件設定画面は、例えばユーザが作業中の作業用PC3のディスプレイ1001に表示する。作業用PC3の複数抽出条件入力部302は、抽出条件設定画面に入力された情報を解析用サーバ2に転送する。解析用サーバ2では、複数抽出条件記録部205へ抽出条件(204)を記録する処理(後述の図4)を実行する。この抽出条件の入力は、ログの抽出(検索)処理に先立って少なくとも1回行っておけばよい。また、解析作業を行う直前に入力する作業手順であっても構わない。
【0047】
また、上記メイン画面のメニューから(c)の解析対象ログ選択の項目が選択されると、図2のステップS105において、解析対象ログ選択画面を表示する。この解析対象ログ選択画面は、例えばユーザが作業中の作業用PC3のディスプレイ1001に表示される。この解析対象ログ選択画面で、対象のログファイルが指定されると、作業用PC3の解析対象ログ選択部303は、ログファイルの識別情報を解析用サーバ2に送信する。これに応じて、解析用サーバ2は、ログサーバ1から、解析対象のログファイル(1011~1013)をダウンロードし、ログ記録部201に記録する処理(後述の図5)を実行する。この時ダウンロードしたログファイル(1011~1013)は、例えば、ログ記録部201に時ダウンロードした順に記録する。
【0048】
また、上記メイン画面のメニューから(d)の解析実行の項目が選択されると、図2のステップS106において、作業用PC3が解析用サーバ2へ解析の実行を指示する。解析の実行が指示されると、解析用サーバ2は、複数フォーマット情報記録部203と、複数抽出条件記録部205に格納されているフォーマット情報、および抽出条件の情報に基づき、ログデータの抽出処理(後述の図6以降を参照)を行う。ログデータから抽出した所望のログデータは、抽出結果記録部206へ記録する。この抽出処理の対象は、ログサーバ1からダウンロードされ、複数の異なるフォーマットの混在する状態でログ記録部201に記録されているログデータ群である。
【0049】
さらに、図2のステップS107では、解析用サーバ2の抽出結果記録部206から、抽出結果を読み出され、作業用PC3のディスプレイ1001のメイン画面、ないしはサブ画面に表示される。
【0050】
図2のステップS108では、ユーザが作業用PC3上での解析作業を終了するか否かを判定する。解析を続行する場合は、ステップS102に復帰して上記の処理が繰り返される。解析を終了する場合は、ユーザは、例えばステップS109では上記メイン画面のメニューから(e)解析終了の項目が選択する。これにより、解析用サーバ2および作業用PC3は、通信を終了し、解析作業が終了する。なお、上記の解析用サーバ2および作業用PC3の協働に必要な通信には、任意の通信プロトコルを用いることができる。一例としては、例えば、上記のメイン画面のメニューなどを含むユーザインターフェースを記述したWEBページを解析用サーバ2のHTTP、HTTPSサーバで提供し、作業用PC3がこのWEBページにアクセスするような通信形態が考えられる。
【0051】
[フォーマット入力]
図3は、複数フォーマット情報入力部301の処理の流れを示している。図3の処理はメイン画面から“フォーマット入力“項目を選択した場合に実行される。この処理は、複数フォーマット情報202を用意する、即ち、フォーマット入力画面に入力された複数フォーマット情報202を解析用サーバ2の複数フォーマット情報記録部203へ入力するものである。このフォーマット情報の入力は、ログの抽出(検索)処理に先立って少なくとも1回行っておけばよい。また、解析作業を行う直前に入力する作業手順であっても構わない。
【0052】
図3のステップS201では、解析対象の候補となるログファイルに含まれるフォーマット情報を登録するに際し、フォーマットを登録したい解析対象のログファイル名を入力する。
【0053】
このログファイル名として用いる形式は、例えばログサーバ1におけるログファイルのフルパス名(ファイル名)が考えられる。あるいは、ログファイル名には、URL/URI形式のようなネットワーク資源を記述する形式を用いてもよい。URL/URI形式によると、ログファイルの名称のみならず、種別や形式を表現できる可能性がある。
【0054】
ステップS202では、ログのフォーマットを登録するにあたりフォーマットの名称を登録する。本実施形態では、1つのログファイルに対して複数のフォーマットを定義することができる。このため、特定の1つのフォーマットを同定するために、フォーマットの名称を登録する。ステップS203では、ステップS202で登録した名称のフォーマットに対してログのフィールド情報を登録する。このフィールド情報とは、ログの区切り文字(スペース、TAB、カンマなど)などで区切られた時のデータの名称のことである。
【0055】
図7は、複数フォーマット情報記録部203に格納すべき複数フォーマット情報202を示している。図7において、複数フォーマット情報202のログファイル名2021としては、例えばログサーバ1におけるログファイルのフルパス名(ファイル名)が用いられている。ここで、ログファイル名2021中の/var/logのようなディレクトリ(フォルダ)は、syslog方式で一般的に用いられているログの格納場所である。
【0056】
また、図7において、フィールド情報2023の項目としては、「区切り文字」、「データ1」、「データ2」、……「データN」の各定義情報を記述できる。図7の表のフィールド情報の例では、各フィールドのデータは所定の区切り文字(スペース、TAB、カンマなど)で区切られてログデータに格納されているものとする。また、図7において、複数フォーマット情報のフォーマット名2022には、“C1…”、“C2…”、“C3…”…のようなニーモニックを用いてログフォーマット名が格納される。
【0057】
また、図7において、フィールド情報2023の「データ1」は“日付“、「データ2」は”時刻“のようなタイムスタンプ情報である旨の定義が格納される。なお、一般にログデータ中のタイムスタンプは、ログデータを発生した機器ないしコントローラが発生する。その他に、ログサーバ1において、ログデータをsyslogなどの通信プロトコルにより受信した日時/時刻を記録するためのタイムスタンプがログデータ中に追加される構成をとってもよい。
【0058】
その場合には、例えば、ログサーバ1がログデータを受信したタイムスタンプをソートキーとし、ログサーバ1がログデータを受信した順序で抽出したログデータをソートするソート制御が可能となる。このようなソート制御は、ログ記録部201に複数のログファイルがダウンロードされているような場合にログデータの閲覧を高める効果がある。もちろん、ログデータ中のタイムスタンプ(図7の「データ1」、「データ2」)をソートキーとし、抽出したログデータをソートするソート制御を行うこともできる。なお、ソートキーとしてはタイムスタンプのみならず、複数フォーマット情報202で示したような全てのフィールドを指定できる。例えば、コントローラ名やフォーマット名などの識別情報をソートキーとして指定できるようにすることが考えられる。もちろん、ソートキーは単数だけではなく、複数種のソートキーを作用の優先順位付きで指定できる構成であってもよい。
【0059】
ステップS204では、上記のステップS201、S202、S203で入力したフォーマット情報に関して、フォーマット判定条件2024(図7)を設定する。フォーマット判定条件について説明する。
【0060】
本実施形態では、1つのログファイルに複数のフォーマットのログが混在した状態におけるログデータ抽出を想定している。そのためログファイルに含まるログが、ステップS201、S202、S203で登録された複数のフォーマットの内どのフォーマットに該当するか判定する必要がある。そのため、フォーマット判定する条件としてフォーマット判定条件をフォーマット名(2022)ごとに設定する。
【0061】
例えば、フォーマット判定条件2024の設定例として、ステップS203で設定したフィールド情報を利用して設定することが考えられる。フォーマット判定対象のログをカンマ区切りで分割したとき、1データ目が“A”という文字列の場合はフォーマットA、1データ目が“B”という文字列の場合フォーマットB…のようにフォーマット判定条件2024を登録する。
【0062】
図7の例では、複数フォーマット情報202のフォーマット名“C1アームログ”フォーマットにおけるフォーマット判定条件2024は、ログをカンマ区切りで分割した際にデータ3が”C1”、かつ(AND)、データ4が“6軸ロボット”である場合である。
【0063】
ステップS205では、ユーザが他に登録するフォーマット情報があるか否か判断する。他に登録するフォーマット情報があれば、ステップS201に戻り、上記の動作を繰り返し、他のフォーマット情報の登録を行う。他に登録するフォーマットがなければ、ステップS206に進む。ステップS206では、ステップS201~205で設定した図7のような複数フォーマット情報202を、解析用サーバ2の複数フォーマット情報記録部203へ記録する処理が実行される。
【0064】
[抽出条件入力]
図4は、作業用PC3の複数抽出条件入力部302による抽出条件の入力処理の流れを示している。図4の処理は、メイン画面から(b)“抽出条件入力“、の項目を選択した場合に実行される。この処理では、解析用サーバ2の複数抽出条件記録部205へ抽出条件の情報を転送し、複数抽出条件情報204として登録させる。この抽出条件の入力処理は、ログの抽出(検索)処理に先立って少なくとも1回行っておけばよい。また、解析作業を行う直前に入力する作業手順であっても構わない。
【0065】
ステップS301では、作業者がログファイル名を選択し入力する。ログファイル名を入力するダイアログは、例えば図3のフォーマット定義情報の入力処理により、複数フォーマット情報記録部203に入力された複数フォーマット情報202に定義されているログファイル名の中から選択するような構成とする。あるいはテキストボックスを用いて、ユーザに文字列入力によりログファイル名を自由に入力させてもよい。
【0066】
図7の例では、複数フォーマット情報202には、“st1_daily_robot_log”、“st2_daily_robot_log”のログファイル名が含まれている。この場合は、これらのいずれかのログファイル名を抽出対象とするログファイル名としてユーザに選択させる。
【0067】
ステップS302では、作業者にフォーマット名を選択させる。このフォーマット名は、図3のフォーマット入力部の処理により複数フォーマット情報記録部203に入力された複数フォーマット情報202に定義されているフォーマット名(2022)の中から選択させる。
【0068】
ここで、一例として図7の表の複数フォーマット情報202を用いて説明する。図7において“st1_daily_robot_log”というログファイル名(2021)に対して、“C1アームログ”、“C2ハンドログ“、”C3アームログ“、”C4ハンドログ“という4つのフォーマット名が定義されている。先のステップS301でログファイル名を“st1_daily_robot_log”と選択している場合、この4つのフォーマット名の内、いずれかのフォーマット名を選択させる。
【0069】
続いて、ステップS303では、抽出フィールド情報を選択する。この抽出フィールド情報は、ステップS301、ステップS302で選択したログファイル名(2021)と、フォーマット名(2022)の情報から特定されるログデータのフィールド情報の中から選択される。例えば、図7の複数フォーマット情報202において、ステップS301でログファイル名を“st1_daily_robot_log”と選択し、ステップS302でフォーマット名を“C1アームログ”と選択した場合について説明する。
【0070】
図7の表から、ログファイル名(2021)が“st1_daily_robot_log”で、かつフォーマット名(2022)が“C1アームログ”のフィールド情報のいずれかが一意に特定される。“C1アームログ”の場合、フィールド情報(2023)は、カンマ区切りで、”日付“、”時刻“、”コントローラ番号“、”ロボット種類“、”コマンド種類“などを持つ。さらに“C1アームログ”の場合、フィールド情報(2023)は、”X座標“、”Y座標“、”Z座標“、”X方向角度“、”Y座標角度“、”Z方向角度“と続き、全部で11個のデータ項目から成る。ユーザには、この11個のフィールドデータの内、ログの解析を行う際に抽出したい項目を選択させる。もし、“日付”、“時刻”、“コントローラ番号”、“ロボット種類”、”コマンド種類“、“X座標”、“Y座標”、“Z座標”の8個のデータのみ抽出したい場合は、これら8つの項目名を選択する。なお、“日付”、“時刻”のタイムスタンプを指定するためには、好ましくは、図8の例のように解析対象の日時の区間を指定できるユーザインターフェースを設けておく。
【0071】
この選択の結果、解析用サーバ2の複数抽出条件記録部205に記録される複数抽出条件情報204は、図8のような構成となる。この図8の複数抽出条件情報204では、“ログファイル名”(2041)、“解析対象区間”(2042)、“フォーマット名”(2043)、“抽出項目”(2044)が保存されている。
【0072】
ステップS304では、解析対象区間の指定を行う。この解析対象区間とは、ログファイルを解析する際の日時の範囲である。図8の複数抽出条件情報204の例では、「解析対象区間」(2042)は、ログの「日付、時刻」のような形式で指定されている。この例では、2017/01/1、12:00:00~2017/01/1、12:10:00の10分間の区間に該当するログデータを抽出対象とすることを示す。なお、ログサーバのログデータ取得時刻のタイムスタンプがログデータに含まれている場合には、同様の形式でログデータ取得時刻に関する抽出対象を指定できる。
【0073】
図4のステップS305では、ユーザに他に入力する抽出条件があるか否かを判定させる。ここで、他に入力する抽出条件がある場合には、ステップS301に戻り、上記の処理により再度抽出条件の入力を行わせる。他入力する抽出条件が無い場合は後述のステップS306に進む。ステップS306では、ステップS301~305で入力した、図8のような複数抽出条件情報204が解析用サーバ2に転送される。解析用サーバ2では、受信した抽出条件の情報を複数抽出条件記録部205に記録する。
【0074】
[解析対象ログ選択]
図5は、作業用PC3の解析対象ログ選択部303による選択処理の流れを示している。本処理はメイン画面から“解析対象ログ選択“項目を選択した場合に実行され、ここでは、作業者(ユーザ)が解析対象とするログファイルを選択し、選択されたログファイルを解析用サーバ2のログ記録部201へ入力する。
【0075】
ステップS401では、作業者が解析対象とするログファイル名を選択する。このログファイル名は、フォーマット入力部の処理により、複数フォーマット情報記録部203に入力された複数フォーマット情報202に定義されているログファイル名の中から選択させる。図7の例では、複数フォーマット情報202には、“st1_daily_robot_log”、“st2_daily_robot_log”のログファイル名が定義されているので、これらログファイル名の中から選択させる。
【0076】
ステップS402では、ステップS401でユーザが選択した解析対象のログファイル名を解析用サーバ2に転送される。これに応じて、解析用サーバ2では、受信したログファイル名を持つログファイルをログサーバ1からダウンロードし、ログ記録部201へ記録する。
【0077】
[解析実行]
本処理は、メイン画面から(d)“解析”、の項目を選択した場合に、作業用PC3の解析処理実行指示部304による解析処理が実行される。このようにして、“解析”項目が選択されると、作業用PC3は解析用サーバ2に対してログ解析実行を指示する。解析実行指示を受けた解析用サーバ2は、以下のようなログ解析処理を行う。
【0078】
[ログ解析処理]
図6は、解析用サーバ2上の複数フォーマット情報記録部203(フォーマット情報記録部)と、複数抽出条件記録部205(抽出条件記録部)の情報に従い、ログ記録部201に記録された混在フォーマットのログデータを抽出する解析処理の流れを示す。この段階で、複数フォーマット情報記録部203(フォーマット情報記録部)は、ログデータの記録フォーマットに係る情報を格納し、複数抽出条件記録部205(抽出条件記録部)は、ユーザが指定した抽出条件を格納している。これら2つの情報に応じて抽出したログは、抽出結果記録部206へ書き出される。
【0079】
図6のステップS501では、解析用サーバ2上のログ記録部201からログ取込部207にログデータを読み込む。ステップS502では、複数フォーマット情報記録部203から、解析対象のログファイル名に対応する複数フォーマット情報202を読み込んで複数フォーマット情報設定部208に設定する。
【0080】
例えば、図7の複数フォーマット情報202の例では、解析対象のログファイル名が“st1_daily_robot_log”である場合、そのファイル名に対応するフォーマット情報を読み込んで複数フォーマット情報設定部208へ設定する。
【0081】
ステップS503では、複数抽出条件記録部205から、解析対象のログファイル名とログファイルに含まれる各フォーマットに対応する複数抽出条件を読み込んで複数抽出条件設定部210に設定する。例えば、図8の複数抽出条件情報204の例で、解析対象のログファイル名が“st1_daily_robot_log”であるとする。この場合、図8の表の複数抽出条件情報204から、そのファイル名に対応する抽出条件を読み込んで複数抽出条件設定部210へ設定する。
【0082】
ステップS504では、ステップS501のログ取込部207に読み込まれたログデータの先頭から順に1レコードを取り出す。本実施形態における解析対象ログファイルに含まれるログデータは、1レコードごとに改行されて記述されているものとする。
【0083】
ステップS505では、フォーマット判定部209がステップS504で取り出したログの1レコードに対して、ステップS502で複数フォーマット情報設定部208に設定された情報に基づきフォーマット判定処理を行う。
【0084】
ここで、例えば図7の複数フォーマット情報202において、解析対象のログファイルが“st1_daily_robot_log”であり、ステップS504で取り出したレコードは図9のレコード901であるものとする。この場合、取り出したレコード901に対して、図7の複数フォーマット情報202の内、どのフォーマットに該当するかを判定する。
【0085】
図7の複数フォーマット情報202では、“C1アームログ”~“C4ハンドログ”の4つのフォーマットが定義されている。ここでは“C1アームログ“から順に該当するかの判定を行う。このとき、例えば、”C1アームログ”の区切り文字はカンマであると定義されているとすれば、図9の取り出したログデータの1レコードをカンマ区切りでフィールド分割する。このフィールド分割の後、“C1アームログ“のフォーマット判定条件を参照する。この場合、”C1アームログ”の判定条件は、データ3=“C1” AND データ4=”6軸アーム”である。レコードをカンマ区切りで分割した3つ目のフィールドがデータ4、4つ目のフィールドがデータ4にそれぞれ該当するので、データ3とデータ4の値を確認する。
【0086】
例えば、図9に示したレコード901の場合は、データ3は“C1”、データ4=”6軸アーム”であり、図7の“C1アームログ”の判定条件を満たす。従って、このログデータのレコード901は“C1アームログ”である判定される。
【0087】
続いて、ステップS506では、ステップS505で判定したフォーマットに対応するログの抽出条件を特定する。この抽出条件としては、ステップS503で複数抽出条件設定部210に設定された抽出条件を使用する。ここで、図8の複数抽出条件情報204の例において、ステップS505で判定したフォーマットが“C1アームログ”であったとする。
【0088】
図8の複数抽出条件情報204から“C1アームログ”に該当する行を参照すると、抽出条件には、”日付”、”時刻”、”コントローラ番号”、”ロボット種類”、”コマンド種類”、”X座標”、”Y座標”、”Z座標”の8つの抽出項目が含まれる。さらに、図8の複数抽出条件情報204には、解析対象のログファイルに解析区間情報が記載されている。従って、上記8つの抽出項目と解析区間情報が“C1アームログ”の抽出条件となる。
【0089】
ステップS507では、ステップS505で判定したフォーマット情報と、ステップS506で特定した抽出条件と、を用いてログの抽出処理を行う。図7の複数フォーマット情報202と図8の複数抽出条件情報204の例では、ステップS504で取り出した1レコードは図9のレコード901であり、フォーマットが“C1アームログ”である。既に、ステップS505、ステップS506で、レコード901のフォーマット情報と抽出条件は特定されている。従って、ここでは、レコード901を“C1アームログ”のフォーマット情報にしたがってカンマ区切りでフィールドを分割し、分割した情報をデータ1~データ10として格納する。この段階では、判定済みのフォーマット情報によりデータ1=日付、データ2=時刻…のように、それぞれのフィールドのデータがどのような情報であるかは特定されている。
【0090】
続いて、“C1アームログの”抽出条件を元に必要な項目のみを抽出する。上記のように図8の抽出条件では、“C1アームログ”の抽出条件は、”日付”、”時刻”、”コントローラ番号”、”ロボット種類”、”コマンド種類”、”X座標”、”Y座標”、”Z座標”となっている。ここで、レコード901のデータ1=日付であるため、データ1は抽出項目に該当するので、このフィールドを抽出する。またデータ2=時刻であるためデータ2も抽出すべきフィールドと判定される。同様にデータ3~データ10に関しても抽出すべきフィールドが特定される。
【0091】
その結果、この例では、データ1、2、3、4、5、6、7、および8の8つのデータが抽出項目であると特定でき、レコード901からこれら8つのデータが抽出される。
【0092】
ステップS508では、ステップS507の抽出結果を解析用サーバ2の抽出結果記録部206に記録する。ステップS509では、解析対象となるレコードが他にあるか否か判定する。この判定は、例えばログ取込部207に未処理のログデータの行が残っているか否かを判定することによって行う。
【0093】
ステップS504では、上記のステップS501でログ取込部207に読み込んだログデータの先頭から順に1レコードを取り出して解析を行う。もし、ステップS509で、まだ、次のレコードが存在する場合は、ステップS504の処理に戻り次のレコードの解析を行う。次のレコードの有無を確認し未処理のログデータのレコードが無ければ、すべてのレコードの処理が完了したと判断し後述するステップS510に移行する。
【0094】
ステップS510では、ステップS501~509の処理により、ステップS507の解析用サーバ2の抽出結果記録部206に記録された抽出結果を作業用PC3のディスプレイ1001に出力する。図10は作業用PC3のディスプレイ1001に出力された抽出結果の表示画面を示している。解析処理を実行して、解析に必要な項目のみ抽出した結果を解析用サーバ2から作業用PC3のメイン画面に図10のようにディスプレイ1001に解析結果表示画面が表示される。作業者はディスプレイ1001に表示された解析結果表示画面を参照し、例えばトラブルの原因を特定することができる。抽出前のログはトラブル解析に必要ない情報も多く含んでいるが、本実施形態の抽出処理によれば、作業者が参照したい任意の項目を選択し、その必要な項目のみ抽出することができる。なお、解析結果表示画面に出力される情報は、CSV形式等のファイルに出力して保存できるようにしておいてもよい。
【0095】
以上のように、本実施形態によれば、解析用サーバ2に記録されている複数フォーマット情報202と複数抽出条件情報204を用いて、フォーマット判定部209によりログのフォーマットを判定することができる。そのため、複数の異なる記録フォーマットが混在したログファイルであっても、異なるフォーマットごとに、解析に必要な項目を指定して、所望のログデータを抽出することができる。
【0096】
抽出した結果は、例えば図10に示すようにディスプレイ1001に表示させることができる。作業者(ユーザ)は、指定した抽出条件に従ってログファイルから抽出させた、所望区間の、所望の機器ないしその部材に係るログデータを閲覧できる。これにより、短時間で効率よく、生産装置のトラブル解析を行うことができる。ディスプレイ1001にはロボット生産装置のトラブル解析に必要な項目のみ抽出されているのでトラブル解析を行うユーザ(作業者)は、ログの抽出や編集作業などを手動で行う必要がない。
【0097】
本実施形態によれば、生産装置のトラブル解析、特にログの取込および抽出等を含むログ解析の作業の手間やその所要時間の削減が可能となる。また、上記ログの抽出等を含むログ解析に関して従来ユーザに要求された専門知識などが必要なくなり、そのような専門知識や経験が少ないユーザにとっても扱いやすく効率的なログ解析を実現できる。
【0098】
なお、抽出したログデータを、所望のソートキーを用いてソート(並べ替え)するソート制御部を設けた構成においては、ユーザ(作業者)は、好みの順序でソートされた形態でログデータを閲覧できる。これにより、ログデータの可読性が著しく向上する。その場合、ログデータ中に配置されているならば、任意のフィールドのデータをソートキーとして指定することができる。例えば、ログサーバ1が取得した時刻のフィールドがログデータに含まれているなら、ログサーバ1はその時刻順(転送順)をソートキーとして、抽出したログデータをソートすることができる。このログデータのサーバ取得時刻によるソートにより、特に複数のログファイル(1011~1013:図1)がマージされた状態からログデータを扱い易い順序に並べ替えることができ、ログデータの閲覧性、可読性を大きく向上できる。
【0099】
また、以上では、抽出したログデータをディスプレイに出力し、ユーザが内容を解析する構成を前提としたが、さらに進んで、抽出したログデータの異常をCPUなどの制御手段が監視してもよい。その場合、例えば解析用サーバ2で、ログサーバ1にログが取得される毎に、リアルタイムのログデータの抽出を行い、抽出したログデータの所定フィールドの数値を制御手段で監視することができる。そして、抽出したログデータの所定フィールドの数値に異常が検出された場合には、ディスプレイや音声出力手段で警報を発生したり、生産装置のコントローラに非常停止信号を送信したりする制御を行うことができる。また、抽出したログデータの出力部として、ディスプレイを例示したが、ログデータの出力部としては印刷手段や音声出力手段(プリンタやスピーカなど)など任意の出力部を用いてよい。
【0100】
本発明は上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給しそのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理で実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0101】
1:ログサーバ、2:解析用サーバ、3:作業用PC、4:生産装置、101:ログ、201:ログ記録部、202:複数フォーマット情報、203:複数フォーマット情報記録部、204:複数抽出条件情報、205:複数抽出条件記録部、206:抽出結果記録部、207:ログ取込部、208:複数フォーマット情報設定部、209:フォーマット判定部、210:複数抽出条件設定部、211:抽出処理部、301:複数フォーマット情報入力部、302:複数抽出条件入力部、303:解析対象ログ選択部、304:解析処理実行指示部、305:入出力表示部、401:ロボット、402:コントローラ、901:レコード、1001:ディスプレイ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10