(57)【要約】【課題】軸送りの時間の短縮化を図る数値制御装置および工具の移動制御方法を提供する。【解決手段】数値制御装置１０は、プログラム１２を解析することで、工具ＴＯを直線移動させる際の工具ＴＯの終点位置Ｅ１を取得するプログラム解析部１４と、少なくとも２つの軸方向の各々における予め決められた工具ＴＯの上限移動速度に基づいて、合成速度が最大となる合成移動方向Ａを算出する方向算出部３０と、テーブルＴＡの回転中心位置Ｏから終点位置Ｅ１までの距離を半径Ｒとして描いた円Ｃと、合成移動方向Ａとが交差する位置を算出し、これを終点位置Ｅ２とする終点位置算出部３２と、終点位置Ｅ１と終点位置Ｅ２とに基づいて、テーブルＴＡの回転角度θを算出する回転角度算出部３４と、回転角度θに基づいて、回転中心位置Ｏを中心にテーブルＴＡの回転を制御するサーボモータ制御部１８Ｔと、を備える。【選択図】図２
2018018294.tif 000002
【特許請求の範囲】
【請求項１】
テーブルによって支持されたワークを加工するための工具であって、少なくとも互いに直交する２つの軸方向に沿って移動可能な前記工具を、プログラムに基づいて移動させる数値制御装置であって、
前記プログラムを解析することで、前記工具を直線移動させる際の前記工具の第１の移動終点位置を取得するプログラム解析部と、
少なくとも前記２つの軸方向の各々における予め決められた前記工具の上限移動速度に基づいて、合成速度が最大となる合成移動方向を算出する方向算出部と、
前記テーブルの回転中心位置から前記第１の移動終点位置までの距離を半径として描いた円と、前記合成移動方向とが交差する位置を算出し、これを第２の移動終点位置とする終点位置算出部と、
前記第１の移動終点位置と前記第２の移動終点位置とに基づいて、前記テーブルの回転角度を算出する回転角度算出部と、
前記回転角度に基づいて、前記回転中心位置を中心に前記テーブルの回転を制御する回転制御部と、
を備えることを特徴とする数値制御装置。
【請求項２】
請求項１に記載の数値制御装置であって、
前記方向算出部は、前記合成移動方向の傾き角度を算出し、
前記終点位置算出部は、現在の前記工具の位置と、前記第１の移動終点位置と、前記合成移動方向の傾き角度とに基づいて、前記第２の移動終点位置を算出する
ことを特徴とする数値制御装置。
【請求項３】
請求項２に記載の数値制御装置であって、
前記方向算出部は、前記２つの軸方向のうち、一方の軸方向の前記上限移動速度をＶｘ、他方の軸方向の前記上限移動速度をＶｙとしたとき、下記に示す式（１）によって、前記合成移動方向の傾き角度αを求め、
前記終点位置算出部は、既知である現在の前記工具の位置を（Ｘｓ，Ｙｓ）、前記第１の移動終点位置を（Ｘｅ１，Ｙｅ１）、前記第２の移動終点位置を（Ｘｅ２，Ｙｅ２）としたとき、下記に示す式（２）、（３）から、連立方程式によって前記第２の移動終点位置を算出する
ことを特徴とする数値制御装置。
【数１】
2018018294.tif 000014
【請求項４】
請求項３に記載の数値制御装置であって、
前記終点位置算出部は、前記連立方程式によって得られた２つの解のうち、前記第１の移動終点位置と距離が近い方の解を、前記第２の移動終点位置とする
ことを特徴とする数値制御装置。
【請求項５】
請求項１〜４のいずれか１項に記載の数値制御装置であって、
前記回転角度算出部は、前記回転中心位置と前記第１の移動終点位置とを結ぶ線分の第１の傾き角度と、前記回転中心位置と前記第２の移動終点位置とを結ぶ線分の第２の傾き角度とを求め、前記第１の傾き角度と前記第２の傾き角度との差を求めることで前記回転角度を算出する
ことを特徴とする数値制御装置。
【請求項６】
請求項１〜５のいずれか１項に記載の数値制御装置であって、
前記２つの軸方向のうち、一方の軸方向に沿って前記工具の移動を制御する第１の移動制御部と、他方の軸方向に沿って前記工具の移動を制御する第２の移動制御部と、を備え、
前記第１の移動制御部および前記第２の移動制御部は、前記第２の移動終点位置に前記工具が直線移動するように前記工具の移動を制御する
ことを特徴とする数値制御装置。
【請求項７】
テーブルによって支持されたワークを加工するための工具であって、少なくとも互いに直交する２つの軸方向に沿って移動可能な前記工具を、数値制御装置がプログラムに基づいて移動させる工具の移動制御方法であって、
前記プログラムを解析することで、前記工具を直線移動させる際の前記工具の第１の移動終点位置を取得するプログラム解析ステップと、
少なくとも前記２つの軸方向の各々における予め決められた前記工具の上限移動速度に基づいて、合成速度が最大となる合成移動方向を算出する方向算出ステップと、
前記テーブルの回転中心位置から前記第１の移動終点位置までの距離を半径として描いた円と、前記合成移動方向とが交差する位置を算出し、これを第２の移動終点位置とする終点位置算出ステップと、
前記第１の移動終点位置と前記第２の移動終点位置とに基づいて、前記テーブルの回転角度を算出する回転角度算出ステップと、
前記回転角度に基づいて、前記回転中心位置を中心に前記テーブルを回転させる回転制御ステップと、
を含むことを特徴とする工具の移動制御方法。
【請求項８】
請求項７に記載の工具の移動制御方法であって、
前記方向算出ステップは、前記合成移動方向の傾き角度を算出し、
前記終点位置算出ステップは、現在の前記工具の位置と、前記第１の移動終点位置と、前記合成移動方向の傾き角度とに基づいて、前記第２の移動終点位置を算出する
ことを特徴とする工具の移動制御方法。
【請求項９】
請求項８に記載の工具の移動制御方法であって、
前記方向算出ステップは、前記２つの軸方向のうち、一方の軸方向の前記上限移動速度をＶｘ、他方の軸方向の前記上限移動速度をＶｙとしたとき、下記に示す式（１）によって、前記合成移動方向の傾き角度αを求め、
前記終点位置算出ステップは、既知である現在の前記工具の位置を（Ｘｓ，Ｙｓ）、前記第１の移動終点位置を（Ｘｅ１，Ｙｅ１）、前記第２の移動終点位置を（Ｘｅ２，Ｙｅ２）としたとき、下記に示す式（２）、（３）から、連立方程式によって前記第２の移動終点位置を算出する
ことを特徴とする工具の移動制御方法。
【数２】
2018018294.tif 000015
【請求項１０】
請求項９に記載の工具の移動制御方法であって、
前記終点位置算出ステップは、前記連立方程式によって得られた２つの解のうち、前記第１の移動終点位置と距離が近い方の解を、前記第２の移動終点位置とする
ことを特徴とする工具の移動制御方法。
【請求項１１】
請求項７〜１０のいずれか１項に記載の工具の移動制御方法であって、
前記回転角度算出ステップは、前記回転中心位置と前記第１の移動終点位置とを結ぶ線分の第１の傾き角度と、前記回転中心位置と前記第２の移動終点位置とを結ぶ線分の第２の傾き角度とを求め、前記第１の傾き角度と前記第２の傾き角度との差を求めることで前記回転角度を算出する
ことを特徴とする工具の移動制御方法。
【請求項１２】
請求項７〜１１のいずれか１項に記載の工具の移動制御方法であって、
前記第２の移動終点位置に前記工具が直線移動するように前記工具の移動を制御する移動制御ステップを含む
ことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具の軸送りを制御する数値制御装置および工具の移動制御方法に関する。
【背景技術】
【０００２】
下記特許文献１に示すように、工作機械を制御する数値制御装置においては、サーボモータを制御して可動軸の軸送りを行うことが一般的に知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−７９２８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、工具を単軸で直線移動させることで軸送りする場合は、その軸の最大移動速度でしか軸送りをすることができず、それ以上軸送りの時間を短縮することができない。
【０００５】
そこで、本発明は、軸送りの時間の短縮化を図る数値制御装置および工具の移動制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本第１の発明は、テーブルによって支持されたワークを加工するための工具であって、少なくとも互いに直交する２つの軸方向に沿って移動可能な前記工具を、プログラムに基づいて移動させる数値制御装置であって、前記プログラムを解析することで、前記工具を直線移動させる際の前記工具の第１の移動終点位置を取得するプログラム解析部と、少なくとも前記２つの軸方向の各々における予め決められた前記工具の上限移動速度に基づいて、合成速度が最大となる合成移動方向を算出する方向算出部と、前記テーブルの回転中心位置から前記第１の移動終点位置までの距離を半径として描いた円と、前記合成移動方向とが交差する位置を算出し、これを第２の移動終点位置とする終点位置算出部と、前記第１の移動終点位置と前記第２の移動終点位置とに基づいて、前記テーブルの回転角度を算出する回転角度算出部と、前記回転角度に基づいて、前記回転中心位置を中心に前記テーブルの回転を制御する回転制御部と、を備える。
【０００７】
このように、合成速度を最大限使うので、軸送りの時間の短縮化を図ることができる。
【０００８】
本第１の発明は、前記数値制御装置であって、前記方向算出部は、前記合成移動方向の傾き角度を算出し、前記終点位置算出部は、現在の前記工具の位置と、前記第１の移動終点位置と、前記合成移動方向の傾き角度とに基づいて、前記第２の移動終点位置を算出してもよい。これにより、合成速度が最大となる合成移動方向上にある第２の移動終点位置を算出することができ、合成速度が最大となる合成移動方向に沿って工具を移動させることができる。
【０００９】
本第１の発明は、前記数値制御装置であって、前記方向算出部は、前記２つの軸方向のうち、一方の軸方向の前記上限移動速度をＶｘ、他方の軸方向の前記上限移動速度をＶｙとしたとき、下記に示す式（１）によって、前記合成移動方向の傾き角度αを求め、前記終点位置算出部は、既知である現在の前記工具の位置を（Ｘｓ，Ｙｓ）、前記第１の移動終点位置を（Ｘｅ１，Ｙｅ１）、前記第２の移動終点位置を（Ｘｅ２，Ｙｅ２）としたとき、下記に示す式（２）、（３）から、連立方程式によって前記第２の移動終点位置を算出してもよい。これにより、合成速度が最大となる合成移動方向上にある第２の移動終点位置を確実かつ簡単に算出することができる。
【００１０】
【数１】
2018018294.tif 000003
【００１１】
本第１の発明は、前記数値制御装置であって、前記終点位置算出部は、前記連立方程式によって得られた２つの解のうち、前記第１の移動終点位置と距離が近い方の解を、前記第２の移動終点位置としてもよい。これにより、工具がこれから移動する側にある終点位置を算出することができる。
【００１２】
本第１の発明は、前記数値制御装置であって、前記回転角度算出部は、前記回転中心位置と前記第１の移動終点位置とを結ぶ線分の第１の傾き角度と、前記回転中心位置と前記第２の移動終点位置とを結ぶ線分の第２の傾き角度とを求め、前記第１の傾き角度と前記第２の傾き角度との差を求めることで前記回転角度を算出してもよい。これにより、工具を合成速度が最大となる合成移動方向に沿って第２の移動終点位置まで移動させた場合であっても、工具とワーク（テーブル）の相対的な位置関係を保つことができる。
【００１３】
本第１の発明は、前記数値制御装置であって、前記２つの軸方向のうち、一方の軸方向に沿って前記工具の移動を制御する第１の移動制御部と、他方の軸方向に沿って前記工具の移動を制御する第２の移動制御部と、を備え、前記第１の移動制御部および前記第２の移動制御部は、前記第２の移動終点位置に前記工具が直線移動するように前記工具の移動を制御してもよい。これにより、工具を短時間で軸送りすることができる。
【００１４】
本第２の発明は、テーブルによって支持されたワークを加工するための工具であって、少なくとも互いに直交する２つの軸方向に沿って移動可能な前記工具を、数値制御装置がプログラムに基づいて移動させる工具の移動制御方法であって、前記プログラムを解析することで、前記工具を直線移動させる際の前記工具の第１の移動終点位置を取得するプログラム解析ステップと、少なくとも前記２つの軸方向の各々における予め決められた前記工具の上限移動速度に基づいて、合成速度が最大となる合成移動方向を算出する方向算出ステップと、前記テーブルの回転中心位置から前記第１の移動終点位置までの距離を半径として描いた円と、前記合成移動方向とが交差する位置を算出し、これを第２の移動終点位置とする終点位置算出ステップと、前記第１の移動終点位置と前記第２の移動終点位置とに基づいて、前記テーブルの回転角度を算出する回転角度算出ステップと、前記回転角度に基づいて、前記回転中心位置を中心に前記テーブルを回転させる回転制御ステップと、を含む。
【００１５】
このように、合成速度を最大限使うので、軸送りの時間の短縮化を図ることができる。
【００１６】
本第２の発明は、前記工具の移動制御方法であって、前記方向算出ステップは、前記合成移動方向の傾き角度を算出し、前記終点位置算出ステップは、現在の前記工具の位置と、前記第１の移動終点位置と、前記合成移動方向の傾き角度とに基づいて、前記第２の移動終点位置を算出してもよい。これにより、合成速度が最大となる合成移動方向上にある第２の移動終点位置を算出することができ、合成速度が最大となる合成移動方向に沿って工具を移動させることができる。
【００１７】
本第２の発明は、前記工具の移動制御方法であって、前記方向算出ステップは、前記２つの軸方向のうち、一方の軸方向の前記上限移動速度をＶｘ、他方の軸方向の前記上限移動速度をＶｙとしたとき、下記に示す式（１）によって、前記合成移動方向の傾き角度αを求め、前記終点位置算出ステップは、既知である現在の前記工具の位置を（Ｘｓ，Ｙｓ）、前記第１の移動終点位置を（Ｘｅ１，Ｙｅ１）、前記第２の移動終点位置を（Ｘｅ２，Ｙｅ２）としたとき、下記に示す式（２）、（３）から、連立方程式によって前記第２の移動終点位置を算出してもよい。これにより、合成速度が最大となる合成移動方向上にある第２の移動終点位置を確実かつ簡単に算出することができる。
【００１８】
【数２】
2018018294.tif 000004
【００１９】
本第２の発明は、前記工具の移動制御方法であって、前記終点位置算出ステップは、前記連立方程式によって得られた２つの解のうち、前記第１の移動終点位置と距離が近い方の解を、前記第２の移動終点位置としてもよい。これにより、工具がこれから移動する側にある終点位置を算出することができる。
【００２０】
本第２の発明は、前記工具の移動制御方法であって、前記回転角度算出ステップは、前記回転中心位置と前記第１の移動終点位置とを結ぶ線分の第１の傾き角度と、前記回転中心位置と前記第２の移動終点位置とを結ぶ線分の第２の傾き角度とを求め、前記第１の傾き角度と前記第２の傾き角度との差を求めることで前記回転角度を算出してもよい。これにより、工具を合成速度が最大となる合成移動方向に沿って第２の移動終点位置まで移動させた場合であっても、工具とワーク（テーブル）の相対的な位置関係を保つことができる。これにより、工具を短時間で軸送りすることができる。
【００２１】
本第２の発明は、前記工具の移動制御方法であって、前記第２の移動終点位置に前記工具が直線移動するように前記工具の移動を制御する移動制御ステップを含んでもよい。
【発明の効果】
【００２２】
本発明によれば、合成速度を最大限使うので、軸送りの時間の短縮化を図ることができる。
【図面の簡単な説明】
【００２３】
【図１】図１Ａは、従来の軸送りの欠点を説明するための図、図１Ｂは、本実施の形態の軸送りの概要を説明する図である。
【図２】本実施の形態の数値制御装置の構成図である。
【図３】図２に示す前処理部の各部の構成を説明するための図である。
【図４】数値制御装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２４】
本発明に係る数値制御装置および工具の移動制御方法について、好適な実施の形態を掲げ、添付の図面を参照しながら以下、詳細に説明する。
【００２５】
本実施の形態の数値制御装置は、テーブルによって支持されたワークを加工するための工具を、プログラムに基づいて移動させる。この工具は、互いに直交する３つの軸方向に沿って移動可能である。この３つの軸方向を、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向とする。なお、本実施の形態では、説明を簡単にするため、工具をＸＹ平面上で移動させる場合を例に挙げて説明する。
【００２６】
まず、従来の軸送りの欠点を述べた後、本実施の形態の軸送りの概要について簡単に説明し、その後、本実施の形態の数値制御装置について詳しく説明する。
【００２７】
＜従来の軸送りの欠点および本実施の形態の軸送りの概要＞
図１Ａに示すように、始点位置Ｓ（座標（ｘ、ｙ）＝（−１００、２５０））に位置する工具ＴＯを、＋Ｘ軸方向に沿って終点位置Ｅ１（座標（ｘ、ｙ）＝（３００、２５０））まで直線移動させるとする。このときは、Ｘ軸方向における工具ＴＯの上限移動速度Ｖｘ以上の送り速度で、工具ＴＯを移動させることはできず、それ以上送り時間を短縮することができない。
【００２８】
ここで、工具ＴＯは、Ｙ軸方向にも移動可能であることから、工具ＴＯをＸ軸方向に上限移動速度Ｖｘで移動させつつ、Ｙ軸方向に上限移動速度Ｖｙで移動させることで、工具ＴＯを、上限移動速度Ｖｘ以上の送り速度で移動させることができる。この上限移動速度Ｖｘ、Ｖｙで工具ＴＯを移動させたときの合成速度を最大合成速度Ｖｃと呼び、最大合成速度Ｖｃで移動する直線方向を合成移動方向Ａと呼ぶ（図１Ｂ参照）。
【００２９】
工具ＴＯを合成移動方向Ａに沿って移動させると、当然のことながら、工具ＴＯは、終点位置Ｅ１に到達することができない。しかしながら、この終点位置Ｅ１は、テーブル（ワークＷ）との相対的な位置関係によって決められているため、回転中心位置（図１Ａ、図１ＢではＺ軸）を中心にテーブル（ワークＷ）をＸＹ平面上で回転させることで、工具ＴＯとテーブル（ワークＷ）との相対的な位置関係を保つことができる。
【００３０】
つまり、図１Ｂに示すように、終点位置Ｅ１が合成移動方向Ａ上に位置するように、終点位置Ｅ１およびテーブル（ワークＷ）を、テーブルの回転中心位置（Ｚ軸）を中心に所定の角度だけ回転させる。これにより、始点位置Ｓから＋Ｘ軸方向に終点位置Ｅ１まで移動させたときの工具ＴＯとテーブル（ワークＷ）との相対的な位置関係と、始点位置Ｓから合成移動方向Ａに沿って終点位置Ｅ２（終点位置Ｅ１に対応する位置）まで移動させたときの工具ＴＯとテーブル（ワークＷ）との相対的な位置関係とが一致する。なお、終点位置Ｅ２は、合成移動方向Ａ上にあり、終点位置Ｅ１が合成移動方向Ａ上に位置するように終点位置Ｅ１をテーブルの回転中心位置を中心に回転させたときの位置である。
【００３１】
このように、終点位置Ｅ１およびテーブル（ワークＷ）を所定の角度だけ回転させることで、実質的に工具ＴＯの送り時間を短縮することができる。
【００３２】
なお、図１Ａ、図１Ｂに示す例では、単軸方向（Ｘ軸方向）で工具ＴＯを直線移動させる場合について例を挙げたが、複数軸方向（Ｘ軸方向およびＹ軸方向）で工具ＴＯを移動させることで、結果的に工具ＴＯを直線移動させる場合にも適用することができる。つまり、工具ＴＯをＸ軸方向およびＹ軸方向に移動させても、その合成速度が、最大合成速度Ｖｃと一致していると限らないからである。
【００３３】
＜本実施の形態の数値制御装置１０の説明＞
図２は、本実施の形態の数値制御装置１０の構成図である。図２以降の説明についても、図１Ａ、図１Ｂにおいて参照符号が付されたものと同様のものについては、同一の参照符号を使用する。数値制御装置１０は、図示しないが、ＣＰＵ等のプロセッサと基本プログラムが格納された記憶媒体とを有し、プロセッサが基本プログラムを実行することで、本実施の形態の数値制御装置１０として機能する。数値制御装置１０は、図示しないが、オペレータが情報および指令等を入力するためにオペレータによって操作可能な入力部および情報を表示するための表示部等も備える。
【００３４】
数値制御装置１０は、プログラム１２、プログラム解析部１４、前処理部１６、および、サーボモータ制御部１８Ｘ、１８Ｙ、１８Ｔを備える。なお、サーボモータ２０Ｘは、工具ＴＯをＸ軸方向に移動させるためのモータであり、サーボモータ２０Ｙは、工具ＴＯをＹ軸方向に移動させるためのモータである。また、サーボモータ２０Ｔは、ワークＷを支持するテーブルＴＡを、テーブルＴＡの回転中心位置Ｏを中心にＸＹ平面上で回転させるためのサーボモータである。なお、Ｘ軸方向、Ｙ軸方向、および、Ｚ軸方向は互いに直交する。
【００３５】
なお、数値制御装置１０は、予め設定されたＸＹＺ座標系を有し、このＸＹＺ座標系で工具ＴＯの位置およびテーブルＴＡの位置を認識する。ＸＹＺ座標系は、実際の機械（工具ＴＯ、テーブルＴＡ）の位置を座標系で表したものである。したがって、ＸＹＺ座標系のＸ軸方向、Ｙ軸方向は、工具ＴＯが実際に移動するＸ軸方向、Ｙ軸方向と一致している。ＸＹＺ座標系のＺ軸方向はテーブルＴＡの回転中心位置Ｏを通るものとする。したがって、ＸＹＺ座標系のＸＹ平面における原点の位置は、回転中心位置Ｏとなる。
【００３６】
プログラム１２は、数値制御装置１０の前記記憶媒体に記憶されており、少なくとも工具ＴＯの軸送りを行うためのプログラムが記述されている。プログラム解析部１４は、プログラム１２を解析することで、指令値である工具ＴＯの終点位置Ｅ１（第１の移動終点位置）を取得する。この終点位置Ｅ１は、ＸＹＺ座標系に基づく位置である。プログラム解析部１４が取得した終点位置Ｅ１は、前処理部１６に出力される。
【００３７】
なお、終点位置Ｅ１の座標位置を（Ｘｅ１，Ｙｅ１）で表す。また、始点位置（現在の工具ＴＯの位置）Ｓの座標位置を（Ｘｓ，Ｙｓ）で表す。この始点位置Ｓ（Ｘｓ，Ｙｓ）は、既知である。位置Ｘｅ１、位置Ｘｓは、ＸＹＺ座標系のＸ軸における位置であり、位置Ｙｅ１、位置Ｙｓは、ＸＹＺ座標系のＹ軸における位置である。
【００３８】
前処理部１６は、Ｘ軸方向の上限移動速度ＶｘとＹ軸方向の上限移動速度Ｖｙとに基づいて、合成速度が最大となる合成移動方向Ａを算出する。そして、前処理部１６は、合成移動方向Ａに沿って工具ＴＯを始点位置Ｓ（Ｘｓ，Ｙｓ）から直線移動させた場合であっても、直線移動させた後の工具ＴＯとテーブルＴＡとの相対的な位置関係が保たれるような、工具ＴＯの終点位置Ｅ２（第２の移動終点位置）およびテーブルＴＡの回転角度θを算出する。
【００３９】
上述したように、回転角度θは、終点位置Ｅ１（Ｘｅ１，Ｙｅ１）が合成移動方向Ａ上にくるように終点位置Ｅ１（Ｘｅ１，Ｙｅ１）およびテーブルＴＡを、回転中心位置Ｏを中心にＺ軸回りに回転させた角度である。また、工具ＴＯの終点位置Ｅ２は、工具ＴＯの終点位置Ｅ１をテーブルの回転中心位置Ｏを中心にＺ軸回りに回転させたときの合成移動方向Ａ上における位置である。この終点位置Ｅ２の座標位置を（Ｘｅ２，Ｙｅ２）で表す。位置Ｘｅ２は、ＸＹＺ座標系のＸ軸における位置であり、位置Ｙｅ２は、ＸＹＺ座標系のＹ軸における位置である。前処理部１６については後で詳しく説明する。
【００４０】
前処理部１６は、終点位置Ｅ２（Ｘｅ２，Ｙｅ２）のＸ軸における位置Ｘｅ２をサーボモータ制御部（第１の移動制御部）１８Ｘに、Ｙ軸における位置Ｙｅ２をサーボモータ制御部（第２の移動制御部）１８Ｙに出力する。また、前処理部１６は、算出した回転角度θをサーボモータ制御部（回転制御部）１８Ｔに出力する。
【００４１】
サーボモータ制御部１８Ｘは、上限移動速度Ｖｘで工具ＴＯが位置Ｘｓから位置Ｘｅ２まで移動するようにサーボモータ２０Ｘを制御する。また、サーボモータ制御部１８Ｙは、上限移動速度Ｖｙで工具ＴＯが位置Ｙｓから位置Ｙｅ２まで移動するようにサーボモータ２０Ｙを制御する。これにより、工具ＴＯは、合成移動方向Ａに沿って最大合成速度Ｖｃで始点位置Ｓ（Ｘｓ，Ｙｓ）から終点位置Ｅ２（Ｘｅ２，Ｙｅ２）まで直線移動する。サーボモータ制御部１８Ｔは、テーブルＴＡが回転中心位置Ｏを中心にＺ軸回りに回転するようにサーボモータ２０Ｔを制御する。
【００４２】
次に、図３も参照して前処理部１６について詳しく説明する。前処理部１６は、方向算出部３０、終点位置算出部３２、および、回転角度算出部３４を備える。方向算出部３０は、Ｘ軸方向およびＹ軸方向の各々における予め決められた工具ＴＯの上限移動速度（ベクトル）Ｖｘ、Ｖｙに基づいて、合成速度が最大となる合成移動方向Ａを算出する。
【００４３】
図３に示すように、上限移動速度（ベクトル）Ｖｘと上限移動速度（ベクトル）Ｖｙとを加算した合成ベクトルが延びる方向が合成移動方向Ａとなる。方向算出部３０は、合成移動方向Ａの傾き角度α（Ｘ軸方向と平行する方向に対する傾き角度）を算出する。方向算出部３０は、以下に示す式（４）に基づいて傾き角度αを算出する。
【００４４】
【数３】
2018018294.tif 000005
【００４５】
なお、上限移動速度Ｖｘ、Ｖｙは、サーボモータ２０Ｘ、２０Ｙによって工具ＴＯが移動することができる最大の移動速度であってもよいし、オペレータによって予め決められた移動速度であってもよい。
【００４６】
終点位置算出部３２は、合成移動方向Ａに沿って工具ＴＯが移動したときの終点位置Ｅ１（Ｘｅ１，Ｙｅ１）に対応する終点位置Ｅ２（Ｘｅ２，Ｙｅ２）を算出する。終点位置算出部３２は、テーブルＴＡの回転中心位置Ｏから終点位置Ｅ１（Ｘｅ１，Ｙｅ１）までの距離を半径Ｒとして描いた円Ｃと、合成移動方向Ａとが交差する位置を算出し、これを終点位置Ｅ２（Ｘｅ２，Ｙｅ２）とする。
【００４７】
以下、終点位置算出部３２による終点位置Ｅ２（Ｘｅ２，Ｙｅ２）の算出について具体的に説明する。合成移動方向Ａに沿って移動する工具ＴＯのＸＹ座標系における位置（Ｘ，Ｙ）は、以下に示す式（５）で表すことができる。この式（５）は、合成移動方向Ａを示す関数である。なお、ｂは、予め決められた定数である。本発明を適用しない場合は、工具ＴＯは、移動方向Ｂに沿って始点位置Ｓ（Ｘｓ，Ｙｓ）から終点位置Ｅ１（Ｘｅ１，Ｙｅ１）まで移動する。
【００４８】
【数４】
2018018294.tif 000006
【００４９】
合成移動方向Ａに沿って移動する工具ＴＯは、ＸＹ座標系における工具ＴＯの始点位置Ｓ（Ｘｓ，Ｙｓ）を通ることから、式（５）に始点位置Ｓ（Ｘｓ，Ｙｓ）を代入することで、以下に示す式（６）が得られる。なお、始点位置Ｓ（Ｘｓ，Ｙｓ）は既知である。
【００５０】
【数５】
2018018294.tif 000007
【００５１】
式（５）および式（６）とから、以下に示す式（７）を導くことができる。
【数６】
2018018294.tif 000008
【００５２】
合成移動方向Ａに沿って移動する工具ＴＯは、終点位置Ｅ２（Ｘｅ２，Ｙｅ２）を通ることから、式（７）に終点位置Ｅ２（Ｘｅ２，Ｙｅ２）を代入することで、以下に示す式（８）が得られる。
【００５３】
【数７】
2018018294.tif 000009
【００５４】
また、円Ｃの半径Ｒは、終点位置Ｅ１（Ｘｅ１，Ｙｅ１）を用いて、以下に示す式（９）で表すことができる。
【００５５】
【数８】
2018018294.tif 000010
【００５６】
また、終点位置Ｅ２（Ｘｅ２，Ｙｅ２）は、テーブルＴＡの回転中心位置Ｏ（ＸＹ平面における原点）から終点位置Ｅ１（Ｘｅ１，Ｙｅ１）までの距離を半径Ｒとして描いた円Ｃと、合成移動方向Ａとが交差する位置なので、終点位置Ｅ１（Ｘｅ１，Ｙｅ１）と終点位置Ｅ２（Ｘｅ２，Ｙｅ２）とは、以下に示す式（１０）の関係を有する。
【００５７】
【数９】
2018018294.tif 000011
【００５８】
式（８）および式（１０）の連立方程式を解くことで、終点位置Ｅ２（Ｘｅ２，Ｙｅ２）を求めることができる。したがって、終点位置算出部３２は、式（８）および式（１０）を用いて、プログラム解析部１４が取得した終点位置Ｅ１（Ｘｅ１，Ｙｅ１）、方向算出部３０が算出した傾き角度α、および、既知である始点位置Ｓ（Ｘｓ，Ｙｓ）とから終点位置Ｅ２（Ｘｅ２，Ｙｅ２）を算出することができる。
【００５９】
なお、式（８）および式（１０）の連立方程式を解くことで、図３に示すように合成移動方向Ａと円Ｃとの交点が２つ求められる。この２つの解（交点の位置）をそれぞれ、解１（ＸＡ１，ＹＡ１）、解２（ＸＡ２，ＹＡ２）とする。終点位置算出部３２は、終点位置Ｅ１（Ｘｅ１，Ｙｅ１）に最も近い位置の解を、終点位置Ｅ２（Ｘｅ２，Ｙｅ２）として用いる。
【００６０】
具体的には、終点位置算出部３２は、以下に示す式（１１）によって、終点位置Ｅ１（Ｘｅ１，Ｙｅ１）と解１（ＸＡ１，ＹＡ１）との距離Ｓ１を求める。また、終点位置算出部３２は、以下に示す式（１２）によって、終点位置Ｅ１（Ｘｅ１，Ｙｅ１）と解２（ＸＡ２，ＹＡ２）との距離Ｓ２を求める。そして、距離Ｓ１と距離Ｓ２とを比較し、距離が短くなる方の解を終点位置Ｅ２（Ｘｅ２，Ｙｅ２）とする。
【００６１】
【数１０】
2018018294.tif 000012
【００６２】
回転角度算出部３４は、終点位置Ｅ１（Ｘｅ１，Ｙｅ１）と終点位置Ｅ２（Ｘｅ２，Ｙｅ２）とに基づいて、テーブルＴＡ（ワークＷ）の回転角度θを算出する。まず、回転角度算出部３４は、テーブルＴＡの回転中心位置Ｏと終点位置Ｅ１（Ｘｅ１，Ｙｅ１）とを結ぶ線分の傾き角度（第１の傾き角度）β１と、テーブルＴＡの回転中心位置Ｏと終点位置Ｅ２（Ｘｅ２，Ｙｅ２）とを結ぶ線分の傾き角度（第２の傾き角度）β２とを求める。回転角度算出部３４は、以下に示す式（１３）、（１４）を用いて傾き角度β１、β２を算出する。なお、傾き角度β１、β２は、Ｘ軸方向と平行する方向に対する傾き角度である。
【００６３】
【数１１】
2018018294.tif 000013
【００６４】
そして、回転角度算出部３４は、傾き角度β１と傾き角度β２との差を求めることで回転角度θを算出する。図３に示すように、回転中心位置Ｏを中心に左回り（時計周りと反対方向）を正とする場合は、回転角度算出部３４は、傾き角度β２から傾き角度β１を減算することで回転角度θを算出する。この場合は、回転角度θは、θ＝β２−β１、の関係を有する。逆に、回転中心位置Ｏを中心に右回り（時計回り）を正とする場合は、回転角度算出部３４は、傾き角度β１から傾き角度β２を減算することで回転角度θを算出する。この場合は、回転角度θは、θ＝β１−β２、の関係を有する。
【００６５】
次に、図４に示すフローチャートにしたがって数値制御装置１０の動作を説明する。ステップＳ１で、プログラム解析部１４は、プログラム１２を解析することで、工具ＴＯの終点位置Ｅ１（Ｘｅ１，Ｙｅ１）を取得する。
【００６６】
次いで、ステップＳ２で、プログラム解析部１４は、プログラム１２を解析することで、この移動が直線移動か否かを判断する。ステップＳ２で、直線移動でないと判断すると、本動作を終了し、ステップＳ２で直線移動であると判断すると、ステップＳ３に進む。
【００６７】
ステップＳ３に進むと、方向算出部３０は、合成速度が最大となる合成移動方向Ａの傾き角度αを算出する。方向算出部３０は、式（４）を用いて、Ｘ軸方向における上限移動速度Ｖｘと、Ｙ軸方向における上限移動速度Ｖｙとから傾き角度αを算出する。この上限移動速度Ｖｘ、Ｖｙは、予め決められた速度である。
【００６８】
次いで、ステップＳ４で、終点位置算出部３２は、式（８）および式（１０）の連立方程式を用いて、工具ＴＯの始点位置Ｓ（Ｘｓ，Ｙｓ）、ステップＳ１で取得した終点位置Ｅ１（Ｘｅ１，Ｙｅ１）、および、ステップＳ３で算出した傾き角度αから終点位置Ｅ２（Ｘｅ２，Ｙｅ２）を算出する。このとき、連立方程式によって２つの解、つまり、解１（ＸＡ１，ＹＡ１）および解２（ＸＡ２，ＹＡ２）が得られることから、式（１１）および式（１２）と終点位置Ｅ１（Ｘｅ１，Ｙｅ１）を用いて、終点位置Ｅ１（Ｘｅ１，Ｙｅ１）と最も距離が短い方の解を終点位置Ｅ２（Ｘｅ２，Ｙｅ２）とする。
【００６９】
次いで、ステップＳ５で、回転角度算出部３４は、回転中心位置Ｏと終点位置Ｅ１（Ｘｅ１，Ｙｅ１）とを結ぶ線分の傾き角度β１を算出する。回転角度算出部３４は、式（１３）を用いて終点位置Ｅ１（Ｘｅ１，Ｙｅ１）から傾き角度β１を算出する。
【００７０】
次いで、ステップＳ６で、回転角度算出部３４は、回転中心位置Ｏと終点位置Ｅ２（Ｘｅ２，Ｙｅ２）とを結ぶ線分の傾き角度β２を算出する。回転角度算出部３４は、式（１４）を用いて終点位置Ｅ２（Ｘｅ２，Ｙｅ２）から傾き角度β２を算出する。
【００７１】
次いで、ステップＳ７で、回転角度算出部３４は、ステップＳ５で算出した傾き角度β１とステップＳ６で算出した傾き角度β２とから回転角度θを算出する。回転角度算出部３４は、傾き角度β１と傾き角度β２との差をとることで回転角度θを算出する。
【００７２】
次いで、ステップＳ８で、サーボモータ制御部１８Ｘ、１８Ｙは、サーボモータ２０Ｘ、２０Ｙを制御することで、工具ＴＯを合成移動方向Ａに沿って最大合成速度Ｖｃで移動させる。それと並行して、サーボモータ制御部１８Ｔは、サーボモータ２０Ｔを制御することで、ステップＳ７で算出した回転角度θだけ、テーブルＴＡを回転中心位置Ｏを中心にＺ軸回りに回転させる。これにより、最大合成速度Ｖｃで工具ＴＯを終点位置Ｅ２（Ｘｅ２，Ｙｅ２）まで直線移動させつつ、テーブルＴＡを回転角度θだけ回転させることができる。したがって、工具の軸送り時間を短くすることができる。
【００７３】
なお、上記実施の形態では、説明をわかり易くするために、Ｘ軸とＹ軸との２次元のＸＹ平面上で、テーブルＴＡを回転させることについて説明したが、同様の原理に基づいて、３次元でテーブルＴＡを回転させてもよい。つまり、ＸＹ平面上、ＸＺ平面上、および、ＹＺ平面上のそれぞれでテーブルＴＡを回転させてもよい。
【００７４】
この場合は、Ｘ軸方向の上限移動速度Ｖｘ、Ｙ軸方向の上限移動速度Ｖｙ、および、Ｚ軸方向の上限移動速度Ｖｚとから、合成速度が最大となる合成移動方向Ａが算出される。そして、ＸＹ平面上における合成移動方向Ａの傾き角度α（以下、αｘｙとする）は、上述したように上限移動速度Ｖｘ、Ｖｙによって求められる。ＸＺ平面上における合成移動方向Ａの傾き角度α（以下、αｘｚとする）は、上限移動速度Ｖｘ、Ｖｚによって求められ、ＹＺ平面上における合成移動方向Ａの傾き角度α（以下、αｘｙとする）は、上限移動速度Ｖｙ、Ｖｚによって求められる。
【００７５】
また、テーブルＴＡの回転中心位置Ｏから終点位置Ｅ１（Ｘｅ１，Ｙｅ１，Ｚｅ１）までの距離を半径Ｒとして描いた円（球）Ｃと、合成移動方向Ａとが交差する位置を算出し、これが終点位置Ｅ２（Ｘｅ２，Ｙｅ２，Ｚｅ２）となる。そして、終点位置Ｅ１（Ｘｅ１，Ｙｅ１，Ｚｅ１）と終点位置Ｅ２（Ｘｅ２，Ｙｅ２，Ｚｅ２）とに基づいて、各平面（ＸＹ平面、ＸＺ平面、および、ＹＺ平面）におけるテーブルＴＡの回転角度θ（θｘｙ、θｘｚ、θｙｚ）が算出される。
【００７６】
以上の実施の形態の数値制御装置１０は、テーブルＴＡによって支持されたワークＷを加工するための工具ＴＯであって、少なくとも互いに直交する２つの軸方向に沿って移動可能な工具ＴＯを、プログラム１２に基づいて移動させる。数値制御装置１０は、プログラム１２を解析することで、工具ＴＯを直線移動させる際の工具ＴＯの終点位置Ｅ１を取得するプログラム解析部１４と、少なくとも２つの軸方向の各々における予め決められた工具ＴＯの上限移動速度に基づいて、合成速度が最大となる合成移動方向Ａを算出する方向算出部３０と、テーブルＴＡの回転中心位置Ｏから終点位置Ｅ１までの距離を半径Ｒとして描いた円Ｃと、合成移動方向Ａとが交差する位置を算出し、これを終点位置Ｅ２とする終点位置算出部３２と、終点位置Ｅ１と終点位置Ｅ２とに基づいて、テーブルＴＡの回転角度θを算出する回転角度算出部３４と、回転角度θに基づいて、回転中心位置Ｏを中心にテーブルＴＡの回転を制御するサーボモータ制御部１８Ｔと、を備える。このように、合成速度を最大限使うので、軸送りの時間の短縮化を図ることができる。
【００７７】
方向算出部３０は、合成移動方向Ａの傾き角度αを算出し、終点位置算出部３２は、現在の工具ＴＯの位置（始点位置）Ｓと、終点位置Ｅ１と、合成移動方向Ａの傾き角度αとに基づいて、終点位置Ｅ２を算出してもよい。これにより、合成速度が最大となる合成移動方向Ａ上にある終点位置Ｅ２を算出することができ、合成速度が最大となる合成移動方向Ａに沿って工具ＴＯを移動させることができる。
【００７８】
方向算出部３０は、２つの軸方向のうち、一方の軸方向の上限移動速度をＶｘ、他方の軸方向の上限移動速度をＶｙとしたとき、上記した式（４）によって、合成移動方向Ａの傾き角度αを求める。終点位置算出部３２は、既知である現在の工具ＴＯの位置を（Ｘｓ，Ｙｓ）、終点位置Ｅ１を（Ｘｅ１，Ｙｅ１）、終点位置Ｅ２を（Ｘｅ２，Ｙｅ２）としたとき、上記した式（８）および（１０）から、連立方程式によって終点位置Ｅ２を算出してもよい。これにより、合成速度が最大となる合成移動方向Ａ上にある終点位置Ｅ２を確実かつ簡単に算出することができる。
【００７９】
終点位置算出部３２は、連立方程式によって得られた２つの解のうち、終点位置Ｅ１と距離が近い方の解を、終点位置Ｅ２とする。これにより、工具ＴＯがこれから移動する側にある終点位置Ｅ２を算出することができる。
【００８０】
回転角度算出部３４は、回転中心位置Ｏと終点位置Ｅ１とを結ぶ線分の傾き角度β１と、回転中心位置Ｏと終点位置Ｅ２とを結ぶ線分の傾き角度β２とを求め、傾き角度β１と傾き角度β２との差を求めることで回転角度θを算出する。これにより、工具ＴＯを合成速度が最大となる合成移動方向Ａに沿って終点位置Ｅ２まで移動させた場合であっても、工具ＴＯとワークＷ（テーブルＴＡ）の相対的な位置関係を保つことができる。
【００８１】
２つの軸方向のうち、一方の軸方向に沿って工具ＴＯの移動を制御するサーボモータ制御部１８Ｘと、他方の軸方向に沿って工具ＴＯの移動を制御するサーボモータ制御部１８Ｙと、を備え、サーボモータ制御部１８Ｘおよびサーボモータ制御部１８Ｙは、終点位置Ｅ２に工具ＴＯが直線移動するように工具ＴＯの移動を制御する。これにより、工具ＴＯを短時間で軸送りすることができる。
【符号の説明】
【００８２】
１０…数値制御装置                      １２…プログラム
１４…プログラム解析部                  １６…前処理部
１８Ｘ、１８Ｙ、１８Ｔ…サーボモータ制御部
２０Ｘ、２０Ｙ、２０Ｔ…サーボモータ
３０…方向算出部                        ３２…終点位置算出部
３４…回転角度算出部                    Ａ…合成移動方向
Ｃ…円                                  Ｏ…回転中心位置
Ｒ…半径                                ＴＡ…テーブル
ＴＯ…工具                              Ｖｘ、Ｖｙ…上限移動速度
Ｗ…ワーク                              θ…回転角度
α、β１、β２…傾き角度
【図１】
2018018294.tif 000016
【図２】
2018018294.tif 000017
【図３】
2018018294.tif 000018
【図４】
2018018294.tif 000019