(57)【要約】      （修正有）【課題】５軸加工機用のプログラム指令によって５軸加工機で行っていた加工を、４軸加工機で加工する。【解決手段】４軸加工機用数値制御装置１００は、指令解析部１０でプログラム指令を解析して補間用データを作成し、補間部１１で補間用データによって補間を行い各軸のサーボ１２Ｘ，・・・１２Ｃを駆動する。仮想角度判断手段１５は、許容値１６と仮想角度設定手段１４によって設定されている仮想角度１３とを参照しながら、Ｂ軸（仮想軸）指令が仮想角度１３と一致するかどうか判断し、一致すると判断した場合に仮想軸のプログラム指令は仮想角度１３であるとみなす。仮想軸のプログラム指令は仮想角度１３であるとみなすとは、仮想軸に対して仮想角度１３のプログラム指令があったことを想定した補間用データを作成し補間を行うことである。ただし、毎ブロック同じ位置（仮想角度）が指令されるとみなすことになるので、実際の補間は行われない。【選択図】図１２
2010271898.tif 000002
【特許請求の範囲】
【請求項１】
テーブルに取付けられたワークに対して３軸の直線軸と２軸の回転軸によって加工する５軸加工機用の加工プログラムに基づいて、該ワークに対して３軸の直線軸と１軸の回転軸によって加工する４軸加工機を制御する４軸加工機用数値制御装置であって、
前記４軸加工機に更に仮想軸が１軸あると仮定し、該仮想軸の仮想角度を設定する仮想角度設定手段と、
前記加工プログラムにおいて前記仮想軸がプログラム指令された場合に、該プログラム指令が、前記仮想角度と一致するかどうか判断する仮想角度判断手段と、
前記仮想角度判断手段で前記仮想軸のプログラム指令が前記仮想角度と一致すると判断した場合に前記仮想軸のプログラム指令は前記仮想角度であるとみなす回転軸指令みなし手段と、
を有することを特徴とする４軸加工機用数値制御装置。
【請求項２】
テーブルに取付けられたワークに対して３軸の直線軸と２軸の回転軸によって加工する５軸加工機用の加工プログラムに基づいて、該ワークに対して３軸の直線軸と１軸の回転軸によって加工する４軸加工機を制御する４軸加工機用数値制御装置であって、
前記４軸加工機に更に仮想軸が１軸あると仮定し、該仮想軸の仮想角度を設定する仮想角度設定手段と、
前記加工プログラムにおいて前記仮想軸がプログラム指令された場合に、該プログラム指令が、前記仮想角度の符号を反転した角度と一致するかどうか判断する仮想角度判断手段と、
前記仮想角度判断手段で前記仮想軸のプログラム指令が前記仮想角度の符号を反転した角度と一致すると判断した場合に前記仮想軸のプログラム指令は前記仮想角度であるとみなす回転軸指令みなし手段と、
を有することを特徴とする４軸加工機用数値制御装置。
【請求項３】
前記仮想角度判断手段において前記仮想軸のプログラム指令が前記仮想角度と一致するかどうか判断するとき前記仮想軸のプログラム指令が前記仮想角度に対して設定された許容値の範囲内であれば一致すると判断することを特徴とする請求項１に記載の４軸加工機用数値制御装置。
【請求項４】
前記仮想角度判断手段において前記仮想軸のプログラム指令が前記仮想角度の符号を反転した角度と一致するかどうか判断するとき前記仮想軸のプログラム指令が前記仮想角度の符号を反転した角度に対して設定された許容値の範囲内であれば一致すると判断することを特徴とする請求項２に記載の４軸加工機用数値制御装置。
【請求項５】
前記回転軸みなし角度はプログラム指令＋１８０度＋ｎ＊３６０度の角度であり、ｎは設定整数値であることを特徴とする請求項２または４のいずれか１つに記載の４軸加工機用数値制御装置。
【請求項６】
前記回転軸みなし角度はプログラム指令＋設定変更角度であることを特徴とする請求項２または４のいずれか１つに記載の４軸加工機用数値制御装置。
【請求項７】
前記回転軸は回転テーブルを回転する軸であり、前記仮想角度は該回転テーブルを傾斜する傾斜角であることを特徴とする請求項１〜６のいずれか１つに記載の４軸加工機用数値制御装置。
【請求項８】
前記回転軸は回転ヘッドを回転する軸であり、前記仮想角度は該回転ヘッドに取付けられるアタッチメント上で工具を傾斜する傾斜角度であることを特徴とする請求項１〜６のいずれか１つに記載の４軸加工機用数値制御装置。
【請求項９】
前記回転軸は回転テーブルを回転する軸であり、前記仮想角度はヘッドに取付けられるアタッチメント上で工具を傾斜する傾斜角度であることを特徴とする請求項１〜６のいずれか１つに記載の４軸加工機用数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、４軸加工機用数値制御装置に関し、特に、仮想の１軸を設定し４軸加工機械であっても５軸制御加工に準じた加工を行うことができる数値制御装置に関する。
【背景技術】
【０００２】
テーブルに取付けられたワーク（加工物）を３軸の直線軸と２軸の回転軸によって加工する５軸加工機があり、５軸加工機においては同時５軸加工を行うことができる。  
図１は、テーブルに取付けられたワーク（加工物）を３軸の直線軸と２軸の回転軸によって加工するテーブル回転型の５軸加工機の概略構成図である。ヘッドおよび工具はＸ，Ｙ，Ｚ軸で動作する。Ｂ軸はＹ軸周りに回転テーブルを傾斜し、Ｃ軸はＺ軸周りに回転テーブルを回転する。このように回転テーブルはＢ，Ｃ軸によって傾斜／回転する。
【０００３】
図２は、ヘッド回転型の５軸加工機の概略構成図である。図２のヘッド回転型の５軸加工機では、Ａ軸はＸ軸周りに工具を傾斜し、Ｃ軸はＺ軸周りにヘッドと工具を回転する。工具はＸ，Ｙ，Ｚ軸で動作するとともに、Ａ，Ｃ軸によって傾斜／回転する。  
図３は、混合型の５軸加工機の概略構成図である。図３の混合型の５軸加工機では、Ａ軸はＸ軸周りに工具を傾斜し、Ｃ軸はＺ軸周りに回転テーブルを回転する。ヘッドおよび工具はＸ，Ｙ，Ｚ軸で動作する。
【０００４】
上述した５軸加工機を制御する数値制御装置において各軸の座標値を制御する方法として、工具の位置、工具方向および速度をテーブルに固定された直交座標系（テーブル座標系）上で指令し、これを機械の制御点における各軸の座標値に座標変換して制御する方法である工具先端点制御が知られている（特許文献１参照）。工具先端点制御では、工具先端点の位置と速度が制御され、工具方向は各回転軸の位置を補間することによって決定される。一般的な５軸加工機では、例えば図４に示されるようなプログラム指令によって工具先端点制御での加工を行う。
【０００５】
ここで、Ｇ４３．４は工具先端点制御開始のＧコードであり、回転軸Ｂ，Ｃの指令によって工具方向を指令する工具先端点制御の指令方式であることを示す。Ｈは工具長補正量番号を指令する。Ｘ，Ｙ，Ｚはプログラム座標系上の工具先端点位置を指令する。ここでは、プログラム座標系はテーブルに固定された直交座標系（Ｘｔ，Ｙｔ，Ｚｔ：上記テーブル座標系）であり、したがってテーブル傾斜／回転とともに傾斜／回転する。Ｂ，Ｃは回転軸位置を指令する。Ｇ４９は工具先端点制御をキャンセルするＧコードである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１９５９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図５は、図１の機械においてＹマイナス方向から見た図である。これ以降、便宜上Ｙマイナス方向から見た図とする。また、本発明の説明においては、図１のテーブル回転型５軸加工機によって説明するが、３軸の直線軸と２軸の回転軸を持ち２軸の回転軸で工具方向（工具のワークに対する相対的な方向）を制御する点で図２のようなヘッド回転型５軸加工機や図３のような混合型５軸加工機も同様である。  
工具先端点制御を使用した加工において、工具はボールエンドミルを使用することが多く、その場合、工具先端点位置（プログラム指令におけるＸ，Ｙ，Ｚ指令位置）はボールエンドミル工具の先端半球の中心または先端半球上の切削点で指令する。
【０００８】
その時、工具先端点位置（プログラム指令におけるＸ，Ｙ，Ｚ指令位置）は正確にテーブル座標系上の位置になるため、Ｂ，Ｃ軸位置による工具方向（工具のワークに対する方向）が少しプログラム指令と相違しても加工上それほど大きな問題にはならない。もちろん、工具方向がプログラム指令と大きく相違して、工具がワークや機械部品と干渉してはいけない。
【０００９】
例えば、図５はあるＸ，Ｙ，Ｚ指令とＢ−８０．０の指令があった場合の図だとすると、同じＸ，Ｙ，Ｚ指令でＢ−４５．０の指令があった場合、図６に示されるようになる。つまり、工具方向（工具のワークに対する方向）は相違するが、テーブル座標系上のＸ，Ｙ，Ｚ位置は変わらない。そのため、Ｘ，Ｙ，Ｚ指令が同じであれば、Ｂ，Ｃ指令は少し変更しても加工上問題ない。
【００１０】
しかし、５軸加工機には次のような問題点がある。  
（１）加工機の軸数が多いためコストアップとなる。  
（２）加工機の軸数が多くなると軸間の機械組立誤差が累積する。  
（３）加工機の軸数が多くなると機械剛性を高くすることが難しい。  
（４）特に回転軸は直線軸に比べて回転モーメントに弱く大きな誤差を発生する要因である。  
この（２）〜（４）の要因によって、５軸加工機を用いて高精度な加工を行うことは困難が伴う。
【００１１】
そこで、これらの問題点を緩和するために、以下の説明における図７、図８および図９に示されるような４軸加工機が導入された。図７、図８および図９に示される仮想軸として仮想角度（傾斜角）を持つ治具やアタッチメントを使用することにより、５軸加工機で行っていた加工の相当部分は４軸加工機でも可能である。
【００１２】
図７は、テーブル回転型の４軸加工機の概略構成図である。ヘッドおよび工具はＸ，Ｙ，Ｚ軸で動作する。Ｃ軸によって回転する回転テーブルはＹ軸周りに固定傾斜角を持つ治具（図中斜線パターン部）に固定されている。そのことにより、Ｃ軸回転中心はＺ軸方向に対してＹ軸周りの傾斜角度を持っている。ここでＹ軸周りに実際に動作する軸（駆動するサーボ）を持たない仮想軸が１軸あると仮定して考える。仮想軸は図１の一般的な５軸加工機におけるＢ軸に相当する。Ｂ軸が仮想軸と想定した場合のＢ軸角度である傾斜角を仮想角度と呼ぶ。
【００１３】
図８は、ヘッド回転型の４軸加工機の概略構成図である。図８のヘッド回転型の４軸加工機では、ヘッドおよび工具はＸ，Ｙ，Ｚ軸で動作する。Ｃ軸によって回転するヘッドの上に、工具はＸ軸周りに固定傾斜角を持つアタッチメント（図中灰色塗りつぶし部）に固定されている。そのことにより、工具は傾斜角度を持つ。仮想軸は図２の一般的な５軸加工機におけるＡ軸に相当する。
【００１４】
図９は、混合型の４軸加工機の概略構成図である。図９の混合型の４軸加工機では、ヘッドおよび工具はＸ，Ｙ，Ｚ軸で動作する。Ｃ軸はＺ軸周りに回転テーブルを回転する。ヘッドの上に、工具はＸ軸周りに固定傾斜角を持つアタッチメント（図中灰色塗りつぶし部）に固定されている。そのことにより、工具は傾斜角を持つ。仮想軸は図３の一般的な５軸加工機におけるＡ軸に相当する。以降、本発明の説明においては図７のテーブル回転型４軸加工機で説明するが、本発明は図８、図９のような仮想軸を１軸持つ他の４軸加工機においても適用可能である。
【００１５】
図１０で示すインペラは、一般には５軸加工機を用いて加工するものであるが、実際には、図７に示したテーブル回転型４軸加工機において仮想軸の仮想角度を−８０度とすることによって加工したものである。
【００１６】
４軸加工機を用いた加工は下記（５）、（６）の特長を得ることができる。  
（５）加工機として５軸加工機に比べて低価格で加工が実現できる。５軸加工機に比べて１軸分軸数が少ないので４軸加工機の方が低価格であるためである。  
（６）５軸加工機に比べて１軸分軸数が少ないので機械組み立て誤差が少なくなり、５軸加工機に比べて１軸分軸数が少ないので機械剛性が高く、５軸加工機に比べて高精度に加工できる。  
４軸加工機には仮想軸は存在しないのだから、４軸加工機用のプログラムにおいては仮想軸の指令はない。したがって、図４のプログラム例に対する４軸加工機用のプログラムは、図１１に示されるようにＢ軸指令のないプログラムとなる。  
ここで、仮想軸の仮想角度が−８０．０度であれば仮想角度としてパラメータに−８０．０度を設定しておき、数値制御装置は仮想軸（Ｂ軸）に対してＢ−８０．０が指令されているとみなす。このような技術は従来技術としてすでに知られている。
【００１７】
４軸加工機用の従来の加工プログラムは、図１１に示されるように仮想軸（Ｂ軸）指令のないプログラムを、ＣＡＭ（Computer aided manufacturing）から作成する必要があった。  
ここで、例えば図４のプログラム指令で図５のような加工を行う例でいえば、プログラム指令におけるＢ指令をＢ−８０．０とみなせば、図７のような仮想軸の仮想角度を−８０．０度とする治具でＣ軸回転中心を傾斜させた４軸加工機によって５軸加工機用の工具先端点制御プログラムを使用して加工を行うことが可能となる。もちろん、プログラム指令におけるＢ指令をＢ−８０．０とみなすのは、プログラム指令におけるＢ指令が−８０．０度に対して設定された許容値の範囲内（工具がワークや機械部品と干渉しない範囲内）である必要がある。
【００１８】
そこで、本発明の目的は、４軸加工機に仮想の１軸を設定し４軸加工機械であっても５軸制御加工に準じた加工を行うことができるように、４軸加工機を制御する数値制御装置を提供することであり、従来の５軸加工機用のプログラム指令によって５軸加工機で行っていた加工を、そのまま仮想軸に対して仮想角度が指令されているとみなすことにより、４軸加工機で加工することを可能にする４軸加工機用数値制御装置を提供することである。
【課題を解決するための手段】
【００１９】
本願の請求項１に係る発明は、テーブルに取付けられたワークに対して３軸の直線軸と２軸の回転軸によって加工する５軸加工機用の加工プログラムに基づいて、該ワークに対して３軸の直線軸と１軸の回転軸によって加工する４軸加工機を制御する４軸加工機用数値制御装置であって、前記４軸加工機に更に仮想軸が１軸あると仮定し、該仮想軸の仮想角度を設定する仮想角度設定手段と、前記加工プログラムにおいて前記仮想軸がプログラム指令された場合に、該プログラム指令が、前記仮想角度と一致するかどうか判断する仮想角度判断手段と、前記仮想角度判断手段で前記仮想軸のプログラム指令が前記仮想角度と一致すると判断した場合に前記仮想軸のプログラム指令は前記仮想角度であるとみなす回転軸指令みなし手段と、を有することを特徴とする４軸加工機用数値制御装置である。
【００２０】
請求項２に係る発明は、テーブルに取付けられたワークに対して３軸の直線軸と２軸の回転軸によって加工する５軸加工機用の加工プログラムに基づいて、該ワークに対して３軸の直線軸と１軸の回転軸によって加工する４軸加工機を制御する４軸加工機用数値制御装置であって、前記４軸加工機に更に仮想軸が１軸あると仮定し、該仮想軸の仮想角度を設定する仮想角度設定手段と、前記加工プログラムにおいて前記仮想軸がプログラム指令された場合に、該プログラム指令が、前記仮想角度の符号を反転した角度と一致するかどうか判断する仮想角度判断手段と、前記仮想角度判断手段で前記仮想軸のプログラム指令が前記仮想角度の符号を反転した角度と一致すると判断した場合に前記仮想軸のプログラム指令は前記仮想角度であるとみなす回転軸指令みなし手段と、を有することを特徴とする４軸加工機用数値制御装置である。
【００２１】
請求項３に係る発明は、前記仮想角度判断手段において前記仮想軸のプログラム指令が前記仮想角度と一致するかどうか判断するとき前記仮想軸のプログラム指令が前記仮想角度に対して設定された許容値の範囲内であれば一致すると判断することを特徴とする請求項１に記載の４軸加工機用数値制御装置である。  
請求項４に係る発明は、前記仮想角度判断手段において前記仮想軸のプログラム指令が前記仮想角度の符号を反転した角度と一致するかどうか判断するとき前記仮想軸のプログラム指令が前記仮想角度の符号を反転した角度に対して設定された許容値の範囲内であれば一致すると判断することを特徴とする請求項２に記載の４軸加工機用数値制御装置である。
【００２２】
請求項５に係る発明は、前記回転軸みなし角度はプログラム指令＋１８０度＋ｎ＊３６０度の角度であり、ｎは設定整数値であることを特徴とする請求項２または４のいずれか１つに記載の４軸加工機用数値制御装置である。  
請求項６に係る発明は、前記回転軸みなし角度はプログラム指令＋設定変更角度であることを特徴とする請求項２または４のいずれか１つに記載の４軸加工機用数値制御装置である。  
請求項７に係る発明は、前記回転軸は回転テーブルを回転する軸であり、前記仮想角度は該回転テーブルを傾斜する傾斜角であることを特徴とする請求項１〜６のいずれか１つに記載の４軸加工機用数値制御装置である。
【００２３】
請求項８に係る発明は、前記回転軸は回転ヘッドを回転する軸であり、前記仮想角度は該回転ヘッドに取付けられるアタッチメント上で工具を傾斜する傾斜角度であることを特徴とする請求項１〜６のいずれか１つに記載の４軸加工機用数値制御装置である。  
請求項９に係る発明は、前記回転軸は回転テーブルを回転する軸であり、前記仮想角度はヘッドに取付けられるアタッチメント上で工具を傾斜する傾斜角度であることを特徴とする請求項１〜６のいずれか１つに記載の４軸加工機用数値制御装置である。
【発明の効果】
【００２４】
本発明により、仮想の１軸を設定し４軸加工機械であっても５軸制御加工に準じた加工を行うことができるように４軸加工機を制御する数値制御装置を提供することができ、従来の５軸加工機用のプログラム指令によって５軸加工機で行っていた加工を、そのまま仮想軸に対して仮想角度が指令されているとみなすことにより、４軸加工機で加工することを可能にする４軸加工機用数値制御装置を提供できる。
【図面の簡単な説明】
【００２５】
【図１】テーブル回転型の５軸加工機の概略構成図である。
【図２】ヘッド回転型の５軸加工機の概略構成図である。
【図３】混合型の５軸加工機の概略構成図である。
【図４】回転軸Ｂ，Ｃの指令によって５軸加工を行うプログラム指令の例である。
【図５】図１の機械においてＹマイナス方向から見た図であり、Ｘ，Ｙ，Ｚ指令とＢ−８０．０の指令があった場合を示す図である。
【図６】図１の機械においてＹマイナス方向から見た図であり、あるＸ，Ｙ，Ｚ指令とＢ−４５．０の指令があった場合の図である。
【図７】テーブル回転型の４軸加工機の概略構成図である。
【図８】ヘッド回転型の４軸加工機の概略構成図である。
【図９】混合型の４軸加工機の概略構成図である。
【図１０】４軸加工機によって加工されたインペラの一例である。
【図１１】仮想軸（Ｂ軸）指令のないプログラム指令の例である。
【図１２】本発明の数値制御装置の機能ブロック図である。
【図１３】５軸加工機を制御するプログラム指令の例である。
【図１４】図５の５軸加工機での加工に相当する加工を図７で示した４軸加工機によって加工することを説明する図である。
【図１５】許容値以上のＢ指令を含むプログラム指令の例である。
【図１６】Ｂ＋８０．０度とし、Ｃ軸位置を図５の位置に対して＋１８０度回転した状態を示す。
【図１７】図５の５軸加工機での加工に相当する加工を４軸加工機で行うことができることを説明する図である。
【図１８】図１２の指令解析部における処理のアルゴリズムを示すフローチャートである。
【図１９】本発明の４軸加工機用数値制御装置の一実施形態のブロック図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態を図面と共に説明する。  
図１２に示される４軸加工機用数値制御装置１００は、テーブルに取り付けられたワーク（加工物）に対して３軸の直線軸と１軸の回転軸によって加工する４軸加工機を駆動制御する。
【００２７】
図１２は、本発明の４軸加工機用数値制御装置１００の機能ブロック図である。  
４軸加工機用数値制御装置１００では、通常、指令解析部１０でプログラム指令を解析して補間用データを作成し、補間部１１で補間用データによって補間を行い各軸のサーボ１２Ｘ，・・・１２Ｃを駆動する。ここで、仮想角度判断手段１５、回転軸指令みなし手段１７はそれぞれ指令解析部１０に関連付けられる。仮想角度判断手段１５は、許容値１６と仮想角度設定手段１４によって設定されている仮想角度１３とを参照しながら、Ｂ軸（仮想軸）指令が仮想角度１３と一致するかどうか判断し、一致すると判断した場合に仮想軸のプログラム指令は仮想角度１３であるとみなす。
【００２８】
ここで、仮想軸のプログラム指令は仮想角度１３であるとみなすとは、仮想軸に対して仮想角度１３のプログラム指令があったことを想定した補間用データを作成し補間を行うことである。ただし、毎ブロック同じ位置（仮想角度）が指令されるとみなすことになるので、実際の補間は行われない。また、仮想軸はサーボとしては存在しないので、サーボは駆動しない。
【００２９】
次に、回転軸指令みなし手段１７について説明する。  
まず、図１４に示されるように、Ｙ軸周りに回転テーブルを−８０．０度傾斜する治具によって、回転テーブルが−８０．０度傾斜している４軸加工機を説明する。なお、図７では回転軸をＣ軸とし仮想軸をＢ軸と想定しているが、それらが、Ａ，Ｃ軸やＡ，Ｂ軸である４軸加工機もある。それらの４軸加工機においても、３軸の直線軸と１軸の回転軸によって加工する４軸加工機である点では同様である。
【００３０】
図１３に示すプログラム指令があり、仮想角度として−８０．０度が設定してあり、許容値として５．０度が設定してあった場合、ブロックＮ０１０、ブロックＮ０２０、ブロックＮ０３０、ブロックＮ０４０のＢ指令は仮想角度に対して差の絶対値が許容値より小なので、仮想角度判断手段によってＢ指令は仮想角度に一致していると判断する。そして、回転軸指令みなし手段によって仮想軸のプログラム指令は−８０．０であるとみなして加工を行う。仮想軸について許容値の範囲内の誤差があるが、前述のように工具先端点は正しく加工されるので、工具方向がプログラム指令と少し相違していても加工上問題ない。
【００３１】
その結果、図５の５軸加工機での加工に相当する加工を、図７で示した４軸加工機によって図１４のように行うことができる。
【００３２】
しかし、同様の条件で図１５のような指令があった場合、ブロックＮ０４０のＢ指令は仮想角度−８０．０に対して差の絶対値が６．０であり、許容値５．０以上であるため、アラームにして停止する。アラーム停止の場合には、例えば、図７に示される治具を取り替えることによってワークの加工を行うことができる。或いは、４軸加工機での加工を取り止め５軸加工機を用いた加工に切り替えるなどを行う。後出のアラーム停止の場合も同様である。
【００３３】
次に、Ｙ軸周りに回転テーブル＋８０．０度傾斜する治具によって回転テーブルが＋８０．０度傾斜している４軸加工機の場合を説明する。  
５軸加工機において、例えば、図５でＢ−８０．０での加工を示していると、Ｂ＋８０．０でも同じ加工を行うことが可能である。図１６は、Ｂ＋８０．０とし、Ｃ軸位置を図５の位置に対して＋１８０度回転した状態を示す。Ｙｔ（テーブル座標系）方向は、図５では紙面向こう方向に紙面に垂直だが、図１６では紙面手前方向に紙面に垂直である。（図５のＹｔ方向と区別するために、Ｙｔを示す丸印を白抜きにしている。）この時、指令Ｘ，Ｙ，Ｚ位置に対して、ワーク上（テーブル座標系上）の工具先端点のＸ，Ｙ，Ｚ位置と工具方向（工具のワークに対する方向）は図５と図１６で同じである。そのため、Ｂ−８０．０前後のプログラム指令による加工であっても、Ｂ軸指令の符号を反転しＣ軸指令をプログラム指令に対して（＋１８０度＋ｎ＊３６０度）とすることにより、指令プログラムによる加工を行うことが可能である。ｎは整数値である。
【００３４】
このことを数学的に説明する。プログラム指令のＢ，Ｃ指令により、テーブル座標系上の工具方向（Ｉ，Ｊ，Ｋ：図１６参照）、つまり工具のワークに対する方向は次のように表される。ここで、Ｂは−９０度〜９０度、Ｃは０〜３６０度とする。
【００３５】
【数１】
2010271898.tif 000003
【００３６】
この（Ｉ，Ｊ，Ｋ）方向を表すＢ，Ｃ（Ｂ，Ｃ軸位置）には次の解Ａ，解Ｂの２つの解がある。
【００３７】
【数２】
2010271898.tif 000004
【００３８】
【数３】
2010271898.tif 000005
【００３９】
ここで、arccosの計算は０度〜９０度の値を得るとする。arctanの計算については次のような値を得るとする。  
Ｉ，Ｊ≧０の場合、０〜９０度  
Ｉ＜０，Ｊ≧０の場合、９０度〜１８０度  
Ｉ＜０，Ｊ＜０の場合、１８０度〜２７０度  
Ｉ≧０，Ｊ＜０の場合、２７０度〜３６０度  
arctanの計算におけるｎ１＊３６０度またはｎ２＊３６０度の項のｎ１，ｎ２は整数値であり、３６０度のｎ１，ｎ２倍の値を加算した位置が解であることを示す。つまり、Ｃ軸は正負方向に何回転でも動作可能だが、Ｂ軸は−９０度〜９０度内の動作が可能としている。
【００４０】
このように、指令されたＢ，Ｃ軸位置による工具方向を実現するＢ，Ｃ軸位置には２つの解，解Ａ，解Ｂがあり、解Ａ，解Ｂは互いにＢ軸の符号が反転しＣ軸に１８０度＋ｎ＊３６０度（ｎ：整数）加算した関係にある。
【００４１】
そこで、上述のように、仮想軸のプログラム指令が仮想角度の符号を反転した角度と一致すると判断できれば、仮想軸のプログラム指令は仮想角度であるとみなしかつ回転軸のプログラム指令はプログラム指令＋１８０度＋ｎ＊３６０度であるとみなすことによって、工具先端点位置と工具方向がプログラム指令にしたがった加工を行うことができる。
【００４２】
Ｙ軸周りに回転テーブルを＋８０．０度傾斜する治具によって回転テーブルが＋８０．０度傾斜している４軸加工機において、図１３に示す指令があり、仮想角度として＋８０.０度が設定してあり、許容値として５．０度が設定してあった場合、ブロックＮ０１０，ブロックＮ０２０，ブロックＮ０３０，ブロックＮ０４０のＢ指令は仮想角度の符号を反転した角度（−８０．０度）に対して差の絶対値が許容値より小なので、仮想角度判断手段によってＢ指令は仮想角度に一致していると判断する。
【００４３】
そして、回転軸指令みなし手段１７によって仮想軸のプログラム指令は＋８０．０度であるとみなし、Ｃ軸のプログラム指令は（指令値＋１８０度＋ｎ＊３６０度）であるとみなして加工を行う。ここで、通常はｎ＝０またはｎ＝−１である。つまり、Ｃ軸指令は（指令値＋１８０度）または（指令値−１８０度）とみなす。ｎの値はパラメータに設定することにより選択可能である整数値である。その結果、仮想角度が＋８０．０度と設定されている場合であっても、図５の５軸加工機での加工に相当する加工を図１７に示されるように４軸加工機で行うことができる。
【００４４】
しかし、同様の条件で図１５に示される指令があった場合、ブロックＮ０４０のＢ指令は仮想角度＋８０．０度の符号を反転した−８０．０度に対して差の絶対値が６．０度であり、許容値５．０度以上であるため、アラームで停止する。
【００４５】
上述のように、通常、Ｃ軸指令は（指令値＋１８０度）または（指令値−１８０度）とみなす。しかし、機械によっては＋／−１８０度のように大きく相違した位置とみなすことができない場合もある。例えば、ヘッド回転型４軸加工機において＋１８０度と大きく相違してみなして動作すると、ヘッド内にある主軸への電源ケーブルが許容値以上に大きく巻きつけてしまうため、指令に対して＋１８０度とみなすことはできず、最大でも＋１５０度とみなす必要がある場合もある。その場合は、変更角度を設定変更値として設定しておくことも可能である。つまり、その場合は、Ｃ軸指令は（指令値＋設定変更値）とみなす。
【００４６】
図１８は、図１２の指令解析部における処理のアルゴリズムを示すフローチャートである。以下、各ステップにしたがって説明する。ここでは、Ｂ，Ｃ軸に対するプログラム指令をｂ，ｃとしている。ｃに１８０度＋ｎ＊３６０度を加算する時のｎは０としている。なお、ステップＳＡ２，ステップＳＡ３は、仮想角度判断手段に相当し、ステップＳＡ４，ステップＳＡ５は、回転軸指令みなし手段に相当する。  
●［ステップＳＡ１］仮想軸Ｂのプログラム指令ｂを読み取る。Ｃ軸のプログラム指令ｃを読み取る。  
●［ステップＳＡ２］｜ｂ−仮想角度｜は許容値より小さいか否か判断し、小さい場合にはステップＳＡ５へ移行し、小さくない場合にはステップＳＡ３へ移行する。  
●［ステップＳＡ３］｜ｂ＋仮想角度｜は許容値より小さいか否か判断し、小さい場合にはステップＳＡ４へ移行し、小さくない場合にはステップＳＡ６へ移行する。  
●［ステップＳＡ４］Ｂの指令は仮想角度であるとみなす。また、回転軸Ｃの指令は（ｃ＋１８０度）とみなし、終了する。  
●［ステップＳＡ５］Ｂの指令は仮想角度であるとみなし、終了する。  
●［ステップＳＡ６］アラーム停止し、終了する。
【００４７】
図１９は、本発明の４軸加工機用数値制御装置の一実施形態のブロック図である。ＣＰＵ２１は４軸加工機用数値制御装置１００を全体的に制御するプロセッサである。  
ＣＰＵ２１は、メモリ２２のＲＯＭ領域に格納されたシステムプログラムをバス３８を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。メモリ２２のＲＡＭ領域には一時的な計算データや表示データ及び表示器／ＭＤＩユニット５０を介してオペレータが入力した各種データが格納される。また、メモリ２２のＳＲＡＭなどで構成される不揮発性メモリ領域には、インタフェース２３を介して読み込まれた加工プログラムや表示器／ＭＤＩユニット５０を介して入力された加工プログラム等が記憶される。
【００４８】
インタフェース２３は、４軸加工機用数値制御装置１００とアダプタ等の外部機器（図示せず）との接続を可能とするものである。図示しない外部機器からは加工プログラムや各種パラメータ等が読み込まれる。また、４軸加工機用数値制御装置１００内で編集した加工プログラムは、外部機器（図示せず）を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）２４は、４軸加工機用数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置にＩ／Ｏユニット２５を介して信号を出力し制御する。また、工作機械本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ２１に渡す。
【００４９】
表示器／ＭＤＩユニット５０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース２６は表示器／ＭＤＩユニット５０のキーボードからの指令、データを受けてＣＰＵ２１に渡す。インタフェース２７は手動パルス発生器等を備えた操作盤５１に接続されている。  
各軸の軸制御回路２８，３０，３２，３４はＣＰＵ２１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ２９，３１，３３，３５に出力する。サーボアンプ２９，３１，３３，３５はこの指令を受けて、各軸のサーボモータ３９〜４２を駆動する。各軸は位置・速度のフィードバック制御を行う（図１９ではこの構成は省略している）。
【００５０】
サーボモータ３９〜４２は、工作機械のＸ，Ｙ，Ｚ，Ｃ軸を駆動するもので、図８〜図１０に示した４軸加工機械を駆動制御するものである。また、スピンドル制御回路３６は主軸回転指令を受け、スピンドルアンプ３７にスピンドル速度信号を出力する。スピンドルアンプ３７はスピンドル速度信号を受けて、主軸モータ４３を指令された回転速度で回転させる。
【００５１】
４軸加工機用数値制御装置１００は、ＣＰＵ２１において図１８に示す処理を実行することによって、従来の５軸加工機用のプログラム指令によって５軸加工機で行っていた加工を、そのまま仮想軸に対して仮想角度が指令されているとみなすことにより、４軸加工機で加工することができる。
【符号の説明】
【００５２】
１０  指令解析部
１１  補間部
１２Ｘ  Ｘ軸サーボ
１２Ｙ  Ｙ軸サーボ
１２Ｚ  Ｚ軸サーボ
１２Ｃ  Ｃ軸サーボ
１３  仮想角度
１４  仮想角度設定手段
１５  仮想角度判断手段
１６  許容値
１７  回転軸指令みなし手段
１００  ４軸加工機用数値制御装置
【図１】
2010271898.tif 000006
【図２】
2010271898.tif 000007
【図３】
2010271898.tif 000008
【図４】
2010271898.tif 000009
【図５】
2010271898.tif 000010
【図６】
2010271898.tif 000011
【図７】
2010271898.tif 000012
【図８】
2010271898.tif 000013
【図９】
2010271898.tif 000014
【図１１】
2010271898.tif 000015
【図１２】
2010271898.tif 000016
【図１３】
2010271898.tif 000017
【図１４】
2010271898.tif 000018
【図１５】
2010271898.tif 000019
【図１６】
2010271898.tif 000020
【図１７】
2010271898.tif 000021
【図１８】
2010271898.tif 000022
【図１９】
2010271898.tif 000023
【図１０】
2010271898.tif 000024