(58)【調査した分野】(Int.Cl.,DB名)
前記第1判定部は、前記所定の条件として、前回の加工動作時の摩耗度と、前記算出部により算出された前記摩耗度との差の絶対値が所定の閾値以上である場合、前記工具が交換されたと判定する請求項1に記載の診断装置。
前記書込部は、前記第1判定部によって、前記工具に対して作業が行われたと判定された場合、その判定結果を記録データとして前記記憶部に書き込む請求項1または2に記載の診断装置。
前記書込部は、前記第1判定部によって、前記工具の交換が行われたと判定された場合、前記対象装置が管理する加工回数のリセットを要求するリセット要求を、該対象装置に送信する請求項4または5に記載の診断装置。
【発明を実施するための形態】
【0011】
以下に、図面を参照しながら、本発明に係る診断装置、診断システム、診断方法およびプログラムの実施の形態を詳細に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【0012】
[第1の実施形態]
(診断システムの構成)
図1は、第1の実施形態に係る診断システムの全体構成の一例を示す図である。
図1を参照しながら、本実施形態に係る診断システム1の構成について説明する。
【0013】
図1に示すように、診断システム1は、診断装置100と、センサ57と、を含む。診断装置100は、加工機200の動作について異常の診断を行う装置である。センサ57は、加工機200に設置されたドリル、エンドミル、バイトチップ、または砥石等の工具が発する振動または音等の物理量を検知し、検知した物理量の情報を検知情報(センサデータ)として診断装置100へ出力する。センサ57は、例えば、マイク、加速度センサ、またはAEセンサ等で構成される。
【0014】
加工機200は、工具を用いて、加工対象に対して切削、研削または研磨等の加工を行う工作機械である。加工機200は、診断装置100による診断の対象となる対象装置の一例である。
【0015】
診断装置100と加工機200とは、通信可能に接続されている。診断装置100と加工機200とは、どのような接続形態で接続されてもよい。例えば、診断装置100と加工機200とは、専用線、有線LAN(Local Area Network)等の有線ネットワーク、または、無線ネットワーク等により接続される。
【0016】
なお、センサ57の個数は任意であってよい。また、同一の物理量を検知する複数のセンサ57を備えてもよいし、相互に異なる物理量を検知する複数のセンサ57を備えてもよい。
【0017】
また、センサ57は、加工機200に予め備えられているものとしてもよく、または、完成機械である加工機200に対して後から取り付けられるものとしてもよい。
【0018】
(加工機のハードウェア構成)
図2は、第1の実施形態の加工機のハードウェア構成の一例を示す図である。
図2を参照しながら、本実施形態の加工機200のハードウェア構成について説明する。
【0019】
図2に示すように、加工機200は、CPU(Central Processing Unit)51と、ROM(Read Only Memory)52と、RAM(Random Access Memory)53と、通信I/F(インターフェース)54と、駆動制御回路55と、がバス58で接続された構成となっている。また、加工機200には、上述のように、センサ57が設置されている。
【0020】
CPU51は、加工機200の全体を制御する。CPU51は、例えば、RAM53をワークエリア(作業領域)としてROM52等に格納されたプログラムを実行することで、加工機200全体の動作を制御し、加工機能を実現する。
【0021】
通信I/F54は、診断装置100等の外部装置と通信するためのインターフェースである。駆動制御回路55は、モータ56の駆動を制御する回路である。モータ56は、ドリル、カッタ、および、テーブル等の加工に用いる工具を駆動する。センサ57は、加工機200の動作に応じて変化する物理量を検知し、その検知情報を診断装置100へ出力する。
【0022】
(診断装置のハードウェア構成)
図3は、第1の実施形態に係る診断装置のハードウェア構成の一例を示す図である。
図3を参照しながら、本実施形態に係る診断装置100のハードウェア構成について説明する。
【0023】
図3に示すように、診断装置100は、CPU61と、ROM62と、RAM63と、通信I/F64と、センサI/F65と、入出力I/F66と、補助記憶装置67と、がバス68で接続された構成となっている。
【0024】
CPU61は、診断装置100の全体を制御する。CPU61は、例えば、RAM63をワークエリア(作業領域)としてROM62等に格納されたプログラムを実行することで、診断装置100全体の動作を制御し、診断機能を実現する。
【0025】
通信I/F64は、加工機200等の外部装置と通信するためのインターフェースである。センサI/F65は、センサ57から検知情報を受信するためのインターフェースである。
【0026】
入出力I/F66は、各種装置(例えば、入力装置66aおよびディスプレイ66b)とバス68とを接続するためのインターフェースである。
【0027】
入力装置66aは、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行うためのマウスまたはキーボード等の入力装置である。
【0028】
ディスプレイ66bは、カーソル、メニュー、ウィンドウ、文字または画像等の各種情報を表示するLCD(Liquid Crystal Display)、プラズマディスプレイ、または有機EL(Electro−Luminescence)ディスプレイ等の表示装置である。
【0029】
補助記憶装置67は、診断装置100の設定情報、加工機200から受信された検知情報、加工機200の加工状態、工具の調整および交換等の記録データ、OS(Operating System)、アプリケーションプログラム、ならびに各種データを記憶するHDD(Hard Disk Drive)、SSD(Solid State Drive)、またはEEPROM(Electrically Erasable Programmable Read−Only Memory)等の不揮発性の記憶装置である。なお、補助記憶装置67は、診断装置100が備えるものとしているが、これに限定されるものではなく、例えば、診断装置100の外部に設置された記憶装置であってもよく、または、診断装置100とデータ通信可能なサーバ装置が備えた記憶装置であってもよい。
【0030】
(診断システムの機能ブロックの構成および動作)
図4は、第1の実施形態に係る診断システムの機能ブロックの構成の一例を示す図である。
図5は、加工動作に伴う工具の摩耗度の変化について説明する図である。
図6は、摩耗度が大きく低下することによって工具が交換されたと判断することを説明する図である。
図4〜
図6を参照しながら、本実施形態に係る診断システムの機能ブロックの構成および動作について説明する。併せて、加工機200の機能ブロックの構成および動作についても説明する。
【0031】
図4に示すように、加工機200は、数値制御部201と、通信制御部202と、駆動制御部203と、駆動部204と、検知部211と、を有する。
【0032】
数値制御部201は、駆動部204による加工を数値制御(NC:Numerical Control)により実行する機能部である。例えば、数値制御部201は、駆動部204の動作を制御するための数値制御データを生成して出力する。また、数値制御部201は、コンテキスト情報を通信制御部202に出力する。ここで、コンテキスト情報とは、加工機200の動作の種類ごとに複数定められる情報である。コンテキスト情報は、例えば、駆動部204を識別する情報、駆動部204の動作状態、駆動部204の回転数、駆動部204の回転速度、駆動部204に係る負荷、駆動部204の大きさ、および、駆動部204の使用開始からの累積使用時間等を示す情報である。
【0033】
数値制御部201は、例えば、現在の加工機200の動作を示すコンテキスト情報を、通信制御部202を介して診断装置100に送信する。数値制御部201は、加工対象を加工する際、加工の工程に応じて、駆動する駆動部204の種類、駆動部204の駆動状態(回転数、回転速度等)を変更する。数値制御部201は、内部メモリ等において、駆動部204に駆動される工具ごとの加工回数をカウントしているものとする。数値制御部201は、動作の種類を変更するごとに、変更した動作の種類に対応するコンテキスト情報、および工具ごとの加工回数の情報を、通信制御部202を介して診断装置100に逐次送信する。なお、加工回数の情報は、コンテキスト情報に含まれるものとしてもよい。数値制御部201は、例えば、
図2に示すCPU51で動作するプログラムによって実現される。
【0034】
通信制御部202は、診断装置100等の外部装置との間の通信を制御する機能部である。例えば、通信制御部202は、現在の動作に対応するコンテキスト情報、および工具ごとの加工回数の情報を診断装置100に送信する。通信制御部202は、例えば、
図2に示す通信I/F54、およびCPU51で動作するプログラムによって実現される。
【0035】
駆動制御部203は、数値制御部201により求められた数値制御データに基づいて、駆動部204を駆動制御する機能部である。駆動制御部203は、例えば、
図2に示す駆動制御回路55によって実現される。
【0036】
駆動部204は、駆動制御部203による駆動制御の対象となる機能部である。駆動部204は、駆動制御部203による制御によって工具を駆動する。駆動部204は、駆動制御部203によって駆動制御されるアクチュエータであり、例えば、
図2に示すモータ56等によって実現される。
【0037】
検知部211は、加工機200に設置されたドリル、エンドミル、バイトチップ、または砥石等の工具が発する振動または音等の物理量を検知し、検知した物理量の情報を検知情報(センサデータ)として診断装置100へ出力する機能部である。検知部211は、
図2に示すセンサ57によって実現される。
【0038】
なお、
図4に示す数値制御部201および通信制御部202は、
図2に示すCPU51にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【0039】
図4に示すように、診断装置100は、通信制御部101と、検知情報受信部102(第1取得部)と、加工情報取得部103(第3取得部)と、加工回数取得部104(第2取得部)と、算出部105と、動作判定部106(第2判定部)と、交換判定部107(第1判定部)と、記憶部108と、入力部109と、表示制御部110と、表示部111と、結果書込部112(書込部の一例)と、を有する。
【0040】
通信制御部101は、加工機200等の外部装置との間の通信を制御する機能部である。通信制御部101は、例えば、
図3に示す通信I/F64、およびCPU61で動作するプログラムによって実現される。通信制御部101は、受信部101aと、送信部101bと、を有する。
【0041】
受信部101aは、加工機200の数値制御部201から、通信制御部202を介して、コンテキスト情報、および工具ごとの加工回数の情報を受信する機能部である。送信部101bは、加工機200等の外部装置に対して各種情報を送信する機能部である。
【0042】
検知情報受信部102は、加工機200に設置された検知部211から検知情報を受信する機能部である。検知情報受信部102は、例えば、
図3に示すセンサI/F65、およびCPU61で動作するプログラムによって実現される。
【0043】
加工情報取得部103は、加工機200から、受信部101aにより受信されたコンテキスト情報(加工情報)を取得する機能部である。加工情報取得部103は、例えば、
図3に示すCPU61で動作するプログラムによって実現される。
【0044】
加工回数取得部104は、加工機200から、受信部101aにより受信された工具ごとの加工回数を取得する機能部である。加工回数取得部104は、例えば、
図3に示すCPU61で動作するプログラムによって実現される。なお、加工回数取得部104は、受信部101aにより受信された加工機200からの加工回数を取得することに限定されず、例えば、後述するように、交換判定部107により工具が交換されたことが判定された場合に、加工回数をリセットし、動作判定部106により判定される加工機200の加工動作毎に加工回数をカウントアップするものとしてもよい。
【0045】
算出部105は、検知情報受信部102により受信された検知部211の検知情報(センサデータ)に基づいて、加工機200のドリル、エンドミル、バイトチップ、または砥石等の工具の摩耗の度合い(摩耗度)を算出する機能部である。ここで、摩耗度とは、例えば、新品のドリルまたは砥石等の工具の径に対してどれだけの長さが摩耗したかを示す値であるものとする。算出部105は、具体的には、検知情報受信部102により受信された検知情報から、フーリエ変換した特定周波数の最大振幅、または振動している時間等である特徴量を抽出し、特徴量を用いて摩耗度を算出する。摩耗度は、
図5(a)に示すように、加工回数を重ねる程に増加傾向となる値である。しかし、
図5(b)に示すように、摩耗度が安定的に切り替わる前後において、摩耗度を算出する基となる特徴量は、ある一定幅でランダムな値をとり得る。この特徴量を基に摩耗度を算出すると、値が安定的に切り替わるまでの短い期間、数値が振動することがある。言い換えると、摩耗度は全体的には増加する値であるが、ある特定期間において判定結果が1段階上下することもあり得る。なお、フィルタをかけてこのような不安定な判定結果がでないようにしてもよい。
【0046】
算出部105は、例えば、
図3に示すCPU61で動作するプログラムによって実現される。
【0047】
動作判定部106は、受信部101aにより受信されたコンテキスト情報に基づいて、加工機200の動作状態(どの工具がどのような動作をしているか、等)を判定する機能部である。動作判定部106は、例えば、
図3に示すCPU61で動作するプログラムによって実現される。
【0048】
交換判定部107は、算出部105により算出された工具の摩耗度の変化によって、工具が交換されたか否かを判定する機能部である。
【0049】
例えば、
図6に示す例では、加工回数が3000回付近で、摩耗度が7から1へ極端に低下している。このように、摩耗度が低下するタイミングで、工具が交換されたと判断することができる。また、
図7に示す例では、加工回数が1500回付近で、摩耗度が3から6へ極端に上昇している。このように、摩耗度が上昇するタイミングで、工具が交換されたと判断することができる。例えば、交換判定部107は、算出部105により算出された工具の摩耗度が、前回加工時の摩耗度よりも所定の閾値以上変化(低下または上昇)した場合、工具が交換されたと判定するものとすればよい。
【0050】
なお、工具が交換された場合、理論的には摩耗度は0となるはずなので、交換判定部107は、算出部105により算出された工具の摩耗度が0の場合、工具が交換されたと判定するものとしてもよい。ここで、摩耗度が0とは、厳密に0を示すものではなく、0と見なせる程度の微小値となっていることも包含する概念であるものとする。
【0051】
また、交換判定部107は、工具が交換されたか否かを判定するだけではなく、摩耗度の変化によって、工具が調整等その他の作業が行われたか否かを判定するものとしてもよい。工具の調整とは、例えば、工具の摩耗状態に応じて、工具の取り付け位置を調整することである。この場合、例えば、交換判定部107は、算出部105により算出された工具の摩耗度が、前回加工時の摩耗度よりも所定の第1閾値以上変化(低下または上昇)した場合、工具が交換されたと判定し、摩耗度が第2閾値(<第1閾値)以上第1閾値未満の間で変化した場合、工具が調整されたと判定するものとしてもよい。
【0052】
交換判定部107は、例えば、
図3に示すCPU61で動作するプログラムによって実現される。
【0053】
記憶部108は、診断装置100による診断機能で必要な各種情報、ならびに、加工機200の加工状態、工具の調整および交換等の記録データ等を記憶する機能部である。記憶部108は、例えば、
図3に示す補助記憶装置67によって実現される。
【0054】
入力部109は、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行うための機能部である。入力部109は、
図3に示す入力装置66aによって実現される。
【0055】
表示制御部110は、表示部111の表示動作を制御する機能部である。表示制御部110は、例えば、
図3に示すCPU61で動作するプログラムによって実現される。
【0056】
表示部111は、表示制御部110による制御に従って各種情報を表示する機能部である。表示部111は、
図3に示すディスプレイ66bによって実現される。
【0057】
結果書込部112は、交換判定部107によって工具が交換されたと判定された場合、その判定結果を記録データとして記憶部108に書き込む機能部である。結果書込部112は、例えば、記録データを、交換判定部107により交換されたと判定された最終の摩耗度に対応する検知情報と対応付けて記憶(例えば、タイムスタンプ等を付けて記憶)してもよい。なお、結果書込部112は、上述のように、交換判定部107によって工具の交換だけでなく調整についても判定される場合、その判定結果を記録データとして記憶部108に書き込むものとしてもよい。
【0058】
結果書込部112は、例えば、
図3に示すCPU61で動作するプログラムによって実現される。
【0059】
なお、
図4に示す通信制御部101、検知情報受信部102、加工情報取得部103、加工回数取得部104、算出部105、動作判定部106、交換判定部107、表示制御部110、および結果書込部112は、上述のように
図3に示すCPU61にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【0060】
また、
図4に示した加工機200および診断装置100の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、
図4で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、
図4の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0061】
(工具交換を判定する動作)
図8は、第1の実施形態における摩耗度の変化に基づいて工具の交換を判定する動作の一例を示すフローチャートである。
図8を参照しながら、本実施形態に係る診断システム1による工具交換を判定する動作について説明する。
【0062】
<ステップS11>
診断装置100の加工情報取得部103は、加工機200から、受信部101aにより受信されたコンテキスト情報(加工情報)を取得する。そして、ステップS12へ移行する。
【0063】
<ステップS12>
診断装置100の動作判定部106は、加工情報取得部103により取得されたコンテキスト情報に基づいて、加工機200の加工状態が加工停止から加工中となったか否かを判定する。加工停止から加工中となった場合(ステップS12:Yes)、ステップS13へ移行し、そうでない場合(ステップS12:No)、ステップS14へ移行する。
【0064】
<ステップ13>
検知情報受信部102は、加工機200に設置された検知部211からの検知情報の受信(取得)動作を開始(再開)する。そして、ステップS15へ移行する。
【0065】
<ステップS14>
動作判定部106は、さらに、加工情報取得部103により取得されたコンテキスト情報に基づいて、加工機200の加工状態が加工中から加工停止となったか否かを判定する。加工中から加工停止となった場合(ステップS14:Yes)、ステップS20へ移行し、そうでない場合(ステップS14:No)、ステップS11へ戻る。
【0066】
<ステップS15>
診断装置100の算出部105は、検知情報受信部102により受信された検知情報から特徴量を抽出し、特徴量を用いて摩耗度を算出する。そして、ステップS16へ移行する。
【0067】
<ステップS16>
診断装置100の交換判定部107は、記憶部108に記憶されている前回加工時に算出部105により算出された摩耗度を取得する。なお、記憶部108に記憶されている摩耗度の初期値は、例えば「0」(摩耗度最小)とすればよい。そして、ステップS17へ移行する。
【0068】
<ステップS17>
交換判定部107は、ステップS15で算出部105により算出された摩耗度(現在の摩耗度)と、ステップS16で取得した前回加工時の摩耗度との変化から、加工機200の加工動作の停止中に工具が交換されたか否かを判定する。具体的には、交換判定部107は、例えば、現在の摩耗度が前回加工時の摩耗度から所定の閾値(例えば「2」)以上変化(低下または上昇)した場合、工具が交換されたと判定し(ステップS17:Yes)、ステップS18へ移行する。一方、交換判定部107は、現在の摩耗度が前回加工時の摩耗度から所定の閾値以上変化(低下または上昇)していない場合、工具が交換されていないと判定し(ステップS17:No)、ステップS19へ移行する。
【0069】
<ステップS18>
診断装置100の結果書込部112は、交換判定部107によって工具が交換されたと判定された場合、その判定結果を記録データとして記憶部108に書き込む。そして、ステップS19へ移行する。
【0070】
<ステップS19>
交換判定部107は、記憶部108に記憶されている前回加工時の摩耗度を、ステップS15で算出部105により算出された摩耗度(現在の摩耗度)に更新する。そして、ステップS11へ戻る。
【0071】
<ステップS20>
検知情報受信部102は、加工機200に設置された検知部211からの検知情報の受信(取得)動作を停止する。そして、ステップS21へ移行する。
【0072】
<ステップS21>
加工回数取得部104は、ステップS14で加工機200の加工状態が加工中から加工停止したと判定されているので、1回の加工動作が終了したと判断し、自装置(診断装置100)で管理している加工回数をカウントアップする。具体的には、加工回数取得部104は、加工機200側でカウントアップされ、受信部101aにより受信された加工回数を取得するものとしてもよく、または、自装置(診断装置100)で管理している加工回数を直接カウントアップするものとしてもよい。そして、ステップS11へ戻る。
【0073】
以上のステップS11〜S21の流れによって、診断システム1による工具交換を判定する動作が行われる。なお、上述の
図8で示されるフローの中で、ステップS15で、すなわち、ステップS12において加工停止から加工中となったことが判定された場合に、摩耗度が算出されていることが示されているが、このタイミングのみで摩耗度が算出されていることを示す趣旨ではなく、加工機200における加工動作中は、常時または所定の間隔で算出部105により摩耗度は算出される。
【0074】
以上のように、加工機200の加工停止後、加工再開時に算出された摩耗度が所定の条件を満たす場合、工具について作業(交換または調整等)が行われたと判定し、その判定結果を記録データとして記憶するものとしている。これによって、工具に対して作業(交換または調整等)が行われたことを自動で検出することが可能となり、作業が行われた旨を記録データとして記憶できるので、手動で記録を取る必要がなく、工具に対する作業(交換または調整等)後の作業を軽減することができる。また、自動で工具に対して作業(交換または調整等)が行われたことが記録されるので、記録忘れがなく、検知情報を工具の作業単位毎に区切り、機械学習の学習データ(教師データ)または検証用データとして利用し、摩耗度の推定(算出)および加工機200の動作の診断処理を改善することができる。
【0075】
また、上述のように、交換判定部107は、例えば、現在の摩耗度が前回加工時の摩耗度から所定の閾値(例えば「2」)以上変化(低下または上昇)した場合、工具が交換されたと判定している。すなわち、摩耗度の差の絶対値に対して閾値判定を行っているので、例えば、摩耗度が「3」の工具を、摩耗度が「6」の工具に交換した場合においても、工具の交換を検出することが可能となる。
【0076】
[第2の実施形態]
第2の実施形態に係る診断システムについて、第1の実施形態に係る診断システムと相違する点を中心に説明する。第1の実施形態では、工具に対して作業されたことを何らかの形式で記録する動作を説明した。本実施形態では、工具に対する作業のうち交換作業がされた場合、加工回数を自動でリセットすることで工具の交換が行われたことを示す動作について説明する。なお、診断システムの全体構成、ならびに、加工機200および診断装置のハードウェア構成については、第1の実施形態で説明した内容と同様である。
【0077】
(診断システムの機能ブロックの構成および動作)
図9は、第2の実施形態に係る診断システムの機能ブロックの構成の一例を示す図である。
図9を参照しながら、本実施形態に係る診断システムの機能ブロックの構成および動作について説明する。なお、加工機200の機能ブロックの構成および動作は、第1の実施形態で説明した内容と同様である。
【0078】
図9に示すように、本実施形態に係る診断装置100aは、通信制御部101と、検知情報受信部102(第1取得部)と、加工情報取得部103(第3取得部)と、加工回数取得部104(第2取得部)と、算出部105と、動作判定部106(第2判定部)と、交換判定部107(第1判定部)と、記憶部108と、入力部109と、表示制御部110と、表示部111と、リセット部113(書込部の一例)と、を有する。なお、通信制御部101、検知情報受信部102、加工情報取得部103、算出部105、動作判定部106、交換判定部107、記憶部108、入力部109、表示制御部110、および表示部111の動作は、第1の実施形態で説明した内容と同様である。
【0079】
加工回数取得部104は、加工機200から、受信部101aにより受信された工具ごとの加工回数を取得する機能部である。加工回数取得部104は、例えば、
図3に示すCPU61で動作するプログラムによって実現される。なお、加工回数取得部104は、受信部101aにより受信された加工機200からの加工回数を取得することに限定されず、例えば、後述するように、動作判定部106により判定される加工機200の加工動作毎に加工回数をカウントアップするものとしてもよい。
【0080】
リセット部113は、交換判定部107によって工具が交換されたと判定された場合、自装置(診断装置100a)で管理している加工回数をリセットする機能部である。具体的には、リセット部113は、記憶部108に記憶されている加工回数を「0」にリセットして更新する。また、リセット部113は、加工機200が管理している加工回数のリセットを要求するリセット要求を、送信部101bを介して加工機200へ送信する。リセット部113は、例えば、
図3に示すCPU61で動作するプログラムによって実現される。
【0081】
なお、
図9に示す通信制御部101、検知情報受信部102、加工情報取得部103、加工回数取得部104、算出部105、動作判定部106、交換判定部107、表示制御部110、およびリセット部113は、上述のように
図3に示すCPU61にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC等のハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【0082】
また、
図9に示した加工機200および診断装置100aの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、
図9で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、
図9の1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0083】
(工具交換を判定する動作)
図10は、第2の実施形態における摩耗度の変化に基づいて工具の交換を判定する動作の一例を示すフローチャートである。
図10を参照しながら、本実施形態に係る診断システムによる工具交換を判定する動作について説明する。
【0084】
<ステップS31>
診断装置100aの加工情報取得部103は、加工機200から、受信部101aにより受信されたコンテキスト情報(加工情報)を取得する。そして、ステップS32へ移行する。
【0085】
<ステップS32>
診断装置100aの動作判定部106は、加工情報取得部103により取得されたコンテキスト情報に基づいて、加工機200の加工状態が加工停止から加工中となったか否かを判定する。加工停止から加工中となった場合(ステップS32:Yes)、ステップS33へ移行し、そうでない場合(ステップS32:No)、ステップS34へ移行する。
【0086】
<ステップ33>
検知情報受信部102は、加工機200に設置された検知部211からの検知情報の受信(取得)動作を開始(再開)する。そして、ステップS35へ移行する。
【0087】
<ステップS34>
動作判定部106は、さらに、加工情報取得部103により取得されたコンテキスト情報に基づいて、加工機200の加工状態が加工中から加工停止となったか否かを判定する。加工中から加工停止となった場合(ステップS34:Yes)、ステップS41へ移行し、そうでない場合(ステップS34:No)、ステップS31へ戻る。
【0088】
<ステップS35>
診断装置100aの算出部105は、検知情報受信部102により受信された検知情報から特徴量を抽出し、特徴量を用いて摩耗度を算出する。そして、ステップS36へ移行する。
【0089】
<ステップS36>
診断装置100aの交換判定部107は、記憶部108に記憶されている前回加工時に算出部105により算出された摩耗度を取得する。そして、ステップS37へ移行する。
【0090】
<ステップS37>
交換判定部107は、ステップS35で算出部105により算出された摩耗度(現在の摩耗度)と、ステップS36で取得した前回加工時の摩耗度との変化から、加工機200の加工動作の停止中に工具が交換されたか否かを判定する。具体的には、交換判定部107は、例えば、現在の摩耗度が前回加工時の摩耗度から所定の閾値(例えば「2」)以上変化(低下または上昇)した場合、工具が交換されたと判定し(ステップS37:Yes)、ステップS38へ移行する。一方、交換判定部107は、現在の摩耗度が前回加工時の摩耗度から所定の閾値以上変化(低下または上昇)していない場合、工具が交換されていないと判定し(ステップS37:No)、ステップS40へ移行する。
【0091】
<ステップS38>
診断装置100aのリセット部113は、交換判定部107によって工具が交換されたと判定された場合、加工機200が管理している加工回数のリセットを要求するリセット要求を、送信部101bを介して加工機200へ送信する。ただし、この場合、加工機200が管理している加工回数がリセットされるためには、加工機200の数値制御部201等を実現するプログラムにおいて、停止命令を受けた場合に、加工機200が管理している加工回数をリセットすることが規定されていることが前提となる。また、加工機200が管理している加工回数は、加工機200側の表示装置等に表示させておくことが望ましい。これによって、加工機200の作業者は、工具の交換後、加工機200の数値制御部201が、診断装置100aからのリセット要求に応じて、加工回数をリセットしたことを確認することができる。そして、ステップS39へ移行する。
【0092】
<ステップS39>
リセット部113は、交換判定部107によって工具が交換されたと判定された場合、自装置(診断装置100a)で管理している加工回数をリセットする。また、表示制御部110は、診断装置100aが管理している加工回数を、表示部111に表示させておくことが望ましい。これによって、加工機200の作業者は、工具の交換後、表示部111に表示された加工回数がリセットされたことを確認することによって、診断装置100a側で工具の交換が認識されたことを確認することができる。そして、ステップS40へ移行する。
【0093】
<ステップS40>
交換判定部107は、記憶部108に記憶されている前回加工時の摩耗度を、ステップS35で算出部105により算出された摩耗度(現在の摩耗度)に更新する。ステップS31へ戻る。
【0094】
<ステップS41>
検知情報受信部102は、加工機200に設置された検知部211からの検知情報の受信(取得)動作を停止する。そして、ステップS42へ移行する。
【0095】
<ステップS42>
加工回数取得部104は、ステップS34で加工機200の加工状態が加工中から加工停止したと判定されているので、1回の加工動作が終了したと判断し、自装置(診断装置100a)で管理している加工回数をカウントアップする。具体的には、加工回数取得部104は、加工機200側でカウントアップされ、受信部101aにより受信された加工回数を取得するものとしてもよく、または、自装置(診断装置100a)で管理している加工回数を直接カウントアップするものとしてもよい。この場合、加工回数取得部104は、カウントアップした加工回数を記憶部108に書き込む(更新する)。また、表示制御部110は、診断装置100aが管理している加工回数を、表示部111に表示させておくことが望ましい。これによって、加工機200の作業者は、表示部111に表示された加工回数がカウントアップされることを確認することによって、診断装置100a側で、加工機200の加工動作の完了が認識されていることを確認することができる。そして、ステップS31へ戻る。
【0096】
以上のステップS31〜S42の流れによって、本実施形態に係る診断システムによる工具交換を判定する動作が行われる。なお、上述の
図10で示されるフローの中で、ステップS35で、すなわち、ステップS32において加工停止から加工中となったことが判定された場合に、摩耗度が算出されていることが示されているが、このタイミングのみで摩耗度が算出されていることを示す趣旨ではなく、加工機200における加工動作中は、常時または所定の間隔で算出部105により摩耗度は算出される。
【0097】
以上のように、加工機200の加工停止後、加工再開時に算出された摩耗度が所定の条件を満たす場合、工具の交換がされたと判定し、自装置(診断装置100a)が管理する加工回数をリセットするものとしている。さらに、リセット部113は、加工機200が管理している加工回数のリセットを要求するリセット要求を、送信部101bを介して加工機200へ送信するものとしている。これによって、工具の交換が行われたことを自動で検出することが可能となり、診断装置100aおよび加工機200それぞれが管理する加工回数を自動でリセットすることができるので、手動でリセット作業する必要がなく、工具の交換後の作業を軽減することができる。
【0098】
また、表示部111に診断装置100aで管理する加工回数を表示させることによって、加工機200の作業者は、表示部111に表示された加工回数がカウントアップされることを確認することによって、診断装置100a側で、加工機200の加工動作の完了が認識されていることを確認することができ、かつ、工具の交換後、表示部111に表示された加工回数がリセットされたことを確認することによって、診断装置100a側で工具の交換が認識されたことを確認することができる。また、加工機200の表示装置に加工回数を表示させることによって、加工機200の作業者は、工具の交換後、加工機200の数値制御部201が、診断装置100aからのリセット要求に応じて、加工回数をリセットしたことを確認することができる。
【0099】
なお、上述の各実施形態の診断装置で実行されるプログラムは、ROM等に予め組み込まれて提供される。
【0100】
上述の各実施形態の診断装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk−Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成してもよい。
【0101】
さらに、上述の各実施形態の診断装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態の診断装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0102】
上述の各実施形態の診断装置で実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。