(57)【要約】【課題】精密で負荷が均一となる速度制御ができる数値制御装置を得る。【解決手段】移動指令を解析して補間処理した後の補間データを求める（Ｓ１〜Ｓ３）。スピンドル負荷又は送り軸のサーボ負荷に基づいて、切削負荷が一定となるように補間周期と同一周期で補間データを再計算する（Ｓ４）。修正された補間データを加減速処理してサーボへ出力する（Ｓ５．Ｓ６）。補間データの再計算は、負荷が一定となるように、スピンドルモータ又は送り軸のサーボモータの駆動電流が基準値と一値するように修正補間データを求める。修正補間データは補間周期毎に求められるものであるから、精密な負荷一定の速度制御ができる。【選択図】      図２
2004220307.tif 000002
【特許請求の範囲】
【請求項１】
制御軸に対する移動指令を解析して各制御軸に対する補間データを作成し、サーボ駆動制御部に送出する数値制御装置において、前記補間データを読み込み所定の演算を施した後に前記サーボ駆動制御部に修正補間データを出力する補間データ変更手段を備えたことを特徴とする数値制御装置。
【請求項２】
前記補間データ変更手段は、前記制御軸を駆動するサーボモータの負荷データに基づいて前記修正補間データを演算することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記補間データ変更手段は、工作機械の主軸を駆動するスピンドルモータの負荷データに基づいて前記修正補間データを演算することを特徴とする請求項１に記載の数値制御装置。
【請求項４】
前記補間データ変更手段は、補間周期毎に修正補間データを出力する請求項１乃至３の内いずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
工作機械，産業機械などを制御する数値制御装置に関する。
【０００２】
【従来の技術】
加工条件を最適化する方法としてＡＣ（アダプティブコントロール）という方法が採用されている。この方法は、加工時のサーボ負荷電流、スピンドル負荷電流に応じて送り速度を制御することで、最適加工速度で加工ができるよう制御するものである。この方法は、通常、指令された送り速度に対して、サーボ負荷電流やスピンドル負荷電流に応じてオーバライドをかけて送り速度を制御する方法が採用されている。
【０００３】
例えば、送り速度演算手段を設けて、スピンドルモータの負荷電流が設定上限値になると工具の送り速度を低下させ、設定下限値に達すると工具の送り速度を上昇させて送り速度指令とし、この送り速度指令に基づいて補間処理して加工する方法が知られている（特許文献１参照）。
【０００４】
又、ワークの形状や寸法，材質等のワークに関するデータ、工具種類，寸法，材質，刃数等の工具に関するデータ、及び主軸回転速度，送り速度等の加工条件に基づいて、加工負荷を実験的に求めて、テーブル又は関数として記憶しておき、指令位置によって、該テーブル又は関数より予測負荷指令を求め、速度指令制御部から出力される加速度指令に該求めた予測負荷指令を加えて制御する方法も知られている（例えば、特許文献２参照）。
【０００５】
【特許文献１】
特開平６−２９７２９６号公報
【特許文献２】
特開平９−４７９４０号公報
【０００６】
【発明が解決しようとする課題】
送り速度に対しオーバライドをかけて制御する従来の方法においては、オーバライド信号が、通常、高速信号サンプリングの対象とならず、比較的長周期の時間間隔で制御がなされるものであることから、送り速度の修正が遅れ、工具にかかる負荷を一定にする制御に遅れが生じ、精度の高い負荷一定の制御が困難である。
しかしながら、最近、工具の長寿命化を目的として、加工時に工具にかかる負荷を一定にするという要望が高まっており、サーボ負荷、或いはスピンドル負荷をもとにできるだけ速く速度を修正し負荷一定にすることが望ましい。
そこで、本発明の目的は、負荷の変化に対し高速に応答し精密な速度制御ができる数値制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
制御軸に対する移動指令を解析して各制御軸に対する補間データを作成し、サーボ駆動制御部に送出する数値制御装置において、請求項１に係わる発明は、前記補間データを読み込み所定の演算を施した後に前記サーボ駆動制御部に修正補間データを出力する補間データ変更手段を備え、一旦作成された補間データを再度修正できるようにしたものである。そして、請求項２に係わる発明は、この補間データ変更手段によって、制御軸を駆動するサーボモータの負荷データに基づいて前記修正補間データを演算するようにした。又、請求項３に係わる発明は、補間データ変更手段によって、工作機械の主軸を駆動するスピンドルモータの負荷データに基づいて前記修正補間データを演算するようにした。これにより切削負荷等を一定にするように速度制御が可能となる。又、請求項４に係わる発明は、補間データ変更手段による演算を、補間周期毎に実行し修正補間データを出力するようにした。
【０００８】
【発明の実施の形態】
図１は本発明の一実施形態としての数値制御装置１００のブロック図である。ＣＰＵ１１は数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ，ＲＡＭ，電源バックアップされたＣＭＯＳメモリ等で構成されたメモリ１２に格納されたシステムプログラムを、バス１７を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。メモリ１２中のＣＭＯＳメモリには、インターフェイス１３を介して読み込まれた加工プログラムやＭＤＩ／ＤｉＳＰＬＡＹユニット８０を介して入力された加工プログラム等が記憶される。この加工プログラムに基づいて、Ｘ，Ｙ，Ｚ軸の各送り軸のサーボモータ及びスピンドルモータが駆動され加工がなされる。
【０００９】
ＰＭＣ（プログラマブル・マシン・コントローラ）１４は、数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１５を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００１０】
ＭＤＩ／ＤｉＳＰＬＡＹユニット８０はディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス１６はＭＤＩ／ＤｉＳＰＬＡＹユニット８０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。
【００１１】
各軸サーボモータのサーボ駆動制御部を構成する軸制御回路３０〜３２はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４２に出力する。サーボアンプ４０〜４２はこの指令を受けて、各軸のサーボモータ５０〜５２を駆動する。各軸のサーボモータ５０〜５２は位置・速度検出器６０〜６２を内蔵し、この位置・速度検出器６０〜６２からの位置、速度フィードバック信号を軸制御回路３０〜３２にフィードバックし、位置・速度のフィードバック制御を行う。又、各サーボアンプ４０〜４２に設けた電流検出器から軸制御回路３０〜３２に駆動電流がフィードバックされ、サーボ駆動電流を検出できる。そして、この駆動電流は軸制御回路３０〜３２を介してＣＰＵ１１にもフィードバックされる。
【００１２】
また、スピンドル制御回路７０は主軸回転指令を受け、スピンドルアンプ７１にスピンドル速度信号を出力する。スピンドルアンプ７１はスピンドル速度信号を受けて、スピンドルモータ７２を指令された回転速度で回転させる。ポジションコーダ７３は、スピンドルモータ７２の回転に同期して帰還パルスをスピンドル制御回路７０にフィードバックし、速度制御を行う。又、スピンドルアンプ７１からスピンドルモータ７２の駆動電流もスピンドル制御回路７０にフィードバックされ、該スピンドル制御回路７０を介してＣＰＵ１１はスピンドルモータの駆動電流を検出できるようになっている。
【００１３】
上述した数値制御装置の構成は、従来の数値制御装置と同一である。相違する点は、補間データを再計算して出力する補間データ変更手段を設け、該補間データ変更手段をユーザによっても構成できるカスタマイズ手段として設けた点にある。
図２は、本実施形態における補間データを再計算し修正補間データを作成する補間データ変更手段（カスタマイズ手段）を追加した補間処理のフローチャートである。
【００１４】
ＣＰＵ１１は、加工プログラム等から読み出された指令を解析し従来と同様に前処理し（ステップＳ１，Ｓ２）、その後、補間の演算周期で補間データを求める（ステップＳ３）。従来は、この補間データを加減速処理して（ステップＳ５）、各軸制御回路３０〜３２に出力していた（ステップＳ６）。しかし、本発明においては、図２に示すように、補間データを再計算し、修正補間データを求める。すなわち、スピンドル負荷又はサーボ負荷に応じて補間データを修正する補間データ再計算を行う（ステップＳ４）。この再計算された補間データを加減速処理（ステップＳ５）して各軸制御回路３０〜３２に出力するようにしている。なお、ステップＳ５の加減速処理は、ステップＳ４の前にあってもよい。
【００１５】
この補間データカスタマイズ手段（補間データ変更手段）の補間データの再算出処理は、補間周期と同一周期で行われる。そのため、補間データの修正が補間の演算周期であるｍｓ単位、又はμｓ単位の非常に短い単位で修正されることになる。
【００１６】
図３は、補間周期毎実施されるスピンドル負荷電流に基く補間データカスタマイズ手段（補間データ変更手段）の詳細フローチャートである。
まず、補間データを読み込みバッファにバッファリングし（ステップＳ４０，Ｓ４１）、フラグＦが「１」にセットされているか判断し（ステップＳ４２）、「１」にセットされていなければ（最初は初期設定で「０」にセットされている）、バッファリングした補間データが所定値以上の量バッファリングされているか判断し（ステップＳ４３）、所定値に達していなければ、当該周期の処理を終了する。
【００１７】
以下、バッファに所定値以上の補間データがバッファリングされるまで、補間の演算周期毎にステップＳ４０〜Ｓ４３の処理を実行し、補間データをバッファリングする。
【００１８】
補間データが所定値以上バッファリングされると、フラグＦを「１」にセットし（ステップＳ４４）、スピンドルモータの駆動電流Ｉを読み取り（ステップＳ４５）、スピンドル負荷が一定になるように補間データの再計算を行う（ステップＳ４６）。この補間データの再計算は、予め設定されている基準電流値をＩ０とすると、
修正された補間データ＝（元の補間データ）×（Ｉ０／Ｉ）
として求める。又、元の補間データは指令加工速度によって求まるものであるから、指令加工速度に（Ｉ０／Ｉ）を乗じて得られた速度に基づいて修正された補間データを求めてもよい。次に、補間データの再計算の結果、バッファ内が空になったか否か判断し（ステップＳ４７）、空でなければ、再計算され修正された補間データを加減速処理部へ出力する（ステップＳ４９）。そして、前述したように加減速処理して（ステップＳ５）、各軸制御回路３０〜３２に出力し各軸サーボモータ５０〜５２を駆動制御する（ステップＳ６）。
【００１９】
上述した処理を補間の演算周期毎に実行し、バッファに順次貯えて来た補間データがなくなり、ステップ４７でバッファが空であることが検出された場合には、フラグＦを「０」にセットし（ステップＳ４８）、ステップ４９へ移行する。
【００２０】
図４は、この元の補間データと修正された補間データの関係を示すもので、元の補間データは、一定値であるが、スピンドルモータの駆動電流Ｉが基準電流値Ｉ０より小さく、加速可能の状態では、修正された補間データは増加し、スピンドルモータの駆動電流Ｉが基準電流値Ｉ０より大きく、減速を必要とする場合には、修正された補間データは減少し、減速されることになる。これによって、常にスピンドルモータの駆動電流Ｉが基準電流値Ｉ０と一致するように修正補間データが作成されることになり、負荷が一定に保持されることになる。
【００２１】
詳述した実施形態では、切削負荷等の負荷をスピンドルにかかる負荷としてスピンドルモータの駆動電流によって検出するようにした。しかし、この負荷を送り軸に係わる負荷として送り軸を駆動するサーボモータ５０〜５２の駆動電流によって検出するようにしてもよい。この場合、この実施形態では、Ｘ，Ｙ，Ｚの３軸の送り軸を有し３つのサーボモータ５０〜５２の駆動電流が検出されるが、この中で最大の駆動電流を選択し、この駆動電流によって補間データの再計算を行うようにしてもよい。又、３つのサーボモータ５０〜５２の駆動電流を合成して、合成駆動電流に基づいて補間データの再計算を行ってもよい。
【００２２】
又、上述した実施形態では、切削負荷が一定となるように修正補間データを得る例を説明したが、本発明は、一旦求められた補間データ自体を補間周期間隔で修正できるようにしたものであり、この補間データを修正するカスタマイズ手段（補間データ変更手段）を用いて、リアルタイムに制御対象（工作機械）の送りを変更制御することができる。又、部分的に移動軌跡を変えることもできるものである。
【００２３】
【発明の効果】
補間データを変更、修正する補間データ変更手段を、補間そのものの手段と分離しているので、ユーザ自身のカスタマイズ手段として数値制御装置に搭載することが可能となる。また、短時間の補間演算周期毎に直接補間データを修正する処理が可能なため、加えた速度修正に対し遅れのない、精度の高い制御が可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態の要部ブロック図である。
【図２】同実施形態における修正補間データを作成するカスタマイズ手段を追加した補間処理のフローチャートである。
【図３】同実施形態におけるカスタマイズ手段による補間データの再計算処理のフローチャートである。
【図４】補間データと再計算された補間データの関係を説明する説明図である。
【符号の説明】
１００  数値制御装置
５０，５１，５２  サーボモータ
６０，６１，６２  位置・速度検出器
７２  スピンドルモータ
７３  ポジションコーダ
【図１】
2004220307.tif 000003
【図２】
2004220307.tif 000004
【図３】
2004220307.tif 000005
【図４】
2004220307.tif 000006