(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-20
(45)【発行日】2024-10-01
(54)【発明の名称】データ収集装置、プログラム及びデータ収集方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20240924BHJP
G05B 19/418 20060101ALI20240924BHJP
G06F 16/20 20190101ALI20240924BHJP
【FI】
G05B23/02 301V
G05B19/418 Z
G06F16/20
(21)【出願番号】P 2022558718
(86)(22)【出願日】2020-10-29
(86)【国際出願番号】 JP2020040673
(87)【国際公開番号】W WO2022091306
(87)【国際公開日】2022-05-05
【審査請求日】2023-04-21
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100145012
【氏名又は名称】石坂 泰紀
(74)【代理人】
【識別番号】100171099
【氏名又は名称】松尾 茂樹
(72)【発明者】
【氏名】若松 剛
(72)【発明者】
【氏名】木村 瑞歩
(72)【発明者】
【氏名】中西 光章
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2018-055457(JP,A)
【文献】国際公開第2017/216830(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G05B 19/418
G06F 16/00 -16/958
(57)【特許請求の範囲】
【請求項1】
産業機器の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを収集する1以上のデータコレクタと、
1以上の種別ごとに1以上の解析用レコードを配列した解析用データを取得し、前記解析用データのデータ配列に基づいて前記解析用データから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成するデータアナライザと、
1以上の種別ごとに1以上の登録用レコードを配列した登録用データを取得し、前記登録用データのデータ配列に基づいて前記登録用データを所定のデータベース形式に変換し、データベースに登録するデータベースアクセサと、
前記データコレクタと、前記データアナライザと、前記データベースアクセサとの間におけるデータの流れを制御するアプリケーションマネジャと、を備えるデータ収集装置。
【請求項2】
前記データベース形式は、個々のレコードに構造化タグが付されたタグ構造形式であり、
前記データベースアクセサは、前記登録用データのデータ配列に基づいて前記1以上の登録用レコードのそれぞれに構造化タグを付して前記データベースに登録する、請求項1記載のデータ収集装置。
【請求項3】
前記登録用データは、前記1以上の登録用レコードの前記1以上の種別ごとに属性を定義する属性定義データを含み、
前記データベースアクセサは、前記1以上の登録用レコードのそれぞれの種別と、前記登録用データの前記属性定義データとに基づいて、前記1以上の登録用レコードのそれぞれに属性を示す構造化タグを付す、請求項2記載のデータ収集装置。
【請求項4】
前記データベースアクセサは、前記1以上の登録用レコードのそれぞれに対し、種別内における配置を更に示す構造化タグを付す、請求項3記載のデータ収集装置。
【請求項5】
前記アプリケーションマネジャは、前記データコレクタが収集した前記RAWデータを前記解析用データとして前記データアナライザに取得させ、前記データアナライザが生成した前記リザルトデータを前記登録用データとして前記データベースアクセサに取得させる、請求項1~4のいずれか一項記載のデータ収集装置。
【請求項6】
前記RAWデータは、前記1以上のRAWレコードの1以上の種別ごとに属性を定義する属性定義データを含み、
前記データアナライザは、前記RAWデータの前記属性定義データに基づいて前記所定種別の解析用レコードを抽出する、請求項5記載のデータ収集装置。
【請求項7】
前記アプリケーションマネジャは、前記データコレクタが収集した前記RAWデータを前記登録用データとして前記データベースアクセサに更に取得させる、請求項5又は6記載のデータ収集装置。
【請求項8】
前記RAWデータの登録要否を定める要否設定を取得して設定記憶部に記憶させる設定取得部を更に備え、
前記アプリケーションマネジャは、前記データコレクタが収集した前記RAWデータを前記登録用データとして前記データベースアクセサに取得させるか否かを前記設定記憶部の前記要否設定に基づいて切り替える、請求項7記載のデータ収集装置。
【請求項9】
前記アプリケーションマネジャは、前記データコレクタが収集した前記RAWデータを前記登録用データとして前記データベースアクセサに取得させるか否かを、前記データアナライザが生成した前記1以上のリザルトレコードに基づいて切り替える、請求項7記載のデータ収集装置。
【請求項10】
前記データベースから読み出したデータに基づいて、1以上の種別ごとに1以上の二次レコードを配列した二次データを生成する第2データベースアクセサと、
1以上の種別ごとに1以上の二次解析用レコードを配列した二次解析用データを取得し、前記二次解析用データのデータ配列に基づいて前記二次解析用データから所定種別の二次解析用レコードを抽出し、抽出した二次解析用レコードに対し所定の第2解析処理を行って1以上の二次リザルトレコードを生成し、1以上の種別ごとに1以上の二次リザルトレコードを配列した二次リザルトデータを生成する第2データアナライザと、を更に備え、
前記アプリケーションマネジャは、前記第2データベースアクセサが生成した前記二次データを前記二次解析用データとして前記第2データアナライザに取得させ、前記第2データアナライザが生成した前記二次リザルトデータを前記登録用データとして前記データベースアクセサに取得させる、請求項5~9のいずれか一項記載のデータ収集装置。
【請求項11】
前記第2データアナライザの識別情報と、前記第2解析処理に必要なレコード種別とを対応付けて記憶するアナライザ記憶部を更に備え、
前記アプリケーションマネジャは、前記アナライザ記憶部において前記第2データアナライザに対応付けられた前記レコード種別に基づいて前記データベースからの読み出し対象を指定して前記第2データベースアクセサに前記二次データを生成させる、請求項10記載のデータ収集装置。
【請求項12】
前記データコレクタは、1以上の種別ごとに、複数のRAWレコードを時刻に対応付けて配列した前記RAWデータを収集し、
前記データアナライザは、時刻順における一つ前のRAWレコードに対し値が変化したRAWレコードを前記1以上のリザルトレコードとして前記複数のRAWレコードから抽出する、請求項5~11のいずれか一項記載のデータ収集装置。
【請求項13】
産業機器の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを産業機器から収集する1以上のデータコレクタと、
前記RAWデータを取得し、前記RAWデータのデータ配列に基づいて前記RAWデータから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成するデータアナライザと、
前記リザルトデータを取得し、前記リザルトデータのデータ配列に基づいて前記リザルトデータを所定のデータベース形式に変換し、データベースに登録するデータベースアクセサと、を備えるデータ収集装置。
【請求項14】
前記データベース形式は、個々のレコードに構造化タグが付されたタグ構造形式であり、
前記データベースアクセサは、前記リザルトデータのデータ配列に基づいて前記1以上のリザルトレコードのそれぞれに構造化タグを付して前記データベースに登録する、請求項13記載のデータ収集装置。
【請求項15】
前記データベースアクセサは、前記RAWデータを更に取得し、前記RAWデータのデータ配列に基づいて前記RAWデータを前記データベース形式に変換し、前記データベースに更に登録する、請求項13又は14記載のデータ収集装置。
【請求項16】
前記データベースから読み出したデータに基づいて、1以上の種別ごとに1以上の二次レコードを配列した二次データを生成する第2データベースアクセサと、
前記二次データを取得し、前記二次データのデータ配列に基づいて前記二次データから所定種別の二次解析用レコードを抽出し、抽出した二次解析用レコードに対し所定の第2解析処理を行って1以上の二次リザルトレコードを生成し、1以上の種別ごとに1以上の二次リザルトレコードを配列した二次リザルトデータを生成する第2データアナライザと、を更に備え、
前記データベースアクセサは、前記二次リザルトデータを更に取得し、前記二次リザルトデータのデータ配列に基づいて前記二次リザルトデータを前記データベース形式に変換し、前記データベースに更に登録する、請求項13~15のいずれか一項記載のデータ収集装置。
【請求項17】
産業機器の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを収集する1以上のデータコレクタと、
1以上の種別ごとに1以上の解析用レコードを配列した解析用データを取得し、前記解析用データのデータ配列に基づいて前記解析用データから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成するデータアナライザと、
1以上の種別ごとに1以上の登録用レコードを配列した登録用データを取得し、前記登録用データのデータ配列に基づいて前記登録用データを所定のデータベース形式に変換し、データベースに登録するデータベースアクセサと、
前記データコレクタと、前記データアナライザと、データベースアクセサとの間におけるデータの流れを制御するアプリケーションマネジャと、を備えるプログラム。
【請求項18】
データ収集装置の1以上のデータコレクタが、産業機器の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを産業機器から収集することと、
前記データ収集装置のデータアナライザが、前記RAWデータを取得し、前記RAWデータのデータ配列に基づいて前記RAWデータから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成することと、
前記データ収集装置のデータベースアクセサが、前記リザルトデータを取得し、前記リザルトデータのデータ配列に基づいて前記リザルトデータを所定のデータベース形式に変換し、データベースに登録することと、を含むデータ収集方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ収集装置、プログラム及びデータ収集方法に関する。
【背景技術】
【0002】
特許文献1には、製造ラインの各設備からのデータを収集し、収集したデータをデータベースに追加するデータ収集装置が開示されている。このデータ収集装置は、上記データを含むファイルおよびファイル名を上記設備から取得する取得手段と、該取得手段が取得したファイル名から上記データに関する付加情報を抽出する抽出手段と、該抽出手段が抽出した付加情報を、上記取得手段が取得したファイル内の上記データに追加して、上記データベースに追加する追加手段とを備える。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、データベースの拡張し易さと、データベースの利用し易さとの両立に有効なデータ収集装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
本開示の一側面に係るデータ収集装置は、産業機器の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを収集する1以上のデータコレクタと、1以上の種別ごとに1以上の解析用レコードを配列した解析用データを取得し、解析用データのデータ配列に基づいて解析用データから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成するデータアナライザと、1以上の種別ごとに1以上の登録用レコードを配列した登録用データを取得し、登録用データのデータ配列に基づいて登録用データを所定のデータベース形式に変換し、データベースに登録するデータベースアクセサと、データコレクタと、データアナライザと、データベースアクセサとの間におけるデータの流れを制御するアプリケーションマネジャと、を備える。
【0006】
本開示の他の側面に係るプログラムは、産業機器の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを収集する1以上のデータコレクタと、1以上の種別ごとに1以上の解析用レコードを配列した解析用データを取得し、解析用データのデータ配列に基づいて解析用データから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成するデータアナライザと、1以上の種別ごとに1以上の登録用レコードを配列した登録用データを取得し、登録用データのデータ配列に基づいて登録用データを所定のデータベース形式に変換し、データベースに登録するデータベースアクセサと、データコレクタと、データアナライザと、データベースアクセサとの間におけるデータの流れを制御するアプリケーションマネジャと、を備える。
【0007】
本開示の更に他の側面に係るデータ収集方法は、産業機器の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを産業機器から収集することと、RAWデータを取得し、RAWデータのデータ配列に基づいてRAWデータから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成することと、リザルトデータを取得し、リザルトデータのデータ配列に基づいてリザルトデータを所定のデータベース形式に変換し、データベースに登録することと、を含む。
【発明の効果】
【0008】
本開示によれば、データベースの拡張し易さと、データベースの利用し易さとの両立に有効なデータ収集装置を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】生産システムの構成を例示する模式図である。
【
図3】データ収集装置の構成を例示するブロック図である。
【
図8】制御システムのハードウェア構成を例示するブロック図である。
【
図9】プログラム登録手順を例示するフローチャートである。
【
図10】一次解析手順を例示するフローチャートである。
【
図11】RAWレコードの登録手順を例示するフローチャートである。
【
図12】二次解析手順を例示するフローチャートである。
【
図13】RAWレコードの登録手順の変形例を支援するフローチャートである。
【発明を実施するための形態】
【0010】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【0011】
〔生産システム〕
図1に示す生産システム1(ロボットシステム)は、ワークの生産を行うシステムである。以下、ワークの生産過程において、作業対象となる物体の全てを「ワーク」という。例えば「ワーク」は、生産システム1における最終生産物、最終生産物の部品、及び複数の部品を組み合わせたユニット等を含む。
【0012】
生産システム1は、1以上のローカル機器2と、制御システム3とを備える。例えば生産システム1は、複数のローカル機器2を備え、複数のローカル機器2の協調動作によりワークの生産を行う。協調動作は、少なくとも一つの上記最終生産物を得るための複数の工程を分担するように複数のローカル機器が動作することを意味する。複数のローカル機器は、一つの最終生産物を得るための複数の工程を工程単位で分担するように動作してもよいし、複数の最終生産物を得るための複数の工程を最終生産物単位で分担するように動作してもよい。
【0013】
複数のローカル機器2のそれぞれは、ワーク9の生産現場においてワーク9に対し直接的に作業を実行する機器である。直接的な作業は、例えば、熱エネルギー、運動エネルギー、位置エネルギー等の何らかのエネルギーをワーク9に付与する作業である。
【0014】
複数のローカル機器2のそれぞれは、例えば産業機器である。複数のローカル機器2は、少なくともロボットを含む(少なくとも一つのローカル機器2はロボットである)。また、複数のローカル機器2は、ロボットと協働する産業機器を含む。ロボットと協働する産業機器の具体例としては、他のロボットの他、NC工作機械等が挙げられる。
【0015】
図1に示す複数のローカル機器2は、搬送装置2Aと、ロボット2B,2Cと、移動型ロボット2Dとを含んでいるが、これに限られない。少なくとも一つのロボットを含んでいる限り、ローカル機器2の数及び種類は適宜変更可能である。
【0016】
搬送装置2Aは、例えば電動モータ等を動力源としてワーク9を搬送する。搬送装置2Aの具体例としては、ベルトコンベヤ、ローラコンベヤ等が挙げられる。ロボット2B,2C、及び移動型ロボット2Dは、搬送装置2Aが搬送するワーク9に対する作業を行う。ワーク9に対する作業の具体例としては、搬送装置2Aが搬送するワーク9(例えばベースパーツ)に対する他のワーク9(例えばサブパーツ)の組付け、搬送装置2Aが搬送するワーク9におけるパーツ同士の締結(例えばボルト締結)・接合(例えば溶接)、搬送装置2Aの周囲に設置されたNC工作機械へのワーク9の搬入、NC工作機械からのワーク9の搬出等が挙げられる。
【0017】
例えばロボット2B,2Cは、6軸の垂直多関節ロボットであり、
図2に示すように、基部11と、旋回部12と、第1アーム13と、第2アーム14と、第3アーム17と、先端部18と、アクチュエータ41,42,43,44,45,46とを有する。基部11は、搬送装置2Aの周囲に設置されている。旋回部12は、鉛直な軸線21まわりに旋回するように基部11上に設けられている。
第1アーム13は、軸線21に交差(例えば直交)する軸線22まわりに揺動するように旋回部12に接続されている。交差は、所謂立体交差のようにねじれの関係にある場合も含む。第2アーム14は、軸線22に実質的に平行な軸線23まわりに揺動するように第1アーム13の先端部に接続されている。第2アーム14は、アーム基部15とアーム端部16とを含む。アーム基部15は、第1アーム13の先端部に接続され、軸線23に交差(例えば直交)する軸線24に沿って延びている。アーム端部16は、軸線24まわりに旋回するようにアーム基部15の先端部に接続されている。第3アーム17は、軸線24に交差(例えば直交)する軸線25まわりに揺動するようにアーム端部16の先端部に接続されている。先端部18は、軸線25に交差(例えば直交)する軸線26まわりに旋回するように第3アーム17の先端部に接続されている。先端部18には、例えはハンド、吸着ノズル、溶接トーチ等の作業ツールが取り付けられる。
【0018】
このように、ロボット2B,2Cは、基部11と旋回部12とを接続する関節31と、旋回部12と第1アーム13とを接続する関節32と、第1アーム13と第2アーム14とを接続する関節33と、第2アーム14においてアーム基部15とアーム端部16とを接続する関節34と、アーム端部16と第3アーム17とを接続する関節35と、第3アーム17と先端部18とを接続する関節36とを有する。
【0019】
アクチュエータ41,42,43,44,45,46は、例えば電動モータ及び減速機を含み、関節31,32,33,34,35,36をそれぞれ駆動する。
例えばアクチュエータ41は、軸線21まわりに旋回部12を旋回させ、軸線22まわりに第1アーム13を揺動させ、軸線23まわりに第2アーム14を揺動させ、軸線24まわりにアーム端部16を旋回させ、軸線25まわりに第3アーム17を揺動させ、軸線26まわりに先端部18を旋回させる。
【0020】
なお、ロボット2B,2Cの具体的な構成は適宜変更可能である。例えばロボット2B,2Cは、上記6軸の垂直多関節ロボットに更に1軸の関節を追加した7軸の冗長型ロボットであってもよく、所謂スカラー型の多関節ロボットであってもよい。
【0021】
図1に戻り、移動型ロボット2Dは、自律走行可能なロボットである。移動型ロボット2Dは、ロボット2B,2Cと同様に構成されたロボット10と、無人搬送車50とを有する。無人搬送車50は、ロボット10を搬送するように自律走行する。無人搬送車50の具体例としては、電動式の所謂AGV(Automated Guided Vehicle)が挙げられる。
【0022】
生産システム1は、環境センサ5を更に備えてもよい。環境センサ5は、複数のローカル機器2の作業環境の状態(以下、「環境状態」という。)を検出する。環境センサ5の具体例としては、例えば複数のローカル機器2の作業環境を撮影するカメラが挙げられる。環境センサ5は、レーザ光等により、所定位置におけるワーク9の有無を検出するセンサであってもよいし、ワーク9のサイズ等を検出するセンサであってもよい。生産システム1は、複数の環境センサ5を備えてもよい。
【0023】
制御システム3は、複数のローカル機器2を制御する。以下、制御システム3の構成を詳細に例示する。
【0024】
〔制御システム〕
制御システム3は、複数のローカル機器2を動作プログラムに基づいて動作させる。制御システム3は、複数のローカルコントローラ100と、上位コントローラ200と、データ収集装置300とを有する。複数のローカルコントローラ100は、複数のローカル機器2をそれぞれ制御する。例えば、複数のローカルコントローラ100のそれぞれは、予め定められた動作プログラムに基づいて対応するローカル機器2を制御する。例えば複数のローカルコントローラ100は、搬送装置2Aを制御するローカルコントローラ100Aと、ロボット2Bを制御するローカルコントローラ100Bと、ロボット2Cを制御するローカルコントローラ100Cと、移動型ロボット2Dを制御するローカルコントローラ100Dとを含む。
【0025】
ローカルコントローラ100Aは、予め準備された搬送制御用の動作プログラムに基づいて、ワーク9を搬送するように搬送装置2Aを制御する。ローカルコントローラ100Bは、予め準備されたロボット制御用の動作プログラムに基づいて、ロボット2Bを動作させるようにロボット2Bのアクチュエータ41,42,43,44,45,46を制御する。ローカルコントローラ100Cは、予め準備されたロボット制御用の動作プログラムに基づいて、ロボット2Cを動作させるようにロボット2Cのアクチュエータ41,42,43,44,45,46を制御する。ローカルコントローラ100Dは、予め準備されたロボット制御用の動作プログラムに基づいて、移動型ロボット2Dを動作させるように、無人搬送車50と、ロボット10のアクチュエータ41,42,43,44,45,46とを制御する。
【0026】
上位コントローラ200は、複数のローカルコントローラ100のそれぞれから、対応するローカル機器2の動作状態を示す情報(以下、「動作情報」という。)を取得し、環境センサ5から環境状態の検出結果(以下、「環境情報」という。)を取得し、取得した動作情報及び環境情報に基づいて、複数のローカルコントローラ100のそれぞれに動作プログラムの実行指令を出力する。
【0027】
上位コントローラ200は、複数のローカルコントローラ100と同期通信する。同期通信とは、一定の周期の同期フレームに同期した同期通信サイクルにて、複数のローカルコントローラ100との通信を繰り返し行うことを意味する。上位コントローラ200は、複数のローカルコントローラ100のそれぞれから動作情報を取得し、環境センサ5から環境情報を取得し、動作情報及び環境情報に基づき、必要に応じ複数のローカルコントローラ100のいずれかに実行指令を出力することと、を同期通信のサイクルに同期して繰り返し実行する。
【0028】
データ収集装置300は、複数のローカルコントローラ100及び上位コントローラ200による複数のローカル機器2の制御中に取得・生成される様々なデータを収集し、後に解析可能なデータベース形式でデータベースに蓄積する。データ収集装置300により蓄積されたデータは、生産システム1における生産性向上又は予防保全等に有効活用することができる。データベースに蓄積すべきデータ内容は、生産システム1の構成変更、又は生産システム1の動作シーケンスの変更等に応じて変わり得る。
【0029】
これに対し、データ収集装置300は、産業機器の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを収集する1以上のデータコレクタと、1以上の種別ごとに1以上の解析用レコードを配列した解析用データを取得し、解析用データのデータ配列に基づいて解析用データから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成するデータアナライザと、1以上の種別ごとに1以上の登録用レコードを配列した登録用データを取得し、登録用データのデータ配列に基づいて登録用データを所定のデータベース形式に変換し、データベースに登録するデータベースアクセサと、データコレクタと、データアナライザと、データベースアクセサとの間におけるデータの流れを制御するアプリケーションマネジャと、を備える。
【0030】
このような構成によれば、データコレクタ及びデータアナライザの少なくともいずれかを追加し、データの流れをアプリケーションマネジャにより変更することで、データベース形式は維持しつつ、データベースへの登録内容を柔軟に拡張することができる。従って、データベースの拡張し易さと、データベースの利用し易さとの両立に有効である。
【0031】
図3に示すように、例えばデータ収集装置300は、コレクタ記憶部310と、アナライザ記憶部320と、データベースアクセサ331と、データベース332と、アプリケーション記憶部333と、アプリケーションマネジャ334とを有する。
【0032】
コレクタ記憶部310は、1以上のデータコレクタ311を記憶する。例えばコレクタ記憶部310は、複数のデータコレクタ311を記憶する。複数のデータコレクタ311のそれぞれは、1以上のローカル機器2の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを収集するプログラムライブラリである。例えば、複数のデータコレクタ311のそれぞれは、実行形式のプログラムに対して動的に結合可能なダイナミックリンクライブラリである。RAWレコードは、データ収集装置300による情報処理が施されていない未加工のレコードである。
【0033】
上述のRAWデータのように、1以上の種別ごとに1以上のレコードを配列したデータを、以下においては「配列構造データ」という。配列構造データによれば、データ内におけるレコードの配置によって、当該レコードの種別を特定することが可能である。
【0034】
配列構造データの具体例としては、カンマ区切りテキストデータ(CSVデータ)、タブ区切りテキストデータ等が挙げられる。CSVデータにおいては、複数種別にそれぞれ対応する複数のレコードを含む一つのデータセットが、改行により区切られて蓄積される。各データセットにおいては、複数のレコードが予め定められた種別順に配列され、レコード同士の間がカンマにより区切られている。各レコードの種別は、対応するデータセットにおいて先頭から何番目に位置しているかによって特定することが可能である。
【0035】
配列構造データは、1以上のレコードの1以上の種別ごとに属性を定義する属性定義データを含んでもよい。属性は、同じ種別に属するレコードに共通の性質を意味する。共通の性質の具体例としては、いかなる物理量をいかなる単位で表した値であるか、等が挙げられる。
【0036】
図4は、配列構造データを例示するテーブルである。
図4に示すように、配列構造データ410は、ヘッダー411と、記録データ412とを含む。記録データ412は、複数の種別ごとに、複数のレコードを、時刻に対応付けて配列したデータである。
【0037】
例えば記録データ412は、複数行のデータセット413を含む。各データセット413は、時刻415と、複数の種別にそれぞれ対応する複数のレコード414とを含む。時刻415の具体例としては、複数のレコード414の取得時刻が挙げられる。各データセット413において、複数のレコード414は左から種別順に配列されている。
【0038】
ヘッダー411は、上述した属性定義データに相当し、複数の系列ごとに属性を定義する。
図4に例示する配列構造データが上記RAWデータである場合、ヘッダー411は、複数の種別ごとに、RAWレコードの属性を定義することとなる。RAWレコードの属性は、ローカル機器2を動作させるための制御指令であってもよいし、ローカル機器2の動作結果の検出値であってもよい。RAWレコードの属性の具体例を以下に示す。
例1-1)アクチュエータ(例えばアクチュエータ41,42,43,44,45,46)の動作量(例えば動作角度)を角度[rad]で表す。
例1-2)アクチュエータの動作速度を角速度[rad/s]で表す。
例1-3)アクチュエータが生じる駆動力をトルク[N・m]で表す。
例1-4)アクチュエータの駆動電流[A]を表す。
例1-5)ローカル機器2に対する制御指令を、所定の座標系における目標座標(X[m]、Y[m]、Z[m])及び目標姿勢(θx[rad]、θy[rad]、θz[rad])で表す。
例1-6)アクチュエータの制御モード(位置制御モード/トルク制御モード)を表す。
【0039】
RAWレコードの属性は、環境センサ5の検出結果に基づく環境情報であってもよい。
【0040】
図3に戻り、複数のデータコレクタ311は、複数のローカル機器2にそれぞれ対応していてもよいし、複数のデータコレクタ311の少なくともいずれかが2以上のローカル機器2に対応していてもよい。複数のデータコレクタ311のそれぞれは、例えば上位コントローラ200からRAWデータを収集してもよいし、対応するローカル機器2のローカルコントローラ100からRAWデータを収集してもよい。複数のデータコレクタ311のそれぞれが上位コントローラ200からRAWデータを収集する場合、統一されたタイマに基づく時刻が付与されたRAWデータを収集することが可能となる。
【0041】
複数のデータコレクタ311のそれぞれは、上位コントローラ200又はローカルコントローラ100が生成したRAWデータを取得してもよく、上位コントローラ200又はローカルコントローラ100から収集したRAWレコードを蓄積してRAWデータを生成してもよい。
【0042】
アナライザ記憶部320は、1以上の一次データアナライザ321を記憶する。例えばアナライザ記憶部320は、複数の一次データアナライザ321を記憶する。
【0043】
複数の一次データアナライザ321のそれぞれは、1以上の種別ごとに1以上の解析用レコードを配列した解析用データを取得し、解析用データのデータ配列に基づいて解析用データから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の一次解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成するプログラムライブラリである。例えば、複数の一次データアナライザ321のそれぞれは、実行形式のプログラムに対して動的に結合可能なダイナミックリンクライブラリである。リザルトレコードは、データ収集装置300による情報処理が施された加工済みのレコードである。
【0044】
解析用データも、1以上の種別ごとに1以上のレコードを配列した配列構造データである。複数の一次データアナライザ321のそれぞれは、複数のデータコレクタ311のいずれかが収集したRAWデータを解析用データとして取得し、RAWデータから所定種別のRAWレコードを解析用レコードとして抽出する。RAWデータが上述の属性定義データを含む場合に、複数の一次データアナライザ321のそれぞれは、RAWデータの属性定義データに基づいて所定種別のRAWレコードを抽出してもよい。
【0045】
RAWデータが、1以上の種別ごとに複数のRAWレコードを時刻に対応付けて配列する場合に、一次データアナライザ321は、時刻順における一つ前のRAWレコードに対し値が変化したRAWレコードを1以上のリザルトレコードとして複数のRAWレコードから抽出してもよい。
【0046】
図5の(a)は、上述したアクチュエータの制御モードのように、二値で表されるRAWレコードの時間変化を表すグラフであり、複数のRAWレコードR10を含んでいる。複数のRAWレコードR10により、制御モードの推移TR10が表される。
【0047】
一次データアナライザ321が、時刻順における一つ前のRAWレコードに対し値が変化したRAWレコードを1以上のリザルトレコードとして複数のRAWレコードから抽出する場合、
図5の(b)に示すように、複数のRAWレコードR10から、二つのRAWレコードR11,R12が抽出することとなる。RAWレコードR11,R12と、これらの「制御モードの変化点を表す」という属性とに基づくことによって、複数のRAWレコードR10が表していたのと同様に制御モードの推移TR10を表すことが可能である。このように、変化点以外のレコードを間引く処理によれば、推移TR10を表すのに必要なデータ量を大幅に削減することができる。
【0048】
一次データアナライザ321が実行する一次解析処理の他の具体例を以下に示す。
例2-1) RAWデータの属性定義データに基づいて、アクチュエータの動作速度を示すRAWレコード(以下、「速度レコード」という。)と、アクチュエータの駆動力を示すRAWレコード(以下、「力レコード」という。)とを抽出する。速度レコードと力レコードとの関係に基づいて、アクチュエータの減速機の劣化度(リザルトレコードの一例)を生成する。一つの種別に対し1以上のリザルトレコードを対応付けて配列した記録データに、一つの種別の属性を「減速機の劣化度」と定義するヘッダーを付与したリザルトデータを生成する。
例2-2) RAWデータの属性定義データに基づいて、アクチュエータの制御モードを示すRAWレコード(以下、「モードレコード」という。)を抽出する。時刻順における一つ前のモードレコードに対し値が変化した1以上のモードレコードをリザルトレコードとして複数のモードレコードから抽出する。一つの種別に対し1以上のリザルトレコードを対応付けて配列した記録データに、一つの種別の属性を「制御モードの変化点を表す」と定義するヘッダーを付与したリザルトデータを生成する。
【0049】
一次データアナライザ321は、1以上の種別ごとに1以上のリザルトレコードを時刻に対応付けて配列するリザルトデータを生成してもよい。リザルトデータにおける時刻は、リザルトレコードの生成時刻であってもよいし、リザルトレコードの生成に用いられたRAWレコードの取得時刻であってもよい。
【0050】
データベースアクセサ331は、1以上の種別ごとに1以上の登録用レコードを配列した登録用データを取得し、登録用データのデータ配列に基づいて登録用データを所定のデータベース形式に変換し、データベース332に登録するプログラムライブラリである。例えばデータベースアクセサ331は、実行形式のプログラムに対して動的に結合可能なダイナミックリンクライブラリである。登録用データも、1以上の種別ごとに1以上のレコードを配列した配列構造データである。
【0051】
データベース形式は、例えば、個々のレコードに構造化タグが付されたタグ構造形式である。タグ構造形式の具体例としては、JSON(JavaScript Object Notation)形式が挙げられる。
【0052】
図6は、配列構造データをタグ構造形式にしたタグ構造データを例示する模式図である。タグ構造データは、複数の構造化レコード420を含む。複数の構造化レコード420のそれぞれは、レコード値422と、レコード値422に付された構造化タグ421とを含む。
【0053】
データベースアクセサ331は、登録用データのデータ配列に基づいて1以上の登録用レコードのそれぞれに構造化タグを付してデータベース332に登録してもよい。登録用データが上述の属性定義データを含む場合に、データベースアクセサ331は、1以上の登録用レコードのそれぞれの種別と、登録用データの属性定義データとに基づいて、1以上の登録用レコードのそれぞれに属性を示す構造化タグを付してもよい。
【0054】
データベースアクセサ331は、1以上の登録用レコードのそれぞれに対し、種別内における配置を更に示す構造化タグを付してもよい。例えば、登録用データが、1以上の種別ごとに複数の登録用レコードを時刻に対応付けて配列する場合に、データベースアクセサ331は、複数の登録用レコードのそれぞれに対し、時刻(種別内における配置の一例)を更に示す構造化タグを付してもよい。
【0055】
例えばデータベースアクセサ331は、複数の一次データアナライザ321のいずれかが生成したリザルトデータを登録用データとして取得し、リザルトデータのデータ配列に基づいてリザルトデータをデータベース形式に変換し、データベース332に登録する。
【0056】
一例として、データベースアクセサ331は、リザルトデータの1以上のリザルトレコードのそれぞれの種別と、リザルトデータの属性定義データとに基づいて、1以上のリザルトレコードのそれぞれに構造化タグを付す。例えば、リザルトデータが、減速機の劣化度に対し、複数のリザルトレコードを時刻に対応付けて配列する場合に、データベースアクセサ331は、複数のリザルトレコードのそれぞれに、属性である「減速機の劣化度」と、時刻とを示す構造化タグを付す。
【0057】
データベースアクセサ331は、複数のデータコレクタ311のいずれかが収集したRAWデータを登録用データとして更に取得し、RAWデータのデータ配列に基づいてRAWデータをデータベース形式に変換し、データベース332に登録してもよい。
【0058】
一例として、データベースアクセサ331は、RAWデータの1以上のRAWレコードのそれぞれの種別と、RAWデータの属性定義データとに基づいて、1以上のRAWレコードのそれぞれに構造化タグを付してもよい。例えば、RAWデータが、「アクチュエータの動作量」、「アクチュエータの動作速度」、「アクチュエータが生じる駆動力」、「アクチュエータの駆動電流」のそれぞれに対し、複数のRAWレコードを時刻に対応付けて配列する場合に、データベースアクセサ331は、「アクチュエータの動作量」に属する複数のRAWレコードのそれぞれに、属性である「アクチュエータの動作量」と、時刻とを示す構造化タグを付す。
また、データベースアクセサ331は、「アクチュエータの動作速度」に属する複数のRAWレコードのそれぞれに、属性である「アクチュエータの動作速度」と、時刻とを示す構造化タグを付す。
【0059】
また、データベースアクセサ331は、「アクチュエータが生じる駆動力」に属する複数のRAWレコードのそれぞれに、属性である「アクチュエータが生じる駆動力」と、時刻とを示す構造化タグを付す。また、データベースアクセサ331は、「アクチュエータの駆動電流」に属する複数のRAWレコードのそれぞれに、属性である「アクチュエータの駆動電流」と、時刻とを示す構造化タグを付す。
【0060】
アプリケーションマネジャ334は、データコレクタ311と、一次データアナライザ321と、アプリケーション記憶部333との間におけるデータの流れを制御する。
【0061】
例えばアプリケーションマネジャ334は、アプリケーション記憶部333に格納されたアプリケーションプログラムに基づいて、データコレクタ311と、一次データアナライザ321と、アプリケーション記憶部333との間における配列構造データの受け渡しを制御する。配列構造データの受け渡しは、配列構造データを所定の記憶領域に記憶させ、当該記憶領域の参照を引き渡すことを含む。アプリケーションプログラムは、例えば実行形式のプログラムである。
【0062】
一例として、アプリケーションプログラムは、以下の処理を含んでもよい。
処理1-1)所定時期に複数のデータコレクタ311のいずれかを起動し、起動したデータコレクタ311が収集したRAWデータを第1記憶領域に記憶させる。
処理1-2)解析用データの記憶領域として、第1記憶領域の参照を引き渡しつつ、複数の一次データアナライザ321のいずれかを起動し、起動した一次データアナライザ321が生成したリザルトレコードを第2記憶領域に記憶させる。
処理1-3)登録用データの記憶領域として、第2記憶領域の参照を引き渡しつつ、データベースアクセサ331を起動し、起動したデータベースアクセサ331によってリザルトデータをデータベース形式に変換してデータベース332に登録させる。
【0063】
この場合、アプリケーションマネジャ334は、データコレクタ311が収集したRAWデータを解析用データとして一次データアナライザ321に取得させ、一次データアナライザ321が生成したリザルトデータを登録用データとしてデータベースアクセサ331に取得させることとなる。
【0064】
アプリケーションプログラムは、以下の処理を更に含んでもよい。
処理2-1)登録用データの記憶領域として、第1記憶領域の参照を引き渡しつつ、データベースアクセサ331を起動し、起動したデータベースアクセサ331によってRAWレコードをデータベース形式に変換してデータベース332に登録させる。
【0065】
この場合、アプリケーションマネジャ334は、データコレクタ311が収集したRAWデータを登録用データとしてデータベースアクセサ331に更に取得させることとなる。
【0066】
アプリケーションマネジャ334が、RAWデータをデータベースアクセサ331に取得させるか否かは、アプリケーションプログラムが処理2-1を含むか否かによって定まる。そこで、アプリケーション記憶部333は、RAWデータの登録要否を定める要否設定を記憶する設定記憶部の一例である。また、アプリケーションマネジャ334は、RAWデータを登録用データとしてデータベースアクセサ331に取得させるか否かを設定記憶部の要否設定に基づいて切り替えていることとなる。
【0067】
アプリケーションプログラムは、処理2-1の実行の要否を、一次データアナライザ321が生成した1以上のリザルトレコードに基づいて切り替えるように構成されていてもよい。この場合、アプリケーションマネジャ334は、RAWデータを登録用データとしてデータベースアクセサ331に取得させるか否かを、一次データアナライザ321が生成した1以上のリザルトレコードに基づいて切り替えることとなる。
【0068】
一例として、アプリケーションプログラムは、一次データアナライザ321が生成した1以上のリザルトレコードに異常が認められた場合に処理2-1を実行要とし、一次データアナライザ321が生成した1以上のリザルトレコードに異常が認められない場合には処理2-1を実行不要とするように構成されていてもよい。
【0069】
データ収集装置300は、データベースアクセサ335を更に備えてもよく、アナライザ記憶部320は1以上の二次データアナライザ322を更に記憶してもよい。アナライザ記憶部320は複数の二次データアナライザ322を記憶してもよい。
【0070】
データベースアクセサ335(第2データベースアクセサ)は、データベース332から読み出したデータに基づいて、1以上の種別ごとに1以上の二次レコードを配列した二次データを生成する。二次データも、1以上の種別ごとに1以上のレコードを配列した配列構造データである。
【0071】
例えばデータベースアクセサ335は、データベース332から複数の構造化レコードを含むデータを読み出し、各構造化レコードが含む構造化タグに基づいて配列構造データの属性定義データを生成し、各構造化レコードが含むレコード値を、属性定義データに基づいて1以上の種別ごとに配列する。
【0072】
複数の二次データアナライザ322(第2データアナライザ)のそれぞれは、1以上の種別ごとに1以上の二次解析用レコードを配列した二次解析用データを取得し、二次解析用データのデータ配列に基づいて二次解析用データから所定種別の二次解析用レコードを抽出し、抽出した二次解析用レコードに対し所定の二次解析処理(第2解析処理)を行って1以上の二次リザルトレコードを生成し、1以上の種別ごとに1以上の二次リザルトレコードを配列した二次リザルトデータを生成するプログラムライブラリである。
【0073】
例えば、複数の二次データアナライザ322のそれぞれは、データベースアクセサ335が生成した二次データを二次解析用データとして取得し、二次データのデータ配列に基づいて二次データから所定種別の二次解析用レコードを抽出し、抽出した二次解析用レコードに対し二次解析処理を行って1以上の二次リザルトレコードを生成し、1以上の種別ごとに1以上の二次リザルトレコードを配列した二次リザルトデータを生成する。
【0074】
データベースアクセサ335及び二次データアナライザ322が実行する二次解析処理の具体例を以下に示す。
例3-1)データベースアクセサ335は、所定期間内の時刻と、上述の「減速機の劣化度」とを示す構造化タグが付与された複数の構造化タグを含むデータをデータベース332から読み出す。データベースアクセサ335は、読み出した複数の構造化タグのレコードを時刻に対応付けて配列した記録データと、種別の属性を「減速機の劣化度」とする属性定義データとを含む二次レコードを生成する。二次データアナライザ322は、二次レコードから、減速機の劣化度を示す二次解析用レコードを抽出する。二次データアナライザ322は、二次解析用レコードに基づいて、減速機の劣化度が所定レベルに達するメンテナンス推奨時期を二次リザルトレコードとして導出する。二次データアナライザ322は、一つの種別に対し1以上のリザルトレコードを対応付けて配列した記録データに、一つの種別の属性を「減速機のメンテナンス推奨時期」と定義するヘッダーを付与した二次リザルトデータを生成する。
【0075】
図7は、メンテナンス推奨時期の導出を模式的に示すためのグラフである。
図7の横軸は経過時間を表し、縦軸は減速機の劣化度を表す。二次データアナライザ322は、複数のリザルトレコードR20に基づいて、劣化傾向ラインTL1を導出し、メンテナンスを推奨するための閾値TV1と、劣化傾向ラインTL1とが交わる経過時間t1をメンテナンス推奨時期として導出する。
【0076】
データ収集装置300がデータベースアクセサ335を更に備え、アナライザ記憶部320が二次データアナライザ322を更に記憶する場合、上記アプリケーションプログラムは以下の処理を更に含んでもよい。
処理3-1)所定時期にデータベースアクセサ335を起動し、起動したデータベースアクセサ335が生成した二次データを第3記憶領域に記憶させる。
処理3-2)二次解析用データの記憶領域として、第3記憶領域の参照を引き渡しつつ、複数の二次データアナライザ322のいずれかを起動し、起動した二次データアナライザ322が生成した二次リザルトレコードを第4記憶領域に記憶させる。
処理3-3)登録用データの記憶領域として、第4記憶領域の参照を引き渡しつつ、データベースアクセサ331を起動し、起動したデータベースアクセサ331によって二次リザルトデータをデータベース形式に変換してデータベース332に登録させる。
【0077】
この場合、アプリケーションマネジャ334は、データベースアクセサ335が生成した二次データを二次解析用データとして二次データアナライザ322に取得させ、二次データアナライザ322が生成した二次リザルトデータを登録用データとしてデータベースアクセサ331に取得させることとなる。データベースアクセサ331は、二次リザルトデータを更に取得し、二次リザルトデータのデータ配列に基づいて二次リザルトデータをデータベース形式に変換し、データベースに更に登録することとなる。
【0078】
アナライザ記憶部320は、二次データアナライザ322の識別情報と、二次解析処理に必要なレコード種別とを対応付けて記憶してもよい。この場合、アプリケーションマネジャ334は、アナライザ記憶部320において二次データアナライザ322に対応付けられたレコード種別に基づいてデータベース332からの読み出し対象を指定してデータベースアクセサ335に二次データを生成させてもよい。
【0079】
データ収集装置300は、プログラム登録部336を更に有してもよい。プログラム登録部336は、ユーザが作成した新たなアプリケーションプログラムを取得してアプリケーション記憶部333に記憶させる。
【0080】
アプリケーションプログラムが用いるデータコレクタ311、一次データアナライザ321、二次データアナライザ322、データベースアクセサ331、データベースアクセサ335等はデータ収集装置300が保持している。このため、データコレクタ311、一次データアナライザ321、二次データアナライザ322、データベースアクセサ331、データベースアクセサ335の組み合わせと、配列構造データの流れと、実行時期等を定義する簡単な作業によって、アプリケーションプログラムを作成することができる。
【0081】
上述のように、アプリケーションプログラムは、RAWデータの登録要否を定める要否設定を含む。このため、プログラム登録部336は、RAWデータの登録要否を定める要否設定を取得して設定記憶部に記憶させる設定取得部の一例である。
【0082】
プログラム登録部336は、ユーザが作成したデータコレクタ311を取得してコレクタ記憶部310に記憶させることを更に実行するように構成されていてもよい。この場合、ローカル機器2の追加等に応じてデータコレクタ311を追加し、収集するRAWデータを柔軟に拡張することができる。
【0083】
プログラム登録部336は、ユーザが作成した一次データアナライザ321、又は二次データアナライザ322を取得してアナライザ記憶部320に記憶させることを更に実行するように構成されていてもよい。この場合、一次解析処理及び二次解析処理の内容を柔軟に改変することができる。
【0084】
図8は、制御システム3のハードウェア構成を例示するブロック図である。
図8に示すように、ローカルコントローラ100は、回路190を有する。回路190は、一つ又は複数のプロセッサ191と、メモリ192と、ストレージ193と、通信ポート194と、ドライバ回路195とを含む。ストレージ193は、例えば不揮発性の半導体メモリ等、コンピュータによって読み取り可能な記憶媒体を有する。ストレージ193は、動作プログラムに基づくローカル機器2の制御をローカルコントローラ100に実行させるための制御プログラムを記憶している。
【0085】
メモリ192は、ストレージ193の記憶媒体からロードしたプログラム及びプロセッサ191による演算結果を一時的に記憶する。プロセッサ191は、メモリ192と協働して上記プログラムを実行することで、ローカルコントローラ100の各機能ブロックを構成する。通信ポート194は、プロセッサ191からの指令に従って、第1のネットワーク回線NW1を介して、上位コントローラ200との間で通信を行う。ドライバ回路195は、プロセッサ191からの指令に従って、ローカル機器2に駆動電力を出力する。
【0086】
上位コントローラ200は、回路290を有する。回路290は、一つ又は複数のプロセッサ291と、メモリ292と、ストレージ293と、通信ポート294,295と、入出力ポート296を含む。ストレージ293は、例えば不揮発性の半導体メモリ等、コンピュータによって読み取り可能な記憶媒体を有する。ストレージ293は、動作情報及び環境情報の取得と、動作情報及び環境情報に基づく動作プログラムの実行指令の出力とを上位コントローラ200に実行させるためのプログラムを記憶している。
【0087】
メモリ292は、ストレージ293の記憶媒体からロードしたプログラム及びプロセッサ291による演算結果を一時的に記憶する。プロセッサ291は、メモリ292と協働して上記プログラムを実行することで、上位コントローラ200の各機能ブロックを構成する。通信ポート294は、プロセッサ291からの指令に従って、第1のネットワーク回線NW1を介して、ローカルコントローラ100との間で通信を行う。通信ポート295は、プロセッサ291からの指令に従って、第2のネットワーク回線NW2を介して、データ収集装置300との間で通信を行う。入出力ポート296は、プロセッサ291からの指令に従って、環境センサ5との間で情報の入出力を行う。
【0088】
データ収集装置300は、回路390を有する。回路390は、一つ又は複数のプロセッサ391と、メモリ392と、ストレージ393と、通信ポート394と、表示デバイス395と、入力デバイス396とを含む。ストレージ393は、例えば不揮発性の半導体メモリ等、コンピュータによって読み取り可能な記憶媒体を有する。ストレージ393は、プログラムの記憶部として、コレクタ記憶部310と、アナライザ記憶部320と、アプリケーション記憶部333と、データベースアクセサ331及びデータベースアクセサ335の記憶部と、アプリケーションマネジャ334及びプログラム登録部336をデータ収集装置300に構成させるためのベースプログラム(例えばオペレーティングシステム)の記憶部とを更に含む。更にストレージ393は、データベース332の記憶部を含む。
【0089】
メモリ392は、ストレージ393の記憶媒体からロードしたプログラム及びプロセッサ391による演算結果を一時的に記憶する。プロセッサ391は、メモリ392と協働して上記プログラムを実行することで、データ収集装置300の各機能ブロックを構成する。通信ポート394は、プロセッサ391からの指令に従って、第2のネットワーク回線NW2を介して、上位コントローラ200との間で通信を行う。表示デバイス395及び入力デバイス396は、データ収集装置300のユーザインタフェースとして機能する。表示デバイス395は、例えば液晶モニタ等を含み、ユーザに対する情報表示に用いられる。入力デバイス396は、例えばキーパッド等であり、ユーザによる入力情報を取得する。表示デバイス395及び入力デバイス396は、所謂タッチパネルのように一体化されていてもよい。表示デバイス395及び入力デバイス396は、データ収集装置300に接続される外部機器に設けられていてもよいし、データ収集装置300に組み込まれていてもよい。
【0090】
なお、回路190,290,390は、必ずしもプログラムにより各機能を構成するものに限られない。例えば回路190,290,390は、専用の論理回路又はこれを集積したASIC(Application Specific Integrated Circuit)により少なくとも一部の機能を構成してもよい。
【0091】
〔データ収集手順〕
続いて、データ収集方法の一例として、データ収集装置300が実行するデータ収集手順を詳細に例示する。この手順は、1以上の種別ごとに1以上のRAWレコードを配列したRAWデータを産業機器から収集することと、RAWデータを取得し、RAWデータのデータ配列に基づいてRAWデータから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成することと、リザルトデータを取得し、リザルトデータのデータ配列に基づいてリザルトデータを所定のデータベース形式に変換し、データベースに登録することと、を含む。
【0092】
一例として、データ収集手順は、プログラム登録手順と、一次解析手順と、RAWデータの登録手順と、二次解析手順とを含む。以下、各手順を詳細に例示する。
【0093】
(プログラム登録手順)
図9に示すように、データ収集装置300は、まずステップS01,S02を実行する。ステップS01では、プログラム登録部336が、プログラミング画面を表示デバイス395に表示させる。プログラミング画面は、例えば、データコレクタ311、一次データアナライザ321、二次データアナライザ322、データベースアクセサ331、データベースアクセサ335の組み合わせと、配列構造データの流れと、実行時期等を定義するアプリケーション定義領域と、アプリケーションプログラムの登録を要求するアプリケーション登録操作部(例えばボタン)と、データコレクタ311の登録を要求するコレクタ登録操作部(例えばボタン)と、一次データアナライザ又は二次データアナライザの登録を要求するアナライザ登録操作部(例えばボタン)とを含む。ステップS02では、アプリケーション登録操作部により、アプリケーションプログラムの登録が要求されたか否かをプログラム登録部336が確認する。
【0094】
ステップS02においてアプリケーションプログラムの登録が要求されたと判定した場合、データ収集装置300はステップS03,S04を実行する。ステップS03では、プログラム登録部336が、アプリケーション定義領域への入力内容に基づいて、アプリケーションプログラムを生成する。ステップS04では、プログラム登録部336が、アプリケーションプログラムをアプリケーション記憶部333に記憶させる。
【0095】
ステップS02においてアプリケーションプログラムの登録が要求されていないと判定した場合、データ収集装置はステップS05を実行する。ステップS05では、コレクタ登録操作部により、データコレクタ311の登録が要求されたか否かをプログラム登録部336が確認する。
【0096】
ステップS05においてデータコレクタ311の登録が要求されたと判定した場合、データ収集装置はステップS06,S07,S08を実行する。ステップS06では、プログラム登録部336が、予め生成された1以上の新たなデータコレクタ311を選択させるためのコレクタ選択画面を表示デバイス395に表示させる。ステップS07では、プログラム登録部336が、コレクタ選択画面における選択入力を待機する。ステップS08では、プログラム登録部336が、コレクタ選択画面において選択された1以上の新たなデータコレクタ311を、コレクタ記憶部310に記憶させる。
【0097】
ステップS05においてデータコレクタ311の登録が要求されていないと判定した場合、データ収集装置300はステップS11を実行する。ステップS11では、アナライザ登録操作部により、一次データアナライザ321又は二次データアナライザ322の登録が要求されたか否かを、プログラム登録部336が確認する。
【0098】
ステップS11において一次データアナライザ321又は二次データアナライザ322の登録が要求されたと判定した場合、データ収集装置300はステップS12,S13,S14を実行する。ステップS12では、プログラム登録部336が、予め生成された1以上の新たな一次データアナライザ321又は二次データアナライザ322を選択させるためのアナライザ選択画面を表示デバイス395に表示させる。ステップS13では、プログラム登録部336が、アナライザ選択画面における選択入力を待機する。
【0099】
ステップS14では、プログラム登録部336が、アナライザ選択画面において選択された1以上の新たな一次データアナライザ321又は二次データアナライザ322を、アナライザ記憶部320に記憶させる。二次データアナライザ322をアナライザ記憶部320に記憶させる際に、プログラム登録部336は、二次データアナライザ322の識別情報と、二次解析処理に必要なレコード種別とを対応付けてアナライザ記憶部320に記憶させてもよい。
【0100】
ステップS04,S08,S14の次に、データ収集装置300はステップS15を実行する。ステップS11において一次データアナライザ321及び二次データアナライザ322の登録が要求されていないと判定した場合も、データ収集装置300はステップS15を実行する。ステップS15では、プログラミング画面において、プログラミングを完了する入力がなされているか否かをプログラム登録部336が確認する。
【0101】
ステップS15においてプログラミングを完了する入力がなされていないと判定した場合、データ収集装置300は処理をステップS02に戻す。ステップS15においてプログラミングを完了する入力がなされたと判定した場合、プログラム登録手順が完了する。
【0102】
(一次解析手順)
上述の説明から明らかであるように、データ収集装置300は複数種類の一次解析処理を実行し得る。
図10は、いずれか一つの一次解析処理を実行する手順を例示するフローチャートである。以下においては、複数種類の一次解析処理のうち、
図10のフローチャートが対象とする一つの一次解析処理を単に「一次解析処理」という。
【0103】
図10に示すように、データ収集装置300は、まずステップS21,S22,S23,S24,S25,S26,S27,S28を実行する。ステップS21では、アプリケーションマネジャ334が、一次解析処理の実行時刻を待機する。
【0104】
ステップS22では、アプリケーションマネジャ334が、複数のデータコレクタ311のうち、一次解析処理に必要なRAWデータを収集するための1以上のデータコレクタ311を起動させる。起動した1以上のデータコレクタ311のそれぞれは、RAWデータを収集する。ステップS23では、アプリケーションマネジャ334が、ステップS22において収集されたRAWデータを解析用データとして、一次解析処理用の一次データアナライザ321を起動させる。起動した一次データアナライザ321は、指定されたRAWデータを取得し、RAWデータから一次解析用レコードを抽出する。
【0105】
ステップS24では、一次データアナライザ321が、ステップS23で抽出した解析用レコードに対し一次解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成する。ステップS25では、アプリケーションマネジャ334が、ステップS24において生成されたリザルトデータを登録用データとして、データベースアクセサ331を起動させる。データベースアクセサ331は、指定されたリザルトデータを取得し、リザルトデータから最初のリザルトレコードを読み出す。
【0106】
ステップS26では、データベースアクセサ331が、リザルトデータのデータ配列に基づいてリザルトレコードに構造化タグを付して構造化レコードを生成する。ステップS27では、データベースアクセサ331が、構造化レコードをデータベース332に記憶させる。ステップS28では、リザルトデータ内の全てのリザルトレコードの登録が完了したか否かを、データベースアクセサ331が確認する。
【0107】
ステップS28においてリザルトデータ内に未登録のリザルトレコードが残っていると判定した場合、データ収集装置300はステップS29を実行する。ステップS29では、データベースアクセサ331が、リザルトデータから次のリザルトレコードを読み出す。その後、データ収集装置300は処理をステップS26に戻す。以後、リザルトデータ内の全てのリザルトレコードの登録が完了するまで、リザルトレコードの読み出しと、構造化と、登録とが繰り返される。
【0108】
ステップS28においてリザルトデータ内の全てのリザルトレコードの登録が完了したと判定した場合、一次解析手順が完了する。データ収集装置300は、以上の処理を繰り返し実行する。
【0109】
(RAWデータの登録手順)
上述の説明から明らかであるように、データ収集装置300は複数種類のRAWデータを取得し得る。
図11は、いずれか一つのRAWデータを登録する手順を例示するフローチャートである。以下においては、複数種類のRAWデータのうち、
図11のフローチャートが対象とする一つのRAWデータを単に「RAWデータ」という。
【0110】
図11に示すように、データ収集装置300は、まずステップS31,S32,S33,S34,S35,S36を実行する。ステップS31では、アプリケーションマネジャ334が、RAWデータの収集時刻を待機する。ステップS32では、アプリケーションマネジャ334が、RAWデータを収集するためのデータコレクタ311を起動させる。起動したデータコレクタ311のそれぞれは、RAWデータを収集する。
【0111】
ステップS33では、アプリケーションマネジャ334が、ステップS32において収集されたRAWデータを登録用データとして、データベースアクセサ331を起動させる。データベースアクセサ331は、指定されたRAWデータを取得し、RAWデータから最初のRAWレコードを読み出す。
【0112】
ステップS34では、データベースアクセサ331が、RAWデータのデータ配列に基づいてRAWレコードに構造化タグを付して構造化レコードを生成する。ステップS35では、データベースアクセサ331が、構造化レコードをデータベース332に記憶させる。ステップS36では、RAWデータ内の全てのRAWレコードの登録が完了したか否かを、データベースアクセサ331が確認する。
【0113】
ステップS36においてRAWデータ内に未登録のRAWレコードが残っていると判定した場合、データ収集装置300はステップS37を実行する。ステップS37では、データベースアクセサ331が、RAWデータから次のRAWレコードを読み出す。その後、データ収集装置300は処理をステップS34に戻す。以後、RAWデータ内の全てのRAWレコードの登録が完了するまで、RAWレコードの読み出しと、構造化と、登録とが繰り返される。
【0114】
ステップS36においてRAWデータ内の全てのRAWレコードの登録が完了したと判定した場合、RAWデータの登録手順が完了する。データ収集装置300は、以上の処理を繰り返し実行する。
【0115】
(二次解析手順)
上述の説明から明らかであるように、データ収集装置300は複数種類の二次解析処理を実行し得る。
図12は、いずれか一つの二次解析処理を実行する手順を例示するフローチャートである。以下においては、複数種類の二次解析処理のうち、
図12のフローチャートが対象とする一つの二次解析処理を単に「二次解析処理」という。
【0116】
図12に示すように、データ収集装置300は、まずステップS41,S42,S43,S44,S45,S46,S47,S48を実行する。ステップS41では、アプリケーションマネジャ334が、二次解析処理の実行時刻を待機する。
【0117】
ステップS42では、アプリケーションマネジャ334が、二次解析処理に必要なレコード種別に基づいてデータベース332からの読み出し対象を指定してデータベースアクセサ335に二次データを生成させる。例えばアプリケーションマネジャ334は、アナライザ記憶部320において、二次解析処理用の二次データアナライザ322に対応付けられたレコード種別に基づいてデータベース332からの読み出し対象を指定する。
【0118】
ステップS43では、アプリケーションマネジャ334が、ステップS42において生成された二次データを二次解析用データとして、二次解析処理用の二次データアナライザ322を起動させる。起動した二次データアナライザ322は、指定された二次データを取得し、二次データから二次解析用レコードを抽出する。
【0119】
ステップS44では、二次データアナライザ322が、ステップS43で抽出した二次解析用レコードに対し二次解析処理を行って1以上の二次リザルトレコードを生成し、1以上の種別ごとに1以上の二次リザルトレコードを配列した二次リザルトデータを生成する。
【0120】
ステップS45では、アプリケーションマネジャ334が、ステップS44において生成された二次リザルトデータを登録用データとして、データベースアクセサ331を起動させる。データベースアクセサ331は、指定された二次リザルトデータを取得し、二次リザルトデータから最初の二次リザルトレコードを読み出す。
【0121】
ステップS46では、データベースアクセサ331が、二次リザルトデータのデータ配列に基づいて二次リザルトレコードに構造化タグを付して構造化レコードを生成する。ステップS47では、データベースアクセサ331が、構造化レコードをデータベース332に記憶させる。ステップS48では、二次リザルトデータ内の全ての二次リザルトレコードの登録が完了したか否かを、データベースアクセサ331が確認する。
【0122】
ステップS48において二次リザルトデータ内に未登録の二次リザルトレコードが残っていると判定した場合、データ収集装置300はステップS49を実行する。ステップS49では、データベースアクセサ331が、二次リザルトデータから次の二次リザルトレコードを読み出す。その後、データ収集装置300は処理をステップS46に戻す。以後、二次リザルトデータ内の全ての二次リザルトレコードの登録が完了するまで、二次リザルトレコードの読み出しと、構造化と、登録とが繰り返される。
【0123】
ステップS48において二次リザルトデータ内の全ての二次リザルトレコードの登録が完了したと判定した場合、二次解析手順が完了する。データ収集装置300は、以上の処理を繰り返し実行する。
【0124】
(RAWデータの登録手順の変形例)
上述したように、アプリケーションマネジャ334は、RAWデータを登録用データとしてデータベースアクセサ331に取得させるか否かを、一次データアナライザ321が生成した1以上のリザルトレコードに基づいて切り替えてもよい。この場合のRAWデータの登録手順を例示する。
【0125】
図13に示すように、データ収集装置300は、まずステップS21~S29と同様の一次解析手順であるステップS51~S59を実行する。その後、データ収集装置300はステップS61を実行する。ステップS61では、アプリケーションマネジャ334が、一次解析処理において一次データアナライザ321が生成した1以上のリザルトレコードに基づいて、RAWデータの登録要否を確認する。
【0126】
ステップS61においてRAWデータの登録が必要であると判定した場合、データ収集装置300は、ステップS33~S37と同様のRAWデータ登録手順であるステップS63~S67を実行する。ステップS61においてRAWデータの登録が不要であると判定した場合、データ収集装置300は、RAWデータの登録を省略する。以上でRAWデータの登録手順が完了する。
【0127】
〔本実施形態の効果〕
以上に説明したように、データ収集装置300は、産業機器の動作に関する1以上のRAWレコードを1以上の種別ごとに配列したRAWデータを収集する1以上のデータコレクタ311と、1以上の種別ごとに1以上の解析用レコードを配列した解析用データを取得し、解析用データのデータ配列に基づいて解析用データから所定種別の解析用レコードを抽出し、抽出した解析用レコードに対し所定の解析処理を行って1以上のリザルトレコードを生成し、1以上の種別ごとに1以上のリザルトレコードを配列したリザルトデータを生成する一次データアナライザ321と、1以上の種別ごとに1以上の登録用レコードを配列した登録用データを取得し、登録用データのデータ配列に基づいて登録用データを所定のデータベース形式に変換し、データベース332に登録するデータベースアクセサ331と、データコレクタ311と、一次データアナライザ321と、データベースアクセサ331との間におけるデータの流れを制御するアプリケーションマネジャ334と、を備える。
【0128】
このデータ収集装置300によれば、データコレクタ311及び一次データアナライザ321の少なくともいずれかを追加し、データの流れをアプリケーションマネジャ334により変更することで、データベース形式は維持しつつ、データベース332への登録内容を柔軟に拡張することができる。従って、データベース332の拡張し易さと、データベース332の利用し易さとの両立に有効である。
【0129】
データベース形式は、個々のレコードに構造化タグが付されたタグ構造形式であり、データベースアクセサ331は、登録用データのデータ配列に基づいて1以上の登録用レコードのそれぞれに構造化タグを付してデータベース332に登録してもよい。この場合、タグ構造形式でのデータ登録によって、データベース332の利用し易さが更に向上する。
【0130】
登録用データは、1以上の登録用レコードの1以上の種別ごとに属性を定義する属性定義データを含み、データベースアクセサ331は、1以上の登録用レコードのそれぞれの種別と、登録用データの属性定義データとに基づいて、1以上の登録用レコードのそれぞれに属性を示す構造化タグを付してもよい。この場合、個々のレコードに対し、より適切な構造化タグを容易に付すことができる。
【0131】
データベースアクセサ331は、1以上の登録用レコードのそれぞれに対し、種別内における配置を更に示す構造化タグを付してもよい。この場合、個々のレコードに対し、より適切な構造化タグを容易に付すことができる。
【0132】
アプリケーションマネジャ334は、データコレクタ311が収集したRAWデータを解析用データとして一次データアナライザ321に取得させ、一次データアナライザ321が生成したリザルトデータを登録用データとしてデータベースアクセサ331に取得させてもよい。この場合、一度データベース332に登録されたデータを読み出して解析処理を行うのに比べ、データベース332に対する処理負担を軽減することができる。
【0133】
RAWデータは、1以上のRAWレコードの1以上の種別ごとに属性を定義する属性定義データを含み、一次データアナライザ321は、RAWデータの属性定義データに基づいて所定種別の解析用レコードを抽出してもよい。この場合、解析用レコードを容易に抽出することができる。
【0134】
アプリケーションマネジャ334は、データコレクタ311が収集したRAWデータを登録用データとしてデータベースアクセサ331に更に取得させてもよい。この場合、リザルトデータに加え、RAWデータもデータベース332に登録しておくことによって、将来生じ得る様々なニーズに対し、柔軟に適応可能なデータベース332を構築することができる。
【0135】
データ収集装置300は、RAWデータの登録要否を定める要否設定を取得してアプリケーション記憶部333(設定記憶部)に記憶させるプログラム登録部336(設定取得部)を更に備え、アプリケーションマネジャ334は、データコレクタ311が収集したRAWデータを登録用データとしてデータベースアクセサ331に取得させるか否かを設定記憶部の要否設定に基づいて切り替えてもよい。この場合、ユーザが必要としないRAWデータのデータベース登録を省略することで、データベース332に対する処理負担を更に軽減することができる。
【0136】
アプリケーションマネジャ334は、データコレクタ311が収集したRAWデータを登録用データとしてデータベースアクセサ331に取得させるか否かを、一次データアナライザ321が生成した1以上のリザルトレコードに基づいて切り替えてもよい。この場合、RAWデータのより適切な取捨選択をサポートすることができる。
【0137】
データ収集装置300は、データベース332から読み出したデータに基づいて、1以上の種別ごとに1以上の二次レコードを配列した二次データを生成するデータベースアクセサ335と、1以上の種別ごとに1以上の二次解析用レコードを配列した二次解析用データを取得し、二次解析用データのデータ配列に基づいて二次解析用データから所定種別の二次解析用レコードを抽出し、抽出した二次解析用レコードに対し所定の第2解析処理を行って1以上の二次リザルトレコードを生成し、1以上の種別ごとに1以上の二次リザルトレコードを配列した二次リザルトデータを生成する二次データアナライザ322と、を更に備え、アプリケーションマネジャ334は、データベースアクセサ335が生成した二次データを二次解析用データとして二次データアナライザ322に取得させ、二次データアナライザ322が生成した二次リザルトデータを登録用データとしてデータベースアクセサ331に取得させてもよい。この場合、データベース332へのデータの蓄積状況に応じた多段階のデータ解析を可能とし、データベース332の更なる有効活用を促すことができる。
【0138】
データ収集装置300は、二次データアナライザ322の識別情報と、第2解析処理に必要なレコード種別とを対応付けて記憶するアナライザ記憶部320を更に備え、アプリケーションマネジャ334は、アナライザ記憶部320において二次データアナライザ322に対応付けられたレコード種別に基づいてデータベース332からの読み出し対象を指定してデータベースアクセサ335に二次データを生成させてもよい。この場合、二次解析の内容に従って、データベース332から読み出すレコードを絞り込むことによって、データベース332に対する処理負担を更に軽減することができる。
【0139】
データコレクタ311は、1以上の種別ごとに、複数のRAWレコードを時刻に対応付けて配列したRAWデータを収集し、一次データアナライザ321は、時刻順における一つ前のRAWレコードに対し値が変化したRAWレコードを1以上のリザルトレコードとして複数のRAWレコードから抽出してもよい。この場合、複数のRAWレコードが含む情報量の低下を抑制しつつ、データベース332に対する処理負担を容易に軽減することができる。
【0140】
以上、実施形態について説明したが、本開示は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
【符号の説明】
【0141】
2…ローカル機器(産業機器)、300…データ収集装置、311…データコレクタ、320…アナライザ記憶部、321…一次データアナライザ(データアナライザ)、322…二次データアナライザ(第2データアナライザ)、331…データベースアクセサ、332…データベース、333…アプリケーション記憶部(設定記憶部)、334…アプリケーションマネジャ、335…データベースアクセサ(第2データベースアクセサ)、336…プログラム登録部(設定取得部)。