(58)【調査した分野】(Int.Cl.,DB名)
前記加工プログラムは、階層構造のデータモデルに準拠した形式で前記使用工具の形状情報及び前記未加工ワークの形状情報を記述した、機械に依存しない汎用指令であることを特徴とする
請求項1記載の数値制御装置。
【発明を実施するための形態】
【0010】
加工形状、加工方法及び使用工具等の情報を含む加工プログラムや、このような加工プログラムを扱うことのできる数値制御装置が知られている。このような数値制御装置を特に統合CNCシステムと呼ぶ。
【0011】
このような加工プログラムに未加工ワークの形状情報をさらに含めることで、加工中の任意の時点でのワーク形状を計算することが可能である。そのため、数値制御装置1は、このワーク形状と使用工具の情報とを用いて、手動介入時に誤操作により工具とワークが衝突しないよう、送り軸の可動範囲を制限することができる。
【0012】
本発明の実施の形態による数値制御装置1は、加工形状、加工方法、使用工具及び未加工ワークの形状を含む加工プログラムを扱う統合CNCシステムである。本実施の形態で加工プログラムに言及する場合は、特に注記のない限り加工形状、加工方法、使用工具及び未加工ワークの形状を含む加工プログラムを指すものとする。
【0013】
図1は、数値制御装置1の要部を示す概略的なハードウェア構成図である。数値制御装置1は、加工機の制御を行う装置である。数値制御装置1は、CPU11、ROM12、RAM13、不揮発性メモリ14、インタフェース18、バス10、軸制御回路16を有する。数値制御装置1には、サーボアンプ40、サーボモータ50、入出力装置60が接続される。
【0014】
CPU11は、数値制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス10を介して読み出し、システム・プログラムに従って数値制御装置1全体を制御する。
【0015】
ROM12は、加工機の各種制御等を実行するためのシステム・プログラムを予め格納している。
【0016】
RAM13は、一時的な計算データや表示データ、後述する入出力装置60を介してオペレータが入力したデータやプログラム等を一時的に格納する。
【0017】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされており、数値制御装置1の電源が遮断されても記憶状態を保持する。不揮発性メモリ14は、入出力装置60から入力されるデータやプログラム等を格納する。不揮発性メモリ14に記憶されたプログラムやデータは、実行時及び利用時にはRAM13に展開されても良い。
【0018】
軸制御回路16は、加工機の動作軸を制御する。軸制御回路16は、CPU11が出力する軸の移動指令量を受けて、軸の移動指令をサーボアンプ40に出力する。
【0019】
サーボアンプ40は、軸制御回路16が出力する軸の移動指令を受けて、サーボモータ50を駆動する。
【0020】
サーボモータ50は、サーボアンプ40により駆動されて加工機の動作軸を動かす。サーボモータ50は、典型的には位置・速度検出器を内蔵する。位置・速度検出器は位置・速度フィードバック信号を出力し、この信号が軸制御回路16にフィードバックされることで、位置・速度のフィードバック制御が行われる。
【0021】
なお、
図1では軸制御回路16、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる加工機に備えられた軸の数だけ用意される。例えば、3軸を備えた加工機を制御する場合、それぞれの軸に対応する軸制御回路16、サーボアンプ40、サーボモータ50が合計3セット用意される。
【0022】
入出力装置60は、ディスプレイやハードウェアキー等を備えたデータ入出力装置であり、典型的には操作盤である。入出力装置60は、インタフェース18を介してCPU11から受けた情報をディスプレイに表示する。入出力装置60は、ハードウェアキー等から入力された指令やデータ等をインタフェース18を介してCPU11に渡す。入出力装置60によれば、例えば不揮発性メモリ14に格納されたプログラムをディスプレイに表示させ、ハードウェアキーにより編集することができる。
【0023】
図2は、誤入力を検出可能な数値制御装置1の概略的な機能構成を示すブロック図である。数値制御装置1は、加工プログラム入力部101、加工プログラム解読部102、工具経路生成部103、モータ駆動信号生成部105、ワーク形状計算部106、可動範囲設定部107、情報表示器108、CNC操作器109を有する。また数値制御装置1にはサーボアンプ110、モータ111を有する工作機械の駆動部が接続される。
【0024】
加工プログラム入力部101は、予め作成された加工プログラムを外部から読み込んでRAM13や不揮発性メモリ14に格納する。また、操作者が入出力装置60等を使用して編集した加工プログラムをRAM13や不揮発性メモリ14に格納する。本実施の形態で扱う加工プログラムの詳細については後述する。
【0025】
加工プログラム解読部102は、加工プログラム入力部101が取得した加工プログラムを解釈する。
【0026】
工具経路生成部103は、加工プログラム解読部102が加工プログラムを解釈した結果に基づき、工具経路を生成する。
【0027】
モータ駆動信号生成部105は、工具経路生成部103が生成した工具経路にしたがって工具を動かすためのモータ駆動信号を生成する。上述の軸制御回路16に相当する。
ワーク形状計算部106は、加工プログラム入力部101が取得した加工プログラムに基づいて加工途中のワーク形状を計算する。
可動範囲設定部107は、ワーク形状計算部106が計算したワーク形状に基づいて、加工途中のワークと工具とが干渉しないよう、工具の可動範囲を制限する。
【0028】
情報表示器108は、加工プログラム入力部101が読み込んだ加工プログラムや、可動範囲設定部107が出力する警告メッセージ等を入出力装置60のディスプレイに表示する。
【0029】
CNC操作器109は、加工プログラムの編集、機械の手動操作等を入力するためのインタフェースを提供する装置であり、例えば数値制御装置1と一体のタイプ、ペンダントタイプ、リモコンタイプ等の公知の装置を採用できる。
【0030】
サーボアンプ110は、モータ駆動信号生成部105が出力するモータ駆動信号を受けてモータ111を駆動する。上述のサーボアンプ40に相当する。
【0031】
モータ111は、サーボアンプ110により駆動されて機械の動作軸を動かす。上述のサーボモータ50に相当する。
【0032】
数値制御装置1が扱う加工プログラムについて説明する。数値制御装置1の加工プログラム入力部101は、加工形状、加工方法、使用工具及び未加工ワークの形状に関する情報を紐づけて記述した加工プログラムを入力とすることが望ましい。本実施の形態では主にこの手法を取り上げる。但し、加工形状、加工方法、使用工具及び未加工ワークの形状に関する情報が全て1つのファイルから入力される必要はない。例えば加工方法は加工プログラムに記述し、加工形状はCADファイルとして与え、使用工具や未加工ワークの形状は予め数値制御装置1に登録しておき、これらの情報をCADファイルのフィーチャID、使用工具番号及び未加工ワークID等を用いて数値制御装置1が紐づける方法も考えられる。また、加工形状、加工方法、使用工具及び未加工ワークの形状に関する情報が全て揃っていなくとも良く、少なくとも使用工具及び未加工ワークの形状に関する情報が揃っていれば良い。
【0033】
加工形状、加工方法、使用工具及び未加工ワークの形状に関する情報を1つのファイルすなわち加工プログラムとして入力する場合の、好適な情報構造の例を示す。加工プログラムには、工作機械の制御に必要な情報が所定の形式すなわちデータモデルに則り記載される。公知のデータモデルの例としてはISO14649、APT形式等がある。但し、必要な情報を記載できる形式であれば、加工プログラムの構造はこれらの公知のデータモデルに限定されず任意である。
【0034】
本実施の形態では、データモデルは以下の情報を含む。これらの情報は、典型的には階層構造を持って記述され、関連する情報同士が紐づけられる。
【0035】
(1)加工方法に関する情報
加工方法に関する情報には例えば以下のものが含まれる。但し、これらの情報を全て含んでいる必要はない。
・加工方法のタイプ(例えばドリル加工、低面ミリング加工、側面ミリング加工のいずれであるかを示す情報等)
・加工のタイプに応じたより詳細な加工戦略(例えば低面ミリング加工の場合、軸方向と径方向それぞれの切り込み量、平行パスにするか螺旋パスにするかを示す情報等)
・主軸回転数
・送り速度、又は一刃あたりの切削量
・工具経路
・その他、加工方法を特定するために必要な情報(例えば切削開始点、切削終了点等)
【0036】
(2)加工形状に関する情報
加工形状に関する情報には例えば以下のものが挙げられる。但し、これらの情報を全て含んでいる必要はない。
・加工形状のタイプ(例えば円形穴、平面、ポケット、自由曲面、ネジ穴のいずれであるかを示す情報等)
・形状を特定するために必要となる各種寸法(例えば円形穴の場合、中心座標、穴の方向、直径、深さ、底がすり鉢状の場合の角度、各寸法の許容公差等)
【0037】
(3)使用工具に関する情報
使用する工具に関する情報には例えば下記のものが挙げられる。但し、これらの情報を全て含んでいる必要はない。
・工具のタイプ(例えばドリル、エンドミル、フェイスミル、タッピング工具のいずれであるかを示す情報等)
・各種寸法(例えばエンドミルの場合、直径、有効刃長、角R等)
・工具の3D形状情報
・工具型番
【0038】
(4)未加工ワークの形状に関する情報
未加工ワークの形状に関する情報には例えば以下のものが挙げられる。但し、これらの情報を全て含んでいる必要はない。
・未加工ワークの形状のタイプ(例えば円柱、角柱等)
・形状を特定するために必要となる各種寸法(例えば円柱直径と高さや、角柱の辺の長さ等)
・未加工ワークの3D形状情報
【0039】
図3のフローチャート及び
図4乃至
図7の模式図を用いて、誤った手動操作を検出可能な数値制御装置1の動作について説明する。
【0040】
S101:加工プログラムの実行中、操作者が手動介入する。
【0041】
S102:数値制御装置1が手動介入を検知して加工を中断する。
【0042】
S103:ワーク形状計算部106は、使用工具の3D形状情報と、加工が中断された時点までに工具が通過した工具軌跡と、に基づいて、加工により除去される形状を計算する。工具軌跡は、数値制御装置1の標準的な機能により取得できる。加工中断までの間に複数の加工工程を実行している場合には、除去形状は、各加工工程における使用工具情報と工具経路情報とから計算される除去形状の総和により得られる。ワーク形状計算部106は、得られた除去形状と未加工ワーク形状との差分を取ることで、加工が中断された時点におけるワーク形状を計算する(
図4参照)。
【0043】
なお、ワーク形状計算部106は、除去形状又はワーク形状を加工中に逐次計算し、図示しない記憶領域に蓄積しておいても良い。この場合、ワーク形状計算部106は、すでに計算され保持されている1以上の除去形状又はワーク形状と、最後に除去形状又はワーク形状を計算した時から加工中断時までの除去形状と、に基づいて加工中断時のワーク形状を計算できる。
【0044】
S104乃至S105:可動範囲設定部107は、加工中断時のワーク形状と、加工中断時の使用工具の情報と、に基づいて、ワークと工具が衝突しない範囲を計算する。また計算結果に基づき、各軸の可動範囲を設定する。
【0045】
例えば三軸加工機械の場合、ワーク形状をXY平面内で工具半径と等しい長さだけ外側にオフセットした範囲内に工具中心が侵入すると工具とワークが干渉すると考え、送り軸の可動範囲をこの領域の外部に簡易的に設定することができる(
図5参照)。またZ方向に関しては、加工中断時のワーク形状のZ座標の最大値に所定のオフセット(≧0)を加えた高さを安全面とし、安全面よりZ方向にプラスの領域を可動範囲として簡易的に設定することができる(
図6参照)。
【0046】
五軸加工機械の場合や、ワークや工具の形状が複雑な場合には、上記の簡易的な計算では不十分であることが多いので、ワークの3D形状情報と使用工具の3D形状情報とを用いて詳細に可動範囲を計算しても良い。また、可動範囲の計算の際に、治具や工作機械本体の形状情報も使用することができる。
【0047】
主軸の可動範囲の計算例として、片刃のボーリング工具を考える。片刃のボーリング工具では、穿孔後に刃が穴壁面から離れるよう、刃の無い方向に工具を退避させる。この位置で主軸を一定角度以上回転させると、工具が穴壁面と衝突する(
図7参照)。したがって、工具が穴壁面と衝突せずに回転できる範囲が可動範囲となる。
図7の例では、穴の内部かつ破線で示す領域の外側に可動範囲を設ける必要がある。
【0048】
なお加工中断中にCNC操作器109を介した工具交換が行われた場合、可動範囲設定部107は、交換された工具の情報に基づき、可動範囲を再計算することが好ましい。
【0049】
S106:操作者が、CNC操作器109を介して加工機械の軸を手動操作で移動させる。
【0050】
S107:数値制御装置1は、S106の軸移動が可動範囲内であるかどうかを判断する。可動範囲内であればS108、可動範囲外であればS109に遷移する。
【0051】
S108:数値制御装置1は、軸を駆動する。
【0052】
S109:数値制御装置1は、軸移動を禁止して操作者に警告を表示する。
【0053】
図8のフローチャート及び
図9の模式図を用いて、加工再開位置への移動時の数値制御装置1の動作について説明する。
【0054】
S201:操作者が、数値制御装置1に対し自動運転再開を指示する。
【0055】
S202:数値制御装置1は、加工を再開する際に、現在の工具位置と加工再開の工具位置を比較し、両者が異なっている場合、現在の工具位置から加工再開の工具位置まで工具の移動経路を計算する。この際、数値制御装置1は、可動範囲設定部107が上述のS103乃至S105の処理により計算された可動範囲のみを通過するよう、移動経路を設定する。且つ、移動時間が最短となる経路を算出することが望ましい。
【0056】
S203:数値制御装置1は、S202で経路を算出できた場合はS204へ、算出できない場合はS206へ遷移する。
【0057】
S204乃至S205:数値制御装置1は、計算された経路に沿って工具を加工再開位置まで移動させ、加工を再開する。
【0058】
S206:数値制御装置1は、可動範囲のみを通過して加工再開の工具位置まで移動する経路が存在しない場合や、加工開始の工具位置が可動範囲外にある場合は、情報表示器に警告を表示し、工具移動は行わない。
【0059】
図9に本実施の形態における加工再開時の動作例を示す。経路aは、本実施の形態の処理を行わない場合の加工再開時の工具の移動経路である。現在の工具位置から加工再開の工具位置に移動する途中、工具は加工中のワークと干渉してしまう。経路bは、本実施の形態の処理を行った場合の加工再開時の工具の移動経路である。加工中断時のワーク形状の外側に設けられた可動範囲(破線の外側の範囲)のみを通る移動経路が設定されるため、工具と加工中のワークとの干渉は生じない。
【0060】
本実施の形態によれば、未加工のワーク形状及び工具形状の情報を有する加工プログラムに基づき、数値制御装置1は、任意の時点でのワーク形状を計算する。また、例えば加工中に手動介入があった場合には、手動介入直前のワーク形状と工具形状に基づいて工具の可動範囲を求め、可動範囲外に工具が侵入しないよう軸移動を制限する。これにより、手動介入時の誤操作による加工不良や衝突を未然に防ぐことができる。
【0061】
<その他の実施の形態>
以上、本発明の主要な実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。