(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】工作機械、制御方法、および制御プログラム
(51)【国際特許分類】
B23Q 3/155 20060101AFI20241112BHJP
B23Q 3/157 20060101ALI20241112BHJP
B23Q 17/00 20060101ALI20241112BHJP
【FI】
B23Q3/155 F
B23Q3/155 E
B23Q3/157 B
B23Q17/00 D
(21)【出願番号】P 2023547956
(86)(22)【出願日】2021-09-14
(86)【国際出願番号】 JP2021033695
(87)【国際公開番号】W WO2023042249
(87)【国際公開日】2023-03-23
【審査請求日】2024-02-22
【早期審査対象出願】
(73)【特許権者】
【識別番号】000146847
【氏名又は名称】DMG森精機株式会社
(74)【代理人】
【識別番号】100185719
【氏名又は名称】北原 悠樹
(72)【発明者】
【氏名】加藤 靖隆
【審査官】中川 康文
(56)【参考文献】
【文献】特開2000-084775(JP,A)
【文献】特開平10-100033(JP,A)
【文献】国際公開第2020/012547(WO,A1)
【文献】特開昭61-178151(JP,A)
【文献】特許第6775704(JP,B1)
【文献】特開平06-043920(JP,A)
【文献】特開平02-036046(JP,A)
【文献】韓国公開特許第10-2013-0068737(KR,A)
【文献】特開2022-133799(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B23Q 3/155-3/157
B23Q 17/00-23/00
G05B 19/18-19/416
(57)【特許請求の範囲】
【請求項1】
工作機械であって、
複数の工具を保持することが可能なマガジンと、
前記複数の工具の内の少なくとも1つの工具を用いてワークを加工するための加工機本体と、
前記工作機械を制御するための制御部と、
表示部と、
前記マガジンを駆動するための駆動部とを備え、
前記制御部は、
前記複数の工具に関する工具情報を取得する処理を実行し、前記工具情報は、前記複数の工具の各々について工具の種別と工具の状態とを規定しており、前記状態は、異常状態と正常状態とを含み、
前記異常状態は、工具が損傷していることを示す損傷状態と、工具の寿命が尽きていることを示す寿命切れ状態と、工具の寿命が尽きておらず、かつ、工具の残寿命が所定閾値よりも少ないことを示す寿命警告状態と、を含み、
前記制御部は、さらに、
前記工具情報に基づいて、前記正常状態である同種の工具が前記マガジン内に存在しない前記異常状態の工具を回収候補として決定する処理と、
前記回収候補の工具に関する予め定められた処理とを実行し
、
前記予め定められた処理は、
複数の前記回収候補の工具に関する工具情報を前記表示部に一覧表示する処理と、
前記表示部に表示されている複数の前記回収候補の工具に関する選択を受け付ける処理と、
選択された前記回収候補の工具を予め定められた位置に移動するように前記駆動部を制御する処理と含む工作機械。
【請求項2】
前記一覧表示は、複数の前記回収候補の工具に関して回収の優先度の高い工具から順番に並べて表示するように構成されている請求項1記載の工作機械。
【請求項3】
前記一覧表示は、さらに複数の前記回収候補の工具に関する工具情報と、前記マガジンに収納されている工具の工具情報とを比較可能に構成されている請求項2記載の工作機械。
【請求項4】
前記決定する処理は、前記正常状態である同種の工具が前記マガジン内に存在しない前記損傷状態の工具を、前記正常状態である同種の工具が前記マガジン内に存在しない前記寿命切れ状態の工具よりも、優先的に前記回収候補として決定する、請求項1~3のいずれか1項に記載の工作機械。
【請求項5】
前記決定する処理では、前記正常状態である同種の工具が前記マガジン内に存在しない前記寿命切れ状態の工具が、前記正常状態である同種の工具が前記マガジン内に存在しない前記寿命警告状態の工具よりも、優先的に前記回収候補として決定される、請求項4に記載の工作機械。
【請求項6】
前記決定する処理では、前記正常状態である同種の工具が前記マガジン内に存在しない前記異常状態の工具が、前記正常状態である同種の工具が前記マガジン内に存在する前記異常状態の工具よりも、優先的に前記回収候補として決定される、請求項1~3のいずれか1項に記載の工作機械。
【請求項7】
工作機械の制御方法であって、
前記工作機械は、
複数の工具を保持することが可能なマガジンと、
前記複数の工具の内の少なくとも1つの工具を用いてワークを加工するための加工機本体と、
表示部と、
前記マガジンを駆動するための駆動部とを備え、
前記制御方法は、
前記複数の工具に関する工具情報を取得するステップを備え、前記工具情報は、前記複数の工具の各々について工具の種別と工具の状態とを規定しており、前記状態は、異常状態と正常状態とを含み、
前記異常状態は、工具が損傷していることを示す損傷状態と、工具の寿命が尽きていることを示す寿命切れ状態と、工具の寿命が尽きておらず、かつ、工具の残寿命が所定閾値よりも少ないことを示す寿命警告状態と、を含み、
前記制御方法は、さらに、
前記工具情報に基づいて、前記正常状態である同種の工具が前記マガジン内に存在しない前記異常状態の工具を回収候補として決定するステップと、
前記回収候補の工具に関する予め定められた処理を実行するステップと備え、
前記予め定められた処理は、
複数の前記回収候補の工具に関する工具情報を前記表示部に一覧表示する処理と、
前記表示部に表示されている複数の前記回収候補の工具に関する選択を受け付ける処理と、
選択された前記回収候補の工具を予め定められた位置に移動するように前記駆動部を制御する処理と含む、制御方法。
【請求項8】
工作機械の制御プログラムであって、
前記工作機械は、
複数の工具を保持することが可能なマガジンと、
前記複数の工具の内の少なくとも1つの工具を用いてワークを加工するための加工機本体と
、
表示部と、
前記マガジンを駆動するための駆動部とを備え、
前記制御プログラムは、前記工作機械に、
前記複数の工具に関する工具情報を取得するステップを実行させ、前記工具情報は、前記複数の工具の各々について工具の種別と工具の状態とを規定しており、前記状態は、異常状態と正常状態とを含み、
前記異常状態は、工具が損傷していることを示す損傷状態と、工具の寿命が尽きていることを示す寿命切れ状態と、工具の寿命が尽きておらず、かつ、工具の残寿命が所定閾値よりも少ないことを示す寿命警告状態と、を含み、
前記制御プログラムは、前記工作機械に、さらに、
前記工具情報に基づいて、前記正常状態である同種の工具が前記マガジン内に存在しない前記異常状態の工具を回収候補として決定するステップと、
前記回収候補の工具に関する予め定められた処理
を実行させるステップとを含み、
前記予め定められた処理は、
複数の前記回収候補の工具に関する工具情報を前記表示部に一覧表示する処理と、
前記表示部に表示されている複数の前記回収候補の工具に関する選択を受け付ける処理と、
選択された前記回収候補の工具を予め定められた位置に移動するように前記駆動部を制御する処理と含む、制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、工作機械、工作機械の制御方法、および工作機械の制御プログラムに関する。
【背景技術】
【0002】
特開2004-130451号公報(特許文献1)は、工具の交換時期を表示する機能を備えた工具交換時期表示装置を開示している。当該工具交換時期表示装置は、工具交換の作業負荷に応じて、工具の交換時期を決定する。これにより、当該工具交換時期表示装置は、「複数の設備が存在するラインで、交換対象の刃具数が多い場合でも、計画的かつ効率的に刃具の交換を行い、刃具未交換による設備停止を防ぐ」。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
異常状態の工具が工作機械内にあったとしても、当該工具と同種の正常状態の工具が存在すれば、工作機械は、当該正常な工具を加工に代用することができる。一方で、代用可能な工具が工作機械内に存在しなければ、当該工作機械は、ワークの加工を進めることができない。この場合、工作機械は、新たな工具が装着されるまでワークの加工を停止しなければならない。
【0005】
したがって、代用可能な工具の有無に応じて回収対象の工具の優先度をより適切に決定することが望まれている。なお、特許文献1は、当該技術を開示するものではない。
【課題を解決するための手段】
【0006】
本開示の一例では、工作機械は、複数の工具を保持することが可能なマガジンと、上記複数の工具の内の少なくとも1つの工具を用いてワークを加工するための加工機本体と、上記工作機械を制御するための制御部とを備える。上記制御部は、上記複数の工具に関する工具情報を取得する処理を実行する。上記工具情報は、上記複数の工具の各々について工具の種別と工具の状態とを規定している。上記状態は、異常状態と正常状態とを含む。上記制御部は、さらに、上記工具情報に基づいて、上記正常状態である同種の工具が上記マガジン内に存在しない上記異常状態の工具を回収候補として決定する処理と、上記回収候補の工具に関する予め定められた処理とを実行する。
【0007】
本開示の一例では、上記工作機械は、さらに、上記マガジンを駆動するための駆動部を備える。上記予め定められた処理は、上記回収候補の工具を予め定められた位置に移動するように上記駆動部を制御する処理を含む。
【0008】
本開示の一例では、上記工作機械は、さらに、表示部を備える。上記予め定められた処理は、上記回収候補の工具に関する情報を上記表示部に表示する処理を含む。
【0009】
本開示の一例では、上記異常状態は、工具が損傷していることを示す損傷状態と、工具の寿命が尽きていることを示す寿命切れ状態とを含む。上記決定する処理は、上記正常状態である同種の工具が上記マガジン内に存在しない上記損傷状態の工具を、上記正常状態である同種の工具が上記マガジン内に存在しない上記寿命切れ状態の工具よりも、優先的に上記回収候補として決定する。
【0010】
本開示の一例では、上記異常状態は、さらに、工具の寿命が尽きておらず、かつ、工具の残寿命が所定閾値よりも少ないことを示す寿命警告状態を含む。上記決定する処理では、上記正常状態である同種の工具が上記マガジン内に存在しない上記寿命切れ状態の工具が、上記正常状態である同種の工具が上記マガジン内に存在しない上記寿命警告状態の工具よりも、優先的に上記回収候補として決定される。
【0011】
本開示の一例では、上記決定する処理では、上記正常状態である同種の工具が上記マガジン内に存在しない上記異常状態の工具が、上記正常状態である同種の工具が上記マガジン内に存在する上記異常状態の工具よりも、優先的に上記回収候補として決定される。
【0012】
本開示の他の例では、工作機械の制御方法が提供される。上記工作機械は、複数の工具を保持することが可能なマガジンと、上記複数の工具の内の少なくとも1つの工具を用いてワークを加工するための加工機本体とを備える。上記制御方法は、上記複数の工具に関する工具情報を取得するステップを備える。上記工具情報は、上記複数の工具の各々について工具の種別と工具の状態とを規定している。上記状態は、異常状態と正常状態とを含む。上記制御方法は、さらに、上記工具情報に基づいて、上記正常状態である同種の工具が上記マガジン内に存在しない上記異常状態の工具を回収候補として決定するステップと、上記回収候補の工具に関する予め定められた処理を実行するステップと備える。
【0013】
本開示の他の例では、工作機械の制御プログラムが提供される。上記工作機械は、複数の工具を保持することが可能なマガジンと、上記複数の工具の内の少なくとも1つの工具を用いてワークを加工するための加工機本体とを備える。上記制御プログラムは、上記工作機械に、上記複数の工具に関する工具情報を取得するステップを実行させる。上記工具情報は、上記複数の工具の各々について工具の種別と工具の状態とを規定している。上記状態は、異常状態と正常状態とを含む。上記制御プログラムは、上記工作機械に、さらに、上記工具情報に基づいて、上記正常状態である同種の工具が上記マガジン内に存在しない上記異常状態の工具を回収候補として決定するステップと、上記回収候補の工具に関する予め定められた処理とを実行させる。
【0014】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0015】
【
図3】マガジンに保持されている工具の中から回収候補を決定する処理を概略的に示す図である。
【
図5】工具情報のデータ構造の一例を示す図である。
【
図9】CPU(Central Processing Unit)ユニットのハードウェア構成の一例を示す図である。
【
図10】CNC(Computer Numerical Control)ユニットのハードウェア構成の一例を示す図である。
【
図11】操作盤のハードウェア構成の一例を示す図である。
【
図12】工作機械の制御部が実行する処理の一部を表わすフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【0017】
<A.工作機械100>
まず、
図1を参照して、実施の形態に従う工作機械100について説明する。
図1は、工作機械100の外観を示す図である。
【0018】
本明細書でいう「工作機械」とは、ワークを加工する機能を備えた種々の装置を包含する概念である。工作機械100は、横形のマシニングセンタであってもよいし、立形のマシニングセンタであってもよい。あるいは、工作機械100は、旋盤であってもよいし、付加加工機であってもよいし、その他の切削機械や研削機械であってもよい。
【0019】
工作機械100は、工具収納部40Aと、加工機本体40Bとを有する。工具収納部40Aおよび加工機本体40Bは、カバーによって区画化されている。
【0020】
工具収納部40Aには、マガジン150と、ATC(Automatic Tool Changer)160とが設けられている。加工機本体40Bには、主軸170が設けられている。
【0021】
加工機本体40Bは、マガジン150に保持されている複数の工具の内の少なくとも1つを用いてワークを加工する。より具体的には、工作機械100は、マガジン150を駆動し、加工工程に応じた一の工具(以下、「次使用工具」ともいう。)を第1の工具交換位置に移動する。また、工作機械100は、主軸170を駆動し、主軸170に装着されている工具(以下、「使用済工具」ともいう。)を第2の工具交換位置に移動する。その後、ATC160は、第1の工具交換位置で待機している次使用工具と、第2の工具交換位置で待機している使用済工具とを交換する。工具の交換は、加工機本体40Bと工具収納部40Aとの間の仕切に設けられているドアDを介して行なわれる。ドアDは、スライド式のドアであり、モータなどの駆動源により開閉される。その後、主軸170は、装着された次使用工具を用いてワークを加工する。
【0022】
また、工作機械100には、操作盤400が設けられている。操作盤400は、加工に関する各種情報を表示するためのディスプレイ405と、工作機械100に対する各種操作を受け付ける操作キー406とを含む。
【0023】
<B.工作機械100の駆動機構>
次に、
図2を参照して、工作機械100の各種構成について説明する。
図2は、工作機械100の駆動機構の一例を示す図である。
【0024】
図2に示されるように、工作機械100は、制御部50と、駆動部110,120,130と、マガジン150と、ATC160と、主軸170とを含む。
【0025】
説明の便宜のために、以下では、重力方向を「X軸方向」とも称する。X軸に直交する水平面上の一方向を「Y軸方向」とも称する。X軸方向およびY軸方向の両方に直交する方向を「Z軸方向」と称する。
【0026】
本明細書でいう「制御部50」とは、工作機械100を制御する装置を意味する。制御部50の装置構成は、任意である。制御部50は、単体の制御ユニットで構成されてもよいし、複数の制御ユニットで構成されてもよい。
図2の例では、制御部50は、CPUユニット200と、CNCユニット300とで構成されている。
【0027】
CPUユニット200およびCNCユニット300は、たとえば、バスBを介して互いに通信を行なう。CPUユニット200は、たとえば、PLC(Programmable Logic Controller)である。
【0028】
CPUユニット200は、予め設計されているPLCプログラムに従って、駆動部110を制御する。当該PLCプログラムは、たとえば、ラダープログラムで記述されている。
【0029】
駆動部110は、マガジン150を回転駆動するための駆動機構である。駆動部110の装置構成は、任意である。駆動部110は、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。
図2の例では、駆動部110は、モータドライバ111Mと、モータ112Mとで構成されている。
【0030】
モータドライバ111Mは、CPUユニット200からの制御指令に従って、マガジン150を駆動する。マガジン150には、モータ112Mが設けられている。モータ112Mは、サーボモータであってもよいし、ステッピングモータであってもよいし、その他の種類のモータであってもよい。
【0031】
より具体的な処理として、モータドライバ111Mは、目標回転速度の入力をCPUユニット200から受け、モータ112Mを制御する。モータ112Mは、モータドライバ111Mからの出力電流に従ってマガジン150を回転駆動し、マガジン150内の指定された次使用工具T1を指定された位置に駆動する。
【0032】
また、CPUユニット200は、予め設計されているPLCプログラムに従って、駆動部120を制御する。駆動部120は、ATC160を駆動するための駆動機構である。駆動部120の装置構成は、任意である。駆動部120は、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。
図2の例では、駆動部120は、ATCドライバ121Aと、モータ122A,122Bとで構成されている。
【0033】
ATCドライバ121Aは、たとえば、2軸一体型のドライバであり、ATC160に接続されるモータ122A,122Bの駆動を制御する。ATC160は、中心軸165と、アーム166とを含む。アーム166は、たとえば、同時に2つの工具を保持できるダブルアームである。すなわち、アーム166は、中心軸165の軸方向に直交する一方向(たとえば、X軸方向)に中心軸165から延出している工具把持部166Aと、当該一方向の反対方向に中心軸165から延出している工具把持部166Bとを有する。
【0034】
モータ122A,122Bの各々は、サーボモータであってもよいし、ステッピングモータであってもよいし、その他の種類のモータであってもよい。ATCドライバ121Aは、たとえば、モータ122Aの目標回転速度の入力と、モータ122Bの目標回転速度の入力とのそれぞれをCPUユニット200から受け、モータ122A,122Bのそれぞれを制御する。モータ122Aは、ATCドライバ121Aからの出力電流に従ってATC160のアーム166を送り駆動し、中心軸165の軸方向の任意の位置にアーム166を駆動する。モータ122Bは、ATCドライバ121Aからの出力電流に従ってATC160のアーム166を回転駆動し、中心軸165を回転中心として任意の回転角度にアーム166を駆動する。
【0035】
一例として、ATC160は、工具の交換命令を受けたことに基づいて、マガジン150から次使用工具T1を取得する。その後、ATC160は、使用済工具T2を主軸170から抜き取るとともに、次使用工具T1を主軸170に装着する。その後、ATC160は、主軸170から抜き取った使用済工具T2をマガジン150に収納する。
【0036】
CNCユニット300は、CPUユニット200からの加工開始指令を受けたことに基づいて、予め設計されている加工プログラムの実行を開始する。当該加工プログラムは、たとえば、NC(Numerical Control)プログラムで記述されている。CNCユニット300は、当該加工プログラムに従って、駆動部130を駆動する。
【0037】
駆動部130は、主軸170を移動するための駆動機構である。駆動部130の装置構成は、任意である。駆動部130は、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。
図2の例では、駆動部130は、モータドライバ131B,131C,131X,131Y,131Zと、モータ132B,132C,132X,132Y,132Zとで構成されている。
【0038】
モータドライバ131Bは、CNCユニット300から目標回転速度の入力を逐次的に受け、モータ132Bを制御する。モータ132Bは、Y軸方向を中心として主軸170を回転駆動する。モータ132Bは、交流モータであってもよいし、ステッピングモータであってもよいし、サーボモータであってもよいし、その他の種類のモータであってもよい。
【0039】
モータ132Bがサーボモータである場合、モータドライバ131Bは、モータ132Bの回転角度を検知するためのエンコーダ(図示しない)のフィードバック信号からモータ132Bの実回転速度を算出する。そして、モータドライバ131Bは、算出した実回転速度が目標回転速度よりも小さい場合にはモータ132Bの回転速度を上げ、算出した実回転速度が目標回転速度よりも大きい場合にはモータ132Bの回転速度を下げる。このように、モータドライバ131Bは、モータ132Bの回転速度のフィードバックを逐次的に受けながらモータ132Bの回転速度を目標回転速度に近付ける。
【0040】
モータドライバ131Cは、CNCユニット300から目標位置の入力を逐次的に受け、モータ132Cを制御する。モータ132Cは、主軸170の軸方向を回転中心として主軸170を回転駆動する。モータ132Cは、交流モータであってもよいし、ステッピングモータであってもよいし、サーボモータであってもよいし、その他の種類のモータであってもよい。モータドライバ131Cによるモータ132Cの制御方法は、モータドライバ131Bと同様であるので、その説明については繰り返さない。
【0041】
モータドライバ131Xは、CNCユニット300から目標位置の入力を逐次的に受け、モータ132Xを制御する。モータ132Xは、主軸170を送り駆動し、X軸方向の任意の位置に主軸170を移動する。モータ132Xは、交流モータであってもよいし、ステッピングモータであってもよいし、サーボモータであってもよいし、その他の種類のモータであってもよい。モータドライバ131Xによるモータ132Xの制御方法は、モータドライバ131Bと同様であるので、その説明については繰り返さない。
【0042】
モータドライバ131Yは、CNCユニット300から目標位置の入力を逐次的に受け、モータ132Yを制御する。モータ132Yは、主軸170を送り駆動し、Y軸方向の任意の位置に主軸170を移動する。モータ132Yは、交流モータであってもよいし、ステッピングモータであってもよいし、サーボモータであってもよいし、その他の種類のモータであってもよい。モータドライバ131Yによるモータ132Yの制御方法は、モータドライバ131Bと同様であるので、その説明については繰り返さない。
【0043】
モータドライバ131Zは、CNCユニット300から目標位置の入力を逐次的に受け、モータ132Zを制御する。モータ132Zは、主軸170を送り駆動し、Z軸方向の任意の位置に主軸170を移動する。モータ132Zは、交流モータであってもよいし、ステッピングモータであってもよいし、サーボモータであってもよいし、その他の種類のモータであってもよい。モータドライバ131Zによるモータ132Zの制御方法は、モータドライバ131Bと同様であるので、その説明については繰り返さない。
【0044】
<C.概要>
図3を参照して、工具の回収処理の概略について説明する。
図3は、上述のマガジン150に保持されている工具の中から回収候補を決定する処理を概略的に示す図である。
【0045】
マガジン150は、ワークの加工に用いられる種々の工具を保持している。マガジン150は、正常状態の工具だけでなく、異常状態の工具を保持している可能性がある。
【0046】
「異常状態の工具」とは、ワークの加工に用いることが推奨されない状態の工具を意味する。一例として、異常状態の工具は、損傷が生じている工具と、摩耗などにより寿命が尽きた工具と、残寿命が所定時間以下の工具とを含む。工具の損傷の種類としては、たとえば、過大な力がかかったことによる工具の変形、工具の刃欠け、および工具の折損などが挙げられる。
【0047】
これに対して、「正常状態の工具」とは、ワークの加工に用いることが可能な状態の工具を意味する。典型的には、「正常状態の工具」とは、異常状態の工具以外の工具である。
【0048】
なお、摩耗などにより寿命が尽きた工具と、残寿命が所定時間以下の工具とは、使用が推奨されないだけで、加工に用いること自体は可能である。そのため、摩耗などにより寿命が尽きた工具と、残寿命が所定時間以下の工具とは、「異常状態の工具」ではなく、「正常状態の工具」とみなされてもよい。
【0049】
マガジン150には、工具を保持するための複数のポットが設けられている。マガジン150に設けられているポットの数は、任意である。
図3の例では、3つのポットP1~P3が示されている。
【0050】
ポットP1は、工具種別「A」の工具T1を保持している。工具T1は、ワークの加工に用いることが推奨されない異常状態であるとする。
【0051】
ポットP2は、工具種別「A」の工具T2を保持している。すなわち、工具T2は、工具T1と同種である。工具T2は、ワークの加工に用いることが可能な正常状態である。
【0052】
ポットP3は、工具種別「B」の工具T3を保持している。工具T3は、ワークの加工に用いることが推奨されない異常状態であるとする。また、工具種別「B」である正常状態の工具は、マガジン150内に存在しないものとする。
【0053】
加工プログラムにおいて工具T3が呼び出された場合には、代用可能な他の工具が存在しないため、作業者は、新たに工具種別「B」の工具をマガジン150に装着する必要がある。この場合、新たな工具の装着が完了するまで、工作機械100は、ワークの加工を進めることができない。
【0054】
一方で、加工プログラムにおいて異常状態の工具T1が呼び出された場合には、異常状態の工具T1と同種である正常状態の工具T2が存在するので、工作機械100は、工具T1の代わりに工具T2を用いてワークの加工を進めることができる。
【0055】
このように、代用可能な工具が存在しない工具T3の交換の優先度は、代用可能な工具が存在する工具T1の交換の優先度よりも高い。そこで、工作機械100は、代用可能な工具の有無に応じて回収対象の工具の優先度を決定する。
【0056】
より具体的には、まず、工作機械100の制御部50は、マガジン150に保持されている各工具に関する工具情報を取得する。当該工具情報は、マガジン150に保持されている各工具の種別と、当該各工具の状態とを少なくとも規定している。当該状態は、たとえば、上述の正常状態と上述の異常状態とを含む。次に、制御部50は、当該取得した工具情報に基づいて、正常状態である同種の工具がマガジン150内に存在しない異常状態の工具を回収候補として決定する。これにより、制御部50は、代用可能な工具が存在する工具T1よりも代用可能な工具が存在しない工具T3を優先して回収候補とする。その後、制御部50は、回収候補の工具T3に関する予め定められた処理を実行する。当該処理の詳細については後述する。
【0057】
以上の処理により、工作機械100は、代用可能な工具の有無に応じて回収対象の工具の優先度をより適切に決定することができる。これにより、工作機械100は、ワークの加工が停止することを回避できる。あるいは、たとえワークの加工が停止してしまった場合であっても、工作機械100は、ワークの加工をより早く再開することができる。
【0058】
<D.工作機械100の機能構成>
次に、
図4~
図7を参照して、工作機械100の機能構成について説明する。
図4は、工作機械100の機能構成の一例を示す図である。
【0059】
図4に示されるように、工作機械100の制御部50は、機能構成として、監視部52と、決定部54と、実行部56とを含む。以下では、これらの構成について順に説明する。
【0060】
なお、各機能構成の配置は、任意である。
図4に示される機能構成の一部または全部は、上述のCPUユニット200(
図2参照)に実装されてもよいし、上述のCNCユニット300(
図2参照)に実装されてもよいし、上述の操作盤400(
図1参照)に実装されてもよい。一例として、監視部52は、CNC300に実装される。決定部54および実行部56の各々は、たとえば、CPUユニット200または操作盤400に実装される。他の例として、
図4に示される機能構成の一部は、サーバーなどの外部装置に実装されてもよい。
【0061】
(D1.監視部52)
まず、
図5を参照して、
図4に示される監視部52の機能について説明する。
【0062】
監視部52は、工作機械100内に収納されている各工具の状態を監視する。各工具の状態は、たとえば、
図5に示される工具情報224において管理する。
図5は、工具情報224のデータ構造の一例を示す図である。
【0063】
工具情報224は、マガジン150内のポット番号ごとに、工具の識別情報と、当該工具の種別と、当該工具の状態と、当該工具の残寿命とを対応付けている。
【0064】
工具情報224に規定されているポット番号は、マガジン150内の収納場所を一意に特定するための情報である。典型的には、工具情報224に規定されているポット番号は、ポットごとに予め割り振られている。
【0065】
工具情報224に規定されている工具の識別情報は、工具を一意に特定するための情報である。当該識別情報は、たとえば、ユーザによる設定作業によって予め割り振られている。当該識別情報は、IDなどの工具番号で示されてもよいし、工具名で示されてもよい。
【0066】
工具情報224に規定されている工具種別は、工具の種類を一意に特定するための情報である。当該工具種別は、たとえば、ユーザによる設定作業によって予め割り振られている。当該工具種別は、IDなどの種別番号で示されてもよいし、種別名で示されてもよい。
【0067】
監視部52は、作業者によるマガジン150への工具の脱着作業を監視し、工具情報224を逐次的に更新する。より具体的には、作業者は、装着対象の工具をマガジン150に装着する。当該工具を装着する位置の付近には、バーコードまたはQRコード(登録商標)の読み取り装置(図示しない)が設けられており、当該読み取り装置は、工具に付されているバーコードまたはQRコードを読み取る。これにより、装着対象の工具の識別情報や工具の種別が読み取られる。監視部52は、読み取られた工具情報と、読み取られた工具種別とを、工具の装着場所のポット番号に対応付けた上で、工具情報224に書き込む。
【0068】
工具情報224に規定されている工具の状態は、たとえば、上述の正常状態と、上述の異常状態とを含む。異常状態は、たとえば、工具が損傷していることを示す「損傷状態」と、工具の寿命が尽きていることを示す「寿命切れ状態」と、工具の寿命が尽きておらず、かつ工具の残寿命が所定閾値よりも少ないことを示す「寿命警告状態」とを含む。
【0069】
工具が「損傷状態」であるか否かは、たとえば、工作機械100内に設けられている損傷センサによって検出される。一例として、当該損傷センサは、工作機械100内の主軸170に設けられている圧力センサを含む。当該圧力センサは、ワークの加工中に主軸170にかかる力を検出する。監視部52は、当該圧力センサの出力値を監視し、当該出力値が所定値を超えたことに基づいて、工具に過大な力がかかったと判断する。監視部52は、工具に過大な力がかかったと判断した場合、工具が曲がってしまった可能性があると判断し、当該工具の状態を「損傷状態」に変更する。
【0070】
他の例として、上記損傷センサは、工具外形の測定センサを含む。当該測定センサは、たとえば、距離センサ、タッチセンサ、または、工具の外形を検出することが可能なその他のセンサである。一例として、距離センサを用いて工具の損傷を検出する例について説明する。工作機械100は、主軸170に装着されている工具を距離センサの前で回転させることで、当該距離センサから工具の外形を表わす時系列データを取得する。監視部52は、当該時系列データと予め定められた正常値との差分を算出し、当該差分結果の絶対値が所定値を超えている場合に、工具が刃欠けしていると判断する。監視部52は、工具が刃欠けしていると判断した場合、当該工具の状態を「損傷状態」に変更する。
【0071】
他の例として、上記損傷センサは、工作機械100内の工具を撮影するためのカメラを含む。監視部52は、当該カメラから得られた画像に対して所定の画像処理を実行することで、工具が損傷しているか否かを判断する。監視部52は、工具が損傷していると判断した場合、当該工具の状態を「損傷状態」に変更する。
【0072】
一例として、損傷している工具が画像に写っているか否かは、学習済みモデルを用いて認識される。学習済みモデルは、学習用データセットを用いた学習処理により予め生成されている。学習用データセットは、工具が写っている複数の学習用画像を含む。各学習用画像には、正常な工具が写っているか否かを示すラベル(あるいは、損傷の種別を示すラベル)が関連付けられている。学習済みモデルの内部パラメータは、このような学習用データセットを用いた学習処理により予め最適化されている。
【0073】
学習済みモデルを生成するための学習手法には、種々の機械学習アルゴリズムが採用され得る。一例として、当該機械学習アルゴリズムとして、ディープラーニング、コンボリューションニューラルネットワーク(CNN)、全層畳み込みニューラルネットワーク(FCN)、サポートベクターマシンなどが採用される。
【0074】
監視部52は、カメラから得られた入力画像上において矩形領域をずらしながら、当該矩形領域内の部分画像を学習済モデルに順次入力する。その結果、当該学習済モデルは、入力された部分画像に損傷している工具が写っている確率を出力する。監視部52は、当該確率が所定値を超えた部分画像に損傷している工具が写っていると判断し、当該工具の状態を「損傷状態」に変更する。
【0075】
「寿命切れ状態」と、「寿命警告状態」とは、たとえば、工作機械100の加工プログラム322に基づいて判断される。より具体的な処理として、監視部52は、加工プログラム322を監視し、各工具が加工に使用されているか否かを判断する。監視部52は、使用中の工具については、工具情報224に示される残寿命をカウントダウンする。工具の新品時における残寿命は、工具ごとに予め決められている。
【0076】
ここでいう「残寿命」とは、工具の寿命が尽きるまでの使用可能量を意味する。「量」との用語は、時間、距離、および回数を含む概念である。すなわち、「工具の残りの使用可能量」は、工具寿命が尽きるまでの工具の残りの使用可能時間と、工具寿命が尽きるまでの工具の残りの移動可能距離と、工具寿命が尽きるまでの工具の残りの使用可能回数とを含む概念である。
【0077】
工具の残寿命の監視方法の一例について説明する。工作機械100の加工プログラム322は、Gコードで規定されており、主軸170に装着する工具を指定するための工具交換命令や、主軸170や工具を回転駆動/送り駆動するための駆動命令などを含む。監視部52は、加工プログラム322に規定されている工具交換命令に基づいて、ワークの加工に用いられる工具の種別を特定しておく。次に、監視部52は、加工プログラム322に規定されている駆動命令が実行されたことに基づいて、当該工具の残寿命のカウントダウンを開始する。続いて、監視部52は、加工プログラム322に規定されている停止命令または最終行の命令が実行されたことに基づいて、当該工具の残寿命のカウントダウンを停止する。これにより、監視部52は、工具情報224において各工具の残寿命を監視する。
【0078】
監視部52は、工具の残寿命が所定閾値を下回った場合に、工具情報224において工具の状態を「正常状態」から「寿命警告状態」に変更する。また、監視部52は、工具の残寿命がゼロになったことに基づいて、工具情報224において工具の状態を「寿命警告状態」から「寿命切状態」に変更する。
【0079】
(D2.決定部54)
次に、
図6を参照して、
図4に示される決定部54の機能について説明する。
【0080】
決定部54は、マガジン150に保持されている工具の中から、代用可能な工具の有無に応じて、回収候補の工具を決定する。
【0081】
以下では、説明の便宜のために、正常状態である同種の他の工具がマガジン150内に存在する異常状態の工具を「代替可能な異常状態の工具」とも称し、正常状態である同種の工具がマガジン150内に存在しない工具を「代替不可能な異常状態の工具」とも称する。当該異常状態は、上述の「損傷状態」と、上述の「寿命切れ状態」と、上述の「寿命警告状態」とを含む。
【0082】
一例として、決定部54は、
図6に示される回収ルール226に従って、回収候補の工具の優先度を決定する。
図6は、一例としての回収ルール226を示す図である。
【0083】
より具体的には、決定部54は、代替不可能な異常状態の工具を代替可能な異常状態の工具よりも優先的に回収候補として決定する。これにより、代替不可能な異常状態の工具がより優先的に回収候補として決定される。
【0084】
代替不可能な異常状態の工具が複数ある場合には、決定部54は、工具状態に応じて回収候補の優先度を決定する。
【0085】
より具体的には、損傷状態の工具は、ワークの加工に用いることができない。一方で、寿命切れ状態の工具は、使用が推奨されないだけで、加工に用いること自体は可能である。そのため、損傷状態の工具は、寿命切れ状態の工具よりも優先的に交換されることが好ましい。この点に鑑みて、決定部54は、代替不可能な損傷状態の工具を、代替不可能な寿命切れ状態の工具よりも、優先的に回収候補として決定する。
【0086】
また、寿命切れ状態の工具は、寿命警告状態の工具よりも早急に交換される必要がある。そこで、決定部54は、代替不可能な寿命切れ状態の工具を、代替不可能な寿命警告状態の工具よりも、優先的に回収候補として決定する。
【0087】
好ましくは、決定部54は、代替可能な異常状態の工具についても回収候補の優先度を決定する。一例として、決定部54は、代替可能な損傷状態の工具を、代替可能な寿命切れ状態の工具よりも、優先的に回収候補として決定する。また、決定部54は、代替可能な寿命切れ状態の工具を、代替可能な寿命警告状態の工具よりも、優先的に回収候補として決定される。
【0088】
(D3.実行部56)
次に、
図7を参照して、
図4に示される実行部56の機能について説明する。実行部56は、決定部54によって決定された回収候補の工具に関して予め定められた処理を実行する。
【0089】
一例として、実行部56は、回収候補の工具を予め定められた位置に移動するように上述の駆動部110(
図2参照)を制御する。当該制御処理は、たとえば、ユーザによる回収操作を受け付けたことに基づいて実行される。当該回収操作は、たとえば、上述の操作盤400(
図1参照)において受け付けられる。
【0090】
図7は、操作盤400の操作画面410を示す図である。操作画面410は、たとえば、操作盤400のディスプレイ405に表示される。
【0091】
図7に示されるように、操作画面410は、表示欄430と、自動呼出ボタン440と、選択呼出ボタン441とを含む。表示欄430には、上述の工具情報224(
図5参照)の一部または全部が表示される。
【0092】
自動呼出ボタン440は、上述の決定部54によって決定された回収候補の工具を呼び出すためのボタンである。より具体的には、実行部56は、操作画面410の自動呼出ボタン440が押下されたことに基づいて、決定部54によって決定された回収候補の工具の中で回収の優先度が最も高い工具を特定する。次に、実行部56は、上述の駆動部110(
図2参照)を制御し、当該特定された工具を予め定められた位置に駆動する。その後、作業者は、当該予め定められた位置に移動された工具を正常状態の工具と交換することができる。
【0093】
続いて、実行部56は、上述の駆動部110(
図2参照)を制御し、回収候補の工具の中で回収の優先度が2番目に高い工具を予め定められた位置に移動させる。その後、作業者は、当該予め定められた位置に移動された工具を正常状態の工具と交換する。
【0094】
このように、実行部56は、決定部54によって決定された回収候補の工具を優先度の順に予め定められた位置に移動させる。これにより、作業者は、代用可能な工具が存在しない異常状態の工具を優先的に交換することができる。
【0095】
選択呼出ボタン441は、特定の工具を呼び出すためのボタンである。ユーザは、表示欄430に表示されている工具情報を選択した上で選択呼出ボタン441を押下することで、当該選択した工具をマガジン150から呼び出すことができる。
【0096】
なお、上述では、決定部54によって決定された回収候補の工具が優先度の順に予め定められた位置に駆動される例について説明を行なったが、予め定められた位置に駆動される工具は、回収の優先度が最も高い工具だけでもよいし、回収の優先度がより高い所定数の工具だけでもよい。
【0097】
<E.変形例>
次に、
図8を参照して、上述の操作画面410の変形例について説明する。
図8は、変形例に従う操作画面410Aを示す図である。
【0098】
図8に示される操作画面410Aは、表示欄431と、抽出ボタン442とをさらに含む点で、上述の
図7に示される操作画面410と異なる。その他の点については、
図7に示される操作画面410と同じであるので、以下では、それらの点については説明を繰り返さない。
【0099】
本例では、ユーザが抽出ボタン442を押下したことに基づいて、実行部56は、決定部54によって決定された回収候補の工具に関する情報をディスプレイ405(表示部)に表示する。当該情報は、たとえば、操作画面410Aの表示欄431に表示される。表示欄431に表示される情報は、たとえば、マガジン150内のポット番号と、工具識別情報と、工具種別と、工具の状態と、工具の残寿命との少なくとも1つを含む。
【0100】
好ましくは、実行部56は、決定部54によって決定された回収候補の工具に関する情報を回収の優先度の順に表示欄431に表示する。表示欄431に表示される工具情報は、選択可能に構成される。ユーザは、表示欄431に表示されている工具情報を選択した上で選択呼出ボタン441を押下することで、当該選択した工具をマガジン150から呼び出すことができる。これにより、ユーザは、回収の優先度がより高い工具情報を確認した上で工具の交換作業を行なうことができる。
【0101】
なお、実行部56は、回収の優先度が最も高い1つの工具情報のみを表示欄431に表示してもよい。あるいは、実行部56は、回収の優先度がより高い所定数の工具情報を表示欄431に表示してもよい。
【0102】
<F.CPUユニット200のハードウェア構成>
図9を参照して、上述の
図2に示されるCPUユニット200のハードウェア構成について説明する。
図9は、CPUユニット200のハードウェア構成の一例を示す図である。
【0103】
CPUユニット200は、制御回路201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、通信インターフェイス204と、補助記憶装置220とを含む。これらのコンポーネントは、内部バス209に接続される。
【0104】
制御回路201は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成され得る。
【0105】
制御回路201は、制御プログラム222などの各種プログラムを実行することでCPUユニット200の動作を制御する。制御プログラム222は、上述の
図4に示される各機能構成に係る機能を実現するためのプログラムである。制御回路201は、制御プログラム222の実行命令を受け付けたことに基づいて、補助記憶装置220またはROM202からRAM203に制御プログラム222を読み出す。RAM203は、ワーキングメモリとして機能し、制御プログラム222の実行に必要な各種データを一時的に格納する。
【0106】
通信インターフェイス204は、フィールドネットワークを用いて外部機器と定周期通信を行なうためのインターフェイスである。当該外部機器は、たとえば、上述のモータドライバ111M(
図2参照)や上述のATCドライバ121A(
図2参照)などを含む。フィールドネットワークとしては、たとえば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、CC-Link(登録商標)、またはCompoNet(登録商標)などが採用される。
【0107】
補助記憶装置220は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置220は、制御プログラム222、上述の工具情報224、および上述の回収ルール226などを格納する。
【0108】
なお、制御プログラム222、工具情報224、および回収ルール226の格納場所は、補助記憶装置220に限定されず、制御回路201の記憶領域(たとえば、キャッシュメモリ)、ROM202、RAM203、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0109】
また、制御プログラム222は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う各種の処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム222の趣旨を逸脱するものではない。さらに、制御プログラム222によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが制御プログラム222の処理の一部を実行する所謂クラウドサービスのような形態でCPUユニット200が構成されてもよい。
【0110】
<G.CNCユニット300のハードウェア構成>
次に、
図10を参照して、上述の
図2に示されるCNCユニット300のハードウェア構成について説明する。
図10は、CNCユニット300のハードウェア構成の一例を示す図である。
【0111】
CNCユニット300は、制御回路301と、ROM302と、RAM303と、通信インターフェイス304と、通信インターフェイス305と、フィールドバスコントローラ306と、補助記憶装置320とを含む。これらのコンポーネントは、内部バス309に接続される。
【0112】
制御回路301は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成され得る。
【0113】
制御回路301は、加工プログラム322などの各種プログラムを実行することでCNCユニット300の動作を制御する。加工プログラム322は、ワーク加工を実現するためのプログラムである。制御回路301は、加工プログラム322の実行命令を受け付けたことに基づいて、ROM302からRAM303に加工プログラム322を読み出す。RAM303は、ワーキングメモリとして機能し、加工プログラム322の実行に必要な各種データを一時的に格納する。
【0114】
通信インターフェイス304には、LAN、WLAN、またはBluetooth(登録商標)などが接続される。CNCユニット300は、通信インターフェイス304を介して外部機器とデータをやり取りする。当該外部機器は、たとえば、操作盤400やサーバー(図示しない)などを含む。
【0115】
通信インターフェイス305は、外部機器との通信を実現するためのインターフェイスである。一例として、CNCユニット300は、通信インターフェイス305を介して外部機器とデータをやり取りする。当該外部機器は、ワーク加工のための各種駆動ユニット(たとえば、上述のモータドライバ131B,131C,131X~131Zなど)などを含む。
【0116】
フィールドバスコントローラ306は、フィールドバスに接続される各種ユニットとの通信を実現するための通信ユニットである。当該フィールドバスに接続されるユニットの一例として、CPUユニット200などが挙げられる。
【0117】
補助記憶装置320は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置320は、加工プログラム322などを格納する。なお、加工プログラム322の格納場所は、補助記憶装置320に限定されず、制御回路301の記憶領域(たとえば、キャッシュメモリ)、ROM302、RAM303、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0118】
<H.操作盤400のハードウェア構成>
次に、
図11を参照して、上述の
図2に示される操作盤400のハードウェア構成について説明する。
図11は、操作盤400のハードウェア構成の一例を示す図である。
【0119】
操作盤400は、制御回路401と、ROM(Read Only Memory)402と、RAM(Random Access Memory)403と、通信インターフェイス404と、ディスプレイ405と、操作キー406と、補助記憶装置420とを含む。これらのコンポーネントは、内部バス409に接続される。
【0120】
制御回路401は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのGPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成され得る。
【0121】
制御回路401は、制御プログラム422などの各種プログラムを実行することで操作盤400の動作を制御する。制御プログラム422は、操作盤400を制御するための命令を規定している。制御回路401は、制御プログラム422の実行命令を受け付けたことに基づいて、補助記憶装置420またはROM402からRAM403に制御プログラム422を読み出す。RAM403は、ワーキングメモリとして機能し、制御プログラム422の実行に必要な各種データを一時的に格納する。
【0122】
通信インターフェイス404は、LAN(Local Area Network)ケーブル、WLAN、またはBluetooth(登録商標)などを用いた通信を実現するための通信ユニットである。一例として、操作盤400は、通信インターフェイス404を介して、上述のCNCユニット300などの外部機器との通信を実現する。
【0123】
ディスプレイ405は、たとえば、液晶ディスプレイ、有機ELディスプレイ、またはその他の表示機器である。ディスプレイ405は、制御回路401などからの指令に従って、ディスプレイ405に対して、画像を表示するための画像信号を送出する。ディスプレイ405は、たとえば、タッチパネルで構成されており、工作機械100に対する各種操作をタッチ操作で受け付ける。
【0124】
操作キー406は、複数のハードウェアキーで構成され、操作盤400に対する各種のユーザ操作を受け付ける。押下されたキーに応じた信号が制御回路401に出力される。
【0125】
補助記憶装置420は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置420は、制御プログラム422などを格納する。制御プログラム422の格納場所は、補助記憶装置420に限定されず、制御回路401の記憶領域(たとえば、キャッシュメモリ)、ROM402、RAM403、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0126】
<I.フローチャート>
次に、
図12を参照して、工作機械100の制御構造について説明する。
図12は、工作機械100の制御部50が実行する処理の一部を表わすフローチャートである。
【0127】
図12に示される処理は、制御部50が上述の制御プログラム222(
図9参照)などを実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【0128】
ステップS110において、制御部50は、マガジン150に保持されている工具の中から回収候補の工具を抽出する操作を受け付けたか否かを判断する。当該抽出操作は、たとえば、上述の抽出ボタン442(
図8参照)が押下されたことに基づいて受け付けられる。制御部50は、回収候補の工具を抽出する操作を受け付けたと判断した場合(ステップS110においてYES)、制御をステップS112に切り替える。そうでない場合には(ステップS110においてNO)、制御部50は、ステップS110の処理を再び実行する。
【0129】
ステップS112において、制御部50は、上述の工具情報224(
図5参照)を取得する。上述のように、工具情報224には、マガジン150に保持されている各工具の情報が規定されている。
【0130】
ステップS114において、制御部50は、上述の決定部54(
図4参照)として機能し、ステップS112で取得した工具情報224に基づいて、マガジン150内に保持されている工具の中から回収候補の工具を決定する。回収候補の工具の決定方法については上述の通りであるので、その説明については繰り返さない。
【0131】
ステップS116において、制御部50は、上述の実行部56(
図4参照)として機能し、ステップS114で決定された回収候補の工具に係る工具情報を上述の操作画面410Aの表示欄431に表示する。
【0132】
ステップS120において、制御部50は、回収候補の工具について呼び出し操作を受け付けたか否かを判断する。一例として、制御部50は、表示欄431に表示されている工具情報が1つ以上選択され、かつ、操作画面410Aの選択呼出ボタン441が押下されたことに基づいて、呼び出し操作を受け付けたと判断する。制御部50は、回収候補の工具について呼び出し操作を受け付けたと判断した場合(ステップS120においてYES)、制御をステップS122に切り替える。そうでない場合には(ステップS120においてNO)、制御部50は、制御をステップS130に切り替える。
【0133】
ステップS122において、制御部50は、上述の実行部56(
図4参照)として機能し、上述の操作画面410Aの表示欄431において選択された回収候補の工具を予め定められた位置に移動させる。その後、制御部50は、
図12に示される処理を終了する。
【0134】
ステップS130において、制御部50は、キャンセル操作を受け付けたか否かを判断する。当該キャンセル操作は、たとえば、上述の操作画面410Aに設けられているキャンセルボタン(図示しない)が押下されたことに基づいて受け付けられる。あるいは、当該キャンセル操作は、上述の操作画面410Aを閉じるボタン(図示しない)が押下されたことに基づいて受け付けられる。制御部50は、キャンセル操作を受け付けたと判断した場合(ステップS130においてYES)、
図12に示される処理を終了する。そうでない場合には(ステップS130においてNO)、制御部50は、制御をステップS120に戻す。
【0135】
<J.まとめ>
以上のようにして、工作機械100は、マガジン150に保持されている各工具に関する工具情報224を取得する。工具情報224は、マガジン150に保持されている各工具の種別と、当該各工具の状態とを少なくとも規定している。当該状態は、たとえば、上述の正常状態と上述の異常状態とを含む。次に、制御部50は、当該取得した工具情報224に基づいて、正常状態である同種の工具がマガジン150内に存在しない異常状態の工具を回収候補として決定する。これにより、制御部50は、代用可能な工具が存在する工具よりも代用可能な工具が存在しない工具を優先して回収候補とする。
【0136】
これにより、工作機械100は、代用可能な工具の有無に応じて回収対象の工具の優先度をより適切に決定することができる。結果として、工作機械100は、ワークの加工が停止することを回避できる。あるいは、たとえワークの加工が停止してしまった場合であっても、工作機械100は、ワークの加工をより早く再開することができる。
【0137】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0138】
40A 工具収納部、40B 加工機本体、50 制御部、52 監視部、54 決定部、56 実行部、100 工作機械、110 駆動部、111M モータドライバ、112M モータ、120 駆動部、121A ATCドライバ、122A モータ、122B モータ、130 駆動部、131B モータドライバ、131C モータドライバ、131X モータドライバ、131Y モータドライバ、131Z モータドライバ、132B モータ、132C モータ、132X モータ、132Y モータ、132Z モータ、150 マガジン、165 中心軸、166 アーム、166A 工具把持部、166B 工具把持部、170 主軸、200 CPUユニット、201 制御回路、202 ROM、203 RAM、204 通信インターフェイス、209 内部バス、220 補助記憶装置、222 制御プログラム、224 工具情報、226 回収ルール、300 CNCユニット、301 制御回路、302 ROM、303 RAM、304 通信インターフェイス、305 通信インターフェイス、306 フィールドバスコントローラ、309 内部バス、320 補助記憶装置、322 加工プログラム、400 操作盤、401 制御回路、402 ROM、403 RAM、404 通信インターフェイス、405 ディスプレイ、406 操作キー、409 内部バス、410 操作画面、410A 操作画面、420 補助記憶装置、422 制御プログラム、430 表示欄、431 表示欄、440 自動呼出ボタン、441 選択呼出ボタン、442 抽出ボタン。