(57)【特許請求の範囲】
【請求項１】
加工プログラムを解析して前記加工プログラム内で指定される座標系の回転角度を抽出する解析部と、
制御対象である工作機械の有する軸の移動方向および回転方向の少なくとも何れか１つに基づいて作成される極性情報と、前記回転角度と、に基づいて、前記加工プログラム内の座標値を前記工作機械の座標系における座標値に変換する座標変換部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記回転角度は、前記工作機械が有する回転軸の回転角度である、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記極性情報と、前記回転角度と、に基づいて、前記加工プログラム内の座標値を前記工作機械の座標系における座標値に変換するための座標変換情報を計算する変換情報計算部をさらに備え、
前記座標変換部は、前記座標変換情報および前記極性情報を用いて前記加工プログラム内の座標値を前記工作機械の座標系における座標値に変換する、
ことを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記移動方向および前記回転方向の少なくとも何れか１つに基づいて、前記極性情報を設定する設定部をさらに備え、
前記変換情報計算部は、前記設定部が設定した前記極性情報に基づいて、前記座標変換情報を計算する、
ことを特徴とする請求項３に記載の数値制御装置。
【請求項５】
前記設定部は、前記工作機械が有する直線軸の極性情報を設定した後に、前記回転軸の極性情報を設定する、
ことを特徴とする請求項４に記載の数値制御装置。
【請求項６】
複数の前記極性情報の中から前記工作機械の動作に対応する特定の極性情報を選択する選択部をさらに備え、
前記解析部は、前記加工プログラム内から前記動作に対応する軸の組み合わせを抽出し、
前記選択部は、前記軸の組み合わせに基づいて、前記特定の極性情報を選択する、
ことを特徴とする請求項１から３の何れか１つに記載の数値制御装置。
【請求項７】
前記加工プログラム内の座標値は、傾斜面を基準とした座標系である傾斜面座標系の座標値である、
ことを特徴とする請求項１から６の何れか１つに記載の数値制御装置。
【請求項８】
加工プログラムを解析して前記加工プログラム内で指定される座標系の回転角度を抽出する解析ステップと、
制御対象である工作機械の有する軸の移動方向および回転方向の少なくとも何れか１つに基づいて作成される極性情報と、前記回転角度と、に基づいて、前記加工プログラム内の座標値を前記工作機械に対応する座標値に変換する座標変換ステップと、
を含むことを特徴とする数値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を制御する数値制御装置および数値制御方法に関する。
【背景技術】
【０００２】
数値制御装置は、加工プログラムに基づいて工作機械を制御する装置である。工作機械の制御では様々な座標系が用いられるので、数値制御装置は、加工プログラム内の指令で指定された座標を、工作機械に対応する座標系の座標に変換したうえで、工作機械に移動指令を出力する。【０００３】
特許文献１に記載の数値制御装置は、加工プログラムに対して座標系変換処理を実行する座標系変換手段が、右手系に基づく指令を、左手系に基づく指令に変換して左手系の工作機械を制御している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２４６６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術である特許文献１の数値制御装置は、回転軸の回転方向が左手系である工作機械を想定していないので、工作機械が備える軸の移動方向または回転方向を考慮した制御を実現できないという問題があった。【０００６】
本発明は、上記に鑑みてなされたものであって、工作機械が備える軸の移動方向および回転方向の少なくとも何れか１つを考慮した制御を実現できる数値制御装置および数値制御方法を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、数値制御装置において、加工プログラムを解析して加工プログラム内で指定される座標系の回転角度を抽出する解析部を備える。また、本発明の数値制御装置は、制御対象である工作機械の有する軸の移動方向および回転方向の少なくとも何れか１つに基づいて作成される極性情報と、回転角度と、に基づいて、加工プログラム内の座標値を工作機械の座標系における座標値に変換する座標変換部とを備える。
【発明の効果】
【０００８】
本発明にかかる数値制御装置は、工作機械が備える軸の移動方向および回転方向の少なくとも何れか１つを考慮した制御を実現できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１にかかる数値制御装置の構成を示すブロック図
【図２】実施の形態１にかかる座標変換行列の計算処理手順を示すフローチャート
【図３】実施の形態１にかかる工具チルト型の工作機械の構成を示す図
【図４】実施の形態１にかかる混合型の工作機械の構成を示す図
【図５】実施の形態１にかかるテーブルチルト型の工作機械の構成を示す図
【図６】実施の形態１にかかる、機械構成と回転軸との関係を示す図
【図７】実施の形態２にかかる数値制御装置の構成を示すブロック図
【図８】実施の形態２にかかる主軸固定型の工作機械の機械構成を説明するための図
【図９】実施の形態２にかかる主軸移動型の工作機械の機械構成を説明するための図
【図１０】実施の形態２にかかる極性情報テーブルの構成を示す図
【図１１】実施の形態３にかかる数値制御装置の構成を示すブロック図
【図１２】実施の形態３にかかる、左手系と基準右手系との関係を説明するための図
【図１３】実施の形態３にかかる、極性情報の設定処理手順を示すフローチャート
【図１４】実施の形態３にかかる極性情報の設定例を示す図
【図１５】実施の形態１から３にかかる数値制御装置のハードウェア構成例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかる数値制御装置および数値制御方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、本発明の実施の形態１にかかる数値制御装置の構成を示すブロック図である。数値制御装置（ＮＣ装置：Numerical  Controller）１０１は、被加工物を加工するための加工プログラム１５０に基づいて、工作機械２００への移動指令３６を生成するコンピュータである。なお、実施の形態１では、工作機械２００の回転軸が左手系となる場合について説明する。
【００１２】
工作機械２００は、数値制御装置１０１からの移動指令３６に従って被加工物を加工するマシニングセンタといった機械である。工作機械２００は、ワークである被加工物を加工するための複数の軸を有している。工作機械２００が有している複数の軸の１つは、工作機械２００に取り付けられる工具の工具姿勢を変更するための軸である。工作機械２００は、複数の軸の少なくとも１つである移動軸の軸に沿った移動または回転軸の回転によって、被加工物に対する工具姿勢の変更を可能とする。工作機械２００に取り付けられる工具は、回転することで被加工物を切削して、被加工物に孔または穴を形成する。
【００１３】
工作機械２００は、被加工物が載置されるテーブルを有している。工作機械２００が有している複数の軸の１つは、テーブルを回転させるための軸である。また、工作機械２００は、工作機械２００の全体をＸ方向、Ｙ方向およびＺ方向の各々に並進移動させるＸ軸、Ｙ軸およびＺ軸を有している。Ｘ軸、Ｙ軸およびＺ軸の各々は、工作機械２００が有している複数の軸の１つである。
【００１４】
なお、工作機械２００のＸ軸、Ｙ軸およびＺ軸は、何れも直線型の移動軸である。また、工作機械２００では、Ａ軸はＸ軸を回転中心軸とする回転軸であり、Ｂ軸はＹ軸を回転中心軸とする回転軸であり、Ｃ軸はＺ軸を回転中心軸とする回転軸である。
【００１５】
数値制御装置１０１は、ユーザプログラムである加工プログラム１５０を用いて工作機械２００を制御する。数値制御装置１０１は、加工プログラム１５０から読み出した座標値を座標変換した後に、座標変換後の座標値を用いて工作機械２００への移動指令３６を生成する。
【００１６】
数値制御装置１０１は、工作機械２００が有する複数の軸の動作を制御することによって、被加工物に対する工具の位置および姿勢を制御する。工作機械２００が有する軸の動作は、並進移動または回転である。複数の軸で動作させられる構成要素の一例は、工具およびテーブルの何れか一方または両方である。
【００１７】
数値制御装置１０１は、加工プログラム１５０を記憶する加工プログラム記憶部１１と、加工プログラム記憶部１１内から加工プログラム１５０を読み出して解析する解析部１２とを備えている。また、数値制御装置１０１は、後述する極性情報１８０を記憶する極性情報記憶部２１と、計算処理によって座標変換行列３４を導出する行列計算部１３とを備えている。また、数値制御装置１０１は、加工プログラム１５０内の指令座標値３３を工作機械２００の座標値に変換する座標変換部１５と、変換された座標値に対応する移動指令３６を計算する指令計算部１６とを備えている。
【００１８】
数値制御装置１０１では、解析部１２が、加工プログラム記憶部１１、行列計算部１３および座標変換部１５に接続されている。また、数値制御装置１０１では、行列計算部１３が、極性情報記憶部２１および座標変換部１５に接続され、座標変換部１５が指令計算部１６に接続されている。そして、指令計算部１６が工作機械２００に接続されている。
【００１９】
加工プログラム記憶部１１は、外部からの入力情報である加工プログラム１５０を記憶するメモリといった記憶装置である。解析部１２は、加工プログラム記憶部１１内の加工プログラム１５０の中から指令を読み出し、読み出した指令に基づいて、複数の軸の各々の動作量を演算する。
【００２０】
解析部１２は、加工プログラム１５０を解析して加工プログラム１５０内で指定される原点位置および座標系の回転角度を抽出して出力する。具体的には、解析部１２は、後述するN11ブロックでＧコードを用いて指令されるＸＹＺアドレスへの設定値を原点位置３２として行列計算部１３へ出力し、後述するN11ブロックでＧコードを用いて指令されるＩＪＫアドレスへの設定値を座標回転角度３１として行列計算部１３へ出力する。座標回転角度３１は、加工プログラム１５０内で指定される座標系での回転角度である。座標回転角度３１は、座標系とともに、加工プログラム１５０内で指定されている。
【００２１】
また、解析部１２は、加工プログラム１５０に記載の指令に対応する移動指令３６を計算するために必要な情報を生成する。この情報の例は、後述の第１の加工プログラムに記載の、N10ブロック、N13ブロック、およびN14ブロックでの指令座標値３３である。解析部１２は、N10ブロック、N13ブロック、およびN14ブロックでの指令座標値３３を、各ブロックの移動座標である軸移動として座標変換部１５へ出力する。解析部１２が座標変換部１５へ出力する指令座標値３３の一例は、傾斜面座標系の座標値である。
【００２２】
変換情報計算部である行列計算部１３は、極性情報１８０と、解析部１２の出力結果である原点位置３２と、解析部１２の出力結果である座標回転角度３１とを用いて傾斜面座標系を並進移動および回転させる。これにより、行列計算部１３は、傾斜面座標系とワーク座標系との間で座標変換を行うための座標変換情報を計算する。座標変換情報の一例は、傾斜面座標系とワーク座標系との間で座標変換を行うための座標変換行列３４である。以下では、座標変換情報が、座標変換行列３４である場合について説明する。行列計算部１３は、計算した座標変換行列３４を座標変換部１５に出力する。
【００２３】
行列計算部１３は、傾斜面加工モードを示すG68.2指令が有効状態でない場合、座標変換行列３４として単位行列を導出する。この単位行列は、座標系の並進移動と回転とをともに行わないための指令である。行列計算部１３が導出した座標変換行列３４が単位行列である場合、座標系の並進移動と、座標系の回転とは、ともに行われないこととなる。
【００２４】
極性情報記憶部２１は、極性情報１８０を記憶するメモリといった記憶装置である。極性情報１８０は、工作機械２００の機械構成と、直線軸の移動方向と、回転軸の回転方向とに基づいて作成される情報であり、工作機械２００が備える軸が、右手系に従う軸であるか否かを示している。なお、極性情報１８０は、工作機械２００が備える軸の移動方向および回転方向の少なくとも何れか１つと、工作機械２００の機械構成と、に基づいて作成されればよい。極性情報１８０は、工作機械２００が備える軸毎に設定されている。極性情報１８０は、右手系に従う軸であることを示す情報、または左手系に従う軸であることを示す情報の何れかである。極性情報１８０は、行列計算部１３が、右手系に従う軸であるか否かを判断する際に用いられる。
【００２５】
具体的には、極性情報１８０では、右手系に従う軸には「０」が設定されており、左手系に従う軸には「１」が設定される。すなわち、右手系に従う工作機械２００に対しては、全ての軸の極性情報１８０が「０」に設定され、左手系に従う工作機械２００では、少なくとも１つの軸の極性情報１８０が「１」に設定されることとなる。
【００２６】
なお、実施の形態１で説明する極性は、直線軸に対しては移動方向を指し、回転軸に対しては回転方向を指す用語として使用する。また、右手系に従わない軸を逆極性の軸と呼ぶ場合がある。
【００２７】
座標変換部１５は、解析部１２から入力される指令座標値３３と、行列計算部１３から入力される座標変換行列３４と、極性情報記憶部２１内の極性情報１８０とに基づいて、機械座標値３５を計算する。機械座標値３５は、工作機械２００の座標系である機械座標系での座標値である。なお、座標変換部１５は、各軸の移動区間毎の始点と終点との間を、直線補間または円弧補間といった加工プログラム１５０で指令された方法で補間した後に、各補間点での機械座標値３５を計算する。
【００２８】
指令計算部１６は、機械座標値３５に基づいて各軸の位置指令の値に加減速処理を行うことによって、工作機械２００が有する各軸への移動指令３６を計算する。各軸への位置指令の値は、各補間点での座標系における位置指令の値である。指令計算部１６は、計算した移動指令３６を工作機械２００に送信する。工作機械２００は、工作機械２００の各軸の位置が、各軸への移動指令３６に追従するように各軸を駆動させる。
【００２９】
加工プログラム１５０は、被加工物に対する工具の動作を記載したものであり、工作機械２００への指令の座標系を定義した情報を含んでいる。なお、以下の説明では、加工プログラム１５０内の座標系を加工プログラム１５０で定義された座標系といい、数値制御装置１０１によって変換される座標系を数値制御装置１０１で設定される座標系という。ここで、加工プログラム１５０の第１例である第１の加工プログラムについて説明する。第１の加工プログラムは、以下のように記載される。
＜第１の加工プログラム＞
N10  G54  G0X100.Y100.Z0.
N11  G68.2P5X10.Y10.Z10.I0.J30.K60.
N12  G53.1
N13  G1  Z-10.  F1000.
N14  G1  X10.
：
：
N20  G69
【００３０】
第１の加工プログラムは、左側にＮアドレスを用いたシーケンス番号が記載されている。シーケンス番号は、軸の移動に関連するものではないが、説明の都合上便宜的に記載している。なお、以下の説明では、第１の加工プログラムの１行をブロックで表現している。
【００３１】
N10ブロックでは、G54指令が、使用する座標系を指定しており、早送り移動指令のG0が、G54座標系における（Ｘ，Ｙ，Ｚ）＝（１００，１００,０）の位置に工具を移動させる指令を行っている。G54座標系は、複数個を設定可能なワーク座標系の１つであり、工作機械２００の機械原点からの距離を予め設定することで定義される座標系である。ワーク座標系は、被加工物を基準とした座標系である。このように、N10ブロックには、早送り速度で工具を高速移動するための指令が記載されている。
【００３２】
N11ブロックでは、G68.2指令が、傾斜面を基準とした座標系である傾斜面座標系の定義を行っている。G68.2指令は、５軸加工の機能を実行する傾斜面加工指令である。G68.2指令は、ワーク座標系の原点からの差分を与えて、傾斜面といった任意の平面の原点を、フィーチャ座標系として任意の位置に設定する指令である。このように、G68.2指令は、ワーク上の傾斜面を表す座標系であるフィーチャ座標系を設定する。数値制御装置１０１が、G68.2指令に基づいた原点および回転角度を指定することによって、傾斜面座標系を定義すると、この傾斜面座標系へのプログラム指令が可能となる。
【００３３】
Ｐアドレスは、傾斜面座標系の定義方法を指定するものであり、P5指令は、工作機械２００が備える軸の回転角度である回転軸角度を用いて傾斜面座標系の回転角度を指定する。ＸＹＺアドレスは、傾斜面座標系の原点位置３２をG54座標系の座標値に設定するために使用される。ここでは、G54座標系の座標値（Ｘ,Ｙ,Ｚ）＝（１０，１０，１０）の位置が、傾斜面座標系の原点に指定されている。また、ＩＪＫアドレスは、座標系の回転角度を設定するために使用される。ＩＪＫアドレスでI0.J30.K60.のように座標系の回転角度が設定されることで、第１の加工プログラムは、任意の座標系を設定することが可能となる。ここでのN11ブロックの指令は、ＪアドレスでＢ軸の回転角度であるＢ軸角度を指定し、ＫアドレスでＣ軸の回転角度であるＣ軸角度を指定する。Ｉアドレスは、工作機械２００がＡ軸を有する場合にＡ軸の回転角度であるＡ軸角度を指定するために使用される。
【００３４】
なお、第１の加工プログラムは、G68.2P5指令に工作機械２００が備える軸の回転軸角度を用いた座標系回転の定義方法を使用しているが、工作機械２００が備える軸の回転軸角度を用いる定義方法であれば、ロール角、ピッチ角、およびヨー角の指定といった既存の定義方法で指令が代用されてもよい。
【００３５】
N12ブロックでは、G53.1指令が、傾斜面座標系のＺ軸方向と工具方向とを一致させる。G53.1指令があると、回転軸の回転角度が数値制御装置１０１の内部で計算する角度に位置決めされる。
【００３６】
なお、G53.1指令が、テーブル側に回転軸を有する機械構成に対してテーブル側の回転軸を回転させる場合、テーブルの回転に連動した座標系の再定義が行われる。この場合、N12ブロックの指令は、G53.1指令前の傾斜面座標系を回転テーブルに固定し、テーブル回転後の状態で、G53.1指令前の回転テーブルと傾斜面座標系との間の関係を保持するよう傾斜面座標系の再定義を行う。
【００３７】
N13ブロックでの指令以降、N20ブロックでG69指令が行われるまで、数値制御装置１０１は、第１の加工プログラムで傾斜面座標系に対する軸移動指令を行うことで、傾斜面に対して所望の加工を行うことが可能となる。
【００３８】
なお、N13ブロックでは、切削指令であるG1指令が軸移動を実行する。具体的には、G1指令が、傾斜面座標系上の座標値Z-10.の位置に、F1000.によって送り速度１０００ｍｍ／ｍｉｎで工具を移動させる。その後、N14ブロックの指令は、X10.の座標位置に工具を移動させる。
【００３９】
N20ブロックでのG69指令は、傾斜面座標系の定義を解除する指令である。このG69指令が実行されると、工作機械２００は、G69指令以降G68.2指令前の座標系であるG54座標系が座標系に定義されたものとして動作することとなる。なお、実施の形態１および後述の実施の形態２，３で説明する傾斜面座標系は、傾斜のある面座標系と傾斜のない面座標系との何れであってもよい。
【００４０】
なお、実施の形態１では、数値制御装置１０１が、補間後の位置指令に座標変換を行う場合について説明したが、数値制御装置１０１は、各移動区間の始点および終点の位置指令に座標変換を行い、座標変換後の位置指令に補間を行うことによって、補間点での位置指令を求めてもよい。
【００４１】
つぎに、行列計算部１３による座標変換行列３４の計算処理手順を図２のフローチャートに従って説明する。図２は、実施の形態１にかかる座標変換行列の計算処理手順を示すフローチャートである。ステップＳ１において、行列計算部１３は、工具座標系を機械座標系に変換するための座標回転行列を計算する。換言すると、行列計算部１３は、工具座標系から機械座標系までの座標回転行列を計算する。工具座標系は、工作機械２００に取り付けられる工具を基準とした座標系であり、機械座標系は、工作機械２００を基準とした座標系である。なお、行列計算部１３は、極性情報１８０のうちの工具側回転軸の極性情報と、回転軸の回転角度である座標回転角度３１とを考慮に入れて、座標回転行列を計算する。この場合において、行列計算部１３は、座標系の回転のみを行い並行移動を行うことなく、座標回転行列を計算する。
【００４２】
ここで、工作機械２００の構成例と、工作機械２００の構成に対応する座標回転行列について説明する。図３は、実施の形態１にかかる工具チルト型の工作機械の構成を示す図である。工具チルト型の工作機械である工作機械２０１は、工作機械２００の一例である。ここでは、工具２５側の回転軸であるＢ軸またはＣ軸に設定された極性情報１８０を用いた処理を説明する。
【００４３】
工作機械２０１は、第１の回転軸である回転軸７２周りに回転する回転部６２と、第２の回転軸である回転軸７１周りに回転する回転部６１と、を備えている。なお、回転軸７１，７２および後述する回転軸７３〜７６は、回転軸の例である。
【００４４】
また、工作機械２０１は、回転部６１と回転部６２とを接続する接合部６４Ｐを備えている。また、工作機械２０１は、回転部６２に接続されるとともに、工具２５を保持する保持部６５Ｐを備えている。また、工作機械２０１は、被加工物６６を保持するテーブル８１を備えている。この構成により、工作機械２０１は、回転部６１が回転軸７１周りに回転することによって工具姿勢を変えることができるとともに、回転部６２が回転軸７２周りに回転することによって工具姿勢を変えることができる。
【００４５】
工作機械２０１において、工具座標系５２は工具２５を基準とした座標系であり、テーブル座標系５３は、テーブル８１を基準とした座標系であり、機械座標系５１は工作機械２０１を基準とした座標系である。
【００４６】
工作機械２０１の機械構成における工具座標系５２は、機械座標系５１を回転軸７１の軸周りに角度Ｃｒだけ回転させた後、回転軸７２の軸周りに角度Ｂｒだけ回転させることで規定された座標系である。
【００４７】
座標回転行列をRot(r,θ)と表現し、rを回転中心ベクトル、θを回転角度とすると、Ｘ軸、Ｙ軸およびＺ軸周りに回転角度θだけ回転させる場合の座標回転行列は、以下の式（１）で示される。
【００４８】
【数１】
0006320668.tif 000002
【００４９】
なお、式（１）におけるｒの右下に付された添え字のＸ、ＹおよびＺは、Ｘ軸、Ｙ軸およびＺ軸であることを示している。行列計算部１３は、式（１）を用いて座標回転行列を計算した後、以下の式（２）を用いて回転軸極性を考慮に入れた座標軸ベクトルを計算する。
【００５０】
【数２】
0006320668.tif 000003
【００５１】
これにより、行列計算部１３は、機械座標値３５に変換された工具座標系５２の各座標軸ベクトルを得ることができる。なお、式（２）のkB、kCは、Ｂ軸極性、Ｃ軸極性に応じて値が設定される変数であり、回転軸極性が右手系に従う場合には「１」が設定され、回転軸極性が逆極性の軸に従う場合には「−１」が設定される。kの右下に付された添え字のＢおよびＣは、Ｂ軸およびＣ軸であることを示しており、直線軸にも回転軸７１，７２にも適用されるものである。
【００５２】
このように、行列計算部１３は、ステップＳ１の処理において、各回転軸７１，７２の極性を考慮した座標回転行列を導出する。この座標回転行列は、工作機械２０１の機械構成において、座標系を、Ｚ軸周りにＣ軸の極性情報を考慮した角度だけ回転させた後、Ｙ軸周りにＢ軸の極性情報を考慮した角度だけ回転する処理に対応している。
【００５３】
なお、工作機械２００は、図３に示した工具チルト型の工作機械２０１に限らず、後述するテーブルチルト型の工作機械２０３であってもよいし、後述する混合型の工作機械２０２であってもよい。図４は、実施の形態１にかかる混合型の工作機械の構成を示す図である。混合型の工作機械である工作機械２０２は、工作機械２００の一例である。工作機械２０２は、工具チルト型の工作機械２０１の一部とテーブルチルト型の工作機械２０３の一部とを混合した機械であり、工具２５側とテーブル８２側との両方に回転軸を１軸ずつ有している。
【００５４】
工作機械２０２は、回転軸７３周りに回転する回転部６３と、回転部６３に接続されるとともに工具２５を保持する保持部６５Ｑとを備えている。また、工作機械２０２は、被加工物６６を保持するとともに回転軸７４周りに回転するテーブル８２を備えている。工作機械２０２では、回転軸７３が第１の回転軸であり、回転軸７４が第２の回転軸である。
【００５５】
この構成により、工作機械２０２は、回転部６３が回転軸７３周りに回転することによって工具姿勢を変えることができるとともに、テーブル８２が回転軸７４周りに回転することによって被加工物６６の姿勢を変えることができる。
【００５６】
工作機械２０２において、工具座標系５２は工具２５を基準とした座標系であり、テーブル座標系５３は、テーブル８２を基準とした座標系であり、機械座標系５１は工作機械２０２を基準とした座標系である。
【００５７】
工作機械２０２の機械構成における工具座標系５２は、機械座標系５１を回転軸７３の軸周りに角度Ｂｒだけ回転させることで規定された座標系である。したがって、工作機械２０２の場合、ステップＳ１において、行列計算部１３は、工具２５の回転軸７３であるＢ軸と、Ｂ軸の極性情報とを考慮した角度だけ回転させる処理を行うことによって、座標回転行列を計算する。具体的には、行列計算部１３は、座標回転行列を計算した後、以下の式（３）を用いて回転軸極性を考慮に入れた座標軸ベクトルを計算する。
【００５８】
【数３】
0006320668.tif 000004
【００５９】
図５は、実施の形態１にかかるテーブルチルト型の工作機械の構成を示す図である。テーブルチルト型の工作機械である工作機械２０３は、工作機械２００の一例である。工作機械２０３は、工具２５側には回転軸を有しておらず、テーブル８３側に２つの回転軸７５，７６を有している。
【００６０】
工作機械２０３は、工具２５を保持する保持部６５Ｒを備えている。また、工作機械２０３は、被加工物６６を保持するとともに回転軸７６周りに回転するテーブル８３を備えている。また、工作機械２０３は、テーブル８３を回転軸７５でチルトさせるチルト台８４を備えている。工作機械２０３では、回転軸７５が第１の回転軸であり、回転軸７６が第２の回転軸である。
【００６１】
工作機械２０３では、テーブル８３がチルト台８４に接続されている。この構成により、工作機械２０３は、テーブル８３が回転軸７６周りに回転することによって被加工物６６の姿勢を変えることができるとともに、チルト台８４が回転軸７５でチルトすることによって被加工物６６の姿勢を変えることができる。
【００６２】
工作機械２０３において、工具座標系５２は工具２５を基準とした座標系であり、テーブル座標系５３は、テーブル８３を基準とした座標系であり、機械座標系５１は工作機械２０３を基準とした座標系である。
【００６３】
工作機械２０３は、工具２５側の回転軸がない機械構成であるので、工具座標系５２とワーク座標系とが同一方向となる。したがって、工作機械２０３の場合、ステップＳ１において、行列計算部１３は、工具２５の回転軸を考慮せずに座標回転行列を計算する。具体的には、行列計算部１３は、式（１）を用いて座標回転行列を計算した後、以下の式（４）を用いて工具２５の回転軸極性を考慮しない座標軸ベクトルを計算する。
【００６４】
【数４】
0006320668.tif 000005
【００６５】
工作機械２０１〜２０３の機械構成では、第１の回転軸を、工具座標系５２の原点に近い方の回転軸とし、第２の回転軸を、ワーク座標系の原点に近い方の回転軸として定義している。すなわち、工作機械２０１〜２０３の回転軸は、図６のように定義されている。
【００６６】
図６は、実施の形態１にかかる、機械構成と回転軸との関係を示す図である。図６に示すように、工具チルト型の場合、第１の回転軸は、先端側の工具回転軸であり、第２の回転軸は、根元側の工具回転軸である。ここでの先端側の工具回転軸が、回転軸７２であり、根元側の工具回転軸が回転軸７１である。
【００６７】
また、混合型の場合、第１の回転軸は、先端側の工具回転軸であり、第２の回転軸は、ワーク側のテーブル回転軸である。ここでの先端側の工具回転軸が、回転軸７３であり、ワーク側のテーブル回転軸が、回転軸７４である。
【００６８】
また、テーブルチルト型の場合、第１の回転軸は、根元側のテーブル回転軸であり、第２の回転軸は、ワーク側のテーブル回転軸である。ここでの根元側のテーブル回転軸が、回転軸７５であり、ワーク側のテーブル回転軸が回転軸７６である。
【００６９】
つぎに、ステップＳ２において、行列計算部１３は、工具姿勢ベクトルである座標軸ベクトルをテーブル回転軸の軸周りに回転させた座標回転行列を計算する。ここでの行列計算部１３が用いる座標軸ベクトルは、ステップＳ１で計算した座標回転行列を構成するベクトルである。行列計算部１３は、テーブル回転軸である回転軸７４〜７６における極性情報１８０および回転軸７４〜７６の回転角度を考慮に入れて、座標軸ベクトルをテーブル回転軸の軸周りに回転させる。これにより、座標回転行列の座標軸ベクトルが、テーブル座標系５３からワーク座標系に変換される。
【００７０】
工具チルト型の工作機械２０１の場合、テーブル回転軸がない機械構成であるので、行列計算部１３は、テーブル回転に対する座標変換を行うことなくステップＳ２を終了する。すなわち、行列計算部１３は、上述の式（２）を用いて計算した各座標軸ベクトルをそのまま、回転後の座標回転行列とする。
【００７１】
混合型の工作機械２０２の場合、テーブル８２側の回転軸７４であるＣ軸が１軸存在するので、行列計算部１３は、Ｚ軸の軸周りに、極性情報１８０を考慮したＣ軸角度分の座標系の回転を行う。具体的には、行列計算部１３は、式（３）の変換式にＣ軸分の座標系の回転を加えた式（５）の計算を行う。式（５）に示すＲが、テーブル回転に対応する座標変換を行った後の座標回転行列である。
【００７２】
【数５】
0006320668.tif 000006
【００７３】
また、テーブルチルト型の工作機械２０３の場合、式（４）で示される座標回転行列のベクトルを、行列計算部１３が、Ｚ軸周りに回転させた後、Ｘ軸周りに角度Ａｒだけ回転させることで回転後の座標回転行列を計算する。具体的には、行列計算部１３は、以下の式（６）を用いて、テーブル回転に対応する座標変換を行った後の座標回転行列を計算する。なお、式（６）におけるkAは、Ａ軸の極性に応じて設定される値であり、kBおよびkCと同様に設定される値である。
【００７４】
【数６】
0006320668.tif 000007
【００７５】
そして、ステップＳ３において、行列計算部１３は、傾斜面加工指令で指令された原点位置３２、およびステップＳ２で計算した座標回転行列に基づいて、座標変換行列３４を計算する。具体的には、行列計算部１３は、以下の式（７）を用いて座標変換行列３４を計算する。なお、式（７）では、座標変換行列３４をＴで表している。
【００７６】
【数７】
0006320668.tif 000008
【００７７】
数値制御装置１０１は、式（７）を用いて計算した座標変換行列３４を、G68.2指令の際に使用する。なお、式（７）に示した座標変換行列３４は、座標回転行列の計算に回転軸７１〜７６の極性情報１８０を加味し、さらに原点位置３２に直線軸の極性を加味したものとなっている。すなわち、式（７）におけるＲは、式（２）の座標軸ベクトル、式（６）のＲ、または式（５）のＲであり、式（７）におけるｐは、直線軸の並進移動のベクトルである。したがって、式（７）で示した座標変換行列３４は、左手系の座標値を指定することが可能な行列となっている。
【００７８】
図２のフローチャートでは、５軸の工作機械２００における座標変換行列３４の計算手順について説明したが、６軸の工作機械２００であっても、上述したステップＳ１からＳ３と同様の手順によって座標変換行列３４を計算することができる。
【００７９】
６軸の工作機械２００の１つに、工具２５側に２つの回転軸を有し、テーブル側に１軸の回転軸を有したものがある。このような６軸の工作機械２００に対しては、数値制御装置１０１は、ステップＳ１の処理において、工具座標系５２をワーク座標系に変換するための座標回転行列を計算すればよい。換言すると、ステップＳ１の処理において、数値制御装置１０１は、工具座標系５２からワーク座標系までの座標回転行列を計算すればよい。これにより、数値制御装置１０１は、６軸の工作機械２００に対しても、座標変換行列３４を計算することが可能となる。
【００８０】
つぎに、座標変換部１５の動作について説明する。座標変換部１５は、極性情報１８０、および座標変換行列３４を用いた座標変換を行う。行列計算部１３が計算した座標変換行列３４は、工作機械２００の機械構成を考慮して計算されたものである。ここでは、行列計算部１３が、以下の式（８）に示す座標変換行列３４を導出した場合について説明する。
【００８１】
【数８】
0006320668.tif 000009
【００８２】
数値制御装置１０１は、傾斜面加工中の移動指令を、傾斜面座標系上の座標値として認識したうえで、各軸を動かすための移動量を計算する。加工プログラム１５０が、傾斜面加工指令後に、（Ｘ,Ｙ,Ｚ）＝（１０，０，０）といった座標値への移動指令を行う場合がある。このとき、Ｂ軸の極性が右手系であれば、座標変換部１５は、以下の式（９）を用いて計算することができる位置に機械値である工具２５の位置が移動するように移動指令３６を生成する。なお、式（９）では、β＝４５degとした場合の数値を示している。
【００８３】
【数９】
0006320668.tif 000010
【００８４】
これに対し、Ｂ軸の極性が右手系に従わない逆極性、すなわち左手系である場合、座標変換部１５は、以下の式（１０）を用いて計算することができる位置に機械値が移動するように移動指令３６を生成する。
【００８５】
【数１０】
0006320668.tif 000011
【００８６】
このように、Ｂ軸の極性が左手系である場合、Ｂ軸の極性が右手系である場合と比較して、Ｚ軸の座標値の符号が反転した値となっている。すなわち、式（１０）での計算結果と、式（９）での計算結果とを比較すると、式（１０）に示す座標値の絶対値と式（９）に示す座標値の絶対値とは同じ値であり、Ｚ軸の座標値の符号が反転している。したがって、式（１０）および式（９）は、左手系での軸移動が正しく行われることを示している。換言すると、式（１０）および式（９）は、左手系の工作機械２００の機械角度を用いた傾斜面での座標を設定することができることを示している。
【００８７】
また、Ｃ軸回転を必要とする座標変換の場合、数値制御装置１０１は、G53.1指令によってＢ軸角度およびＣ軸角度の計算を行う。このとき、数値制御装置１０１は、得られる傾斜面座標系から回転軸角度の計算を行うこととなり、極性情報１８０を考慮した機械角度を計算することとなる。これにより、数値制御装置１０１は、計算したG53.1指令後の角度への位置決めを行うこととなる。
【００８８】
＜フィーチャＺ軸周りに座標系を回転する形態＞
なお、実施の形態１では、座標回転角度３１である機械回転軸の２軸分の指定をＪＫアドレスで指令することで傾斜面座標系を定義した第１の加工プログラムで工作機械２００が動作する場合について説明したが、工作機械２００は、機械回転軸の２軸の回転に加えて、さらにもう１軸分だけ座標系回転を可能な形態としてもよい。例えば、行列計算部１３が、図２のフローチャートのステップＳ２で得られた座標回転行列に、さらに、ＲアドレスでＺ軸周りの座標回転を追加してもよい。行列計算部１３は、このような追加の回転角度を指定することで、任意の位置に任意の座標系を定義することが可能となる。
【００８９】
このように、数値制御装置１０１は、工作機械２００の回転角度および極性情報１８０に基づいて、座標変換行列３４を計算するので、工作機械２００の回転角度および極性情報１８０を用いた傾斜面座標系の設定を簡単に実施することが可能となる。これにより、傾斜面座標系の設定を行う際の煩雑な設定作業が不要となる。
【００９０】
ここで、座標変換行列３４を用いることなく工作機械２００を制御する数値制御装置について説明する。この数値制御装置は、数値制御装置１０１に対する比較例の装置である。比較例の数値制御装置が、左手系の工作機械２００に対して、右手系を前提とする座標系設定方法を用いる場合、以下に示す問題のため座標系の設定が困難である。例えば、比較例の数値制御装置が、左手系の工作機械２００に対して座標系を設定するために、基準となる右手系を想定し右手系と左手系との差異を考慮しながら座標系を設定する方法がある。この方法では、何れの軸を反転させるかの明確な基準が存在しないので、極性が反転する直線軸が存在する場合、極性が反転している軸を回転中心とした回転軸の極性をどのように設定すべきかが分からない。また、右手系を想定しながら左手系の工作機械２００に対してプログラミングを行うのは煩雑かつ複雑であるという問題がある。
【００９１】
また、比較例の数値制御装置が、Ｘ軸が反転する左手系の工作機械２００に、座標系の移動および回転のない傾斜面を設定する場合であっても、Ｘ座標を指令したときに位置決めされる座標値が傾斜面加工指令を指令する前後で異なる結果となる。すなわち、傾斜面加工指令前のX10.指令で機械値がX10.となる移動指令であっても、傾斜面加工指令後のX10.指令を行うと、X-10.の位置に位置決めされることとなり、傾斜面加工指令後に機械値であるX10.に移動させようとすると、X-10.のように指令する必要がある。そして、比較例の数値制御装置が、座標系の移動または回転のある傾斜面を設定する場合、さらに工作機械２００の挙動を理解することが難しくなる。このように、左手系の工作機械２００に右手系を想定して加工プログラムを作成することは、加工プログラムの可読性が悪く、加工プログラムと工作機械２００の移動方向との対応関係を理解することが困難になるという問題があった。
【００９２】
また、２つの回転軸を有する５軸の工作機械２００の構成には、工具チルト型、テーブルチルト型および混合型がある。このような５軸の工作機械２００に対して、ロール角、ピッチ角、およびヨー角と、座標系回転順序とが指定されることで、左手系の工作機械２００に対しても任意の傾斜面座標系を設定することはできる。ところが、このような傾斜面座標系の設定方法では、工作機械２００の機械構成毎に座標の回転順序が異なるので、機械構成を考慮して座標系を設定する必要がある。このため、座標系の設定作業が複雑になるという問題があった。
【００９３】
一方、実施の形態１の数値制御装置１０１は、座標変換行列３４を用いて傾斜面座標系といった座標系を設定するので、工作機械２００の機械構成に対応する座標系を容易に設定することが可能となる。すなわち、工作機械２００の軸極性を意識することなく、座標回転角度３１および原点位置３２を指定することによって、工作機械２００に合わせた座標系を設定することができる。これにより、加工プログラム１５０の作成が容易になり、加工プログラム１５０の可読性が向上し、加工プログラム１５０のメンテナンス性が向上する。
【００９４】
また、数値制御装置１０１が座標系を容易に設定できるので、機械座標値３５を用いた基礎プログラムを容易に作成することができる。この機械座標値３５を用いた基礎プログラムは、加工プログラム１５０が作成される前に作成されるものである。加工プログラム１５０は、傾斜面座標系で定義中の移動指令を、基礎プログラムでの移動指令とすることで作成されるものである。機械座標値３５を用いた基礎プログラムは、傾斜面座標系に対応する座標変換が行われることによって、加工プログラム１５０となる。
【００９５】
このように、実施の形態１によれば、数値制御装置１０１が、座標回転角度３１および極性情報１８０を用いて座標変換行列３４を計算し、座標変換行列３４を用いて座標値変換用の座標系を設定するので、工作機械２００の直線軸の移動方向、および、回転軸７１〜７６の回転方向の少なくとも何れか１つに応じた座標系を容易に設定することが可能となる。したがって、左手系の工作機械２００に対しても、機械構成に対応する座標系を容易に設定することが可能となる。また、傾斜面座標系の指令座標を、左手系の工作機械２００の機械構成に対応する座標値に容易に変換できる。
【００９６】
また、数値制御装置１０１が、座標変換行列３４を用いて座標系を設定するので、ユーザは、右手系と左手系とを区別することなく機械座標値３５を用いた加工プログラム１５０を作成することができる。
【００９７】
また、機械座標値３５を用いた基礎プログラムを容易に作成することができるので、機械座標値３５を用いた基礎プログラムが工作機械２００の座標値との関係を比較することによって、加工プログラム１５０と工作機械２００との座標値の対応関係を容易に判別することが可能となる。したがって、加工プログラム１５０が工作機械２００に所望の動作を実行させることができるか否かの確認を容易に行うことが可能となる。
【００９８】
実施の形態２．
つぎに、図７から図１０を用いてこの発明の実施の形態２について説明する。実施の形態２では、複数の極性情報が切替えられて用いられる。以下では、実施の形態１と異なる部分を中心に説明する。
【００９９】
実施の形態１では、工作機械２００が５軸のマシニングセンタである場合の座標変換について説明した。実施の形態２では、工作機械２００が自動盤または旋盤である場合の座標変換について説明する。工作機械２００が自動盤または旋盤の場合、工作機械２００には、混合型の５軸加工機構成が採用されることが多い。また、工作機械２００が複合旋盤の場合、対向主軸を用いた正面および背面で加工が行われることが多い。
【０１００】
図７は、実施の形態２にかかる数値制御装置の構成を示すブロック図である。図７の各構成要素のうち図１に示す実施の形態１の数値制御装置１０１と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
【０１０１】
実施の形態２の数値制御装置１０２は、実施の形態１の数値制御装置１０１に切替部１７が追加された構成となっている。また、数値制御装置１０２は、極性情報記憶部２１の代わりに極性情報記憶部２２を備えている。
【０１０２】
具体的には、数値制御装置１０２は、加工プログラム記憶部１１と、解析部１２、極性情報記憶部２２と、行列計算部１３、座標変換部１５と、指令計算部１６と、制御対象とする軸の組み合わせに基づいて、読み出す極性情報１８１，１８２を切替える切替部１７とを備えている。
【０１０３】
そして、数値制御装置１０２では、加工プログラム記憶部１１と、解析部１２と、行列計算部１３と、座標変換部１５と、指令計算部１６とが、数値制御装置１０１と同様の接続構成で接続されている。また、数値制御装置１０２では、切替部１７が、解析部１２、極性情報記憶部２２、座標変換部１５および行列計算部１３に接続されている。なお、図７では、座標回転角度３１および原点位置３２の図示を省略している。
【０１０４】
極性情報記憶部２２は、第１の極性情報である極性情報１８１と、第２の極性情報である極性情報１８２とを記憶するメモリといった記憶装置である。選択部である切替部１７は、極性情報１８１または極性情報１８２を選択して読み出し、行列計算部１３に出力する。
【０１０５】
実施の形態２における解析部１２は、実施の形態１で説明した機能に加えて、加工プログラム１５０に記載された軸組み合わせ情報３７を切替部１７に出力する機能を備えている。すなわち、解析部１２は、加工プログラム１５０に基づいて、軸組み合わせ情報３７を抽出し、抽出した軸組み合わせ情報３７を切替部１７に出力する。
【０１０６】
軸組み合わせ情報３７は、工作機械２００で用いる軸の組み合わせを示す情報である。工作機械２００は、加工プログラム１５０内で規定された種々の軸の組み合わせで後述する被加工物６７，６８を加工する。例えば、加工プログラム１５０内の第１のブロック範囲では、第１の軸の組み合わせが用いられ、加工プログラム１５０内の第２のブロック範囲では、第２の軸の組み合わせが用いられる。
【０１０７】
切替部１７は、工作機械２００が備える制御対象の５軸の組み合わせに応じて、複数組の極性情報１８１，１８２の中から１つの極性情報を選択し出力することで、極性情報１８１，１８２を切り替えることが可能な構成となっている。換言すると、切替部１７は、複数の極性情報１８１，１８２の中から工作機械２００の動作に対応する特定の極性情報を選択する。なお、具体的には、切替部１７は、解析部１２の出力結果である、軸組み合わせ情報３７に基づいて、使用する軸の構成に応じた極性情報を選択する。切替部１７は、極性情報記憶部２２から極性情報１８１または極性情報１８２を選択して、座標変換部１５および行列計算部１３へ出力する。実施の形態２では、極性情報が極性情報１８１，１８２の２つである場合について説明するが、極性情報は、３つ以上であってもよい。
【０１０８】
切替部１７は、工作機械２００が用いる軸の組み合わせが第１の軸の組み合わせである場合に、極性情報１８１を選択して読み出す。また、切替部１７は、工作機械２００が用いる軸の組み合わせが第２の軸の組み合わせである場合に、極性情報１８２を選択して読み出す。そして、切替部１７は、読み出した極性情報１８１または極性情報１８２を行列計算部１３に出力する。これにより、切替部１７は、座標系の計算に用いる極性情報を、極性情報１８１または極性情報１８２に切り替える。
【０１０９】
行列計算部１３、座標変換部１５、および指令計算部１６は、実施の形態１と同様の処理を行う。これにより、数値制御装置１０２は、加減速後の機械座標値３５を計算し、機械座標値３５に対応する移動指令３６を機械駆動部である工作機械２００へ出力する。
【０１１０】
また、実施の形態２では、数値制御装置１０２が、加工プログラム１５０の第２例である第２の加工プログラムを用いて工作機械２００を制御する。第２の加工プログラムは、以下のように記載される。
＜第２の加工プログラム＞
N10  G54  G0X10.Y10.Z0.
N11  G68.2P5X0.Y0.Z0.I0.J45.K0.  D2
N12  G53.1
N13  G1  X10.  F1000.
N14  G1  Y10.Z0.
N15  G1  Z5.
：
：
N20  G69
【０１１１】
第２の加工プログラムにおいて、N10ブロックでは、G54指令が、使用する座標系を指定し、早送り移動指令のG0が、G54座標系における（Ｘ,Ｙ,Ｚ）＝（１０，１０，０）の位置に後述する工具９１を移動させる指令を行っている。
【０１１２】
N11ブロックでは、５軸を構成する軸の組み合わせを指定可能とする指令が追加されている。具体的には、第２の加工プログラムでは、N11ブロックにおけるG68.2指令にDアドレスを追加し、Dアドレスで極性情報１８１，１８２のグループ番号を選択することを可能としている。これにより、第２の加工プログラムは、予め記憶されている複数の極性情報１８１，１８２のうちの１つを選択することができる。第２の加工プログラムにおけるN12ブロック以降の構成は、第１の加工プログラムにおけるN12ブロック以降の構成と同様である。なお、説明の都合上、N13ブロック以降の座標値を、第１の加工プログラムとは異なる値としている。
【０１１３】
複数の極性情報１８１，１８２が適用される工作機械２００の例は、主軸固定型の工作機械および主軸移動型の工作機械である。図８は、実施の形態２にかかる主軸固定型の工作機械の機械構成を説明するための図である。混合型機械である主軸固定型の工作機械は、工作機械２００の一例であり、回転可能な工具台９２Ｐと、回転テーブル８５Ｐ，８６Ｐとを備えている。
【０１１４】
刃物台である工具台９２Ｐの例は、タレットである。工具台９２Ｐは、タレット工具といった工具９１を保持する台である。工具台９２Ｐは、複数の工具９１を保持することができるよう構成されている。図８では、工具台９２Ｐが３つの工具９１を保持している場合を示している。工具９１は、工具軸を軸中心として回転することで被加工物６７，６８を切削する切削工具である。
【０１１５】
工具台９２Ｐは、Ｙ１軸周りに回転可能であり、Ｘ１軸、Ｙ１軸およびＺ１軸の軸方向に並進移動が可能である。このように、工具台９２Ｐは、Ｂ１軸の工具回転軸と、Ｘ１軸、Ｙ１軸およびＺ１軸の並進軸とを有している。このような構成により、工具９１は、Ｘ１軸方向の移動と、Ｙ１軸方向の移動と、Ｚ１軸方向の移動と、ＸＺ平面内でのＹ１軸周りの回転とが可能となっている。なお、図８ではＸ１軸およびＺ１軸の軸方向の並進移動を示す矢印を図示しているが、Ｙ１軸の軸方向の並進移動を示す矢印は図示していない。
【０１１６】
回転テーブル８５Ｐは、被加工物６７を保持し、回転テーブル８６Ｐは、被加工物６８を保持する。回転テーブル８５Ｐ，８６Ｐは、Ｚ軸周りに回転可能である。回転テーブル８５Ｐは、Ｃ１軸を回転中心軸として回転し、回転テーブル８６Ｐは、Ｃ２軸を回転中心軸として回転する。
【０１１７】
これにより、工具台９２Ｐは、回転テーブル８５Ｐに設置された被加工物６７、または、回転テーブル８６Ｐに設置された被加工物６８の加工が可能な構成となっている。図８では、工具９１による被加工物６７の加工が正面加工であり、工具９１による被加工物６８の加工が背面加工である。図８に示すように主軸固定型の工作機械は、工具台９２Ｐの回転方向がＹ１軸に対して逆極性である。
【０１１８】
被加工物６７が加工される際には、工具台９２ＰがＸ１軸、Ｙ１軸およびＺ１軸の軸方向に並進移動し、工具台９２ＰがＢ１軸方向に回転することによって、工具９１が被加工物６７の正面に移動する。図８では、Ｂ１軸方向にＢ＋４５degだけ工具台９２Ｐが回転することによって、工具９１が被加工物６７に接触した状態を示している。このような工具９１および被加工物６７の接触状態で、回転テーブル８５ＰがＣ１軸を回転中心軸として回転し、工具９１が工具軸を回転中心軸として回転することによって、工具９１が被加工物６７を加工する。
【０１１９】
同様に、被加工物６８が加工される際には、工具台９２ＰがＸ１軸、Ｙ１軸およびＺ１軸の軸方向に並進移動し、工具台９２ＰがＢ１軸方向に回転して、工具９１が被加工物６８の背面に移動する。図８では、Ｂ１軸方向にＢ−４５degだけ工具台９２Ｐが回転することによって、工具９１が被加工物６８に接触した状態を示している。このような工具９１および被加工物６８の接触状態で、回転テーブル８６ＰがＣ２軸を回転中心軸として回転し、工具９１が工具軸を回転中心軸として回転することによって、工具９１が被加工物６８を加工する。
【０１２０】
図９は、実施の形態２にかかる主軸移動型の工作機械の機械構成を説明するための図である。混合型機械である主軸移動型の工作機械は、工作機械２００の一例であり、回転可能な工具台９２Ｑと、回転テーブル８５Ｑ，８６Ｑとを備えている。
【０１２１】
刃物台である工具台９２Ｑの例は、タレットである。工具台９２Ｑは、工具９１を保持する台である。工具台９２Ｑは、複数の工具９１を保持することができるよう構成されている。図９では、工具台９２Ｑが３つの工具９１を保持している場合を示している。工具９１は、工具軸を軸中心として回転することで被加工物６７，６８を切削する切削工具である。
【０１２２】
工具台９２Ｑは、Ｙ１軸周りに回転可能であり、Ｘ１軸およびＹ１軸の軸方向に並進移動が可能である。このように、工具台９２Ｑは、Ｂ１軸の工具回転軸と、Ｘ１軸およびＹ１軸の並進軸とを有している。このような構成により、工具９１は、Ｘ１軸方向の移動と、Ｙ１軸方向の移動と、ＸＺ平面内でのＹ１軸周りの回転とが可能となっている。なお、図９ではＸ１軸、Ｚ１軸およびＺ２軸の軸方向の並進移動を示す矢印を図示しているが、Ｙ１軸の軸方向の並進移動を示す矢印は図示していない。
【０１２３】
回転テーブル８５Ｑは、被加工物６７を保持し、回転テーブル８６Ｑは、被加工物６８を保持する。回転テーブル８５Ｑ，８６Ｑは、Ｚ軸周りに回転可能である。回転テーブル８５Ｑは、Ｃ１軸を回転中心軸として回転可能であり、回転テーブル８６Ｑは、Ｃ２軸を回転中心軸として回転可能である。さらに、回転テーブル８５Ｑは、Ｚ１軸方向に並進移動が可能であり、回転テーブル８６Ｑは、Ｚ２軸方向に並進移動が可能である。
【０１２４】
これにより、工具台９２Ｑは、回転テーブル８５Ｑに設置された被加工物６７、または、回転テーブル８６Ｑに設置された被加工物６８の加工が可能な構成となっている。図９では、工具９１による被加工物６７の加工が正面加工であり、工具９１による被加工物６８の加工が背面加工である。このように、図９に示す主軸移動型の工作機械は、回転テーブル８５Ｑ，８６Ｑの何れで加工を行うかによって、直線軸であるＺ軸の極性が反転する機械構成となっている。
【０１２５】
図９に示す主軸移動型の工作機械は、工具９１側がＺ軸方向に移動するのではなく、被加工物６７，６８側がＺ１，Ｚ２軸方向に移動している。すなわち、図９に示す主軸移動型の工作機械は、被加工物６７，６８と工具９１とが接近する方向をＺ軸正方向とする機械構成となっている。
【０１２６】
このような工具９１と被加工物６７，６８との相対関係により、図９に示す主軸移動型の工作機械は、被加工物６７，６８が固定されると、工具９１が被加工物６７，６８に接近する方向が正方向である工作機械２００とみなすことができる。なお、図９に示す主軸移動型の工作機械は、正面加工を行う場合の直線軸は、右手系の構成となっている。
【０１２７】
被加工物６７が加工される際には、工具台９２ＱがＸ１軸およびＹ１軸の軸方向に並進移動し、工具台９２ＱがＢ１軸方向に回転し、回転テーブル８５ＱがＺ１軸方向に並進移動することによって、工具９１が被加工物６７の正面に移動する。図９では、Ｂ１軸方向にＢ−４５degだけ工具台９２Ｑが回転することによって、工具９１が被加工物６７に接触した状態を示している。このような工具９１および被加工物６７の接触状態で、回転テーブル８５ＱがＣ１軸を回転中心軸として回転し、工具９１が工具軸を回転中心軸として回転することによって、工具９１が被加工物６７を加工する。
【０１２８】
同様に、被加工物６８が加工される際には、工具台９２ＱがＸ１軸およびＹ１軸の軸方向に並進移動し、工具台９２ＱがＢ１軸方向に回転し、回転テーブル８６ＱがＺ２軸方向に並進移動することによって、工具９１が被加工物６８の背面に移動する。図９では、Ｂ１軸方向にＢ＋４５degだけ工具台９２Ｑが回転することによって、工具９１が被加工物６８に接触した状態を示している。このような工具９１および被加工物６８の接触状態で、回転テーブル８６ＱがＣ２軸を回転中心軸として回転し、工具９１が工具軸を回転中心軸として回転することによって、工具９１が被加工物６８を加工する。
【０１２９】
図９に示したように、被加工物６７，６８がＺ軸方向に移動する機械構成では、正面加工および背面加工の際に、タレット工具といった工具９１に対するＺ軸方向が逆転することになるので、正面加工と背面加工とで異なる座標軸方向となる。このため、図９に示した主軸移動型の工作機械では、正面の場合での加工と、背面の場合での加工とで極性情報１８１，１８２を切り替えることが必要となる。
【０１３０】
図８および図９に示した機械構成の工作機械２００は、１台の工作機械であっても組み合わせる軸の構成次第で極性の設定を変更する必要のある工作機械である。したがって、数値制御装置１０２は、回転テーブル８５Ｐ，８５Ｑを用いる加工の場合と、回転テーブル８６Ｐ，８６Ｑを用いる加工の場合とで、極性情報１８１，１８２を切替える。
【０１３１】
ここで、極性情報１８１，１８２の構成について説明する。図１０は、実施の形態２にかかる極性情報テーブルの構成を示す図である。極性情報テーブル１８５は、極性情報１８１，１８２を含んで構成されている。図１０では、グループ１の極性情報が、極性情報１８１に対応し、グループ２の極性情報が、極性情報１８２に対応している。
【０１３２】
グループ１の極性情報１８１では、縦方向の直線軸であるＸ１軸、横方向の直線軸であるＹ１軸、高さ方向の直線軸であるＺ１軸、第１の回転軸であるＢ１軸および第２の回転軸であるＣ１軸に、極性情報の「０」、「０」、「０」、「１」、「０」が対応付けされている。また、グループ２の極性情報１８２では、Ｘ１軸、Ｙ１軸、Ｚ２軸、Ｂ１軸およびＣ２軸に、極性情報の「０」、「０」、「１」、「１」、「０」が対応付けされている。ここでの極性情報の「０」は、右手系に従う軸を示し、極性情報の「１」は、左手系に従う軸を示している。
【０１３３】
数値制御装置１０２は、回転テーブル８５Ｑを用いた加工を実行する場合には、図１０に示すグループ１の極性情報１８１を用いる。数値制御装置１０２は、回転テーブル８６Ｑを用いた加工を実行する場合には、図１０に示すグループ２の極性情報１８２を用いる。このように、数値制御装置１０２は、１台の工作機械に対して、極性情報１８１，１８２を切替えながら加工を制御する。
【０１３４】
図９の主軸移動型の工作機械の場合、Ｚ２軸を用いる背面加工では、直線軸の組み合わせが右手系とならない機械構成となっている。この場合、直線軸を左手系の機械構成として扱う必要がある。以下では、機械構成が、Ｚ軸反転型の左手系である場合を例として、行列計算部１３および座標変換部１５の処理を説明する。実施の形態２における傾斜面座標系の原点位置３２は、G54座標系で設定可能であるので、右手系の構成と、左手系の構成と、の何れの構成であっても、座標軸の値を入れれば傾斜面座標系を容易に設定することができる。また、傾斜面加工中の第２の加工プログラムによる指令値も、工作機械２００の機械座標値３５に基づく指令であるので、工作機械２００の動きまたは座標値と、第２の加工プログラムの座標値との関係が明確となる。これにより、ユーザは、第２の加工プログラムの作成を容易に行うことが可能となる。
【０１３５】
実施の形態２における座標変換部１５は、第２の加工プログラムに記載されたＸ軸、Ｙ軸およびＺ軸の座標値（Ｘ，Ｙ，Ｚ）＝（１０，０，０）が指令位置として入力された場合、以下の式（１１）を用いて工作機械２００の座標値を計算する。
【０１３６】
【数１１】
0006320668.tif 000012
【０１３７】
Ｂ軸が逆極性の場合、行列計算部１３は、座標変換行列３４を、前述の式（８）を用いて計算する。図１０に示した極性情報１８２では、グループ２のＺ２軸の極性情報が「１」であるので、工作機械２００は、Ｚ軸反転型の左手系である。なお、傾斜面座標系の原点位置３２を（Ｘ，Ｙ，Ｚ）＝（０，０，０）とすると、式（１１）から以下の式（１２）が得られる。
【０１３８】
【数１２】
0006320668.tif 000013
【０１３９】
ここで、加工プログラム１５０の第３例である第３の加工プログラムについて説明する。第３の加工プログラムは、以下のように記載される。
＜第３の加工プログラム＞
N10  G54  G0X10.Y10.Z0.
N11  G68.2P5X0.Y0.Z0.I0.J0.K0.  D2
N12  G53.1
N13  G1  X10.  F1000.
N14  G1  Z0.
：
：
N20  G69
【０１４０】
第３の加工プログラムでは、N10ブロックのG54指令でG54座標系の（Ｘ１，Ｙ１，Ｚ２）＝（１０，１０，０）の位置に工具９１が位置決めされ、N13ブロックで再度X10.の指令が行われている。第３の加工プログラムに記載される座標値は、傾斜面座標系を定義する前の座標系に従うように設定されているので、傾斜面加工を定義する前の座標系であるG54座標系が左手系の機械構成であれば、第３の加工プログラムの座標値には、左手系での軸移動が記載される。
【０１４１】
第３の加工プログラムにおけるN11ブロックのG68.2指令では、座標系がG54座標系に一致するように指令されており、N13ブロックの指令においてN10ブロックと同一の座標値になるよう位置決めされる。このため、傾斜面座標系が定義される前後の座標値を全て工作機械２００の座標系に統一することができる。したがって、ユーザは、第３の加工プログラムの全体で一貫した座標系を使用することができる。
【０１４２】
これにより、左手系の工作機械２００に対して、傾斜面加工中のみ右手系の第３の加工プログラムを使う場合に発生する座標値の不連続性を解消することができる。したがって、第３の加工プログラムの可読性を低下させることなく、数値制御装置１０２は、工作機械２００を駆動することが可能になる。また、第３の加工プログラムのメンテナンス性が向上する。
【０１４３】
このように、実施の形態２によれば、数値制御装置１０２が切替部１７を備えているので、数値制御装置１０２は、１台の工作機械２００が５軸の組み合わせを複数有する場合であっても、必要とされるタイミングで極性情報１８１，１８２を切り替えることができる。これにより、数値制御装置１０２は、適切な極性情報を使用した座標系を指定することができるので、正面加工の後に背面加工を行うタイミングで関連軸の構成が変化する場合であっても、容易に工作機械２００を制御することが可能となる。
【０１４４】
実施の形態３．
つぎに、図１１から図１４を用いてこの発明の実施の形態３について説明する。実施の形態３では、工作機械２００の機械構成に基づいて、後述の数値制御装置１０３が、実施の形態１で用いた極性情報１８０を作成する。なお、数値制御装置１０３は、実施の形態２で用いた極性情報１８１，１８２を作成してもよい。以下では、実施の形態１，２と異なる部分を中心に説明する。
【０１４５】
図１１は、実施の形態３にかかる数値制御装置の構成を示すブロック図である。図１１の各構成要素のうち図１に示す実施の形態１の数値制御装置１０１と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
【０１４６】
実施の形態３の数値制御装置１０３は、実施の形態１の数値制御装置１０１に機械構成記憶部２３および極性情報設定部１８が追加された構成となっている。具体的には、数値制御装置１０３は、加工プログラム記憶部１１と、解析部１２と、行列計算部１３と、座標変換部１５と、指令計算部１６と、機械構成情報３８を記憶する機械構成記憶部２３と、機械構成情報３８に基づいて極性情報１８０を設定する極性情報設定部１８とを備えている。機械構成情報３８は、工作機械２００の機械構成の情報である。機械構成情報３８には、工作機械２００が備えている軸の種類の情報が含まれている。具体的には、機械構成情報３８は、工作機械２００の直線軸の軸方向および回転軸の回転方向の少なくとも何れか１つを有している。
【０１４７】
数値制御装置１０３では、加工プログラム記憶部１１と、解析部１２と、行列計算部１３と、座標変換部１５と、指令計算部１６とが、数値制御装置１０１と同様の接続構成で接続されている。また、数値制御装置１０３では、極性情報設定部１８が、機械構成記憶部２３、座標変換部１５および行列計算部１３に接続されている。
【０１４８】
機械構成記憶部２３は、機械構成情報３８を記憶するメモリといった記憶装置である。設定部である極性情報設定部１８は、機械構成情報３８に基づいて、極性情報１８０を設定し、設定した極性情報１８０を行列計算部１３および座標変換部１５に出力する。極性情報設定部１８は、後述する直線軸の極性情報を設定した後に、後述する回転軸の極性情報を設定する。
【０１４９】
工作機械２００の座標軸が左手系である場合、左手系に対して想定される右手系は、複数存在する。ここで、左手系に対する基準右手系の候補について説明する。なお、基準右手系は、左手系の前提となる右手系である。換言すると、左手系が算出される際の元となる右手系が基準右手系である。
【０１５０】
図１２は、実施の形態３にかかる、左手系と基準右手系との関係を説明するための図である。図１２では、左手系の例と、この左手系に対して想定される基準右手系とを示している。
【０１５１】
左手系に対しては、軸反転タイプとして、Ｘ軸反転型、Ｙ軸反転型およびＺ軸反転型の合計３つの基準右手系が考えられる。図１２では、指令がX10.Z5.B45.の場合の左手系を図示している。この左手系に対応するＸ軸反転型の基準右手系では、指令がX-10.Z5.B45.となり、Ｙ軸反転型の基準右手系では、指令がX10.Z5.B-45.となり、Ｚ軸反転型の基準右手系では、指令がX10.Z-5.B45.となる。
【０１５２】
加工プログラム１５０を使用する側である数値制御装置１０３は、工作機械２００が備える軸の組み合わせ毎に、何れのタイプの基準右手系に対応する極性情報１８０を設定するかを選択する。
【０１５３】
ここで、数値制御装置１０３による極性情報１８０の設定処理について説明する。図１３は、実施の形態３にかかる、極性情報の設定処理手順を示すフローチャートである。数値制御装置１０３は、大きく分けて２つのステップの処理を実行する。数値制御装置１０３は、ステップｓｔ１において、極性情報１８０のうちの直線軸の極性情報を設定し、その後、ステップｓｔ２において、極性情報１８０のうちの回転軸の極性情報を設定する。ステップｓｔ１の処理は、ステップＳ１０からＳ１２の処理を含んでおり、ステップｓｔ２の処理は、ステップＳ２０からＳ２２の処理を含んでいる。
【０１５４】
以下、ステップｓｔ１の処理およびステップｓｔ２の処理の詳細について説明する。数値制御装置１０３では、予め機械構成記憶部２３が機械構成情報３８を記憶しておく。そして、極性情報設定部１８が、機械構成記憶部２３から機械構成情報３８を読み出す。この後、極性情報設定部１８は、機械構成情報３８に基づいて、ステップｓｔ１の処理であるステップＳ１０からＳ１２の処理と、ステップｓｔ２の処理であるステップＳ２０からＳ２２の処理とを実行する。
【０１５５】
具体的には、ステップｓｔ１のステップＳ１０において、極性情報設定部１８は、直線軸に右手系の設定が可能か否かを判定する。すなわち、極性情報設定部１８は、直線軸の３軸を対象に、この３軸に右手系の座標系を設定できるか否かを判定する。
【０１５６】
極性情報設定部１８が右手系を設定できると判定した場合、すなわちステップＳ１０において、Ｙｅｓの場合、極性情報設定部１８は、ステップＳ１１の処理を実行する。ステップＳ１１において、極性情報設定部１８は、直線軸の極性情報をＸ軸、Ｙ軸およびＺ軸とも右手系に設定する。
【０１５７】
一方、極性情報設定部１８が右手系を設定できないと判定した場合、すなわちステップＳ１０において、Ｎｏの場合、極性情報設定部１８は、ステップＳ１２の処理を実行する。ステップＳ１２において、極性情報設定部１８は、軸反転タイプを選択し、直線軸の極性情報を設定する。軸反転タイプは、Ｘ軸反転型の基準右手系、Ｙ軸反転型の基準右手系およびＺ軸反転型の基準右手系の何れかである。極性情報設定部１８は、これらの軸反転タイプから、１つの軸反転タイプを選択したうえで、直線軸の極性情報を設定する。極性情報設定部１８は、以下のルールに従って、軸反転タイプを選択する。
【０１５８】
＜ルール１＞
Ｘ軸、Ｙ軸およびＺ軸のうち、回転中心軸ではない軸を選択。
この場合、極性情報設定部１８は、Ｂ軸およびＣ軸を有する機械構成の場合にはＸ軸を選択し、Ａ軸およびＣ軸を有する機械構成の場合にはＹ軸を選択することによって、回転中心軸でない軸を選択する。
【０１５９】
＜ルール２＞
ルール１で選択した軸の極性情報を左手系の座標軸に設定。
【０１６０】
＜ルール３＞
残りの直線２軸の極性情報を右手系の座標軸に設定。
【０１６１】
なお、極性情報設定部１８は、上記のルールを採用せずに、ユーザからの指示にしたがって自由に軸反転タイプを選択してもよい。極性情報設定部１８は、ステップＳ１１またはステップＳ１２の処理を実行した後、ステップｓｔ２の処理を実行する。
【０１６２】
具体的には、ステップｓｔ２のステップＳ２０において、極性情報設定部１８は、回転中心軸が右手系であるか否かを判定する。すなわち、極性情報設定部１８は、回転軸の２軸を対象に、回転軸の回転中心である回転中心軸が、ステップｓｔ１の処理で右手系に設定されているか否かを判断する。
【０１６３】
極性情報設定部１８が右手系であると判定した場合、すなわちステップＳ２０において、Ｙｅｓの場合、極性情報設定部１８は、ステップＳ２１の処理を実行する。すなわち、極性情報設定部１８は、回転軸の回転中心軸が右手系である軸に対して極性情報１８０を設定する処理であるステップＳ２１の処理を実行する。
【０１６４】
ステップＳ２１において、極性情報設定部１８は、実際の軸である実軸と回転軸との関係から極性情報１８０を設定する。極性情報設定部１８が、ステップＳ１２で用いたルールに従って直線軸の極性情報を設定した場合、回転中心軸は必ず右手系の直線軸に設定されるので、ステップＳ２２に移行することはない。ステップＳ２１では、極性情報設定部１８は、右手系の直線軸に対する右ねじ方向と、回転軸の回転方向とが同一であれば、右手系と判断して、回転軸の極性情報に右手系を設定する。また、極性情報設定部１８は、右手系の直線軸に対する右ねじ方向と、回転軸の回転方向とが一致しない場合には、回転軸の極性情報に左手系を設定する。
【０１６５】
一方、極性情報設定部１８が右手系でないと判定した場合、すなわちステップＳ２０において、Ｎｏの場合、極性情報設定部１８は、ステップＳ２２の処理を実行する。ステップＳ２２の処理は、回転軸の回転中心軸が右手系でない場合の処理である。
【０１６６】
極性情報設定部１８が、前述のステップＳ１２の処理において、ルール１から３とは異なる方法で直線軸の極性情報を設定した場合、回転軸の極性情報に左手系を設定された軸が回転中心軸となる場合がある。このような場合に、ステップＳ２２の処理が行われることになる。ステップＳ２２では、極性情報設定部１８は、基準右手系の座標軸と回転軸との関係から回転軸の極性情報を設定する。したがって、極性情報設定部１８は、基準右手系の座標軸と回転軸との関係が右手系になっているか否かを判定したうえで回転軸の極性情報を設定する。極性情報設定部１８は、基準右手系の座標軸と回転軸との関係が右手系である場合、回転軸の極性情報に右手系を設定する。また、極性情報設定部１８は、基準右手系の座標軸と回転軸との関係が左手系である場合、回転軸の極性情報に右手系を設定する。
【０１６７】
なお、工具２５側の回転軸に対しては、直線軸に対する右ねじ方向と回転方向とを比較して右手系か否かが判断されればよいが、テーブル８１〜８３側の回転軸に対しては、回転方向が逆である左ねじ方向となることに注意が必要である。
【０１６８】
ここで、基準右手系の型の種類に対する極性情報１８０の設定例について説明する。図１４は、実施の形態３にかかる極性情報の設定例を示す図である。図１４に示す左手系の例と、この左手系に対して想定される基準右手系の例とは、図１２に示したものと同様である。したがって、極性情報設定部１８は、基準右手系ごとに、異なる極性情報１８０を設定する。このように、１つの左手系に対して、極性情報１８０の設定パターンが複数ある。また、極性情報１８０は、Ｘ軸の極性情報と、Ｙ軸の極性情報と、Ｚ軸の極性情報と、Ｂ軸の極性情報と、Ｃ軸の極性情報と、を含んでいる。ここで、各軸の極性情報の「０」は、右手系に従う軸を示し、各軸の極性情報の「１」は、左手系に従う軸を示している。
【０１６９】
極性情報設定部１８は、Ｘ軸反転型の基準右手系に対しては、Ｘ軸の極性情報に「１」を設定し、Ｙ軸の極性情報に「０」を設定し、Ｚ軸の極性情報に「０」を設定し、Ｂ軸の極性情報に「０」を設定し、Ｃ軸の極性情報に「０」を設定する。
【０１７０】
また、極性情報設定部１８は、Ｙ軸反転型の基準右手系に対しては、Ｘ軸の極性情報に「０」を設定し、Ｙ軸の極性情報に「１」を設定し、Ｚ軸の極性情報に「０」を設定し、Ｂ軸の極性情報に「１」を設定し、Ｃ軸の極性情報に「０」を設定する。
【０１７１】
また、極性情報設定部１８は、Ｚ軸反転型の基準右手系に対しては、Ｘ軸の極性情報に「０」を設定し、Ｙ軸の極性情報に「０」を設定し、Ｚ軸の極性情報に「１」を設定し、Ｂ軸の極性情報に「０」を設定し、Ｃ軸の極性情報に「１」を設定する。
【０１７２】
図１４に示す左手系の場合、極性情報設定部１８は、Ｘ軸反転型の基準右手系を選択することで逆極性である左手系の軸の数を少なくできる。なお、極性情報設定部１８は、直線軸の極性情報を設定する際に、特定のルールに従わなくてもよい。極性情報設定部１８は、例えば、上述したステップＳ１２の方法を用いることによって、容易に極性情報１８０を設定することができる。
【０１７３】
極性情報設定部１８は、図１４に示した、Ｘ軸反転型、Ｙ軸反転型およびＺ軸反転型の各極性情報１８０の何れを用いても、同じ加工結果を得ることができる。このことは、前述の式（１１）を用いることで、各加工結果が一致することから確認できる。
【０１７４】
このように、実施の形態３によれば、極性情報設定部１８は、直線軸の極性情報を設定した後に、回転軸の極性情報を設定するので、極性情報１８０の設定を容易に実行することが可能となる。
【０１７５】
ここで、数値制御装置１０１〜１０３のハードウェア構成について説明する。図１５は、実施の形態１から３にかかる数値制御装置のハードウェア構成例を示す図である。なお、数値制御装置１０１〜１０３は、同様のハードウェア構成を有しているので、ここでは、数値制御装置１０１のハードウェア構成について説明する。
【０１７６】
数値制御装置１０１は、プロセッサ３０１、メモリ３０２、および入出力部であるＩＯ（Input  Output）部３０３により実現することができる。加工プログラム記憶部１１および極性情報記憶部２１は、メモリ３０２に対応しており、解析部１２、行列計算部１３、座標変換部１５および指令計算部１６は、プロセッサ３０１がメモリ３０２内に格納されているプログラムを実行することによって実現される。
【０１７７】
プロセッサ３０１の例は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰともいう）またはシステムＬＳＩ（Large  Scale  Integration）である。メモリ３０２の例は、ＲＡＭ（Random  Access  Memory）、またはＲＯＭ（Read  Only  Memory）である。
【０１７８】
数値制御装置１０１は、プロセッサ３０１が、数値制御装置１０１の動作を実行するためのプログラムをメモリ３０２から読み出して実行することにより実現される。メモリ３０２は、プロセッサ３０１が各種処理を実行する際の一時メモリにも使用される。
【０１７９】
プロセッサ３０１が実行するプログラムは、プログラムが格納された記録媒体であるコンピュータプログラムプロダクトで実現されてもよい。この場合の記録媒体の例は、プログラムが格納された非一時的な（non-transitory）コンピュータ可読媒体である。
【０１８０】
なお、数値制御装置１０１を専用のハードウェアで実現してもよい。また、数値制御装置１０１の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【０１８１】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１８２】
１１  加工プログラム記憶部、１２  解析部、１３  行列計算部、１５  座標変換部、１６  指令計算部、１７  切替部、１８  極性情報設定部、２１，２２  極性情報記憶部、２３  機械構成記憶部、２５，９１  工具、３１  座標回転角度、３２  原点位置、３３  指令座標値、３４  座標変換行列、３５  機械座標値、３６  移動指令、３７  軸組み合わせ情報、３８  機械構成情報、５１  機械座標系、５２  工具座標系、５３  テーブル座標系、６６〜６８  被加工物、７１〜７６  回転軸、８１〜８３  テーブル、８４  チルト台、８５Ｐ，８５Ｑ，８６Ｐ，８６Ｑ  回転テーブル、９２Ｐ，９２Ｑ  工具台、１０１〜１０３  数値制御装置、１５０  加工プログラム、１８０〜１８２  極性情報、１８５  極性情報テーブル、２００〜２０３  工作機械。
【要約】
数値制御装置（１０１）が、加工プログラム（１５０）を解析して加工プログラム（１５０）内で指定される座標系の回転角度である座標回転角度（３１）を抽出する解析部（１２）と、制御対象である工作機械（２００）の有する軸の移動方向および回転方向の少なくとも何れか１つに基づいて作成される極性情報（１８０）と、座標回転角度（３１）と、に基づいて、加工プログラム（１５０）内の座標値を工作機械（２００）における座標値に変換する座標変換部（１５）と、を備える。【図１】
0006320668.tif 000014
【図２】
0006320668.tif 000015
【図３】
0006320668.tif 000016
【図４】
0006320668.tif 000017
【図５】
0006320668.tif 000018
【図６】
0006320668.tif 000019
【図７】
0006320668.tif 000020
【図８】
0006320668.tif 000021
【図９】
0006320668.tif 000022
【図１０】
0006320668.tif 000023
【図１１】
0006320668.tif 000024
【図１２】
0006320668.tif 000025
【図１３】
0006320668.tif 000026
【図１４】
0006320668.tif 000027
【図１５】
0006320668.tif 000028