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