(57)【要約】      （修正有）【課題】工具がワークに開けた穴に入り込んだ状態から手動または早送りで工具を引き上げる場合に工具と穴形状の干渉チェックを行う機能を備えた数値制御装置を提供すること。【解決手段】切削送りから早送りに切り替わるタイミングで、外部からの入力信号、もしくはシステムで自動的に判断して、指令された工具形状の非干渉領域を自動作成するし、干渉領域の余裕幅に関するデータも定義部３３に格納されている。干渉チェック部３２での工具とワークとの干渉チェックの判断は、補間処理部３１での補間後の指令位置に基づいてなされ、干渉が発生する場合には、動作は停止して、工具と干渉発生を防止する。【選択図】図１
2010231737.tif 000002
【特許請求の範囲】
【請求項１】
ワークに穴加工を施す指令を含む加工プログラムに基づいて加工機の各軸を駆動制御する数値制御装置において、
前記加工機の機械部位の形状及びワーク形状を多面体で定義したデータを記憶する記憶手段と、
前記加工プログラムを解析し動作経路に関するデータを生成する指令解析部と、
前記生成されたデータに基づいてサンプリング周期毎に動作経路上の位置を出力する補間手段と、
前記補間手段によって生成される各軸位置に応じて前記多面体の形状の位置を求める手段と、
前記求められた多面体の形状の位置における前記多面体の形状同士が干渉するかをチェックする干渉チェック手段と、
前記加工プログラムにおいて切削送りから早送りに切り替わる際に、指令された工具形状に対応する多面体の形状を非干渉領域として前記ワーク形状の多面体に自動生成する手段と、
を有することを特徴とする干渉チェック機能を有する数値制御装置。
【請求項２】
切削送りから早送りに切り替わるタイミングで、外部からの入力信号、もしくはシステムで自動的に判断して、指令された工具形状の非干渉領域を自動作成することを特徴とする請求項１記載の干渉チェック機能を有する数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、干渉チェック機能を有する数値制御装置に関する。
【背景技術】
【０００２】
工作機械においてワーク（被加工物）を加工中に工具、テーブル、ワークをクランプする治具、主軸台等、機械の各部位が互いに干渉してはならない。そのため、従来から機械部位同士が干渉しないか干渉チェックが行われている。例えば特許文献１には、機械の衝突を未然に検出する干渉防止機能を有する数値制御装置の技術が開示されている。
【０００３】
工具とワークとは切削時には干渉状態にある。このため、切削時に無条件に工具とワークとを干渉チェックの対象にすると、常に干渉状態になってしまう。このため、切削送りの時に限り工具とワークの干渉チェックを中断する。しかし、穴形状の加工において、穴深さ方向を切削する時は切削送りであるが、工具を引き上げる場合は「早送り」または「手動送り」にする。このため工具を引き上げる場合は干渉チェックが有効となる。工具が加工した穴に入った状態においては工具とワークとは干渉状態にあり、干渉アラームが発生し、この結果、工具の移動がロックされて工具の引き上げができなくなる。工具の移動がロックされて工具の移動ができなくなることを回避する技術として、例えば特許文献２および特許文献３には、加工する穴の位置、径、および深さを定義し、加工と干渉とを区別する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１２８６８６号公報
【特許文献２】特公平４−７１２０２号公報
【特許文献３】特開平７−６４６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
背景技術で説明した特許文献２や特許文献３に開示される加工する穴の位置、径、深さを定義し加工と干渉を区別する技術は、あらかじめ全ての穴形状の位置、径、深さを定義しておく必要がある。そのため、常に定義した全ての形状と干渉が発生しないかの判定を行うことになる。そのため、定義した全ての形状と干渉チェックを行うことにより、複雑な加工を行う場合に干渉を判定する処理時間が非常に長くかかるようになる。
【０００６】
そこで本発明の目的は、工具がワークに開けた穴に入り込んだ状態から手動または早送りで工具を引き上げる場合に工具と穴形状の干渉チェックを行う機能を備えた数値制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本願の請求項１に係る発明は、ワークに穴加工を施す指令を含む加工プログラムに基づいて加工機の各軸を駆動制御する数値制御装置において、前記加工機の機械部位の形状及びワーク形状を多面体で定義したデータを記憶する記憶手段と、前記加工プログラムを解析し動作経路に関するデータを生成する指令解析部と、前記生成されたデータに基づいてサンプリング周期毎に動作経路上の位置を出力する補間手段と、前記補間手段によって生成される各軸位置に応じて前記多面体の形状の位置を求める手段と、前記求められた多面体の形状の位置における前記多面体の形状同士が干渉するかをチェックする干渉チェック手段と、前記加工プログラムにおいて切削送りから早送りに切り替わる際に、指令された工具形状に対応する多面体の形状を非干渉領域として前記ワーク形状の多面体に自動生成する手段と、を有することを特徴とする干渉チェック機能を有する数値制御装置である。
【０００８】
請求項２に係る発明は、切削送りから早送りに切り替わるタイミングで、外部からの入力信号、もしくはシステムで自動的に判断して、指令された工具形状の非干渉領域を自動作成することを特徴とする請求項１記載の干渉チェック機能を有する数値制御装置である。
【発明の効果】
【０００９】
本発明により、工具がワークに開けた穴に入り込んだ状態から手動または早送りで工具を引き上げる場合に工具と穴形状の干渉チェックを行う機能を備えた数値制御装置を提供できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態の数値制御装置における機能ブロック図である。
【図２】工具とワークが干渉状態となる位置に移動したことを説明する図である。
【図３】干渉チェック領域と非干渉チェック領域を説明する図である。
【図４】工具形状が直方体の場合の非干渉チェック領域を説明する図である。
【図５】工具形状が円筒の場合の非干渉チェック領域を説明する図である。
【図６】工具が穴形状方向へ移動する場合のアラームなし判定を説明する図である。
【図７】工具が穴形状に水平な方向へ移動する場合のアラーム発生を説明する図である。
【図８】干渉チェック領域外かつ非干渉チェック領域外の場合のアラーム判定なし判定を説明する図である。
【図９】干渉チェック領域内かつ非干渉チェック領域外の場合のアラーム発生を説明する図である。
【図１０】本発明の一実施形態の数値制御装置の要部ブロック図である。
【図１１】干渉領域を更新する処理のアルゴリズムを示すフローチャートである。
【図１２】干渉チェックの処理のアルゴリズムを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を用いて本発明の実施形態を説明する。  
図１は、本発明の一実施形態の数値制御装置における機能ブロック図である。指令解析部３０は加工プログラムを解析し実行形式に変換し、補間処理部３１は実行形式に変換された加工プログラムの補間処理を行い、干渉チェック部３２、各軸加減速処理部３４ａ〜３４ｅを介して各軸サーボ制御部３５ａ〜３５ｅへ移動指令を出力する。定義部３３には、干渉チェック部３２で干渉がチェックされる工具やワークの形状やワークの機械座標上の位置が定義され記憶されている。非干渉チェック領域の余裕幅Ｄに関するデータも定義部３３に格納されている。干渉チェック部３２における干渉チェックは、干渉チェック領域として生成せれる幾何学的図形の接触、非接触を計算することによって行う。干渉チェックの計算は例えば特許文献１に開示される公知の計算手法を用いることができるので、詳細な説明は省略する。
【００１２】
干渉チェック領域更新部３６は、ワークに設定される干渉チェック領域に工具によって形成される非干渉チェック領域を設定する。干渉チェック領域更新部３６によってワークの干渉チェック領域に工具の非干渉チェック領域が作成されることから、切削送りから早送りに変更するとき、干渉チェック部３２において誤って干渉と判断されることがなくなる。干渉チェック部３２での工具２とワークとの干渉チェックの判断は、補間処理部３１での補間後の指令位置に基づいてなされ、干渉が発生する場合には、補間を停止し、その移動指令は各軸加減速処理部３４ａ〜３４ｅに出力されず、機械の動作は停止して、工具と干渉発生を防止できるものである。
【００１３】
図２は、工具２とワーク４が干渉状態となる位置に移動したことを説明する図である。数値制御装置１０により制御される加工機（図示せず）により加工プログラムの穴加工の切削ブロックを実行すると、図２に示されるように工具２は矢印６の方向に移動しワーク４に開削した穴に嵌まり込んだ状態となる。切削時、工具２はワーク４を切削するので、通常、工具２とワーク４とは干渉状態にある。このため、切削時に無条件に工具２とワーク４とを干渉チェックの対象とすると常に干渉状態となってしまう。このため、工具２がワーク４に穴加工を行う切削送りの時のみ、工具２とワーク４との干渉チェックは中断される。
【００１４】
ワーク４に穴を加工するための工具２の切削送りが終了し、工具２をワーク４に加工した穴から引き抜くとき、穴の深さ方向を切削するときは切削送りであったのが、工具２を引き上げる場合は早送りまたは手動送りにすることから、干渉チェックが有効となる。
【００１５】
本発明においては、ワーク４への穴加工の切削送りが終了し工具２を穴から引き抜く早送りあるいは手動送りの時に、干渉チェックによって工具２とワーク４との干渉アラームを発生しないようにするため、図３に示されるように、ワーク４に加工した穴に基づいて非干渉チェック領域２００をワーク４の干渉チェック領域４００に自動的に作成する。加工する穴の位置が正しいかどうかは、加工プログラムを作成した時点で確認することができる。そのため、穴加工を行う上で問題となるのは、加工後にワークから工具を引き上げる際に、加工した穴形状を破壊することである。
【００１６】
そこで、従来技術のように予め全ての穴形状を定義部３３（図１参照）を定義するのではなく、本発明では、ワークに穴加工を行った後、その穴に対してのみ自動的に非干渉チェック領域２００を作成する。ワーク４に加工する穴の位置、径、および深さに関する情報は、ワーク４を加工する時の機械座標値および加工に使用する工具データを使用することで、穴形状の定義にかかる時間は不用であり、また干渉チェックの処理にかかる時間を短縮することができる。機械座標値は数値制御装置１０（図１０参照）が備える現在位置レジスタに格納されている各軸の現在位置のデータを用いることができ、工具データは穴加工に使用されている工具の径、長さのデータも数値制御装置１０内のメモリに格納されている。また、加工する穴の深さのデータは、加工プログラムに指定されている。図３はワークに加工した穴に対して自動的に作成された非干渉チェック領域２００を示している。非干渉チェック領域２００は干渉チェック領域４００に対して干渉チェックの除外領域として設定される。
【００１７】
図４は工具形状が直方体の場合の非干渉チェック領域８００を説明する図である。工具８は工具長Ｌ、横の長さＭ、縦の長さＮの直方体形状の工具である。非干渉チェック領域８００として設定される領域は実際の工具を構成する多面体を各面の垂直方向に余裕幅Ｄだけ膨張させた領域である。工具形状が直方体の工具８に形成される非干渉チェック領域８００は、Ｍ＋２Ｄ，Ｎ＋２Ｄ，Ｌ＋２Ｄの長さの領域となる。非干渉チェック領域が工具形状に余裕幅Ｄを付加して設定されていることから、工具を早送りで加工した穴から引き抜く際のわずかな位置ずれによって干渉アラームが報知されることがないようにできる。
【００１８】
図５は工具形状が円筒の場合の非干渉チェック領域２００を説明する図である。図４に示す工具形状が直方体の場合と同様に、円柱状の工具２の場合においても同様に、非干渉チェック領域２００は工具形状に余裕幅Ｄを付加して設定される。工具２は半径ｒ、工具長Ｌの工具である。工具２によって形成される非干渉チェック領域２００は、半径、上下方向に余裕幅Ｄだけ大きい。非干渉チェック領域２００は、半径ｒ＋Ｄ、高さＬ＋２Ｄの長さの領域となる。
【００１９】
図６〜図９は、アラームの発生の場合を説明する図である。  
図６は、ワークへの穴加工の切削送りが終了し工具を加工した穴から引き抜く時、工具が穴形状方向へ移動することを示している。上述したように干渉チェック領域４００には非干渉チェック領域２００が形成されていることから、工具２を穴形状方向３００へ移動しても干渉チェック部３２（図１参照）からアラーム発生の判定結果は出力されない。  
図７は、加工した穴形状に水平な方向へ工具を移動させた状態を説明する図である。工具が図示される移動３０２を行うと、工具２は非干渉チェック領域２００から干渉チェック領域４００に侵入することから、工具２とワーク４との干渉が干渉チェック部３２（図１参照）により検出され、干渉チェック部３２からアラーム発生の判定結果が出力される。  
図８は、加工した穴から工具２を引き抜き、非干渉チェック領域２００として形成した領域外へ移動させることを説明する図である。図８において工具２は干渉チェック領域４００の外であり、かつ、非干渉チェック領域２００の外へ移動３０４していることを示している。この場合は、干渉チェック部３２（図１参照）からアラーム発生の判定結果は出力されない。  
図９は、干渉チェック領域４００内でありかつ非干渉チェック領域２００外へ工具２を移動させた状態を説明する図である。工具２は干渉チェック領域４００内に移動することから、干渉チェック部３２（図１参照）により工具２とワーク４との干渉が検出され、アラームが発生される。
【００２０】
上述した工具と干渉チェック領域の判定条件は、表１に纏められる。
【００２１】
【表１】
2010231737.tif 000003
【００２２】
なお表１では、工具が非干渉チェック領域に部分的にも存在する場合には「○」、工具が完全に非干渉チェック領域外に存在する場合には「×」として表される。また、工具が干渉チェック領域に部分的にも存在する場合には「○」、工具が完全に干渉チェック領域外に存在する場合には「×」として表される。
【００２３】
図１０は干渉チェックのアルゴリズムを実行する本発明の一実施形態である数値制御装置の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１はバス２３を介してＲＯＭ，ＲＡＭ，不揮発性ＲＡＭ等で構成されているメモリ１２、ＰＭＣ（プログラマブル・マシン・コントローラ）１３、液晶表示器などで構成される表示器１４、キーボード等の各種指令やデータを入力するための入力機器１５、外部記憶媒体やホストコンピュータに接続されるインタフェース１６、工作機械の各軸を制御する各軸制御回路１７（図では５軸分備えた例を示している）、スピンドル制御回路２０に接続されている。  
ＣＰＵ１１は、メモリ１２のＲＯＭに格納されたシステムプログラムを、バス２３を介して読み出し、該システムプログラムに従って数値制御装置１０の全体を制御する。また、メモリ１２には、本発明に関係した干渉チェックのアルゴリズムを実行する処理のソフトウェアが格納されているとともに、干渉の可能性のある機械各部位の形状が多面体（この実施形態では直方体）の組み合わせとして定義されそのデータが記憶されている。
【００２４】
ＰＭＣ１３は、数値制御装置１０に内蔵されたシーケンスプログラムで制御対象の加工機の補助装置に信号を出力し、又は該補助装置からの信号を入力し制御する。また、数値制御装置で制御される加工機の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２５】
各軸（図１０の例では５軸）の軸制御回路１７は、ＣＰＵ１１から各軸に補間分配された移動指令量を受けて、各軸の指令をサーボアンプ１８に出力する。サーボアンプ１８はこの指令を受けて、工作機械の各軸のサーボモータ１９を駆動する。各軸のサーボモータ１９は位置・速度検出器（図示せず）を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路１７にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１０では、位置・速度のフィードバックに関する構成は記載を省略している。  
また、スピンドル制御回路２０は主軸回転指令を受け、スピンドルアンプ２１にスピンドル速度信号を出力する。スピンドルアンプ２１はスピンドル速度信号を受けて、スピンドルモータ２２を指令された回転速度で回転させる。また、ポジションコーダ（図示せず）で主軸の回転速度を検出しスピンドル制御回路２０にフィードバックし、速度制御を行う。  
上述した数値制御装置１０の構成は、従来の５軸制御の数値制御装置と変わりなく、相違する点は、上述したようにメモリ１２内に干渉チェックのアルゴリズムを実施するソフトウェアと機械各部の形状を定義したデータが格納されている点で相違する。
【００２６】
図１１は、干渉領域を更新する処理のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。  
●［ステップＳＴ１］加工プログラムのブロックを読み込み、解析し、ステップＳＴ２へ移行する。  
●［ステップＳＴ２］プログラムエンドが否か判断し、プログラムエンドの場合には処理を終了し、プログラムエンドでない場合にはステップＳＴ３へ移行する。
●［ステップＳＴ３］ステップＳＴ１で読み込み、解析したブロックは切削ブロックか否か判断し、切削ブロックの場合にはステップＳＴ４へ移行し、切削ブロックでない場合にはステップＳＴ５へ移行する。
●［ステップＳＴ４］干渉チェック領域更新フラグＦＬをオンし、ステップＳＴ１０へ移行する。干渉チェック領域更新フラグＦＬは、切削ブロックから早送りブロックに遷移したことを検出するための用いられるフラグである。なお、干渉チェック領域更新フラグＦＬは初期設定としてオフにされている。  
●［ステップＳＴ５］ステップＳＴ１で読み込み、解析したブロックは早送りブロックか否か判断し、早送りブロックでない場合にはステップＳＴ１０へ移行し、早送りブロックの場合にはステップＳＴ６へ移行する。  
●［ステップＳＴ６］干渉チェック領域更新フラグＦＬはオンか否か判断し、フラグＦＬがオンでない場合にはステップＳＴ１０へ移行し、フラグＦＬがオンの場合にはステップＳＴ７へ移行する。
●［ステップＳＴ７］工具形状、機械座標値、および余裕幅のデータを取得し、ステップＳＴ８へ移行する。
●［ステップＳＴ８］ステップＳＴ７で取得した工具形状、機械座標値、および余裕幅に基づき非干渉チェック領域を干渉チェック領域に生成し干渉チェック領域を更新し、ステップＳＴ９へ移行する。
●［ステップＳＴ９］干渉チェック領域更新フラグＦＬをオフし、ステップＳＴ１０へ移行する。
●［ステップＳＴ１０］ステップＳＴ１で読み込み、解析したブロックの処理を行う。ステップＳＴ１で読み込んだブロックが移動ブロックの場合には補間処理を実行することを意味する。
【００２７】
なお、ステップＳＴ６において干渉チェック領域更新フラグＦＬはオンか否かを判断することで干渉チェック領域の更新を行うか否かの判断を行っているが、干渉チェック領域更新フラグＦＬを用いず、ユーザが機械の操作ボタン等を押下し、ラダー経由で非干渉チェック領域の作成を指令するようにしてもよい。
【００２８】
図１２は、干渉チェックの処理のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。以下、各ステップに従って説明する。このアルゴリズムの処理は、実行中のブロックが早送りブロックである場合に、各制御周期毎に実行される。  
●［ステップＳＰ１］工具は非干渉チェック領域に存在するか否か判断し、存在する場合にはステップＳＰ２へ移行し、存在しない場合にはステップＳＰ３へ移行する。  
●［ステップＳＰ２］工具が干渉チェック領域と干渉したか否か判断し、干渉しない場合にはこの回の処理を終了し、干渉した場合にはステップＳＰ４へ移行する。  
●［ステップＳＰ３］工具が干渉チェック領域と干渉したか否か判断し、干渉しなければこの回の処理を終了し、干渉していればステップＳＰ４へ移行する。  
●［ステップＳＰ４］ブロックの処理を中止（補間処理を中止）し、ステップＳＰ５へ移行する。  
●［ステップＳＰ５］干渉アラームを発生し、この回の処理を終了する。
【符号の説明】
【００２９】
２  工具
２００  非干渉チェック領域
２０２  干渉発生部分
３００，３０２，３０４，３０６  工具移動方向
４  ワーク
４００  干渉チェック領域
６  工具の移動方向
６００  干渉チェック領域
８  直方体の工具
１０  数値制御装置
１１  ＣＰＵ
１２  メモリ
１３  ＰＭＣ
１４  表示器
１５  入力機器
１６  インタフェース
１７  軸制御回路
１８  サーボアンプ
１９  サーボモータ
３０  指令解析部
３１  補間処理部
３２  干渉チェック部
３３  定義部
３４ａ〜３４ｅ  各軸加減速処理部
３５ａ〜３５ｅ  各軸サーボ制御部
３６  干渉チェック領域更新部
【図１】
2010231737.tif 000004
【図２】
2010231737.tif 000005
【図３】
2010231737.tif 000006
【図４】
2010231737.tif 000007
【図５】
2010231737.tif 000008
【図６】
2010231737.tif 000009
【図７】
2010231737.tif 000010
【図８】
2010231737.tif 000011
【図９】
2010231737.tif 000012
【図１０】
2010231737.tif 000013
【図１１】
2010231737.tif 000014
【図１２】
2010231737.tif 000015