(57)【特許請求の範囲】
【請求項１】
工作機械の移動体を移動制御する工作機械数値制御装置において、
前記移動体の位置および形状を示す移動体形状データと、前記移動体に対する干渉物の位置および形状を示す干渉物形状データと、を記憶する形状データ格納手段と、
前記移動体の現在位置と移動制御方向に基づいて、前記移動体の停電時退避方向を決定する退避方向判定手段と、
前記退避方向判定手段が決定した停電時退避方向に前記移動体を移動させたときの前記移動体と前記干渉物との干渉の有無を、前記移動体形状データおよび前記干渉物形状データに基づいて判定する干渉判定手段と、
前記退避方向判定手段が決定した停電時退避方向への前記移動体の退避量を、前記干渉判定手段の判定結果に基づいて求め、当該停電時退避方向と当該退避量とに基づいて停電時退避位置を算出する退避位置算出手段と、
前記工作機械数値制御装置への電力供給が停止したことを検出する停電検出手段と、
を備え、
前記停電検出手段が電力供給停止を検出したときに、前記停電時退避位置に前記移動体を退避させることを特徴とする工作機械数値制御装置。
【請求項２】
請求項１に記載の工作機械数値制御装置において、
前記退避方向判定手段は、
前記移動体の移動制御方向と所定の角度をなす平面上に、前記移動体の位置を始点とする複数の退避ベクトルを求め、各退避ベクトル方向における前記移動体と前記干渉物との相対距離を前記移動体形状データおよび前記干渉物形状データに基づいて算出し、前記相対距離に基づいて複数の前記退避ベクトルから選択した退避ベクトルの方向を停電時退避方向と決定することを特徴とする工作機械数値制御装置。
【請求項３】
請求項１または請求項２に記載の工作機械数値制御装置において、
前記退避方向判定手段は、
前記移動体の移動制御方向と所定の角度をなす平面上に、前記移動体の位置を始点とする複数の退避ベクトルを求め、各退避ベクトルについて、前記移動体の運動エネルギーと前記移動体の位置エネルギーとを加算した移動体エネルギーの退避時の時間変化を求め、当該退避時の時間変化に基づいて複数の前記退避ベクトルから選択した退避ベクトルの方向を停電時退避方向と決定することを特徴とする工作機械数値制御装置。
【請求項４】
請求項１から請求項３のいずれか１項に記載の工作機械数値制御装置において、
前記干渉判定手段は、
前記退避方向判定手段が決定した停電時退避方向に、前記移動体の現在位置からチェック用退避量を加算した位置を干渉チェック位置として算出する干渉チェック位置算出部と、
前記移動体を前記干渉チェック位置に移動させたときの前記移動体と前記干渉物との重なりの有無を、前記移動体形状データと前記干渉物形状データとに基づいてチェックし、重なりがある場合は干渉有と判定し、重なりが無い場合は干渉無と判定する干渉有無確認部と、
を備え、
前記退避位置算出手段は、前記退避方向判定手段にて確定した退避方向と、前記干渉有無確認部が干渉無と判定した前記チェック用退避量から退避位置を決定することを特徴とする工作機械数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の移動体を軸移動制御する数値制御装置において、停電発生時の移動体と干渉物との機械衝突を回避する数値制御装置に関する。
【背景技術】
【０００２】
周知の数値制御装置では、加工プログラムによる軸移動指令が行われた場合、移動方向に応じて軸制御周期ごとに関数発生を行い、工作機械の移動体を軸移動制御している。このような従来技術のブロック図を図５に示す。
【０００３】
図５において、はじめに加工プログラムがプログラム入力手段１より入力されプログラム解釈手段２に送出される。プログラム解釈手段２では、送り方向のデータを生成し指令として関数発生手段３に送出する。
【０００４】
関数発生手段３は、指令を受け取ると、工作機械の移動体を軸移動制御するため、軸制御周期毎に関数発生位置の算出を開始し目標位置へ減速停止するように関数発生を行う。なお、関数発生位置を算出する際、予め、送り速度データ格納手段（図示しない）により制御軸毎・制御周期毎の加減速単位量として設定・格納された送り速度データを参照して、所定の加速度、速度で移動体が軸移動するように関数発生位置を算出する。算出した関数発生位置は軸制御周期ごとにサーボドライブユニット５に送出される。
【０００５】
ＤＣ電源ユニット４の交流電源側には、例えば三相交流電源が入力電源として接続されており、一方、直流側電源端子部には平滑コンデンサ（図示しない）が接続内蔵されている。直流側電源端子には、サーボドライブユニット５が接続されている。なお、機械構成によっては、複数台のサーボドライブユニット５が前記ＤＣ電源ユニット４の直流側電源端子に接続されてもよい。
【０００６】
サーボドライブユニット５では、ＤＣ電源ユニット４よりＤＣ電源の供給を受け、関数発生手段３より受領した関数発生位置を基に工作機械の移動体を駆動すべくサーボモータ６に電流を供給する。なお、減速時には、減速によって生ずる回生エネルギーがサーボドライブユニット５とＤＣ電源ユニット４を介して交流電源に帰還される。
【０００７】
【特許文献１】特開平８−２２７３０７号公報
【特許文献２】特開２００２−１８２７１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
実際の加工状態を図６にて説明する。本図はマシニングセンタによる加工状態を示したものであり、工具Ｔが回転しながら素材ＷをＺマイナス方向に切り込み指令ベクトルＶｃ（ｔ）方向に移動することにより加工している。このような加工中に停電が発生すると、ＤＣ電源ユニットへの三相交流電源の供給が遮断されるため、サーボドライブユニット５へのＤＣ電源を生成することができなくなり、サーボドライブユニット５からサーボモータ６への電流供給が断たれる。その結果、工具Ｔを回転駆動しているスピンドルモータおよび送り軸を駆動しているサーボモータ６は、サーボドライブユニット５から電力が遮断されるため減速停止する。
【０００９】
一方、加工中に停電が発生し数値制御装置への電源が遮断されるため、関数発生の途中で関数発生が行われなくなる。そのため、例えば、Ｘ軸とＹ軸の同期を取りながら切削していた場合、関数発生停止によりＸ軸とＹ軸の同期がなくなり、各軸単独で前述したように減速停止する。具体的には、回転する工具Ｔが素材Ｗに食い込んだ状態で減速停止し、工作物が反故になると同時に工具が折損するという問題がある。
【００１０】
前述した停電時の問題を解消する方法として、従来技術においては、機械が重力により下降する軸（例えば、図６におけるＺ軸マイナス方向）と反対方向（図６におけるＺプラス方向）に固定値の退避量で退避する方法がある。この退避方法では、退避方向と退避量が画一であるため、退避方向に干渉物がある場合には移動体と干渉するという新たな問題がある。また、特開平８−２２７３０７号公報によれば、工具をワークとの干渉位置から遠ざける方向に退避させる方法がある。この退避方法では、退避方向が画一であるため、退避方向に干渉物がある場合には移動体と干渉するという問題が依然存在する。
【００１１】
一方、前述した方法を解消するために予め加工プログラムに退避方向と退避量を指定し、停電時に前述加工プログラムで指定した退避方向へ指定された退避量で退避する方法もある。この退避方法では、退避方向と退避量を加工プログラム中に指定するため、加工プログラムが複雑になるとともに加工プログラム作成作業が煩雑となるという新たな問題がある。また、加工対象機械を縦型マシニングセンタから横型マシニングセンタに変更する時や、機上にてミラーリング処理による座標変換を行うとプログラムの変更が必要となるという問題もある。
【００１２】
本発明はこのような事情により成されたものであり、本発明の目的は停電発生時において、工作物と工具等の移動体との衝突を安全、かつ確実に、精度よく回避できるように、きめ細かく軸移動制御を行う事を可能とした数値制御装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明は、工作機械の移動体を移動制御する工作機械数値制御装置において、前記移動体の位置および形状を示す移動体形状データと、前記移動体に対する干渉物の位置および形状を示す干渉物形状データと、を記憶する形状データ格納手段と、前記移動体の現在位置と移動制御方向に基づいて、前記移動体の停電時退避方向を決定する退避方向判定手段と、前記退避方向判定手段が決定した停電時退避方向に前記移動体を移動させたときの前記移動体と前記干渉物との干渉の有無を、前記移動体形状データおよび前記干渉物形状データに基づいて判定する干渉判定手段と、前記退避方向判定手段が決定した停電時退避方向への前記移動体の退避量を、前記干渉判定手段の判定結果に基づいて求め、当該停電時退避方向と当該退避量とに基づいて停電時退避位置を算出する退避位置算出手段と、前記工作機械数値制御装置への電力供給が停止したことを検出する停電検出手段と、を備え、前記停電検出手段が電力供給停止を検出したときに、前記停電時退避位置に前記移動体を退避させることを特徴とする。
【００１４】
また、本発明に係る工作機械数値制御装置においては、前記退避方向判定手段は、前記移動体の移動制御方向と所定の角度をなす平面上に、前記移動体の位置を始点とする複数の退避ベクトルを求め、各退避ベクトル方向における前記移動体と前記干渉物との相対距離を前記移動体形状データおよび前記干渉物形状データに基づいて算出し、前記相対距離に基づいて複数の前記退避ベクトルから選択した退避ベクトルの方向を停電時退避方向と決定することが好適である。
【００１５】
また、本発明に係る工作機械数値制御装置においては、前記退避方向判定手段は、前記移動体の移動制御方向と所定の角度をなす平面上に、前記移動体の位置を始点とする複数の退避ベクトルを求め、各退避ベクトルについて、前記移動体の運動エネルギーと前記移動体の位置エネルギーとを加算した移動体エネルギーの退避時の時間変化を求め、当該退避時の時間変化に基づいて複数の前記退避ベクトルから選択した退避ベクトルの方向を停電時退避方向と決定することが好適である。
【００１６】
また、本発明に係る工作機械数値制御装置においては、前記干渉判定手段は、前記退避方向判定手段が決定した停電時退避方向に、前記移動体の現在位置からチェック用退避量を加算した位置を干渉チェック位置として算出する干渉チェック位置算出部と、前記移動体を前記干渉チェック位置に移動させたときの前記移動体と前記干渉物との重なりの有無を、前記移動体形状データと前記干渉物形状データとに基づいてチェックし、重なりがある場合は干渉有と判定し、重なりが無い場合は干渉無と判定する干渉有無確認部と、を備え、前記退避位置算出手段は、前記退避方向判定手段にて確定した退避方向と、前記干渉有無確認部が干渉無と判定した前記チェック用退避量から退避位置を決定することが好適である。
【発明の効果】
【００１７】
本発明によれば、停電時にも干渉物との衝突を安全、かつ確実に、精度よく移動体と干渉物を回避する数値制御装置が提供できる。
【発明を実施するための最良の形態】
【００１８】
図１は、停電発生時の衝突回避機能を有する、本発明の実施形態に係る数値制御装置の構成の一例を示すブロック図であり、１，２，４，５，６については図５と同一機能であり、説明を省略する。形状データ格納手段７には、工具などの工作機械の移動体の位置および形状を示す形状データの他、工作機械の移動体の軸移動に伴い干渉が発生しうる素材、治具、機械干渉物などの位置および形状を示す形状データが登録・格納されている。なお、これらの内、軸移動で移動する移動体とこの移動で干渉する可能性がある干渉物とが何であるかは、工作機械の構成により異なり、以降の実施例説明で限定されるものでは無い。
【００１９】
退避方向判定手段８は、形状データ格納手段７より受け取った形状データを用いて退避方向を確定すべく、プログラム解釈手段２から指令を受け取った送り軸の移動方向に対する垂直平面上の退避ベクトルと干渉物との交点のうち現在位置との相対距離が最大となるベクトルを逐次算出する。各ベクトルの方向における干渉物との干渉距離を求め、最も距離の大きなベクトルを最終的に退避方向とする。
【００２０】
干渉チェック位置算出手段９は、移動体の形状データと干渉物の形状データとを用いた干渉の有無を確認できるように、確定した退避方向に従って移動体の現在位置から、所望の退避量分だけ移動した位置を干渉チェック位置として逐次算出する。
【００２１】
干渉有無確認手段１０は、移動体をこの干渉チェック位置に逐次仮想的に移動させた場合の、干渉物との例えば三次元空間上の重なりの有無を、移動体の形状データと干渉物の形状データとに基づいてチェックし、重なりがある場合は干渉有と確認し、重なりが無い場合は干渉無と確認する。干渉有と判定された場合は、干渉チェック位置算出手段９にて干渉チェック位置を再度算出する。
【００２２】
退避位置算出手段１１は、前述した退避方向判定手段８にて確定した退避方向と、前述した干渉有無確認手段１０にて干渉無と確認された退避量から退避位置を算出する。算出された退避位置を関数発生手段３に送出する。
【００２３】
停電検出手段１２は、ＤＣ電源ユニット４の交流電源側、例えば三相交流電源の停電を監視しており、交流電源の停電を検出した場合、前記停電検出手段１２はＤＣ電源ユニット４へ停電検出信号を送出し、前記ＤＣ電源ユニット４は電源回生を停止させ蓄積された電力を送り軸の駆動用に使用できるようにしておく。
【００２４】
同時に、前述停電検出手段１２は関数発生手段３にも停電検出信号を送出する。停電検出信号を受領した関数発生手段３は、退避位置算出手段１１より送出された退避位置から関数発生を行いサーボドライブユニット５へ関数発生結果を送出する。
【００２５】
サーボドライブユニット５は送出された関数発生に基づき所望の電流指令をサーボモータ６に送出し、前記サーボモータ６は電流指令に従い工作機械の移動体を退避させる。
【００２６】
次に図３を用いて退避方向および、退避量の確定方法について説明する。本図は、マシニングセンタによる加工状態を示したものであり、工具Ｔが回転しながら素材ＷをＺマイナス方向に切り込み指令ベクトルＶｃ（ｔ）方向に加工している。現在位置Ｐ（ｔ）を通り指令ベクトルＶｃ（ｔ）に垂直な垂直平面（図３においては、ＸＺ平面）を想定する。前述した垂直平面上に現在位置Ｐ（ｔ）を始点とする退避ベクトルＶＡｎ（ｔ）を定義する。例えば、退避ベクトルＶＡｎ（ｔ）において、ｎ＝８とする８方向のベクトルを想定する。結果、現在位置Ｐ（ｔ）を中心とする円を２π／８［ｒａｄ］等分するベクトルＶＡ０（ｔ）、ＶＡ１（ｔ）、ＶＡ２（ｔ）、ＶＡ３（ｔ）、ＶＡ４（ｔ）、ＶＡ５（ｔ）、ＶＡ６（ｔ）、ＶＡ７（ｔ）が定義される。なお、退避ベクトルＶＡｎ（ｔ）については、必ずしもｎ＝８とする必要はない。ｎは１以上の任意の整数である。
【００２７】
はじめに、退避方向の確定について説明する。工具Ｔと素材Ｗの形状データを用いて退避方向を確定すべく、プログラム解釈手段２より受け取った送り軸の方向つまり指令ベクトルＶｃ（ｔ）に対する垂直平面（図３においては、ＸＺ平面）上の退避ベクトルＶＡｎ（ｔ）と工具Ｔに対する干渉物である素材Ｗおよび、他の干渉物（例えば、段取りなど）との干渉距離を求め、現在位置Ｐ（ｔ）との相対距離が最大となるベクトルを逐次算出する。なお、工具Ｔと干渉物との交点の算出には、工具Ｔおよび干渉物等の形状データを用いる。図３の場合、ＸＺ平面において工具Ｔと素材Ｗとの関係は、線分Ｐ１（ｔ）Ｐ２（ｔ）Ｐ６（ｔ）において接触つまり相対距離０となっているため、退避ベクトルＶＡ１（ｔ）からＶＡ６（ｔ）方向へ工具Ｔを移動させた場合は、干渉と判断される。したがって、退避方向はＶＡ０（ｔ）あるいは、ＶＡ７（ｔ）となり、前記退避ベクトルＶＡ０（ｔ）、ＶＡ７（ｔ）のうち各ベクトル方向における他の干渉物（例えば、段取りなど）との干渉距離を求め、相対距離が最大となるベクトルを最終的に退避方向と確定する。ところで、ドリル加工のように指令ベクトルＶｃ（ｔ）の垂直平面上に定義される複数の退避ベクトル全てが工具Ｔと素材Ｗと接触つまり相対距離０で干渉と判断される場合は、前述した方法では退避方向が確定しない。この場合は、指令方向Ｖｃ（ｔ）に対して平行な平面上に退避ベクトルを生成することにより、退避方向を確定することができる。また、退避ベクトルを生成する平面の方向は、退避方向が確定できるよう、工具Ｔと素材Ｗとの接触状況に応じて定めることとしてもよい。
【００２８】
更に、前述した複数の退避ベクトルから最終的な退避方向を確定させる他の手段としては、軸移動の際にサーボモータ６の消費電力が少ない方向に退避させることも出来る。具体的には、次の（数１）に従い、今回ｔｋ時に各退避ベクトルを指令した場合と１回前（ｔｋ−１）時の指令ベクトルとのエネルギー差分（運動エネルギー＋位置エネルギー）を求める。そして、エネルギー時間変化量ΔＥが最小となるベクトルを最終的な退避ベクトルと確定させる。
（数１）ΔＥ＝｛１／２×Ｖｎ（ｔｋ）＾２−１／２×Ｖ＾２｝＋｛Ｐ（ｔｋ）−Ｐ（ｔｋ−１）｝×Ｇ
ここで、Ｖｎ（ｔ）は指令ベクトルを、Ｖは現在速度を、Ｐ（ｔ）は位置を、Ｇは重力ベクトルを示す。なお、工具Ｔの現在位置Ｐ（ｔ）と干渉物との相対距離に基づいて退避方向を確定する先述の手段と、エネルギー時間変化量に基づいて退避方向を確定する手段とを組み合わせる場合、現在位置Ｐ（ｔ）と干渉物との相対距離が所定の閾値を超える退避ベクトルを選択し、選択した退避ベクトルから、エネルギー時間変化量ΔＥが最小となるベクトルを最終的な退避ベクトルとして選択することが好適である。
【００２９】
次に、退避量の確定方法について説明する。現在位置Ｐ（ｔ）から、前述のごとく確定した退避ベクトル方向に所望の退避量分だけ移動させた位置を干渉チェック位置とする。そして、工具Ｔを伴う移動体（移動体全体については図示しない）を前述した干渉チェック位置に仮想的に移動させた場合の、工具Ｔを伴う移動体と干渉物（例えば、段取りなど）との例えば三次元空間上の重なりをチェックする。このチェックは、工具Ｔを伴う移動体の形状データと干渉物の形状データとに基づいて行う。干渉チェック位置に移動させた移動体と干渉物との重なりが存在しない場合は、干渉無と確認でき退避量が確定する。一方、干渉チェック位置に移動させた移動体と干渉物との重なりが存在する場合は、現在位置Ｐ（ｔ）から、前述のごとく確定した退避ベクトル方向に、先に用いた退避量とは異なる退避量分だけ移動させた位置を新たな干渉チェック位置とする。そして、新たな干渉チェック位置に基づいて工具Ｔを伴う移動体と干渉物との重なりをチェックする。
【００３０】
ところで、ドア開状態では、加工領域に操作員の体の一部が入っている可能性があるので、ドア開時は制限をつけた退避量で退避することにより、移動体と操作員の体の一部が接触すること、あるいは、機械稼動部と操作員の体の一部が挟まれることを防ぐことに有効である。以上より、退避方向と退避量が確立する。関数発生手段３では、停電検出手段１２からの停電検出信号を受領したならば、退避方向と退避量から算出される軸移動停止位置にしたがい関数発生を行い素材Ｗから工具Ｔを退避させる。工具Ｔの退避には、ＤＣ電源ユニット４の平滑コンデンサに蓄えられた電気エネルギーを用いることができる。
【００３１】
別の加工状態の一例として、図４を用いて退避方向および、退避量の確定方法について説明する。本図は、旋盤による加工状態を示した断面図であり、素材Ｗが回転しながら素材Ｗの内径に工具Ｔを挿入し、工具ＴをＸプラス方向に切り込み指令ベクトルＶｃ（ｔ）方向に加工している。現在位置をＰ（ｔ）とすると、現在位置を通り指令ベクトルＶｃ（ｔ）に垂直な垂直平面（図４においては、ＸＹ平面）を想定する。前述した垂直平面上に現在位置Ｐ（ｔ）を始点とする退避ベクトルＶＡｎ（ｔ）を定義する。例えば、退避ベクトルＶＡｎ（ｔ）において、ｎ＝８とする８方向のベクトルを想定する。結果、現在位置Ｐ（ｔ）を中心とする円を２π／８［ｒａｄ］等分するベクトルＶＡ０（ｔ）、ＶＡ１（ｔ）、ＶＡ２（ｔ）、ＶＡ３（ｔ）、ＶＡ４（ｔ）、ＶＡ５（ｔ）、ＶＡ６（ｔ）、ＶＡ７（ｔ）が定義される。なお、退避ベクトルＶＡｎ（ｔ）については、必ずしもｎ＝８とする必要はない。ｎは１以上の任意の整数である。
【００３２】
はじめに、退避方向の確定について説明する。工具Ｔと素材Ｗの形状データを用いて退避方向を確定すべく、プログラム解釈手段２より受け取った送り軸の方向つまり指令ベクトルＶｃ（ｔ）に対する垂直平面（図４においては、ＸＹ平面）上の退避ベクトルＶＡｎ（ｔ）と工具Ｔに対する干渉物である素材Ｗとの交点のうち現在位置Ｐ（ｔ）との相対距離が最大となるベクトルを逐次算出する。なお、工具Ｔと干渉物との交点の算出には、工具Ｔおよび干渉物等の形状データを用いる。図４の場合、現在位置Ｐ（ｔ）を中心とした工具Ｔと素材Ｗとの関係は、点Ｐ（ｔ）において接触つまり相対距離０となっているため、退避ベクトルＶＡ０（ｔ）、ＶＡ１（ｔ）、ＶＡ２（ｔ）、ＶＡ６（ｔ）、ＶＡ７（ｔ）方向への移動は干渉と判断される。したがって、退避方向はＶＡ３（ｔ）、ＶＡ４（ｔ）、ＶＡ５（ｔ）となり、前記退避ベクトルＶＡ３（ｔ）、ＶＡ４（ｔ）、ＶＡ５（ｔ）のうち各ベクトル方向における他の干渉物（図４の場合、素材Ｗ）との干渉距離を求めると、前記退避ベクトルＶＡ３（ｔ）、ＶＡ４（ｔ）、ＶＡ５（ｔ）と素材Ｗとの干渉距離は、それぞれ線分Ｐ（ｔ）Ｐ３（ｔ）、線分Ｐ（ｔ）Ｐ４（ｔ）、線分Ｐ（ｔ）Ｐ５（ｔ）となり、最も距離の大きなベクトルであるベクトルＶＡ４（ｔ）を最終的に退避方向と確定する。ところで、指令ベクトルＶｃ（ｔ）の垂直平面上に定義される複数の退避ベクトル全てが工具Ｔと素材Ｗと接触つまり相対距離０で干渉と判断される場合は、退避方向を確定することができない。この場合は、指令方向Ｖｃ（ｔ）に対して平行な平面上に退避ベクトルを生成することにより、退避方向を確定することができる。また、退避ベクトルを生成する平面の方向は、退避方向が確定できるよう、工具Ｔと素材Ｗとの接触状況に応じて定めることとしてもよい。
【００３３】
次に、退避量の確定方法について説明する。現在位置Ｐ（ｔ）から、前述のごとく確定した退避ベクトルＶＡ４（ｔ）の方向に所望の退避量分だけ移動させた位置を干渉チェック位置とする。そして、工具Ｔを伴う移動体（移動体全体については図示しない）を前述した干渉チェック位置に仮想的に移動させた場合の、工具Ｔを伴う移動体と干渉物（図４の場合、素材Ｗおよび素材Ｗの外側に存在する干渉物）との例えば三次元空間上の重なりをチェックする。このチェックは、工具Ｔを伴う移動体の形状データおよび干渉物の形状データに基づいて行う。干渉チェック位置に移動させた移動体と干渉物との重なりが存在しない場合は、干渉無と確認でき退避量が確定する。一方、干渉チェック位置に移動させた移動体と干渉物との重なりが存在する場合は、現在位置Ｐ（ｔ）から、前述のごとく確定した退避ベクトル方向に、先に用いた退避量とは異なる退避量分だけ移動させた位置を新たな干渉チェック位置とする。そして、新たな干渉チェック位置に基づいて工具Ｔを伴う移動体と干渉物との重なりをチェックする。
【００３４】
以上より、退避方向と退避量が確立する。関数発生手段３では、停電検出手段１２からの停電検出信号を受領したならば、退避方向と退避量から算出される軸移動停止位置にしたがい関数発生を行い素材Ｗから工具Ｔを退避させる。工具Ｔの退避には、ＤＣ電源ユニット４の平滑コンデンサに蓄えられた電気エネルギーを用いることができる。
【００３５】
次に図２を用いて本発明の実施形態に係る処理フローを説明する。ステップＳ１では、工具Ｔと素材Ｗの形状データを用いて退避方向を確定すべく、プログラム解釈手段２より受け取った送り軸の方向つまり指令ベクトルＶｃ（ｔ）に対する垂直平面上の退避ベクトルＶＡｎ（ｔ）と干渉物である素材Ｗとの交点のうち現在位置Ｐｃとの相対距離が最大となるベクトルを逐次算出する。各ベクトルの方向における干渉物との干渉距離を求め、最も距離の大きなベクトルを最終的に退避方向を確定する。ステップＳ２では、現在位置Ｐ（ｔ）から、前述のごとく確定した退避ベクトル方向に所望の退避量分だけ移動させた位置を干渉チェック位置とする。ステップＳ３では、工具Ｔを伴う移動体の形状データを前述した干渉チェック位置に仮想的に移動させた場合の、工具Ｔを伴う移動体と干渉物との例えば三次元空間上の重なりをチェックする。このチェックは、形状データ格納手段７より入手した移動体の形状データおよび干渉物の形状データに基づいて行う。干渉チェック位置に移動させた移動体と干渉物との重なりが存在しない場合は、干渉無と確認でき退避量が確定する。干渉有と確認できた場合は、ステップＳ２に進み、先と異なる干渉チェック位置を算出する。一方、干渉無と確認できた場合は、ステップＳ４に進む。ステップＳ４では、前述したステップＳ３の結果より、現在位置Ｐ（ｔ）に確定した退避量を考慮した退避位置を算出する。退避位置算出手段１１は、算出された退避位置を関数発生手段３に送出する。ステップＳ５では、停電検出手段１２が停電を検出していない場合、つまり、正常時はステップＳ１に進む。一方、前記停電検出手段１２が停電を検出した場合は、ステップＳ６に進む。ステップＳ６では、停電検出手段１２より送出された停電検出信号により、ＤＣ電源側から交流電源側への電源回生を遮断し、ＤＣ電源ユニット４のＤＣバスラインに電力を蓄積させる。ステップＳ７では、ＤＣ電源ユニット４に蓄積された電力を使用し、サーボドライブユニット５がサーボモータ６へ電力を供給し、移動体を退避させる。
【００３６】
本発明の実施形態に係る数値制御装置によれば、常時、形状データを使用した干渉チェックを行い、この干渉チェックの結果に従って、移動体が干渉しない方向に退避するよう関数発生を行うことができるため、停電時にも干渉物との衝突を安全、かつ確実に、精度よく移動体と干渉物を回避することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施形態に係る数値制御装置の一実施例を示すブロック図である。
【図２】本発明の実施形態に係る制御方式の一例を示すフローチャートである。
【図３】本発明の実施形態に係るマシニングセンタでの具体的な動作を説明する図である。
【図４】本発明の実施形態に係る旋盤での具体的な動作を説明する図である。
【図５】従来制御装置のブロック図である。
【図６】マシニングセンタでの具体的な動作を説明する図である。
【符号の説明】
【００３８】
１  プログラム入力手段、２  プログラム解釈手段、３  関数発生手段、４  ＤＣ電源ユニット、５  サーボドライブユニット、６  サーボモータ、７  形状データ格納手段、８  退避方向判定手段、９  干渉チェック位置算出手段、１０  干渉有無確認手段、１１  退避位置算出手段、１２  停電検出手段。
【図１】
0004838782.tif 000002
【図２】
0004838782.tif 000003
【図３】
0004838782.tif 000004
【図４】
0004838782.tif 000005
【図５】
0004838782.tif 000006
【図６】
0004838782.tif 000007