(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-25
(45)【発行日】2024-01-09
(54)【発明の名称】数値制御装置
(51)【国際特許分類】
G05B 19/18 20060101AFI20231226BHJP
G05B 19/4065 20060101ALI20231226BHJP
B23Q 15/00 20060101ALI20231226BHJP
【FI】
G05B19/18 T
G05B19/4065
B23Q15/00 301E
(21)【出願番号】P 2019190805
(22)【出願日】2019-10-18
【審査請求日】2022-07-20
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】鈴木 真
【審査官】中川 康文
(56)【参考文献】
【文献】特開2002-079438(JP,A)
【文献】特開2009-066668(JP,A)
【文献】特開2005-111635(JP,A)
【文献】特開2003-260635(JP,A)
【文献】特開2003-260634(JP,A)
【文献】特開平02-036046(JP,A)
【文献】特開昭62-255044(JP,A)
【文献】特開昭54-020490(JP,A)
【文献】実開昭58-146604(JP,U)
【文献】特開2014-205200(JP,A)
【文献】特開2002-079409(JP,A)
【文献】特表2018-530445(JP,A)
【文献】国際公開第2019/021410(WO,A1)
【文献】米国特許出願公開第2014/0007979(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B23B 1/00
B23B 27/00-29/34
B23Q 15/00-15/28
B23Q 17/00-23/00
G05B 19/18-19/416
(57)【特許請求の範囲】
【請求項1】
異なる仕様のエッジを複数備えたマルチエッジ工具を使用してワークを加工する工作機械の数値制御装置であって、
前記エッジの種類を特定するエッジ種類番号を、工具の種類を特定する工具種類番号に関連づけて記憶する工具情報メモリと、
加工プログラムに含まれる複数のブロックを先読みし、先読みされた前記複数のブロックにおいて前記工具の種類の選択を実施する工具種類選択指令及び/又は前記エッジの種類の選択を実施するエッジ種類選択指令を解読し、解読された前記工具種類選択指令及び/又は前記エッジ種類選択指令を含む内部情報を生成する工具種類選択指令・エッジ種類選択指令解読部と、
前記工具情報メモリに記憶された前記エッジ毎の残り寿命と、前記工具種類選択指令・エッジ種類選択指令解読部により生成された前記内部情報とに基づいて、少なくとも先読みされた前記複数のブロックの実行中において工具交換の回数が最小となる工具を選択する工具選択部と、
を備え、
前記工具選択部は、前記マルチエッジ工具の全ての前記エッジを使用した連続的な加工をしないと判断した場合、寿命が尽きたエッジを有する工具を優先的に選択する、数値制御装置。
【請求項2】
前記マルチエッジ工具が旋削加工用工具である、請求項
1に記載の数値制御装置。
【請求項3】
前記マルチエッジ工具がミリング加工用工具である、請求項
1に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置に関する。
【背景技術】
【0002】
複数のエッジを有するマルチエッジ工具がある。マルチエッジ工具のエッジ毎の寿命データと累積使用時間データとに基づいて、加工作業指令が出力された際にエッジ毎の残り寿命を演算し、少なくとも1つのエッジが残り寿命を超える場合、マルチエッジ工具が寿命であると判定する技術が知られている。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、マルチエッジ工具の特性を利用して、工具交換せずに1つの工具の異なるエッジを使用して一連の加工を行うことが期待されている場合、1つのエッジの寿命が尽きることで、工具交換が行われためサイクルタイムが増大してしまう。
【0005】
そこで、1つのエッジの寿命が尽きた場合でも、マルチエッジ工具を使用した加工においてサイクルタイムを抑制することが望まれている。
【課題を解決するための手段】
【0006】
本開示の数値制御装置の一態様は、異なる仕様のエッジを複数備えたマルチエッジ工具を使用してワークを加工する工作機械の数値制御装置であって、前記エッジの種類を特定するエッジ種類番号を、工具の種類を特定する工具種類番号に関連づけて記憶する工具情報メモリと、加工プログラムに含まれる複数のブロックを先読みし、先読みされた前記複数のブロックにおいて前記工具の種類の選択を実施する工具種類選択指令及び/又は前記エッジの種類の選択を実施するエッジ種類選択指令を解読し、解読された前記工具種類選択指令及び/又は前記エッジ種類選択指令を含む内部情報を生成する工具種類選択指令・エッジ種類選択指令解読部と、前記工具情報メモリに記憶された前記エッジ毎の残り寿命と、前記工具種類選択指令・エッジ種類選択指令解読部により生成された前記内部情報とに基づいて、少なくとも先読みされた前記複数のブロックの実行中において工具交換の回数が最小となる工具を選択する工具選択部と、を備える。
【発明の効果】
【0007】
一態様によれば、1つのエッジの寿命が尽きた場合でも、マルチエッジ工具を使用した加工においてサイクルタイムを抑制することができる。
【図面の簡単な説明】
【0008】
【
図1】一実施形態に係る数値制御装置の機能的構成例を示す機能ブロック図である。
【
図2】工具・エッジデータテーブルの一例を示す図である。
【
図5】数値制御装置のNC指令解読処理について説明するフローチャートである。
【
図6】
図5においてステップS2で示したNC指令解読処理の詳細な処理内容を説明するフローチャートである。
【
図7】
図6においてステップS24で示した解読メイン処理の詳細な処理内容を説明するフローチャートである。
【
図8】
図7においてステップS41で示した工具種類選択指令・エッジ種類選択指令記憶処理の詳細な処理内容を説明するフローチャートである。
【
図9】
図7においてステップS43で示した次ブロック読込判定処理の詳細な処理内容を説明するフローチャートである。
【
図10】
図9の次ブロック読込判定処理の続きを示すフローチャートである。
【
図11】数値制御装置10のNC指令実行処理について説明するフローチャートである。
【
図12】
図11においてステップS110で示した工具選択処理の詳細な処理内容を説明するフローチャートである。
【
図13】
図12の工具選択処理の続きを示すフローチャートである。
【
図14】
図12の工具選択処理の続きを示すフローチャートである。
【
図15】
図13においてステップS208で示した工具選択処理(1)の詳細な処理内容を説明するフローチャートである。
【
図16】
図14においてステップS212で示した工具選択処理(2)の詳細な処理内容を説明するフローチャートである。
【発明を実施するための形態】
【0009】
<一実施形態>
まず、本実施形態の概略を説明する。本実施形態では、数値制御装置は、加工プログラムに含まれる複数のブロックを先読みし、先読みされた複数のブロックにおいて工具の種類の選択を実施する工具種類選択指令、及びエッジの種類の選択を実施するエッジ種類選択指令を解読する。数値制御装置は、解読された工具種類選択指令及びエッジ種類選択指令を含む内部情報を生成する。数値制御装置は、工具情報メモリに記憶されたエッジ毎の残り寿命と、生成された内部情報とに基づいて、少なくとも先読みされた前記複数のブロックの実行中において工具交換の回数が最小となる工具を選択する。
【0010】
これにより、本実施形態によれば、「1つのエッジの寿命が尽きた場合でも、マルチエッジ工具を使用した加工においてサイクルタイムを抑制する」という課題を解決することができる。
以上が本実施形態の概略である。
【0011】
次に、本実施形態の構成について図面を用いて詳細に説明する。
図1は、一実施形態に係る数値制御装置の機能的構成例を示す機能ブロック図である。
数値制御装置10、及び工作機械20は、図示しない接続インタフェースを介して、互いに直接接続されてもよい。なお、数値制御装置10、及び工作機械20は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されていてもよい。この場合、数値制御装置10、及び工作機械20は、かかる接続によって相互に通信を行うための図示しない通信部を備えている。
【0012】
数値制御装置10は、当業者にとって公知の数値制御装置であり、制御情報に基づいて動作指令を生成し、生成した動作指令を工作機械20に送信する。これにより、数値制御装置10は、工作機械20の動作を制御する。なお、工作機械20がロボット等の場合、数値制御装置10は、ロボット制御装置等でもよい。
また、数値制御装置10の制御対象は工作機械20やロボットに限定されず、産業機械全般に広く適用することができる。産業機械とは、例えば、工作機械、産業用ロボット、サービス用ロボット、鍛圧機械及び射出成形機といった様々な機械を含む。
【0013】
図1に示すように、数値制御装置10は、制御部100、及び工具情報メモリ200を有する。さらに、制御部100は、NC指令解読部110、工具選択部120、工具交換実行部130、工具補正部140、及びパルス分配部150を有する。さらに、NC指令解読部110は、工具種類・エッジ種類選択指令解読部111を有する。
【0014】
<工具情報メモリ200>
工具情報メモリ200は、SSD(Solid State Drive)やHDD(Hard Disk Drive)等である。工具情報メモリ200は、工具・エッジデータテーブル210を記憶する。
【0015】
工具・エッジデータテーブル210は、例えば、工作機械20に選択可能な工具に関する工具情報の一覧である。また、工具・エッジデータテーブル210は、工具がマルチエッジ工具の場合、マルチエッジ工具毎にエッジ数分のエッジ番号を登録することで、エッジ毎の情報を格納できる領域を確保する。そして、工具・エッジデータテーブル210は、エッジ属性(加工用途、材質、刃先R補正量等)が全て同じエッジに対して、同じエッジ番号を付与してエッジ毎に登録する。
また、マルチエッジ工具以外の工具については、エッジ番号を登録しないことで、従来の工具情報メモリの構成と等価である。
【0016】
図2は、工具・エッジデータテーブル210の一例を示す図である。
図2に示すように、工具・エッジデータテーブル210は、登録される順番に付与される工具番号、予め設定された工具の種類を示す工具種類番号、マルチエッジ工具毎の各エッジに付与されるエッジ番号、各エッジの種類を示すエッジ種類番号、及び残り寿命(使用回数)を格納する格納領域を有する。
なお、工具・エッジデータテーブル210は、工具毎の工具位置オフセット量(例えば、旋削加工工具)、及び工具長補正量(例えば、ミリング加工工具)、及び刃先R補正量等を格納する格納領域を有してもよい。
【0017】
工具・エッジデータテーブル210は、上述したように、登録される順に「1」から「7」の工具番号が付与され格納してもよい。また、工具・エッジデータテーブル210は、工具の種類毎に予め設定された「100」等の工具種類番号が付与され格納される。
なお、工具番号「1」から「3」の工具の工具種類番号が「100」であることから、工具番号「1」から「3」の工具は同じ種類の工具であることを示す。
また、工具・エッジデータテーブル210では、工具番号「1」から「5」の工具の各々に対してエッジ番号「1」から「3」が付与され格納されている。このことから、工具番号「1」から「5」の工具は、3つのエッジを有するマルチエッジ工具であることを示す。ただし、工具番号「1」から「3」の工具の工具種類番号「100」、工具番号「4」の工具の工具種類番号「101」、及び工具番号「5」の工具の工具種類番号「110」であり、工具の種類が異なる。したがって、工具番号「1」から「3」の工具と、工具番号「4」の工具と、工具番号「5」の工具とは、互いに異なる種類のマルチエッジ工具であることを示す。
【0018】
図3Aから
図3Cは、マルチエッジ工具の一例を示す図である。
図3Aは、工具番号「1」から「3」で工具種類番号「100」のマルチエッジ工具を示す。工具種類番号「100」のマルチエッジ工具は、エッジ番号「1」に荒加工用のエッジ、エッジ番号「2」に中仕上げ加工用のエッジ、エッジ番号「3」に仕上げ加工用のエッジをそれぞれ有する。これにより、前記マルチエッジ工具は、B軸(Y軸)周りに回転させることで、荒加工、中仕上げ加工、及び仕上げ加工を連測的に行うことができる。そして、エッジ番号「1」から「3」に対してエッジ種類番号「11」から「13」が予め付与される。
【0019】
図3Bは、工具番号「4」で工具種類番号「101」のマルチエッジ工具を示す。工具種類番号「101」のマルチエッジ工具は、
図3Aのマルチエッジ工具と同じ機能を有するが、工具の大きさが異なるものである。このため、
図3Bのマルチエッジ工具には、
図3Aのマルチエッジ工具と異なる工具種類番号「101」が付与される。
図3Cは、工具番号「5」で工具種類番号「110」のマルチエッジ工具を示す。工具種類番号「110」のマルチエッジ工具は、エッジ番号「1」に真剣バイト、エッジ番号「2」に右剣バイト、エッジ番号「3」に左剣バイトがそれぞれ設けられている。これにより、
図3Cのマルチエッジ工具は、B軸(Y軸)周りに回転させることで、勝手なし、右勝手、及び左勝手の旋削加工を連続的に行うことができる。そして、エッジ番号「1」から「3」に対してエッジ種類番号「15」から「17」が予め付与される。
【0020】
このことから、工具・エッジデータテーブル210において、工具番号「1」から「4」の工具の各々のエッジ番号「1」から「3」に対してエッジ種類番号「11」から「13」が格納され、工具番号「5」のエッジ番号「1」から「3」に対してエッジ種類番号「15」から「17」が格納されている。
【0021】
なお、工具番号「6」及び「7」の工具は、エッジ番号が付与されていないことから、マルチエッジ工具以外の工具である。例えば、工具番号「6」の工具は、工具種類番号「200」の溝入れバイト、及び工具番号「7」の工具は、工具種類番号「210」の突切りバイト等である。このため、工具・エッジデータテーブル210は、工具番号「6」、「7」において、エッジ番号及びエッジ種類番号が空欄となる。
【0022】
また、工具・エッジデータテーブル210は、工具毎又はエッジ毎に残り寿命(使用回数)が格納される。例えば、工具・エッジデータテーブル210の残り寿命(使用回数)は、新品の工具交換時等に初期値として最大の使用回数がエッジ毎又は工具毎に設定され、使用される毎に1ずつマイナスカウントされる。
図2の工具・エッジデータテーブル210では、工具番号「3」のマルチエッジ工具のエッジのうちエッジ番号「3」の残り寿命(使用回数)が「0」であり、寿命が尽きたことを示す。
なお、寿命(使用回数)は、0から1ずつプラスカウントしてもよい。この場合、数値制御装置10は、寿命(使用時間)が最大の使用回数に達したか否かを判定することで、寿命が尽きたか否かを判定してもよい。あるいは、寿命(使用回数)は、工具の累積使用時間等でもよい。この場合、数値制御装置10は、工具の累積使用時間が予め設定された所定時間に達したか否かを判定することで、寿命が尽きたか否かを判定してもよい。
【0023】
<制御部100>
制御部100は、CPU、ROM、RAM、CMOSメモリ等を有し、これらはバスを介して相互に通信可能に構成される、当業者にとって公知のものである。
CPUは数値制御装置10を全体的に制御するプロセッサである。CPUは、ROMに格納されたシステムプログラム及びアプリケーションプログラムを、バスを介して読み出し、前記システムプログラム及びアプリケーションプログラムに従って数値制御装置10全体を制御する。これにより、
図1に示すように、制御部100が、NC指令解読部110、工具選択部120、工具交換実行部130、工具補正部140、及びパルス分配部150の機能を実現するように構成される。RAMには一時的な計算データや表示データ等の各種データが格納される。CMOSメモリは図示しないバッテリでバックアップされ、数値制御装置10の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。
【0024】
NC指令解読部110は、例えば、CAD/CAM装置等の外部装置により生成された加工プログラム30を取得し、取得された加工プログラム30を解析する。
【0025】
工具種類・エッジ種類選択指令解読部111は、加工プログラム30に含まれる複数のブロックを先読みし、先読みされた複数のブロックにおいて工具の種類の選択を実施する工具種類選択指令及び/又はエッジの種類の選択を実施するエッジ種類選択指令を解読する。工具種類・エッジ種類選択指令解読部111は、解読された工具種類及び/又はエッジ種類選択指令を含む内部情報を生成する。
【0026】
図4は、加工プログラム30の一例を示す図である。
図4では、加工プログラム30は、シーケンス番号N1からN60が付されたブロックを有するプログラムである。シーケンス番号N1のブロックは、上述したエッジ種類番号「11」が付与されたエッジを選択する。シーケンス番号N2のブロックは、後述する工具選択部120により選択された工具に交換、又はエッジに変更を行う。シーケンス番号N3のブロックは、選択されたエッジ種類番号「11」のエッジ割り出し軸の位置決めを行う。シーケンス番号N4のブロックは、エッジの角度に応じて分配された補正量を適用する。
【0027】
また、シーケンス番号N10のブロックは、上述したエッジ種類番号「12」のエッジを選択する。シーケンス番号N11のブロックは、選択されたエッジ種類番号「12」のエッジに変更する。シーケンス番号N12のブロックは、選択されたエッジ種類番号「12」のエッジ割り出し軸の位置決めを行う。シーケンス番号N20のブロックは、上述した工具種類番号「200」の工具を選択する。シーケンス番号N21のブロックは、選択された工具種類番号「200」の工具に交換する。
【0028】
また、シーケンス番号N30のブロックは、上述した工具種類番号「100」の工具、及びエッジ種類番号「11」のエッジを選択する。シーケンス番号N31のブロックは、選択された工具種類番号「100」の工具に交換する。シーケンス番号N32のブロックは、選択されたエッジ種類番号「11」のエッジ割り出し軸の位置決めを行う。シーケンス番号N40のブロックは、エッジ種類番号「12」のエッジを選択する。シーケンス番号N41のブロックは、選択されたエッジ種類番号「12」のエッジに変更する。シーケンス番号N42のブロックは、選択されたエッジ種類番号「12」のエッジ割り出し軸の位置決めを行う。シーケンス番号N50のブロックは、エッジ種類番号「13」のエッジを選択する。シーケンス番号N51のブロックは、選択されたエッジ種類番号「13」のエッジに変更する。シーケンス番号N52のブロックは、選択されたエッジ種類番号「13」のエッジ割り出し軸の位置決めを行う。シーケンス番号N60のブロックは、工具種類番号「210」の工具を選択する。シーケンス番号N61のブロックは、選択された工具種類番号「210」の工具に交換する。そして、「M30」のブロックは、加工プログラム30を終了する。
【0029】
工具種類・エッジ種類選択指令解読部111は、例えば、
図4の加工プログラム30のうち、シーケンス番号N20又はN60の工具種類選択指令のみのブロック(すなわち、マルチエッジ工具以外の工具が選択されるブロック)までを一塊として先読みする。すなわち、工具種類・エッジ種類選択指令解読部111は、最初にシーケンス番号N1からN20のブロックを先読みする。工具種類・エッジ種類選択指令解読部111は、先読みされたブロックのうち、少なくとも工具種類選択指令又はエッジ種類選択指令を含むシーケンス番号N1、N10、20のブロックを抽出する。シーケンス番号N1のブロックはエッジ種類番号「11」のエッジ種類選択指令しかない。このため、工具種類・エッジ種類選択指令解読部111は、工具種類選択指令が指令する工具種類のデータを配列テーブルTの1番目T[1]に工具種類選択指令なしを示す「0」を記録する。一方、工具種類・エッジ種類選択指令解読部111は、エッジ種類選択指令が指令するエッジ種類のデータを配列テーブルPの1番目P[1]に「11」を記録する。以下、配列テーブルTは「工具種類T」ともいい、配列テーブルPは「エッジ種類P」ともいう。
【0030】
次に、工具種類・エッジ種類選択指令解読部111は、シーケンス番号N10のブロックにおいて、2番目の工具種類T[2]に「0」を記録し、2番目のエッジ種類P[2]に「12」を記録する。また、工具種類・エッジ種類選択指令解読部111は、シーケンス番号N20のブロックにおいて、工具種類番号「200」の工具種類選択指令しかないことから、3番目の工具種類T[3]に「200」を記録し、3番目のエッジ種類P[3]にエッジ種類選択指令なしを示す「0」を記録する。
そして、工具種類・エッジ種類選択指令解読部111は、シーケンス番号N1からN20のブロックにおいて、
T[1]=0、P[1]=「11」
T[2]=0、P[2]=「12」
T[3]=「200」、P[3]=「0」
の内部情報を生成する。工具種類・エッジ種類選択指令解読部111は、生成した内部情報を後述する工具選択部120に出力する。
【0031】
次に、工具種類・エッジ種類選択指令解読部111は、加工プログラム30のシーケンス番号N30からN60のブロックを先読みする。この場合、工具種類・エッジ種類選択指令解読部111は、配列テーブルT、Pを初期化してもよい。
そして、工具種類・エッジ種類選択指令解読部111は、上述のシーケンス番号N1からN20のブロックの場合と同様に、シーケンス番号N30からN60のブロックにおいて、
T[1]=「100」、P[1]=「11」
T[2]=「0」、P[2]=「12」
T[3]=「0」、P[3]=「12」
T[4]=「210」、P[4]=「0」
の内部情報を生成する。工具種類・エッジ種類選択指令解読部111は、生成した内部情報を後述する工具選択部120に出力する。
【0032】
工具選択部120は、工具情報メモリ200に記憶されたエッジ毎の残り寿命と、工具種類・エッジ種類選択指令解読部111により生成された内部情報とに基づいて、少なくとも先読みされた複数のブロックの実行中において工具交換の回数が最小となる工具を選択する。
すなわち、工具選択部120は、マルチエッジ工具以外の工具に交換する場合を除き、マルチエッジ工具の特性を利用して、工具交換せずに1つの工具の異なるエッジを使用して一連の加工を行うようにマルチエッジ工具を選択する。換言すれば、工具選択部120は、加工プログラム30の解読結果である内部情報に基づいて、マルチエッジ工具の複数のエッジを連続的に加工に使用できるか否かを判定し、目的の加工を工具交換なしで行なえ、加工中にエッジの寿命が尽きない工具を選択する。これにより、数値制御装置10は、工具交換の回数を最小限に抑えることで、サイクルタイムを抑制することができる。
【0033】
具体的には、工具選択部120は、
図4の加工プログラム30のうちシーケンス番号N1からN20のブロックが先読みされた場合、工具種類・エッジ種類選択指令解読部111から内部情報として、
T[1]=0、P[1]=「11」
T[2]=0、P[2]=「12」
T[3]=「200」、P[3]=「0」
を受信する。工具選択部120は、
図2の工具・エッジデータテーブル210と、エッジ種類P[1]=「11」、及びP[2]=「12」とに基づいて、エッジ種類番号「11」及び「12」を有する工具番号「1」から「4」のマルチエッジ工具を選択した場合、工具交換なしで連続的に目的の加工に使用できると判定する。そして、工具選択部120は、1減算した使用後の残り寿命(使用回数)が負にならないものを選択する。
この場合、
図4の加工プログラム30では、シーケンス番号N1からN20においてエッジ種類番号「13」が指定されていない。このことから、工具選択部120は、加工プログラム30のシーケンス番号N1からN11のブロックの実行において、エッジ種類番号「13」のエッジの寿命が尽きている工具番号「3」のマルチエッジ工具を選択する。これにより、数値制御装置10は、1つのエッジの寿命が尽きた場合でも、マルチエッジ工具を使用した加工においてサイクルタイムを抑制することができる。また、マルチエッジ工具の各エッジを無駄なく使用することができ、コストを抑えることができる。
【0034】
また、工具選択部120は、内部情報の工具種類T[3]=「200」に基づき、加工プログラム30のシーケンス番号N20のブロックにおいて、工具番号「6」の工具を選択する。そして、工具選択部120は、選択結果を工具交換実行部130、及び工具補正部140に送信する。
【0035】
そうすることで、工具選択部120は、加工プログラム30のシーケンス番号N1からN20のブロックの実行において、工具番号「3」から工具番号「6」への最小の1回の工具交換を行うことで、サイクルタイムを抑制することができる。
【0036】
次に、工具選択部120は、加工プログラム30のシーケンス番号N30からN60のブロックが先読みされた場合、工具種類・エッジ種類選択指令解読部111から内部情報として、
T[1]=「100」、P[1]=「11」
T[2]=「0」、P[2]=「12」
T[3]=「0」、P[3]=「12」
T[4]=「210」、P[4]=「0」
を受信する。工具選択部120は、工具・エッジデータテーブル210と、エッジ種類P[1]=「11」、P[2]=「12」、及びP[3]=「13」とに基づいて、エッジ種類番号「11」から「13」を有する工具番号「1」から「4」のマルチエッジ工具を選択した場合、工具交換なしで連続的に目的の加工に使用できると判定する。この場合、工具選択部120は、3つのエッジの残り寿命(使用回数)が最も少ない工具番号「2」のマルチエッジ工具を選択する。
【0037】
また、工具選択部120は、内部情報の工具種類T[4]=「210」に基づき、加工プログラム30のシーケンス番号N60のブロックにおいて、工具番号「7」の工具を選択する。そして、工具選択部120は、選択結果を工具交換実行部130、及び工具補正部140に送信する。
【0038】
そうすることで、工具選択部120は、加工プログラム30のシーケンス番号N30からN60のブロックの実行において、工具番号「6」から工具番号「2」、及び工具番号「2」から工具番号「7」への最小の2回の工具交換を行うことで、サイクルタイムを抑制することができる。
【0039】
工具交換実行部130は、工具選択部120により選択された工具に交換するための軸移動量を計算する。
【0040】
工具補正部140は、工具選択部120により選択された工具・エッジの位置オフセット量(例えば、旋削加工工具)/工具長補正量(例えば、ミリング加工工具)、及び刃先R補正量を用いて、工具補正量を計算する。
【0041】
パルス分配部150は、計算された工具交換/工具補正の各軸移動分のパルスが工作機械20に含まれる各サーボモータ(図示しない)に出力する。
【0042】
<数値制御装置10のNC指令解読処理>
次に、一実施形態に係る数値制御装置10のNC指令解読処理に係る動作について説明する。
図5は、数値制御装置10のNC指令解読処理について説明するフローチャートである。ここで示すフローは、解読結果に基づいて、後述するNC指令実行処理に対して工具交換要求又はエッジ変更要求を通知する。また、ここで示すフローは、数値制御装置10が加工プログラム30を取得する度に繰り返し実行される。
【0043】
ステップS1において、NC指令解読部110は、加工プログラム30のブロックを読み込む。
【0044】
ステップS2において、NC指令解読部110は、ステップS1で読み込まれた加工プログラム30に対してNC指令解読処理を行う。なお、NC指令解読処理の詳細なフローについては、後述する。
【0045】
ステップS3において、NC指令解読部110は、加工プログラム30のプログラムエンドまで読み込んだか否かを判定する。プログラムエンドまで読み込んだ場合、処理は終了する。一方、プログラムエンドまで読み込んでいない場合、処理はステップS1に戻る。
【0046】
図6は、
図5においてステップS2で示したNC指令解読処理の詳細な処理内容を説明するフローチャートである。
図6のフローチャートでは、読み込んだブロックのNC指令が工具種類選択指令及び/又はエッジ種類選択指令の場合、選択する工具を確定するための情報が揃うまで、加工プログラム30のブロックの読み込みを行う。なお、
図6のフローチャートでは、ステップS21からS29は、工具種類・エッジ種類選択指令解読部111の処理フローを示す。
【0047】
ステップS21において、工具種類・エッジ種類選択指令解読部111は、ステップS1で読み込まれたブロックのNC指令が工具種類選択指令又はエッジ種類選択指令であるか否かを判定する。工具種類選択指令及び/又はエッジ種類選択指令である場合、処理はステップS22に進む。工具種類選択指令及び/又はエッジ種類選択指令でない場合、NC指令解読処理のフローは終了し、処理はステップS3に進む。
【0048】
ステップS22において、工具種類・エッジ種類選択指令解読部111は、工具種類選択指令及び/又はエッジ種類選択指令を含むブロック数を示す変数nを初期化する。
【0049】
ステップS23において、工具種類・エッジ種類選択指令解読部111は、変数nを1増加させる。
【0050】
ステップS24において、工具種類・エッジ種類選択指令解読部111は、解読メイン処理を行う。なお、解読メイン処理の詳細なフローについては、後述する。
【0051】
ステップS25において、工具種類・エッジ種類選択指令解読部111は、ステップS24の解読メイン処理の結果に基づいて、次のブロックを読み込むか否かを判定する。次のブロックを読み込む(すなわち、先読みする)場合、処理はステップS26に進む。一方、次のブロックを読み込まない場合、NC指令解読処理のフローは終了し、処理は
図5のステップS3に進む。
【0052】
ステップS26において、工具種類・エッジ種類選択指令解読部111は、加工プログラム30の次のブロックを読み込む。
【0053】
ステップS27において、工具種類・エッジ種類選択指令解読部111は、ステップS26で読み込まれたブロックがプログラムエンド又はマスクバッファか否かを判定する。ブロックがプログラムエンド又はマスクバッファの場合、処理はステップS29に進む。一方、ブロックがプログラムエンド又はマスクバッファでない場合、処理はステップS28に進む。
【0054】
ステップS28において、工具種類・エッジ種類選択指令解読部111は、ステップS26で読み込まれたブロックのNC指令が工具種類選択指令及び/又はエッジ種類選択指令であるか否かを判定する。工具種類選択指令及び/又はエッジ種類選択指令でない場合、処理はステップS23に進む。一方、工具種類選択指令及び/又はエッジ種類選択指令でない場合、処理はステップS26に進む。
【0055】
ステップS29において、工具種類・エッジ種類選択指令解読部111は、変数nを1増加させ、工具交換要求を工具選択部120に出力する。そして、NC指令解読処理のフローは終了し、処理はステップS3に進む。なお、工具種類・エッジ種類選択指令解読部111が工具交換要求を工具選択部120に出力した場合の数値制御装置10のNC指令実行処理については、後述する。
【0056】
図7は、
図6においてステップS24で示した解読メイン処理の詳細な処理内容を説明するフローチャートである。
図7のフローチャートでは、ステップS41からS43は、工具種類・エッジ種類選択指令解読部111の処理フローを示す。
【0057】
ステップS41において、工具種類・エッジ種類選択指令解読部111は、工具種類選択指令・エッジ種類選択指令記憶処理を行う。なお、工具種類選択指令・エッジ種類選択指令記憶処理については、後述する。
【0058】
ステップS42において、工具種類・エッジ種類選択指令解読部111は、アラーム処理を行う。例えば、工具種類・エッジ種類選択指令解読部111は、工具種類選択指令でマルチエッジ工具が選択されたにも関わらず、エッジ種類選択指令が指令されていない場合、アラームを発生させ、ブロックの読み込みを終了してもよい。あるいは、工具種類・エッジ種類選択指令解読部111は、工具種類選択指令でマルチエッジ工具ではない工具が選択されたにも関わらず、エッジ種類選択指令が指令されている場合、アラームを発生させ、ブロックの読み込みを終了してもよい。
なお、工具種類・エッジ種類選択指令解読部111がアラームを発生した場合、数値制御装置10は、数値制御装置10に含まれる液晶ディスプレイ等の表示装置(図示しない)にアラームの内容を表示してもよい。そうすることで、数値制御装置10のユーザは、アラーム内容を把握し、アラームに対して対応することができる。
【0059】
ステップS43において、工具種類・エッジ種類選択指令解読部111は、次ブロック読込判定処理を行う。そして、解読メイン処理のフローを終了し、
図6のステップS25へ進む。なお、次ブロック読込判定処理については、後述する。
【0060】
図8は、
図7においてステップS41で示した工具種類選択指令・エッジ種類選択指令記憶処理の詳細な処理内容を説明するフローチャートである。
図8のフローチャートでは、ステップS51からS56は、工具種類・エッジ種類選択指令解読部111の処理フローを示す。
【0061】
ステップS51において、工具種類・エッジ種類選択指令解読部111は、n番目に読み込んだブロックにおいてエッジ種類選択指令があるか否かを判定する。エッジ種類選択指令がない場合、処理はステップS52に進む。一方、エッジ種類選択指令がある場合、処理はステップS53に進む。
【0062】
ステップS52において、工具種類・エッジ種類選択指令解読部111は、ン番目のエッジ種類P[n]に「0」を記憶する。
【0063】
ステップS53において、工具種類・エッジ種類選択指令解読部111は、n番目に読み込んだブロックのエッジ種類選択指令で指令されたエッジ種類番号をエッジ種類P[n]に記憶する。
【0064】
ステップS54において、工具種類・エッジ種類選択指令解読部111は、n番目に読み込んだブロックにおいて工具種類選択指令があるか否かを判定する。工具種類選択指令がない場合、処理はステップS55に進む。一方、工具種類選択指令がある場合、処理はステップS56に進む。
【0065】
ステップS55において、工具種類・エッジ種類選択指令解読部111は、n番目の工具種類T[n]に「0」を記憶する。そして、工具種類選択指令・エッジ種類選択指令記憶処理のフローを終了し、処理は
図7のステップS42に進む。
【0066】
ステップS56において、工具種類・エッジ種類選択指令解読部111は、n番目に読み込んだブロックの工具種類選択指令で指令された工具種類番号を工具種類T[n]に記憶する。そして、工具種類選択指令・エッジ種類選択指令記憶処理のフローを終了し、処理は
図7のステップS42に進む。
【0067】
図9及び
図10は、
図7においてステップS43で示した次ブロック読込判定処理の詳細な処理内容を説明するフローチャートである。
図9及び
図10のフローチャートでは、ステップS61からS73は、工具種類・エッジ種類選択指令解読部111の処理フローを示す。
【0068】
ステップS61において、工具種類・エッジ種類選択指令解読部111は、n番目のエッジ種類P[n]が「0」か否かを判定する。エッジ種類P[n]が「0」の場合、処理はステップS62に進む。一方、エッジ種類P[n]が「0」でない場合、処理はステップS63に進む。
【0069】
ステップS62において、工具種類・エッジ種類選択指令解読部111は、工具交換要求を工具選択部120に通知し、次のブロックを読み込まない決定をする。そして、工具種類・エッジ種類選択指令解読部111は、次ブロック読込判定処理のフローを終了し、処理は
図6のステップS25に進む。
例えば、上述したように、
図4の加工プログラム30のシーケンス番号N1のブロックにおいて、シーケンス番号N20のブロックまでを先読みした結果、P[3]=「0」となることから、工具種類・エッジ種類選択指令解読部111は、工具交換要求を工具選択部120に通知する。工具種類・エッジ種類選択指令解読部111は、シーケンス番号N30以降の次のブロックの読み出しをしない決定をする。これにより、
図6のステップS25において、工具種類・エッジ種類選択指令解読部111は、次のブロックを読み込まないと判定する。そして、
図6のNC指令解読処理のフローは終了し、処理は
図5のステップS3に進む。換言すれば、数値制御装置10は、
図4の加工プログラム30のシーケンス番号N2以降のブロックに対するNC指令解読処理を開始する。
【0070】
そして、加工プログラム30のシーケンス番号N30のブロックにおいても、シーケンス番号N60のブロックまでを先読みした結果、P[4]=「0」となることから、工具種類・エッジ種類選択指令解読部111は、次のブロックの読み出しをしない決定をする。これにより、
図6のステップS25において、工具種類・エッジ種類選択指令解読部111は、次のブロックを読み込まないと判定する。そして、
図6のNC指令解読処理のフローは終了し、処理は
図5のステップS3に進む。
【0071】
ステップS63において、工具種類・エッジ種類選択指令解読部111は、エッジ種類P[n]のエッジ変更のみで工具交換が不要か否かを判定する。工具交換が不要の場合、処理はステップS64に進む。一方、工具交換が必要な場合、処理は
図10のステップS65に進む。
【0072】
ステップS64において、工具種類・エッジ種類選択指令解読部111は、エッジ変更要求を工具選択部120に通知し、次のブロックを読み込まない決定をする。そして、工具種類・エッジ種類選択指令解読部111は、次ブロック読込判定処理のフローを終了し、処理は
図6のステップS25に進む。
例えば、
図4の加工プログラム30のシーケンス番号N10のブロックにおいて、工具種類・エッジ種類選択指令解読部111は、エッジ種類P[1]=「12」の内部情報を生成する。この場合、シーケンス番号N10のブロックは「現在使用中の工具以外」の工具種類選択指令がなく、シーケンス番号N1のブロックにおいて選択された工具番号「3」において、指定されたエッジ種類P[1]の寿命が尽きない。このため、工具種類・エッジ種類選択指令解読部111は、エッジ種類P[1]=「12」に基づいて、工具番号「3」の工具のエッジ番号「2」に変更するエッジ変更要求を工具選択部120に通知する。
【0073】
図10のステップS65において、工具種類・エッジ種類選択指令解読部111は、1番目の工具種類T[1]の工具種類番号が「0」か否かを判定する。工具種類T[1]の工具種類番号が「0」の場合、処理はステップS68に進む。一方、工具種類T[1]の工具種類番号が「0」でない場合、処理はステップS66に進む。
【0074】
ステップS66において、工具種類・エッジ種類選択指令解読部111は、工具種類T[n]と工具種類T[1]とは異なる工具種類が指定されているか否かを判定する。工具種類T[n]と工具種類T[1]とが異なる工具種類の場合、処理はステップS72に進む。一方、工具種類T[n]と工具種類T[1]とは同じ工具種類の場合、処理はステップS67に進む。
【0075】
ステップS67において、工具種類・エッジ種類選択指令解読部111は、工具種類T[1]の工具種類番号が示すマルチエッジ工具を選択対象に設定する。
【0076】
ステップS68において、工具種類・エッジ種類選択指令解読部111は、n番目の工具種類T[n]の工具種類番号が「0」か否か(すなわち、工具種類選択指令が1つもないか否か)を判定する。工具種類T[n]の工具種類番号が「0」の場合、処理はステップS69に進む。一方、工具種類T[n]の工具種類番号が「0」でない場合、処理はステップS70に進む。
【0077】
ステップS69において、工具種類・エッジ種類選択指令解読部111は、工具種類選択指令が1つも無いことから、全てのマルチエッジ工具を選択対象に設定する。
【0078】
ステップS70において、工具種類・エッジ種類選択指令解読部111は、工具種類T[n]の工具種類番号が示すマルチエッジ工具を選択対象に設定する。
【0079】
ステップS71において、工具種類・エッジ種類選択指令解読部111は、ステップS67、ステップS69、又はステップS70で設定された選択対象の中でエッジ種類P[1]-P[n]が同じ工具に属するエッジか否かを判定する。エッジ種類P[1]-P[n]が同じ工具に属するエッジの場合、処理はステップS73に進む。一方、エッジ種類P[1]-P[n]が同じ工具に属するエッジでない場合、処理はステップS72に進む。
【0080】
ステップS72では、工具種類・エッジ種類選択指令解読部111は、工具交換要求を工具選択部120に通知し、次のブロックを読み込まない決定をする。そして、次ブロック読込判定処理のフローを終了し、
図6のステップS25に進む。
【0081】
ステップS73において、工具種類・エッジ種類選択指令解読部111は、T[1]=T[n]とし、次のブロックの読み込む決定をする。そして、次ブロック読込判定処理のフローを終了し、
図6のステップS25に進む。
例えば、内部情報が
T[1]=「0」、P[1]=「11」
T[2]=「0」、P[2]=「12」
T[3]=「0」、P[3]=「13」
T[4]=「100」、P[4]=「11」
T[5]=「0」、P[5]=「12」
T[6]=「101」、P[6]=「11」
の場合、工具種類・エッジ種類選択指令解読部111は、工具種類T[4]の読み込み時に、ステップS71において、エッジ種類P[1]-P[4]が同じ工具に属するエッジと判断し、ステップS73に進む。ステップS73において、T[1]=T[4]が実行され、T[1]=「100」となる。
一方、工具種類・エッジ種類選択指令解読部111は、工具種類T[6]の読み込み時に、ステップS66において、T[1]とT[6]が異なる工具種類であると判断し、ステップS72に進む。
【0082】
<数値制御装置10のNC指令実行処理>
次に、一実施形態に係る数値制御装置10のNC指令実行処理に係る動作について説明する。
図11は、数値制御装置10のNC指令実行処理について説明するフローチャートである。ここで示すフローは、
図5のNC指令実行処理による工具交換要求又はエッジ変更要求が通知される度に繰り返し実行される。
【0083】
ステップS100において、工具選択部120は、工具種類・エッジ種類選択指令解読部111から工具交換要求、又はエッジ変更要求の通知を受信したか否かを判定する。工具交換要求、又はエッジ変更要求の通知を受信した場合、処理はステップS110に進む。一方、工具交換要求、又はエッジ変更要求の通知を受信しなかった場合、NC指令実行処理のフローを終了する。
【0084】
ステップS110において、工具選択部120は、工具選択処理を行う。工具選択処理については、後述する。
【0085】
ステップS120において、工具交換実行部130は、ステップS110で選択された工具に交換するための軸移動量を計算する。
【0086】
ステップS130において、工具補正部140は、ステップS110で選択された工具・エッジの位置オフセット量(例えば、旋削加工工具)/工具長補正量(例えば、ミリング加工工具)、及び刃先R補正量を用いて、工具補正量を計算する。
【0087】
ステップS140において、パルス分配部150は、ステップS120及びステップS130で計算された工具交換/工具補正の各軸移動分のパルスが工作機械20に含まれる各サーボモータ(図示しない)に出力する。
【0088】
図12から
図14は、
図11においてステップS110で示した工具選択処理の詳細な処理内容を説明するフローチャートである。
図12から
図14のフローチャートでは、ステップS201からS212は、工具選択部120の処理フローを示す。
【0089】
ステップS201において、工具選択部120は、ステップS110で受信された要求が工具交換要求か否かを判定する。工具交換要求の場合、処理はステップS202に進む。一方、工具交換要求でなく、エッジ交換要求の場合、工具選択部120は現在選択されている工具をそのまま使用し、エッジ交換を行うため処理はステップS120に進む。
【0090】
ステップS202において、工具選択部120は、2より大きい複数の工具種類選択指令・エッジ種類選択指令を解読済みか否かを判定するために、変数nが2より大きいか否かを判定する。変数nが2より大きい場合、処理は
図14のステップS209に進む。一方、変数nが2以下の場合、処理はステップS203に進む。
【0091】
ステップS203において、工具選択部120は、エッジ種類P[1]が「0」か否かを判定する。エッジ種類P[1]が「0」の場合、処理はステップS204に進む。一方、エッジ種類P[1]が「0」でない場合、処理は
図13のステップS205に進む。
【0092】
ステップS204において、工具選択部120は、工具種類T[1]の中で残り寿命が最小の工具を選択する。そして、ステップS110の工具選択処理のフローを終了し、
図11のステップS120に進む。
なお、「残り寿命が最小」とは、残り寿命がない状態、すなわち残り寿命が「0」を除く。
【0093】
図13のステップS205において、工具選択部120は、工具種類T[1]が「0」か否か(すなわち、工具種類選択指令がないか否か)を判定する。工具種類T[1]が「0」、すなわち工具種類選択指令がない場合、処理はステップS206に進む。一方、工具種類T[1]が「0」でない、すなわち工具種類選択指令がある場合、処理はステップS207に進む。
【0094】
ステップS206において、工具選択部120は、全てのマルチエッジ工具を選択対象に設定する。
【0095】
ステップS207において、工具選択部120は、工具種類T[1]のマルチエッジ工具を選択対象に設定する。
【0096】
ステップS208において、工具選択部120は、工具選択処理(1)を行う。工具選択処理(1)については、後述する。
【0097】
図14のステップS209において、工具選択部120は、工具種類T[1]が「0」か否か(すなわち、工具種類選択指令がないか否か)を判定する。工具種類T[1]が「0」、すなわち工具種類選択指令がない場合、処理はステップS210に進む。一方、工具種類T[1]が「0」でない、すなわち工具種類選択指令がある場合、処理はステップS211に進む。
【0098】
ステップS210において、工具選択部120は、選択対象を全てのマルチエッジ工具に設定する。
【0099】
ステップS211において、工具選択部120は、選択対象を工具種類T[1]のマルチエッジ工具に設定する。
【0100】
ステップS212において、工具選択部120は、工具選択処理(2)を行う。工具選択処理(2)については、後述する。
【0101】
図15は、
図13においてステップS208で示した工具選択処理(1)の詳細な処理内容を説明するフローチャートである。
図15のフローチャートでは、ステップS301からS306は、工具選択部120の処理フローを示す。
【0102】
ステップS301において、工具選択部120は、エッジ種類P[1]のエッジの寿命が残っているマルチエッジ工具があるか否かを判定する。エッジ種類P[1]のエッジの寿命が残っているマルチエッジ工具がある場合、処理はステップS303に進む。一方、エッジ種類P[1]のエッジの寿命が残っているマルチエッジ工具がない場合、処理はステップS302に進む。
【0103】
ステップS302において、工具選択部120は、エッジ種類P[1]のエッジの寿命が残っているマルチエッジ工具がないことを数値制御装置10のユーザに知らせるため、アラーム発生処理を行う。そして、ステップS208の工具選択処理(1)のフローを終了し、
図11のステップS120に進む。
この場合、例えば、工具選択部120は、数値制御装置10の表示装置(図示しない)に、エッジ種類P[1]のエッジの寿命が残っているマルチエッジ工具がないことを示すアラームの内容を表示させてもよい。そうすることで、数値制御装置10のユーザは、エッジ種類P[1]のエッジを有するマルチエッジ工具の新品に交換することができる。
【0104】
ステップS303において、工具選択部120は、エッジ種類P[1]以外のエッジの寿命が尽きているマルチエッジ工具があるか否かを判定する。エッジ種類P[1]以外のエッジの寿命が尽きているマルチエッジ工具がある場合、処理はステップS305に進む。一方、エッジ種類P[1]以外のエッジの寿命が尽きているマルチエッジ工具がない場合、処理はステップS304に進む。
【0105】
ステップS304において、工具選択部120は、エッジ種類P[1]の残り寿命が最小の工具を選択する。
【0106】
ステップS305において、工具選択部120は、寿命が尽きているエッジの数の最大の工具を選択する。
なお、該当する工具が複数ある場合、工具選択部120は、エッジ種類P[1]の残り寿命が最小の工具を選択してもよい。
【0107】
ステップS306において、工具選択部120は、ステップS304又はステップS305で選択された工具が複数ある場合、全てのエッジの残り寿命の積算値が最小の工具を選択する。さらに工具が複数ある場合、工具選択部120は、工具番号が最小の工具を選択する。そして、ステップS208の工具選択処理(1)のフローを終了し、
図11のステップS120に進む。
【0108】
図16は、
図14においてステップS212で示した工具選択処理(2)の詳細な処理内容を説明するフローチャートである。
図16のフローチャートでは、ステップS401からS407は、工具選択部120の処理フローを示す。
【0109】
ステップS401において、工具選択部120は、エッジ種類P[1]-P[n-1]で指定されたエッジ種類と各エッジの指定回数をカウントする。
【0110】
ステップS402において、工具選択部120は、エッジ種類P[1]-P[n-1]で指定された全てのエッジ種類の残り寿命からステップS401でカウントされた各指定回数を減算し、残り寿命が負にならない工具があるか否かを判定する。残り寿命が負にならない工具がある場合、処理はステップS404に進む。一方、残り寿命が負にならない工具がない、すなわち全ての工具において指定されたエッジ種類の残り寿命が負になる場合、処理はステップS403に進む。
【0111】
ステップS403において、工具選択部120は、全ての工具において指定されたエッジ種類の残り寿命が負になることを数値制御装置10のユーザに知らせるため、アラーム発生処理を行う。そして、ステップS212の工具選択処理(2)のフローを終了し、
図11のステップS120に進む。
例えば、この場合、工具選択部120は、数値制御装置10の表示装置(図示しない)に、全ての工具において指定されたエッジ種類の残り寿命が負になることを示すアラームの内容を表示させてもよい。そうすることで、数値制御装置10のユーザは、指定されたエッジ種類を有するマルチエッジ工具の新品に交換することができる。
【0112】
ステップS404において、工具選択部120は、エッジ種類P[1]-P[n-1]以外のエッジの寿命が尽きているマルチエッジ工具があるか否かを判定する。エッジの寿命が尽きているマルチエッジ工具がある場合、処理はステップS406に進む。一方、エッジの寿命が尽きているマルチエッジ工具がない場合、処理はステップS405に進む。
【0113】
ステップS405において、工具選択部120は、エッジ種類P[1]-P[n-1]で指定されたエッジ種類の残り寿命から各指定回数を減算し、残り寿命が最小となるエッジを有する工具を選択する。
【0114】
ステップS406において、工具選択部120は、寿命が尽きているエッジの数の最大の工具を選択する。
なお、該当する工具が複数ある場合、工具選択部120は、エッジ種類P[1]-P[n-1]で指定された全てのエッジ種類の残り寿命について各指定回数を減算し、残り寿命が最小となるエッジを有する工具を選択してもよい。
【0115】
ステップS407において、工具選択部120は、ステップS405又はステップS406で選択された工具が複数ある場合、全てのエッジの残り寿命の積算値が最小の工具を選択する。さらに工具が複数ある場合、工具選択部120は、工具番号が最小の工具を選択する。そして、ステップS212の工具選択処理(2)のフローを終了し、
図11のステップS120に進む。
【0116】
以上により、一実施形態の数値制御装置10は、加工プログラム30に含まれる複数のブロックを先読みし、先読みされた複数のブロックにおいて工具の種類の選択を実施する工具種類選択指令及び/又はエッジの種類の選択を実施するエッジ種類選択指令を解読する。数値制御装置10は、解読された工具種類選択指令及び/又はエッジ種類選択指令を含む内部情報を生成する。数値制御装置10は、工具情報メモリに記憶されたエッジ毎の残り寿命と、生成された内部情報とに基づいて、少なくとも先読みされた複数のブロックの実行中において工具交換の回数が最小となる工具を選択する。
これにより、数値制御装置10は、1つのエッジの寿命が尽きた場合でも、マルチエッジ工具を使用した加工においてサイクルタイムを抑制することができる。
また、数値制御装置10は、同じ工具番号のマルチエッジ工具があり、少なくとも先読みされた複数のブロックの実行中において指定されないエッジがある場合、前記指定されないエッジの寿命が尽きたマルチエッジ工具を優先的に選択する。これにより、数値制御装置10は、マルチエッジ工具の各エッジを無駄なく使用することができ、コストを抑えることができる。
【0117】
以上、一実施形態について説明したが、数値制御装置10は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
【0118】
上述の実施形態では、
図5のNC指令解読処理と
図11のNC指令実行処理とは、シーケンシャルに処理されたが、これに限定されず、並列に処理されてもよい。
【0119】
なお、一実施形態における、数値制御装置10に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【0120】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAMを含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
【0121】
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0122】
以上を換言すると、本開示の数値制御装置は、次のような構成を有する各種各様の実施形態を取ることができる。
【0123】
(1)本開示の数値制御装置10は、異なる仕様のエッジを複数備えたマルチエッジ工具を使用してワークを加工する工作機械20の数値制御装置であって、エッジの種類を特定するエッジ種類番号を、工具の種類を特定する工具種類番号に関連づけて記憶する工具情報メモリ200と、加工プログラム30に含まれる複数のブロックを先読みし、先読みされた複数のブロックにおいて工具の種類の選択を実施する工具種類選択指令及び/又はエッジの種類の選択を実施するエッジ種類選択指令を解読し、解読された工具種類選択指令及び/又はエッジ種類選択指令を含む内部情報を生成する工具種類・エッジ種類選択指令解読部111と、工具情報メモリ200に記憶されたエッジ毎の残り寿命と、工具種類・エッジ種類選択指令解読部111により生成された内部情報とに基づいて、少なくとも先読みされた複数のブロックの実行中において工具交換の回数が最小となる工具を選択する工具選択部120と、を備える。
この数値制御装置10によれば、エッジの寿命が尽きた場合でも、マルチエッジ工具を使用した加工においてサイクルタイムを抑制することができる。
【0124】
(2)工具選択部120は、マルチエッジ工具の全てのエッジを使用した連続的な加工をしないと判断した場合、寿命が尽きたエッジを有する工具を優先的に選択してもよい。
そうすることで、マルチエッジ工具の各エッジを無駄なく使用することができ、コストを抑えることができる。
【0125】
(3)マルチエッジ工具が旋削加工用工具であってもよい。
そうすることで、(1)又は(2)と同様の効果を奏することができる。
【0126】
(4)マルチエッジ工具がミリング加工用工具であってもよい。
そうすることで、(1)又は(2)と同様の効果を奏することができる。
【符号の説明】
【0127】
10 数値制御装置
111 工具種類・エッジ種類選択指令解読部
120 工具選択部
200 工具情報メモリ