(57)【要約】【課題】滑らかな形状のプログラムを実行する場合に不要な加減速の繰り返しを防止した速度制御方法を提供する。【解決手段】位置および速度情報を複数ブロックについて先読みした複数ブロックの各終了点速度が加速度限界値を越えないブロック終了速度を演算する第１のブロック終了速度演算手段と、先読みした複数ブロックの各終了点速度が指定されたブロック内加速度の限界値を越えないブロック終了速度を演算する第２のブロック終了速度演算手段と、第１と第２のブロック終了速度の小さい方を修正ブロック終了速度とし、ブロック内加速度の限界値、修正ブロック終了速度および指令値に基づいて補間演算してサーボシステムの駆動を行う数値制御装置において、ブロック終了速度比較手段での比較結果、全ブロックにわたって第２ブロック終了速度が選択された場合に修正ブロック終了速度以上の加速を禁止した。【選択図】　　図２
2004030540.tif 000002
【特許請求の範囲】
【請求項１】
サーボシステムの速度を加工プログラムに従って制御する数値制御装置であって、前記加工プログラムの各ブロックに指定された位置および速度情報を複数ブロックについて先読みするブロック情報先読み手段と、先読みした前記複数ブロックの各終了点における速度が、指定されたブロック間加速度限界値を越えないというブロック間加速度条件を満たすように、ブロック終了速度を演算する第１のブロック終了速度演算手段と、先読みした前記複数ブロックの各終了点における速度が、前記ブロック間加速度の限界値とは別に指定されたブロック内加速度の限界値を越えないというブロック内加速度条件を満たすようにブロック終了速度を演算する第２のブロック終了速度演算手段と、各ブロックにおいて、前記第１のブロック終了速度演算手段より求めた第１のブロック終了速度、および第２のブロック終了速度演算手段より求めた第２のブロック終了速度を比較し、小さい方を修正ブロック終了速度とするブロック終了速度比較手段と、前記ブロック内加速度の限界値、前記修正ブロック終了速度および指令値に基づいて補間演算を行う補間演算手段と、前記補間演算されたデータに基づいてサーボシステムの駆動を行うサーボシステム駆動手段とを備えた数値制御装置の速度制御方法において、
前記ブロック終了速度比較手段での比較の結果、先読みした全ブロックにわたって第２のブロック終了速度が修正ブロック終了速度に選択された場合に、ブロック内速度が前記修正ブロック終了速度以上に加速することを前記補間演算手段に禁止させ、前記ブロック内速度を修正ブロック終了速度でクランプさせることを特徴とする数値制御装置の速度制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、加速度条件を満足するようにサーボシステムの速度を制御する数値制御装置に関する。
【０００２】
【従来の技術】
数値制御装置では、加工プログラムによって指令された軌跡上を指令された速度で工具を移動させることによってワークを所望の形状に加工している。このような加工を効率よく、かつ高精度で　行うためには加工プログラムによって指定された軌跡のコーナ部分において加工形状や、機械へのショック等を考慮して加工中に発生する加速度を制限することが必要である。
そのため、従来の技術では、ブロック情報を先読みし、加速度条件に基づいてブロック終了速度を算出し、補間演算を行っている。
【０００３】
従来の技術のフローチャートを図３に示す。
図３において、（１）まず、加工プログラムを１ブロック読み込む（Ｓ１）。
（２）次に、読み込んだ１ブロックを解析し、各ブロック情報を作成する（Ｓ２）。
（３）次に、ブロック情報を基にブロック終了点における速度が、指定されたブロック間加速度限界値（α１）を越えないというブロック間加速度条件を満たす第１のブロック終了速度（Ｖｅ１）を数式（１）によって算出する（Ｓ３）。ここで、
α１：ブロック間加速度の限界値
Ｔｓ：ブロック間の送り方向の変化がサンプリング時間
θｉ：隣接するブロックｉとブロックｉ＋１のなす角度
α１＝｛（１−ｃｏｓθｉ）／Ｔｓ｝×Ｖｅ１
Ｖｅ１＝α１×Ｔｓ／（１−ｃｏｓθｉ）　　・・・数式（１）
（４）次に、先読みしたブロック情報を基に各ブロック終了点における速度が、前記ブロック間加速度の限界値とは別に指定されたブロック内加速度の限界値（α２）を越えないというブロック内加速度条件を満たす第２のブロック終了速度（Ｖｅ２）を数式（２）によって算出する（Ｓ４）。
ここで、
α２：ブロック間加速度の限界値
Ｌ：ブロック長
Ｖ’ｅ２：１ブロック前の修正ブロック終了速度
Ｖｅ２＝（２×α２×Ｌ＋Ｖ’２ｅ２）１／２　・・・数式（２）
（５）次に、第１のブロック終了速度と第２のブロック終了速度の絶対値の小さい方を修正ブロック終了速度とする（Ｓ５）。
（６）以上のステップを先読みブロックすべてについて計算する。すべての計算が終了したらステップ８’へ進み、補間処理を行う。補間処理（Ｓ８’）は、補間周期毎に実行される。
図４は従来行なっている補間処理Ｓ８’の処理フローを示す。
図４において、今回補間周期での補間速度を算出し（ＳＳ１）、軸分配計算後、各軸の移動指令を作成する（ＳＳ４）。
【０００４】
図５は従来技術のプログラム（Ｏ１）を例示している。
図５において５０がプログラム（Ｏ１）で、これについて簡単に説明する。
プログラムＯ１は１ブロック毎にＸ軸方向に１００［μｍ］ずつ連続して移動するプログラムである。プログラムＯ１はＸ軸方向のみ移動するので、各ブロック間の角度はゼロである。したがって、数式（１）よりθｉ＝０なので、
ｃｏｓθｉ＝１となるため、Ｖｅｉ＝∞となる。
そこでこのようなプログラム（Ｏ１）を実行した場合、数式（１）から算出される第１のブロック終了速度は無限大となるため、実際の処理では、制御上の最大速度に設定される。したがって、全先読みブロックの修正ブロック終了速度は、第２のブロック終了速度が選択されることとなる。
図６は先読みブロック数＝６の場合における第２のブロック終了速度パターンを示している。すなわち、図６は補間周期毎の速度補間を行った距離−速度線図で、（ａ）は従来例で（ｂ）は本発明によるものである。
従来の技術ではブロック内速度の制限値をブロック内加速度の限界値（α２）および修正ブロック終了速度（Ｖｅ（ｉ））から、ブロック終点にてブロック終了速度になる速度（Ｖｒｅｆ（ｉ））を数式（３）によって算出している。
Ｖｒｅｆ（ｉ）＝（２×α２×Ｌｒｅｍ＋Ｖ２ｅ（ｉ））１／２　・・・数式（３）
Ｌｒｅｍ：ブロック残移動距離
Ｖｒｅｆ（ｉ）：第ｉブロック内の速度制限値
Ｖｅ（ｉ））：第ｉブロックの終了速度
そして、補間周期毎の補間速度（Ｖｉ）は、Ｖｒｅｆと補間速度を比較し、Ｖｒｅｆ＞Ｖｉの条件が満足されるまで補間速度は加速するため、プログラム（Ｏ１）を実行した場合、１ブロック内速度は図６（ａ）に示すようになる。すなわち、図６（ａ）において、縦軸は速度、横軸は距離で、第２のブロック終了速度にて速度が第１ブロックから第５ブロックに亘って加速と減速を繰り返している。
【０００５】
【発明が解決しようとする課題】
ところが、本来、プログラム（Ｏ１）ではブロック内速度の加速および減速は不要であり、加速と減速を繰り返すことによって、機械が振動的になったり、切削面に悪影響を与える恐れがあった。
そこで本発明は、滑らかな形状のプログラムを実行した場合に、図６（ａ）のような不要な加減速の繰り返しを防止し、機械の振動、および切削面の悪影響を与えない数値制御装置の速度制御方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記問題を解決するため、請求項１記載の数値制御装置における速度制御方法の発明は、サーボシステムの速度を加工プログラムに従って制御する数値制御装置であって、前記加工プログラムの各ブロックに指定された位置および速度情報を複数ブロックについて先読みするブロック情報先読み手段と、先読みした前記複数ブロックの各終了点における速度が、指定されたブロック間加速度限界値を越えないというブロック間加速度条件を満たすように、ブロック終了速度を演算する第１のブロック終了速度演算手段と、先読みした前記複数ブロックの各終了点における速度が、前記ブロック間加速度の限界値とは別に指定されたブロック内加速度の限界値を越えないというブロック内加速度条件を満たすようにブロック終了速度を演算する第２のブロック終了速度演算手段と、各ブロックにおいて、前記第１のブロック終了速度演算手段より求めた第１のブロック終了速度、および第２のブロック終了速度演算手段より求めた第２のブロック終了速度を比較し、小さい方を修正ブロック終了速度とするブロック終了速度比較手段と、前記ブロック内加速度の限界値、前記修正ブロック終了速度および指令値に基づいて補間演算を行う補間演算手段と、前記補間演算されたデータに基づいてサーボシステムの駆動を行うサーボシステム駆動手段とを備えた数値制御装置の速度制御方法において、前記ブロック終了速度比較手段での比較の結果、先読みした全ブロックにわたって第２のブロック終了速度が修正ブロック終了速度に選択された場合に、ブロック内速度が前記修正ブロック終了速度以上に加速することを前記補間演算手段に禁止させ、前記ブロック内速度を修正ブロック終了速度でクランプさせることを特徴とするものである。
【０００７】
【発明の実施の形態】
以下、本発明についてを図に基づいて詳しく説明する。
図１は本発明の実施の形態に基づくフローチャートである。
Ｓ１〜Ｓ５までのステップは、従来技術と同様である。すなわち、図１において、（１）まず、加工プログラムを１ブロック読み込む（Ｓ１）。
（２）次に、読み込んだ１ブロックを解析し、各ブロック情報を作成する（Ｓ２）。
（３）次に、ブロック情報を基にブロック終了点における速度が、指定されたブロック間加速度限界値（α１）を越えないというブロック間加速度条件を満たす第１のブロック終了速度（Ｖｅ１）を数式（１）によって算出する（Ｓ３）。ここで、
α１：ブロック間加速度の限界値
Ｔｓ：ブロック間の送り方向の変化がサンプリング時間
θｉ：隣接するブロックｉとブロックｉ＋１のなす角度
α１＝｛（１−ｃｏｓθｉ）／Ｔｓ｝×Ｖｅ１
Ｖｅ１＝α１×Ｔｓ／（１−ｃｏｓθｉ）　　・・・数式（１）
（４）次に、先読みしたブロック情報を基に各ブロック終了点における速度が、前記ブロック間加速度の限界値とは別に指定されたブロック内加速度の限界値（α２）を越えないというブロック内加速度条件を満たす第２のブロック終了速度（Ｖｅ２）を数式（２）によって算出する（Ｓ４）。
ここで、
α２：ブロック間加速度の限界値
Ｌ：ブロック長
Ｖ’ｅ２：１ブロック前の修正ブロック終了速度
Ｖｅ２＝（２×α２×Ｌ＋Ｖ’２ｅ２）１／２　・・・数式（２）
（５）次に、第１のブロック終了速度と第２のブロック終了速度の絶対値の小さい方を修正ブロック終了速度とする（Ｓ５）。
（６）以上のステップを先読みブロックすべてについて計算する。すべての計算が終了したら、本発明により設けられたステップ６へ進む。
ステップ６では、Ｓ５までのステップで、修正ブロック終了速度を作成した後、先読みした全ブロックが修正ブロック終了速度に第２のブロック終了速度を選択したか否かを判別するものである。
（７）判別結果、全ブロックで第２のブロック終了速度が選択された場合には、加速禁止フラグをオンにし、そうでない場合は加速禁止フラグをオフにして次のステップ８の補間処理に移る（Ｓ７）。
【０００８】
図２は本発明が行なっている補間処理Ｓ８の処理フローを示す。
補間処理（Ｓ８）は、補間周期毎に実行される。
（１）まず、今回補間周期での補間速度を算出する（ＳＳ１）。
（２）次に、加速禁止フラグの状態を判別し、フラグがオンの場合は、今回補間速度と修正ブロック終了速度を比較する（ＳＳ２）。
（３）比較の結果、今回補間速度が修正ブロック終了速度より大きい場合は、今回補間速度を修正ブロック終了速度とする（ＳＳ３）。
（４）その結果を軸分配し、各軸の移動指令を作成する（ＳＳ４）。
以上が本発明により設けられた不要な加減速反復防止フローである。
また、上記（２）において、加速禁止フラグがオフの場合および上記（３）の比較の結果今回補間速度が修正ブロック終了速度より小さい場合は、本発明の処理フローを経ずにいきなりＳＳ４の軸分配処理を行う。
このように、補間演算処理に修正ブロック終了速度選択情報を付加することによって、補間演算処理で、ブロック内速度が修正ブロック終了速度以上に加速することを禁止し、前記ブロック内速度を修正ブロック終了速度でクランプさせるため、滑らかな形状のプログラムを実行した場合に、図６（ｂ）に示すようになる。図６（ｂ）において、縦軸は速度、横軸は距離で、第２のブロック終了速度にて速度が第１ブロックから第５ブロックに亘って一定に保たれるようになり、図６（ａ）に示すような不要な加減速の繰り返しを防止している。
この結果、本発明に係る数値制御装置は機械の振動、および切削面の悪影響を与えず、加工を行うことができるようになる。
【０００９】
図７は、本発明に係る速度制御方法を実行する数値制御装置の構成を示したブロック図である。図７において、ＮＣプログラム７０から各軸の移動量を示す位置データと接線方向速度が指令され、ブロック先読み手段７１は加工プログラムの各ブロックに指定された位置および速度情報を複数ブロック分先読みする。
第１のブロック終了速度演算手段７２はブロック情報先読み手段７１で先読みした前記複数ブロックの各終了点における速度が、指定されたブロック間加速度限界値を越えないというブロック間加速度条件を満たすようにブロック終了速度を演算し、第２のブロック終了速度演算手段７３では、前記ブロック間加速度の限界値とは別に指定されたブロック内加速度の限界値を越えないというブロック内加速度条件を満たすようにブロック終了速度を演算する。
ブロック終了速度比較手段７４では、各ブロックにおいて、前記第１のブロック終了速度および第２のブロック終了速度を比較し、小さい方を修正ブロック終了速度とする。
比較結果監視手段７４０では、先読みした全ブロックにわたって第２のブロック終了速度が選択されたか否かを監視し、すべて選択された場合は加速禁止フラグのオン信号を補間演算手段７５に出力し、１ブロックでも選択されなかった場合は加速禁止フラグのオフ信号を補間演算手段７５に出力する。
補間演算手段７５では、前記ブロック内加速度の限界値、前記修正ブロック終了速度および指令値に基づいて補間演算を行ない、その際、加速禁止フラグのオン・オフを調べ、オン信号があった場合は、ブロック内速度が修正ブロック終了速度以上に加速することを禁止して、ブロック内速度を修正ブロック終了速度でクランプさせ、オフ信号の場合は通常の補間演算を行う。
サーボシステム駆動手段７６は、補間演算された補間データに基づいてサーボシステムの駆動を行なうもので、軸制御装置７７ｘ、７７ｙが、軸移動データに基づきサーボアンプ７８ｘ、７８ｙを介してサーボモータ７９ｘ、７９ｙを駆動する。
【００１０】
以上述べたように、本発明によれば、補間演算処理に修正ブロック終了速度選択情報を付加することによって、補間演算処理で、ブロック内速度が修正ブロック終了速度以上に加速することを禁止し、前記ブロック内速度を修正ブロック終了速度でクランプさせるため、滑らかな形状のプログラムを実行した場合に、図４に示すように、不要な加減速の繰り返しを防止し、機械の振動、および切削面の悪影響を与えず、加工を行うことができる。
【００１１】
【発明の効果】
以上述べたように、本発明によれば、サーボシステムの速度を加工プログラムに従って制御する数値制御装置であって、前記加工プログラムの各ブロックに指定された位置および速度情報を複数ブロックについて先読みするブロック情報先読み手段と、先読みした前記複数ブロックの各終了点における速度が、指定されたブロック間加速度限界値を越えないというブロック間加速度条件を満たすように、ブロック終了速度を演算する第１のブロック終了速度演算手段と、先読みした前記複数ブロックの各終了点における速度が、前記ブロック間加速度の限界値とは別に指定されたブロック内加速度の限界値を越えないというブロック内加速度条件を満たすようにブロック終了速度を演算する第２のブロック終了速度演算手段と、各ブロックにおいて、前記第１のブロック終了速度、および第２のブロック終了速度を比較し、小さい方を修正ブロック終了速度とするブロック終了速度比較手段と、前記ブロック内加速度の限界値、前記修正ブロック終了速度および指令値に基づいて補間演算を行う補間演算手段と、前記補間演算されたデータに基づいてサーボシステムの駆動を行うサーボシステム駆動手段とを備えた数値制御装置において、前記ブロック終了速度比較手段での比較の結果、先読みした全ブロックにわたって第２のブロック終了速度が選択された場合に、ブロック内速度が前記修正ブロック終了速度以上に加速することを前記補間演算手段に禁止させ、前記ブロック内速度を修正ブロック終了速度でクランプさせるようにしたので、滑らかな形状のプログラムを実行した場合に不要な加減速の繰り返しを防止し、機械の振動、および切削面の悪影響を与えず、加工を行うことができるようになる。
【図面の簡単な説明】
【図１】本発明の実施の形態に基づくフローチャートである。
【図２】本発明が行なっている補間処理フローである。
【図３】従来の技術のフローチャートである。
【図４】従来行なっている補間処理フローである。
【図５】従来技術のプログラムの１例である。
【図６】先読みブロック数＝６の場合における第２のブロック終了速度パターンを示すず線図で、（ａ）は従来例による速度補間、（ｂ）は本発明による速度補間を行った結果の距離−速度線図である。
【図７】本発明に係る速度制御方法を実行する数値制御装置の構成を示したブロック図である。
【符号の説明】
７０　ＮＣプログラム
７１　ブロック先読み手段
７２　第１のブロック終了速度演算手段
７３　第２のブロック終了速度演算手段
７４　ブロック終了速度比較手段
７４０　比較結果監視手段
７５　補間演算手段
７６　サーボシステム駆動手段
７７　軸制御装置
７８　サーボアンプ
７９　サーボモータ
【図１】
2004030540.tif 000003
【図２】
2004030540.tif 000004
【図３】
2004030540.tif 000005
【図４】
2004030540.tif 000006
【図５】
2004030540.tif 000007
【図６】
2004030540.tif 000008
【図７】
2004030540.tif 000009