(57)【特許請求の範囲】
【請求項１】
メモリから加工プログラムを加工プログラム解析処理部によって読み込み解析し、補間処理部によって解析結果に基づく軸移動のための補間処理を行う数値制御装置において、
工具、タレット、主軸台及びワークのいずれかが位置するため干渉し得る領域を表す干渉物をいくつかの立体の組み合わせにより構成されているように定義され、各立体の形状を定義する形状指定点の座標を軸移動に拘らず固定させるように定義できる移動／固定座標値選択データを含む立体定義データを格納するメモリと、
前記移動／固定座標値選択データを設定するための形状指定点固定設定手段と、
立体の形状を定義する形状指定点の座標を軸移動に拘らず固定させた場合の立体形状の計算を行う形状指定点固定立体計算手段と、
現在の干渉物の位置と干渉物を移動せしめる軸の移動量とから補間処理に伴う軸移動量出力後の干渉物の移動位置を計算する干渉物移動位置計算手段と、
前記立体定義データに定義された干渉物を構成する立体において補間処理前の位置から前記干渉物移動位置計算手段により計算された補間処理後の位置への移動における干渉物を構成する立体の干渉し得る領域を表す干渉判定立体を計算し、この干渉判定立体の組み合わせにより干渉判定領域を設定する干渉判定領域計算手段と、
前記干渉判定領域計算手段により設定される干渉判定領域に基づいて干渉の有無を判定する干渉判定手段と
を有していることを特徴とする数値制御装置。
【請求項２】
前記補間処理部による補間処理に基づく各軸の移動量をもとに干渉物の移動方向を判定する干渉物移動方向判定手段と、
前記干渉物移動方向判定手段により判定された干渉物の移動方向に応じて前記干渉判定立体の形状を変形させた干渉回避立体を計算し、この干渉回避立体を組み合わせてなる干渉回避領域干渉物の移動方向に応じて干渉回避を行うための干渉判定を行う干渉回避領域を計算する干渉回避領域計算手段と、
各干渉物の位置や複数の干渉物の移動のうち加工する干渉物の動きを優先させその他の干渉物の移動を後回しとする移動の優先順位の状態から干渉の回避方法を設定する干渉回避計算手段と、
干渉回避モードとするか否かの選択を行う干渉回避モード信号を検出する干渉回避モード信号検出手段とを有し、前記干渉判定手段は、干渉回避モードでない場合には前記干渉判定領域に基づいて干渉の有無を判定し、干渉回避モードである場合には前記干渉回避領域に基づいて干渉の有無を判定し、干渉時には前記干渉回避計算手段によって干渉の回避方法を設定する
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
特定の立体定義データを有効または無効とする選択をするための立体定義有効信号を検出する立体定義有効信号検出手段と、
入力された立体定義有効信号に対応する立体についてのみ干渉判定が行われるように前記立体定義データにおける特定の立体を有効または無効とする立体定義有効／無効切換手段とを有している
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
再入力される立体定義データを記憶する立体定義データ設定テーブルと、
干渉判定の計算を行うための立体定義データを再入力された立体定義データに変更するための立体定義変更信号を検出する立体定義変更信号検出手段と、
前記立体定義変更信号の入力によって前記立体定義データ設定テーブルより立体定義データを読み込み干渉判定に用いる立体定義データを変更する立体定義変更手段とを有している
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項５】
干渉物の対象となるユニットを定義する干渉物対象設定を含む立体定義データを格納するメモリと、
加工プログラムの実行ブロックが加工ブロックであるか否かを判定し、加工ブロックであると判定された加工プログラムにより駆動されるユニットの干渉回避動作を優先させる加工干渉物優先判定手段と、
加工プログラムの実行ブロックの加工モードまたは該加工プログラムにより駆動されるユニットの種類に応じて干渉回避時の移動優先度を定義するための優先回避定義テーブルとを有している
ことを特徴とする請求項２に記載の数値制御装置。
【請求項６】
メモリから加工プログラムを加工プログラム解析処理部によって読み込み解析し、補間処理部によって解析結果に基づく軸移動のための補間処理を行う数値制御装置において、
干渉物の対象となるワークに関するデータであるワーク関連定義データを含む立体定義データと、
ワークを対象とした干渉物であるワーク干渉物の初期の座標値を定義するためのワーク干渉物初期設定手段と、
ワーク干渉物の形状を計算するか否かを選択するためのワーク干渉物形状計算有効信号を検出するためのワーク干渉物形状計算有効信号検出手段と、
前記ワーク干渉物形状計算有効信号が有効な場合に前記ワーク干渉物初期設定手段によって定義されたワーク干渉物の初期座標値とワーク移動量とワーク関連定義データからワーク干渉物の形状計算を行うワーク干渉物形状計算手段と、
メイン主軸台と背面主軸台の相対距離を計算する相対距離計算手段と、
前記相対距離計算手段によって計算された前記相対距離に基づいてメイン主軸に保持されているワークが背面主軸に持ち変えられたことを判定するワークつかみ変え判定手段と、
チャック開閉の指令を認識するためのチャック開閉用補助指令定義テーブルと、
加工プログラムの解析結果と前記チャック開閉用補助指令定義テーブルのチャック開閉用補助指令とによりメイン主軸台のチャックと背面主軸台のチャックの開閉を検出するチャック開閉検出手段と、
前記ワークつかみ変え判定手段によるワークつかみ変え判定と前記チャック開閉検出手段により検出されるチャックの開閉に応じてワーク干渉物を干渉物として計算するか否かを選択するワーク干渉物有効／無効切換手段と、
前記ワーク干渉物形状計算手段により計算されたワーク干渉物形状に基づいて干渉の有無を判定する干渉判定手段とを有している
ことを特徴とする数値制御装置。
【請求項７】
ワークを切断するための工具である突切り工具で切断されたワークの長さを計算するワーク長計算手段を有し、
前記ワーク干渉物形状計算手段は前記ワーク長計算手段によって計算されたワーク長に基づいて、前記突切り工具により分割された各ワーク干渉物の形状計算を行う
ことを特徴とする請求項６に記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、数値制御装置に係わり、特に数値制御装置における工作機械等の破損を防止するための工具、ワークなどの干渉チェックおよび干渉回避に関するものである。
【０００２】
【従来の技術】
数値制御装置は、紙テープなどより加工プログラムを読み取り、加工プログラムによる命令に基づいて数値制御処理（解析処理）を実行し、この処理結果により工作機械の工具位置などをそれに対応する数値情報で指令するものである。
【０００３】
工作機械を扱うオペレータによって作成される加工プログラムによっては、工作機械の工具、主軸台、ワークなどが干渉し、破損する可能性がある。これを回避するために各種の干渉チェックが従来より提案されている。
【０００４】
図４８は干渉チェック機能を有する従来のコンピュータ数値制御装置（ＣＮＣ）の一例を示している。コンピュータ数値制御装置は、加工プログラム１ａ、１ｂ、・・・を格納するメモリ３と、加工プログラム解析処理部２ａ、２ｂ、・・・とを有し、加工プログラム１ａ、１ｂ、・・・を系統という単位でそれぞれ独立して実行できる。
【０００５】
加工プログラムの実行に際しては、メモリ３から加工プログラムが１ブロックずつ読み出され、加工プログラム解析処理部２ａ、２ｂ、・・・によって解析される。
【０００６】
ついで、補間処理部７によって補間処理が行われ、軸制御部１０にて予めパラメータ設定部４で設定された各系統の制御軸ごとに軸制御処理が行われ、軸移動量出力回路１１よりサーボ制御部１２ａ、１２ｂ、・・・に軸移動量が出力される。これによりサーボモータ１３ａ、１３ｂ、・・・が駆動され、工作機械のテーブル、刃物台が移動する。また機械制御信号処理部８を介してシーケンス回路９へ指令信号が入力されることにより、スピンドル正転／逆転／停止やチャックの開閉などの機械制御が行われる。
【０００７】
また、メモリ３に格納された情報が画面表示処理部５へ出力され、その出力情報が表示ユニット６に表示される。
【０００８】
従来の数値制御装置における干渉チェックには、各工具が存在する領域を定義した干渉領域同士が干渉するか否かによって工具同士が干渉するか否かをチェックする方式がある。
【０００９】
この干渉チェックでは、各工具が存在する領域である干渉領域を定義する干渉物定義データ２１を予めＣＮＣのメモリ３に格納しておき、工具の移動に対応させてその干渉領域を移動させ、干渉領域同士が干渉するか否かを補間処理部７の干渉判定手段２５にて判定することにより、工具同士の干渉チェックを行う。
【００１０】
次に、この干渉チェックの具体例を図４９を用いて説明する。この干渉チェックにおいては、２つの工具１６０、１６２がそれぞれ納まる干渉領域１６１、１６３を一つの長方体で設定し、工具１６０、１６２の移動に合わせてその干渉領域１６１、１６３の位置を移動させ、干渉領域１６１と１６３との干渉を判定することによって、工具１６０と１６２との干渉を防ぐことが行われる。
【００１１】
例えば、工具１６０、１６２が補間処理に伴う軸移動に応じてそれぞれＡ、Ｂ位置よりＣ、Ｄ位置へ移動すると、それに応じて干渉領域１６１、１６３もＡ、Ｂ位置に対応する位置よりその軸移動に追従する形態でＣ、Ｄ位置に対応する位置に移動する。このとき、干渉領域同士が移動によって干渉し合う場合には、そこで軸移動量の出力を停止し、工具の干渉を防ぐ。
【００１２】
図５０は従来の干渉チェックの処理フローを示している。この処理フローでは、先ず、入力された干渉物定義データより干渉領域の形状を計算し（ステップＳ１）、干渉領域が移動する場合には（ステップＳ２肯定）、加工プログラム１ａ、１ｂ、・・・の解析結果による移動指令に応じて移動先の干渉領域の位置計算を行う（ステップＳ３）。ついで干渉の判定を行い（ステップＳ４）、干渉領域同士が干渉する場合には、軸移動を停止し、アラームを発生する（ステップＳ５）。
【００１３】
【発明が解決しようとする課題】
従来の数値制御装置では、干渉チェックが上述のように行われるため、例えば工具の干渉チェックを行う場合には、対象となる工具が納まるように設定した一つの長方体領域を全て干渉領域とするため、実際には干渉し得ない範囲まで干渉領域とすることがあり、詳細な干渉チェックが行われない。
【００１４】
また、一般に、油圧などで駆動されるユニットについては、ＣＮＣはその駆動装置に移動開始信号を入力するのみで、ユニットの位置制御を行わないため、このようなユニットの干渉チェックは行えないか、もしくはそのユニットの移動可能範囲を全て干渉領域とすることによって干渉を防止することが行われている。しかし、一つのユニットの移動可能範囲を全て干渉領域とする場合には、別のユニットの移動範囲が限定されるなどの欠点が存在する。
【００１５】
また、工具交換などによって干渉領域の形状が変化するユニットの干渉チェックを行う場合には、予め、形状の変化に対処できるよう干渉領域を広範囲に定義しておくか、或いは予め設定されている干渉領域内に納まる形状のユニットのみを使用することが行われている。
【００１６】
このため、干渉チェックを行う際のユニット選択の自由度が低下し、明らかに干渉しないと思われる領域であるにも拘らず干渉チェックを行う範囲がさらに広がり、実際には干渉していないにも拘らず干渉と判断される場合が生じる。
【００１７】
また、加工中の工具が干渉を回避すべく一時停止することによって、切削加工面が粗くなるか、もしくは、例えばねじ切り加工時のように、主軸の位相、すなわちワークの位相に同期して工具の位置を決定し、加工を行う場合には、主軸は回転するが、工具は一時停止するため、非加工面まで切削されるなど、正常な加工がされない不具合が生じる。
【００１８】
また、従来の干渉チェックでは、簡易な干渉判定しか行えず、例えば、複数の主軸を持ち、主軸間でワークを受け渡すことができる数値制御工作機械においてワークの干渉チェックを行う場合には、ワークの受け渡しによってワークを移動せしめる軸が異なり、それに対応する手段がないため、このような場合の干渉チェックを行うことができなかった。
【００１９】
また、従来の干渉チェックにおいては、予め定義した干渉領域が軸移動に応じて移動し、干渉領域同士が干渉するか否かの判定を行うことによって、干渉領域を設定したユニットの干渉チェックを行うため、干渉領域として設定できるのは、加工室内に進入したユニットの一部分についてだけであった。
【００２０】
これに対し、ユニットの全部分を全て干渉領域とした場合には、干渉領域が加工室の外に出ることになるため、加工室の壁面を境界とした場合の加工室の壁面と干渉領域として設定したユニットとの干渉チェックが行えなくなる。
【００２１】
本発明は、上記のような問題点を解決するためのもので、緻密な干渉物の設定が可能で、従来より大幅に正確な干渉チェック、干渉回避が行え、また加工の全工程に亙り加工に影響を与えることなく干渉チェック、干渉回避を行える数値制御装置を得ることを目的としている。
【００２２】
【課題を解決するための手段】
上述の目的を達成するために、この発明による数値制御装置は、メモリから加工プログラムを加工プログラム解析処理部によって読み込み解析し、補間処理部によって解析結果に基づく軸移動のための補間処理を行う数値制御装置において、工具、タレット、主軸台及びワークのいずれかが位置するため干渉し得る領域を表す干渉物をいくつかの立体の組み合わせにより構成されているように定義され、各立体の形状を定義する形状指定点の座標を軸移動に拘らず固定させるように定義できる移動／固定座標値選択データを含む立体定義データを格納するメモリと、前記移動／固定座標値選択データを設定するための形状指定点固定設定手段と、立体の形状を定義する形状指定点の座標を軸移動に拘らず固定させた場合の立体形状の計算を行う形状指定点固定立体計算手段と、現在の干渉物の位置と干渉物を移動せしめる軸の移動量とから補間処理に伴う軸移動量出力後の干渉物の移動位置を計算する干渉物移動位置計算手段と、前記立体定義データに定義された干渉物を構成する立体において補間処理前の位置から前記干渉物移動位置計算手段により計算された補間処理後の位置への移動における干渉物を構成する立体の干渉し得る領域を表す干渉判定立体を計算し、この干渉判定立体の組み合わせにより干渉判定領域を設定する干渉判定領域計算手段と、前記干渉判定領域計算手段により設定される干渉判定領域に基づいて干渉の有無を判定する干渉判定手段とを有しているものである。
【００２３】
この発明による数値制御装置において、立体定義データは、干渉チェックまたは干渉回避を行うための計算に用いる干渉物を定義するための入力データであり、干渉物を構成する一つ以上の立体の大きさ、位置、立体の属する干渉物、立体を移動せしめる軸、立体の移動／固定軸、立体の移動／固定面、干渉物の対象となるユニットの種類を設定する。
【００２４】
干渉物移動位置計算手段は、現在の干渉物の位置と干渉物を移動せしめる軸の移動量から、補間処理に伴う軸移動量出力後の干渉物の移動位置を計算し、干渉判定領域計算手段は、干渉物を構成する立体において、補間処理前の位置から補間処理後の位置への移動における干渉物を構成する立体の干渉し得る領域を表す干渉判定立体を計算することにより、干渉判定立体を組み合わせてなる、干渉物の干渉判定を行う領域である干渉判定領域を得る。
立体定義データは干渉物を構成する立体の形状を表す形状指定点の座標を軸の移動に拘らず固定させるように定義できる移動／固定座標値選択データを含んでいる。形状指定点固定設定手段は立体定義データに含まれる移動／固定座標値選択データの設定を行う。形状指定点固定立体計算手段は、加工プログラムの指令による各軸の移動に拘らず、干渉物を構成する立体の形状を表す形状指定点の座標を固定した場合の立体形状を計算する。
【００２５】
干渉判定手段は干渉物の干渉判定を行うために干渉判定立体の干渉の有無を判定する。
【００２６】
次の発明による数値制御装置は、前記補間処理部による補間処理に基づく各軸の移動量をもとに干渉物の移動方向を判定する干渉物移動方向判定手段と、前記干渉物移動方向判定手段により判定された干渉物の移動方向に応じて前記干渉判定立体の形状を変形させた干渉回避立体を計算し、この干渉回避立体を組み合わせてなる干渉回避領域干渉物の移動方向に応じて干渉回避を行うための干渉判定を行う干渉回避領域を計算する干渉回避領域計算手段と、各干渉物の位置や複数の干渉物の移動のうち加工する干渉物の動きを優先させその他の干渉物の移動を後回しとする移動の優先順位の状態から干渉の回避方法を設定する干渉回避計算手段と、干渉回避モードとするか否かの選択を行う干渉回避モード信号を検出する干渉回避モード信号検出手段とを有し、前記干渉判定手段は、干渉回避モードでない場合には前記干渉判定領域に基づいて干渉の有無を判定し、干渉回避モードである場合には前記干渉回避領域に基づいて干渉の有無を判定し、干渉時には前記干渉回避計算手段によって干渉の回避方法を設定するものである。
【００２７】
この発明による数値制御装置においては、干渉回避モード信号検出手段は、干渉回避を行うか否かを決定する干渉回避モード信号の入力を検出し、干渉回避モード信号の入力に応じて立体定義データの干渉回避モード選択を変更するものである。
【００２８】
干渉物移動方向判定手段は、加工プログラムが解析され、補間処理後、軸制御部によって計算される各軸の移動量をもとに干渉物の移動方向を判定し、干渉回避領域計算手段は、干渉物の移動方向に応じて干渉判定立体の形状を変形させた干渉回避立体を計算することにより、干渉回避立体を組み合わせてなる干渉回避領域を得る。
【００２９】
干渉判定手段は干渉物の干渉判定を行うために干渉回避モードである否かに応じて干渉判定立体または干渉回避立体の干渉の有無を判定する。干渉回避計算手段は各干渉物の位置や加工する干渉物の動きを優先させその他の干渉物の移動を後回しとする移動の優先順位などの状態から干渉の回避方法を得る。
【００３０】
次の発明による数値制御装置は、特定の立体定義データを有効または無効とする選択をするための立体定義有効信号を検出する立体定義有効信号検出手段と、入力された立体定義有効信号に対応する立体についてのみ干渉判定が行われるように前記立体定義データにおける特定の立体を有効または無効とする立体定義有効／無効切換手段とを有しているものである。
【００３１】
この発明による数値制御装置においては、立体定義有効信号検出手段はある立体に関する立体定義データを有効とする立体定義有効信号を検出し、立体定義有効／無効切換手段は、入力された立体定義有効信号に対応する立体に関する立体定義データを有効とし、干渉チェックまたは干渉回避を行う。
【００３２】
次の発明による数値制御装置は、再入力される立体定義データを記憶する立体定義データ設定テーブルと、干渉判定の計算を行うための立体定義データを再入力された立体定義データに変更するための立体定義変更信号を検出する立体定義変更信号検出手段と、前記立体定義変更信号の入力によって前記立体定義データ設定テーブルより立体定義データを読み込み干渉判定に用いる立体定義データを変更する立体定義変更手段とを有しているものである。
【００３３】
この発明による数値制御装置においては、立体定義データ設定手段はシーケンス回路における立体定義データの入力を行い、立体定義データ設定テーブルが立体定義データ設定手段により入力された内容を記憶する。
【００３４】
立体定義変更信号検出手段は、シーケンス回路において、立体定義データ設定手段により入力された立体定義データを干渉判定の計算に用いるために、立体定義データ設定テーブルの内容をメモリ内の立体定義データに書き込みを行う起動信号である立体定義変更信号の入力を検出し、立体定義変更手段は、立体定義変更信号の入力によって、立体定義データ設定テーブルの内容をメモリ内の立体定義データに書き込み、干渉チェックまたは干渉回避の計算に用いる立体定義データを変更する。
【００３５】
次の発明による数値制御装置は、干渉物の対象となるユニットを定義する干渉物対象設定を含む立体定義データを格納するメモリと、加工プログラムの実行ブロックが加工ブロックであるか否かを判定し、加工ブロックであると判定された加工プログラムにより駆動されるユニットの干渉回避動作を優先させる加工干渉物優先判定手段と、加工プログラムの実行ブロックの加工モードまたは該加工プログラムにより駆動されるユニットの種類に応じて干渉回避時の移動優先度を定義するための優先回避定義テーブルとを有しているものである。
【００３６】
この発明による数値制御装置においては、立体定義データは、干渉物の対象を例えば工具のように設定するための干渉物対象設定を含んでいる。加工干渉物優先判定手段は、干渉物の対象であるユニットを移動せしめる加工プログラムの実行ブロックが加工ブロックか否かによって、該ユニットが加工中のユニットであることを判定する。更に、干渉物の対象が加工中のユニットである場合、優先回避定義テーブルに定義された加工モードまたは加工中のユニットの種類による干渉回避時の移動優先度に応じて干渉回避時における移動を優先させる。
【００３９】
次の発明による数値制御装置は、メモリから加工プログラムを加工プログラム解析処理部によって読み込み解析し、補間処理部によって解析結果に基づく軸移動のための補間処理を行う数値制御装置において、干渉物の対象となるワークに関するデータであるワーク関連定義データを含む立体定義データと、ワークを対象とした干渉物であるワーク干渉物の初期の座標値を定義するためのワーク干渉物初期設定手段と、ワーク干渉物の形状を計算するか否かを選択するためのワーク干渉物形状計算有効信号を検出するためのワーク干渉物形状計算有効信号検出手段と、前記ワーク干渉物形状計算有効信号が有効な場合に前記ワーク干渉物初期設定手段によって定義されたワーク干渉物の初期座標値とワーク移動量とワーク関連定義データからワーク干渉物の形状計算を行うワーク干渉物形状計算手段と、メイン主軸台と背面主軸台の相対距離を計算する相対距離計算手段と、前記相対距離計算手段によって計算された前記相対距離に基づいてメイン主軸に保持されているワークが背面主軸に持ち変えられたことを判定するワークつかみ変え判定手段と、チャック開閉の指令を認識するためのチャック開閉用補助指令定義テーブルと、加工プログラムの解析結果と前記チャック開閉用補助指令定義テーブルのチャック開閉用補助指令とによりメイン主軸台のチャックと背面主軸台のチャックの開閉を検出するチャック開閉検出手段と、前記ワークつかみ変え判定手段によるワークつかみ変え判定と前記チャック開閉検出手段により検出されるチャックの開閉に応じてワーク干渉物を干渉物として計算するか否かを選択するワーク干渉物有効／無効切換手段と、前記ワーク干渉物形状計算手段により計算されたワーク干渉物形状に基づいて干渉の有無を判定する干渉判定手段とを有しているものである。
【００４０】
この発明による数値制御装置において、ワーク関連定義データはワークの直径や機械端側ワーク中心の座標値などの定義を格納するものである。ワーク干渉物初期設定手段はワーク干渉物の初期の座標値を定義し、ワーク干渉物形状計算有効信号検出手段はシーケンス回路からのワーク干渉物形状計算有効信号の検出を行う。
【００４１】
ワーク干渉物形状計算手段はワーク干渉物形状計算有効信号検出手段によりワーク干渉物形状計算有効信号が検出された場合にワーク干渉物の初期座標値とワーク移動量とワーク直径などからワーク干渉物の形状計算を行い、干渉判定手段がワーク干渉物形状計算手段により計算されたワーク干渉物形状に基づいて干渉の有無を判定する。またこのとき、相対距離計算手段が、メイン主軸台と背面主軸台の相対距離を計算し、ワークつかみ変え判定手段が相対距離計算手段によって計算された前記相対距離に基づいてメイン主軸に保持されているワークが背面主軸に持ち変えられたことを判定する。チャック開閉検出手段は加工プログラムの解析結果と前記チャック開閉用補助指令定義テーブルのチャック開閉用補助指令とによりメイン主軸台のチャックと背面主軸台のチャックの開閉を検出し、ワーク干渉物有効／無効切換手段がワークつかみ変え判定手段によるワークつかみ変え判定とチャック開閉検出手段により検出されるチャックの開閉に応じてワーク干渉物を干渉物として計算するか否かを選択する。
【００４２】
次の発明による数値制御装置は、ワークを切断するための工具である突切り工具で切断されたワークの長さを計算するワーク長計算手段を有し、前記ワーク干渉物形状計算手段は前記ワーク長計算手段によって計算されたワーク長に基づいて、突切りにより分割された各ワーク干渉物の形状計算を行うものである。
【００４４】
ワーク長計算手段が突切り工具で切断されたワークの長さを計算し、ワーク干渉物形状計算手段はこのワーク長計算手段によって計算されたワーク長に基づいて、前記突切り工具により分割された各ワーク干渉物の形状計算を行う。
【００４５】
なお、チャック開閉用補助指令定義テーブルはシーケンス回路における該チャックの開閉指令をＣＮＣに認識させるためのテーブルである。
【００４６】
【発明の実施の形態】
以下に添付の図を参照してこの発明の実施の形態を詳細に説明する。なお、以下に説明するこの発明の実施の形態において、上述の従来例と同一構成の部分は、上述の従来例に付した符号と同一の符号を付して  その説明を省略する。
【００４７】
（実施の形態１）
図１はこの発明による数値制御装置の実施の形態１を示している。
【００４８】
この数値制御装置においては、メモリ３に干渉物定義データ２１に代えて立体定義データ２２が格納される。立体定義データ２２は、干渉チェックまたは干渉回避を行うための計算に用いる干渉物を定義するための入力データであり、干渉物をいくつかの立体の組み合わせにより構成されているように定義する。
【００４９】
即ち、立体定義データ２２は、干渉物を構成する一つ以上の立体の大きさ、位置、立体の属する干渉物、立体を移動せしめる軸、立体の移動／固定軸、立体の移動／固定面、干渉回避モード選択、干渉回避における移動優先度、干渉物の対象となるユニットの種類を設定するものであり、この実施の形態では、立体の大きさや位置を表す形状指定点のオフセット値と、立体の属する干渉物の番号、立体を移動せしめる加工プログラムの系統番号、干渉物の移動／固定軸定義、干渉回避における移動優先順位を設定している。
【００５０】
図２（ａ）〜（ｃ）は立体定義データの設定画面例を示している。
【００５１】
図２（ａ）に示されている画面１においては、４８０で干渉回避時における干渉物の移動優先度を示す干渉物優先順位、４８１で干渉物を定義するために用いる立体の総数を示す立体定義数のパラメータ設定が各々行われる。
【００５２】
図２（ｂ）に示されている画面２は各干渉物毎に関するパラメータの設定画面であり、この画面２では、４８４〜４８６で干渉物を移動せしめる軸を示すパラメータの設定が行われ、４９６が選択されることにより、画面が干渉物１、干渉物２、・・・に関するパラメータ設定画面に切り替わる。
【００５３】
図２（ｃ）に示されている画面３は立体毎に関するパラメータの設定画面であり、４８８で立体の系統番号／干渉物番号、４８９〜４９１で立体の形状を示す第１形状指定点の各軸（Ｘ、Ｙ、Ｚ軸）のオフセット値、４９２〜４９４で立体の形状を示す第２形状指定点の各軸（Ｘ、Ｙ、Ｚ軸）のオフセット値のパラメータ設定が各々行われ、４９７が選択されることにより、画面が立体１、立体２、・・・に関するパラメータ設定画面に切り替わる。
【００５４】
干渉物を定義するために用いる立体は直方体であり、この立体を定義する第１形状指定点と第２形状指定点は立体的に相互に対角線上に位置する隅角点に設定される。
【００５５】
また画面１では４８３にて、画面２では４８７にて、画面３では４９５にて、項目番号とパラメータ設定値が入力されることにより、これらが立体定義データ２２に設定される。
【００５６】
図３は数値制御装置で使用される座標系を示している。図３において、４２２は第１系統の加工プログラムに従い移動する立体を、４２５は第２系統の加工プログラムに従い移動する立体を各々示している。第１系統の立体４２２はＸ１軸とＹ１軸とＺ１軸に従い移動し、第２系統の立体４２５はＸ２軸とＺ２軸に従い移動する。干渉物の干渉は、Ｘ軸とＹ軸とＺ軸で表される基準機械座標系において判定される。
【００５７】
また、図３において、４２８は基準機械座標系基準点から第１系統機械座標原点までの位置ベクトルを、４２９は基準機械座標系基準点から第２系統機械座標系原点までの位置ベクトルを、４２６は第１系統における機械値を、４２０は機械値から立体４２２の第１形状指定点までのオフセット値を、４２１は機械値から立体４２２の第２形状指定点までのオフセット値を、４２７は第２系統における機械値を、４２３は機械値から立体４２５の第１形状指定点までのオフセット値を、４２４は機械値から立体４２５の第２形状指定点までのオフセット値を各々示している。
【００５８】
図４は基準機械座標基準点相対距離パラメータ設定画面を示している。このパラメータ設定画面では、４４０で基準機械座標系基準点から各系統の機械座標系原点までのオフセット値を、Ｘ軸とＹ軸とＺ軸の各座標値をもってパラメータ設定する。このオフセット値は図３における基準機械座標系基準点から第１、第２系統機械座標原点までの位置ベクトル４２８、４２９に相当する。
【００５９】
また、このパラメータ設定画面では、４４２が選択されることにより、第１系統、第２系統、・・・のように設定対象の系統が選択され、４４１に必要な項目と軸と設定値を入力されることにより、基準機械座標系基準点から各系統の機械座標系原点までのオフセット値が設定される。
【００６０】
図５は工具５０と主軸台５３との干渉チェックを行う場合における従来の干渉領域と、この発明による数値制御装置で使用される立体定義データによって定義される干渉物の比較している。
【００６１】
従来であれば、工具５０と主軸台５３を囲む単一矩形（長方体）の干渉領域５１、５４によって工具５０と主軸台５３の干渉チェックを行っていたが、本発明においては、干渉物５２、５５のように、干渉物をいくつかの立体１１〜１３、２１、２２で構成して詳細に形状を定義した干渉物において干渉チェック、干渉回避を行う。
【００６２】
補間処理部７は、干渉物移動方向判定手段２３と、干渉物移動位置計算手段２４ｃと、干渉判定領域計算手段２４と、干渉回避領域計算手段２４ｂと、干渉判定手段２５と、干渉回避計算手段２６とを有している。
【００６３】
また、機械制御信号処理部８は干渉回避モード信号検出手段２７を有している。干渉回避モード信号検出手段２７は、干渉回避を行うか否かを決定する干渉回避モード信号の入力を検出し、干渉回避モード信号の入力に応じて立体定義データの干渉回避モード選択を変更する。
【００６４】
干渉物移動方向判定手段２３は、加工プログラムが解析され、補間処理後に軸制御部１０によって計算される各軸の移動量をもとに干渉物の移動方向を判定する。
【００６５】
干渉物移動位置計算手段２４ｃは、現在の干渉物の位置と干渉物を移動せしめる軸の移動量から、補間処理に伴い軸移動量出力後の干渉物の移動位置を計算する。
【００６６】
干渉判定領域計算手段２４は、干渉物を構成する立体において、補間処理前の位置から補間処理後の位置への移動における干渉物を構成する立体の干渉し得る領域を表す干渉判定立体を計算し、干渉判定立体を組み合わせてなる干渉判定領域を計算する。
【００６７】
図６は干渉判定領域計算手段２４によって計算される干渉判定立体及び干渉判定領域を例示している。ここでは、Ｐ１１とＰ１２で定義される立体５６ａと、Ｐ１３とＰ１４で定義される立体５７ａとで一つの干渉物が構成され、干渉物はＸ軸及びＺ軸方向に移動するものとする。
【００６８】
補間処理に伴い移動ベクトル６０１だけ軸移動量が出力されると、立体５６ａがＰ２１とＰ２２とで定義される立体５６ｂの位置へ移動し、立体５７ａがＰ２３とＰ２４とで定義される立体５７ｂの位置へ移動する。このとき、立体５６ａの干渉判定立体はＰ１とＰ２で定義される立体５８に、立体５７ａの干渉判定立体はＰ３とＰ４で定義される立体５９となり、干渉判定領域は干渉判定立体５８と干渉判定立体５９の２つの領域を連結してなる領域となる。
【００６９】
干渉回避領域計算手段２４ｂは、干渉物の移動方向に応じて干渉判定立体の形状を変形させた干渉回避立体を計算し、干渉回避立体を組み合わせてなる干渉回避領域を計算する。
【００７０】
図７は干渉回避領域計算手段２４ｂにより計算される干渉回避立体及び干渉回避領域を例示している。干渉回避領域計算手段２４ｂは、図６に示されているような干渉判定立体５８と干渉判定立体５９と干渉物の移動ベクトル６０１より得られる移動方向から、Ｐ１とＰ５で定義される干渉回避立体６０ａと、Ｐ６とＰ４で定義される干渉回避立体６０ｂを計算する。
【００７１】
干渉判定手段２５は、干渉物の干渉判定を行うために、干渉判定立体あるいは干渉回避立体の干渉の有無を判定する。
【００７２】
図８は干渉判定手段２５による干渉判定例を示している。図８では、干渉判定手段２５によって干渉を判定した立体７３と立体７４と立体７５があり、立体７３はＰ１１とＰ１２で、立体７４はＰ２１とＰ２２で、立体７５はＰ３１とＰ３２で各々定義されている。Ｐ１１、Ｐ１２、Ｐ２１、Ｐ２２、Ｐ３１、Ｐ３２の各点の座標値は図示されている通りである。この場合、立体１と立体２は干渉し合うが、そのほかの立体の組み合わせでは干渉し合わない。
【００７３】
図９は、干渉判定領域または干渉回避領域のような領域同士の干渉判定において、各領域を構成する立体同士の干渉判定を行うことにより領域同士の干渉を判定する際の立体の組み合わせ例を示している。領域ａは立体２０１と立体２０２と立体２０３で構成され、領域ｂは立体２０５と立体２０６で構成されている。
【００７４】
干渉回避計算手段２６は各干渉物の位置や移動優先順位などの状態から干渉の回避方法（回避手順）を計算する。
【００７５】
図１０（ａ）〜（ｄ）は各々干渉回避計算手段２６による干渉回避例を示している。図１０（ａ）〜（ｄ）に示されているように、干渉物８０が干渉回避領域８２を作成し、干渉物８１が干渉回避領域８３を作成し、干渉回避領域８２と干渉回避領域８３とが干渉し合う場合には、干渉回避のための計算が干渉回避計算手段２６によって行われる。このとき、干渉物８０と干渉物８１の位置関係により、図１０の（ａ）（ｂ）（ｃ）（ｄ）の４つの干渉パターンが考えられる。
【００７６】
図１０（ａ）の場合；干渉物８０を補間移動させて干渉物８１の補間処理による軸移動を一時停止させた場合には干渉回避領域８２と干渉物８１が干渉するため干渉物８１は一時停止不可能と判定される。逆に干渉物８０の補間処理による軸移動を一時停止させて干渉物８１を補間移動させた場合には干渉物８０と干渉回避領域８３が干渉するため干渉物８０も一時停止不可能と判定される。干渉物８０と干渉物８１が共に一時停止不可能なため、この場合には干渉回避不可能と判定して、軸移動を停止し、アラームを発生する。
【００７７】
図１０（ｂ）の場合；干渉物８０を補間移動させて干渉物８１の補間処理による軸移動を停止させた場合には干渉回避領域８２と干渉物８１は干渉するため干渉物８１は一時停止不可能と判定される。逆に干渉物８０の補間処理による軸移動を停止させて干渉物８１を補間移動させた場合、干渉物８０と干渉回避領域８２は干渉しないため干渉物８０は一時停止可能と判定される。よって、この場合には、一時停止可能な干渉物８０を一時停止させ、干渉物８１を先行移動させることによって干渉回避を行う。
【００７８】
図１０（ｃ）の場合；干渉物８０を補間移動させて干渉物８１の補間処理による軸移動を停止させた場合には干渉回避領域８２と干渉物８１は干渉しないため干渉物８１は一時停止可能と判定される。逆に干渉物８０の補間処理による軸移動を停止させて干渉物８１を補間移動させた場合には干渉物８０と干渉回避領域８３は干渉するため干渉物８０は一時停止不可能と判定される。よって、この場合には、一時停止可能な干渉物８１を一時停止させ、干渉物８０を先行移動させることによって干渉回避を行う。
【００７９】
図１０（ｄ）の場合；干渉物８０を補間移動させて干渉物８１の補間処理による軸移動を停止させた場合には干渉回避領域８２と干渉物８１は干渉しないため干渉物８１は一時停止可能と判定される。逆に干渉物８０の補間処理による軸移動を停止させて干渉物８１を補間移動させた場合には干渉物８０と干渉回避領域８３は干渉しないため干渉物８０も一時停止可能と判定される。この場合には、干渉物８０と干渉物８１のどちらもが一時停止可能なため、定義されている移動優先度を用いて一時停止させる干渉物を決定し、干渉物回避を行う。例えば、干渉物８０の方が移動優先度が高い場合には、干渉物８１を一時停止させ、干渉物８０を先行移動させることによって干渉回避を行う。
【００８０】
図１１（ａ）〜（ｄ）、図１２（ａ）〜（ｄ）は各々、主軸台８５が干渉物８７で定義され、タレット８６が干渉物８８で定義される場合の干渉チェックと干渉回避動作例を示している。
【００８１】
図１１に示されている例では、（ａ）に示すように、主軸台８５が−Ｚ方向に、タレット８６が＋Ｘ方向にそれぞれ移動しはじめ、干渉チェック時には（ｂ）→（ｃ）のように動作する。８９は干渉物８７の干渉判定領域を表し、９０は干渉物８８の干渉判定領域を表す。また、干渉回避時は、（ｄ）→（ｅ）のように動作する。９１は干渉物８７の干渉回避領域を表し、９２は干渉物８８の干渉回避領域を表す。
【００８２】
図１２に示されている例では、（ａ）に示すように、主軸台８５が＋Ｚの方向に、タレット８６が＋Ｘ方向に移動しはじめ、（ｂ）→（ｃ）→（ｄ）のように干渉回避動作を行う。９３は干渉物８７の干渉回避領域を表し、９４は干渉物８８の干渉回避領域を表す。
【００８３】
次に、実施の形態１における干渉チェック、干渉回避動作を図１３〜１６に示されているフローチャートを参照して説明する。
【００８４】
図１３は干渉チェック・干渉回避のメインフローである。まず、立体定義データ２２を図２、図４に示されているようなパラメータ設定画面において設定する（ステップＳ１０）。このパラメータ設定画面において設定されたパラメータ値をもとに、立体定義データ２２が決定され、メモリ３に格納される。
【００８５】
立体形状は、立体（直方体）の対角線を作る第１形状指定点と第２形状指定点の２つの頂点を設定することによって定義する。第１形状指定点は直方体の８個の頂点の中で座標原点より最も遠い点、第２形状指定点は最も近い点である。
【００８６】
例えば、図６に示す立体５６ａにおいては、第１形状指定点はＰ１１で、第２形状指定点はＰ１２である。このとき各座標値においてＸ１１＞Ｘ１２、Ｚ１１＞Ｚ１２の関係がある。また、立体５７ａにおいては、第１形状指定点はＰ１３で、第２形状指定点はＰ１４である。立体５６ａと同様に、この場合も各座標値においてＸ１３＞Ｘ１４、Ｚ１３＞Ｚ１４の関係がある。
【００８７】
また、立体の形状及び位置を示す第１形状指定点及び第２形状指定点は、図３に示されているように、立体の属する系統における機械座標値からの各軸のオフセット値で定義する。このとき各系統の機械座標原点の相対位置は図４に示されている基準機械座標基準点相対距離パラメータ設定画面の例で示されるパラメータで設定される。
【００８８】
次に、立体定義データにおいて定義された干渉物の現在位置と補間処理による移動後の干渉物の移動位置を干渉物移動位置計算手段２４ｃによって計算する（ステップＳ１１）。
【００８９】
より具体的には、干渉物移動位置計算手段２４ｃは、干渉物を構成する立体の形状指定点の座標値に各軸の移動量を加算して補間処理後の干渉物の位置を得る計算を行う。例えば、図６においては、Ｐ１１、Ｐ１２、Ｐ１３、Ｐ１４の各座標値に、補間処理に伴う各軸の移動量を加えて得る点がそれぞれＰ２１、Ｐ２２、Ｐ２３、Ｐ２４となる。
【００９０】
次に、干渉物移動方向判定手段２３によって立体を移動せしめる各軸の補間処理ごとの移動量から、立体の各軸ごとの移動方向を判定する（ステップＳ１２）。例えば、図６においては、Ｘ軸については−方向、Ｚ軸については＋方向に移動すると判定される。
【００９１】
次に、干渉判定領域計算手段２４によって補間処理の前後における立体の位置を囲む領域を立体で表した干渉判定立体を計算し、これを組み合わせてなる干渉判定領域を得る（ステップＳ１３）。干渉判定立体は、ある立体において、各軸毎の移動量が正の時、立体の第１形状指定点の座標値に軸移動量を加算し、軸移動量が負の時、立体の第２形状指定点の座標値に軸移動量を加算して得られる２点で構成される立体となる。
【００９２】
例えば、図６に示すように、Ｐ１１、Ｐ１２で形成される立体５６ａの干渉判定領域はＰ１、Ｐ２で形成される干渉判定立体５８に、Ｐ１３、Ｐ１４で形成される立体５７ａの干渉判定領域はＰ３、Ｐ４で形成される干渉判定立体５９となる。
【００９３】
次に、干渉回避モード信号検出手段２７によってシーケンス回路９より入力される干渉回避モード信号を検出し、その入力状態によって干渉回避モードであるか否かを判定する（ステップＳ１４）。
【００９４】
干渉回避モードでなければ（ステップＳ１４否定）、干渉チェックモードであるとし、干渉判定手段２３によって干渉判定立体同士の干渉を判定することによって、干渉判定立体を組み合わせてできる干渉判定領域同士の干渉を判定する（ステップＳ１５）。干渉判定領域同士が干渉する場合には（ステップＳ１５肯定）、アラーム停止する（ステップＳ１６）。
【００９５】
これに対し、干渉回避モードであれば（ステップＳ１４否定）、干渉回避領域計算手段２４ｂを用いて、図７に例示されているように干渉物の移動方向に応じて干渉判定立体の形状を変更して得られる干渉回避立体を計算し、これを組み合わせてなる干渉回避領域を作成する（ステップＳ１７）。
【００９６】
次に、干渉判定手段２３によって干渉回避立体同士の干渉を判定することにより、干渉回避立体を組み合わせてできる干渉回避領域同士の干渉を判定する（ステップＳ１８）。干渉回避領域同士の干渉判定は、一方の干渉回避領域を構成する干渉回避立体と他方の干渉回避領域を構成する干渉回避立体の干渉を判定し、干渉し合う干渉回避立体が存在すれば、干渉回避領域同士が干渉すると判定する。
【００９７】
干渉回避領域同士が干渉する場合には、干渉回避計算手段によって図１６に示されている干渉回避フローを実行し、干渉回避動作を行う（ステップＳ１９）。
【００９８】
ここで、ステップＳ１７における干渉回避立領域計算手段２４ｂによる干渉回避立体の計算ルーチンを図１４に示されている干渉回避領域計算フローに従って説明する。干渉回避立体は、干渉判定立体の第１形状指定点または第２形状指定点を干渉物を構成する立体の移動方向に応じて移して得られる２点で形成される。この干渉回避領域計算は干渉回避立体の形状計算に必要な各軸について行われる。
【００９９】
干渉回避領域計算フローでは、干渉物移動方向判定手段２３によって判定された干渉物を構成する立体の各軸の移動方向を判別する（ステップＳ２２、２４）。
【０１００】
ある軸に沿って立体が正方向に移動する場合には、同じ干渉物に属する干渉判定立体の第１形状指定点の座標値のうちで最大のものを干渉回避立体の第１形状指定点の座標値とする（ステップＳ２３）。
【０１０１】
これに対し、立体が負方向に移動する場合には、同じ干渉物に属する干渉判定立体の第２形状指定点の座標値の内で最小のものを、干渉回避立体の第２形状指定点の座標値とする（ステップＳ２５）。
【０１０２】
なお、これら以外の干渉回避立体の座標値については、干渉判定立体の第１または第２形状指定点の座標値と同一とする。
【０１０３】
例えば、図７においては、Ｘ軸方向には負方向に、Ｚ軸方向には正方向に移動するため、Ｐ１、Ｐ２で形成される干渉判定立体５８より算出される干渉回避立体は、Ｐ２のＸ座標を変更してなるＰ５とＰ１とで形成される立体６０ａになる。また、Ｐ３、Ｐ４で形成される干渉判定立体５９より算出される干渉回避立体は、Ｐ３のＺ座標を変更してなるＰ６とＰ４とで形成される立体６０ｂになる。
【０１０４】
干渉回避領域は干渉物を構成する立体の干渉回避立体を全て重ねることにより得えれる領域である。図７の場合には、干渉回避領域は干渉回避立体６０ａと干渉回避立体６０ｂの領域を重ねて得るＰ１、Ｐ５で形成される立体で表される領域になる。この干渉回避領域は干渉物を構成する各立体の干渉回避立体が存在する領域であるから、干渉回避領域同士の干渉判定はそれぞれの干渉回避領域を構成する干渉回避立体同士の干渉判定を行うことでできる。
【０１０５】
次に、上述の干渉チェック（ステップＳ１５）または干渉回避における干渉判定手段２５による干渉判定（ステップＳ１８）について、図１５に示されている干渉判定フローに従って説明する。干渉判定フローでは、干渉チェックモードの場合には干渉判定立体同士の干渉判定を行い、干渉回避モードの場合には干渉回避立体同士の干渉判定を行う。
【０１０６】
まず、干渉チェックモードの時には干渉判定立体、干渉回避モードの時には干渉回避立体の形状データを読み込む（ステップＳ２７）。ここで、仮に、干渉判定を行う２つの立体を第１立体と第２立体とする。また、第１立体の第１形状指定点の座標値を（Ｘ１１，Ｙ１１，Ｚ１１）、第２形状指定点の座標値を（Ｘ１２，Ｙ１２，Ｚ１２）、第２立体の第１形状指定点の座標値を（Ｘ２１，Ｙ２１，Ｚ２１）、第２形状指定点の座標値を（Ｘ２２，Ｙ２２，Ｚ２２）とする。
【０１０７】
ある座標軸に沿って一方の立体の第２形状指定点の座標値と他方の立体の第１形状指定点の座標値との差分が正の場合が一つでもあるとき、即ちｉ２２−ｉ１１＞０またはｉ１２−ｉ２１＞０となる座標軸ｉ（ｉ＝Ｘ，Ｙ，Ｚ）が一つでも存在すれば（ステップＳ２８ａ、２８ｂ、２８ｃ肯定）、干渉しないと判断する（ステップＳ３１）。これに対し、ｉ２２−ｉ１１＞０またはｉ１２−ｉ２１＞０となる座標軸ｉが一つもない場合には（ステップＳ２８ａ、２８ｂ、２８ｃ否定）、干渉すると判断する（ステップＳ３０）。
【０１０８】
例えば、図８においては、立体７３と立体７４は、Ｘ１２−Ｘ２１＜０、Ｚ１２−Ｚ２１＜０、Ｘ２２−Ｘ１１＜０、Ｚ２２−Ｚ１１＜０であり、干渉する。これに対し立体７３と立体７５については、Ｚ３２−Ｚ１１＞０があり、干渉しない。同様に立体７４と立体７５についても、Ｘ３２−Ｘ２１＞０があり、干渉しない。尚、この干渉判定では、３次元にて計算を行っているが、図８の例では簡単のため２次元で示している。
【０１０９】
干渉物同士の各モードにおける干渉判定を行うにあたり、干渉回避モードの場合には、干渉物毎に得る干渉回避領域を構成する干渉回避立体同士の干渉判定を全ての組み合わせにおいて行うことによって干渉回避領域同士の干渉判定を行う。
【０１１０】
これに対し、干渉チェックモードの場合には、干渉物毎に得る干渉判定領域を構成する干渉判定立体同士の干渉判定を全ての組み合わせにおいて行うことによって干渉判定領域同士の干渉判定を行う。
【０１１１】
どちらの場合も、各領域に属する立体同士の干渉判定に帰着して考えることができる。例えば、図９においては、領域ａ２００と領域ｂ２０４の干渉判定において、立体２０１と立体２０５、立体２０１と立体２０６、立体２０２と立体２０５、立体２０２と立体２０６、立体２０３と立体２０５、立体２０３と立体２０６の２×３＝６通りの干渉判定を行うことによって、領域ａ２００と領域ｂ２０４の干渉を判定する。ここで云う領域と立体とは、干渉回避モードの場合には干渉回避領域と干渉回避立体であり、干渉チェックモードの場合には干渉判定領域と干渉判定立体である。
【０１１２】
次に、ステップＳ１８における干渉回避計算ルーチンについて図１６に示されている干渉回避計算フローに従って説明する。この干渉回避計算ルーチンは、干渉回避モードにおいて干渉回避計算手段２６によって実行される。
【０１１３】
干渉物１と干渉物２の干渉回避において、先ず干渉物２の軸移動を停止した場合の干渉物１との干渉判定を行う（ステップＳ３３）。干渉物２の軸移動を停止すれば、干渉物１と干渉物２とが干渉する場合には（ステップＳ３３肯定）、次に干渉物１の軸移動を停止した場合の干渉物２との干渉判定を行う（ステップＳ３４）。
【０１１４】
また干渉物２の軸移動を停止すれば、干渉物１と干渉物２とが干渉しない場合も（ステップＳ３３否定）、次に干渉物１の軸移動を停止した場合の干渉物２との干渉判定を行う（ステップＳ３９）。
【０１１５】
これらの判定において、干渉しない場合には、軸移動停止側の干渉物を停止可能とする。停止側の干渉物については、立体定義データにて定義された干渉物において干渉判定を行い、移動側の干渉物については、干渉回避領域において干渉判定を行う。
【０１１６】
ステップＳ３３肯定→ステップＳ３４肯定、即ち図１０（ａ）に例示されているように、何れの軸移動停止でも干渉する場合には、干渉物１と干渉物２は共に停止不可能なため（ステップＳ３５）、アラームを発生し、共に軸移動を停止する（ステップＳ３６）。
【０１１７】
ステップＳ３３肯定→ステップＳ３４否定、即ち図１０（ｂ）に例示されているように、干渉物１が停止可能な場合には（ステップＳ３７）、干渉物１の軸移動を一時停止する（ステップＳ３８）。
【０１１８】
ステップＳ３３否定→ステップＳ３９肯定、即ち図１０（ｃ）に例示されているように、干渉物１が停止可能な場合には（ステップＳ４０）、干渉物２の軸移動を一時停止する（ステップＳ４１）。
【０１１９】
ステップＳ３３否定→ステップＳ３９否定、即ち図１０（ｄ）に例示されているように、干渉物１と干渉物２が共に停止可能な場合には（ステップＳ４２）、立体定義データにおいて定義される移動優先度に基づいて干渉物の優先順位を決定し（ステップＳ４３）、移動優先度の低い干渉物を一時停止する（ステップＳ４４）。
【０１２０】
このようにして停止可能な干渉物の軸移動量の出力を一時停止することによって、加工経路を外れずに干渉回避を行う。
【０１２１】
例えば、図１１において、（ａ）に示す主軸台８５とタレット８６がそれぞれ矢印の方向に移動するとき、干渉物８７と干渉物８８のように詳細に干渉物を定義し、定義された形状に基づき干渉判定を行い、主軸台８５とタレット８６の干渉を防ぐ場合、（ｂ）に示すように干渉判定領域８９と干渉判定領域９０にて干渉を判定するだけでは、主軸台８５とタレット８６がお互いのユニットの一部によって進行が阻まれて、（ｃ）のように干渉回避が不可能となる場合がある。
【０１２２】
しかし、本発明によれば、（ｄ）、（ｅ）に示すような干渉回避領域９１と干渉回避領域９２にて干渉を判定し、その判定結果より干渉回避動作を行うため、（ｄ）→（ｅ）の順に干渉回避動作を行い、干渉物の一部分によって進行が阻まれ、干渉回避ができなくなることを未然に防ぐことができる。
【０１２３】
また、主軸台８５とタレット８６が、図１２（ａ）に示すように矢印の方向に移動する場合においては、干渉回避領域９３と干渉回避領域９４にて干渉判定を行うため、（ｂ）→（ｃ）→（ｄ）のように、干渉を防止する各ユニットが互いに干渉し合わず、より接近した位置まで移動することができる。
【０１２４】
このように、干渉物の移動逆方向に位置する干渉物との干渉チェックについては干渉物の詳細な定義による緻密な干渉チェックが行え、かつ、干渉物の移動方向に位置する干渉物との干渉チェックについては回避不可能になることを防ぐことができ、正確な干渉チェックまたは干渉回避が可能となる。
【０１２５】
（実施の形態２）
図１７はこの発明による数値制御装置の実施の形態２を示している。尚、図１７に於いて、図１に対応する部分は図１に付した符号と同一の符号を付けてその説明を省略する。
【０１２６】
この数値制御装置においては、補間処理部７に立体定義有効／無効切換手段２８が、機械制御信号処理部８に立体定義有効信号検出手段２９が各々付加されている。
【０１２７】
立体定義有効信号検出手段２９はシーケンス回路９よりの信号により特定の立体に関する立体定義データを有効または無効とする選択をするための立体定義有効信号を検出する。
【０１２８】
立体定義有効／無効切換手段２８は、入力された立体定義有効信号に対応する立体に関する立体定義データを有効とし、有効な立体定義データに関してのみ干渉チェックまたは干渉回避が行われるようにする。
【０１２９】
図１８（ａ）、（ｂ）は実施の形態２の数値制御装置が使用されて好適な加工システム（立体定義有効／無効切換）の一例を示している。この切断加工システムは、チャック１１０に保持されて加工を行ったワークＷを突切り工具１１１で切断し、切断したワークＷをＡ位置にて製品受け１１４で受け取り、製品受け１１４をＡ位置よりＢ位置へ移動させ、ワークＷをベルトコンベア１１６に載せて搬送する。
【０１３０】
図１９は上述の切断加工システムのシーケンス回路（一部抜粋）を示している。このシーケンス回路は、加工プログラムにおいて製品受け１１４をＢ位置へＡ位置へ移動させる指令時に、デバイスＭ８０がオンし、製品受け１１４をＡ位置へ移動させる信号を出力すると共にＡ位置に割り当てた干渉物を構成する立体を有効とする立体定義有効信号Ｙ２ＦＦを出力する回路となっている。立体定義有効信号は、立体毎に割り当てられている。
【０１３１】
次に、実施の形態２における干渉チェック、干渉回避動作を図２０、図２１に示されているフローチャートを参照して説明する。
【０１３２】
図２０は実施の形態２における干渉チェック・干渉回避のメインフローである。なお、図２０において、図１３に対応するステップは図１３に付したステップ番号と同一のステップ番号を付けてその説明を省略する。
【０１３３】
このメインフローでは、干渉物移動位置計算に先立って、立体定義有効／無効切換手段２８によって立体定義有効／無効切換が行われ（ステップＳ１０ａ）、干渉判定手段２５による干渉判定時に、立体定義データを有効とした立体の干渉判定のみを行い、立体定義データを無効とした立体の干渉判定を行わない。
【０１３４】
図２１は立体定義有効／無効切換の処理フローを示している。この処理フローでは、まず、立体定義有効信号検出手段２９によって立体定義有効信号がシーケンス回路９より出力されているか否かを判定する（ステップＳ５１）。
【０１３５】
例えば、図１９に示されているようなシーケンス回路が作成されている場合には、図１８において製品受け１１４がＢ位置にあれば、立体定義有効信号は出力されず、製品受けがＡ位置にあるときにのみ立体定義有効信号は出力される。
【０１３６】
立体定義有効信号が出力されている時には、対応する立体に関する立体定義データを有効として干渉判定が行われるようにし（ステップＳ５２）、これに対し立体定義有効信号が出力されていない時には、対応する立体に関する立体定義データを無効とする（ステップＳ５３）。
【０１３７】
例えば、図１８において、製品受け１１４がＡ位置にあるときには、Ａ位置に割り当てた干渉物を構成する立体に対応する立体定義有効信号が出力され、製品受け１１４の干渉チェックが行われる。これに対し製品受け１１４がＢ位置にあるときには、Ａ位置の製品受け１１４に割り当てた干渉物を構成する立体に対する立体定義有効信号が出力されないので、Ａ位置の製品受け１１４の領域に工具１１１などが進入しても問題ない。
【０１３８】
以上のようにして、製品受け１１４のように、例えば油圧のような付加軸で駆動され、ＣＮＣは移動開始指令信号をシーケンス回路より入力するのみで、位置制御を行わないユニットの干渉チェックがオペレータの要求に応じて行うことができるようになる。
【０１３９】
（実施の形態３）
図２２はこの発明による数値制御装置の実施の形態３を示している。尚、図２２に於いても、図１に対応する部分は図１に付した符号と同一の符号を付けてその説明を省略する。
【０１４０】
この数値制御装置においては、補間処理部７に立体定義変更手段３９が、機械制御信号処理部８に立体定義データ設定手段３１、立体定義変更信号検出手段３９ｂが各々付加され、また立体定義データ設定テーブル４０が設けられている。
【０１４１】
立体定義データ設定手段３１はシーケンス回路９における立体定義データを再入力する。
【０１４２】
立体定義データ設定テーブル４０は立体定義データ設定手段３１により入力された内容を記憶する。
【０１４３】
立体定義変更信号検出手段３９ｂは、シーケンス回路９において立体定義データ設定手段３１により入力された立体定義データを干渉判定の計算に用いるために、立体定義データ設定テーブル４０の内容をメモリ３内の立体定義データ３２２に書き込みを行う起動信号である立体定義変更信号の入力を検出する。
【０１４４】
立体定義変更手段３９は、立体定義変更信号の入力によって、立体定義データ設定テーブル４０の内容をメモリ３内の立体定義データ２２に書き込み、干渉チェックまたは干渉回避の計算に用いる立体定義データを変更する。
【０１４５】
図２３は実施の形態３の数値制御装置が使用されて好適な工作機械の一例（立体定義変更）を示している。この工作機械は回転することにより工具１０１や工具１０２のように所望の工具を選択することができるタレット１００を有している。タレット１００に取り付けた工具には３つの立体で構成される干渉物を割り当てる。立体１０３と立体１０４と立体１０５は工具１０１が選択された場合に割り当てる干渉物を構成する立体で、立体１０６は立体１０７と立体１０８は工具１０２が選択された場合割り当てる干渉物を構成する立体である。
【０１４６】
図２４は上述の工作機械のシーケンス回路（一部抜粋）を示している。このシーケンス回路において、デバイスＭ１０１は加工プログラムにおいて工具１０１が選択されてタレット１００が工具１０１を使用できる位置に回転した時にオンする。また、デバイスＭ１０２は工具１０２が選択されてタレット１００が工具１０２を使用できる位置に回転した時にオンする。
【０１４７】
このシーケンス回路９では、タレット１００に取り付けられた工具に割り当てた干渉物に関する立体定義データを、Ｍ１０１がオンした時には工具１０１を囲むように定義し、Ｍ１０２がオンした時には工具１０２を囲むように定義し、Ｍ１０１またはＭ１０２がオンしたとき、立体定義データ設定テーブル４０の入力を行い、立体定義変更信号を出力する。
【０１４８】
図２５はシーケンス回路より立体定義データ設定テーブル４０に入力される内容などを表している。図２５において、４５０は立体定義データ設定テーブルの制御信号、４５１は干渉チェックまたは干渉回避における状態を表すステータス、４５２は干渉回避時の干渉物の移動優先順位、４５３は干渉物を移動せしめる軸の選択を行うための軸移動／固定選択、４５６は設定した立体の個数を表す立体定義数、４５７、４６５、・・・は立体の属する系統番号及び干渉物番号、４５９〜４６４、４６７〜４７２は、・・・立体の形状を表す立体形状指定点のオフセット値である。また、４５４、４５８、４６６、・・・は予備値（無効な値）である。立体定義データを変更したい場合、これらに所望の値を入力する。
【０１４９】
次に、実施の形態３における立体定義データ変更の動作を図２６、図２７のフローチャートを参照して説明する。
【０１５０】
図２６は立体定義データ入力・設定フローを示している。この立体定義データ入力・変更設定フローでは、まず立体定義データ設定手段を用いて立体定義データ設定テーブル４０に変更したい立体定義データを入力する（ステップＳ６０）。
【０１５１】
例えば、図２３に示されているように、工具選択（工具交換）に伴いタレット１００に取り付けた工具に割り当てた干渉物を構成する立体の形状を変更する場合には、図２４に示されているようなシーケンス回路を用いて立体定義データ設定テーブル４０の４５９〜４６４、４６７〜４７２、・・・を所望の立体形状となるように変更する。
【０１５２】
次に、立体定義変更信号検出手段３９ｂによって立体定義変更信号の出力を検出する（ステップＳ６１）。例えば、図２３のシーケンス回路の場合には、図２７のフローチャートに示されているように、工具１０１または工具１０２が選択されたとき（ステップＳ６３）、立体定義データ設定テーブル４０への入力を行い、立体定義変更信号を出力する（ステップＳ６４）。
【０１５３】
立体定義変更信号検出手段３９ｂは、ここで出力される立体定義変更信号を検出する。立体定義変更信号が出力されていれば（ステップＳ６１肯定）、立体定義変更手段３９によって立体定義データ設定テーブル４０の内容をメモリ３の立体定義データ２２に書き込む（ステップＳ６２）。
【０１５４】
この図２６に示されている立体定義データ入力・設定フローは、実施の形態１におけるメインフロー（図１３）における干渉物移動位置計算ステップ（ステップＳ１１）の実行前に呼び出される。これにより、補間処理毎に計算される干渉判定の前に立体定義データが変更され、変更された立体定義データに基づいて干渉チェックまたは干渉回避の計算が行われる。
【０１５５】
以上のように、工具の選択などによって干渉物の形状を変更する必要がある場合には、上述のように干渉物の形状を変更して引き続き干渉チェックまたは干渉回避を行うことができる。
【０１５６】
（実施の形態４）
図２８はこの発明による数値制御装置の実施の形態４を示している。尚、図２８に於いても、図１に対応する部分は図１に付した符号と同一の符号を付けてその説明を省略する。
【０１５７】
この数値制御装置においては、加工状況に応じて干渉回避の動作を行う優先順位を決定する加工干渉物優先判定手段３２が補間処理部７に追加され、また加工状況に応じて干渉回避を行う優先順位を定義するための優先回避定義テーブル４１が設けられている。さらにメモリ３の立体定義データ２２は干渉物の対象を、例えば工具のように設定するための干渉物対象設定部２２５を含んでいる。
【０１５８】
詳細には、加工干渉物優先判定手段３２は、干渉物の対象であるユニットを移動せしめる加工プログラムの実行ブロックが加工ブロックか否かによって、該ユニットが加工中のユニットであることを判定し、干渉物の対象が加工中のユニットである場合には、優先回避定義テーブル４１に定義された加工モードまたは加工中のユニットの種類による干渉回避時の移動優先度に応じて干渉回避時における移動を優先させる。
【０１５９】
図２９は実施の形態４の数値制御装置が使用されて好適な工作機械（加工干渉物優先移動）を示している。この工作機械はチャック１２０で保持されているワークＷの加工を行う工具１２３、工具１２４と、工具１２３による切断加工が完了したワークＷの端面を工具１２４によって加工するためにワークＷを保持して移動する主軸台１２２とを有している。
【０１６０】
工具１２３がＡ位置よりＢ位置へ、主軸台１２２がＣ位置よりＤ位置へ各々移動すれば、これらはお互いに干渉する。
【０１６１】
そこで、実施の形態１における干渉回避動作に基づき、工具１２３または主軸台１２２のどちらかの移動を一時停止させることによって、これらの干渉を回避させる。
【０１６２】
図３０は優先回避定義テーブル４１の設定例を示している。図３０において、３０７ａは干渉物を移動せしめる加工プログラムの実行中のＧコード番号、３０７ｂは立体定義データ２２に追加された干渉物対象設定２２５の設定番号、３０７ｃは干渉物において３０７ａ、３０７ｂの状態にあるときの干渉回避時の干渉物の移動優先度である。上述の３０７ａと３０７ｂと３０７ｃを一組とし、これがいくつかの組によって優先回避定義テーブル４１が構成されている。
【０１６３】
次に、図３１に示されている加工干渉物優先判定フローについて説明する。加工干渉物優先判定フローは実施の形態１の干渉回避計算フロー（図１６）における優先順位決定ステップにて実行される。
【０１６４】
この加工干渉物優先判定フローでは、まず、加工プログラムの実行中ブロックが加工ブロックであるか否かを判定する（ステップＳ７１）。例えば、図２９の例では、工具１２３を対象とした干渉物については、加工プログラムの実行中ブロックがねじ切りであるため、加工ブロックであると判定される。
【０１６５】
次に、加工ブロックであると判定された場合には、優先回避定義テーブル４１を参照し（ステップＳ７２）、加工干渉物優先判定手段３２によって優先回避定義テーブル４１に定義された実行中の加工指令または干渉物の対象ユニットに応じた移動優先度より干渉回避時の干渉物の移動優先順位を変更する。
【０１６６】
例えば、図３０に示されているように優先回避定義テーブル４１が設定されていた場合には、図２９における工具１２３と主軸台１２２の干渉回避においては、工具１２３がねじ切り加工中の工具で移動優先度は１００、主軸台１２２は直線補間中の主軸台で、優先回避定義テーブル４１には定義されていないために移動優先度は０と判定され、工具１２３の移動優先順位のほうが主軸台１２２の移動優先順位よりも高くなる。
【０１６７】
以上のようにして、図２９の例では、加工中の工具１２３の移動を優先させて干渉を回避するため、ワークＷの破損を回避することができる。
【０１６８】
尚、この実施の形態では、優先回避定義テーブル４１における定義よりねじ切り中の工具を優先的に移動させているが、移動優先度の定義に関して、別の加工指令または別のユニットを優先させてもよい。
【０１６９】
また、この実施の形態４は実施の形態１の干渉回避動作におけるものであるが、この実施の形態４が示す発明の目的は、ワークを破損させることなく干渉回避を行うために、加工の状況に応じて干渉を回避させるユニットの動作を決定することにあり、実施の形態１における干渉回避動作以外の干渉回避において、この発明が実施されても差し支えない。
【０１７０】
（実施の形態５）
図３２はこの発明による数値制御装置の実施の形態５を示している。尚、図３２に於いても、図１に対応する部分は図１に付した符号と同一の符号を付けてその説明を省略する。
【０１７１】
この数値制御装置においては、機械制御信号処理８に立体の形状を示す第１形状指定点または第２形状指定点の座標値を軸の移動に依らず固定とする設定を行う形状指定点固定設定手段９００が、加工プログラムの指令による各軸の移動に拘らず、干渉物を構成する立体の形状を表す形状指定点の座標を固定した場合の立体形状を計算する形状指定点固定立体計算手段９１４が各々追加され、またシーケンス回路９で干渉物を構成する立体の形状指定点の座標値を固定と設定する形状指定点固定設定データ９０１が設けられている。
【０１７２】
詳細には、形状指定点固定立体計算手段９１４は、補間処理部７に形状指定点固定設定手段９００によって設定された立体の形状指定点の座標値を固定にして形状指定点固定設定手段９００で固定と設定されていない形状指定点の座標値を計算することによって干渉物立体の形状計算を行う。
【０１７３】
また立体定義データ２２は、各立体毎に、第１形状指定点または第２形状指定点の座標値を軸移動に依らずに固定とするための移動／固定座標値選択データ２１０を含んでいる。この立体定義データ２２に追加された移動／固定座標値選択データ２１０は干渉物を構成する立体の形状を示す第１形状指定点および第２形状指定点の座標値を、軸移動により更新するか否かの情報を設定するためのものである。
【０１７４】
図３３（ａ）、（ｂ）は実施の形態５の数値制御装置が使用されて好適な工作機械（干渉物定義）を示している。この工作機械は、ワークＷを保持するチャック８０１と、ワークＷを切削する刃物８０２が取り付けられた刃物台８０４とを有している。刃物台８０２はＺ軸方向にのみ移動可能な干渉物とする。
【０１７５】
刃物台８０２は干渉チェックを行うために定義された立体すなわち干渉物立体ａとなる。この干渉物立体ａは第１形状指定点Ｐａと第２形状指定点Ｐｂとで定義されている。また図３３にて、Ｇは実際に機械が可動する範囲、すなわち加工エリアを表している。
【０１７６】
次に、この実施の形態５の動作を図３４、図３５に示されているフローチャートを参照して説明する。図３４は形状指定点固定設定フローであり、この設定フローでは、シーケンス回路９により、形状指定点固定設定データ９０１（図３６参照）の４７４、４７５・・・のように、干渉物を構成する立体の形状指定点の座標値が固定と設定された情報を、形成指定点固定設定手段９００によって読取り、これを立体定義データ２２の形状指定点の移動／固定座標値選択データ２１０に設定する。
【０１７７】
たとえば、図３３（ａ）では第１形状指定点ＰａのＺ軸座標値の移動／固定座標値選択データ２１０に固定座標の設定を行う。
【０１７８】
図３５は固定座標設定の干渉物データ計算フローであり、この計算フローでは、まず原点復帰時の干渉物の初期値Ｚａを設定する。図３３（ａ）の刃物台８０４がＺ軸方向に移動した場合には（ステップＳ２０２肯定）、補間処理部７で干渉物が移動したかを判定した後に形状指定点固定立体計算手段９１４が立体定義データ２２中の移動／固定座標値選択データ２１０の内容を読取り、固定座標が選択されている場合、たとえば、図３３（ａ）の第１形状指定点ＰａのＺ軸座標値が固定座標として選択されているので、Ｚ軸の移動量（Ｚｂ−Ｚａ）を算出する（ステップＳ２０３）。
【０１７９】
次に、形状指定点固定立体計算手段９１４が第２形状指定点ＰｂのＺ軸座標値のみをステップＳ２０３で算出した移動量（Ｚｂ−Ｚａ）だけ更新し、第１形状指定点ＰａのＺ軸座標値は更新しないで干渉物立体のエリアを再計算する。
【０１８０】
その結果、図３３（ｂ）に示されているような干渉物立体ｂが計算される。これにより干渉物が軸移動によって軸移動方向へ伸縮し、余分な領域の干渉判定を行う無駄を省くことができる。
【０１８１】
なお、上述の実施の形態では、刃物台８０４はＺ軸方向のみ移動可能な干渉物として説明したが、他の軸方向に可動な干渉物であっても構わない。
【０１８２】
（実施の形態６）
図３７はこの発明による数値制御装置の実施の形態６を示している。尚、図３７に於いても、図１に対応する部分は図１に付した符号と同一の符号を付けてその説明を省略する。
【０１８３】
この数値制御装置においては、ワークの直径や機械端側ワーク中心の座標値などのワーク関連定義データ９１１が立体定義データ２２に設けられ、このデータを定義するためのワーク関連データ設定手段９１２がパラメータ設定部４に設けられている。
【０１８４】
また、シーケンス回路９からのワーク干渉物形状計算有効信号を検出するためのワーク干渉物形状計算有効信号検出手段９１３が機械制御信号処理部８に、このワーク干渉物形状計算有効信号が有効な場合に立体定義データ２２のワーク関連定義データ９１１を読取ってワーク移動量からワーク干渉物の形状計算を行うワーク干渉物形状計算手段９１５と、ワーク干渉物の初期座標値を定義するためのワーク干渉物初期設定手段９１０とが補間処理部７に各々追加されている。
【０１８５】
図３８（ａ）、（ｂ）は実施の形態６の数値制御装置が使用されて好適な工作機械（ワーク干渉物定義）を示している。ワークＷはＺ軸方向のみ移動可能な干渉物であり、工作機械はワークＷを保持するチャック８１１と、チャック８１１によって保持されたワークＷを切削加工時に回転させる主軸８１０とを有している。
【０１８６】
なお、図３８（ａ）において、ＭＣは機械端側のワーク中心を、ＺａａはワークＷがある位置に位置決めされたときのワーク端面のＺ軸座標値を、Ｚｏは機械端のＺ軸座標値を、ＷｄはワークＷの直径を、Ｇは実際に機械が可動する範囲、すなわち加工エリアを各々示している。図３８（ａ）の場合にはワーク端面のＺ軸座標値Ｚａａと機械のＺ軸座標値Ｚｏとが一致している。
【０１８７】
また図３８（ｂ）において、Ｚｂｂは加工中のワークＷの端面のＺ軸座標値を示しており、加工中のワーク干渉物ｂが存在する。
【０１８８】
次にこの実施の形態６のの動作を図３９〜図４１に示されているフローチャートを参照して説明する。
【０１８９】
図３９はシーケンス回路９側の動作フローであり、この動作フローでは、チャック８１１を開閉するための加工プログラムの指令が加工プログラム解析処理部２ａ、２ｂ・・・で解析され、機械制御信号処理部８を介し、シーケンス回路９に通知されされるこにより、この通知されたデータからシーケンス回路９がチャック閉の動作指令が指令されたか否かを判定する（ステップＳ２１０）。
【０１９０】
チャック閉と判断された場合には、機械制御信号処理部８に対してワーク干渉物形状計算有効信号を出力する（ステップＳ２１１）。これに対しチャック開と判断された場合には、機械制御信号処理部８に対するワーク干渉物形状計算有効信号の出力をオフする（ステップＳ２１２）。
【０１９１】
図４０はワーク干渉物の設定フローであり、表示ユニット６に画面表示された項目に従ってワークＷの直径Ｗｄを設定する（ステップＳ２３０）。設定されたデータ（直径Ｗｄ）はワーク関連データ設定手段９１２によって立体定義データ２２のワーク関連定義データ９１１に書き込まれる。
【０１９２】
次に、ワーク干渉物のワーク中心ＭＣの固定側、すなわち機械端側の座標値を設定する。設定されたデータ（ワーク中心ＭＣの固定側の座標値）はワーク関連データ設定手段９１２によって立体定義データ２２のワーク関連定義データ９１１に書き込まれる。
【０１９３】
次に、ワーク干渉物の形状計算について図４１のフローチャートを使って説明する。このワーク干渉物形状計算フローでは、加工プログラムで指令された座標値セットが加工プログラム解析手段２ａ、２ｂ・・・で解析され、補間処理部７に渡され、ワーク干渉物初期設定手段９１０が加工プログラム解析手段２ａ、２ｂ・・・からの座標値情報をチェック、換言すれば座標初期化であるか否かを判別する（ステップＳ２２０）。
【０１９４】
座標値情報がない場合には、ステップＳ２２３へジャンプするが、座標値情報がある場合には、ワーク干渉物初期値設定手段９１０が初期化情報をもとにワーク干渉物の可動側の座標値の初期化を行い（ステップＳ２２１）、次いでワーク干渉物形状計算手段９１５が固定側、可動側の座標値とワーク直径からワーク干渉物の形状計算を行う（ステップＳ２２２）。
【０１９５】
通常、座標値がセットされた時点では、ワーク干渉物の可動側と固定側の座標値が一致するので、図３８（ａ）に示されているように（ワーク端面のＺ軸座標値Ｚａａ）−（機械のＺ軸座標値Ｚｏ）＝０となり、実質的なワーク干渉物が存在しない。
【０１９６】
次に、ワーク干渉物形状計算有効信号検出手段９１３によってシーケンス回路９からのワーク干渉物形状計算有効信号をチェックし（ステップＳ２２３）、この信号がオンであれば、すなわちチャック８１１が閉状態の場合には、補間処理部７でワーク干渉物の移動（Ｚ軸移動）を判定する（ステップＳ２２４）。
【０１９７】
ワーク干渉物の移動があれば、ワーク干渉物形状計算手段９１５によって移動量を計算する（ステップＳ２２５）。図３８の例では、ワーク端面Ｚｂｂ−ワーク端面Ｚａａが移動量に相当する。
【０１９８】
この計算結果をもとにワーク干渉物形状計算手段９１５によってワーク干渉物形状を再計算を行う（ステップＳ２２６）。
【０１９９】
なお、以降の干渉チェックおよび干渉回避に関する動作については、実施の形態１と同様の動作を行う。
【０２００】
以上により、図３８の主軸８１０がＺ軸方向に移動することによってチャック８１１に保持されているワークＷも一緒に移動し、長手方向（Ｚ軸方向）の切削を行う数値制御工作機械において、ワークＷが加工エリアＧに進入している部分のみを干渉物として計算することができる。
【０２０１】
また、チャック８１１が開状態でワークが保持されていない場合には、主軸８１０が移動してもワーク８１２は移動しないため、加工エリアＧにおけるワーク干渉物の長さは変わらない。このときには干渉物形状を再計算せずに干渉チェックおよび干渉回避を行うことができる。
【０２０２】
（実施の形態７）
図４２はこの発明による数値制御装置の実施の形態７を示している。尚、図４２に於いて、図３７に対応する部分は図３７に付した符号と同一の符号を付けてその説明を省略する。
【０２０３】
この数値制御装置においては、上述の実施の形態６によるものに加えて、メイン主軸に保持されているワークを背面主軸に持ち変えたことを判定するワークつかみ変え判定手段９２０と、ワーク干渉物を干渉物として計算するか否かを選択するワーク干渉物有効／無効切換手段９２１と、図４３に例示されている突切り工具８２７によって切断されたワークＷの長さを計算するワーク長計算手段９２２と、図４３に例示されているメイン主軸８１０と背面主軸８２０の相対距離を計算する相対距離計算手段９２３とが補間処理部７に設けられている。
【０２０４】
また、図４３に例示されているメイン主軸８１０のチャック８１１と背面主軸８２０のチャック８２１の開閉を検出するチャック開閉検出手段９２４が機械制御信号処理部８に追加され、さらにチャック開閉の指令をＣＮＣに認識させるためのチャック開閉用補助指令定義テーブル９２５が設けられている。
【０２０５】
次に、図４３（ａ）、（ｂ）、（ｃ）、（ｄ）に示されている工作機械について説明する。図４３の例では、ワークＷはＺ軸方向にのみ移動可能なものとしている。この工作機械は、ワークＷを保持するチャック８１１と、チャック８１１によって保持されたワークＷを切削加工時に回転させるメイン主軸８１０と、ワークＷを切断する突切り工具８２７と、切断されたワークＷを保持するチャック８２１およびこれを保持する背面主軸８２０とを有している。
【０２０６】
なお、図４３（ａ）において、ＭＣは機械端側のワーク中心を、ＺａａａはワークＷがある位置に位置決めされたときのワーク端面のＺ軸座標値を、Ｚｏは機械端のＺ軸座標値を、Ｇは実際に機械が可動する範囲、すなわち加工エリアを各々示している。また図４３（ｄ）において、Ｚｂｂｂは突切り工具８２７により切断された後にワークＷのメイン主軸側に残った部分の切断面をＺ軸座標値を示している。
【０２０７】
次に、この実施の形態７の動作を図４４、４５に示されているフローチャートを参照して説明する。
【０２０８】
図４４はシーケンス回路（ラダー回路）９のフローチャートを示している。この動作フローでは、シーケンス回路９がチャック開閉を動作させる補助指令を、図４６に例示されているようなチャック開閉用補助指令定義テーブル９２５に補助指令の番号で登録する。
【０２０９】
なお、図４６に示されているチャック開閉用補助指令定義テーブル９２５において、７７０はメイン主軸８１０、背面主軸８２０のチャック開、閉の種別を示すテーブルを、７７１は各々のテーブルに対応する補助指令番号を示している。シーケンス回路９は補助指令番号７７１を対応するテーブルにセットする。これを行うことによってシーケンス回路９で指令するチャック開閉をＣＮＣが認識できるようになる。
【０２１０】
次に、ワークつかみ変えの判定とワーク干渉物の再定義について図４５に示されているフローチャートを参照して説明する。まず、メイン主軸８１０と背面主軸８２０のＸ軸の座標値が一致しているか否かを相対距離計算手段９２３によって計算し、判定する（ステップＳ２５０）。
【０２１１】
多系統対応のＣＮＣは加工プログラムを各々独立して実行することが可能な系統という単位で構成されており、メイン主軸８１０と背面主軸８２０とは、個別の加工プログラムによって各々独立して制御され、各々個別の系統になっている。
【０２１２】
各々の系統は独立した座標系を有し、プログラムを実行するため各々の系統に所属する制御軸は独立した座標系で制御される。そのため、例えば、第１系統のＸ軸と第２系統のＸ軸の位置関係、すなわち相対距離は不明である。そこで、予め各系統の原点の位置関係、すなわち原点相対距離を定義しておくことによってこの問題を解決できる。
【０２１３】
ここで、相対距離計算手段９２３による相対距離計算方法について図４７を参照して説明する。図４７において、Ｍｏ１  はＺ１軸、Ｘ１軸による第１系統機械座標の原点を、Ｍｏ２  はＺ２軸、Ｘ２軸による第２系統機械座標の原点を各々示している。また第１系統の機械位置は（Ｘ１  ，Ｚ１ ）、第２系統の機械位置は（Ｘ２  ，Ｚ２ ）で示されている。
【０２１４】
第１系統機械座標原点Ｍｏ１  と第２系統機械座標原点Ｍｏ２  とは、Ｚ軸方向に原点相対距離Ｚｏｏを、Ｘ軸方向に原点相対距離Ｘｏｏを有しており、これら原点相対距離Ｚｏｏ、Ｘｏｏは予めパラメータとして定義しておく。
【０２１５】
相対距離計算手段９２３は、これらのデータを使って第１系統と第２系統の各々の軸の相対距離、すなわち、図４７では、Ｚ軸の相対距離Ｚ１２とＸ軸の相対距離Ｘ１２を計算する。Ｘ軸の相対距離Ｘ１２は下式により算出される。
【０２１６】
（Ｘ軸の相対距離Ｘ１２）＝（第２系統のＸ軸機械位置Ｘ２）−（第１系統機械座標原点と第２系統機械座標原点のＸ軸原点相対位置Ｘｏｏ）−（第１系統のＸ軸機械位置Ｘ１）  この計算結果をワークつかみ変え判定手段９２０が監視しており、Ｘ軸の相対距離Ｘ１２が０（図４３（ａ）にて背面主軸台の中心がワーク中心に一致している状態）になれば（ステップＳ２５０肯定）、ワークつかみ変え判定手段９２０からの指示によって上述のチャック開閉用補助指令定義テーブル９２５をチャック開閉検出手段９２４が読み出し、加工プログラム１に指令されているチャック開閉の補助指令を、例えば背面主軸チャック閉指令を加工プログラム解析処理部２ａ、２ｂ、・・・で解析し、この解析結果と図４６に示されているようなチャック開閉用補助指令定義テーブル９２５の背面チャック開データを比較することによって、かつ、シーケンス回路９からの補助指令実行完了通知を検出することによって背面主軸台８２０のチャック８２１が開状態であるか否かを判定する（ステップＳ２５１）。
【０２１７】
この判定の結果、背面主軸チャック８２１が開状態であれば、ワークつかみ変え判定手段９２０からの指示によってワーク干渉物有効／無効切換手段９２１がワーク干渉物形状計算手段９１５に対して形状計算を無効にするように指示する（ステップＳ２５２）。
【０２１８】
具体的には、立体定義データ２２にワーク干渉物有効／無効の識別エリアを確保し、このエリアにワーク干渉物有効／無効切換手段９２１が無効のデータを書き込み、またワーク干渉物形状計算手段９１５がこのデータをチェックし、無効と判定した場合には、ワーク干渉物の形状計算を取り止める。ワーク干渉物が無効になれば、背面主軸台８２０がワークＷをつかみにいっても、すなわち、図４３（ｂ）に示されているような状態になっても、干渉アラームになることはない。
【０２１９】
次に、チャック開閉検出手段９２４によって加工プログラムの解析結果から背面主軸台８２０のチャック８２１が閉状態であるか否かを判定する（ステップＳ２５３）。
【０２２０】
閉状態である場合には、図４３（ｃ）に示されているような突切り工具８２７によってワークＷを切断する動作を開始し、これの完了をワークつかみ変え判定手段９２０にって検知する（ステップＳ２５４）。
【０２２１】
具体的には突切りを行う場合には、工具とワークが当たる部分の円周方向の速度を一定にする周速一定制御機能を使う。この機能を使いながら突切り工具８２７をワーク中心に向けて移動させる。
【０２２２】
この場合、ワークつかみ変え判定手段９２０は、突切り工具が選択された周速一定制御の指令中において突切り工具８３７のＸ軸がワーク中心と一致すれば、ワークＷが切断されたと判断する。
【０２２３】
突切り加工が完了すると、ワークつかみ変え判定手段９２０はワーク端面のＺ軸座標値Ｚａａａとワーク切断時のＺ軸座標値、すなわちワーク切断面の座標値Ｚｂｂｂとを読み出し、ワークの長さ（Ｚａａａ−Ｚｂｂｂ）を計算する。また、切断されて残ったワークについても機械端座標Ｚｏからワーク長（Ｚｂｂｂ−Ｚｏ）を計算する（ステップＳ２５５）。
【０２２４】
次に、ワーク干渉物有効／無効切換手段９２１からの指示によってワーク干渉物形状計算手段９１５がワーク長の計算結果と予め登録されているワーク直径値と背面主軸８２０にチャックされている切断されたワークＷのワーク端面Ｚａａａから（Ｚｂｂｂ−Ｚａａａ）の長さの切断されたワークの干渉物形状計算を行い、図４３（ｄ）に示されているようなワーク干渉物ｂを干渉チェックに加える。また、切断されて残ってワークについてもワーク干渉物有効／無効切換手段９２１からの指示によってワーク干渉物形状計算手段９１４がワーク直径値と機械端Ｚｏから（Ｚｂｂｂ−Ｚ０）の長さに干渉物形状計算を行い、図４３（ａ）に示されているメイン主軸側のワーク干渉物ａを図４３（ｄ）に示されているワーク干渉物ｃに変更する（ステップＳ２５６）。
【０２２５】
この後にメイン主軸側のワーク干渉物ｃを有効にする（ステップＳ２５７）。
【０２２６】
このようにして背面主軸８２０に保持されている切断されたワークに対してもワーク干渉物を計算することができる。
【０２２７】
これによりメイン主軸８１０から背面主軸８２０へ持ち変えたワークの干渉チェックまたは干渉回避を行うことができ、このような加工のプロセスにおいてもより確実に工作機械の保護を行うことができるようになる。
【０２２８】
【発明の効果】
以上の説明から理解される如く、この発明による数値制御装置によれば、干渉物をいくつかの立体の組み合わせにより構成されているように定義した立体定義データを使用し、この立体定義データに定義された立体の組み合わせに基づいて干渉判定領域を設定するから、干渉チェックを従来の比して緻密かつ正確に行うことができる。
【０２２９】
次の発明による数値制御装置によれば、干渉物をいくつかの立体の組み合わせにより構成されているように定義した立体定義データを使用し、この立体定義データに定義された立体の組み合わせに基づいて干渉回避判定領域を設定し、干渉回避モードである場合には干渉回避領域に基づいて干渉の有無を判定し、干渉時には干渉回避計算手段によって干渉の回避方法を設定するから、干渉回避を緻密かつ正確に行うことができる。
【０２３０】
次の発明による数値制御装置によれば、干渉物を構成する立体毎の立体定義データをシーケンス回路からの信号によって有効または無効に選択できるため、シーケンス制御による指令によって駆動されるユニットの干渉チェックを行うことができる。
【０２３１】
また、一度干渉チェックを行いながら試運転を行い、干渉しない場合は２回目以降の運転において立体定義データを無効にすることによって干渉チェックを行わないようにすることもできる。
【０２３２】
また、オペレータが都合の良い干渉物となるように、立体定義データを自由に追加または削除することができるので、例えば油圧などによって駆動されるためにＣＮＣがその位置を把握していないユニットの干渉チェックまたは干渉回避も行える効果がある。
【０２３３】
次の発明による数値制御装置によれば、オペレータが干渉物の形状を自由に変更できるので、加工中に形状が変化するユニットの干渉チェックまたは干渉回避を行う場合に、使用するユニットの選択の自由度が向上する効果がある。
【０２３４】
また、立体定義データの変更をシーケンス回路と機械制御信号処理部を介して行うようにしたため、加工プログラムの指令に応じて機械制御信号処理部に立体定義データの変更指令信号を送る加工プログラムを作成して、シーケンス回路において検出した信号の種類によって任意の立体定義データの変更を行うことができる。このため、オペレータの作成する加工プログラムの状態に応じて最適な干渉物の設定を行うことができる。
【０２３５】
また、オペレータが都合の良い干渉物となるように、立体定義データを自由に変更することができるので、この場合も、例えば油圧などによって駆動されるためにＣＮＣがその位置を把握していないユニットの干渉チェックまたは干渉回避も行える効果がある。
【０２３６】
次の発明による数値制御装置によれば、加工プログラムより加工中のユニットであるか否かを判定し、加工中のユニットを優先して移動させることにより、干渉回避のために途中で加工中の工具が停止することによる加工精度の低下またはワークの破損を防ぐと云う効果が得られる。
【０２３７】
また、干渉回避時における移動優先順位を自動で生成するため、オペレータの入力負荷を減らすこともできる。
【０２３８】
次の発明による数値制御装置によれば、干渉物が軸移動によってその軸移動方向へ伸縮するため、余分な領域の干渉判定を行う無駄を省くことができるようになる。
【０２３９】
次の発明による数値制御装置によれば、主軸がＺ軸方向に移動することによって、主軸に取り付けられたチャックによって保持されているワークも連動して移動することにより、ワークの長手方向の切削を行う数値制御装置において、ワークの加工室内に進入している部分のみを干渉物として計算することができる。
【０２４０】
また、チャックの開閉状態によっては、ワークが移動したりしなかったりするが、チャックの開閉状態に応じてワーク干渉物形状計算有効信号を入力することによって、干渉物の形状計算を行うか否かを選択できるようにしたため、チャックの開閉によって移動したりしなかったりするワークの干渉チェックを行うことができるようになる。
【０２４１】
次の発明による数値制御装置によれば、複数の主軸に備える数値制御工作機械において、ワークをメイン主軸において保持して加工を行い、次に背面主軸においても保持し突切り工具によって切断することによって、切断されたワークの背面主軸にて保持されている側の加工を行う場合において、メイン主軸から背面主軸へ持ち変えたワークの干渉チェックまたは干渉回避を行うことができる。このような加工のプロセスにおいても、より確実に工作機械の保護を行うことができる効果がある。
【図面の簡単な説明】
【図１】この発明による数値制御装置の実施の形態１を示すブロック線図である。
【図２】（ａ）〜（ｃ）は立体定義データの設定画面例を示す説明図である。
【図３】この発明による数値制御装置で使用される座標系を示す説明図である。
【図４】基準機械座標基準点相対距離パラメータ設定画面を示す説明図である。
【図５】干渉チェック形状を例示した説明図である。
【図６】干渉判定立体及び干渉判定領域を例示した説明図である。
【図７】干渉判定立体及び干渉回避領域を例示した説明図である。
【図８】干渉判定例を示す説明図である。
【図９】干渉判定／回避領域を例示した説明図である。
【図１０】（ａ）〜（ｄ）は各々干渉回避例を示す説明図である。
【図１１】（ａ）〜（ｄ）は干渉チェックと干渉回避動作の一例を示す説明図である。
【図１２】（ａ）〜（ｄ）は干渉チェックと干渉回避動作の他の例を示す説明図である。
【図１３】実施の形態１における干渉チェック・干渉回避のメインフローを示すフローチャートである。
【図１４】干渉回避領域計算フローを示すフローチャートである。
【図１５】干渉判定フローを示すフローチャートである。
【図１６】干渉回避計算フローを示すフローチャートである。
【図１７】この発明による数値制御装置の実施の形態２を示すブロック線図である。
【図１８】（ａ）は実施の形態２の数値制御装置が使用されて好適な加工システム例を示す側面図、（ｂ）はそれの正面図である。
【図１９】干渉物有効／無効判定のシーケンス回路図である。
【図２０】実施の形態２における干渉チェック・干渉回避のメインフローを示すフローチャートである。
【図２１】立体定義有効／無効切換フローを示すフローチャートである。
【図２２】この発明による数値制御装置の実施の形態３を示すブロック線図である。
【図２３】実施の形態３の数値制御装置が使用されて好適な工作機械の平面図である。
【図２４】立体定義変更のシーケンス回路である。
【図２５】立体定義データ設定テーブルの一例を示す説明図である。
【図２６】立体定義データ入力・設定フローを示すフローチャートである。
【図２７】立体定義変更のシーケンス回路の動作フローを示すフローチャートである。
【図２８】この発明による数値制御装置の実施の形態４を示すブロック線図である。
【図２９】実施の形態４の数値制御装置が使用されて好適な工作機械の平面図である。
【図３０】優先回避定義テーブルの一例を示す説明図である。
【図３１】加工干渉物優先判定フローを示すフローチャートである。
【図３２】この発明による数値制御装置の実施の形態５を示すブロック線図である。
【図３３】（ａ）、（ｂ）は実施の形態５の数値制御装置が使用されて好適な工作機械を示す平面図である。
【図３４】形状指定点固定設定フローを示すフローチャートである。
【図３５】干渉物計算フローを示すフローチャートである。
【図３６】形状指定点固定設定データの一例を示す説明図である。
【図３７】この発明による数値制御装置の実施の形態６を示すブロック線図である。
【図３８】（ａ）、（ｂ）は実施の形態６の数値制御装置が使用されて好適な工作機械を示す平面図である。
【図３９】シーケンス回路の動作フローを示すフローチャートである。
【図４０】シーケンス回路の動作フローを示すフローチャートである。
【図４１】ワーク干渉物の設定フローフローを示すフローチャートである。
【図４２】この発明による数値制御装置の実施の形態７を示すブロック線図である。
【図４３】（ａ）〜（ｄ）は実施の形態７の数値制御装置が使用されて好適な工作機械を示す平面図である。
【図４４】ラダー回路の動作フローを示すフローチャートである。
【図４５】ワークつかみ変え判定とワーク干渉物再定義フローを示すフローチャートである。
【図４６】チャック開閉用補助指令定義テーブルの一例を示す説明図である。
【図４７】各系統の機械位置の相対距離を示す説明図である。
【図４８】従来の数値制御装置の一例を示すブロック線図である。
【図４９】従来の数値制御装置における干渉チェック例を示す説明図である。
【図５０】従来の数値制御装置における干渉チェックフローを示すフローチャートである。
【符号の説明】
１  加工プログラム，２  加工プログラム解析処理部，３  メモリ，４  パラメータ設定部，５  画面表示部，６  表示ユニット，７  補間処理部，８  機械制御信号処理部，  ９  シーケンス回路，１０  軸制御部，１１  軸移動量出力回路，１２  サーボ制御部，  １３  サーボモータ，２１  干渉物定義データ，２２  立体定義データ，２３  干渉物移動方向判定手段，２４ｃ  干渉物移動位置計算手段，２４  干渉判定領域計算手段，２４ｂ  干渉回避領域計算手段，２５  干渉判定手段，２６  干渉回避計算手段，２７  干渉回避モード信号検出手段，  ２８  立体定義有効／無効切換手段，２９  立体定義有効信号検出手段，３９  立体定義変更手段，３９ｂ  立体定義変更信号検出手段，３１  立体定義データ設定手段，４０  立体定義データ設定テーブル，４１  優先回避定義テーブル，３２  加工干渉物優先判定手段，２１ｆ  干渉物対象設定，２１０  移動／固定座標値選択データ，３４  形状指定点固定立体計算手段，９００  形状指定点固定設定手段    ，９０１  形状指定点固定設定データ，９１１  ワーク関連定義データ，９１２  ワーク関連データ設定手段，９１０  ワーク干渉物初期設定手段，９１４  ワーク干渉物形状計算手段，９１３  ワーク干渉物形状計算有効信号検出手段，９２１  ワーク干渉物有効／無効切換手段，９２０  ワークつかみ変え判定手段，９２２  ワーク長計算手段，９２３  相対距離計算手段，９２４  チャック開閉検出手段，９２５  チャック開閉用補助指令定義テーブル
【図１】
0003563191.tif 000002
【図２】
0003563191.tif 000003
【図３】
0003563191.tif 000004
【図４】
0003563191.tif 000005
【図５】
0003563191.tif 000006
【図６】
0003563191.tif 000007
【図７】
0003563191.tif 000008
【図８】
0003563191.tif 000009
【図９】
0003563191.tif 000010
【図１０】
0003563191.tif 000011
【図１１】
0003563191.tif 000012
【図１２】
0003563191.tif 000013
【図１３】
0003563191.tif 000014
【図１４】
0003563191.tif 000015
【図１５】
0003563191.tif 000016
【図１６】
0003563191.tif 000017
【図１７】
0003563191.tif 000018
【図１８】
0003563191.tif 000019
【図１９】
0003563191.tif 000020
【図２０】
0003563191.tif 000021
【図２１】
0003563191.tif 000022
【図２２】
0003563191.tif 000023
【図２３】
0003563191.tif 000024
【図２４】
0003563191.tif 000025
【図２５】
0003563191.tif 000026
【図２６】
0003563191.tif 000027
【図２７】
0003563191.tif 000028
【図２８】
0003563191.tif 000029
【図２９】
0003563191.tif 000030
【図３０】
0003563191.tif 000031
【図３１】
0003563191.tif 000032
【図３２】
0003563191.tif 000033
【図３３】
0003563191.tif 000034
【図３４】
0003563191.tif 000035
【図３５】
0003563191.tif 000036
【図３６】
0003563191.tif 000037
【図３７】
0003563191.tif 000038
【図３８】
0003563191.tif 000039
【図３９】
0003563191.tif 000040
【図４０】
0003563191.tif 000041
【図４１】
0003563191.tif 000042
【図４２】
0003563191.tif 000043
【図４３】
0003563191.tif 000044
【図４４】
0003563191.tif 000045
【図４５】
0003563191.tif 000046
【図４６】
0003563191.tif 000047
【図４７】
0003563191.tif 000048
【図４８】
0003563191.tif 000049
【図４９】
0003563191.tif 000050
【図５０】
0003563191.tif 000051