(57)【特許請求の範囲】
【請求項１】
複数のコードが記述されたプログラムに従って順次動作する工作機械における工具と、その工具によって加工されるワークを含むワーク部とが衝突するか否かの衝突判定を行う工具衝突防止装置であって、
前記工作機械を動作させるプログラムにおいて、前記工具を少なくとも一方向に移動させるコードを衝突判定トリガー部として検出する検出手段と、
前記衝突判定の開始指示を含み、前記衝突判定で使用される前記工具の位置に関する情報である開始情報を前記工作機械に出力させるコード群が記述された情報出力ブロックを、前記検出手段によって検出された前記衝突判定トリガー部の直前に挿入することにより処理後プログラムを生成するプログラム生成手段と、
前記処理後プログラムに従って動作中の前記工作機械から、前記情報出力ブロックに基づいて出力された前記開始情報を受信する開始情報受信手段と、
前記工具の現在位置情報および移動予定位置情報を、前記開始情報から取得して、前記工具の現在位置および移動予定位置を決定する工具位置決定手段と、
所定の形状計測装置によって計測された前記工作機械のワーク部の計測情報を取得し、その取得された計測情報により前記ワーク部の形状を決定するワーク形状決定手段と、
前記開始情報受信手段によって前記開始情報の開始指示が受信されると、前記工具位置決定手段によって決定された前記工具の位置と、前記ワーク形状決定手段によって決定された前記ワーク部の形状とに基づいて、前記工具と前記ワーク部との衝突判定を開始し、判定結果に応じた処理を行う衝突判定手段と
を備えた工具衝突防止装置。
【請求項２】
前記プログラム生成手段は、前記工具の現在位置情報および移動予定位置情報を含む前記開始情報を前記工作機械に出力させる前記情報出力ブロックを、前記衝突判定トリガー部の直前に挿入し、
前記工具位置決定手段は、前記工作機械から出力された前記開始情報に含まれる前記工具の現在位置情報および移動予定位置情報を取得して、前記工具の現在位置および移動予定位置を決定する、
ことを特徴とする請求項１に記載の工具衝突防止装置。
【請求項３】
前記工具の補正値情報と、前記工具を識別可能な工具識別情報とが対応付けられた工具情報を前記工作機械から取得する工具情報取得手段を更に有し、
前記プログラム生成手段は、前記衝突判定の対象の工具の工具識別情報を更に含む前記開始情報を前記工作機械に出力させる前記情報出力ブロックを、前記衝突判定トリガー部の直前に挿入し、
前記衝突判定手段は、前記工具情報取得手段によって取得された工具情報のうち、前記受信された開始情報の工具識別情報に対応づけられた補正値情報を考慮して、衝突判定を行うことを特徴とする、請求項２に記載の工具衝突防止装置。
【請求項４】
前記プログラム生成手段は、前記ワーク部の形状の計測を指示する形状計測指示を更に含む前記開始情報を前記工作機械に出力させる前記情報出力ブロックを、前記衝突判定トリガー部の直前に挿入し、
前記ワーク形状決定手段は、前記形状計測指示が前記開始情報受信手段にて受信されると、前記ワーク部の形状の計測を前記形状計測装置により取得して、前記ワーク部の形状を決定する、
ことを特徴とする請求項１〜３のいずれか１項に記載の工具衝突防止装置。
【請求項５】
前記プログラム生成手段は、前記開始指示の後に前記工作機械の動作を一時停止する停止指示を含む前記情報出力ブロックを、前記衝突判定トリガー部の直前に挿入する、ことを特徴とする請求項１〜４のいずれか１項に記載の工具衝突防止装置。
【請求項６】
前記工作機械を動作させるためのプログラムを取得するプログラム取得手段が更に備えられ、
前記検出手段が前記衝突判定トリガー部を検出するプログラムおよび前記プログラム生成手段が前記情報出力ブロックを挿入するプログラムは、前記プログラム取得手段によって取得されたプログラムである、ことを特徴とする請求項１〜５のいずれか１項に記載の工具衝突防止装置。
【請求項７】
前記検出手段によって検出されるべき前記工具を少なくとも一方向に移動させるコードを指定する検出コード指定部を更に備え、
前記検出手段は、前記検出コード指定部によって指定されたコードを検出する、ことを特徴とする請求項１〜６のいずれか１項に記載の工具衝突防止装置。
【請求項８】
複数のコードが記述されたプログラムに従って順次動作する工作機械における工具と、その工具によって加工されるワークを含むワーク部とが衝突するか否かの衝突判定を行う工具衝突防止方法であって、
前記工作機械を動作させるプログラムにおいて、前記工具を少なくとも一方向に移動させるコードを衝突判定トリガー部として検出するステップと、
前記衝突判定の開始指示を含み、前記衝突判定で使用される前記工具の位置に関する情報である開始情報を前記工作機械に出力させるコード群が記述された情報出力ブロックを、前記検出手段によって検出された衝突判定トリガー部の直前に挿入することにより処理後プログラムを生成するステップと、
前記処理後プログラムに従って動作中の前記工作機械から、前記情報出力ブロックに基づいて出力された前記開始情報を受信するステップと、
前記工具の現在位置情報および移動予定位置情報を、前記開始情報から取得して、前記工具の現在位置および移動予定位置を決定するステップと、
所定の形状計測装置によって計測された前記工作機械のワーク部の計測情報を取得し、その取得された計測情報により前記ワーク部の形状を決定するステップと、
前記開始情報受信手段によって前記開始情報の開始指示が受信されると、前記工具位置決定手段によって決定された前記工具の位置と、前記ワーク形状決定手段によって決定された前記ワーク部の形状とに基づいて、前記工具と前記ワーク部との衝突判定を開始し、判定結果に応じた処理を行うステップと
を含む工具衝突防止方法。
【請求項９】
工作機械を動作させるための複数のコードが記述されたＮＣプログラムであって、
前記工作機械の工具を少なくとも一方向に移動させるコードの直前に、前記工具とその工具によって加工されるワークを含むワーク部とが衝突するか否かを判定する衝突判定を開始する開始指示、前記工具の現在位置情報および移動予定位置情報を前記工作機械に出力させるコード群が記述された情報出力ブロックが挿入されたＮＣプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械における工具がワークと衝突するのを防止するための工具衝突防止装置、工具衝突防止方法、およびＮＣプログラムに関する。
【背景技術】
【０００２】
複数のコードが記述されたプログラムに従って順次動作する工作機械のワークの加工時における工具とワークとの衝突を回避するための衝突防止システムとして、加工作業とは別空間にて、又は加工直前に、モデルを使ったシミュレーションで衝突を検知する方法や、切削負荷電流における過負荷電流に基づいて衝突を検知する方法は既に周知である。また、加工作業中に、移動先座標と、現在の工具及びワークの位置との関係に基づいて衝突を回避する方法も提案されている（特許文献１〜３）。
【０００３】
【特許文献１】特開２００７−４８２１０号公報
【特許文献２】特開２００６−１０２９２３号公報
【特許文献３】特開平５−２７７８８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、モデルを使用する方法では想定したモデルが実際のものが異なる場合の衝突回避が困難であり、切削負荷電流を監視する方法においては、高速スピンドルや高速切削に対しては電流からの衝突検知が困難である。更に、特許文献１〜３における衝突防止システムにおいては、工具の位置情報や衝突判定を開始すべき状況等、作業の進行状況に関する情報を衝突防止システムで把握する必要があるため、このような情報を提供する機能を有しないタイプの工作機械に適用するのは困難である。特に特許文献１においては、加工動作中の工具及びワークを常時監視する必要があり処理負担も大きい。
【０００５】
そこで、本発明は、処理負担が少なく、かつ工作機械の機能を問わず加工動作中における衝突判定を可能する工具衝突防止装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、以下の手段により上述した課題を解決する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
【０００７】
本発明の工具衝突防止装置（２００）は、複数のコードが記述されたプログラムに従って順次動作する工作機械（１００）における工具（１０１）と、その工具によって加工されるワーク（１０２）を含むワーク部とが衝突するか否かの衝突判定を行う工具衝突防止装置であって、前記工作機械を動作させるプログラム（４００）において、前記工具を少なくとも一方向に移動させるコードを衝突判定トリガー部（４０１、４０２）として検出する検出手段（２５０）と、前記衝突判定の開始指示を含み、前記衝突判定で使用される前記工具の位置に関する情報である開始情報を前記工作機械に出力させるコード群が記述された情報出力ブロック（５０１、５０２）を、前記検出手段によって検出された前記衝突判定トリガー部の直前に挿入することにより処理後プログラムを生成するプログラム生成手段（２５０）と、前記処理後プログラムに従って動作中の前記工作機械から、前記情報出力ブロックに基づいて出力された前記開始情報を受信する開始情報受信手段（２１０）と、前記工具の現在位置情報および移動予定位置情報を、前記開始情報から取得して、前記工具の現在位置および移動予定位置を決定する工具位置決定手段（２２５）と、所定の形状計測装置によって計測された前記工作機械のワーク部の計測情報を取得し、その取得された計測情報により前記ワーク部の形状を決定するワーク形状決定手段（２２０）と、前記開始情報受信手段によって前記開始情報の開始指示が受信されると、前記工具位置決定手段によって決定された前記工具の位置と、前記ワーク形状決定手段によって決定された前記ワーク部の形状とに基づいて、前記工具と前記ワーク部との衝突判定を開始し、判定結果に応じた処理を行う衝突判定手段（２４０）とを備えることにより、上記の課題を解決する。
【０００８】
本発明の工具衝突防止装置によれば、プログラム生成手段において、開始情報を工作機械に出力させる情報出力ブロックが衝突判定トリガー部の直前に挿入された処理後プログラムが生成される。処理後プログラムに従って動作する工作機械は、処理が情報出力ブロックに及ぶと、少なくとも開始情報を出力する。動作中の工作機械から出力された開始情報が受信されると、衝突判定手段により衝突判定が開始される。従って、開始情報をトリガーとして衝突判定を行えばよく、衝突判定を行うか否かの判断のために工具とワーク部との位置関係を監視する必要はない。
【０００９】
衝突判定においては、ワーク形状決定手段によって決定されたワーク部の形状と、工具位置決定手段によって決定された工具の位置とに基づいて判定が行われる。工具位置決定手段は、位置情報を開始情報から取得する。従って、工作機械が作業の進行状況に関する情報を提供する機能を有していないタイプであっても、位置情報が開始情報に含まれる情報出力ブロックが挿入された処理後プログラムを工作機械に実行させることにより、開始指示と共に位置情報を工作機械から出力させることができる。これにより、工作機械の機能を問わず、衝突判定を行うことができ、判定結果に応じた処理を行う工具衝突防止装置を提供することができる。
【００１０】
なお、「ワーク部」はワークのみの場合と、ワークに加えて、ジグ、テーブル、計測機等その他の構成を含む場合とを含む概念である。検出手段が検索するプログラムは、予め工具衝突防止装置に記憶されているものでもよいし、工具衝突防止装置にて作成されたものでよいし、他の装置から取得されたものでもよい。現在位置情報および移動予定位置情報のそれぞれは、衝突判定にて使用される現在位置および移動予定位置を直接示す情報である場合と、現在位置および移動予定位置のそれぞれを決定するために必要な情報である場合がある。
【００１１】
また、生成された処理後プログラムは工作機械へ送信されてもよいし、所定の記憶媒体に記憶された状態で工作機械に提供されてもよい。「所定の形状計測装置」は、レーザスキャナ等の計測物の形状を数値化して表す計測情報を得ることができる装置である。「判定結果に応じた処理」は、通常の工具衝突防止装置における処理と同様であればよい。例えば、判定結果が「衝突する」の場合は、警告メッセージを表示する処理、警告通知を工作機械に送信する処理、又は警告音を発生する処理等があり、判定結果が「衝突しない」の場合は、安全メッセージを表示する処理や安全通知を工作機械に送信する処理等がある。
【００１２】
前記プログラム生成手段は、前記工具の現在位置情報および移動予定位置情報を含む前記開始情報を前記工作機械に出力させる前記情報出力ブロックを、前記衝突判定トリガー部の直前に挿入し、前記工具位置決定手段は、前記工作機械から出力された前記開始情報に含まれる前記工具の現在位置情報および移動予定位置情報を取得して、前記工具の現在位置および移動予定位置を決定してもよい。
【００１３】
これにより、特に、工具の現在位置などの作業の進行状況に関する情報を提供する機能を有しないタイプの工作機械に対しても、本発明の工具衝突防止装置は衝突判定を行うことができる。工具の現在位置情報および移動予定位置情報は、プログラムに記載されたコードにより得ることができる。例えば、衝突判定トリガー部である移動命令に指示されている位置情報は移動予定位置情報であり、移動命令の直前の位置情報は現在位置情報として設定すればよい。
【００１４】
本発明の工具衝突防止装置は、前記工具の補正値情報と、前記工具を識別可能な工具識別情報とが対応付けられた工具情報を前記工作機械から取得する工具情報取得手段（２５０）を更に有し、前記プログラム生成手段は、前記衝突判定の対象の工具の工具識別情報を更に含む前記開始情報を前記工作機械に出力させる前記情報出力ブロックを、前記衝突判定トリガー部の直前に挿入し、前記衝突判定手段は、前記工具情報取得手段によって取得された工具情報のうち、前記受信された開始情報の工具識別情報に対応づけられた補正値情報を考慮して、衝突判定を行ってもよい。
【００１５】
これにより、衝突判定の対象となる工具を識別するための工具識別情報も開始情報として出力されるので、工具識別情報からその工具の補正値を特定することができる。従って、複数の工具を使用する作業であっても、各工具の大きさの違いを考慮した衝突判定を行うことができ、正確な衝突判定を行うことができる。補正値情報には、例えば、工具の長さや径がある。工具情報の取得の態様には、工具の補正値が予め計測されて工作機械にて記憶されている工具情報が取得されてもよいし、工作機械において補正値の計測が行われた時に工具情報が取得されてもよい。
【００１９】
前記プログラム生成手段は、前記ワーク部の形状の計測を指示する形状計測指示を更に含む前記開始情報を前記工作機械に出力させる前記情報出力ブロックを、前記衝突判定トリガー部の直前に挿入し、前記ワーク形状決定手段は、前記形状計測指示が前記開始情報受信手段にて受信されると、前記ワーク部の形状の計測を前記形状計測装置により取得して、前記ワーク部の形状を決定してもよい。これにより、衝突判定が行われるごとにワーク部の形状の計測値を取得して形状を決定することができる。シミュレーションではなく、リアルタイムにワーク部の形状が決定されるので、より正確な衝突判定を行うことができる。
【００２０】
前記プログラム生成手段は、前記開始指示の後に前記工作機械の動作を一時停止する停止指示を含む前記情報出力ブロックを、前記衝突判定トリガー部の直前に挿入してもよい。これにより、例えば、工具の回転動作等の移動動作以外の動作が実行中である場合に、実行中の動作を停止させることができる。
【００２１】
前記工作機械を動作させるためのプログラムを取得するプログラム取得手段（２５０）が更に備えられ、前記検出手段が前記衝突判定トリガー部を検出するプログラムおよび前記プログラム生成手段が前記情報出力ブロックを挿入するプログラムは、前記プログラム取得手段によって取得されたプログラムであってもよい。これにより、工作機械や他の装置が保持するプログラムを取得して処理後プログラムを生成することができる。
【００２２】
前記検出手段によって検出されるべき前記工具を少なくとも一方向に移動させるコードを指定する検出コード指定部を更に備え、前記検出手段は、前記検出コード指定部によって指定されたコードを検出してもよい。検出手段は、検出コード指定部によって指定されたコードのみを衝突トリガー部として検出する。検出コード指定部における検出手段によって検出されるべきコードが指定される態様は、ユーザによって指定される場合や他のシステムによって制定される場合がある。例えば、ユーザによって指定される場合は、ユーザは所望の工具移動コードを衝突トリガー部として指定することができる。
【００２３】
本発明の工具衝突防止方法は、複数のコードが記述されたプログラムに従って順次動作する工作機械における工具（１０１）と、その工具によって加工されるワーク（１０２）を含むワーク部とが衝突するか否かの衝突判定を行う工具衝突防止方法であって、前記工作機械を動作させるプログラム（４００）において、前記工具を少なくとも一方向に移動させるコードを衝突判定トリガー部（４０１、４０２）として検出するステップと、前記衝突判定の開始指示を含み、前記衝突判定で使用される前記工具の位置に関する情報である開始情報を前記工作機械に出力させるコード群が記述された情報出力ブロック（５０１、５０２）を、前記検出手段によって検出された衝突判定トリガー部の直前に挿入することにより処理後プログラムを生成するステップと、前記処理後プログラムに従って動作中の前記工作機械から、前記情報出力ブロックに基づいて出力された前記開始情報を受信するステップと、前記工具の現在位置情報および移動予定位置情報を、前記開始情報から取得して、前記工具の現在位置および移動予定位置を決定するステップと、所定の形状計測装置によって計測された前記工作機械のワーク部の計測情報を取得し、その取得された計測情報により前記ワーク部の形状を決定するステップと、前記開始情報受信手段によって前記開始情報の開始指示が受信されると、前記工具位置決定手段によって決定された前記工具の位置と、前記ワーク形状決定手段によって決定された前記ワーク部の形状とに基づいて、前記工具と前記ワーク部との衝突判定を開始し、判定結果に応じた処理を行うステップとを含むことにより、上記の課題を解決する。本発明は請求項１の工具衝突防止装置として具現化される。
【００２４】
本発明のＮＣプログラム（５００）は、工作機械を動作させるための複数のコードが記述されたＮＣプログラムであって、前記工作機械の工具（１０１）を少なくとも一方向に移動させるコード（４０１、４０２）の直前に、前記工具とその工具によって加工されるワーク（１０２）を含むワーク部とが衝突するか否かを判定する衝突判定を開始する開始指示、前記工具の現在位置情報および移動予定位置情報を前記工作機械に出力させるコード群が記述された情報出力ブロックが挿入されたことにより、上述の課題を解決する。本発明のＮＣプログラムは、請求項２の工具衝突防止装置のプログラム生成手段によって生成される処理後プログラムとして機能する。
【発明の効果】
【００２５】
上述したように、本発明によれば、プログラム生成手段において、開始情報を工作機械に出力させる情報出力ブロックが衝突判定トリガー部の直前に挿入された処理後プログラムが生成され、動作中の工作機械から開始情報が出力されると、衝突判定手段によって衝突判定が開始される。従って、衝突判定を行うか否かの判断は開始情報の出力を待つだけでよく、工具とワーク部との位置関係を監視する必要はない。また、衝突判定に使用されるワーク部の形状は、形状計測装置によって計測された計測情報に基づいて決定され、工具の位置情報は定期的に工作機械から取得されるかまたは開始情報から取得される。従って、工作機械が作業の進行状況に関する情報を提供する機能を有していないタイプであっても、位置情報を出力させる開始情報が挿入された処理後プログラムによって工作機械に制御することにより、開始指示と共に位置情報を工作機械から出力させることができる。これにより、処理負担は少なく、工作機械の機能を問わずに衝突判定を行うことができる工具衝突防止装置等を提供することができる。
【発明を実施するための最良の形態】
【００２６】
図１は、本発明のＮＣ工作機械１００及び工具衝突防止装置２００の一実施形態である。ＮＣ工作機械１００は、複数のコードが記述されたＮＣプログラムに従って順次動作する工作機械であり、ネットワーク対応のタイプ（以下「オープンＮＣ」という。）とネットワークに対応していないタイプ（以下「従来型ＮＣ」という。）とがある。更に、従来型ＮＣにはマクロ機能を有するタイプ（以下「マクロＮＣ」という。）及びマクロ機能を有しないタイプ（以下「Ｄ＆ＭＮＣ」という。）とがある。本発明のＮＣ工作機械１００として機能するＮＣ工作機械は、いずれのタイプであってもよい。
【００２７】
ＮＣ工作機械１００には、工具１０１と、その工具によって加工されるワーク１０２と、工具１０１の長さ及び径を計測する工具計測センサ１０３と、ワーク１０２の形状を異なる角度から計測する形状計測装置としての複数の３Ｄレーザスキャナ１０４…１０４（以下「スキャナ１０４」といいます。）と、必要に応じて各種メッセージが表示されるモニタ１０５とが備えられている。工具衝突防止装置２００はいわゆるパーソナルコンピュータとして構成される。工具衝突防止装置２００とＮＣ工作機械１００とを接続する接続回線には、スキャナ１０４によって計測されたワーク１０２の形状の計測値を送受信するためのＵＳＢ回線１０７と、その他の情報の送受信のためのイーサネット（登録商標）回線１０８とがある。なお、スキャナ１０４および工具計測センサ１０３は従来既知のものでよい。
【００２８】
ＮＣ工作機械１００及び工具衝突防止装置２００のハードウェア構成の概略について図２を用いて説明する。ＮＣ工作機械１００は従来既知の構成であればよく、工具情報記憶部１１０、プログラム記憶部１２０、ＮＣ制御部１３０、スキャナ１０４、工具１０１およびワーク１０２を含む加工部１５０、およびモニタ１０５や各種入力ボタンを含むユーザインターフェース部１６０が備えられている。工具情報記憶部１１０は、ＮＣ工作機械１００にて使用される各工具の工具長値及び工具径値を示す工具情報テーブル３００を記憶する。工具情報テーブル３００における各工具の各値は、工具計測センサ１０３によって予め計測されて設定される。工具情報テーブル３００の一例を図３に示す。工具情報テーブル３００は、各工具の識別情報である工具番号３０１にその工具の工具長値３０２および工具径値３０３が対応付けられた工具情報３０６で構成されている。なお、図３では工具長値３０２および工具径値３０３のそれぞれは工具番号３０１に直接対応付けられているが、実際は記憶場所である工具長アドレス３０４および工具径アドレス３０５を介して工具番号３０１に対応付けられている。
【００２９】
図２に戻って、プログラム記憶部１２０はＮＣ工作機械１００を動作させるＮＣプログラムを記憶する。ＮＣ制御部１３０はＮＣプログラムに記述されたコード、又はユーザからの指示に従ってＮＣ工作機械１００の動作を制御し、また、イーサネット（登録商標）回線１０８を介して工具衝突防止装置２００と各種情報の送受信を制御する。
【００３０】
工具衝突防止装置２００は、接続インターフェース２１０と、ワーク形状決定部２２０と、工具位置決定部２２５と、工具情報記憶部２３０と、衝突判定部２４０と、加工動作開始前処理部２５０とを有する。接続インターフェース２１０は、例えば従来型ＮＣであってもＮＣ工作機械１００と情報の送受信を可能にする従来既知のもの（ＯＲｉＮ（登録商標）等）であればよい。ワーク形状決定部２２０は、スキャナ１０４にワーク１０２の形状の計測を指示し、取得された計測情報からワーク１０２の形状を決定する。以下、スキャナ１０４によってワーク１０２の形状を計測することを「ワーク１０２をスキャンする」というときがある。
【００３１】
工具位置決定部２２５は、工具１０１の現在位置の座標および移動予定位置の座標を決定する。工具情報記憶部２３０は、工具情報記憶部１１０から取得された工具情報３０６を記憶する。衝突判定部２４０は、工具１０１とワーク１０２とが衝突するか否かの判定に関する処理を行う。加工動作開始前処理部２５０は、ＮＣ工作機械１００における加工動作が開始されるまでに行われる処理を行う。例えば、オリジナルのＮＣプログラム（以下「オリジナルプログラム」という。）から処理後プログラムを生成し、ＮＣ工作機械１００へ提供する。
【００３２】
なお、ワーク形状決定部２２０、工具位置決定部２２５、衝突判定部２４０および加工動作開始前処理部２５０のそれぞれは、パーソナルコンピュータの動作を制御する従来既知の制御ユニット２６０を機能的に分けて示したものである。制御ユニット２６０は、ＣＰＵおよびその動作に必要なＲＡＭ、ＲＯＭ等の記憶域が備えられている。ＲＯＭに記憶されたコンピュータプログラムにより、制御ユニット２６０は、主に、各部２２０、２２５、２４０、２５０として機能する。また、工具衝突防止装置２００は通常のパーソナルコンピュータとしての構成として、不図示のモニタやキーボート等のユーザインターフェースを有している。
【００３３】
工具衝突防止装置２００は、ＮＣ工作機械１００を動作させるＮＣプログラムを加工動作の開始前に加工することにより、ＮＣ工作機械１００の加工動作中に工具１０１がワーク１０２に衝突するか否かの判定（以下「衝突判定」という。）を適宜行うことができる。ＮＣ工作機械１００にて加工動作が開始されるまでに、工具衝突防止装置２００の加工動作開始前処理部２５０によって行われる処理について図４を用いて説明する。まず、ステップＳ１０にて、衝突判定のための処理パターンをユーザに選択させる。本形態の処理パターンには図５に示すように、ワークスキャンタイプとして、「事前スキャン型」と「都度スキャン型」とが用意されている。「事前スキャン型」は加工動作の開始前にワーク１０２の全形状をスキャナ１０４によって計測するパターンであり、「都度スキャン型」は加工動作中に衝突判定がある度に、ワーク１０２の加工される付近の所定範囲をスキャナ１０４によって計測するパターンである。
【００３４】
更に、ステップＳ１１にて、衝突判定トリガー動作としての１つ以上の動作をユーザに指定させる。これにより、加工動作開始前処理部２５０は制御検出コード指定部として機能する。衝突判定トリガー動作として指定可能な動作は、工具の衝突が発生しやすい動作に設定することが望ましい。本形態では、ワークスキャンタイプが事前スキャン型の場合の指定可能な動作として、「全ての軸の早送り」「全てのＺ軸の早送り」および「工具交換直後Ｚ軸早送り」の３種の動作が用意され、ワークスキャンタイプが都度スキャン型の場合の指定可能な動作として、「全てのＺ軸の早送り」および「工具交換直後Ｚ軸早送り」の２種の動作が用意されている。例えば、図５のような一覧が表示され、ユーザ所望のスキャンタイプや衝突判定トリガー動作が従来既知の方法によって選択されるように構成されればよい。なお、「早送り」とは衝突判定対象の工具の早送りを意味する。以下、「事前スキャン型」に含まれる動作が選択された状態を事前スキャンモードといい、「都度スキャン型」に含まれる動作が選択された状態を都度スキャンモードという。
【００３５】
処理パターンが選択により決定すると、ステップＳ１２へ進み、上述した工具情報テーブル３００をＮＣ工作機械１００から取得して、工具情報記憶部２３０に記憶する。これにより、加工動作開始前処理部２５０は工具情報取得手段として機能する。続いて、ステップＳ１４に進み、処理後プログラム生成処理が行われる。処理後プログラム生成処理では、オリジナルプログラムにおいて衝突判定トリガー動作として指定されたコードが検出され、検出されたコードの直前に衝突判定に関するコード群を挿入することにより、処理後プログラムが生成される。
【００３６】
生成された処理後プログラムは、処理後プログラム生成処理においてＮＣ工作機械１００へ送信される。ＮＣ工作機械１００は受信した処理後プログラムをプログラム記憶部１２０に記憶し、処理後プログラムに従って加工作業を行う。処理後プログラムおよび処理後プログラム生成処理の詳細については後述する。
【００３７】
処理後プログラムの生成後、事前スキャンモードの場合はステップＳ１６で事前スキャン処理が行われ、その後ステップＳ１８へ進む。都度スキャンモードの場合は、ステップＳ１６をスキップしてステップＳ１８へ進む。ステップＳ１６の事前スキャン処理では、スキャナ１０４に対してワーク１０２の全体形状をスキャンするように要求する。スキャナ１０４によって計測されたワーク１０２の全体形状の計測情報は、ＵＳＢ回線１０８を介して工具衝突防止装置２００の制御ユニット２６０の記憶域に記憶される。ステップＳ１８では、ＮＣ工作機械１００がＤ＆ＭＮＣの場合、後述する理由によりユーザによる機械座標の入力が要求される。
【００３８】
なお、ＮＣ工作機械１００のタイプは、ステップＳ１０にて指定されるように構成してもよいし、工具衝突防止装置２００に接続されるＮＣ工作機械１００が固定的な場合は、予めＮＣ工作機械１００のタイプを固定的に設定しておいてもよい。
【００３９】
以下、ステップＳ１０にて、事前スキャン型の「全てのＺ軸の早送り」が衝突判定トリガー動作として指定された場合について説明する。処理後プログラム生成手段によって生成される処理後プログラムについて図６〜図８を用いて説明する。図６は、オリジナルプログラム４００およびオリジナルプログラム４００から生成される処理後プログラム５００の関係を示す。オリジナルプログラム４００には、衝突判定トリガー動作のコードが記述された衝突判定トリガー部として２つのＺ軸方向の早送り指示部４０１、４０２（以下、早送り指示部４０１、４０２」という。）が存在する。
【００４０】
処理後プログラム５００には、Ｚ軸早送り指示部４０１、４０２のそれぞれの直前に、情報出力ブロックとしての挿入コード部５０１、５０２がそれぞれ挿入される。各挿入コード部５０１、５０２には、衝突判定の開始を示す開始情報を出力させるコードが記述され、例えば、工具衝突防止装置２００における衝突判定に必要な情報（工具の位置等）を工具衝突防止装置２００へ出力させるコード群が記述されている。挿入コード部５０１には、早送り指示部４０１の動作についての衝突判定の開始を示すコードが記述され、挿入コード部５０２には、早送り指示部４０２の動作についての衝突判定の開始を示すコードが記述されている。このように、移動動作が指示されている指示部はＺ軸に関する早送り指示部４０１、４０２だけではないが、上述したように、ステップＳ１０の処理パターンの選択時に衝突トリガー操作としてＺ軸早送りが選択されることにより、早送り指示部４０１、４０３のみについて衝突が行われるように、各早送り指示部４０１、４０２のみの直前に挿入コード部５０１、５０２が挿入される。
【００４１】
更に、処理後プログラム５００には、Ｇ９２コードの直後に座標変換に関する挿入コード部５０３及びＮＣプログラムの実行開始を工具衝突防止装置２００に通知する挿入コード部５０４が挿入される。座標系には、ワーク１０２の所定点を原点とするワーク座標系とＮＣ工作機械１００の所定点を原点とする機械座標系があり、本形態のＮＣプログラムでは工具の位置をワーク座標系で示し、本形態の衝突判定は機械座標系で計算される。従って、挿入コード部５０３はワーク座標系と機械座標系との座標変換に必要な情報が出力されるように記述される。以下、機械座標系における座標値を機械座標、ワーク座標系における座標値をワーク座標という。本形態では、挿入コード部５０３には、Ｇ９２コードで指定されている位置の機械座標およびワーク座標が出力されるための出力命令が記述される。工具衝突防止装置２００にて両座標の差が求められることにより、座標変換が可能になる。
【００４２】
なお、処理後プログラムの各挿入コード部５０１、５０２、５０３において出力が指示される情報の出力先は、例えば、接続インターフェース２１０が記憶域を有している場合は当該記憶域に設定し、制御ユニット２６０は必要な情報を接続インターフェースの記憶域を参照することにより得るように構成されてもよいし、制御ユニット２６０の所定の記憶域に直接出力されるように構成されてもよい。
【００４３】
処理後プログラム生成処理によって生成されるマクロＮＣ用の処理後プログラム５００ａについて、処理後プログラム５００ａの一部を示す図７を用いて説明する。処理後プログラム５００ａには、オリジナルプログラム４００に対して、衝突判定トリガー動作である早送り指示部４０１の直前に、当該早送りの衝突判定をするための挿入コード部５０１ａ、座標変換に関する挿入コード部５０３ａ、及び挿入されたコードを機能させるための挿入コード部５０４ａが挿入されている。マクロＮＣ用の処理後プログラム５００ａの場合、マクロＮＣは工具１０１の現在位置や工具番号を変数に保持しているので、当該変数を利用して記述される。なお、処理後プログラム５００ａの早送り指示部４０２の直前にも挿入コード部５０２ａ（不図示）が挿入される。挿入コード部５０１ａに記述される命令群と挿入コード部５０２ａに記述される命令群は同じである。
【００４４】
挿入コード部５０４ａはＮＣ工作機械１００の通信ポート（例えばＲＳ２３２Ｃ）をオープンさせるオープン命令５１０とＮＣプログラムの開始、即ちＮＣプログラムによる処理の開始を工具衝突防止装置２００へ通知する通知命令５１１とで構成される。挿入コード部５０３ａには、Ｇ９２コードで指示された位置の機械座標を出力する出力命令５１２、Ｇ９２コードで指示された位置のワーク座標を出力する出力命令５１３が記述されている。挿入コード部５０３ａには、更に、Ｇ９２指令時の座標が出力されたことを示すチェック指示出力命令５１４が記述されている。
【００４５】
挿入コード部５０１ａは、スキャンに関する命令群５１５〜５２０、５２４、現在座標出力命令５２１、現在の工具１０１に関する情報を出力する工具情報出力命令群５２２、５２３、次の動作に関する情報を出力する次の動作情報出力命令群５２５、５２６、衝突判定開始命令５２７、一時停止命令５２８、及び動作再開命令５２９で構成される。スキャンに関する命令群５１５〜５２０、５２４は、工具衝突防止装置２００にスキャナ１０４によってワーク１０２の形状を計測させるための命令群であり、スキャンのタイプ指示５１７、スキャン開始指示５１８、及びスキャン終了指示５２４が含まれる。これにより、スキャンに関する命令群は形状計測指示として機能する。
【００４６】
なお、タイプ指示５１７及びスキャン開始指示５１８において、「２Ｃ１」はスキャン実行を示し、「２Ｃ０」はスキャンの不実行を示す。従って、処理パターンにて都度スキャンモードが選択された場合は「２Ｃ１」が設定され、衝突判定毎にスキャンが実行されてワーク１０２の形状が決定される。また、スキャンに関する命令群には、スキャンのために工具１０１の位置を一時的に避難させかつ回復させるスキャン用移動命令群５１５、５１６、５２０、及びＮＣ工作機械１００の動作と工具衝突防止装置２００によるスキャン動作の同期をとるための同期命令５１９が含まれる。なお、本形態の命令５１５、５１９、５２０にはサブルーチンが設定されている。従って、各命令５１５、５１９、５２０の処理として、各命令に設定されたサブルーチンに記述された処理が行われる。
【００４７】
現在座標出力命令５２１は、工具１０１の現在位置のワーク座標を出力するための命令である。工具情報出力命令群は、工具１０１の工具番号を出力する出力命令５２２、及び工具１０１の現在の工具長を補正するための補正モードを出力する出力命令５２３を含む。次の動作情報出力命令群は、次の動作である早送り指示４０１における目的位置である移動予定位置のワーク座標を出力する出力命令５２５と早送り指示４０１における補正モードを出力する出力命令５２６を含む。出力命令５２５では、現在位置と移動予定位置とに基づく相対座標が出力されるように設定される。
【００４８】
衝突判定開始命令５２７は、衝突判定の開始指示を出力するための命令である。一時停止命令５２８は、ＮＣ工作機械１００の動作を一時的に停止させる命令である。本形態の場合、オリジナルプログラムの「Ｓ１００Ｍ０３」の「Ｍ０３」によって主軸が回転するが、一時停止命令５２８によって停止する。後の動作再開命令５２９によって、主軸の回転動作が再開される。なお、不図示の命令群５０２ａにも命令群５０１ａと同様の命令が記述される。
【００４９】
Ｄ＆ＭＮＣ用の処理後プログラムは、上述したマクロＮＣ用の処理後プログラム５００ａと同様である。但し、Ｄ＆ＭＮＣにおいてはシステム変数が認識されないため、システム変数の部分には当該変数に設定すべき数値や文字が設定される。
【００５０】
処理後プログラム生成処理によって生成されるオープンＮＣ用の処理後プログラム５００ｂについて、処理後プログラム５００ｂの一部を示す図８を用いて説明する。処理後プログラム５００ｂには、オリジナルプログラム４００に対して、衝突判定トリガー動作である早送り指示部４０１の直前に、当該早送りの衝突判定をするための挿入コード部５０１ｂ、座標変換に関する挿入コード部５０３ｂ、及び挿入されたコードを機能させるための挿入コード部５０４ｂが挿入されている。オープンＮＣでは工具１０１の位置や補正モード等が所定の変数として管理されているため、これら所定の変数の値をマクロＮＣ用の処理後プログラム５００ａと共通する変数（以下「共通変数」という。）に出力する。これにより、本システムはマクロＮＣであってもオープンＮＣであっても適用が可能となる。以下、共通変数に値を出力することを単に「出力する」という。
【００５１】
なお、処理後プログラム５００ｂの早送り指示部４０２の直前にも挿入コード部５０２ｂ（不図示）が挿入される。挿入コード部５０１ｂに記述される命令群と挿入コード部５０２ｂに記述される命令群は同じである。挿入コード部５０４ｂはＮＣプログラムの開始、即ちＮＣプログラムによる処理の開始を工具衝突防止装置２００へ通知する通知命令５３０で構成される。挿入コード部５０３ｂには、Ｇ９２コードで指示された位置の機械座標を出力する出力命令５３２、Ｇ９２コードで指示された位置のワーク座標を出力する出力命令５３３が記述されている。挿入コード部５０３ｂには、更に、Ｇ９２指令時の座標が出力されたことを示すチェック指示出力命令５３４が記述されている。
【００５２】
挿入コード部５０１ｂは、スキャンに関する命令群５３５〜５４０、５４４、現在座標出力命令５４１、現在の工具１０１に関する情報を出力する工具情報出力命令群５４２、５４３、次の動作に関する情報を出力する次の動作情報出力命令群５４５、５４６、衝突判定開始命令５４７、一時停止命令５４８、及び動作再開命令５４９で構成される。スキャンに関する命令群５３５〜５４０、５４４は、工具衝突防止装置２００にスキャナ１０４によってワーク１０２の形状を計測させるための命令群であり、スキャンのタイプ指示５３７、スキャン開始指示５３８、及びスキャン終了指示５４４が含まれる。これにより、スキャンに関する命令群は形状計測指示として機能する。
【００５３】
なお、タイプ指示５１７及びスキャン開始指示５１８において、「２Ｃ１」はスキャン実行を示し、「２Ｃ０」はスキャンの不実行を示す。従って、本形態のように都度スキャンモードが選択された場合は「２Ｃ１」が設定され、衝突判定毎にスキャンが実行されてワーク１０２の形状が決定される。また、スキャンに関する命令群には、スキャンのために工具１０１の位置を一時的に避難させかつ回復させるスキャン用移動命令群５３５、５３６、５４０、及びＮＣ工作機械１００の動作と工具衝突防止装置２００によるスキャン動作の同期をとるための同期命令５３９が含まれる。なお、本形態の命令５３５、５３９、５４０にはサブルーチンが設定されている。従って、各命令５３５、５３９、５４０の処理として、各命令に設定されたサブルーチンに記述された処理が行われる。
【００５４】
現在座標出力命令５４１は、工具１０１の現在位置のワーク座標を出力するための命令である。工具情報出力命令群は、工具１０１の工具番号を出力する出力命令５４２、及び工具１０１の現在の工具長を補正するための補正モードを出力する出力命令５４３を含む。次の動作情報出力命令群は、次の動作である早送り指示４０１における目的位置である移動予定位置のワーク座標を出力する出力命令５４５と早送り指示４０１における補正モードを出力する出力命令５４６を含む。出力命令５４５では、現在位置と移動予定位置とに基づく相対座標が出力されるように設定される。
【００５５】
衝突判定開始命令５４７は、衝突判定の開始指示を出力するための命令である。一時停止命令５４８は、ＮＣ工作機械１００の動作を一時的に停止させる命令である。本形態の場合、オリジナルプログラムの「Ｓ１００Ｍ０３」の「Ｍ０３」によって主軸が回転するが、一時停止命令５４８によって停止する。後の動作再開命令５４９によって、主軸の回転動作が再開される。本形態では、一時停止後にユーザによる所定の操作があった場合に動作再開命令５４９によって主軸の回転動作が再開される。なお、不図示の命令群５０２ｂにも命令群５０１ｂと同様の命令が記述される。
【００５６】
処理後プログラム生成処理について、図９のフローチャートに従って説明する。まず、ステップＳ２０にてオリジナルプログラムを取得する。これにより、加工動作開始前処理部２５０はプログラム取得手段として機能する。オリジナルプログラムは、ＮＣ工作機械１００から取得してもよいし、他の装置やシステムから取得してもよい。オリジナルプログラムを取得すると、ステップＳ２２へ進み、指定された衝突判定トリガー動作、即ち衝突判定トリガー部の検索を開始する。ステップＳ１１にて指定された動作コードを検索すればよい。ステップＳ２３にてプログラム終了か否かが判断され、プログラムが終了でない場合は、ステップＳ２４に進み衝突判定トリガー部を検出したか否かが判断される。
【００５７】
ステップＳ２２〜ステップＳ２４により加工動作開始前処理部２５０は検出手段として機能する。衝突判定トリガー部を検出していない時は、ステップＳ２２へ戻り衝突判定トリガー部の検索を続行する。衝突判定トリガー部を検出した時は、ステップＳ２６へ進み、衝突判定に関する命令群を生成して衝突判定トリガー部の直前に挿入コード部として挿入する。当該命令群は、上述したようにＮＣ工作機械１００のタイプに応じて衝突判定を行うために必要な情報を得るための命令及び衝突判定の開始命令等で構成される。
【００５８】
上述した要領にて、各ＮＣ工作機械１００のタイプに応じた衝突判定に関する命令群が生成されればよい。各ＮＣ工作機械のタイプのオリジナルプログラムに挿入される命令群の内容は共通である。命令群の挿入後、次の衝突判定トリガー部の検索をするためにステップＳ２２へ戻る。
【００５９】
ステップＳ２３にて、プログラムが終了したと判断された時はステップＳ２７へ進み、ＮＣ工作機械１００のタイプによって異なる必要な命令群をオリジナルプログラムに挿入する。例えば、マクロＮＣの場合は、挿入コード部５０４ａおよび挿入コード部５０３ａであり、Ｄ＆ＭＮＣの場合は挿入コード部５０４ｂ及び挿入コート部５０３ｂである。最後にステップＳ２８にて、生成された処理後プログラムをＮＣ工作機械１００へ送信して処理後プログラム生成処理を終了する。ステップＳ２６、２７、２８により、加工動作開始前処理部２５０はプログラム生成手段として機能する。
【００６０】
次に、加工動作開始後のＮＣ工作機械１００および工具衝突防止装置２００のそれぞれにて行われる処理について説明する。図１０は、マクロＮＣであるＮＣ工作機械１００と工具衝突防止装置２００とにおいて行われる処理の流れについて示すシーケンス図である。マクロＮＣ１００では、ＮＣプログラム（処理後プログラム５００ａ）の処理が開始されると、まず、挿入コード部５０４ａの通知命令５１１により処理後プログラム５００ａによる処理の開始が通知される。続いて、挿入コード部５０３ａによって、座標変換に関する情報が出力される。以下、処理後プログラム５００ａに記述されたコードに従って処理が進められる。挿入コード部５０１ａに処理が進むと、各命令に従って処理を行い、動作一時停止命令５２８によって動作を一時的に停止する。
【００６１】
工具衝突防止装置２００は、マクロＮＣ１００から出力された情報を、接続インターフェース２１０にて受信する。これにより接続インターフェース２１０は開始情報受信手段として機能する。具体的には、まず、スキャンに関する命令群５１５〜５２０によってワーク１０２のスキャナ１０４によるスキャンを開始し、計測情報を取得する。更に、現在の工具に関する情報（現在位置、工具番号、補正モード）及び次の回の工具に関する情報（移動予定位置、補正モード）を取得する。マクロＮＣ１００から出力された情報は、例えば、接続インターフェース２１０の記憶域にて保持され、工具衝突防止装置２００は接続インターフェース２１０を介してマクロＮＣ１００から出力された情報を取得する。衝突判定開始命令５２７によって、衝突判定処理を開始し、工具１０１がワーク１０２に衝突するか否かの判定を行う。
【００６２】
所定の算出方法により判定結果が得られると、判定結果に基づくメッセージを工具衝突防止装置２００のモニタに表示する。例えば、判定結果が「衝突する」の場合は衝突警告メッセージを表示し、判定結果が「衝突しない」の場合は安全メッセージを表示する。一時停止状態のマクロＮＣ１００にて、処理を再開させるための所定の再開操作があると一時停止されていた処理後プログラム５００ａの処理が進められる。終了操作があった場合は、そのまま処理後プログラム５００ａに基づいた処理は終了される。次の挿入コード部５０２ａにおいても挿入コード部５０１ａと同様の処理が行われる。
【００６３】
ＮＣ工作機械１００がＤ＆ＭＮＣの場合及びオープンＮＣの場合であっても、処理後プログラム開始後のＮＣ工作機械１００および工具衝突防止装置２００のそれぞれにて行われる処理は、マクロＮＣ１００の場合と同様の処理が行われる。工具衝突防止装置１００にて行われる衝突判定処理の詳細については後述する。
【００６４】
衝突判定処理において行われる処理について図１１に示すフローチャートに従って説明する。まず、ステップＳ３０にて、工具補正値の特定を行う。ＮＣ工作機械１００から取得した工具番号に基づいて工具情報記憶部２３０の工具情報テーブル３００を参照することにより、工具１０１の工具補正値を特定する。本形態では工具補正値のうち特に工具径を使用する。次に、ステップＳ３１へ進み、工具１０１の現在位置の機械座標を決定する。本形態ではＮＣ工作機械１００から出力されたワーク座標及び補正モードから機械座標を算出する。ワーク座標から機械座標への座標変換は挿入コード部５０３にて出力されたワーク座標と機械座標との差を求めることにより算出できる。
【００６５】
続いて、ステップＳ３２へ進み、工具１０１の移動予定位置の機械座標を決定する。開始情報に含まれる移動予定位置のワーク座標及び移動指示における補正モードから算出する。続いて、ステップＳ３３では、スキャン命令がスキャン実行の場合、すなわちステップＳ１０で選択された処理パターンが都度スキャンモードの場合、ワークスキャン処理が行われる。ワークスキャン処理では、工具の工具径、現在位置、および移動予定位置に基づいてスキャン範囲が算出され、算出されたスキャン範囲の計測情報が得られるようにスキャナ１０４に対してスキャンが指示される。スキャナ１０４によって得られた計測情報は制御ユニット２６０の記憶域に取り込まれる。続くステップＳ３４にて、取り込まれた計測情報に基づいてワーク１０２の形状が決定される。都度スキャンモードの場合はスキャン範囲におけるワーク１０２の形状が決定される。
【００６６】
ワーク１０２の形状が決定されるとステップＳ３５へ進み、衝突の判定が行われる。本形態では、形状情報によりワーク１０２の形状における最大の高さを算出し、その最大の高さと工具１０１の移動予定位置の座標とを比較することにより衝突の判定を行う。判定結果が決定すると、ステップＳ３６に進み、判定結果に基づいたメッセージが工具衝突防止装置２００のモニタに表示される。衝突すると判定された場合は警告メッセージが表示され、衝突しないと判定された場合は安全メッセージが表示される。メッセージの表示後、衝突判定処理を終了する。
【００６７】
衝突判定処理において、ステップＳ３１およびステップＳ３２の処理は工具位置決定部２２５によって制御される。これにより、工具位置決定部２２５は工具位置決定手段として機能する。ステップＳ３３及びステップＳ３４の処理はワーク形状決定部２２０によって制御される。これにより、ワーク形状決定部２２０はワーク形状決定手段として機能する。ステップＳ３５及びステップＳ３６の処理は、衝突判定部２４０によって制御される。これにより、衝突判定部２４０は衝突判定手段として機能する。
【００６８】
本発明は上述した形態に限らず、様々な形態にて実施して良い。例えば、ワーク形状決定部２２０は、ワーク１０２だけでなく、ジグやテーブル等を含んだワーク部の形状を計測してワーク部の形状を決定し、衝突判定部２４０はワーク部と工具との衝突について判定を行ってもよい。処理後プログラムにおいて、挿入コード部５０１、５０２の記述はサブルーチン化できる部分はサブルーチン化してもよい。衝突判定トリガー動作は図５に示す動作に限らず、衝突が発生しやすい動作を適宜設定すればよい。
【００６９】
また、事前スキャンモードの処理後プログラムの場合、開始情報に含まれるスキャン実行に関する命令群は含まれない。事前スキャンモードの場合の衝突判定処理では、ステップＳ３３のワークスキャン処理は行われず、ステップＳ３４にて、保持されているワーク１０２の全体形状からシミュレーションにより現在の形状を決定する。工具情報３０６は、工具衝突防止装置２００の工具情報取得時に、工具計測センサ１０３を用いて工具補正値の計測を行って、計測結果を取得するように構成してもよい。
【００７０】
更に、工具の現在値や補正モード等、現在のＮＣ工作機械の状況を示す情報の出力機能を有するオープンＮＣにおいては、工具衝突防止装置２００の所定の記憶域に出力された情報を保持しておき、制御ユニット２６０が定期的に当該記憶域を参照するように構成してもよい。当該場合、処理後プログラムにおける未実行ブロックも定期的に出力されるように設定し、当該未実行ブロックを参照することにより、移動予定位置の座標や補正コードを取得するようい構成すればよい。
【図面の簡単な説明】
【００７１】
【図１】本発明のＮＣ工作機械および工具衝突防止装置一例を示す図。
【図２】図１に示すＮＣ工作機械および工具防止装置のブロック図。
【図３】工具情報テーブルの一例を示す図。
【図４】加工動作開始までの処理を示すフローチャート。
【図５】処理パターンとして用意された選択肢一例を示す図。
【図６】オリジナルプログラムと処理後プログラムの関係を示す図。
【図７】図６のオリジナルプログラムから生成されたマクロＮＣ用の処理後プログラムを示す図。
【図８】図６のオリジナルプログラムから生成されたオープンＮＣ用の処理後プログラムを示す図。
【図９】処理後プログラム生成処理において行われる処理を示すスローチャート。
【図１０】加工動作開始後にマクロＮＣおよび工具衝突防止装置において行われる処理の流れを示すシーケンス図。
【図１１】衝突判定処理において行われる処理を示すフローチャート。
【符号の説明】
【００７２】
１００      ＮＣ工作機械
１０１      工具
１０２      ワーク
１０４      スキャナ
１３０      ＮＣ制御部
２００      工具衝突防止装置
２１０      接続インターフェース
２２０      ワーク形状決定部
２２５      工具位置決定部
２４０      衝突判定部
２５０      加工動作開始前処理部
２６０      制御ユニット
【図１】
0004986840.tif 000002
【図２】
0004986840.tif 000003
【図３】
0004986840.tif 000004
【図４】
0004986840.tif 000005
【図５】
0004986840.tif 000006
【図６】
0004986840.tif 000007
【図７】
0004986840.tif 000008
【図８】
0004986840.tif 000009
【図９】
0004986840.tif 000010
【図１０】
0004986840.tif 000011
【図１１】
0004986840.tif 000012