(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-19
(45)【発行日】2025-05-27
(54)【発明の名称】寸法推定装置、およびコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
G05B 19/4069 20060101AFI20250520BHJP
G05B 19/406 20060101ALI20250520BHJP
【FI】
G05B19/4069
G05B19/406 Z
(21)【出願番号】P 2023559325
(86)(22)【出願日】2021-11-11
(86)【国際出願番号】 JP2021041601
(87)【国際公開番号】W WO2023084714
(87)【国際公開日】2023-05-19
【審査請求日】2024-06-13
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】羽田 裕明
【審査官】亀田 貴志
(56)【参考文献】
【文献】特開2020-82225(JP,A)
【文献】特表2019-530082(JP,A)
【文献】特開2001-125613(JP,A)
【文献】特開2007-310594(JP,A)
【文献】特開平6-138930(JP,A)
【文献】特開2020-71734(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18 - 19/46
B23Q 15/00 - 15/28
B23Q 17/20
(57)【特許請求の範囲】
【請求項1】
切削経路に含まれる位置を示す座標値の最大値および最小値の少なくともいずれかを加工プログラムに基づいて算出する算出部と、
前記算出部によって算出された前記最大値および前記最小値の少なくともいずれかに基づいて加工前のワークの寸法を推定する推定部と、
を備える寸法推定装置。
【請求項2】
前記算出部は、仮想面または仮想空間に前記切削経路を描くとともに、前記仮想面または前記仮想空間に描かれた前記切削経路に基づいて、前記座標値の前記最大値および前記最小値の少なくともいずれかを算出する請求項1に記載の寸法推定装置。
【請求項3】
前記座標値は、第1の軸方向の位置を示す第1の座標値、および第2の軸方向の位置を示す第2の座標値を含む請求項1または2に記載の寸法推定装置。
【請求項4】
前記推定部が推定した加工前の前記ワークの寸法を表示する表示部をさらに備える請求項1~3のいずれか1項に記載の寸法推定装置。
【請求項5】
前記ワークの形状を示す形状情報を受け付ける受付部をさらに備える請求項1~4のいずれか1項に記載の寸法推定装置。
【請求項6】
前記推定部が推定した加工前の前記ワークの寸法を前記加工プログラムに反映させる反映部をさらに備える請求項1~5のいずれか1項に記載の寸法推定装置。
【請求項7】
前記推定部が推定した加工前の前記ワークの寸法に基づいて加工シミュレーションを実行する加工シミュレーション部をさらに備える請求項1~6のいずれか1項に記載の寸法推定装置。
【請求項8】
前記推定部は、さらに、切込量に基づいて加工前の前記ワークの寸法を推定する請求項1~7のいずれか1項に記載の寸法推定装置。
【請求項9】
切削経路に含まれる位置を示す座標値の最大値および最小値の少なくともいずれかを加工プログラムに基づいて算出することと、
算出された前記最大値および前記最小値の少なくともいずれかに基づいて加工前のワークの寸法を推定することと、
をコンピュータに実行させる命令を記憶するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、寸法推定装置、およびコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
従来、ワークの加工の前に加工シミュレーションが行われている(特許文献1)。加工シミュレーションを行うことによりオペレータは、加工プログラムが正常に動作するか否かを確認することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、加工シミュレーションが行われる場合、オペレータは、事前に加工対象のワークの寸法を作業指示書などで確認し、さらに、ワークの寸法を加工シミュレーション装置に入力する必要がある。このような作業が、オペレータの負荷を増加させる。
【0005】
本開示は、オペレータの負荷を低減することが可能な寸法推定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
寸法推定装置が、切削経路に含まれる位置を示す座標値の最大値および最小値の少なくともいずれかを加工プログラムに基づいて算出する算出部と、算出部によって算出された最大値および最小値の少なくともいずれかに基づいて加工前のワークの寸法を推定する推定部と、を備える。
【0007】
コンピュータ読み取り可能な記憶媒体が、切削経路に含まれる位置を示す座標値の最大値および最小値の少なくともいずれかを加工プログラムに基づいて算出することと、算出された最大値および最小値の少なくともいずれかに基づいて加工前のワークの寸法を推定することと、をコンピュータに実行させる命令を記憶する。
【発明の効果】
【0008】
本開示の一態様により、オペレータに加工前のワークの寸法を提示してオペレータの作業効率を向上させることが可能になる。
【図面の簡単な説明】
【0009】
【
図1】工作機械のハードウェア構成の一例を示すブロック図である。
【
図2】寸法推定装置の機能の一例を示すブロック図である。
【
図11】受付部を備える寸法推定装置の機能の一例を示すブロック図である。
【
図12】反映部を備える寸法推定装置の機能の一例を示すブロック図である。
【
図13A】ワークの寸法が反映される前の加工プログラムの一例を示す図である。
【
図13B】ワークの寸法が反映された後の加工プログラムの一例を示す図である。
【
図14】加工シミュレーション部を備える寸法推定装置の機能の一例を示すブロック図である。
【発明を実施するための形態】
【0010】
以下、本開示の実施形態に係る加工面推定装置について図面を用いて説明する。なお、以下の実施形態で説明する特徴のすべての組み合わせが課題解決に必ずしも必要であるとは限らない。また、必要以上の詳細な説明を省略する場合がある。また、以下の実施形態の説明、および図面は、当業者が本開示を十分に理解するために提供されるものであり、請求の範囲を限定することを意図していない。
【0011】
寸法推定装置は、寸法推定処理を実行する装置である。寸法推定処理とは、加工プログラムに基づいて、加工前のワークの寸法を推定する処理である。寸法推定処理において推定される寸法は、ワークの一部分の寸法であってよい。寸法推定処理において推定される寸法は、例えば、ワークのZ軸方向の長さである。寸法推定処理において推定される寸法には、さらに、ワークのX軸方向およびY軸方向の長さが含まれてもよい。
【0012】
寸法推定装置は、例えば、工作機械を制御する数値制御装置に実装される。寸法推定装置は、数値制御装置に有線接続または無線接続されるサーバ、またはPC(Personal Computer)に実装されてもよい。以下では、寸法推定装置が、数値制御装置に実装された実施形態について説明する。
【0013】
図1は、数値制御装置を備える工作機械のハードウェア構成の一例を示すブロック図である。工作機械1は、例えば、旋盤、マシニングセンタ、ドリリングセンタおよび複合加工機である。
【0014】
工作機械1は、数値制御装置2と、入出力装置3と、サーボアンプ4と、サーボモータ5と、スピンドルアンプ6と、スピンドルモータ7と、補助機器8とを備える。
【0015】
数値制御装置2は、工作機械1全体を制御する装置である。数値制御装置2は、ハードウェアプロセッサ201と、バス202と、ROM(Read Only Memory)203と、RAM(Random Access Memory)204と、不揮発性メモリ205とを備える。
【0016】
ハードウェアプロセッサ201は、システムプログラムに従って数値制御装置2全体を制御するプロセッサである。ハードウェアプロセッサ201は、バス202を介してROM203に格納されたシステムプログラムなどを読み出し、システムプログラムに基づいて各種処理を行う。ハードウェアプロセッサ201は、加工プログラムに基づいて、サーボモータ5、およびスピンドルモータ7を制御する。また、ハードウェアプロセッサ201は、寸法推定用プログラムに基づいて、寸法推定処理を実行する。ハードウェアプロセッサ201は、例えば、CPU(Central Processing Unit)、または電子回路である。
【0017】
ハードウェアプロセッサ201は、制御周期ごとに、例えば、加工プログラムの解析、ならびに、サーボモータ5、およびスピンドルモータ7に対する制御指令の出力を行う。
【0018】
バス202は、数値制御装置2内の各ハードウェアを互いに接続する通信路である。数値制御装置2内の各ハードウェアはバス202を介してデータをやり取りする。
【0019】
ROM203は、数値制御装置2全体を制御するためのシステムプログラムなどを記憶する記憶装置である。ROM203は、寸法推定用プログラムを記憶してもよい。ROM203は、コンピュータ読み取り可能な記憶媒体である。
【0020】
RAM204は、各種データを一時的に格納する記憶装置である。RAM204は、ハードウェアプロセッサ201が各種データを処理するための作業領域として機能する。
【0021】
不揮発性メモリ205は、工作機械1の電源が切られ、数値制御装置2に電力が供給されない状態でもデータを保持する記憶装置である。不揮発性メモリ205は、例えば、加工プログラム、および各種パラメータを記憶する。不揮発性メモリ205は、コンピュータ読み取り可能な記憶媒体である。不揮発性メモリ205は、例えば、バッテリでバックアップされたメモリ、または、SSD(Solid State Drive)で構成される。
【0022】
数値制御装置2は、さらに、インタフェース206と、軸制御回路207と、スピンドル制御回路208と、PLC(Programmable Logic Controller)209と、I/Oユニット210とを備える。
【0023】
インタフェース206は、バス202と入出力装置3とを接続する。インタフェース206は、例えば、ハードウェアプロセッサ201によって処理された各種データを入出力装置3に送る。
【0024】
入出力装置3は、インタフェース206を介して各種データを受け、各種データを表示する装置である。また、入出力装置3は、各種データの入力を受け付けてインタフェース206を介して各種データを、例えば、ハードウェアプロセッサ201に送る。
【0025】
入出力装置3は、例えば、タッチパネルである。入出力装置3がタッチパネルである場合、入出力装置3は、例えば、静電容量方式のタッチパネルである。なお、タッチパネルは、静電容量方式に限らず、他の方式のタッチパネルであってもよい。入出力装置3は、数値制御装置2が格納される操作盤(不図示)に設置される。
【0026】
軸制御回路207は、サーボモータ5を制御する回路である。軸制御回路207は、ハードウェアプロセッサ201からの制御指令を受けてサーボモータ5を駆動させるための各種指令をサーボアンプ4に出力する。軸制御回路207は、例えば、サーボモータ5のトルクを制御するトルクコマンドをサーボアンプ4に送る。
【0027】
サーボアンプ4は、軸制御回路207からの指令を受けて、サーボモータ5に電流を供給する。
【0028】
サーボモータ5は、サーボアンプ4から電流の供給を受けて駆動する。サーボモータ5は、例えば、刃物台を駆動させるボールねじに連結される。サーボモータ5が駆動することにより、刃物台などの工作機械1の構造物が各軸方向に移動する。サーボモータ5は、制御軸の位置、および送り速度を検出するエンコーダ(不図示)を内蔵する。エンコーダによって検出される制御軸の位置、および制御軸の送り速度をそれぞれ示す位置フィードバック情報、および速度フィードバック情報は、軸制御回路207にフィードバックされる。これにより、軸制御回路207は、制御軸のフィードバック制御を行う。
【0029】
スピンドル制御回路208は、スピンドルモータ7を制御するための回路である。スピンドル制御回路208は、ハードウェアプロセッサ201からの制御指令を受けてスピンドルモータ7を駆動させるための指令をスピンドルアンプ6に出力する。スピンドル制御回路208は、例えば、スピンドルモータ7の回転速度を制御するスピンドル速度コマンドをスピンドルアンプ6に送る。
【0030】
スピンドルアンプ6は、スピンドル制御回路208からの指令を受けて、スピンドルモータ7に電流を供給する。
【0031】
スピンドルモータ7は、スピンドルアンプ6から電流の供給を受けて駆動する。スピンドルモータ7は、主軸に連結され、主軸を回転させる。
【0032】
PLC209は、ラダープログラムを実行して補助機器8を制御する装置である。PLC209は、I/Oユニット210を介して補助機器8に対して指令を送る。
【0033】
I/Oユニット210は、PLC209と補助機器8とを接続するインタフェースである。I/Oユニット210は、PLC209から受けた指令を補助機器8に送る。
【0034】
補助機器8は、工作機械1に設置され、工作機械1において補助的な動作を行う機器である。補助機器8は、I/Oユニット210から受けた指令に基づいて動作する。補助機器8は、工作機械1の周辺に設置される機器であってもよい。補助機器8は、例えば、工具交換装置、切削液噴射装置、または開閉ドア駆動装置である。
【0035】
次に、寸法推定装置の機能について説明する。
【0036】
図2は、数値制御装置2に実装された寸法推定装置の機能の一例を示すブロック図である。寸法推定装置20は、記憶部21と、解釈部22と、算出部23と、推定部24と、表示部25とを備える。寸法推定装置20では、これら各部によって寸法推定処理が実行される。
【0037】
記憶部21は、例えば、寸法推定処理に利用される各種データが、RAM204、または不揮発性メモリ205に記憶されることにより実現される。解釈部22、算出部23、推定部24、および表示部25は、例えば、ハードウェアプロセッサ201が、ROM203に記憶されているシステムプログラム、寸法推定用プログラム、および不揮発性メモリ205に記憶されている各種データを用いて演算処理することにより実現される。
【0038】
記憶部21は、寸法推定処理に利用される各種データを記憶する。記憶部21は、例えば、加工プログラム、および工具形状データを記憶する。
【0039】
加工プログラムは、加工対象のワークを加工するためのプログラムである。加工プログラムでは、例えば、Gコード、Fコード、Mコード、TコードおよびSコードを用いて、工作機械の各軸を動作させる指令が指定される。
【0040】
工具形状データは、工具種別を示すデータ、工具位置補正データ、工具径補正データ、工具長補正データ、およびノーズRデータを含む。工具形状データは、工具の形状を示す3次元モデルデータであってもよい。工具形状データは、例えば、加工シミュレーションに利用される。
【0041】
解釈部22は、記憶部21に記憶された加工プログラムを読み込んで加工プログラムを解釈する。解釈部22は、加工プログラムで指定されているGコード、Fコード、Mコード、Tコード、およびSコードなどの指令の意味を解釈する。
【0042】
図3は、解釈部22によって解釈される加工プログラムの一例を示す図である。シーケンス番号N1の行には、「G99G96S50;」が記載されている。「G99」は、毎回転送り制御を指定するコードである。「G96」は周速一定制御を指定するコードである。「S50」は、周速を指定するコードである。
【0043】
シーケンス番号N2の行には、「G00X100.0Z100.0;」が記載されている。「G00」は位置決めを指令するコードである。「X100.0」および「Z100.0」は、例えば、ワーク座標系における座標値である。この座標値は、固定サイクルの開始点の座標値である。
【0044】
シーケンス番号N3の行には、「G71U20.0R5.0;」が記載されている。「G71」は、荒加工用の固定サイクルを指定するコードである。「U」は、切込量を指定するコードである。「R」は逃げ量を指定するコードである。
【0045】
シーケンス番号N4の行には、「G71P100Q200;」が記載されている。「P」は固定サイクルにおいて仕上げ形状が規定される最初のシーケンス番号を指定するコードである。「Q」は、仕上げ形状が規定される最後のシーケンス番号を指定するコードである。つまり、シーケンス番号N100からシーケンス番号N200までの行においてワークの仕上げ形状が指定される。
【0046】
シーケンス番号N100の行には、「G00X40.0Z100.0;」が記載されている。シーケンス番号N101の行には、「G01Z80.0F0.2;」が記載されている。また、シーケンス番号N200の行には、「X100.0Z50.0;」が記載されている。つまり、これらの行において、ワークの仕上げ形状が、座標(40.0,100.0)、(40.0,80.0)、および(100.0,50.0)を順に連結することによって形成される形状であることが指定されている。「F」は、毎回転送り制御における送り量を指定するコードである。
【0047】
シーケンス番号N201の行には「G00X500.0Z500.0;」が記載されている。この指令は、工具を工具交換位置に移動させる指令である。
【0048】
算出部23は、切削経路に含まれる位置を示す座標値の最大値および最小値の少なくともいずれかを加工プログラムに基づいて算出する。切削経路に含まれる位置の座標値は、第1の軸方向の位置を示す第1の座標値、および第2の軸方向の位置を示す第2の座標値を含んでいてもよい。例えば、切削経路を示す座標値は、X軸方向の位置を示す座標値と、Z軸方向の位置を示す座標値を含む。したがって、算出部23は、切削経路に含まる位置の座標値のうち、X軸方向の座標値の最大値および最小値の少なくともいずれか、およびZ軸方向の座標値の最大値および最小値の少なくともいずれかを算出する。
【0049】
また、算出部23は、加工プログラムに基づいて仮想面または仮想空間に切削経路を描くとともに、仮想面または仮想空間に描かれた切削経路に基づいて、切削経路を示す座標値の最大値および最小値の少なくともいずれかを算出する。ここで、切削経路とは、工具が切削送りによって移動する経路である。したがって、切削経路には、位置決め指令「G00」によって早送りで工具が移動する経路は含まない。
【0050】
図4は、算出部23が描く切削経路の一例を示す図である。
図4は、
図3に示す加工プログラムに基づいて、算出部23が描いた切削経路を示している。
【0051】
算出部23は、シーケンス番号N2の行に記載された位置決め指令に基づいて、X100.0、Z100.0の位置に工具を位置決めする。また、算出部23は、シーケンス番号N3~N200の行に記載された荒加工用の固定サイクルを指定する指令に基づいて、切削経路を仮想平面に描く。
【0052】
具体的には、算出部23は、X100.0、Z100.0の位置からX80.0、Z100.0の位置まで早送りで工具を移動させる早送り経路を描く。算出部23は、早送り経路を、例えば、実線で描く。
【0053】
次に、算出部23は、X80.0、Z100.0の位置からX80.0、Z60.0の位置まで工具を切削送りで移動させる切削経路を描く。算出部23は、切削経路を、例えば、点線で描く。
【0054】
次に、算出部23は、X80.0、Z60.0の位置からX100.0、Z50.0の位置まで切削送りで工具を移動させる切削経路を描く。次に、算出部23は、X100.0、Z50.0の位置からX100.0、Z100.0の位置まで早送り経路を描く。
【0055】
次に、算出部23は、X100.0、Z100.0の位置からX60.0、Z100.0の位置まで早送り経路を描く。次に、算出部23は、X60.0、Z100.0の位置からX60.0、Z70.0の位置まで切削経路を描く。次に、算出部23は、X60.0、Z70.0の位置からX80.0、Z60.0の位置まで切削経路を描く。次に、算出部23は、X80.0、Z60.0の位置からX80.0、Z100.0の位置まで早送り経路を描く。
【0056】
次に、算出部23は、X80.0、Z100.0の位置からX40.0、Z100.0の位置まで早送り経路を描く。次に、算出部23は、X40.0、Z100.0の位置からX40.0、Z80.0の位置まで切削経路を描く。次に、算出部23は、X40.0、Z80.0の位置からX60.0、Z70.0の位置まで切削経路を描く。次に、算出部23は、X60.0、Z70.0の位置からX60.0、Z100.0の位置まで早送り経路を描く。
【0057】
次に、算出部23は、X60.0、Z100.0の位置からX100.0、Z100.0の位置まで早送り経路を描く。最後に、算出部23は、X100.0、Z100.0の位置からX500.0、Z500.0の位置まで早送り経路を描く。ここでは、算出部23は、工具の逃げ動作に係る経路については描いていないが、算出部23は、逃げ動作に係る経路を描いてもよい。
【0058】
算出部23によって描かれた切削経路に含まれる位置を示す座標値のうち、X軸方向の座標値の最大値は100.0であり、Z軸方向の座標値の最大値は、100.0である。したがって、算出部23は、切削経路に含まれる位置を示す座標値のうち、X軸方向の座標値の最大値およびZ軸方向の座標値の最大値をともに100.0と算出する。
【0059】
推定部24は、算出部23によって算出された切削経路を示す座標値の最大値および最小値の少なくともいずれかに基づいて加工前のワークの寸法を推定する。つまり、推定部24は、最小値を利用せずに最大値に基づいて加工前のワークの寸法を推定してもよい。例えば、ワークの一端がZ軸方向の0.0の位置に設定されている場合、推定部24は、Z軸方向の座標値の最小値を利用せずに最大値に基づいてワークの長さを推定する。
【0060】
例えば、旋削加工用プログラムが実行される場合において、算出部23によって算出された、X軸方向の座標値の最大値、およびZ軸方向の座標値の最大値がともに100.0である場合、推定部24は、加工前のワークの寸法を、直径が100.0[mm]、長さが100.0[mm]であると推定してもよい。この場合、推定部24は、ワークの一端がZ0.0の位置にあることを前提としてワークの長さを推定している。なお、ワークが全長に渡って旋削される場合、推定部24は、Z軸方向の最大値および最小値の差に基づいてワークの長さを推定してもよい。
【0061】
寸法推定装置20は、ワークの一端または一面がX軸方向、Y軸方向、およびZ軸方向のうちのいずれかの軸方向の0.0の位置にあることを所定のパラメータに設定できるようにしてもよい。これにより、推定部24は、切削経路を示す座標値の最大値および最小値に基づいてワークの寸法を推定するか、最大値のみに基づいてワークの寸法を推定するかを決定することができる。
【0062】
表示部25は、推定部24が推定したワークの寸法を表示する。表示部25は、例えば、入出力装置3の表示画面にワークの寸法を表示する。
【0063】
推定部24が、例えば、直径の寸法を100.0[mm]、軸方向の長さを100.0[mm]であると推定した場合、表示部25は、加工前のワークの寸法が直径100.0[mm]、長さ100.0[mm]である旨を表示画面に表示する。
【0064】
図5は、推定部24によって推定された寸法で構成されるワークのイメージを示す図である。表示部25は、例えば、直径が100.0[mm]、長さが100.0[mm]の円柱形状のワークの画像を表示画面に表示する。表示部25は、ワークの画像に代えて、ワークの直径、および長さを示す数値を表示画面に表示してもよい。
【0065】
なお、算出部23は、切削経路を描かずに、加工プログラムで指定された切削指令に含まれる座標値から直接、切削経路に含まれる位置を示す座標値の最大値および最小値の少なくともいずれかを算出してもよい。切削指令とは、例えば、直線補間指令G01、円弧補間指令G02、G03である。
【0066】
図3に示す加工プログラムでは、X100.0が切削指令に含まれるX軸方向の座標値の最大値、Z100.0がZ軸方向の座標値の最大値となっている。したがって、算出部23は、加工プログラムに基づいて、X軸方向の座標値の最大値、およびZ軸方向の座標値の最大値をともに100.0
と算出する。
【0067】
推定部24は、算出部23によって算出された切削経路を示す座標値の最大値および最小値の少なくともいずれかに基づいて加工前のワークの寸法を推定する。
【0068】
例えば、旋削加工用プログラムに基づいて算出部23によって算出された、X軸方向の座標値の最大値、およびZ軸方向の座標値の最大値がともに100.0である場合、推定部24は、加工前のワークの寸法を、直径が100.0[mm]、長さが100.0[mm]であると推定する。
【0069】
表示部25は、推定部24が推定したワークの寸法を表示する。表示部25は、例えば、入出力装置3の表示画面にワークの寸法を表示する。
【0070】
推定部24が、直径が100.0[mm]、長さが100.0[mm]であると推定した場合、表示部25は、加工前のワークの寸法が直径100.0[mm]、長さ100.0[mm]である旨を表示画面に表示する。
【0071】
次に、寸法推定装置20が実行する寸法推定処理の流れについて説明する。
【0072】
図6は、寸法推定処理の流れの一例を示す図である。寸法推定処理では、まず、記憶部21が加工プログラムを記憶する(ステップS1)。記憶部21は、例えば、サーバなどの外部装置から受け付けた加工プログラムを記憶する。
【0073】
次に、解釈部22が、記憶部21から加工プログラムを読み込んで加工プログラムを解釈する(ステップS2)。
【0074】
次に、算出部23が、切削経路に含まれる位置を示す座標値の最大値および最小値の少なくともいずれかを加工プログラムに基づいて算出する(ステップS3)。
【0075】
次に、推定部24が、算出部23によって算出された、切削経路に含まれる位置を示す座標値の最大値および最小値の少なくともいずれかに基づいて加工前のワークの寸法を推定する(ステップS4)。
【0076】
次に、表示部25が、推定部24によって推定された加工前のワークの寸法を表示し(ステップS5)、処理を終了する。
【0077】
以上説明したように、寸法推定装置20は、切削経路に含まれる位置を示す座標値の最大値および最小値の少なくともいずれかを加工プログラムに基づいて算出する算出部23と、算出部23によって算出された最大値および最小値の少なくともいずれかに基づいて加工前のワークの寸法を推定する推定部24と、を備える。また、推定部24が推定したワークの寸法を表示する表示部25をさらに備える。そのため、寸法推定装置20は、オペレータに加工前のワークの寸法を提示することができる。
【0078】
その結果、オペレータが加工前の段取り作業を行う場合に、作業指示書などを確認しなくても、工作機械1に設置すべきワークの寸法を把握することができる。
【0079】
また、算出部23は、仮想面または仮想空間に切削経路を描くとともに、仮想面または仮想空間に描かれた切削経路に基づいて、座標値の最大値および最小値の少なくともいずれかを算出する。そのため、加工プログラムにおいてインクレメンタル指令を用いて切削経路が指定されている場合であっても、寸法推定装置20は、加工前のワークの寸法を推定することができる。なお、インクレメンタル指令とは、現在位置の座標値から移動先の座標値までの移動量を指定する指令である。
【0080】
また、切削経路に含まれる位置を示す座標値は、第1の軸方向の位置を示す第1の座標値、および第2の軸方向の位置を示す第2の座標値を含む。そのため、加工前のワークの2つの軸方向の寸法を推定することができる。
【0081】
上述した実施形態では、切削経路に含まれる位置を示す座標値は、第1の軸方向の位置を示す第1の座標値、および第2の軸方向の位置を示す第2の座標値を含む。しかし、座標値は、必ずしも、第1の座標値、および第2の座標値を含まなくてもよい。例えば、ドリリングセンタで穴あけ加工が行われる場合であって、ワークの下面のZ軸方向の座標値が「0」に設定されている場合には、算出部23は、切削開始点の位置、すなわち、Z軸方向の座標値の最大値のみを算出してもよい。これにより、寸法推定装置20は、加工前のワークの厚みを推定することができる。
【0082】
上述した実施形態では、寸法推定装置20が、旋削加工用プログラムに基づいて、加工前のワークの寸法を推定する例について説明した。しかし、加工プログラムは、ミリング加工用プログラムであってもよい。
【0083】
図7は、ミリング加工用プログラムに基づいて算出部23が描く切削経路の一例を示す図である。
図7に示す切削経路の形状は、Z軸方向の所定の位置における、Z軸に平行な所定の軸を中心とした互いに異なる大きさの円である。算出部23は、X軸方向の座標値の最大値Xmaxおよび最小値Xminと、Y軸方向の最大値Ymaxおよび最小値Yminと、Z軸方向の最大値Zmaxとを算出する。
【0084】
推定部24は、算出部23によって算出されたX軸方向の座標値の最大値Xmaxおよび最小値Xminと、Y軸方向の座標値の最大値Ymaxおよび最小値Yminと、Z軸方向の座標値の最大値Zmaxとに基づいて、加工前のワークの寸法を推定する。具体的に、推定部24は、(Xmax-Xmin)をX軸方向の寸法、(Ymax-Ymin)をY軸方向の寸法、ZmaxをZ軸方向の寸法として算出する。
【0085】
図8は、推定部24によって推定された寸法で構成されるワークのイメージを示す図である。推定部24は、例えば、(Xmax-Xmin)を奥行き方向の長さ、(Ymax-Ymin)を幅、Zmaxを高さとする直方体をワークとして推定する。
【0086】
図9は、ミリング加工用プログラムに基づいて算出部23が描く切削経路の別の例を示す図である。
図9に示す切削経路は、Z軸方向に延在する経路と、XY平面に平行な平面上を延在する経路と、これら2つの経路を円弧で接続する経路とを含む。この場合、算出部23は、X軸方向の座標値の最大値Xmaxおよび最小値Xminと、Y軸方向の最大値Ymaxおよび最小値Yminと、Z軸方向の最大値Zmaxおよび最小値Zminとを算出する。
【0087】
推定部24は、(Xmax-Xmin)、(Ymax-Ymin)および(Zmax-Zmin)に基づいて、加工前のワークの寸法を推定する。
【0088】
図10は、推定部24によって推定された寸法で構成されるワークのイメージを示す図である。推定部24は、(Xmax-Xmin)を奥行き方向の長さ、(Ymax-Ymin)を幅、(Zmax-Zmin)を高さと
する直方体をワークとして推定する。
【0089】
上述した実施形態において、加工用プログラムが旋削加工用プログラムである場合、推定部24は、加工前のワークの形状を円柱形状であると推定する。また、加工用プログラムがミリング加工用プログラムである場合、推定部24は加工前のワークの形状を直方体形状であると推定する。しかし、寸法推定装置20は、ワークの形状を示す形状情報を受け付ける受付部をさらに備えてもよい。
【0090】
図11は、受付部を備える寸法推定装置20の機能の一例を示すブロック図である。ここでは、
図2を用いて説明した寸法推定装置20の機能と異なる機能について説明し、
図2の寸法推定装置20と同じ機能については説明を省略する。
【0091】
受付部26は、ワークの形状を示す形状情報を受け付ける。形状情報は、例えば、円柱形状、円筒形状、直方体形状、立方体形状、または円錐形状を示す情報である。
【0092】
受付部26は、例えば、入出力装置3の表示画面にプルダウンメニューを表示させ、複数種類の形状から1つの形状情報が選択されるようにしてもよい。受付部26は、選択された形状情報を受け付ける。
【0093】
推定部24は、受付部26が受け付けた形状情報に基づいて加工前のワークの寸法および形状を推定する。また、表示部25は、受付部26が受け付けた形状情報に基づいて加工前のワークを表示する。
【0094】
寸法推定装置20は、推定部24が推定した加工前のワークの寸法を加工プログラムに反映させる反映部をさらに備えてもよい。
【0095】
図12は、反映部を備える寸法推定装置20の機能の一例を示すブロック図である。ここでは、
図2を用いて説明した寸法推定装置20の機能と異なる機能について説明し、
図2の寸法推定装置20と同じ機能については説明を省略する。
【0096】
反映部27は、推定部24が推定した加工前のワークの寸法を加工プログラムに反映させる。言い換えれば、反映部27は、推定部24が推定した加工前のワークの寸法を示す情報を、記憶部21に記憶された加工プログラムに書き込む。
【0097】
図13Aは、ワークの寸法が反映される前の加工プログラムの一例を示す図である。
図13Bは、ワークの寸法が反映された後の加工プログラムの一例を示す図である。反映部27は、加工プログラムで指定されたG49およびG80が記載された行とG90が記載された行との間に指令「G19ααBxxDyyHzz;」を書き込む。ここで、「αα」は、ワークの形状を指定する数値である。例えば、「αα」が「02」である場合、ワーク形状は、直方体である。また、「xx」は、例えば、ワークのX軸方向の寸法、「yy」は、ワークのY軸方向の寸法、「zz」は、ワークのZ軸方向の寸法を示す。
【0098】
寸法推定装置20は、推定部24が推定した加工前のワークの寸法に基づいて加工シミュレーションを実行する加工シミュレーション部をさらに備えていてもよい。
【0099】
図14は、加工シミュレーション部を備える寸法推定装置20の機能の一例を示すブロック図である。ここでは、
図2を用いて説明した寸法推定装置20の各部の機能と異なる機能について説明する。
【0100】
加工シミュレーション部28は、推定部24が推定した加工前のワークの寸法に基づいて加工シミュレーションを実行する。加工シミュレーション部28は、推定部24が推定した加工前のワークの寸法に基づいて加工前のワークの画像を表示する。さらに、加工シミュレーション部28は、記憶部21に記憶された加工プログラムに基づいて、ワークの加工シミュレーションを実行する。
【0101】
加工シミュレーション部28は、受付部26が受け付けたワークの形状を示す形状情報を利用して加工シミュレーションを実行してもよい。また、加工シミュレーション部28は、反映部27によって加工前のワークの寸法が書き込まれた加工プログラムに基づいて加工シミュレーションを実行してもよい。
【0102】
上述した実施形態では、推定部24は、算出部23によって算出された最大値および最小値の少なくともいずれかに基づいて加工前のワークの寸法を推定する。しかし、推定部24は、さらに、切込量に基づいて加工前のワークの寸法を推定してもよい。
【0103】
例えば、直方体形状のワークの上面をフライスで切削する場合、フライスは、例えば、加工前のワークの上面から所定の切込量だけ切り込んだ位置に位置決めされて切削が開始される。この場合、切削経路に含まれる位置を示す座標値の最大値および最小値に基づいて推定部24が加工前のワークの寸法を推定すると、推定された寸法が実際の加工前のワークの寸法よりも小さくなるおそれがある。
【0104】
したがって、推定部24は、座標値の最大値および最小値に基づいて推定された寸法に切込量を加算した値を実際の加工前のワークの寸法として推定する。これにより、加工前のワークの寸法を精度よく推定することができる。
【0105】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。本開示では、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【0106】
1 工作機械
2 数値制御装置
20 寸法推定装置
21 記憶部
22 解釈部
23 算出部
24 推定部
25 表示部
26 受付部
27 反映部
28 加工シミュレーション部
201 ハードウェアプロセッサ
202 バス
203 ROM
204 RAM
205 不揮発性メモリ
206 インタフェース
207 軸制御回路
208 スピンドル制御回路
209 PLC
210 I/Oユニット
3 入出力装置
4 サーボアンプ
5 サーボモータ
6 スピンドルアンプ
7 スピンドルモータ
8 補助機器