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

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

▶ 株式会社MAZINの特許一覧

特開2024-162158情報処理装置、情報処理方法、及びプログラム
<>
  • 特開-情報処理装置、情報処理方法、及びプログラム 図1
  • 特開-情報処理装置、情報処理方法、及びプログラム 図2
  • 特開-情報処理装置、情報処理方法、及びプログラム 図3A
  • 特開-情報処理装置、情報処理方法、及びプログラム 図3B
  • 特開-情報処理装置、情報処理方法、及びプログラム 図4
  • 特開-情報処理装置、情報処理方法、及びプログラム 図5
  • 特開-情報処理装置、情報処理方法、及びプログラム 図6
  • 特開-情報処理装置、情報処理方法、及びプログラム 図7
  • 特開-情報処理装置、情報処理方法、及びプログラム 図8
  • 特開-情報処理装置、情報処理方法、及びプログラム 図9
  • 特開-情報処理装置、情報処理方法、及びプログラム 図10
  • 特開-情報処理装置、情報処理方法、及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162158
(43)【公開日】2024-11-21
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G05B 19/18 20060101AFI20241114BHJP
【FI】
G05B19/18 W
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023077444
(22)【出願日】2023-05-09
(71)【出願人】
【識別番号】520359240
【氏名又は名称】株式会社MAZIN
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】角屋 貴則
(72)【発明者】
【氏名】岡 宏樹
【テーマコード(参考)】
3C269
【Fターム(参考)】
3C269AB02
3C269AB31
3C269BB07
3C269BB12
3C269EF39
3C269MN07
3C269MN08
3C269MN27
3C269MN29
3C269MN34
(57)【要約】
【課題】工作機械において取得された時系列データにおいて、正確な異常検出を行うことができる1サイクルを特定することができる情報処理装置を提供する。
【解決手段】情報処理装置2は、工作機械1における工具の切り替えに関連する第1の時系列データを受け付ける受付部21と、第1の時系列データにおいて工具の切替時点を検出し、その検出結果を用いて、工作機械1において繰り返される加工の1サイクルの開始時点から工具の切り替えをカウントして1サイクルの終了時点を特定することによって1サイクルを特定する特定部23とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
工作機械における工具の切り替えに関連する第1の時系列データを受け付ける受付部と、
前記第1の時系列データにおいて工具の切替時点を検出し、当該検出結果を用いて、前記工作機械において繰り返される加工の1サイクルの開始時点から工具の切り替えをカウントして1サイクルの終了時点を特定することによって1サイクルを特定する特定部と、を備えた情報処理装置。
【請求項2】
前記特定部は、前記第1の時系列データにおいて、1サイクルの開始時点からの工具の切り替えのカウント値が、1サイクルにおける工具の切替回数に等しくなった時点である1サイクルの終了時点を特定する、請求項1記載の情報処理装置。
【請求項3】
前記受付部は、前記工作機械における主軸の回転及びサーボモータの回転の少なくとも一方に関連する第2の時系列データをも受け付け、
前記特定部は、前記第1の時系列データにおいて、1サイクルの開始時点からの工具の切り替えのカウント値が、1サイクルにおける工具の切替回数に等しくなった時点より以前において、前記第2の時系列データにおいて加工の終了を検出した最後の時点である1サイクルの終了時点を特定する、請求項1記載の情報処理装置。
【請求項4】
受付部と、特定部とを用いて処理される情報処理方法であって、
前記受付部が、工作機械における工具の切り替えに関連する第1の時系列データを受け付けるステップと、
前記特定部が、前記第1の時系列データにおいて工具の切替時点を検出し、当該検出結果を用いて、前記工作機械において繰り返される加工の1サイクルの開始時点から工具の切り替えをカウントして1サイクルの終了時点を特定することによって1サイクルを特定するステップと、を備えた情報処理方法。
【請求項5】
コンピュータに、
工作機械における工具の切り替えに関連する第1の時系列データを受け付けるステップと、
前記第1の時系列データにおいて工具の切替時点を検出し、当該検出結果を用いて、前記工作機械において繰り返される加工の1サイクルの開始時点から工具の切り替えをカウントして1サイクルの終了時点を特定することによって1サイクルを特定するステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械において取得された時系列情報について処理を行う情報処理装置等に関する。
【背景技術】
【0002】
従来、ワーク及び工具の一方が取り付けられた主軸を回転させ、工具によってワークの切削加工等を行う工作機械において、主軸等を駆動するためのモータの電流を計測し、その電流を用いて、工具の摩耗や破損などの異常を検出することが行われている(例えば、特許文献1参照)。
【0003】
例えば、工具の摩耗が進むと、摩耗していない正常な工具よりも削りにくくなるため、正常な工具と比較して大きな力で削るための制御を工作機械が行うことになり、その結果として、主軸のモータの電流値が正常時よりも増加する。また、工具が折れた場合には、工具がワークに当たらなくなるため、主軸のモータの電流値が正常時よりも低下する。したがって、主軸のモータの電流値を、正常時の電流値と比較することによって、工具の摩耗や工具の破損などの異常を検出することができる。
【0004】
大量生産を行う工作機械では複数の工具を切り替えながら同じ加工が繰り返して行われるため、主軸を駆動するモータの電流値の時系列データから、繰り返される加工の開始から終了までの1サイクルのデータを取得し、その1サイクルのデータを工具ごとに分割して以前のデータと比較することによって、工具の異常を検出することができる。また、繰り返される加工の開始から終了までの1サイクルのデータの特定を行うことによって、工作機械の操作者に、異常の検出された工具を特定できる情報を出力することができるようになる。例えば、特定した1サイクルにおける3番目の加工の工程の工具に異常が検出された旨を出力することによって、工作機械の操作者は、異常の検出された加工の工程を特定することができ、また、その加工の工程で使用されている工具、すなわち異常の検出された工具を特定することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2022-093204号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、モータの電流値である時系列データにおいて、加工の開始から終了までの1サイクルのデータを正確に特定することが困難であるという問題がある。図3Aは、工作機械の電流センサで取得された電流値の時系列データを示す波形図である。第1の時系列データは、工具の切り替えを行うモータの電流値の時系列データであり、第2の時系列データは、主軸を回転させるモータの電流値の時系列データである。図3Bは、第1及び第2の時系列データを重ねて表示した波形図である。
【0007】
図3Bにおいて、加工の開始から終了までの1サイクルに対応するのは期間P1であるが、加工が繰り返されているため、例えば、期間P2の時系列データを1サイクルの時系列データとして取得することも考えられる。ここで、1サイクルの加工が終了してから、次の1サイクルの加工が開始するまでの期間P3は、時間が一定しておらず、時間のばらつきが大きいため、期間P3を挟んで2個のサイクルにまたがる期間を1サイクルとすると、1サイクルごとに波形を切り出して比較することによって異常の検出を行う場合に、正確な異常の検出を行うことができないという問題がある。また、例えば、1サイクルにおける何番目の加工の工程について異常が検出されたのかを工作機械の操作者に出力する場合に、2個のサイクルにまたがる期間が1サイクルとして特定されていると、操作者の認識している加工の開始から終了までの1サイクルと、特定された1サイクルとが異なることになり、操作者が異常の検出された工具を正確に特定することができなくなるという問題もある。
【0008】
本発明は、上記課題を解決するためになされたものであり、工作機械において繰り返される加工の開始から終了までの1サイクルを正確に特定するための情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の一態様による情報処理装置は、工作機械における工具の切り替えに関連する第1の時系列データを受け付ける受付部と、第1の時系列データにおいて工具の切替時点を検出し、検出結果を用いて、工作機械において繰り返される加工の1サイクルの開始時点から工具の切り替えをカウントして1サイクルの終了時点を特定することによって1サイクルを特定する特定部と、を備えたものである。
【0010】
このような構成により、工具の切り替えをカウントして1サイクルの終了時点を特定することによって、正確な1サイクルの特定を行うことができるようになる。
【0011】
また、本発明の一態様による情報処理装置では、特定部は、第1の時系列データにおいて、1サイクルの開始時点からの工具の切り替えのカウント値が、1サイクルにおける工具の切替回数に等しくなった時点である1サイクルの終了時点を特定してもよい。
【0012】
このような構成により、1サイクルの終わりに次の1サイクルにおける最初の加工のための工具の切り替えを行う工作機械について、正確な1サイクルの特定を行うことができる。
【0013】
また、本発明の一態様による情報処理装置では、受付部は、工作機械における主軸の回転及びサーボモータの回転の少なくとも一方に関連する第2の時系列データをも受け付け、特定部は、第1の時系列データにおいて、1サイクルの開始時点からの工具の切り替えのカウント値が、1サイクルにおける工具の切替回数に等しくなった時点より以前において、第2の時系列データにおいて加工の終了を検出した最後の時点である1サイクルの終了時点を特定してもよい。
【0014】
このような構成により、1サイクルの開始前に工具の切り替えを行う工作機械についても、正確な1サイクルの特定を行うことができる。
【0015】
また、本発明の一態様による情報処理装置では、特定部は、第1の時系列データにおいて、工具の切り替えの開始時点からあらかじめ決められた期間は、1個の切替時点のみを検出してもよい。
【0016】
このような構成により、第1の時系列データにおいて、1回の工具の切り替えが行われる期間に複数の信号が連続している場合であっても、適切な切替時点の検出を行うことができる。
【0017】
また、本発明の一態様による情報処理装置では、特定部は、第1の時系列データにおいて、1サイクルにおける工具の切り替えの時間間隔を用いることによって、1サイクルの開始時点を特定してもよい。
【0018】
このような構成により、例えば、第2の時系列データのみによって1サイクルの開始時点を特定できない場合であっても、正確な開始時点の特定を実現することができる。
【0019】
また、本発明の一態様による情報処理装置では、受付部は、工作機械の制御に用いられるNCプログラムに応じて1サイクルの開始時点を示す第3の時系列データをも受け付け、特定部は、第3の時系列データを用いて1サイクルの開始時点を特定してもよい。
【0020】
このような構成により、第3の時系列データによって、1サイクルの開始時点を特定することができる。
【0021】
また、本発明の一態様による情報処理装置では、受付部は、工作機械における主軸の回転及びサーボモータの回転の少なくとも一方に関連する第2の時系列データをも受け付け、特定部は、複数の開始時点の候補を用いて複数の1サイクル候補を特定し、特定した複数の1サイクル候補のうち、第1及び第2の時系列データの少なくとも一方における1サイクル候補に対応する時系列データと同様の時系列データが所定数以上、第1及び第2の時系列データの少なくとも一方に存在する1サイクル候補を、1サイクルとして特定してもよい。
【0022】
このような構成により、1サイクルの開始時点を一意に特定できなかった場合にも、正確な1サイクルの特定を行うことができるようになる。
【0023】
また、本発明の一態様による情報処理装置では、第2の時系列データは、工作機械において主軸を回転させる主軸モータの電流のデータ、主軸モータのトルクのデータ、工作機械によるワークの加工時に切削動力計によって測定された、主軸によって回転される回転対象物に当接する非回転物体に掛かる負荷のデータ、主軸モータの非回転部分に取り付けられた加速度センサによって測定された加速度のデータ、非回転物体に取り付けられたAEセンサによって取得された測定データ、ワークの加工音を含む音響データ、工作機械におけるサーボモータの電流のデータ、サーボモータのトルクのデータ、サーボモータの非回転部分に取り付けられた加速度センサによって測定された加速度のデータ、及びサーボモータの回転に応じて生じる音を含む音響データの少なくともいずれかであってもよい。
【0024】
また、本発明の一態様による情報処理装置では、第1の時系列データは、工作機械において工具を切り替えるための工具切替用モータの電流のデータ、工具切替用モータのトルクのデータ、工具切替用モータの非回転部分に取り付けられた加速度センサによって測定された加速度のデータ、工具を切り替える際に生じる音を含む音響データ、及び、工作機械の制御に用いられるNCプログラムに応じて工具の切替時点を示すデータの少なくともいずれかであってもよい。
【0025】
また、本発明の一態様による情報処理装置では、受付部は、工作機械における主軸の回転及びサーボモータの回転の少なくとも一方に関連する第2の時系列データをも受け付け、特定部による特定結果を用いて、第2の時系列データにおける1サイクルに応じた時系列データを取得する取得部と、取得部によって取得された1サイクルの時系列データごとに異常の検出を行う異常検出部をさらに備えてもよい。
【0026】
このような構成により、例えば、工具の摩耗や破損などの異常を検出することができる。また、より正確に特定された1サイクルを用いるため、より精度の高い異常の検出を行うことができるようになる。
【0027】
また、本発明の一態様による情報処理装置では、特定部による特定結果を用いて、1サイクルの長さを示すサイクルタイムを取得するサイクルタイム取得部をさらに備えてもよい。
【0028】
このような構成により、1サイクルの時間の長さを知ることができる。そのサイクルタイムを用いて、例えば、サイクルタイムの短縮などを検討することもできる。
【0029】
また、本発明の一態様による情報処理方法は、受付部と、特定部とを用いて処理される情報処理方法であって、受付部が、工作機械における工具の切り替えに関連する第1の時系列データを受け付けるステップと、特定部が、第1の時系列データにおいて工具の切替時点を検出し、検出結果を用いて、工作機械において繰り返される加工の1サイクルの開始時点から工具の切り替えをカウントして1サイクルの終了時点を特定することによって1サイクルを特定するステップと、を備えたものである。
【発明の効果】
【0030】
本発明の一態様による情報処理装置等によれば、工作機械で繰り返される加工の1サイクルをより正確に特定することができるようになる。
【図面の簡単な説明】
【0031】
図1】本発明の実施の形態による情報処理システムの構成を示すブロック図
図2】同実施の形態による情報処理装置の動作を示すフローチャート
図3A】同実施の形態における第1及び第2の時系列データの一例を示す図
図3B】同実施の形態における第1及び第2の時系列データの一例を示す図
図4】同実施の形態における第1及び第2の時系列データの一例を示す図
図5】同実施の形態における第1及び第2の時系列データの一例を示す図
図6】同実施の形態における第1及び第2の時系列データの一例を示す図
図7】同実施の形態における第1及び第2の時系列データの一例を示す図
図8】同実施の形態における工具切替時の第1の時系列データの一例を示す図
図9】同実施の形態におけるNCプログラムの一例を示す図
図10】同実施の形態における第1及び第3の時系列データの一例を示す図
図11】同実施の形態におけるコンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【0032】
以下、本発明による情報処理装置、及び情報処理方法について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による情報処理装置は、工作機械において繰り返される加工のより正確な1サイクルを特定するものである。
【0033】
図1は、本実施の形態による情報処理システム100の構成を示すブロック図である。本実施の形態による情報処理システム100は、工作機械1と、情報処理装置2とを備える。工作機械1と情報処理装置2とは、有線または無線によって接続されていてもよい。
【0034】
工作機械1は、ワークに対する加工を繰り返して行うものである。工作機械1は、例えば、NC旋盤であってもよく、マシニングセンタであってもよい。NC旋盤では、ワークの取り付けられた主軸が回転され、回転されているワークに工具を当接させ、ワークと工具とを相対的に移動させることによって切削などの加工が行われる。また、NC旋盤における工具の切り替えは、例えば、ターレットを回転させることによって行われる。一方、マシニングセンタである工作機械1では、工具の取り付けられた主軸が回転され、回転している工具をワークに当接させ、ワークと工具とを相対的に移動させることによって切削などの加工が行われる。マシニングセンタにおける工具の切り替えは、例えば、オートツールチェンジャ(ATC)によって行われる。
【0035】
工作機械1は、一例として、図1で示されるように、工作機械1における工具の切り替えに関連する第1の時系列データを取得するための第1の取得部11と、工作機械1における主軸の回転に関連する第2の時系列データを取得するための第2の取得部12とを有していてもよい。工具の切り替えに関連する第1の時系列データは、例えば、工具切替用モータの回転に関連する第1の時系列データであってもよい。本実施の形態では、第1の時系列データが、電流計である第1の取得部11によって取得された、工作機械1において工具を切り替えるための工具切替用モータの電流の時系列データであり、第2の時系列データが、電流計である第2の取得部12によって取得された、工作機械1において主軸を回転させる主軸モータの電流の時系列データである場合について主に説明するが、後述するように、第1及び第2の時系列データは、それら以外の時系列データであってもよい。第1及び第2の時系列データは、同期していることが好適である。
【0036】
情報処理装置2は、受付部21と、記憶部22と、特定部23と、取得部24と、異常検出部25と、サイクルタイム取得部26と、出力部27とを備える。情報処理装置2は、例えば、パーソナルコンピュータなどの汎用の装置であってもよく、1サイクルの特定などの処理を行うための専用の装置であってもよい。
【0037】
受付部21は、工作機械1における工具の切り替えに関連する第1の時系列データ、及び工作機械1における主軸の回転に関連する第2の時系列データを受け付ける。なお、受付部21は、第1の時系列データのみを受け付けてもよい。この場合には、工作機械1は、第2の取得部12を有していなくてもよい。受け付けられた第1及び第2の時系列データは、記憶部22に蓄積されてもよい。受付部21は、第1及び第2の時系列データを、例えば、リアルタイムで受け付けてもよく、一定または不定の時間間隔ごとに受け付けてもよく、一括して受け付けてもよい。第1及び第2の時系列データがリアルタイムで受け付けられる場合には、例えば、工作機械1から各時点の信号を受け付けて記憶部22に蓄積することによって、記憶部22において、第1及び第2の時系列データが構成されてもよい。この場合であっても、受付部21によって、第1及び第2の時系列データを構成する各信号が繰り返して受け付けられるため、結果として、受付部21によって第1及び第2の時系列データが受け付けられたことになる。
【0038】
受付部21は、例えば、有線または無線の通信回線を介して送信された情報を受信してもよい。本実施の形態では、工作機械1から送信された第1及び第2の時系列データが受付部21で受信される場合について主に説明する。なお、受付部21は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、または含まなくてもよい。また、受付部21は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0039】
記憶部22では、第1及び第2の時系列データが記憶される。記憶部22では、それ以外の情報が記憶されてもよい。例えば、特定された1サイクルを示す情報や、取得部24によって取得された1サイクルに応じた時系列データなどが記憶部22で記憶されてもよい。記憶部22は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスクなどであってもよい。
【0040】
図3Aは、工具切替用モータの電流である第1の時系列データS1、及び主軸モータの電流である第2の時系列データS2を別々に表示する波形図であり、図3Bは、第1の時系列データS1、及び第2の時系列データS2を重ね合わせて表示する波形図である。図3A図3Bにおいて、横軸は時間であり、縦軸は電流である。第1の時系列データS1は、工具の切り替えに応じた電流値のピークを含んでおり、第2の時系列データS2は、主軸の加速または減速に応じた電流値のピークを含んでいる。第1及び第2の時系列データS1,S2は、レンジが異なるため、図3Bにおいて、第1の時系列データS1の電流は右側の縦軸で示しており、第2の時系列データS2の電流は左側の縦軸で示している。図4以降の波形図においても同様である。また、図3A図3Bでは、第1及び第2の時系列データS1,S2が2サイクル分の時系列データである場合について示しているが、第1及び第2の時系列データは、さらに長い時系列データであってもよいことは言うまでもない。
【0041】
特定部23は、第1の時系列データを用いて、加工対象に対する複数の工程を有する加工の開始から終了までの期間である1サイクルを特定する。なお、特定部23は、例えば、第2の時系列データも用いて1サイクルを特定してもよい。特定部23は、例えば、図3Bで示される波形図において、期間P1に対応する1サイクルを特定してもよい。このように1サイクルを特定することによって、時間のばらつきの大きい期間P3を挟んで2個のサイクルにまたがる期間(例えば、図3Bの期間P2)に対応する1サイクルを特定しないようにすることができ、例えば、より正確な異常検出などを行うことができるようになる。
【0042】
特定部23は、第1の時系列データにおいて工具の切替時点を検出し、その検出結果を用いて、工作機械1において繰り返される加工の1サイクルの開始時点から工具の切り替えをカウントして1サイクルの終了時点を特定することによって1サイクルを特定する。特定部23は、一例として、第2の時系列データにおいて、主軸モータが回転を始めた時点、すなわち主軸モータの電流値が0からピークに大きく変化した時点を特定することによって、1サイクルの開始時点を特定してもよい。なお、1サイクルの開始時点のその他の特定方法については後述する。また、特定部23は、例えば、第1の時系列データにおいて、工具切替用モータが回転した時点、すなわち電流値のピークを検出することによって、工具の切替時点を検出してもよい。電流値のピークは、例えば、電流値があらかじめ決められた閾値以上になったことによって検出されてもよい。1サイクルを特定するとは、例えば、時系列データにおいて1サイクルの開始時点と終了時点とを特定することであってもよく、1サイクルに相当する時系列データを抽出することであってもよく、時系列データにおいて1サイクルを特定することができるその他の処理であってもよい。なお、抽出対象の1サイクルに相当する時系列データは、第2の時系列データであることが好適である。異常検出に用いる時系列データは、通常、第2の時系列データであるからである。
【0043】
特定部23は、例えば、第1の時系列データにおいて、1サイクルの開始時点からの工具の切り替えのカウント値が、1サイクルにおける工具の切替回数に等しくなった時点である1サイクルの終了時点を特定してもよい。この場合には、1サイクルにおける工具の切り替え回数Nが、情報処理装置2においてあらかじめ保持されているものとする。Nは、通常、2以上の整数である。この1サイクルにおける工具の切替回数は、例えば、手動で設定されてもよく、または、工作機械1において実行されるNCプログラムを解析し、1サイクルにおける工具切替のコードの個数をカウントすることによって自動的に設定されてもよい。NCプログラムの解析等は、一例として、情報処理装置2において行われてもよい。また、例えば、1サイクルにおける加工の開始から終了までの工程数が工作機械1の操作者等から入力された場合に、その工程数を1サイクルにおける工具の切替回数として用いてもよい。1サイクルにおける工具の切替回数Nは、例えば、手動で設定されたり、自動的に設定されたりするため、以下の説明において設定値Nと呼ぶこともある。この終了時点の特定について、図4を参照して説明する。図4の時系列データでは、N=6である。まず、特定部23は、図4で示されるように、第1及び第2の時系列データにおいて、1サイクルの開始時点Tsを特定し、その開始時点Tsから、時系列に沿って第1の時系列データにおける工具の切り替え、すなわちピークをカウントする。そのカウント値をiとすると、時系列に沿って、図4で示されるように、各ピークがカウントされることになる。そして、特定部23は、カウント値i=6になった時点を、1サイクルの終了時点Teとする。このようにして、特定部23は、開始時点Tsから終了時点Teまでの期間P4に応じた1サイクルを特定することができる。
【0044】
取得部24は、特定部23による特定結果を用いて、第2の時系列データにおける1サイクルに応じた時系列データを取得する。取得部24は、例えば、第2の時系列データにおいて1サイクルの開始時点を特定し、その開始時点から、特定部23によって特定された1サイクルの長さだけ時間の経過した時点を終了時点として特定し、その特定した開始時点から終了時点までの時系列データを第2の時系列データから抽出することによって、1サイクルに応じた時系列データを取得してもよい。また、取得部24は、第2の時系列データにおいて、特定部23によって特定された1サイクルに対応する時系列データをパターンとして用いたパターンマッチングによって、1サイクルに応じた時系列データを特定し、その特定した1サイクルに応じた時系列データを取得してもよい。工具の破損に関する異常が検出される場合には、取得部24は、第2の時系列データにおける1サイクルに応じた時系列データの取得を、時系列に沿って繰り返して行うことが好適である。すなわち、第2の時系列データにおいて、すべての1サイクルごとの時系列データが取得部24によって取得されることが好適である。一方、工具の摩耗に関する異常のみが検出される場合には、取得部24は、第2の時系列データにおいて、すべての1サイクルごとに時系列データを取得しなくてもよい。例えば、飛び飛びに時系列データが取得されてもよい。また、取得部24は、例えば、取得した1サイクルの時系列データごとに、第1の時系列データを用いて工具の切替時点を特定してもよい。
【0045】
異常検出部25は、取得部24によって取得された1サイクルの時系列データごとに異常の検出を行う。この異常の検出は、加工の工程ごとに行われる。すなわち、異常検出部25は、1サイクルを、工具の切り替えタイミングごとに複数に分割した区間ごとに、時系列データに関する異常の検出を行う。このようにすることで、加工の各工程で用いられる工具ごとに異常を検出することができる。工具の切り替えタイミングとしては、例えば、特定部23によって検出された工具の切替時点が用いられてもよく、または、取得部24によって、1サイクルの時系列データごとに、第1の時系列データを用いて特定された工具の切替時点が用いられてもよい。前者の場合には、例えば、異常の検出対象となるすべての1サイクルの時系列データについて、同じ切り替えタイミングが用いられてもよく、後者の場合には、例えば、異常の検出対象となる1サイクルの時系列データごとに、切り替えタイミングが特定されてもよい。また、この異常の検出は、例えば、工具の摩耗である異常の検出であってもよく、工具の破損である異常の検出であってもよく、その両方であってもよい。
【0046】
工具の摩耗を検出する場合には、異常検出部25は、第2の時系列データにおける最初の1サイクルの基準となる時系列データと、それ以降の1サイクルごとの時系列データとを、加工の工程ごとに比較し、両者の差が閾値よりも大きくなった際に異常を検出してもよい。この場合には、第2の時系列データにおける最初の1サイクルの基準となる時系列データ、すなわち1個の基準となる時系列データが、工具の摩耗の検出に用いられることになる。ある加工の工程についてこの異常が検出された場合には、その工程で使用される工具が摩耗していることになる。
【0047】
工具の破損を検出する場合には、異常検出部25は、第2の時系列データにおける1サイクルの基準となる時系列データと、その1サイクルの次の1サイクルの時系列データとを、加工の工程ごとに比較し、両者の差が閾値よりも大きくなった際に異常を検出してもよい。この場合には、異常の検出を行うごとに、基準となる時系列データが変わることになる。このようにすることで、工具の摩耗の影響を受けることなく、工具の破損を検出することができるようになる。ある加工の工程についてこの異常が検出された場合には、その工程で使用される工具が破損していることになる。
【0048】
なお、2個の時系列データの比較は、例えば、各時系列データから特徴量を取得し、その取得した特徴量を比較することによって行われてもよい。特徴量は特に限定されないが、例えば、平均値、中央値、最小値、最大値などの代表値であってもよく、分散、標準偏差などの統計量であってもよく、時系列データの波形の形状の特徴を示す情報であってもよく、時系列データの特徴を示すその他の特徴量であってもよい。
【0049】
サイクルタイム取得部26は、特定部23による特定結果を用いて、1サイクルの長さを示すサイクルタイムを取得する。サイクルタイム取得部26は、例えば、特定部23によって特定された1サイクルの終了時点から、1サイクルの開始時点を減算することによって、その1サイクルの時間的な長さであるサイクルタイムを取得してもよい。
【0050】
出力部27は、一例として、特定部23によって特定された1サイクルを示す情報、例えば、1サイクルの開始時点及び終了時点を出力してもよく、異常検出部25によって異常が検出された際に、その異常の検出に関する出力を行ってもよく、サイクルタイム取得部26によって取得されたサイクルタイムを出力してもよい。異常の検出に関する出力は、例えば、異常が検出されたことを示す情報の出力であってもよく、異常の検出に応じて行われる制御に応じた指示、例えば、工作機械1の停止の指示などの出力であってもよい。異常検出部25によって、工具の摩耗の異常と、工具の破損の異常との両方が検出される場合には、例えば、検出された異常の内容に応じて、異なる出力が行われてもよい。一例として、工具の摩耗の異常が検出された場合には、その旨を示す情報が出力され、工具の破損の異常が検出された場合には、工作機械1を停止するための信号が工作機械1に出力されてもよい。異常が検出されたことを示す情報が出力される場合に、例えば、異常が検出された加工の工程を示す情報、または、その工程に対応する工具を示す情報も一緒に出力されてもよい。異常が検出された加工の工程を示す情報は、例えば、異常の検出された加工の工程が1サイクルにおいて何番目の工程であるのかを示す順序数であってもよい。
【0051】
ここで、この出力は、例えば、表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力部27は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、または含まなくてもよい。また、出力部27は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0052】
次に、情報処理装置2の動作について図2のフローチャートを用いて説明する。
(ステップS101)受付部21は、第1及び第2の時系列データを受け付けたかどうか判断する。そして、第1及び第2の時系列データを受け付けた場合には、ステップS102に進み、そうでない場合には、ステップS103に進む。
【0053】
(ステップS102)受付部21は、受け付けた第1及び第2の時系列データを記憶部22に蓄積する。そして、ステップS101に戻る。
【0054】
(ステップS103)特定部23は、1サイクルの特定を行うかどうか判断する。そして、1サイクルの特定を行う場合には、ステップS104に進み、そうでない場合には、ステップS112に進む。なお、特定部23は、あらかじめ決められた時間以上の第1及び第2の時系列データが記憶部22に蓄積された後に、1サイクルの特定を行うと判断してもよい。そのあらかじめ決められた時間は、例えば、1サイクル以上の長さを有する時間であることが好適である。
【0055】
(ステップS104)特定部23は、第1及び第2の時系列データにおいて、1サイクルの開始時点を特定する。なお、この開始時点は、第1及び第2の時系列データの一方のみを用いて行われてもよい。また、この開始時点は、一例として、時系列データの始点に最も近い開始時点であってもよい。
【0056】
(ステップS105)特定部23は、カウント値iを0に設定する。
【0057】
(ステップS106)特定部23は、第1の時系列データにおいて、i番目の工具の切替時点の次の工具の切替時点を検出したかどうか判断する。そして、検出した場合には、ステップS107に進み、そうでない場合には、時系列に沿って次の工具の切替時点を検出する処理を継続する。ここで、0番目の工具の切替時点は、1サイクルの開始時点であるとする。
【0058】
(ステップS107)特定部23は、カウント値iを1だけインクリメントする。
【0059】
(ステップS108)特定部23は、カウント値iが、1サイクルにおける工具の切替回数の設定値N以上になったかどうかを判断する。そして、カウント値iが設定値N以上になった場合には、ステップS109に進み、そうでない場合には、ステップS106に戻る。
【0060】
(ステップS109)特定部23は、i番目の工具の切替時点を1サイクルの終了時点として特定する。この特定によって、1サイクルが特定されたことになる。
【0061】
(ステップS110)サイクルタイム取得部26は、特定部23によって特定された1サイクルの開始時点から終了時点までの時間、すなわちサイクルタイムを取得する。
【0062】
(ステップS111)出力部27は、サイクルタイム取得部26によって取得されたサイクルタイムを出力する。そして、ステップS101に戻る。
【0063】
(ステップS112)取得部24は、異常の検出を行うかどうか判断する。そして、異常の検出を行う場合には、ステップS113に進み、そうでない場合には、ステップS101に戻る。なお、取得部24は、例えば、1サイクルの特定が行われた後に、異常の検出を行うと、所定の期間ごとに判断してもよい。その所定の期間は、例えば、工作機械1において繰り返される加工の周期であってもよい。また、本実施の形態では、異常を検出するタイミングを取得部24が判断する場合について主に説明するが、異常を検出するタイミングは、例えば、異常検出部25によって判断されてもよい。
【0064】
(ステップS113)取得部24は、特定部23による特定結果を用いて、第2の時系列データから1サイクルに応じた時系列データを取得する。取得部24は、記憶部22で記憶されている第2の時系列データにおいて、すべての1サイクルごとの時系列データを取得してもよい。すなわち、取得部24は、1回前の異常の検出の後に受け付けられた第2の時系列データに含まれる1サイクルごとの時系列データを取得してもよい。取得された時系列データは、例えば、記憶部22に蓄積されてもよい。なお、ステップS113において、第2の時系列データから、まだ異常の検知が行われていない1サイクルに応じた時系列データを取得できない場合には、ステップS101に戻ってもよい。
【0065】
(ステップS114)異常検出部25は、取得された時系列データに異常があるかどうかを、加工の工程ごとに判断する。そして、異常がある場合には、ステップS115に進み、そうでない場合には、ステップS101に戻る。この異常の検出は、例えば、工具の摩耗の検出であってもよく、工具の破損の検出であってもよく、その両方であってもよい。異常検出部25は、工具の摩耗を検出する場合には、第2の時系列データにおける最初の1サイクルの基準となる時系列データと、それ以降の1サイクルごとの時系列データとを、加工の工程ごとに比較し、両者の差が閾値よりも大きくなった際に異常を検出してもよい。また、異常検出部25は、工具の破損を検出する場合には、第2の時系列データにおける1サイクルの基準となる時系列データと、その1サイクルの次の1サイクルの時系列データとを、加工の工程ごとに比較し、両者の差が閾値よりも大きくなった際に異常を検出してもよい。
【0066】
(ステップS115)出力部27は、異常の検出に関する出力を行う。そして、ステップS101に戻る。なお、工具の摩耗の異常が検出された場合には、出力部27は、例えば、工具が摩耗した旨を出力してもよい。また、工具の破損が検出された場合には、出力部27は、工作機械1を停止する旨の指示を工作機械1に出力してもよい。
【0067】
なお、工作機械1において取得された第1及び第2の時系列データを情報処理装置2がリアルタイムで受け付ける場合には、ステップS101、S102の処理と、その他の処理とは、並列して行われてもよい。また、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0068】
次に、本実施の形態による情報処理装置2の動作について、具体例を用いて説明する。工作機械1における加工が開始されると、それに応じて第1及び第2の取得部11,12によって第1及び第2の時系列データがそれぞれ取得され、両時系列データがリアルタイムで情報処理装置2に送信される。情報処理装置2の受付部21は、その第1及び第2の時系列データを受信して、記憶部22に蓄積する(ステップS101、S102)。
【0069】
情報処理装置2の特定部23は、第1及び第2の時系列データの蓄積が開始されてからあらかじめ決められた時間が経過すると、1サイクルの特定を行うと判断する(ステップS103)。なお、あらかじめ決められた時間は、例えば、1サイクルの長さよりも十分長い長さに設定されていてもよい。
【0070】
特定部23は、第1及び第2の時系列データの少なくとも一方を用いて1サイクルの開始時点を特定する(ステップS104)。
【0071】
次に、特定部23は、第1の時系列データにおいて、1サイクルの開始時点から時系列に沿って、工具の切替時点を検出する処理を、1サイクルにおける工具の切替回数の設定値であるN個目の切替時点を検出するまで繰り返して行う(ステップS105~S108)。そして、N個目の切替時点を検出すると、特定部23は、そのN個目の切替時点を1サイクルの終了時点として特定し、1サイクルの開始時点と終了時点とをサイクルタイム取得部26に渡す(ステップS109)。図4で示される第1及び第2の時系列データが記憶部22で記憶されており、N=6である場合には、例えば、図4で示されるように、1サイクルの開始時点Ts及び終了時点Teが特定されることになる。
【0072】
サイクルタイム取得部26は、1サイクルの開始時点及び終了時点を受け取ると、両時点の差であるサイクルタイムを取得して取得部24及び出力部27に渡す(ステップS110)。サイクルタイムを受け取ると、出力部27は、そのサイクルタイムをあらかじめ決められたように出力する(ステップS111)。このようにして、例えば、工作機械1で実行されるNCプログラムの作成者は、そのNCプログラムに応じて行われる加工の1サイクルの時間について知ることができる。また、取得部24は、受け取ったサイクルタイムを記憶部22またはその他の記録媒体に蓄積する。
【0073】
また、取得部24は、記憶部22に蓄積された第1及び第2の時系列データの少なくとも一方を用いて1サイクルの開始時点を特定し、その開始時点からサイクルタイムに相当する時間が経過した際に、異常の検出を行うと判断し、第2の時系列データから、1サイクルに応じた時系列データを取得すると共に、その取得した時系列データにおける工具の切り替えタイミングを第1の時系列データを用いて特定し、1サイクルに応じた時系列データと工具の切り替えタイミングとを異常検出部25に渡す(ステップS112、S113)。なお、第1及び第2の時系列データの記憶部22への蓄積が開始されてから初めて1サイクルの時系列データを取得する際には、取得部24は、その時点までに記憶部22で記憶されているすべての1サイクルごとの時系列データを取得して異常検出部25に渡してもよい。
【0074】
異常検出部25は、取得部24から1サイクルの時系列データを受け取ると、異常の検出を行う。摩耗に関する異常を検出する場合には、異常検出部25は、第2の時系列データにおける1番目の1サイクルの時系列データである基準となる時系列データと、2番目以降の最新の1サイクルの時系列データとを、加工の工程ごとに比較し、両者の差が閾値より大きい加工の工程が存在するときに異常を検出し、そうでないときに異常を検出しなくてもよい。また、破損に関する異常を検出する場合には、異常検出部25は、第2の時系列データにおけるM番目の1サイクルの時系列データである基準となる時系列データと、M+1番目の1サイクルの時系列データとを、加工の工程ごとに比較し、両者の差が閾値より大きい加工の工程が存在するときに異常を検出し、そうでないときに異常を検出しなくてもよい。Mは、1以上の整数である。なお、異常検出部25は、例えば、1番目の時系列データを摩耗に関する異常の検出に用いる基準となる時系列データとして記憶部22に蓄積すると共に、破損に関する異常を判断したM+1番目の1サイクルの時系列データを、次の破損に関する異常の検出時に用いる基準となる時系列データとして記憶部22に蓄積してもよい。
【0075】
工具の摩耗及び破損の少なくとも一方の異常が検出された場合には、異常検出部25は、摩耗または破損の異常がある旨を出力部27に渡す(ステップS114)。異常がある旨を受け取ると、出力部27は、それに応じた出力を行う(ステップS115)。出力部27は、例えば、摩耗の異常が検出された場合に、そのことを工作機械1の操作者に出力してもよい。工具の摩耗について知った操作者は、例えば、工作機械1の工具を交換してもよい。また、出力部27は、例えば、破損の異常が検出された場合に、工作機械1を停止するための指示を工作機械1に出力すると共に、工作機械1の操作者に、破損の異常が検出された旨を出力してもよい。工具の破損に応じて工作機械1が停止されることにより、例えば、工具の破損に応じて想定外の事態が発生することを予防することができる。また、工具の破損について知った操作者は、例えば、工作機械1の工具を交換して、加工を再開させてもよい。
【0076】
以上のように、本実施の形態による情報処理装置2によれば、1サイクルの開始時点から工具の切替時点をカウントすることによって、より正確な1サイクルの特定を行うことができる。特に、図3Bの期間P2のように、時間のばらつきの大きい期間P3を挟んで2個のサイクルにまたがる期間を1サイクルとして特定することを回避することができる。そのため、特定された1サイクルを用いて異常検出用の時系列データの取得を行うことによって、異常の検出をより高精度に行うことができるようになる。また、例えば、1サイクルにおける何番目の加工の工程について異常が検出されたのかを工作機械の操作者に出力する場合でも、操作者の認識している加工の開始から終了までの1サイクルと、特定された1サイクルとが一致しているため、操作者が異常の検出された工具を正確に特定することができるようになる。また、取得されたサイクルタイムによって、1サイクルの正確な時間を知ることができ、サイクルタイムの短縮の検討などを行うことができる。
【0077】
次に、1サイクルの開始時点を特定する方法の他のいくつかの例について説明する。まず、1サイクルにおける工具の切り替えの時間間隔を用いることによって、1サイクルの開始時点を特定する方法について説明する。この方法では、1サイクルにおける工具の切り替えの時間間隔、すなわち、1サイクルにおける各工程の時間があらかじめ分かっているものとする。例えば、図5で示されるように、1工程目から6工程目までの各時間が、20秒、50秒、85秒、35秒、35秒、20秒とあらかじめ分かっていてもよい。この各工程の時間は、例えば、NCプログラムを解析することによって取得されてもよく、工作機械1によってワークの加工を行っている際の各工程の時間を手作業で測定することによって取得されてもよい。また、特定部23は、第1の時系列データにおいて、工具の切替時点を検出し、その切替時点の間隔、すなわち工具の切り替えの時間間隔を特定する。そして、特定部23は、第1の時系列データについて特定した連続する複数の工具の切り替えの時間間隔において、1サイクルにおける工具の切り替えの既知の時間間隔にマッチする箇所を特定する。なお、図5の例では、1工程目は1サイクルの開始時点から工具の切り替えまでになり、また6工程目は終期が工具の切り替えタイミングと一致しているとは限らないため、1工程目の時間と6工程目の時間とは工具の切り替えの時間間隔としては用いなくてもよい。したがって、特定部23は、第1の時系列データにおいて特定した連続する複数の工具の切り替えの時間間隔のうち、その1工程目に対応する20秒と、6工程目に対応する20秒とを除いた50秒、85秒、35秒、35秒にマッチするところを特定し、その特定した連続する複数の工具の切り替えの時間間隔の先頭の工具の切替時点から1工程目の20秒だけ以前の時点である1サイクルの開始時点Tsを特定してもよい。
【0078】
ここでは、1サイクルにおける最初の工程と最後の工程以外の工程に対応する工具の切り替えの時間間隔を用いて開始時点を特定する場合について説明したが、そうでなくてもよい。例えば、1サイクルにおける工具の切り替えの時間間隔に、他の時間間隔と明確に区別可能な時間間隔(例えば、最大の時間間隔など)が含まれている場合には、その時間間隔と、その時間間隔から開始時点までの時間とを用いて1サイクルの開始時点が特定されてもよい。具体的には、図5において、85秒の時間間隔は、他の時間間隔と明確に区別可能であるため、その85秒の時間間隔と、その時間間隔の先頭から70秒以前の時点が1サイクルの開始時点であることとがあらかじめ設定されていてもよい。そして、特定部23は、第1の時系列データにおいて、85秒の時間間隔にマッチする工具の切り替えの時間間隔を特定し、その特定した時間間隔の先頭から70秒以前の時点を開始時点Tsとして特定してもよい。このように、1サイクルの開始時点の特定は、1以上の工具の切り替えの時間間隔、及び、その時間間隔と1サイクルの開始時点との時間的な位置関係とを用いて行われてもよい。時間的な位置関係は、例えば、時間の長さであってもよい。
【0079】
また、第1及び第2の時系列データにおいて、1サイクルの開始時点を一意に特定することができず、開始時点の候補が複数存在することも考えられる。一例として、第2の時系列データにおいて、主軸モータが回転を始めた時点が開始時点として特定される場合には、1サイクルの途中において主軸モータが停止する時点が存在するときに、その時点も開始時点として特定されることになる。このように、複数の開始時点の候補が存在する場合には、特定部23は、例えば、複数の開始時点の候補を用いて複数の1サイクル候補をそれぞれ特定してもよい。この1サイクル候補の特定は、上記説明と同様に、開始時点の候補から工具の切り替えをカウントすることによって特定してもよい。また、特定部23は、1サイクル候補ごとに、第1及び第2の時系列データの少なくとも一方における1サイクル候補に対応する時系列データにマッチングする時系列データを、第1及び第2の時系列データの少なくとも一方において探してもよい。この処理は、例えば、1サイクル候補に対応する時系列データをパターンとしたパターンマッチングによって行ってもよい。このパターンマッチングでは、例えば、パターンである時系列データのデータ形状及び時間の長さと一致する時系列データが取得されてもよい。このように、パターンマッチングによって、パターンの時系列データとデータ形状のみが一致する時系列データでなく、時間の長さも一致する時系列データが取得されることが好適である。なお、一致とは、例えば、厳密に一致することであってもよく、所定の誤差の範囲内で同じであることであってもよい。そして、特定部23は、その特定した複数の1サイクル候補のうち、第1及び第2の時系列データの少なくとも一方における1サイクル候補に対応する時系列データと同様の時系列データが所定数以上、第1及び第2の時系列データの少なくとも一方に存在する1サイクル候補を、1サイクルとして特定してもよい。
【0080】
なお、所定数は、処理に用いる第1及び第2の時系列データの少なくとも一方の時系列データが長いほど、より大きい値になってもよい。例えば、K個のサイクルを含む第1及び第2の時系列データの少なくとも一方において1サイクル候補に対応する時系列データと同様の時系列データを探す場合には、所定数は、KまたはK-1などのように、K以下のKに近い値に設定されてもよい。Kは、2以上の整数であり、通常、3以上の整数であることが好適である。1サイクル候補に対応する時系列データと同様の時系列データを探す処理は、例えば、第1の時系列データにおいて行われてもよく、第2の時系列データにおいて行われてもよく、第1及び第2の時系列データを重ね合わせた時系列データにおいて行われてもよい。
【0081】
例えば、図6で示されるように、開始時点の候補Ts1、Ts2が特定された場合には、それらの候補に応じて、期間P5に対応する1サイクル候補と、期間P6に対応する1サイクル候補とが特定される。この場合には、期間P5は、サイクル間の期間P8を挟んでいないため、その期間P5に対応する1サイクル候補に対応する時系列データと同様の時系列データは、図6における期間P7に対応する時系列データのように、複数存在することになる。一方、期間P6は、サイクル間の期間P8を挟んで2個のサイクルにまたがっており、サイクル間の期間は時間のばらつきが大きいため、期間P6に対応する1サイクル候補に対応する時系列データと同様の時系列データは、ほとんど存在しないことになる。したがって、所定数を適切に設定することによって、図6で示される第1及び第2の時系列データについて、開始時点の候補Ts1を、最終的な開始時点として採用することができるようになる。
【0082】
また、本実施の形態では、1サイクルの終了時に、次の1サイクルの最初の工程で用いられる工具に切り替えられる場合、すなわち、1サイクルの終了時に工具の切り替えが行われる場合について主に説明したが、そのような工具の切り替えが行われないこともある。例えば、図7で示されるように、破線で示される1サイクルの終了時の工具の切り替えに代えて、1サイクルの開始時に工具の切り替えを行うこともある。この場合には、工具の切り替えのカウント値iが設定値Nとなった時点を終了時点とすると、サイクル間の期間を挟んで2個のサイクルにまたがる1サイクルが特定されることになり、不適切な1サイクルの特定になる。したがって、1サイクルの開始時に工具の切り替えが行われる可能性がある場合には、特定部23は、第1の時系列データにおいて、1サイクルの開始時点からの工具の切り替えのカウント値が、1サイクルにおける工具の切替回数に等しくなった時点Te1を特定し、その時点Te1より以前において、第2の時系列データにおいて加工の終了を検出した最後の時点Te2である1サイクルの終了時点を特定してもよい。加工の終了を検出した最後の時点は、例えば、主軸の回転の停止を検出した最後の時点であってもよい。図7では、この場合について示している。主軸の回転の停止を検出した時点とは、主軸が回転状態から停止状態になった時点、すなわち主軸の停止期間の始点であってもよい。図7の例では、時点Te2が終了時点として特定され、期間P9に対応する1サイクルが特定されることになる。このように、特定部23は、例えば、カウント値i=Nとなった時点の直前の加工が終了した時点を1サイクルの終了時点としてもよい。なお、加工が終了した時点は、後述するように、例えば、主軸の回転が停止した時点以外であってもよい。また、1サイクルの終了時に、次の1サイクルの最初の工程で用いられる工具に切り替えられる場合であっても、特定部23は、例えば、第1の時系列データにおいて、1サイクルの開始時点からの工具の切り替えのカウント値が、1サイクルにおける工具の切替回数に等しくなった時点を特定し、その時点より以前において、第2の時系列データにおいて加工の終了を検出した最後の時点を、1サイクルの終了時点として特定してもよい。
【0083】
また、図8で示されるように、1回の工具の切り替えに応じて、第1の時系列データS1に複数のピークが存在することがある。なお、図8で示される3個のピークは、1回の工具の切り替えに対応したものであるとする。この場合に、ピークごとに工具の切り替えをカウントすると、1回の工具の切り替えに応じて複数回の工具の切り替えをカウントすることになり、不適切なカウントとなる。したがって、特定部23は、第1の時系列データにおいて、工具の切り替えの開始時点T1からあらかじめ決められた期間P10は、1個の切替時点のみを検出するようにしてもよい。すなわち、期間P10内に含まれる複数のピークは、1回の工具の切り替えに対応するものと扱うことによって、不適切なカウントを回避してもよい。特定部23は、一例として、第1の時系列データにおいて時系列に沿ってピークの検出を行い、ある時点T1のピークを検出した際に、そのピークの検出に応じて工具の切り替えをカウントすると共に、そのピークの時点T1から所定の期間P10は、新たなピークの検出を行わないようにしてもよい。あらかじめ決められた期間P10の長さは、1回の工具の切り替え時にピークが連続する時間間隔の最大値より長くなり、連続する2回の工具の切り替えの時間間隔の最小値より短くなるように設定されることが好適である。期間P10は、例えば、1秒から3秒までの値に設定されてもよく、2秒に設定されてもよい。また、第1の時系列データにおいて、1回の工具の切り替えに応じて複数のピークが存在する場合には、例えば、複数のピークにおける最初のピークの時点から、最後のピークの時点までの間の任意の時点を1サイクルの終了時点としてもよい。具体的には、最初のピークの時点を終了時点にしてもよく、最後のピークの時点を終了時点にしてもよく、複数のピークのうち、振幅の最も大きいピークの時点を終了時点にしてもよい。例えば、取得部24によって、第1の時系列データにおける工具の切替時点が特定される場合にも、同様にしてもよい。
【0084】
また、本実施の形態では、第1及び第2の時系列データが工作機械1で用いられるモータの電流値である場合について主に説明したが、そうでなくてもよい。第1の時系列データは、例えば、工作機械1において工具を切り替えるための工具切替用モータの電流のデータ、工具切替用モータのトルクのデータ、工具切替用モータの非回転部分に取り付けられた加速度センサによって測定された加速度のデータ、工具を切り替える際に生じる音を含む音響データ、及び、工作機械1の制御に用いられるNCプログラムに応じて工具の切替時点を示すデータの少なくともいずれかであってもよい。また、第1の時系列データは、工具の切替時点を検出できるのであれば、工作機械1における工具の切り替えに関連するその他の時系列データであってもよい。
【0085】
第1の時系列データが工具切替用モータのトルクのデータを含む場合には、第1の取得部11は、工具切替用モータの回転軸に設けられたトルクセンサを含んでもよい。モータの電流値とトルクとは相関があるため、トルクを用いても、電流値と同様に工具の切り替えを検出することができる。また、第1の時系列データが加速度のデータを含む場合には、第1の取得部11は、工具切替用モータの非回転部分に取り付けられた加速度センサを含んでもよい。工具切替用モータの回転に応じて発生する振動を加速度のデータによって検出することができるため、加速度を用いても、工具の切り替えを検出することができる。また、第1の時系列データが音響データを含む場合には、第1の取得部11は、工具を切り替える際に生じる音を取得可能な位置に配置されたマイクロフォンを含んでもよい。工具切替用モータの回転に応じて発生する音を音響データによって検出することができるため、音響データを用いても、工具の切り替えを検出することができる。なお、工作機械1の制御に用いられるNCプログラムに応じて工具の切替時点を示すデータについては後述する。
【0086】
また、第2の時系列データは、例えば、工作機械1において主軸を回転させる主軸モータの電流のデータ、主軸モータのトルクのデータ、工作機械1によるワークの加工時に切削動力計によって測定された、主軸によって回転される回転対象物に当接する非回転物体に掛かる負荷のデータ、主軸モータの非回転部分に取り付けられた加速度センサによって測定された加速度のデータ、非回転物体に取り付けられたAEセンサ(アコースティック・エミッションセンサ)によって取得された測定データ、及びワークの加工音を含む音響データの少なくともいずれかであってもよい。また、第2の時系列データは、主軸の回転状況について把握することができるのであれば、工作機械1における主軸の回転に関連するその他の時系列データであってもよい。
【0087】
第2の時系列データが主軸モータのトルクのデータを含む場合には、第2の取得部12は、例えば、主軸モータの回転軸に設けられたトルクセンサを含んでもよい。モータの電流値とトルクとは相関があるため、トルクを用いても、電流値と同様に主軸の回転状況について把握することができる。また、第2の時系列データが非回転物体に掛かる負荷のデータを含む場合には、第2の取得部12は、主軸によって回転される回転対象物に当接する非回転物体が固定された切削動力計を含んでもよい。工作機械1がNC旋盤である場合には、例えば、回転対象物はワークであり、非回転物体は工具であってもよい。工作機械1がマシニングセンタである場合には、例えば、回転対象は工具であり、非回転物体はワークであってもよい。切削動力計によって取得された非回転物体に掛かる負荷のデータによって、加工時の主軸の回転状況について把握することができる。また、第2の時系列データが加速度のデータを含む場合には、第2の取得部12は、主軸モータの非回転部分に取り付けられた加速度センサを含んでもよい。主軸モータの回転に応じて発生する振動を加速度のデータによって検出することができるため、加速度を用いても、主軸の回転状況について把握することができる。また、第2の時系列データがAEセンサによって取得された測定データを含む場合には、第2の取得部12は、非回転物体に取り付けられたAEセンサを含んでもよい。非回転物体に取り付けられたAEセンサによって取得された測定データによって、加工時の主軸の回転状況について把握することができる。また、第2の時系列データが音響データを含む場合には、第2の取得部12は、ワークの加工音を取得可能な位置に配置されたマイクロフォンを含んでもよい。ワークの加工音を含む音響データによって、加工時の主軸の回転状況について把握することができる。このような主軸の回転に関連する第2の時系列データを用いて主軸の回転状況について把握することができるため、そのような第2の時系列データを用いて、異常を検出することができる。
【0088】
また、異常の検出等に用いられる第2の時系列データは、例えば、工作機械1におけるサーボモータの回転に関連するデータであってもよい。そのため、異常の検出等に用いられる第2の時系列データは、例えば、工作機械1における主軸の回転及びサーボモータの回転の少なくとも一方に関連するデータであってもよい。サーボモータは、例えば、ワークまたは工具を移動させるためのサーボモータであってもよい。工作機械1におけるサーボモータの回転に関連するデータは、例えば、サーボモータの電流のデータ、サーボモータのトルクのデータ、サーボモータの非回転部分に取り付けられた加速度センサによって測定された加速度のデータ、及びサーボモータの回転に応じて生じる音を含む音響データの少なくともいずれかであってもよい。例えば、工具が摩耗している場合には、加工時にワークまたは工具を移動させるための力がより大きくなり、工具が破損している場合には、ワークと工具が当接しなくなり、ワークまたは工具を移動させるための力がより大きくなるため、サーボモータの回転に関連する第2の時系列データを用いることによっても、異常を検出することができる。工作機械1におけるサーボモータの回転に関連する第2の時系列データを用いた1サイクルの開始時点や、1サイクルにおける加工の終了時点の検出は、例えば、次のように行ってもよい。工作機械1における主軸の回転に関連する時系列データを用いることによって、上記したように、1サイクルの開始時点や、1サイクルにおける加工の終了時点を検出することができる。その検出時点と、工作機械1における主軸の回転に関連する時系列データに同期している工作機械1におけるサーボモータの回転に関連する時系列データとを用いることによって、サーボモータの回転に関連する時系列データにおける1サイクルの開始時点、及び1サイクルにおける加工の終了時点を特定することができる。したがって、特定部23に、サーボモータの回転に関連する時系列データにおける1サイクルの開始時点、及び1サイクルにおける加工の終了時点を示す情報を設定することによって、特定部23は、工作機械1におけるサーボモータの回転に関連する第2の時系列データを用いて1サイクルの開始時点や、1サイクルにおける加工の終了時点を特定することができるようになる。サーボモータに関する電流のデータ、トルクのデータ、加速度のデータ、音響データも、主軸モータに関する電流のデータ等と同様にして取得することができる。また、第2の時系列データは、異常の検出等に用いることができるのであれば、その他の時系列データであってもよい。
【0089】
次に、第1の時系列データが、工作機械1の制御に用いられるNCプログラムに応じて工具の切替時点を示すデータであり、受付部21が、NCプログラムに応じて1サイクルの開始時点を示す第3の時系列データをも受け付ける場合について説明する。工作機械1の制御に用いられるNCプログラムは、例えば、図9で示されるものであり、%から%までが1サイクルに対応している。また、NCプログラムには、3番目の工具への切り替えを示すコード「M06 T03」や、5番目の工具への切り替えを示すコード「M06 T05」などが含まれている。なお、図9で示されるNCプログラムでは、通常のNCプログラムには存在しない、1サイクルの開始時点を示すコード「CycleStartPoint」が加工開始のコードの前に挿入されている。この開始時点を示すコードは、1サイクルの開始時点を取得するためにのみ用いられて、工作機械1における加工には用いられないものとする。
【0090】
第1及び第3の時系列データが、工作機械1の制御に用いられるNCプログラムに応じて工具の切替時点や1サイクルの開始時点を示すデータである場合には、工作機械1の動作内容と、その動作内容に応じたNCプログラムに含まれるコードとの対応が分かるようになっているものとする。例えば、工作機械1において、NCプログラムを1行ずつ読み込んで実行する場合には、読み込んだ行のコードが実行されることになるため、あるコードの読み込み時を、そのコードの実行時点として特定してもよい。ここでは、この場合について主に説明する。
【0091】
第1の取得部11は、例えば、工作機械1において、工具切替のコードが読み込まれた時点にピークを有する第1の時系列データを取得してもよい。具体的には、第1の取得部11は、図9で示されるNCプログラムの工具切替のコード「M06 T03」「M06 T05」などが読み込まれた時点にピークを有する、図10で示される第1の時系列データS1を取得してもよい。
【0092】
また、第3の時系列データを取得するための第3の取得部は、例えば、工作機械1において、1サイクルの開始時点を示すコードが読み込まれた時点にピークを有する時系列データを取得してもよい。具体的には、第3の取得部は、図9で示されるNCプログラムにおける1サイクルの開始時点を示すコード「CycleStartPoint」が読み込まれた時点にピークを有する、図10で示される第3の時系列データS3を取得してもよい。なお、工具の切替時点や、1サイクルの開始時点は、例えば、信号のピーク以外によって示されてもよい。
【0093】
このような第1及び第3の時系列データは、工作機械1から情報処理装置2に渡され、受付部21によって受け付けられる。すなわち、受付部21は、NCプログラムに応じて工具の切替時点を示すデータを含む第1の時系列データを受け付けてもよく、工作機械1の制御に用いられるNCプログラムに応じて1サイクルの開始時点を示すデータを含む第3の時系列データを受け付けてもよい。この場合には、第1から第3の時系列データが受付部21で受け付けられてもよい。また、第3の時系列データも、第1及び第2の時系列データと同期していることが好適である。
【0094】
情報処理装置2の特定部23は、NCプログラムに基づいて取得された第1及び第3の時系列データにおいてピークの位置を特定することによって、1サイクルの開始時点や工具の切替時点を検出することができる。この場合には、特定部23は、第3の時系列データを用いて1サイクルの開始時点を特定することになる。また、ここでは、NCプログラムに応じて工具の切替時点や1サイクルの開始時点をそれぞれ示す第1及び第3の時系列データの両方が受け付けられる場合について説明したが、そうでなくてもよい。例えば、第1の時系列データは、NCプログラムに応じて工具の切替時点を示すデータであり、第3の時系列データは受け付けられなくてもよい。また、例えば、第3の時系列データは、NCプログラムに応じて1サイクルの開始時点を示すデータであり、第1の時系列データは、工具切替用モータの電流のデータなどであってもよい。なお、上記したように、工具の切替時点は、信号のピーク以外によって示されてもよい。例えば、第1の時系列データは、工具の切替時点で立ち上がり、その工具を用いた加工の工程の終了時点で立ち下がるモーダル信号であってもよい。この場合には、特定部23は、例えば、第1の時系列データにおける立ち上がりの時点を特定することによって、工具の切替時点を検出してもよい。
【0095】
なお、本実施の形態では、情報処理装置2において1サイクルごとの時系列データが取得され、それを用いた異常の検出が行われる場合について説明したが、そうでなくてもよい。1サイクルに含まれる加工の工程ごとの時系列データが取得され、それを用いた異常の検出が行われてもよい。この場合には、取得部24は、第2の時系列データにおける1サイクルに含まれる各工程に応じた時系列データを取得してもよい。取得部24は、例えば、第2の時系列データから1サイクルに応じた時系列データを取得し、その取得した時系列データを、工具の切り替え時点によって分割することによって、加工の工程ごとの時系列データを取得してもよい。また、取得部24は、第2の時系列データの1サイクルから取得した各加工の工程の時系列データをそれぞれパターンとして用いたパターンマッチングによって、各加工の工程に応じた時系列データを取得してもよい。一例として、第2の時系列データにおける1番目の1サイクルに応じた時系列データを用いて各加工の工程に応じたパターンである時系列データが取得され、それ以降の各加工の工程に応じた時系列データが、そのパターンを用いたパターンマッチングによって取得されてもよい。この場合には、例えば、2番目以降の1サイクルについて、1サイクルの時系列データを取得する前に、その1サイクルに含まれる加工の工程について異常を検出することも可能になる。また、異常検出部25は、取得部24によって取得された各加工の工程の時系列データごとに異常の検出を行ってもよい。異常の検出の処理は、上記したとおりであり、その詳細な説明を省略する。
【0096】
また、本実施の形態では、情報処理装置2において、異常の検出やサイクルタイムの取得が行われる場合について説明したが、そうでなくてもよい。異常の検出が行われない場合には、情報処理装置2は、例えば、取得部24、及び異常検出部25を備えていなくてもよい。また、サイクルタイムの取得が行われない場合には、情報処理装置2は、例えば、サイクルタイム取得部26を備えていなくてもよい。また、情報処理装置2において異常の検出が行われず、1サイクルの特定に第2の時系列データが用いられない場合には、受付部21は、例えば、第2の時系列データを受け付けなくてもよい。
【0097】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0098】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0099】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【0100】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0101】
また、上記実施の形態において、情報処理装置2に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0102】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態における情報処理装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、工作機械における工具の切り替えに関連する第1の時系列データを受け付けるステップと、第1の時系列データにおいて工具の切替時点を検出し、検出結果を用いて、工作機械において繰り返される加工の1サイクルの開始時点から工具の切り替えをカウントして1サイクルの終了時点を特定することによって1サイクルを特定するステップと、を実行させるためのプログラムである。
【0103】
なお、プログラムにおいて、情報を受け付けるステップや、情報を出力するステップなどでは、ハードウェアでしか行われない処理、例えば、情報を受け付けるステップにおけるモデムやインターフェースカードなどで行われる処理は少なくとも含まれない。
【0104】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD-ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【0105】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0106】
図11は、上記プログラムを実行して、上記実施の形態による情報処理装置2を実現するコンピュータシステム900の構成を示す図である。図11において、コンピュータシステム900は、コンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。コンピュータ901は、CD-ROMドライブ905と、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANやWAN等への接続を提供する図示しないネットワークカードを含んでいてもよい。
【0107】
コンピュータシステム900に、上記実施の形態による情報処理装置2の機能を実行させるプログラムは、CD-ROM921に記憶されて、CD-ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD-ROM921、またはネットワークから直接、ロードされてもよい。また、CD-ROM921に代えて他の記録媒体(例えば、DVD等)を介して、プログラムがコンピュータシステム900に読み込まれてもよい。
【0108】
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置2の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
【0109】
また、以上の実施の形態は、本発明を具体的に実施するための例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲及び均等の意味の範囲内での変更が含まれることが意図される。
【符号の説明】
【0110】
1 工作機械
2 情報処理装置
21 受付部
22 記憶部
23 特定部
24 取得部
25 異常検出部
26 サイクルタイム取得部
27 出力部
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11