(57)【要約】【課題】誤操作を検出可能な数値制御装置を提供する。【解決手段】使用工具に関する情報を扱うことが可能な数値制御装置１は、加工プログラムと、使用工具の形状情報及び未加工ワークの形状情報と、を入力する加工プログラム入力部１０１と、前記使用工具の形状情報及び前記未加工ワークの形状情報と、工具軌跡と、に基づき加工途中のワーク形状を計算するワーク形状計算部１０６と、加工中に手動操作が行われる場合に、前記加工途中のワーク形状に基づき、加工途中のワークに工具が接触することがない範囲を工具の可動範囲として設定する可動範囲設定部１０７と、を有する。【選択図】図１
2019220093.tif 000002
【特許請求の範囲】
【請求項１】
使用工具に関する情報を扱うことが可能な数値制御装置であって、
加工プログラムと、使用工具の形状情報及び未加工ワークの形状情報と、を入力する加工プログラム入力部と、
前記使用工具の形状情報及び前記未加工ワークの形状情報と、工具軌跡と、に基づき加工途中のワーク形状を計算するワーク形状計算部と、
加工中に手動操作が行われる場合に、前記加工途中のワーク形状に基づき、加工途中のワークに工具が接触することがない範囲を工具の可動範囲として設定する可動範囲設定部と、を有することを特徴とする
数値制御装置。
【請求項２】
加工中断後の加工再開時に工具を加工再開位置に移動させる際、前記可動範囲に移動経路を設定することを特徴とする
請求項１記載の数値制御装置。
【請求項３】
前記加工プログラムは、階層構造のデータモデルに準拠した形式で前記使用工具の形状情報及び前記未加工ワークの形状情報を記述した、機械に依存しない汎用指令であることを特徴とする
請求項１記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に誤操作を検出可能な数値制御装置に関する。
【背景技術】
【０００２】
工作機械等の産業機械（以下、単に機械という）を使用する加工現場では、加工中に機械の自動運転を停止し、数値制御装置の操作器を介して手動操作を行う場合がある。手動操作は、例えば寸法の確認や切粉除去のため行われる。この際、手動操作に誤り（例えば退避方向の誤り、小数点の記述漏れ等）があり、工具が本来接触してはならないもの（例えば加工途中のワークや機械の構成部品等）に接触すると、加工不良や機械破損の原因となる。
【０００３】
誤操作を検出するための手法として、例えば特許文献１がある。特許文献１には、素材と工具とが干渉する領域を算出することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−０３１９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１記載の技術は素材形状、すなわち加工前のワーク形状に基づいて干渉の有無を計算しているが、加工中のワーク形状に基づく干渉の有無を計算することができない。これは、従来のＧコード等で作成されている従来の加工プログラムに含まれる情報だけでは加工中のワーク形状を特定できないからである。
【０００６】
本発明はこのような課題を解決するためのものであり、誤操作を検出可能な数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態にかかる数値制御装置は、使用工具に関する情報を扱うことが可能な数値制御装置であって、加工プログラムと、使用工具の形状情報及び未加工ワークの形状情報と、を入力する加工プログラム入力部と、前記使用工具の形状情報及び前記未加工ワークの形状情報と、工具軌跡と、に基づき加工途中のワーク形状を計算するワーク形状計算部と、加工中に手動操作が行われる場合に、前記加工途中のワーク形状に基づき、加工途中のワークに工具が接触することがない範囲を工具の可動範囲として設定する可動範囲設定部と、を有することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、加工中断後の加工再開時に工具を加工再開位置に移動させる際、前記可動範囲に移動経路を設定することを特徴とする。
本発明の一実施形態にかかる数値制御装置は、前記加工プログラムは、階層構造のデータモデルに準拠した形式で前記使用工具の形状情報及び前記未加工ワークの形状情報を記述した、機械に依存しない汎用指令であることを特徴とする。
【発明の効果】
【０００８】
本発明により、誤操作を検出可能な数値制御装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】数値制御装置１のハードウェア構成例を示す図である。
【図２】数値制御装置１の機能構成例を示す図である。
【図３】数値制御装置１の手動操作時の動作例を示すフローチャートである。
【図４】数値制御装置１の手動操作時の動作を示す図である。
【図５】数値制御装置１の手動操作時の動作を示す図である。
【図６】数値制御装置１の手動操作時の動作を示す図である。
【図７】数値制御装置１の手動操作時の動作を示す図である。
【図８】数値制御装置１の加工再開時の動作例を示すフローチャートである。
【図９】数値制御装置１の加工再開時の動作を示す図である。
【発明を実施するための形態】
【００１０】
加工形状、加工方法及び使用工具等の情報を含む加工プログラムや、このような加工プログラムを扱うことのできる数値制御装置が知られている。このような数値制御装置を特に統合ＣＮＣシステムと呼ぶ。
【００１１】
このような加工プログラムに未加工ワークの形状情報をさらに含めることで、加工中の任意の時点でのワーク形状を計算することが可能である。そのため、数値制御装置１は、このワーク形状と使用工具の情報とを用いて、手動介入時に誤操作により工具とワークが衝突しないよう、送り軸の可動範囲を制限することができる。
【００１２】
本発明の実施の形態による数値制御装置１は、加工形状、加工方法、使用工具及び未加工ワークの形状を含む加工プログラムを扱う統合ＣＮＣシステムである。本実施の形態で加工プログラムに言及する場合は、特に注記のない限り加工形状、加工方法、使用工具及び未加工ワークの形状を含む加工プログラムを指すものとする。
【００１３】
図１は、数値制御装置１の要部を示す概略的なハードウェア構成図である。数値制御装置１は、加工機の制御を行う装置である。数値制御装置１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、インタフェース１８、バス１０、軸制御回路１６を有する。数値制御装置１には、サーボアンプ４０、サーボモータ５０、入出力装置６０が接続される。
【００１４】
ＣＰＵ１１は、数値制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス１０を介して読み出し、システム・プログラムに従って数値制御装置１全体を制御する。
【００１５】
ＲＯＭ１２は、加工機の各種制御等を実行するためのシステム・プログラムを予め格納している。
【００１６】
ＲＡＭ１３は、一時的な計算データや表示データ、後述する入出力装置６０を介してオペレータが入力したデータやプログラム等を一時的に格納する。
【００１７】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされており、数値制御装置１の電源が遮断されても記憶状態を保持する。不揮発性メモリ１４は、入出力装置６０から入力されるデータやプログラム等を格納する。不揮発性メモリ１４に記憶されたプログラムやデータは、実行時及び利用時にはＲＡＭ１３に展開されても良い。
【００１８】
軸制御回路１６は、加工機の動作軸を制御する。軸制御回路１６は、ＣＰＵ１１が出力する軸の移動指令量を受けて、軸の移動指令をサーボアンプ４０に出力する。
【００１９】
サーボアンプ４０は、軸制御回路１６が出力する軸の移動指令を受けて、サーボモータ５０を駆動する。
【００２０】
サーボモータ５０は、サーボアンプ４０により駆動されて加工機の動作軸を動かす。サーボモータ５０は、典型的には位置・速度検出器を内蔵する。位置・速度検出器は位置・速度フィードバック信号を出力し、この信号が軸制御回路１６にフィードバックされることで、位置・速度のフィードバック制御が行われる。
【００２１】
なお、図１では軸制御回路１６、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となる加工機に備えられた軸の数だけ用意される。例えば、３軸を備えた加工機を制御する場合、それぞれの軸に対応する軸制御回路１６、サーボアンプ４０、サーボモータ５０が合計３セット用意される。
【００２２】
入出力装置６０は、ディスプレイやハードウェアキー等を備えたデータ入出力装置であり、典型的には操作盤である。入出力装置６０は、インタフェース１８を介してＣＰＵ１１から受けた情報をディスプレイに表示する。入出力装置６０は、ハードウェアキー等から入力された指令やデータ等をインタフェース１８を介してＣＰＵ１１に渡す。入出力装置６０によれば、例えば不揮発性メモリ１４に格納されたプログラムをディスプレイに表示させ、ハードウェアキーにより編集することができる。
【００２３】
図２は、誤入力を検出可能な数値制御装置１の概略的な機能構成を示すブロック図である。数値制御装置１は、加工プログラム入力部１０１、加工プログラム解読部１０２、工具経路生成部１０３、モータ駆動信号生成部１０５、ワーク形状計算部１０６、可動範囲設定部１０７、情報表示器１０８、ＣＮＣ操作器１０９を有する。また数値制御装置１にはサーボアンプ１１０、モータ１１１を有する工作機械の駆動部が接続される。
【００２４】
加工プログラム入力部１０１は、予め作成された加工プログラムを外部から読み込んでＲＡＭ１３や不揮発性メモリ１４に格納する。また、操作者が入出力装置６０等を使用して編集した加工プログラムをＲＡＭ１３や不揮発性メモリ１４に格納する。本実施の形態で扱う加工プログラムの詳細については後述する。
【００２５】
加工プログラム解読部１０２は、加工プログラム入力部１０１が取得した加工プログラムを解釈する。
【００２６】
工具経路生成部１０３は、加工プログラム解読部１０２が加工プログラムを解釈した結果に基づき、工具経路を生成する。
【００２７】
モータ駆動信号生成部１０５は、工具経路生成部１０３が生成した工具経路にしたがって工具を動かすためのモータ駆動信号を生成する。上述の軸制御回路１６に相当する。
ワーク形状計算部１０６は、加工プログラム入力部１０１が取得した加工プログラムに基づいて加工途中のワーク形状を計算する。
可動範囲設定部１０７は、ワーク形状計算部１０６が計算したワーク形状に基づいて、加工途中のワークと工具とが干渉しないよう、工具の可動範囲を制限する。
【００２８】
情報表示器１０８は、加工プログラム入力部１０１が読み込んだ加工プログラムや、可動範囲設定部１０７が出力する警告メッセージ等を入出力装置６０のディスプレイに表示する。
【００２９】
ＣＮＣ操作器１０９は、加工プログラムの編集、機械の手動操作等を入力するためのインタフェースを提供する装置であり、例えば数値制御装置１と一体のタイプ、ペンダントタイプ、リモコンタイプ等の公知の装置を採用できる。
【００３０】
サーボアンプ１１０は、モータ駆動信号生成部１０５が出力するモータ駆動信号を受けてモータ１１１を駆動する。上述のサーボアンプ４０に相当する。
【００３１】
モータ１１１は、サーボアンプ１１０により駆動されて機械の動作軸を動かす。上述のサーボモータ５０に相当する。
【００３２】
数値制御装置１が扱う加工プログラムについて説明する。数値制御装置１の加工プログラム入力部１０１は、加工形状、加工方法、使用工具及び未加工ワークの形状に関する情報を紐づけて記述した加工プログラムを入力とすることが望ましい。本実施の形態では主にこの手法を取り上げる。但し、加工形状、加工方法、使用工具及び未加工ワークの形状に関する情報が全て１つのファイルから入力される必要はない。例えば加工方法は加工プログラムに記述し、加工形状はＣＡＤファイルとして与え、使用工具や未加工ワークの形状は予め数値制御装置１に登録しておき、これらの情報をＣＡＤファイルのフィーチャＩＤ、使用工具番号及び未加工ワークＩＤ等を用いて数値制御装置１が紐づける方法も考えられる。また、加工形状、加工方法、使用工具及び未加工ワークの形状に関する情報が全て揃っていなくとも良く、少なくとも使用工具及び未加工ワークの形状に関する情報が揃っていれば良い。
【００３３】
加工形状、加工方法、使用工具及び未加工ワークの形状に関する情報を１つのファイルすなわち加工プログラムとして入力する場合の、好適な情報構造の例を示す。加工プログラムには、工作機械の制御に必要な情報が所定の形式すなわちデータモデルに則り記載される。公知のデータモデルの例としてはＩＳＯ１４６４９、ＡＰＴ形式等がある。但し、必要な情報を記載できる形式であれば、加工プログラムの構造はこれらの公知のデータモデルに限定されず任意である。
【００３４】
本実施の形態では、データモデルは以下の情報を含む。これらの情報は、典型的には階層構造を持って記述され、関連する情報同士が紐づけられる。
【００３５】
（１）加工方法に関する情報
加工方法に関する情報には例えば以下のものが含まれる。但し、これらの情報を全て含んでいる必要はない。
・加工方法のタイプ（例えばドリル加工、低面ミリング加工、側面ミリング加工のいずれであるかを示す情報等）
・加工のタイプに応じたより詳細な加工戦略（例えば低面ミリング加工の場合、軸方向と径方向それぞれの切り込み量、平行パスにするか螺旋パスにするかを示す情報等）
・主軸回転数
・送り速度、又は一刃あたりの切削量
・工具経路
・その他、加工方法を特定するために必要な情報（例えば切削開始点、切削終了点等）
【００３６】
（２）加工形状に関する情報
加工形状に関する情報には例えば以下のものが挙げられる。但し、これらの情報を全て含んでいる必要はない。
・加工形状のタイプ（例えば円形穴、平面、ポケット、自由曲面、ネジ穴のいずれであるかを示す情報等）
・形状を特定するために必要となる各種寸法（例えば円形穴の場合、中心座標、穴の方向、直径、深さ、底がすり鉢状の場合の角度、各寸法の許容公差等）
【００３７】
（３）使用工具に関する情報
使用する工具に関する情報には例えば下記のものが挙げられる。但し、これらの情報を全て含んでいる必要はない。
・工具のタイプ（例えばドリル、エンドミル、フェイスミル、タッピング工具のいずれであるかを示す情報等）
・各種寸法（例えばエンドミルの場合、直径、有効刃長、角Ｒ等）
・工具の３Ｄ形状情報
・工具型番
【００３８】
（４）未加工ワークの形状に関する情報
未加工ワークの形状に関する情報には例えば以下のものが挙げられる。但し、これらの情報を全て含んでいる必要はない。
・未加工ワークの形状のタイプ（例えば円柱、角柱等）
・形状を特定するために必要となる各種寸法（例えば円柱直径と高さや、角柱の辺の長さ等）
・未加工ワークの３Ｄ形状情報
【００３９】
図３のフローチャート及び図４乃至図７の模式図を用いて、誤った手動操作を検出可能な数値制御装置１の動作について説明する。
【００４０】
Ｓ１０１：加工プログラムの実行中、操作者が手動介入する。
【００４１】
Ｓ１０２：数値制御装置１が手動介入を検知して加工を中断する。
【００４２】
Ｓ１０３：ワーク形状計算部１０６は、使用工具の３Ｄ形状情報と、加工が中断された時点までに工具が通過した工具軌跡と、に基づいて、加工により除去される形状を計算する。工具軌跡は、数値制御装置１の標準的な機能により取得できる。加工中断までの間に複数の加工工程を実行している場合には、除去形状は、各加工工程における使用工具情報と工具経路情報とから計算される除去形状の総和により得られる。ワーク形状計算部１０６は、得られた除去形状と未加工ワーク形状との差分を取ることで、加工が中断された時点におけるワーク形状を計算する（図４参照）。
【００４３】
なお、ワーク形状計算部１０６は、除去形状又はワーク形状を加工中に逐次計算し、図示しない記憶領域に蓄積しておいても良い。この場合、ワーク形状計算部１０６は、すでに計算され保持されている１以上の除去形状又はワーク形状と、最後に除去形状又はワーク形状を計算した時から加工中断時までの除去形状と、に基づいて加工中断時のワーク形状を計算できる。
【００４４】
Ｓ１０４乃至Ｓ１０５：可動範囲設定部１０７は、加工中断時のワーク形状と、加工中断時の使用工具の情報と、に基づいて、ワークと工具が衝突しない範囲を計算する。また計算結果に基づき、各軸の可動範囲を設定する。
【００４５】
例えば三軸加工機械の場合、ワーク形状をＸＹ平面内で工具半径と等しい長さだけ外側にオフセットした範囲内に工具中心が侵入すると工具とワークが干渉すると考え、送り軸の可動範囲をこの領域の外部に簡易的に設定することができる（図５参照）。またＺ方向に関しては、加工中断時のワーク形状のＺ座標の最大値に所定のオフセット（≧０）を加えた高さを安全面とし、安全面よりＺ方向にプラスの領域を可動範囲として簡易的に設定することができる（図６参照）。
【００４６】
五軸加工機械の場合や、ワークや工具の形状が複雑な場合には、上記の簡易的な計算では不十分であることが多いので、ワークの３Ｄ形状情報と使用工具の３Ｄ形状情報とを用いて詳細に可動範囲を計算しても良い。また、可動範囲の計算の際に、治具や工作機械本体の形状情報も使用することができる。
【００４７】
主軸の可動範囲の計算例として、片刃のボーリング工具を考える。片刃のボーリング工具では、穿孔後に刃が穴壁面から離れるよう、刃の無い方向に工具を退避させる。この位置で主軸を一定角度以上回転させると、工具が穴壁面と衝突する（図７参照）。したがって、工具が穴壁面と衝突せずに回転できる範囲が可動範囲となる。図７の例では、穴の内部かつ破線で示す領域の外側に可動範囲を設ける必要がある。
【００４８】
なお加工中断中にＣＮＣ操作器１０９を介した工具交換が行われた場合、可動範囲設定部１０７は、交換された工具の情報に基づき、可動範囲を再計算することが好ましい。
【００４９】
Ｓ１０６：操作者が、ＣＮＣ操作器１０９を介して加工機械の軸を手動操作で移動させる。
【００５０】
Ｓ１０７：数値制御装置１は、Ｓ１０６の軸移動が可動範囲内であるかどうかを判断する。可動範囲内であればＳ１０８、可動範囲外であればＳ１０９に遷移する。
【００５１】
Ｓ１０８：数値制御装置１は、軸を駆動する。
【００５２】
Ｓ１０９：数値制御装置１は、軸移動を禁止して操作者に警告を表示する。
【００５３】
図８のフローチャート及び図９の模式図を用いて、加工再開位置への移動時の数値制御装置１の動作について説明する。
【００５４】
Ｓ２０１：操作者が、数値制御装置１に対し自動運転再開を指示する。
【００５５】
Ｓ２０２：数値制御装置１は、加工を再開する際に、現在の工具位置と加工再開の工具位置を比較し、両者が異なっている場合、現在の工具位置から加工再開の工具位置まで工具の移動経路を計算する。この際、数値制御装置１は、可動範囲設定部１０７が上述のＳ１０３乃至Ｓ１０５の処理により計算された可動範囲のみを通過するよう、移動経路を設定する。且つ、移動時間が最短となる経路を算出することが望ましい。
【００５６】
Ｓ２０３：数値制御装置１は、Ｓ２０２で経路を算出できた場合はＳ２０４へ、算出できない場合はＳ２０６へ遷移する。
【００５７】
Ｓ２０４乃至Ｓ２０５：数値制御装置１は、計算された経路に沿って工具を加工再開位置まで移動させ、加工を再開する。
【００５８】
Ｓ２０６：数値制御装置１は、可動範囲のみを通過して加工再開の工具位置まで移動する経路が存在しない場合や、加工開始の工具位置が可動範囲外にある場合は、情報表示器に警告を表示し、工具移動は行わない。
【００５９】
図９に本実施の形態における加工再開時の動作例を示す。経路ａは、本実施の形態の処理を行わない場合の加工再開時の工具の移動経路である。現在の工具位置から加工再開の工具位置に移動する途中、工具は加工中のワークと干渉してしまう。経路ｂは、本実施の形態の処理を行った場合の加工再開時の工具の移動経路である。加工中断時のワーク形状の外側に設けられた可動範囲（破線の外側の範囲）のみを通る移動経路が設定されるため、工具と加工中のワークとの干渉は生じない。
【００６０】
本実施の形態によれば、未加工のワーク形状及び工具形状の情報を有する加工プログラムに基づき、数値制御装置１は、任意の時点でのワーク形状を計算する。また、例えば加工中に手動介入があった場合には、手動介入直前のワーク形状と工具形状に基づいて工具の可動範囲を求め、可動範囲外に工具が侵入しないよう軸移動を制限する。これにより、手動介入時の誤操作による加工不良や衝突を未然に防ぐことができる。
【００６１】
＜その他の実施の形態＞
以上、本発明の主要な実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００６２】
１  数値制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１８  インタフェース
１０  バス
１６  軸制御回路
４０  サーボアンプ
５０  サーボモータ
６０  入出力装置
１０１  加工プログラム入力部
１０２  加工プログラム解読部
１０３  工具経路生成部
１０５  モータ駆動信号生成部
１０６  ワーク形状計算部
１０７  可動範囲設定部
１０８  情報表示器
１０９  ＣＮＣ操作器
１１０  サーボアンプ
１１１  モータ
【図１】
2019220093.tif 000003
【図２】
2019220093.tif 000004
【図３】
2019220093.tif 000005
【図４】
2019220093.tif 000006
【図５】
2019220093.tif 000007
【図６】
2019220093.tif 000008
【図７】
2019220093.tif 000009
【図８】
2019220093.tif 000010
【図９】
2019220093.tif 000011