(57)【要約】  数値制御装置（１）は、複数の並進軸によりテーブルまたは工具を移動させることにより前記テーブル上のワークと前記工具との位置関係を制御する工作機械の数値制御装置（１）において、複数の指令ブロックを含む加工プログラムに基づいて、移動経路および前記移動経路上の送り速度を出力する解析処理部（２１）と、予め設定された許容加速度および許容加加速度と前記送り速度に基づいて、停止状態と前記送り速度の状態の間の速度波形を計算する速度波形計算部（２３）と、予め設定された許容経路誤差、前記移動経路、および前記速度波形に基づいて、前記指令ブロックの継ぎ目において、前記移動経路を平滑化したコーナ曲線の曲線式を計算するコーナ曲線計算部（２４）と、前記移動経路および前記曲線式に基づいて、前記並進軸それぞれへの移動指令を出力する移動指令生成部（２２）と、を備える。
2016024338.tif 000002
【特許請求の範囲】
【請求項１】
複数の並進軸によりテーブルまたは工具を移動させることにより前記テーブル上のワークと前記工具との位置関係を制御する工作機械の数値制御装置において、  複数の指令ブロックを含む加工プログラムに基づいて、移動経路および前記移動経路上の送り速度を出力する解析処理部と、  予め設定された許容加速度および許容加加速度と前記送り速度に基づいて、停止状態と前記送り速度の状態の間の速度波形を計算する速度波形計算部と、  予め設定された許容経路誤差、前記移動経路、および前記速度波形に基づいて、前記指令ブロックの継ぎ目において、前記移動経路を平滑化したコーナ曲線の曲線式を計算するコーナ曲線計算部と、  前記移動経路および前記曲線式に基づいて、前記並進軸それぞれへの移動指令を出力する移動指令生成部と、  を備えることを特徴とする数値制御装置。
【請求項２】
前記移動経路生成部は、  前記曲線式に基づいて、前記移動経路に前記コーナ曲線を挿入するコーナ曲線挿入部と、  前記曲線式に基づいて、前記コーナ曲線上での移動速度を計算するコーナ曲線速度計算部と、  前記コーナ曲線が挿入された前記移動経路に沿った移動量および軸比に基づいて、前記許容加速度および前記許容加加速度の制限を満たすように、前記移動経路に沿った加減速後速度を計算する加減速処理部と、  前記加減速後速度および前記移動速度に基づいて、前記コーナ曲線上においては前記移動速度を用いて前記移動経路を補間し、前記コーナ曲線以外の前記移動経路においては前記加減速後速度を用いて前記移動経路を補間する補間処理部と、  を有する  ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記移動経路生成部は、  前記移動経路に沿った移動量および軸比に基づいて、前記許容加速度および前記許容加加速度の制限を満たすように、前記移動経路に沿った加減速後速度を計算する加減速処理部と、  前記曲線式および前記加減速後速度に基づいて、前記コーナ曲線上の移動速度を分配する速度分配部と、  前記加減速後速度および前記速度分配部によって分配された前記移動速度に基づいて、前記コーナ曲線上においては前記移動速度を用いて前記移動経路を補間し、前記コーナ曲線以外の前記移動経路においては前記加減速後速度を用いて前記移動経路を補間する第１補間処理部と、  前記加減速後速度および前記速度分配部によって分配された前記移動速度に基づいて、前記コーナ曲線上においては前記移動速度を用いて前記移動経路を補間し、前記コーナ曲線以外の前記移動経路においては前記加減速後速度を用いて前記移動経路を補間する第２補間処理部と、  を有し、  前記第１補間処理部と前記第２補間処理部とは、前記コーナ曲線上および前記移動経路上の異なる経路の補間処理を並列的に実行する  ことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、補間前加減速制御中に移動経路を平滑化可能な数値制御装置に関する。
【背景技術】
【０００２】  数値制御装置が搭載された工作機械では、加工プログラムにて指令された位置に移動するよう、各駆動軸の制御を行うことで可動部を移動させながら加工が行われる。数値制御装置では、加工プログラムに記載された移動経路を指令された速度で精度よく移動させるための技術として補間前加減速がある。補間前加減速は、移動経路に沿った方向、即ち接線方向の加減速波形を生成した後、生成した加減速波形と移動経路を対応させながら補間を行う技術である。一般に、補間前加減速を用いる場合、各移動指令の接続部であるコーナのように急峻に変化する経路において過大な加速度が発生するため、コーナ毎に適切な速度になるまで減速し、コーナ部を通過した後に指令された送り速度にまで加速していたため移動時間が長くなる問題があった。【０００３】  これに対し、以下に示す特許文献１では、移動経路に対する許容経路誤差が指定された場合に、加工プログラムに記載された移動経路と平滑化後の移動経路の差である経路誤差が、指定された許容経路誤差以下となる範囲で、コーナ部分にクロソイド曲線を挿入することで経路を平滑化する技術が開示されている。この特許文献１では、さらに、クロソイド曲線式に基づいて、許容加速度を超えないクロソイド曲線上の速度を計算し、クロソイド曲線を挿入する前の経路とクロソイド曲線との接続部における速度を連続的に変化させる技術が開示されている。これより、コーナ毎に行っていた加減速が不要となり、移動時間の短縮が可能になるとされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−６４６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】  しかしながら、特許文献１に記載された技術によれば、加工プログラムに記載された移動経路に対する経路誤差が予め定めた値以下になるような移動経路を生成することはできても、発生する加速度が許容加速度の範囲を超えないことを保証することはできない。例えば、許容経路誤差が限りなく０に近い、小さな値である場合、微小な範囲でクロソイド曲線が挿入されることになる。この場合、クロソイド曲線を挿入したとしても、許容経路誤差が０の場合の移動経路、即ち、加工プログラムに記載された経路にほぼ一致する経路となるため、クロソイド曲線上を計算した速度で通過させても急加減速してしまう問題があった。【０００６】  このように、特許文献１においては、クロソイド曲線を挿入することで発生する加速度を許容加速度の範囲を超えないようにできると記載されているが、許容経路誤差が大きな値である場合にしか対応できず、許容経路誤差が小さい場合には過大な速度変化が発生するという問題があった。即ち、与えられたトレランスの範囲内で経路の平滑化を行うと加速度が過大になってしまうという問題があった。また、クロソイド曲線上を通過する際に許容加速度以下にするには、許容経路誤差の調整が必要となるため、経路誤差の管理が難しくなるといった問題があった。【０００７】  また、特許文献１に記載の技術の範囲ではないが、特許文献１の技術を改良することで、例えば、クロソイド曲線部の始点に到達するまでの加工プログラムに記載された移動経路上の直線部で予め定めた速度にまで減速を行い、減速後の速度を直線部の指令速度とみなして特許文献１に記載の技術を用いることで、上記問題を解決することも考えられる。【０００８】  この場合、直線部での減速方式により得られる速度波形が、クロソイド曲線式により得られる速度波形と異なるため、直線部と曲線部の接続部における速度波形が歪むといった問題があった。これは、特に、加速度が連続になるような加減速波形で動作させる場合には、２段減速波形のように加減速波形が歪んでしまう結果となり、無用に移動時間が長くなる、場合によっては振動を励起してしまう問題となっていた。即ち、平滑化した経路の出入り口での無用な加減速による無駄時間が大きくなるという問題があった。【０００９】  本発明は、上記に鑑みてなされたものであって、各移動指令の接続部を平滑化する際に、移動経路の滑らかさに加えて各移動指令の接続部における挿入曲線の始終点前後における速度変化をも滑らかにすることができる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】  上述した課題を解決し、目的を達成するために、本発明は、複数の並進軸によりテーブルまたは工具を移動させることにより前記テーブル上のワークと前記工具との位置関係を制御する工作機械の数値制御装置において、複数の指令ブロックを含む加工プログラムに基づいて、移動経路および前記移動経路上の送り速度を出力する解析処理部と、予め設定された許容加速度および許容加加速度と前記送り速度に基づいて、停止状態と前記送り速度の状態の間の速度波形を計算する速度波形計算部と、予め設定された許容経路誤差、前記移動経路、および前記速度波形に基づいて、前記指令ブロックの継ぎ目において、前記移動経路を平滑化したコーナ曲線の曲線式を計算するコーナ曲線計算部と、前記移動経路および前記曲線式に基づいて、前記並進軸それぞれへの移動指令を出力する移動指令生成部と、を備えることを特徴とする。
【発明の効果】
【００１１】  この発明にかかる数値制御装置によれば、各移動指令の接続部を平滑化する際に、移動経路の滑らかさに加えて各移動指令の接続部における挿入曲線の始終点前後における速度変化をも滑らかにすることができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態にかかる数値制御装置の構成を示すブロック図
【図２】本発明の実施の形態にかかる加速度の時間変化を示す図
【図３】本発明の実施の形態にかかる加速度の時間変化を示す図
【図４】本発明の実施の形態にかかる加速度の時間変化を示す図
【図５】本発明の実施の形態にかかるコーナ曲線計算部の処理を示すフローチャート
【図６】本発明の実施の形態にかかるコーナ曲線経路を示す図
【図７】図６におけるＸ軸およびＹ軸の速度波形を示す図
【図８】本発明の実施の形態１における移動指令生成部の構成を示すブロック図
【図９】本発明の実施の形態にかかるコーナ曲線経路を示す図
【図１０】図９におけるＸ軸およびＹ軸の速度波形を示す図
【図１１】本発明の実施の形態２における移動指令生成部の構成を示すブロック図
【図１２】本発明の実施の形態２における補間処理を説明するフローチャート
【発明を実施するための形態】
【００１３】  以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】実施の形態１．  図１は、本発明の実施の形態１にかかる数値制御装置１の構成を示すブロック図である。数値制御装置１は、図示しない工作機械に対して数値制御（ＮＣ：Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）を実行する装置である。
【００１５】  数値制御装置１は、解析処理部２１、移動指令生成部２２、速度波形計算部２３、コーナ曲線計算部２４、およびデータベース保持部２５を有する。数値制御装置１が搭載された工作機械は、加工プログラム２、即ちＮＣ加工プログラムにより指令された位置に移動するよう、各並進軸の制御を行うことでワークを搭載可能な可動部であるテーブルまたは工具を移動させることにより、テーブル上のワークと工具との位置関係を制御することによりワークに対する加工を実行する。
【００１６】  数値制御装置１は、工具の位置を所望の工具位置となるように、図示しない複数の並進軸であるＸ軸、Ｙ軸、およびＺ軸のそれぞれを適切に制御することで、ワークに対する加工を実現している。具体的には、数値制御装置１の移動指令生成部２２が移動指令２２０をサーボアンプ４に出力する。サーボアンプ４は、Ｘ、Ｙ、およびＺ軸にそれぞれ対応するＸ軸アンプ４Ｘ、Ｙ軸アンプ４Ｙ、およびＺ軸アンプ４Ｚを有しており、移動指令２２０はＸ軸アンプ４Ｘ、Ｙ軸アンプ４Ｙ、およびＺ軸アンプ４Ｚに与えられる。これにより、Ｘ軸アンプ４Ｘ、Ｙ軸アンプ４Ｙ、およびＺ軸アンプ４Ｚは、それぞれ、図示しないＸ軸サーボモータ、Ｙ軸サーボモータ、およびＺ軸サーボモータに電圧指令を出力し駆動する。
【００１７】  図１の加工プログラム２は、Ｇコードと呼ばれる指令コードを用いて記述されたＮＣ加工プログラムであり、移動指令として、位置決め指令「Ｇ００」および切削指令「Ｇ０１」などの指令コードを用いて記述されたＮＣ加工プログラムである。一般に、切削指令の場合の送り速度２００は加工プログラム２に記載され、Ｆアドレスを用いて記述されるものである。なお、以降では、加工プログラム２に記載された移動指令のそれぞれを指令ブロックと表現し、通常、加工プログラム２の１行ずつがそれぞれ１つの指令ブロックに相当し、加工プログラム２は複数の指令ブロックを有する。
【００１８】  データベース保持部２５は、加速度の許容値である許容加速度５、加速度の微分値の許容値である許容加加速度６、および許容経路誤差７をデータベースとして保持している。許容加速度５および許容加加速度６は、機械に取りつけられた駆動軸それぞれの能力に応じて設定される値であり、予めデータベースとして設定される値である。なお、許容加速度５は、必ず設定されている必要があるが、許容加加速度６は、設定されていなくてもよく、許容加加速度６をゼロとして設定することを許容加加速度６が設定されていないとみなしてもよい。
【００１９】  なお、許容加速度５、許容加加速度６は、速度と複数の移動平均フィルタ時定数の組み合わせで表現する形態でもよく、許容加速度５を最大速度を第１の移動平均フィルタ時定数で除算した値とし、最大速度を第１の移動平均フィルタ時定数で除算した値をさらに第２の移動平均フィルタ時定数で除算することで、許容加加速度６を計算する形態でもよい。ここで、第１の移動平均フィルタ時定数は直線加減速時定数であり、第２の移動平均フィルタ時定数はＳ字加減速時定数、即ちソフト加減速フィルタ時定数である。
【００２０】  また、各軸の許容加速度および許容加加速度から、全軸共通の許容加速度５および許容加加速度６を計算し、加減速時の許容値として使用する形態でもよい。
【００２１】  トレランスである許容経路誤差７は、加工プログラム２に記載された移動経路と後述する数値制御装置１の出力である移動指令２２０との経路誤差の許容値であり、予め数値制御装置１内部のデータベース保持部２５に保存されている距離である。なお、許容経路誤差７は、加工プログラム２にて指令し、加工プログラム２の途中での変更を可能とする形態でもよい。
【００２２】  数値制御装置１は、加工プログラム２を解析し、解析結果に応じてサーボアンプ４を介して、例えば、図示しない工作機械を制御して、テーブルに載置されたワークに対する相対的な工具位置を制御しながら、ワークの加工を行う。
【００２３】  解析処理部２１は、加工プログラム２を１指令ブロックずつ読み込み、読み込んだ指令ブロックに記述された動作命令を解析して指令ブロック毎の移動データ２１０を生成し、移動指令生成部２２、速度波形計算部２３、およびコーナ曲線計算部２４へ供給する。解析処理部２１は、加工プログラム２に基づいて、移動データ２１０に含まれる移動経路上の送り速度２００を求める。
【００２４】  移動データ２１０は、各指令ブロックの命令を解釈した結果得られたデータであって、加工プログラム２に記載された移動経路、指令ブロック毎の各並進軸の移動位置、各駆動軸の移動距離、軸比、移動速度、補間モード、前後の指令経路のなす角度、即ち軸比変化量など、軸毎の補間点を決定するために必要な情報である。ここで、各並進軸の移動位置は、例えば指令ブロックの始点位置および終点位置であり、補間モードは、例えば直線、円弧、非補間である。
【００２５】  移動指令生成部２２は、移動データ２１０およびコーナ曲線式２４０に基づいて、加工プログラム２に記載された移動経路に沿った各並進軸への移動指令２２０をサーボアンプ４に出力する。移動指令生成部２２では、まず、移動量、軸比などの情報に基づいて経路に沿った方向の加減速後速度を計算し、次に、加減速後速度に応じて加工プログラム２に記載された経路上を補間することで移動指令２２０を出力する。加減速後速度は、許容加速度５および許容加加速度６の制限を満たすように平滑化された速度の時間変化である。
【００２６】  なお、移動指令生成部２２は、後述するコーナ曲線計算部２４の出力であるコーナ曲線式２４０が規定された経路を補間する場合、コーナ曲線式２４０で規定された経路を通過する移動指令２２０を出力し、コーナ曲線式２４０が規定されていない経路を補間する場合、加工プログラム２に記載された移動経路を通過する移動指令２２０を出力する。
【００２７】  また、移動指令生成部２２で生成される加減速後速度は、従来の公知技術と同様の処理を用いて計算するものとし、許容加速度５、許容加加速度６を超えない範囲で計算されるものであり、移動平均フィルタなどの、フィルタ処理により得られるものでよい。また、加減速後速度は、隣接する指令ブロック間の軸比変化量に基づいて減速するかどうかの判定を行うものでもよく、隣接する指令ブロック同士のなす角度に基づいて減速するかどうかの判定を行うものでもよい。
【００２８】  速度波形計算部２３は、予め設定された許容加速度５および許容加加速度６、加工プログラム２に記載された送り速度２００に基づいて、停止状態である送り速度０の状態から加工プログラム２に記載された送り速度２００である送り速度Ｆの状態になるまでの間の速度波形を示す速度式２３０を計算する。速度波形計算部２３によって計算された速度式２３０はコーナ曲線計算部２４に出力される。速度波形計算部２３では、移動指令生成部２２の加減速後速度の計算方法と同様の計算方法により、送り速度０から送り速度Ｆまでの速度式２３０を計算する。
【００２９】  以下に、許容加速度Ａ、送り速度Ｆ、加速開始時刻をｔ＝０とした場合を例に、速度式計算の一例を示す。この場合、得られる速度波形は、一定加速度で加減速する速度波形であり、速度式Ｖ１（ｔ）は、  Ｖ１（ｔ）＝Ａ×ｔ  …（１）で計算でき、時刻ｔ＝Ｆ／Ａで速度Ｆに到達する速度式となる。なお、このとき時刻ｔにおける移動距離Ｘ１（ｔ）は、Ｖ１（ｔ）をｔで積分することで計算でき、  Ｘ１（ｔ）＝Ａ／２×ｔ＾２  …（２）となる。なお、「＾」の後の数字は指数を示し、式（２）ではｔの２乗を表現している。以下同様な表記を用いる。
【００３０】  次に、許容加速度Ａ、許容加加速度Ｊ、送り速度Ｆ、加速開始時刻をｔ＝０とした場合の速度式を示す。このケースは、速度式Ｖ２（ｔ）は、許容加速度Ａ、許容加加速度Ｊ、送り速度Ｆの関係に応じて異なる。
【００３１】  例えば、Ｆ＞１／Ｊ×Ａ＾２の場合、加速度が許容加速度Ａに一致する状態を含む速度式となり、図２に示すような加速度変化となる。ここで、Ｔ１＝Ｆ／Ａ、Ｔ２＝Ａ／Ｊとした場合、速度式Ｖ２（ｔ）は、  Ｖ２（ｔ）＝Ｊ／２×ｔ＾２  （０＜ｔ＜Ｔ２の場合）  …（３）  Ｖ２（ｔ）＝Ｊ×Ｔ２×ｔ−Ｊ／２×（Ｔ２）＾２  （Ｔ２＜ｔ＜Ｔ１の場合）  …（４）  Ｖ２（ｔ）＝Ｆ−Ｊ／２×（Ｔ１＋Ｔ２−ｔ）＾２  （Ｔ１＜ｔの場合）      …（５）と計算することができる。
【００３２】  なお、上記では、Ｆ＞１／Ｊ×Ａ＾２の場合についての速度式Ｖ２（ｔ）の例について説明したが、加速度が許容加速度Ａに一致する状態を含まない加速度変化でもよく、加速度変化が図３に示すように、三角形状になる場合でもよい。この場合、Ｆ＜１／Ｊ×Ａ＾２の条件が成り立ち、Ｔ３＝√（Ｆ／Ｊ）とすると、速度式Ｖ２（ｔ）は、  Ｖ２（ｔ）＝Ｊ／２×ｔ＾２  （０＜ｔ＜Ｔ３の場合）  …（６）  Ｖ２（ｔ）＝Ｆ−Ｊ／２×（２×Ｔ３−ｔ）＾２  （Ｔ３＜ｔの場合）  …（７）と計算することができる。
【００３３】  また、Ｆ＜１／Ｊ×Ａ＾２の条件が成り立つ場合でも、図４で示した加速度変化の時刻Ｔ１から時刻Ｔ２の区間のように、加速度が一定状態となる区間を含む場合でもよく、この場合、速度式Ｖ２（ｔ）は、  Ｖ２（ｔ）＝Ｊ／２×ｔ＾２  （０＜ｔ＜Ｔ１の場合）  …（８）  Ｖ２（ｔ）＝Ｊ×Ｔ１×ｔ−Ｊ／２×（Ｔ１）＾２  （Ｔ１＜ｔ＜Ｔ２の場合）  …（９）  Ｖ２（ｔ）＝Ｆ−Ｊ／２×（Ｔ１＋Ｔ２−ｔ）＾２  （Ｔ２＜ｔの場合）  …（１０）と計算することができる。なお、このとき、時刻ｔにおける移動距離Ｘ２（ｔ）は、Ｖ２（ｔ）を積分することで計算することができる。
【００３４】  以上、送り速度０から送り速度Ｆまで加速する波形として許容加速度５のみを考慮に入れた場合の加速度波形の場合についての速度式の導出例、および、許容加速度５と許容加加速度６の両方を考慮に入れた場合の加速度波形の場合についての速度式の導出例を示した。しかし、以上で求めた速度式の例よりもさらに滑らかに変化するような速度波形であってもよい。この場合、加加速度の時間変化量に許容値を設定し、速度波形を生成すればよいので、速度波形計算部２３が求める速度波形は、上述した例に限定されるものではない。
【００３５】  コーナ曲線計算部２４は、速度波形を示す速度式２３０、移動データ２１０、および許容経路誤差７に基づいて、指令ブロックの継ぎ目において移動経路を平滑化した経路である平滑化経路を示すコーナ曲線式２４０の計算を行い、コーナ曲線式２４０を移動指令生成部２２に出力する。移動経路を平滑化した経路はコーナ曲線であり、当該コーナ曲線の曲線式がコーナ曲線式２４０である。
【００３６】  図５は、コーナ曲線計算部２４の処理を示すフローチャートであり、以下の手順でコーナ曲線式２４０の計算を行う。
【００３７】  まず、ステップＳ１１０では、移動経路を曲線化する指令ブロックの継ぎ目を決定する。具体的には、移動データ２１０に基づいて、振動的な挙動を示す指令ブロック継ぎ目、即ち、移動経路の方向の変化が不連続、または移動経路の曲率が不連続であることに起因して工作機械の動作に振動的な挙動が発生してしまうおそれがある指令ブロック継ぎ目の抽出を行う。ここでは、振動的な挙動となるかどうかを隣接する指令ブロックのなす角度を基準に判定してもよく、軸比変化量に基づいて判定してもよい。また、経路の変化によらず、すべての指令ブロックの継ぎ目の移動経路を平滑化の対象としてもよく、平滑化経路を生成する際の処理負荷を考慮に入れて、平滑化する指令ブロックの継ぎ目を制限するようにしてもよい。その後、ステップＳ１１１に移行する。
【００３８】  ステップＳ１１１では、ステップＳ１１０で選択した指令ブロックの継ぎ目を中心とする前後の移動経路を数式で表現する。具体的には、経路に沿った距離ｓを入力とし、ｓ＝０をステップＳ１１０で選択した指令ブロックの継ぎ目とし、ｓ＜０の範囲を指令ブロックの継ぎ目より前の経路Ｐ１（ｓ）とし、ｓ＞０の範囲を指令ブロックの継ぎ目より後の経路Ｐ２（ｓ）とする。ここで、Ｐ１（ｓ）およびＰ２（ｓ）は、全ての駆動軸の位置を要素とする位置ベクトルとして表現したものであり、ｓに応じた位置を示す数式となっている。
【００３９】  次にステップＳ１１２では、ステップＳ１１０で決定した指令ブロックの継ぎ目よりも後の経路と指令ブロックの継ぎ目よりも前の経路のそれぞれに対して、ステップＳ１１１で計算した経路式と、速度波形計算部２３で計算した速度式２３０の対応付けを行う。
【００４０】  具体的には、例えば、指令ブロックの継ぎ目よりも後の経路の場合、経路に沿った距離ｓ＝０における時刻をｔ２＝０とし、許容加速度５が設定された場合の速度式Ｖ１（ｔ）を用いて時刻ｔ２における位置Ｘ１（ｔ２）を計算する。そして、位置Ｘ１（ｔ２）を指令ブロックの継ぎ目より後の経路Ｐ２（ｓ）の媒介変数であるｓとすることで、時刻ｔ２における経路に沿った距離ｓ２を計算する。つまり、以下の数式により距離ｓ２を計算する。  ｓ２＝Ｘ１（ｔ２）  …（１１）
【００４１】  次に、指令ブロックの継ぎ目よりも前の経路に対して、経路に沿った距離ｓ＝０における時刻をｔ１＝０とし、速度式を用いて時刻−ｔ１における位置Ｘ１（ｔ１）を計算する。そして、位置Ｘ１（ｔ１）を指令ブロックの継ぎ目より前の経路Ｐ１（ｓ）の媒介変数であるｓとすることで、時刻−ｔ１における経路に沿った距離ｓ１を計算する。つまり、以下の数式により距離ｓ１を計算する。  ｓ１＝−Ｘ１（ｔ１）  …（１２）
【００４２】  ステップＳ１１３では、許容経路誤差７であるＴＯＬと、前の経路Ｐ１（ｓ）および後の経路Ｐ２（ｓ）を示す数式に基づいて、ｔ１とｔ２の関係を算出し、時刻ｔにおけるコーナ曲線式２４０の導出を行う。例えば、図６を用いて、Ｘ軸移動後にＹ軸移動する場合に許容経路誤差ＴＯＬに一致する経路生成方法を示す。図７は、図６の経路におけるＸ軸およびＹ軸の速度の時間変化を示す。
【００４３】  まず、移動経路と経路誤差ＥＲＲとの関係を、経路式Ｐ１（ｓ）およびＰ２（ｓ）、並びに指令ブロック継ぎ目を中心とする移動距離Δｓを用いて、以下の数式で表す。ＥＲＲ＝｜Ｐ１（−Δｓ）−Ｐ１（０）＋Ｐ２（Δｓ）−Ｐ２（０）｜  …（１３）そして、この関係から経路誤差ＥＲＲが許容経路誤差ＴＯＬに一致する場合のΔｓを計算する。
【００４４】  次に、指令ブロックの継ぎ目から経路上の距離Δｓだけ移動する際の移動時間Δｔを以下の関係式から計算する。  Δｓ＝Ｘ１（Δｔ）  …（１４）
【００４５】  上記のようにして得たΔｔを使って、以下の数式よりΔｓａを計算する。  Δｓａ＝Ｘ１（２×Δｔ）  …（１５）
【００４６】  上記のようにして得たΔｓａにより、ｓ＝Δｓａを平滑化経路の終点位置とし、ｓ＝−Δｓａを平滑化経路の始点位置とすることでコーナ曲線式２４０の端点が決定する。
【００４７】  次にコーナ曲線式Ｑ（ｔ）の導出を行う。Ｑ（ｔ）は時間に関する関数であり、コーナ曲線始点における時刻をｔ＝−Δｔ、コーナ曲線終点における時刻をｔ＝Δｔとし、経路Ｐ１（ｓ）におけるｓ＝−Δｓａからｓ＝０までの移動と、経路Ｐ２（ｓ）におけるｓ＝０からｓ＝Δｓａまでの移動を合成することにより得られる経路である。
【００４８】  コーナ曲線式Ｑ（ｔ）は、以下の数式で計算する。  Ｑ（ｔ）＝Ｐ１（−Ｘ１（−ｔ＋Δｔ））＋Ｐ２（Ｘ１（ｔ＋Δｔ））−Ｐ２（０）  …（１６）そして、時刻ｔ＝−Δｔで、  Ｑ（−Δｔ）＝Ｐ１（−Δｓａ）  …（１７）となり、時刻ｔ＝Δｔで、  Ｑ（Δｔ）＝Ｐ２（Δｓａ）  …（１８）となる。
【００４９】  以上より、許容加速度５が設定された場合についてのコーナ曲線式２４０を導出することができた。なお、許容加速度５に加え、許容加加速度６が設定された場合でも同様の処理を行えばよく、この場合、ステップＳ１１２、ステップＳ１１３で使用する速度式として、Ｘ１（ｓ）の代わりにＸ２（ｓ）を使えばよい。
【００５０】  以下では、本実施の形態１における移動指令生成部２２の構成について詳細に説明を行う。図８は、本実施の形態１における移動指令生成部の構成を示すブロック図である。移動指令生成部２２は、コーナ曲線挿入部２２Ａ、コーナ曲線速度計算部２２Ｂ、加減速処理部２２Ｃ、および補間処理部２２Ｄを有する。
【００５１】  コーナ曲線挿入部２２Ａは、コーナ曲線計算部２４で求められたコーナ曲線式２４０を移動データ２１０に含まれる移動経路に挿入し、急峻に変化する経路を滑らかな経路に置き換える処理を行う。具体的には、指令ブロックの継ぎ目よりΔｓａだけ経路に沿って戻った位置である手前の位置をコーナ曲線の始点とし、指令ブロックの継ぎ目より、Δｓａだけ経路に沿って進んだ位置をコーナ曲線の終点とし、コーナ曲線の始点から終点の間をコーナ曲線式Ｑ（ｔ）となる経路に置き換える処理を行うものである。
【００５２】  コーナ曲線速度計算部２２Ｂは、コーナ曲線式２４０に従って、コーナ曲線上を通過する移動速度を計算する。コーナ曲線上を通過する移動速度は、コーナ曲線式Ｑ（ｔ）を時間微分することで計算する。
【００５３】  加減速処理部２２Ｃは、コーナ曲線が挿入された移動経路に沿った移動量、軸比などの情報に基づいて、許容加速度５および許容加加速度６の制限を満たすように、移動経路に沿った方向の加減速後速度を計算する。
【００５４】  補間処理部２２Ｄは、コーナ曲線速度計算部２２Ｂが求めたコーナ曲線上を通過する移動速度および上記加減速後速度に基づき、コーナ曲線を含む移動経路上の補間を行い、移動指令２２０をサーボアンプ４に出力する。具体的には、補間処理部２２Ｄは、コーナ曲線上においてはコーナ曲線速度計算部２２Ｂが求めた移動速度を用いて移動経路を補間し、コーナ曲線以外においては加減速後速度を用いて移動経路を補間する。
【００５５】  以上の計算により、経路の平滑化による経路誤差が許容経路誤差に一致する平滑化範囲を計算することが可能となる。
【００５６】  以下では、具体的な加工プログラム２の例を用いて、本実施の形態１における数値制御装置１の動作を具体的に説明する。
【００５７】  例えば、加工プログラム２が、以下のように記載されていたとする。
【００５８】  Ｏ１００  Ｎ１  Ｇ５４  Ｇ９０  Ｎ２  Ｇ０  Ｘ０．Ｙ０．；  Ｎ１０  Ｇ１  Ｘ１００．Ｆ３０００；  Ｎ２０  Ｙ１００．；
【００５９】  上記した加工プログラム２の１行目の「Ｏ１００」は、「Ｏアドレス」に続く数字により、加工プログラム番号を示すものであり、加工プログラム１００番を示している。上記した加工プログラム２を以下では、加工プログラム１００番と呼ぶことにする。
【００６０】  加工プログラム１００番のシーケンス番号「Ｎ１」の指令ブロックにおいて、「Ｇ５４」は座標系原点位置を指定し、「Ｇ９０」で指令された座標値が座標系の絶対位置であることを示している。
【００６１】  次に、加工プログラム１００番のシーケンス番号「Ｎ２」の指令ブロックにおいては、「Ｇ０」で現在の位置から、座標系上の点（Ｘ，Ｙ）＝（０，０）の位置に移動し、各軸の最大速度での移動を行う。
【００６２】  そして、加工プログラム１００番のシーケンス番号「Ｎ１０」の指令ブロックでは、「Ｎ２」の指令ブロックで位置決めした位置から、（Ｘ，Ｙ）＝（１００，０）まで速度３０００ｍｍ／ｍｉｎで移動する指令を行う。
【００６３】  加工プログラム１００番のシーケンス番号「Ｎ２０」の指令ブロックでは、「Ｎ１０」の指令ブロックの終点から（Ｘ，Ｙ）＝（１００，１００）の位置に移動する指令を行っている。
【００６４】  この加工プログラム１００番の「Ｎ１０」および「Ｎ２０」の指令ブロックの継ぎ目における動作について示す。例えば、許容加速度を１ｍ／ｓ＾２とし、許容経路誤差を０．１ｍｍとして設定した場合、「Ｎ１０」の指令ブロックの経路、即ち指令ブロックの継ぎ目より前の経路Ｐ１（ｓ）は、以下の数式で表わされる。  Ｐ１（ｓ）＝（１００＋ｓ，０）  …（１９）そして、「Ｎ２０」の指令ブロックの経路、即ち指令ブロック継ぎ目より後の経路Ｐ２（ｓ）は、以下の数式で表わされる。  Ｐ２（ｓ）＝（１００，ｓ）  …（２０）
【００６５】  数式（１９）および数式（２０）より、許容経路誤差７と経路誤差との関係から、  Δｓ＝ＴＯＬ／√２≒０．０７０７ｍｍ  …（２１）が得られる。そしてΔｔは、数式（１４）のΔｓ＝Ｘ１（Δｔ）の関係より、  Δｔ＝√（√２×ＴＯＬ）≒１１．８９ｍｓ  …（２２）となる。これより経路式Ｑ（ｔ）が、  Ｑ（ｔ）＝（１００−１／２×（−ｔ＋Δｔ）＾２，１／２×（ｔ＋Δｔ）＾２）  …（２３）として計算される。
【００６６】  この経路式Ｑ（ｔ）を時間微分することで、コーナ曲線上の通過速度式が計算され、  ｄＱ（ｔ）／ｄｔ＝（−ｔ＋Δｔ，ｔ＋Δｔ）  …（２４）となり、時刻−Δｔから時刻Δｔまでの間に、Ｘ軸が速度２Δｔから速度０まで加速度１ｍ／ｓ＾２で減速し、Ｙ軸が速度０から速度２Δｔまで加速度１ｍ／ｓ＾２で加速することになる。このようにコーナ曲線部での加速度をコーナ曲線部以外の加速度と同じ加速度にできるため、移動経路と、各軸速度波形の両方を滑らかにすることが可能となり、図７の速度波形を得ることができる。
【００６７】  次に、許容加速度５を１ｍ／ｓ＾２、許容加加速度６を１００ｍ／ｓ＾３、許容経路誤差７であるＴＯＬを０．１ｍｍ、送り速度２００を示すＦを３０００ｍｍ／ｍｉｎとした場合について示す。この場合、Ｐ１（ｓ）、Ｐ２（ｓ）、およびΔｓの導出は、数式（１９）、数式（２０）、および数式（２１）を用いて計算することができ、Δｔの計算において数式（２２）とは異なる数式を使用する。この場合、数式（３）〜数式（１０）のいずれかの速度式Ｖ２（ｔ）を積分して得られるＸ２（ｔ）を用いて、Δｓに一致する時間Δｔを計算する。
【００６８】  Ｆ＞１／Ｊ×Ａ＾２＝１／１００×１＾２＝０．０１ｍ／ｓ＝６００ｍｍ／ｍｉｎの関係より、使用する速度式は、数式（３）〜数式（５）となり、速度式Ｖ２（ｔ）を時間積分することで、移動距離Ｘ２（ｔ）を計算することができる。０＜ｔ＜Ｔ２の場合は、以下の数式でＸ２（ｔ）が表わされる。  Ｘ２（ｔ）＝Ｊ／６×ｔ＾３  …（２５）Ｔ２＜ｔ＜Ｔ１の場合は、以下の数式でＸ２（ｔ）が表わされる。  Ｘ２（ｔ）＝Ｊ×Ｔ２／６×｛３×ｔ＾２−３×Ｔ２×ｔ＋Ｔ２＾２｝  …（２６）Ｔ１＜ｔの場合は、以下の数式でＸ２（ｔ）が表わされる。  Ｘ２（ｔ）＝Ｊ／６×｛−ｔ＾３＋３（Ｔ１＋Ｔ２）ｔ＾２−３ｔ（Ｔ１＾２＋Ｔ２＾２）＋（Ｔ１＾３＋Ｔ２＾３）｝  …（２７）
【００６９】  以上より、  ＴＯＬ／√２＝Ｘ２（Δｔ）  …（２８）の関係を満たすΔｔは、数式（２６）を使用した場合であることがわかり、数式（２６）および数式（２８）をΔｔについて解くことで、  Δｔ≒０．０１６５ｓと計算することができる。
【００７０】  次に、コーナ曲線式Ｑ（ｔ）を導出する。コーナ曲線式Ｑ（ｔ）は、  Ｑ（ｔ）＝Ｐ１（−Ｘ２（−ｔ＋Δｔ））＋Ｐ２（Ｘ２（ｔ＋Δｔ））−Ｐ２（０） …（２９）であるが、Ｘ２（ｔ）は時間に応じて数式が変化するため、区分的に異なる数式で表現される曲線式となる。
【００７１】  これより、−Δｔ≦ｔ＜−Ｔ２の場合、Ｐ１の変数Ｘ２（ｔ）には数式（２６）を使い、Ｐ２の変数Ｘ２（ｔ）には数式（２５）を使うことでコーナ曲線式Ｑ（ｔ）が計算できる。
【００７２】  また、−Ｔ２≦ｔ＜Ｔ２の場合、Ｐ１の変数Ｘ２（ｔ）には数式（２６）を使い、Ｐ２の変数Ｘ２（ｔ）には数式（２６）を使うことでコーナ曲線式Ｑ（ｔ）が計算できる。
【００７３】  最後に、Ｔ２≦ｔ＜Δｔの場合、Ｐ１の変数Ｘ２（ｔ）には数式（２５）を使い、Ｐ２の変数Ｘ２（ｔ）には数式（２６）を使うことでコーナ曲線式Ｑ（ｔ）が計算できる。
【００７４】  以上のコーナ曲線式Ｑ（ｔ）を用いた場合のコーナ曲線経路は図９となり、図９におけるＸ軸およびＹ軸の速度波形は図１０となる。
【００７５】  以上説明したように、本実施の形態１においては、速度波形計算部２３で計算した速度式２３０に応じて、許容経路誤差７を満たした平滑化経路を生成してその上を平滑化経路の出入り口において速度波形の歪みを生ずることなく移動させることが可能となる。即ち、平滑化経路の出入り口における速度波形が歪むことなく、経路の平滑化が可能となる。従って、加減速波形が複数段状になることを回避できるので、移動時間を短くすることが可能となる。
【００７６】実施の形態２．  次に、実施の形態２にかかる数値制御装置１について説明する。実施の形態２にかかる数値制御装置１の構成は図１と同様である。以下では、実施の形態１と異なる部分を中心に説明する。
【００７７】  実施の形態１にかかる数値制御装置１においては、移動指令生成部２２において、加工プログラム２に記載された移動経路をコーナ曲線を含む経路に置き換えることで、各軸速度を滑らかにする方式を用いていた。これに対し、実施の形態２にかかる数値制御装置１の移動指令生成部２２は、実施の形態１の移動指令生成部２２とは構成が異なる。実施の形態２にかかる移動指令生成部２２においては、補間処理を実行する構成要素を複数設けることで各軸速度波形を滑らかにする方式を用いる。
【００７８】  図１１は、本発明の実施の形態２における移動指令生成部２２の構成を示すブロック図である。移動指令生成部２２は、加減速処理部２２Ｃ、速度分配部２２Ｅ、第１の補間処理部２２１Ｆ、第２の補間処理部２２２Ｆ、および加算部２２Ｇを有する。即ち、移動指令生成部２２は複数の補間処理部を有している。
【００７９】  加減速処理部２２Ｃは、実施の形態１で説明した図８の加減速処理部２２Ｃと同じ処理を行うものであり、公知の技術を用いて、移動経路に沿った移動量、軸比などの情報に基づいて、許容加速度５および許容加加速度６の制限を満たすように、移動経路に沿った方向の加減速後速度を計算する。
【００８０】  速度分配部２２Ｅは、加減速後速度とコーナ曲線式２４０とに基づいて第１の補間処理部２２１Ｆおよび第２の補間処理部２２２Ｆにコーナ曲線上の移動速度を分配する。移動速度を分配することは、補間周期当たりで考えると移動量を分配することと同じである。速度分配部２２Ｅは、指令ブロックの継ぎ目より前の経路と指令ブロックの継ぎ目より後の経路とを異なる補間処理部が処理するように、移動速度を第１の補間処理部２２１Ｆおよび第２の補間処理部２２２Ｆに分配する処理を実行する。
【００８１】  第１の補間処理部２２１Ｆおよび第２の補間処理部２２２Ｆの動作は、速度分配部２２Ｅによって分配された移動速度を用いる点を除いては、実施の形態１の補間処理部２２Ｄと同様な動作を実行する。ただし、第１の補間処理部２２１Ｆおよび第２の補間処理部２２２Ｆは、以下に説明するように、コーナ曲線上および移動経路上の異なる経路の補間処理を並列的に実行する。
【００８２】  例えば、指令ブロックの継ぎ目より前の経路の補間を第１の補間処理部２２１Ｆで行う場合は、指令ブロックの継ぎ目よりも後の経路の補間は第２の補間処理部２２２Ｆで行うように移動速度を分配する処理を実行する。逆に、指令ブロックの継ぎ目より前の経路の補間を第２の補間処理部２２２Ｆで行う場合は、指令ブロックの継ぎ目よりも後の経路の補間を第１の補間処理部２２１Ｆで行うように移動速度を分配する処理を実行する。
【００８３】  なお、速度分配部２２Ｅは、コーナ曲線式２４０が規定されている経路を補間する場合、第１の補間処理部２２１Ｆおよび第２の補間処理部２２２Ｆが同時に補間処理を行うように移動速度の分配を行う。また、速度分配部２２Ｅは、コーナ曲線式２４０が規定されていない経路上を補間する場合には、第１の補間処理部２２１Ｆまたは第２の補間処理部２２２Ｆのいずれかの補間処理のうち、一方のみの処理が行われるように移動速度を分配する。
【００８４】  以下において、コーナ曲線式がＱ（ｔ）であって、速度式がＶ１（ｔ）であるときに、指令ブロック継ぎ目よりも手前の経路を第１の補間処理部２２１Ｆにて補間処理を行い、指令ブロック継ぎ目よりも後の経路を第２の補間処理部２２２Ｆにて補間処理を行う場合の補間処理について、図１２に示すフローチャートを用いて説明する。
【００８５】  ステップＳ２１０では、速度分配部２２Ｅは、今回の補間周期における補間対象となる移動経路がコーナ曲線式２４０が規定された経路を含むか否かの判定を実行し、その後の処理が分岐する。補間対象となる移動経路がコーナ曲線式２４０が規定された経路を含む場合（ステップＳ２１０：Ｙｅｓ）は、ステップＳ２２０に移行し、補間対象となる移動経路がコーナ曲線式２４０が規定された経路を含まない場合（ステップＳ２１０：Ｎｏ）は、ステップＳ２５０に移行する。
【００８６】  ステップＳ２２０は、コーナ曲線式２４０が規定された経路を補間する場合の速度分配部２２Ｅの処理であり、コーナ曲線始点から移動経路上の距離ｓまでの距離（ｓ＋Δｓａ）から、指令ブロック継ぎ目における時刻をｔ＝０とする時刻ｔが計算される。
【００８７】  具体的には、指令ブロックの継ぎ目より前の移動経路Ｐ１における時刻−Δｔから時刻ｔまでの間の移動距離Δｓ１０は、時刻−Δｔにおける経路に沿った距離−Ｘ１（２×Δｔ）と、時刻ｔにおける経路に沿った距離−Ｘ１（−ｔ＋Δｔ）の差として計算され、以下の数式（３０）で表現される。  Δｓ１０＝−Ｘ１（−ｔ＋Δｔ）＋Ｘ１（２×Δｔ）  …（３０）
【００８８】  また、指令ブロックの継ぎ目より後の移動経路Ｐ２における時刻−Δｔから時刻ｔまでの間の移動距離Δｓ２０は、時刻−Δｔにおける経路に沿った距離Ｘ１（０）と、時刻ｔにおける経路に沿った距離Ｘ１（ｔ＋Δｔ）の差として計算され、以下の数式（３１）で表現される。  Δｓ２０＝Ｘ１（ｔ＋Δｔ）−Ｘ１（０）  …（３１）
【００８９】  そして、Δｓ１０とΔｓ２０の和が、ｓ＋Δｓａに一致するｔが計算される。つまり、Δｓ１０＋Δｓ２０＝ｓ＋Δｓａの関係から、数式（３０）および数式（３１）を用いて、ｔについて解き、  ｔ＝（ｓ＋Δｓａ）／（２×Ａ×Δｔ）−Δｔ  …（３２）を計算する。
【００９０】  ステップＳ２３０では、速度分配部２２Ｅは、ステップＳ２２０で計算した時刻ｔから、速度式２３０を用いて時刻−ｔ＋Δｔにおける移動経路Ｐ１での移動距離ｓ１、時刻ｔ＋Δｔにおける移動経路Ｐ２での移動距離ｓ２を計算する。
【００９１】  具体的には、  ｓ１＝−Ｘ１（−ｔ＋Δｔ）  …（３３）  ｓ２＝Ｘ１（ｔ＋Δｔ）  …（３４）を計算する。
【００９２】  ステップＳ２４０において、第１の補間処理部２２１Ｆは、前回の補間周期におけるｓ１と今回の補間周期におけるｓ１との差分を計算し、当該差分を経路Ｐ１上の今回の移動距離として求めて出力する。第２の補間処理部２２２Ｆは、前回の補間周期におけるｓ２と今回の補間周期におけるｓ２との差分を計算し、当該差分を経路Ｐ２上の今回の移動距離として求めて出力する。第１の補間処理部２２１Ｆおよび第２の補間処理部２２２ＦはステップＳ２４０の補間処理を並列的に実行する。
【００９３】  ステップＳ２５０では、コーナ曲線式２４０が規定されていない経路を補間する場合の処理であり、移動経路Ｐ１上を補間する場合、速度分配部２２Ｅは、第１の補間処理部２２１Ｆに全ての移動速度を分配し、第２の補間処理部２２２Ｆへの移動速度の分配量をゼロとする処理を行うとともに、第１の補間処理部２２１Ｆは、補間点と移動経路Ｐ１の終点との間の距離をｓ１として設定し、第２の補間処理部２２２Ｆは、ｓ２をゼロとする処理を行う。また、移動経路Ｐ２上を補間する場合、速度分配部２２Ｅは、第１の補間処理部２２１Ｆへの移動速度の分配量をゼロとし、第２の補間処理部２２２Ｆに全ての移動速度を分配する処理を行うとともに、第１の補間処理部２２１Ｆは、ｓ１をゼロとし、第２の補間処理部２２２Ｆは、移動経路Ｐ２の始点と補間点との間の距離をｓ２として設定する処理を行う。第１の補間処理部２２１Ｆおよび第２の補間処理部２２２ＦはステップＳ２５０の補間処理を並列的に実行する。
【００９４】  第１の補間処理部２２１Ｆおよび第２の補間処理部２２２Ｆは、速度分配部２２Ｅが分配した速度を入力として、移動経路Ｐ１およびＰ２の補間を行い、補間した結果の移動量を加算部２２Ｇで加算し、移動指令２２０としてサーボアンプ４に出力する。
【００９５】  以上のようにして、第１の補間処理部２２１Ｆは、経路Ｐ１上を補間する処理を行い、第２の補間処理部２２２Ｆは、経路Ｐ２上を補間する処理を行う。即ち、速度分配部２２Ｅによって分配された速度に応じて、それぞれの経路上の補間が実行される。
【００９６】  以上説明したように、コーナ曲線式に応じて複数の補間処理部に移動速度を分配することで、速度波形計算部２３で計算した速度式２３０に応じて、許容経路誤差７に一致する平滑化経路上を平滑化経路の出入り口における速度の歪みをなく移動させることが可能となる。これにより、加減速波形が複数段状になることを回避できるので、移動時間を短くすることが可能となる。
【００９７】  実施の形態１および２にかかる数値制御装置１によれば、加工プログラム２に記載された各移動指令の接続部を平滑化するとともに、加工プログラム２に記載された移動経路と平滑化した後の経路の接続部における速度を滑らかにすることが可能となり、加減速における無駄時間を削減することが可能となる。さらに、速度波形が歪むことにより発生する工作機械の振動を低減することが可能になるといった従来にない顕著な効果が得られる。
【００９８】  さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００９９】  １  数値制御装置、２  加工プログラム、４  サーボアンプ、４Ｘ  Ｘ軸アンプ、４Ｙ  Ｙ軸アンプ、４Ｚ  Ｚ軸アンプ、５  許容加速度、６  許容加加速度、７  許容経路誤差、２１  解析処理部、２２  移動指令生成部、２２Ａ  コーナ曲線挿入部、２２Ｂ  コーナ曲線速度計算部、２２Ｃ  加減速処理部、２２Ｄ  補間処理部、２２Ｅ  速度分配部、２２Ｇ  加算部、２３  速度波形計算部、２４  コーナ曲線計算部、２５  データベース保持部、２００  送り速度、２１０  移動データ、２２０  移動指令、２３０  速度式、２４０  コーナ曲線式、２２１Ｆ  第１の補間処理部、２２２Ｆ  第２の補間処理部。
【図１】
2016024338.tif 000003
【図２】
2016024338.tif 000004
【図３】
2016024338.tif 000005
【図４】
2016024338.tif 000006
【図５】
2016024338.tif 000007
【図６】
2016024338.tif 000008
【図７】
2016024338.tif 000009
【図８】
2016024338.tif 000010
【図９】
2016024338.tif 000011
【図１０】
2016024338.tif 000012
【図１１】
2016024338.tif 000013
【図１２】
2016024338.tif 000014
【手続補正書】
【提出日】平成28年10月21日(2016.10.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の並進軸によりテーブルまたは工具を移動させることにより前記テーブル上のワークと前記工具との位置関係を制御する工作機械の数値制御装置において、
複数の指令ブロックを含む加工プログラムに基づいて、移動経路および前記移動経路上の送り速度を出力する解析処理部と、
前記移動経路を平滑化したコーナ曲線の曲線式を計算するコーナ曲線計算部と、
前記移動経路および前記曲線式に基づいて、前記並進軸それぞれへの移動指令を出力する移動指令生成部と、
を備え、
前記コーナ曲線は、少なくとも予め設定された許容加速度に基づいて計算した速度式に従って前記指令ブロックの継ぎ目より前の移動経路を移動する際の移動量と、前記速度式に従って前記指令ブロックの継ぎ目より後の移動経路を移動する際の移動量とを予め設定された許容経路誤差に基づいて合成した曲線とする
ことを特徴とする数値制御装置。
【請求項２】
前記移動指令生成部は、
前記曲線式に基づいて、前記移動経路に前記コーナ曲線を挿入するコーナ曲線挿入部と、
前記曲線式に基づいて、前記コーナ曲線上での移動速度を計算するコーナ曲線速度計算部と、
前記コーナ曲線が挿入された前記移動経路に沿った移動量および軸比に基づいて、前記許容加速度および前記許容加加速度の制限を満たすように、前記移動経路に沿った加減速後速度を計算する加減速処理部と、
前記加減速後速度および前記移動速度に基づいて、前記コーナ曲線上においては前記移動速度を用いて前記移動経路を補間し、前記コーナ曲線以外の前記移動経路においては前記加減速後速度を用いて前記移動経路を補間する補間処理部と、
を有する
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記移動指令生成部は、
前記移動経路に沿った移動量および軸比に基づいて、前記許容加速度および前記許容加加速度の制限を満たすように、前記移動経路に沿った加減速後速度を計算する加減速処理部と、
前記曲線式および前記加減速後速度に基づいて、前記コーナ曲線上の移動速度を分配する速度分配部と、
前記加減速後速度および前記速度分配部によって分配された前記移動速度に基づいて、前記コーナ曲線上においては前記移動速度を用いて前記移動経路を補間し、前記コーナ曲線以外の前記移動経路においては前記加減速後速度を用いて前記移動経路を補間する第１補間処理部および第２補間処理部と、
を有し、
前記第１補間処理部と前記第２補間処理部とは、前記コーナ曲線上および前記移動経路上の異なる経路の補間処理を並列的に実行する
ことを特徴とする請求項１に記載の数値制御装置。
【国際調査報告】
2016024338.tif 000015
2016024338.tif 000016
2016024338.tif 000017
2016024338.tif 000018