(57)【特許請求の範囲】
【請求項１】
少なくともＮＣプログラム、素材形状データ及び工具形状データから成る加工情報に基づいてＮＣ加工の加工シミュレーションを行なう装置において、
前記加工情報を基に加工シミュレーションしながら、断続切削による強制振動の周波数及び／又は負荷変動の周波数を算出して、算出した周波数もしくはこれらの周波数の整数倍の高調波周波数が機械、工具、治具、あるいは工作物の固有振動数を含む一定範囲内にあるか否かを確認し、一定範囲内にある場合には、前記一定範囲から外れるように、前記ＮＣプログラムで指令された主軸回転速度を変更する加工シミュレーション手段を備えていることを特徴とするＮＣ加工における加工シミュレーション装置。
【請求項２】
前記加工シミュレーション手段は、前記ＮＣプログラムで指令された主軸回転速度と前記工具形状データの工具刃数とを基に前記強制振動の周波数を算出することを特徴とする請求項１に記載のＮＣ加工における加工シミュレーション装置。
【請求項３】
前記加工シミュレーション手段は、前記負荷変動の周波数を算出するに当たり、素材が工具により削り取られる削り取り量を切削量として算出し、算出した切削量と、前記ＮＣプログラムで指令された主軸回転速度と、前記工具形状データとを基に前記負荷変動の周波数を算出するように構成されていることを特徴とする請求項１に記載のＮＣ加工における加工シミュレーション装置。
【請求項４】
前記加工シミュレーションに先立って前記素材形状データを３次元格子点に区画した加工シミュレーション形状データに変換する素材形状データ生成手段と、
前記加工シミュレーション形状データを記憶するシミュレーション形状記憶手段とを更に備えてなり、
前記加工シミュレーション手段は、
前記ＮＣプログラムと、前記工具形状データと、前記シミュレーション形状記憶手段に格納された加工シミュレーション形状データとを基に、前記格子点上の素材領域を工具が通過する場合に素材が工具によって削り取られる削り取り量を切削量として算出するとともに前記工具が通過する格子点の素材有無の情報を削り取りにあわせて更新し、前記算出した切削量と、前記ＮＣプログラムで指令された主軸回転速度と、前記工具形状データとを基に前記負荷変動の周波数を算出するように構成されていることを特徴とする請求項３に記載のＮＣ加工における加工シミュレーション装置。
【請求項５】
前記加工シミュレーションに先立って前記素材形状データの素材底面を格子点で区画し素材高さを前記格子点の垂直方向高さデータとした加工シミュレーション形状データに変換する素材形状データ生成手段と、
前記加工シミュレーション形状データを記憶するシミュレーション形状記憶手段とを更に備えてなり、
前記加工シミュレーション手段は、
前記ＮＣプログラムと、前記工具形状データと、前記シミュレーション形状記憶手段に格納された加工シミュレーション形状データとを基に、前記格子点上の素材領域を工具が通過する場合に素材が工具によって削り取られる削り取り量を切削量として算出するとともに前記工具が通過する格子点の前記垂直方向高さデータを削り取りにあわせて更新し、前記算出した切削量と、前記ＮＣプログラムで指令された主軸回転速度と、前記工具形状データとを基に前記負荷変動の周波数を算出するように構成されていることを特徴とする請求項３に記載のＮＣ加工における加工シミュレーション装置。
【請求項６】
前記垂直方向高さデータは、素材が存在する領域の高さデータ、あるいは、素材が存在する領域の高さデータと存在しない領域の高さデータとの組み合わせから構成されることを特徴とする請求項５に記載のＮＣ加工における加工シミュレーション装置。
【請求項７】
前記加工シミュレーション手段によって、前記ＮＣプログラムで指令された主軸回転速度が変更されると、前記ＮＣプログラムを変更して、該ＮＣプログラムで指令される主軸回転速度を前記変更した主軸回転速度とするＮＣプログラム作成手段を更に備えていることを特徴とする請求項１乃至６のいずれかに記載のＮＣ加工における加工シミュレーション装置。
【請求項８】
少なくともＮＣプログラム、素材形状データ及び工具形状データから成る加工情報に基づいてＮＣ加工の加工シミュレーションを行なう方法において、
前記加工情報を基に加工シミュレーションしながら、断続切削による強制振動の周波数及び／又は負荷変動の周波数を算出して、算出した周波数もしくはこれらの周波数の整数倍の高調波周波数が機械、工具、治具、あるいは工作物の固有振動数を含む一定範囲内にあるか否かを確認し、一定範囲内にある場合には、前記一定範囲から外れるように、前記ＮＣプログラムで指令された主軸回転速度を変更するようにしたことを特徴とするＮＣ加工における加工シミュレーション方法。
【請求項９】
前記ＮＣプログラムで指令された主軸回転速度を変更すると、前記ＮＣプログラムを変更して、該ＮＣプログラムで指令される主軸回転速度を前記変更した主軸回転速度とするようにしたことを特徴とする請求項８に記載のＮＣ加工における加工シミュレーション方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＮＣ加工における加工シミュレーション装置及び方法に関するものであり、特に、素材形状データや工具形状データ及び加工形状を特定するデータに基づく加工シミュレーションに基づき、主軸回転速度を変更する装置及び方法に関するものである。
【０００２】
【従来の技術】
図１のブロック図を基に、従来の数値制御システムの適応制御指令作成システムを説明する。
【０００３】
ＮＣプログラムメモリ１１には、これから行なう加工に用いるＮＣプログラムが格納されている。
【０００４】
ＮＣプログラム解釈部１２は、ＮＣプログラムメモリ１１から１ブロックずつＮＣプログラムを読み込み、解釈し、本ブロックで指令されている、或いは、モーダル指令として前ブロックまでで指令されている補間種類、目標位置、送り速度を補間処理部１３に送出する。
【０００５】
補間処理部１３は、補間種類、目標位置、送り速度に基づいて、各軸毎の単位時間（補間周期）あたりの移動量Δｘ、Δｙ、Δｚを算出し、サーボ制御部１４に送出する。
【０００６】
サーボ制御部１４は、補間処理部１３から得た各軸毎の単位時間あたりの移動量Δｘ、Δｙ、Δｚに基づいて、各軸モータの回転を制御し、各軸の動作を実施する。
【０００７】
切削監視部１５においては、サーボ制御部１４から実際に検知した主軸負荷や送り軸負荷を受け取り、これらの内少なくとも一方を適応制御部１６に送出する。
【０００８】
適応制御部１６においては、切削監視部１５から得られた主軸負荷や送り軸負荷と予め設定された値とを比較して、主軸負荷や送り軸負荷が予め設定された過負荷判定値を超える場合には、アラーム等を発生して各軸を停止する指令を補間処理部１３に対して送出する。また、主軸負荷や送り軸負荷が予め設定された速度制御検出範囲を逸脱する場合には、送り速度を上げる／下げるの速度変更指令を補間処理部１３に送出する。さらに、主軸負荷や送り軸負荷が予め設定されたエアカット判定値を下回った場合には、エアカットに適当な送り速度指令を補間処理部１３に送出する。
【０００９】
これらの指令に基づいて、補間処理部１３は、各軸毎の単位時間（補間周期）あたりの移動量Δｘ、Δｙ、Δｚの再計算を行なって、サーボ制御部１４に送出する。
【００１０】
以下、加工が終了するまで上記の処理を繰り返す。
【００１１】
次に、図２のブロック図を基に、従来のＮＣプログラム作成システムを説明する。
【００１２】
加工データ入力部２１においては、ＮＣプログラムを作成する上で必要な情報である工具種類、工具サイズ、素材材質、加工軌跡等をオペレータが入力し、入力された結果はＮＣプログラム作成部２３に送出される。
【００１３】
切削条件データテーブル２２は、工具種類、工具サイズ、素材材質等からそれらに適切な送り速度、主軸回転速度等が決定できるようなデータテーブル構造となっており、ＮＣプログラム作成部２３によって参照される。
【００１４】
ＮＣプログラム作成部２３は、加工データ入力部２１から送出された工具種類、工具サイズ、素材材質、加工軌跡等の加工データ、さらには、工具種類、工具サイズ、素材材質等に基づいて切削条件データテーブル２２から読み出された送り速度、主軸回転速度等の切削条件を基に、ＮＣプログラムを作成する。
【００１５】
テーブルデータ変更部２４は、工具種類、工具サイズ、素材材質等と送り速度、主軸回転速度等とのリレーションテーブルの変更を指示するものである。
【００１６】
ＮＣプログラム編集部２５は、ＮＣプログラムをオペレータが直接編集するものである。
【００１７】
このような構成のＮＣプログラム作成システムでは、オペレータがＮＣプログラムにおける送り速度等を変更したい場合には、以下の３種類の内、何れかの方法が採られる。
【００１８】
即ち、加工データ入力部２１から直接送り速度等を指示する、もしくは、テーブルデータ変更部２４において、予め、工具種類、工具サイズ、素材材質等と送り速度、主軸回転速度等とのリレーションテーブルの変更を指示しておく、又は、ＮＣプログラム編集部２５において、Ｆ指令等を変更するの何れかである。
【００１９】
【発明が解決しようとする課題】
しかし、従来の数値制御システムの適応制御指令作成システムにおいては、いかに高速に主軸負荷や送り軸負荷等の加工状態情報がフィードバックされようとも、原理的に追従遅れが発生することは回避できず、「過去」の情報に基づいて、「現在」制御を行なわざるを得ない状況であった。
【００２０】
このため、加工負荷が大きい部分の加工から加工負荷が小さい部分の加工に移る時点においては、実際の加工負荷は小さいにも関わらず送り速度が遅くなるように制御されて、加工効率が低下したり、加工負荷が小さい部分の加工から加工負荷が大きい部分の加工に移る時点においては、実際の加工負荷は大きいにも関わらず送り速度が速くなるように制御されて、工具に負荷が掛かり過ぎたり適正な面粗度が得られない等の問題があった。
【００２１】
また、従来のＮＣプログラム作成システムにおいては、主軸回転速度などの切削条件は、オペレータが自らの判断によって指令するか、工具種類、工具サイズ、素材材質等から一義的に決定されるものであったため、断続切削による強制振動の周波数や負荷変動の周波数とは無関係となっていた。
【００２２】
このため、最も適切な主軸回転速度又は切削速度で切削を続けることが極めて困難であり、工具の早期摩耗や加工精度、面粗度の低下を招き易かった。さらには、断続切削による強制振動の周波数や負荷変動の周波数もしくはそれらの整数倍の高調波周波数と、機械、工具、治具、あるいは工作物等の持つ固有振動周波数が近い値になった場合には、共振による数十μｍにも及ぶ大きなびびりが発生する事があり、加工物の表面に周期的な波形のマークが入り面粗度が劣化するという問題があった。
【００２３】
従来はびびりが発生した時には、これを防ぐために断続切削の周波数（一般には主軸の回転速度）を変えて機械、工具、治具、あるいは工作物等の固有振動数を避けるようにしていた。
【００２４】
しかしながらこの方法はカットアンドトライ的な要素が強く、また試し切削をおこないながらびびりの発生が見つかればこれを無くす条件を探す必要があるため熟練した技術者でも時間を要する欠点があった。
【００２５】
本発明の目的は、以上のような問題を解消し、グラフィックデータ上の加工シミュレーションを加工に先だって実行し、そこから得られる断続切削による強制振動の周波数や負荷変動の周波数に基づいて、主軸回転速度を実加工に適合した条件で実加工や加工プログラム作成に反映できるＮＣ加工における加工シミュレーション装置及び方法を提供することにある。
【００２６】
【課題を解決するための手段及びその効果】
上記目的は、少なくともＮＣプログラム、素材形状データ及び工具形状データから成る加工情報に基づいてＮＣ加工の加工シミュレーションを行なう装置において、前記加工情報を基に加工シミュレーションしながら、断続切削による強制振動の周波数及び／又は負荷変動の周波数を算出して、算出した周波数もしくはこれらの周波数の整数倍の高調波周波数が機械、工具、治具、あるいは工作物の固有振動数を含む一定範囲内にあるか否かを確認し、一定範囲内にある場合には、前記一定範囲から外れるように、前記ＮＣプログラムで指令された主軸回転速度を変更する加工シミュレーション手段を備えた加工シミュレーション装置により達成される。
【００２７】
グラフィックデータ上の加工シミュレーションを加工に先だって実行し、そこから得られる断続切削による強制振動の周波数や負荷変動の周波数に基づいて、主軸回転速度を実加工に適合した条件で実加工や加工プログラム作成に反映できるため、断続切削による強制振動の周波数や負荷変動の周波数もしくはそれらの整数倍の高調波周波数と、機械、工具、治具、あるいは工作物等の持つ固有振動周波数が近い値になることが無くなり、びびりが発生することも無いので、面精度の向上が実現できる。
【００２８】
また上記目的は、前記加工シミュレーション手段が、前記ＮＣプログラムで指令された主軸回転速度と前記工具形状データの工具刃数とを基に前記強制振動の周波数を算出することにより達成される。
【００２９】
また上記目的は、前記加工シミュレーション手段が、前記負荷変動の周波数を算出するに当たり、素材が工具により削り取られる削り取り量を切削量として算出し、算出した切削量と、前記ＮＣプログラムで指令された主軸回転速度と、前記工具形状データとを基に前記負荷変動の周波数を算出することにより達成される。
【００３０】
また上記目的は、前記加工シミュレーション装置が、前記加工シミュレーションに先立って前記素材形状データを３次元格子点に区画した加工シミュレーション形状データに変換する素材形状データ生成手段と、前記加工シミュレーション形状データを記憶するシミュレーション形状記憶手段とを更に備え、前記加工シミュレーション手段が、前記ＮＣプログラムと、前記工具形状データと、前記シミュレーション形状記憶手段に格納された加工シミュレーション形状データとを基に、前記格子点上の素材領域を工具が通過する場合に素材が工具によって削り取られる削り取り量を切削量として算出するとともに前記工具が通過する格子点の素材有無の情報を削り取りにあわせて更新し、前記算出した切削量と、前記ＮＣプログラムで指令された主軸回転速度と、前記工具形状データとを基に前記負荷変動の周波数を算出することにより達成される。
【００３１】
また上記目的は、前記加工シミュレーション装置が、前記加工シミュレーションに先立って前記素材形状データの素材底面を格子点で区画し素材高さを前記格子点の垂直方向高さデータとした加工シミュレーション形状データに変換する素材形状データ生成手段と、前記加工シミュレーション形状データを記憶するシミュレーション形状記憶手段とを更に備え、前記加工シミュレーション手段が、前記ＮＣプログラムと、前記工具形状データと、前記シミュレーション形状記憶手段に格納された加工シミュレーション形状データとを基に、前記格子点上の素材領域を工具が通過する場合に素材が工具によって削り取られる削り取り量を切削量として算出するとともに前記工具が通過する格子点の前記垂直方向高さデータを削り取りにあわせて更新し、前記算出した切削量と、前記ＮＣプログラムで指令された主軸回転速度と、前記工具形状データとを基に前記負荷変動の周波数を算出することにより達成される。
【００３２】
また上記目的は、前記垂直方向高さデータが、素材が存在する領域の高さデータ、あるいは、素材が存在する領域の高さデータと存在しない領域の高さデータとの組み合わせから構成されることにより達成される。
【００３３】
また上記目的は、前記加工シミュレーション装置が、前記加工シミュレーション手段によって、前記ＮＣプログラムで指令された主軸回転速度が変更されると、前記ＮＣプログラムを変更して、該ＮＣプログラムで指令される主軸回転速度を前記変更した主軸回転速度とするＮＣプログラム作成手段を更に備えていることにより達成される。
【００３４】
また上記目的は、前記加工情報に基づいてＮＣ加工の加工シミュレーションを行なう方法において、前記加工情報を基に加工シミュレーションしながら、断続切削による強制振動の周波数及び／又は負荷変動の周波数を算出して、算出した周波数もしくはこれらの周波数の整数倍の高調波周波数が機械、工具、治具、あるいは工作物の固有振動数を含む一定範囲内にあるか否かを確認し、一定範囲内にある場合には、前記一定範囲から外れるように、前記ＮＣプログラムで指令された主軸回転速度を変更することにより達成される。
【００３５】
また上記目的は、上記方法において、前記ＮＣプログラムで指令された主軸回転速度を変更すると、前記ＮＣプログラムを変更して、該ＮＣプログラムで指令される主軸回転速度を前記変更した主軸回転速度とすることにより達成される。
【００３６】
【発明の実施の形態】
本発明のＮＣ加工における加工シミュレーション装置及び方法に係る第１の実施形態は、素材や工具の形状データに基づく加工シミュレーションをリアルタイムで行い、その結果求められる断続切削による強制振動の周波数や負荷変動の周波数に基づいて、事前に主軸回転速度を適正な値に制御するＮＣ加工における加工シミュレーション装置である。
【００３７】
ここでは、本出願人が過去にＷＯ９８／１９８２２（ＰＣＴ／ＪＰ９６／０３２６６）において開示した本ＮＣ加工における加工シミュレーション装置に組み込んだ例を説明する。このようにして加工負荷シミュレーションによる適応制御に加えて、びびりの抑制制御が可能となっている。もちろん今回のびびり抑制制御を単独で加える事も可能である。
【００３８】
以下、図３のブロック図を用いて説明する。
【００３９】
尚、本ブロック図では、図１のブロック図と共通する項目には、共通の番号を付しているため、ブロック１６が欠如している。
【００４０】
ＮＣプログラムメモリ１１には、これから行なわれる加工に用いるＮＣプログラムが格納されている。
【００４１】
ＮＣプログラム解釈部１２は、ＮＣプログラムメモリ１１から１ブロックずつＮＣプログラムを読み込み、解釈し、本ブロックで指令されている、或いは、モーダル指令として前ブロックまでで指令されている補間種類、目標位置、送り速度を補間処理部１３に通知するとともに、工具番号と主軸回転速度とを加工シミュレーション部１７に通知し、さらに工具番号と送り速度とをシミュレーション予見制御部１８に通知する。
【００４２】
補間処理部１３は、補間種類、目標位置、送り速度に基づいて、各軸毎の単位時間（補間周期）あたりの移動量Δｘ、Δｙ、Δｚを算出し、加工シミュレーション部１７に通知する。
【００４３】
加工前形状生成部１１０は、加工に先立って、予め本システムが持っている素材メモリ１９から素材形状データを読み出し、これから行う加工シミュレーションに適したデータ構造に変換して、加工シミュレーション形状データとしてシミュレーション形状データメモリ１１１に格納しておく。或いは、オペレータが加工シミュレーションの都度、素材形状を入力し、この入力されたデータを前述のように加工シミュレーション形状データとしてシミュレーション形状データメモリ１１１に格納しておく。
【００４４】
尚、加工前形状生成部１１０は、図５（ａ）に示すように素材底面に対応したＸ−Ｙ平面上に所定間隔の格子点を定義し、各格子点毎にＺ方向空間に素材が存在するか否かを、素材形状データを基に判別し、存在すれば素材底面からの高さｈ１を、存在しなければ０をその格子点に対応したＺ座標値として記憶するという手順で、素材メモリ１９の素材形状データを加工シミュレーションに用いる形状のデータ構造に変換し、シミュレーション形状データメモリ１１１に格納する。
【００４５】
また、図５（ｂ）のように１つの格子点のＺ方向空間に対して、素材が存在する領域の間に素材が存在しない中空領域が挟まれていれば、この格子点に対応して記憶されるＺ座標値データは１つのみでなく、素材領域の高さｈ１、中空領域の高さｈ２、再び素材領域ｈ３の高さといった複数個のＺ座標値データ（連結リスト構造）を記憶することとなる。
【００４６】
加工シミュレーション部１７は、ＮＣプログラム解釈部１２から受け取った工具番号と予め本システムが持っている使用工具データメモリとから現在加工に使用されている工具の形状、例えば工具径を認識し、この工具径と補間処理部１３から受け取ったΔｘ、Δｙ、Δｚとシミュレーション形状データメモリ１１１から必要に応じて順次読み出した加工シミュレーション用形状データとに基づいて単位時間あたり切削量を算出する。さらに後述するように、この単位時間あたりの切削量と主軸回転速度とに基づいて工具１回転あたり切削量を算出する。
【００４７】
図６（ａ）は、工具現在位置に基づく加工領域の認識を説明する図であり、図６（ｂ）は、削り取り量の総和（ＶＲＥＭＯＶＥＤ）の算出方法を説明する図である。前記単位時間あたり切削量は、図６に示す如く工具１００の現在位置Ｘ、Ｙと工具径とΔｘ、ΔｙとからＸ−Ｙ平面上に所定間隔で定義された格子点ｋの内、どの格子点ｋを工具１００が通過するかを特定し、さらにこの格子点ｋが持つ加工シミュレーション形状のＺ座標値と工具１００の現在位置ＺとΔｚとから工具が加工物を削り取るか否かを判別し、この判別された格子点ｋ１つ１つに対して削り取り量を算出してそれらの総和を次式によって算出した削り取り量の総和（ＶＲＥＭＯＶＥＤ）として得られる。
【００４８】
0004812224.tif 000002
ここで、ＶＲＥＭＯＶＥＤは削り取り量の総和、Ｚｘｙは加工前のＺ高さ、Ｚｘｙ’は加工後のＺ高さである。
【００４９】
尚、この時点では、Δｘ、Δｙ、Δｚに基づいた工具の移動が実際に行われるか否か未定のため、今回のΔｘ、Δｙ、Δｚに基づいた工具移動による削り取りに応じた加工シミュレーション形状データの更新、及びシミュレーション形状データメモリ１１１への格納は行わない。
【００５０】
次に、工具１回転内の負荷変動を求める。
【００５１】
エンドミルのような回転工具の場合は、主軸の回転中心に対する切削断面１次モーメントの変化を求めることにより、工具１回転内の負荷変動を見ることができる。
【００５２】
回転工具の１刃毎の回転角に対する切削断面１次モーメントを求めると、例えば図９のような変化を示す。
【００５３】
Ｘ−Ｙ平面座標系を円筒座標系（ｒ，θ）に置き換え、Ｚ値を用いて、１刃毎の主軸１回転当たり切削量Ｍｒｒは式１で表わす事ができる。
【００５４】
0004812224.tif 000003
ここで、Ｒは工具半径である。
【００５５】
１回転区間０≦θ≦２πを［Δθ０，Δθ１，Δθ２，…，Δθｎ］に区分して、各微小区間［０，θ１，θ２，…，θｎ，２π］での切削量Ｍｒｒｉは式２で表わすことができる。
【００５６】
0004812224.tif 000004
【００５７】
また、角θにおける切削断面１次モーメントは式３で表わされる。
【００５８】
0004812224.tif 000005
【００５９】
よって、式２で求められる微小区間の切削量Ｍｒｒｉを区間幅Δθｉで除すると式４のように、区間［θｉ，θｉ＋１］での切削断面１次モーメントの平均値が求まる。
【００６０】
0004812224.tif 000006
【００６１】
上記のような理由により、各区間に切削量が計算できる充分な格子点が存在するように回転角をいくつかに分割して、図１０のような区間毎の切削量を求める。
【００６２】
区間［θｉ，θｉ＋１］に存在する格子点ｋで、シミュレーションにより切削されたＺ座標値データをｚｋ、工具中心からの距離をｒｋとすると区間［θｉ，θｉ＋１］における切削量は式５で表わされる。
【００６３】
0004812224.tif 000007
【００６４】
このようにして、区間毎の切削量を求めると図１１のような工具１回転内の負荷変動を離散データとして得ることができる（図１１では分割された各回転角毎の面積が区間毎の切削量を表す）。この得られた結果を離散フーリエ変換等の周波数解析手段を用いて周波数解析することにより、切削抵抗による振動の周波数を予測することができる。
【００６５】
さらに、１回転毎に得られた結果を接続して展開していけば、図１２のような連続した１回転内の負荷変動が得られる。あるいは、複数刃の場合には、１刃毎のシミュレーション結果を重ね合わせることにより図１３のような工具全体の負荷変動を得ることができる。このような主軸回転速度、工具径、切削条件などの加工前情報からだけでは得ることはできないシミュレーション結果から、フーリエ変換等の周波数解析手段により切削抵抗による振動周波数を求め、切削現象による振動の予測をすることに役立てる。
【００６６】
切削振動の主成分はエンドミルの断続切削による強制振動の周波数であり、この振動周波数は式６のように簡易的に計算することも可能である。
【００６７】
Ｆａ＝ｎ・ｋ／６０   ・・・式６
尚、Ｆａは強制振動の周波数、ｎは刃数、ｋは主軸回転速度（ｍｉｎ−１）である。
【００６８】
機械、工具、治具、あるいは工作物等の持つ固有振動周波数はあらかじめ実験もしくは解析で求めておき、この周波数を登録しておく。
【００６９】
振動周波数もしくはその整数倍の高調波周波数が各部の固有振動数に比べてある一定の範囲内であれば、その範囲を外れるように主軸回転速度を下げる。この範囲は実験的に求めて予めデータとして持っておく。
【００７０】
主軸回転速度を変更する方法は新しい回転速度をＮＣプログラム解釈部に送出しても良いし、主軸オーバライドの機能を利用しても良い。
【００７１】
これにより実際の切削で使用する主軸回転速度が決定し、この主軸回転速度に基づいた主軸１回転当たりの切削量をシミュレーション予見制御部に送出する。シミュレーション予見制御部１８は、加工シミュレーション部１７から受け取った工具１回転あたりの切削量と予め本システムが持っている素材材質とから加工シミュレーション切削抵抗値Ｒ及び切削トルクＴを算出する。
【００７２】
ここでは、エンドミルにおけるシミュレーション切削抵抗値Ｒ及び切削トルクＴの例を示す。
【００７３】
Ｒ＝ａ・Ｖｐ（ｋｇｆ）   ・・・式７
Ｔ＝ｂ・（ｎ・Ｖ）ｑ（ｋｇｆ・ｃｍ） ・・・式８
尚、Ｖは１回転当たりの切削体積、ｎはエンドミルの刃数、ａ、ｂ、ｐ、ｑは素材材質に固有のパラメータである。
【００７４】
次にＮＣプログラム解釈部１２から受け取った工具番号と予め本システムが持っている使用工具データメモリとから現在加工に使用されている工具の適正切削抵抗を読み出す。
【００７５】
尚、工具の適正切削抵抗値は、オペレータが加工に先立って工具毎に設定しておいてもよい。
【００７６】
上記（式７）で算出したシミュレーション切削抵抗値と適正切削抵抗値とを比較し、シミュレーション切削抵抗値が適正切削抵抗値を逸脱している場合は、適正な切削抵抗になるような送り速度を計算し、適正送り速度として再補間要求信号とともに補間処理部１３へ通知する。
【００７７】
前記適正送り速度を算出する式は、例えば以下の通りである。
【００７８】
Ｓｇ＝Ｓ・Ｒｇ／Ｒｓ   ・・・式９
尚、Ｓｇは適正送り速度、Ｓは指令送り速度、Ｒｇは適正切削抵抗値、Ｒｓはシミュレーション切削抵抗値である。
【００７９】
一方、逸脱していない場合は、加工形状更新信号を加工シミュレーション部１７へ送り、速度適正信号を補間処理部１３へ通知する。
【００８０】
加工シミュレーション部１７は、シミュレーション予見制御部１８から加工形状更新信号を受け取ったら、今回のΔｘ、Δｙ、Δｚに基づいた工具移動による削り取りに応じて加工シミュレーション形状データを更新し、シミュレーション形状データメモリ１１１に格納する。
【００８１】
この更新は、格子点毎に記憶されているＺ座標値を削り取られた量だけ減算することによって実行される。
【００８２】
シミュレーション予見制御部１８から送り速度適正信号を受け取ると、補間処理部１３は、今回算出したΔｘ、Δｙ、Δｚをそのままサーボ制御部１４へ転送する。その結果、適正な切削抵抗と判断された送り速度で切削が行われることになる。
【００８３】
一方、再補間要求信号を受け取った場合は、先に補間処理したデータをすべて破棄し、シミュレーション予見制御部１８から受け取った適正送り速度に基づいて再度単位時間当たりの各軸の移動量Δｘ’、Δｙ’、Δｚ’を計算し加工シミュレーション部１７に通知する。
【００８４】
加工シミュレーション部１７では、このΔｘ’、Δｙ’、Δｚ’に基づいて前述したと同様な方法で工具１回転あたりの切削量を算出し、シミュレーション予見制御部１８へ通知する。
【００８５】
シミュレーション予見制御部１８では、この工具１回転あたりの切削量に基づいて、前述したと同様な方法でシミュレーション切削抵抗値を算出する。
【００８６】
このシミュレーション切削抵抗値は、シミュレーション予見制御部１８で計算された適正な送り速度に基づいた補間処理、加工シミュレーションの結果に基づいたものであり、当然適正切削抵抗値を逸脱していないので、加工形状更新信号を加工シミュレーション部１７へ通知されるとともに送り速度適正信号が補間処理部１３へ通知されことになる。
【００８７】
その結果、補間処理部１３では、先にシミュレーション予見制御部１８で計算された適正な送り速度に基づいて補間処理を行い算出したΔｘ’、Δｙ’、Δｚ’をサーボ制御部１４に通知するので、適正な切削抵抗になる送り速度で切削が行われることになる。
【００８８】
また、上記（式８）で算出した切削トルクに基づいて、前回補間時の切削トルクとの比較を行ない、切削トルクの前回からの変化量からトルクフィードフォワード量を算定し、このトルクフィードフォワード量をサーボ制御部１４へ送出することも可能である。
【００８９】
この場合、サーボ制御部１４では、このトルクフィードフォワード量を送り速度又は切削速度が一定となるようなトルク制御に使用することとなる。
【００９０】
切削監視部１５においては、サーボ制御部１４から実際に検知した主軸負荷や送り軸負荷を受け取り、適正な送り速度に基づいて算出されたシミュレーション切削抵抗との関係を常時監視し、この関係が例えば比例関係を逸脱した場合は即座に送り停止信号を補間処理部１３に通知して補間を即座に停止させることが可能である。
【００９１】
本発明のＮＣ加工における加工シミュレーション装置及び方法に係る第２の実施形態は、オペレータによる加工データ入力からＮＣプログラム作成を一旦行ない、このＮＣプログラムと素材形状データに基づいて加工シミュレーションを行い、その結果認識できる切削量、或いはこの切削量から求められる切削抵抗値と主軸回転速度に基づいて、切削による負荷変動の周波数もしくはその整数倍の高調波周波数が機械、工具、あるいは工作物等の固有振動数を含む一定範囲を避けるように、このＮＣプログラムの主軸回転速度を変更するＮＣ加工における加工シミュレーション装置である。
【００９２】
ここでは、本ＮＣ加工における加工シミュレーション装置を数値制御装置と切り離した例を説明する。
【００９３】
以下、図４のブロック図を用いて説明する。
【００９４】
尚、本ブロック図では、図２のブロック図と共通する項目には、共通の番号を付しており、このためブロック２５が欠如しているが、図３のブロック図と機能的に共通又は類似するブロックについては、分かり易くするため再度説明を行なっているので、共通の番号を付していない。
【００９５】
加工データ入力部２１においては、ＮＣプログラムを作成する上で必要な情報である工具種類、工具サイズ、素材材質、加工軌跡等をオペレータが入力し、入力された結果はＮＣプログラム作成部２３に送出される。
【００９６】
切削条件データテーブル２２は、工具種類、工具サイズ、素材材質等からそれらに適切な送り速度、主軸回転速度等が決定できるようなデータテーブル構造となっており、ＮＣプログラム作成部２３によって参照される。
【００９７】
ＮＣプログラム作成部２３では、加工データ入力部から送出された工具種類、工具サイズ、素材材質、加工軌跡等の加工データ、さらには、工具種類、工具サイズ、素材材質等に基づいて切削条件データテーブル２２から読み出された送り速度、主軸回転速度等の切削条件を基に、一旦ＮＣプログラムを作成する。
【００９８】
ＮＣプログラム解釈部２６は、ＮＣプログラム作成部２３から１ブロックずつＮＣプログラムを読み込み、解釈し、本ブロックで指令されている、或いは、モーダル指令として前ブロックまでで指令されている補間種類、目標位置、送り速度を補間処理部２７に通知するとともに、工具番号と主軸回転速度とを加工シミュレーション部２８に通知する。
【００９９】
補間処理部２７は、補間種類、目標位置、送り速度に基づいて、各軸毎の単位時間（例えばターゲットとなるＮＣ装置の補間周期）当たりの仮想的な補間移動量Δｘ、Δｙ、Δｚを算出し、加工シミュレーション部２８に通知する。
【０１００】
加工前形状生成部２１０は、ＮＣプログラム作成に先立って、予め本システムが持っている素材メモリ２９から素材形状データを読み出し、これから行う加工シミュレーションに適したデータ構造に変換して、加工シミュレーション形状データとしてシミュレーション形状データメモリ２１１に格納しておく。或いは、オペレータが加工シミュレーションの都度、素材形状を入力し、この入力されたデータを前述のように加工シミュレーション形状データとしてシミュレーション形状データメモリ２１１に格納しておく。
【０１０１】
尚、加工前形状生成部２１０は、図５（ａ）に示すように素材底面に対応したＸ−Ｙ平面上に所定間隔の格子点を定義し、各格子点毎にＺ方向空間に素材が存在するか否かを、素材形状データを基に判別し、存在すれば素材底面からの高さｈ１を、存在しなければ０をその格子点に対応したＺ座標値として記憶するという手順で、素材メモリ２９の素材形状データを加工シミュレーションに用いる形状のデータ構造に変換し、シミュレーション形状データメモリ２１１に格納する。
【０１０２】
また、図５（ｂ）のように１つの格子点のＺ方向空間に対して、素材が存在する領域の間に素材が存在しない中空領域ｈ２が挟まれていれば、この格子点に対応して記憶されるＺ座標値データは１つのみでなく、素材領域の高さｈ１、中空領域の高さｈ２、再び素材領域の高さｈ３といった複数個のＺ座標値データ（連結リスト構造）を記憶することとなる。
【０１０３】
加工シミュレーション部２８は、ＮＣプログラム作成部２３から受け取った工具番号と予め本システムが持っている使用工具データメモリとから現在加工に使用されている工具の形状、例えば工具径を認識し、この工具径と補間処理部２７から受け取ったΔｘ、Δｙ、Δｚとシミュレーション形状データメモリ２１１から必要に応じて順次読み出した加工シミュレーション用形状データとに基づいて単位時間あたり切削量を算出し、さらにこの切削量と主軸回転速度とに基づいて工具１回転当たりの切削量を算出し、さらに定められた単位角度当たりの切削量を算出し、さらに切削による負荷変動のレベルがある範囲を超えている成分の周波数を算出する。
【０１０４】
機械、工具、治具、あるいは工作物等の持つ固有振動周波数をあらかじめ実験もしくは解析で求めておき、この周波数を登録しておく。
【０１０５】
切削による負荷変動の周波数もしくはその整数倍の高調波周波数が各部の固有振動数に比べてある一定の範囲内であれば、その範囲を外れるように主軸回転速度を下げる。この範囲は実験的に求めて予めデータとして持っておく。
【０１０６】
新しい主軸回転速度をＮＣプログラム作成部２３に送出する。ＮＣプログラム作成部では加工シミュレーション部２８から通知された新しい主軸回転速度に基づいてプログラムを変更する。
【０１０７】
さらに、加工シミュレーション部２８はこの主軸回転速度による主軸１回転当たりの切削量を算出しＮＣプログラム作成部２３へ通知する。
【０１０８】
前記単位時間あたり切削量は、前述した手順によりこれを算出することができる。すなわち、図６に示す如く工具の現在位置Ｘ、Ｙと工具径とΔｘ、ΔｙとからＸ−Ｙ平面上に所定間隔で定義された格子点の内、どの格子点を工具が通過するかを特定し、さらにこの格子点が持つ加工シミュレーション形状のＺ座標値と工具の現在位置ＺとΔｚとから工具が加工物を削り取るか否かを判別し、この判別された格子点１つ１つに対して削り取り量を算出してそれらの総和を算出することによって得られる。
【０１０９】
尚、この時点では、Δｘ、Δｙ、Δｚに基づいた工具の移動が実際に行われるか否か未定のため、今回のΔｘ、Δｙ、Δｚに基づいた工具移動による削り取りに応じた加工シミュレーション形状データの更新、及びシミュレーション形状データメモリ２１１への格納は行わない。
【０１１０】
ＮＣプログラム作成部２３では、加工シミュレーション部２８から受け取った工具１回転あたりの切削量と予め本システムが持っている素材材質とから加工シミュレーション切削抵抗値Ｒ（式７）及び切削トルクＴ（式８）を算出する。
【０１１１】
次に、工具番号と予め本システムが持っている使用工具データメモリとから現在加工に使用されている工具の適正切削抵抗を読み出す。
【０１１２】
尚、工具の適正切削抵抗値は、オペレータが加工に先立って工具毎に設定しておいてもよい。
【０１１３】
前記（式７）で算出したシミュレーション切削抵抗値と適正切削抵抗値とを比較し、シミュレーション切削抵抗値が適正切削抵抗値を逸脱している場合は、適正な切削抵抗になるような送り速度を計算する。
【０１１４】
前記適正送り速度を算出する式は、例えば（式９）のようなものである。
【０１１５】
一方、逸脱していない場合は、加工形状更新信号を加工シミュレーション部２８へ送る。
【０１１６】
加工シミュレーション部２８は、ＮＣプログラム作成部２３から加工形状更新信号を受け取ったら、今回のΔｘ、Δｙ、Δｚに基づいた工具移動による削り取りに応じて加工シミュレーション形状データを更新し、シミュレーション形状データメモリ２１１に格納する。
【０１１７】
この更新は、格子点毎に記憶されているＺ座標値を削り取られた量だけ減算することによって実行される。
【０１１８】
適正な切削抵抗になるような送り速度を計算した場合は、先に補間処理したデータをすべて破棄し、再度単位時間当たりの各軸の移動量Δｘ’、Δｙ’、Δｚ’を計算し加工シミュレーション部２８に通知する。
【０１１９】
加工シミュレーション部２８では、このΔｘ’、Δｙ’、Δｚ’に基づいて前述したと同様な方法で工具１回転あたりの切削量を算出する。
【０１２０】
ＮＣプログラム作成部２３では、この工具１回転あたりの切削量に基づいて、前述したと同様な方法でシミュレーション切削抵抗値を算出する。
【０１２１】
このシミュレーション切削抵抗値は、ＮＣプログラム作成部２３内部で計算された適正な送り速度に基づいた仮想的な補間処理、加工シミュレーションの結果に基づいたものであり、当然適正切削抵抗値を逸脱していないので、加工形状更新信号を加工シミュレーション部２８へ通知することになる。
【０１２２】
そして、ＮＣプログラム作成部２３においては、各補間単位毎に適正送り速度を計算し、その適正送り速度が一定範囲に入る補間単位が連続するならばこれを結合して適正なＦ指令を付加すると共に、適正送り速度が一定範囲に入らない補間単位が連続するならば、別ブロックに分割して各々適正なＦ指令を付加する方法を用いて、当初のＮＣプログラムブロックを適宜分割する。
【０１２３】
尚、前述のＮＣプログラム作成部２３での計算において、シミュレーション切削抵抗値が０以外から０になった、０のままである、０から０以外になったなどを判別することによって切削状態からエアカット状態になる、エアカット状態が継続している、エアカット状態から切削状態になるといった状態遷移を検知し、切削送り速度を予め機械仕様メモリ２１２に格納されている早送り速度、あるいは予め機械仕様メモリ２１２に格納されている最大補間速度にアップしたり、アップした速度を維持したり、アップした速度から適正な切削送り速度に戻すことが可能である。
【０１２４】
また、本実施形態において、補間処理部２７を除いて、加工シミュレーション部２８において、ＮＣプログラム解釈部２６から得られるブロック軌跡を用いてブロック当たりの切削量とブロック当たりの加工時間を計算し、これらのデータから送り速度の適正／不適を判定してＦ指令変更を行なう方法を採用しても良い。
【０１２５】
一方、オペレータが予め基本となる送り速度を変更する場合には、例えば、テーブルデータ変更部２４において、工具種類、工具サイズ、素材材質等と送り速度、主軸回転速度等とのリレーションテーブルの変更を指示することとなる。
【０１２６】
本発明のＮＣ加工における加工シミュレーション装置及び方法に係る第３の実施形態は、素材や工具の形状データに基づく加工シミュレーションをリアルタイムで行い、その結果認識できる切削量、切削箇所等のデータに基づいて、工具実績情報を作成するＮＣ加工における加工シミュレーション装置である。
【０１２７】
上記の何れの実施形態においても、素材形状データや工具形状データとして実際の加工物や工具の計測データを使用することが可能であるし、図７の如く素材形状データを加工物を実際に計測した結果に基づいて補正したり、同様に工具形状データを工具を実際に計測した結果に基づいて補正することが可能である。
【０１２８】
上記の何れの実施形態においても、加工前形状生成部１１０（又は２１０）は、素材メモリ１９（又は２９）から読み出された素材形状データに基づいて、これから行う加工シミュレーションに適したデータ構造に変換する際に、この素材形状データを図８（ｂ）の如く３次元格子点に区画してシミュレーション形状データメモリ１１１（又は２１１）に格納しておくことも可能である。例えば、図８の反転部分を除去する場合には、図８（ａ）の如く、Ｘ−Ｙ平面を格子点で区画し各素材高さをＺ高さデータで持った場合には、Ｚ（ｘ）（ｙ）＝ｈ１から（ｈ１−１）と変化することとなり、図８（ｂ）の如く３次元格子点に区画した場合には、Ｐ（ｘ，ｙ，ｈ１）＝１から０に変化することとなる。
【０１２９】
第１の実施形態の説明においては、本ＮＣ加工における加工シミュレーション装置による送り速度制御を補間処理後に行なう形態、及び本ＮＣ加工における加工シミュレーション装置によるびびり抑制のための主軸速度制御をプログラム指令後に行なう形態、及び本ＮＣ加工における加工シミュレーション装置によるモータトルク補正値をサーボ制御における電流制御部に送出する形態で組み込んだ形で説明した。
【０１３０】
第２の実施形態の説明においては、本ＮＣ加工における加工シミュレーション装置を数値制御装置と切り離して、加工に先だってＮＣプログラムの速度指令決定を実施する形で説明した。
【０１３１】
しかし、本発明の実施形態はこれらに限るものでなく、上記の装置を構成する各々の手段を各々の機能の実現ステップに置き換えた形で実施することも可能である。
【０１３２】
そして、少なくとも第１及び第２の実施形態においては、本発明の装置又は方法への入力として必要となる素材形状、工具形状、及び、補間データに相当するものを準備し、本発明の装置又は方法へ入力すれば、本実施形態で説明した通りの手順で、切削量、切削抵抗、切削振動周波数や加工前、加工途中、加工完了後の加工物形状、及び、適正な送り速度、主軸速度を適宜取り出すことができる。
【０１３３】
また、この適正な送り速度や主軸速度を生成する機能を利用して、ＮＣプログラム解釈部と補間処理部との間に、本発明の装置又は方法による送り速度制御を組み込めば、実際の補間処理の前に適切な送り速度や主軸速度を予め決めておくことが可能になる。
【０１３４】
さらには、送り速度の急激な変動による機械の振動、工具の破損、あるいは、送り速度の変化、すなわち加減速に伴う形状誤差の発生を防ぐために、補間処理に先立って補間前加減速処理部を有する数値制御システムであれば、ＮＣプログラム解釈部と補間前加減速処理部との間に本発明の装置又は方法による送り速度制御を組み込めば、機械を振動させることなく、加減速に伴う形状誤差発生を抑えて、適切な送り速度で加工を行なうことができる。
【０１３５】
ここでは説明を行なっていないが、加工前、加工途中、加工完了後の加工物形状を逐次生成しているので、その加工物形状データをグラフィック表示部に入力すれば、グラフイック表示機能に利用できる。同様に切削量、印削抵抗値を取り出して、色分けなどを行なってグラフィック表示すれば、加工状況の変化の様子をグラフィック表示できる。
【０１３６】
【産業上の利用可能性】
以上のように，本発明にかかるＮＣ加工における加工シミュレーション装置及び方法は、マシニングセンタなどのＮＣ工作機械などに適し、特に、加工シミュレーションに基づき、主軸回転速度を変更するＮＣ工作機械に適する。
【図面の簡単な説明】
【図１】        従来の数値制御システムの適応制御指令作成システムのブロック図である。
【図２】        従来のＮＣプログラム作成システムのブロック図である。
【図３】        本発明のＮＣ加工における加工シミュレーション装置に係る第１の実施形態のブロック図である。
【図４】        本発明のＮＣ加工における加工シミュレーション装置に係る第２の実施形態のブロック図である。
【図５】        本発明に関わるシミュレーション形状データの構造例である。
【図６】        本発明に関わる加工シミュレーションの原理の説明図である。
【図７】        本発明に関わる素材形状データを加工物を実際に計測した結果に基づいて補正する場合の説明図である。
【図８】        本発明に関わる素材形状データを３次元格子点に区画する場合のシミュレーション形状データの構造例を示す図である。
【図９】        本発明に関わる回転工具の一刃毎の回転角に対する切削断面１次モーメントの変化の例を説明する図である。
【図１０】        本発明に関わる工具の回転角の分割を説明する図である。
【図１１】        本発明に関わる分割された工具の回転角の区間毎の切削断面１次モーメントを表す図である。
【図１２】        本発明に関わる１枚刃の場合の連続した１回転内の負荷変動を表す図である。
【図１３】        本発明に関わる２枚刃の場合の連続した１回転内の負荷変動を表す図である。
【符号の説明】
１１  ＮＣプログラムメモリ
１２，２６  ＮＣプログラム解釈部
１３，２７  補間処理部
１７，２８  加工シミュレーション部
１８  シミュレーション予見制御部
２１  加工データ入力部
２３  ＮＣプログラム作成部
１１０，２１０  加工前形状生成部
１１１，２１１  シミュレーション形状データメモリ
【図１】
0004812224.tif 000008
【図２】
0004812224.tif 000009
【図３】
0004812224.tif 000010
【図４】
0004812224.tif 000011
【図５（ａ）】
0004812224.tif 000012
【図５（ｂ）】
0004812224.tif 000013
【図６（ａ）】
0004812224.tif 000014
【図６（ｂ）】
0004812224.tif 000015
【図７】
0004812224.tif 000016
【図８（ａ）】
0004812224.tif 000017
【図８（ｂ）】
0004812224.tif 000018
【図９】
0004812224.tif 000019
【図１０】
0004812224.tif 000020
【図１１】
0004812224.tif 000021
【図１２】
0004812224.tif 000022
【図１３】
0004812224.tif 000023