(57)【要約】【課題】従来、電子カム制御を行う工作機械では、主軸回転が停止している状態では主軸累積回転数θが得られなくなるため、その状態では電子カム制御を行って被加工物を加工することが出来なかった。【解決手段】同一の制御軸を制御する２種類の基準軸を利用し、一方から他方へ、他方から一方への切り替えを適切なタイミングにて切り替えることが出来るようにした。【効果】より高速な加工と、高精度な加工の高い次元での両立が可能になる。【選択図】　図４
2004001179.tif 000002
【特許請求の範囲】
【請求項１】
被加工物を所定の軸を中心として回転させると共に、前記被加工物及び前記被加工物を加工する工具のうちの少なくともいずれか一方を移動させて、前記被加工物を所望の形状に加工するための工作機械の数値制御装置であって、
前記所定の軸における所定回転角度毎に、基準タイミング信号を発生させる第１の基準軸と、
該第１の基準軸により定められる複数の異なる基準軸値に対応してそれぞれ設定され、前記被加工物及び前記工具のうちの前記少なくともいずれか一方の移動位置を表す位置データを記憶する第１の位置データ記憶手段と、
前記所定の軸の回転とは無関係に、基準タイミング信号を発生させる第２の基準軸と、
該第２の基準軸により定められる複数の異なる基準軸値に対応してそれぞれ設定され、前記被加工物及び前記工具のうちの前記少なくともいずれか一方の移動位置を表す位置データを記憶する第２の位置データ記憶手段と、
前記基準軸値が位置データ記憶手段に記憶される基準軸値に到達する毎に、到達した前記基準軸値に基づいて対応する位置データを前記位置データ記憶手段から読み出して、前記被加工物及び前記工具のうちの少なくともいずれか一方の移動位置を確定する移動位置確定手段と、を備え、
前記移動位置確定手段にて確定した前記移動位置に、前記被加工物及び前記工具のうちの前記少なくともいずれか一方を移動させる工作機械の数値制御装置において、
前記第１の基準軸値による移動位置確定と前記第２の基準軸値による移動位置確定との間での切り替えを行うべき切り替えタイミングを判定する切り替えタイミング判定手段と、
該切り替えタイミング判定手段に基づき、前記第１の基準軸値による移動位置確定と前記第２の基準軸値による移動位置確定との間での切り替えを行う基準軸切り替え手段と、
を備えることを特徴とする工作機械の数値制御装置。
【請求項２】
前記切り替えタイミング判定手段は、基準軸切り替え後の前記所定の軸の回転数が所定の状態となることが補償されるようにしたものであることを特徴とする請求項１記載の工作機械の数値制御装置。
【請求項３】
前記所定の軸が回転停止することを推定する回転停止推定手段と、
該推定手段が前記所定の軸の回転停止を推定した時に、回転工具が目標回転数に到達するまで制御する回転工具起動手段とを更に備えることを特徴とする請求項１に記載の工作機械の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、被加工物を所定の軸を中心として回転させると共に、被加工物及び被加工物を加工する工具のうちの少なくともいずれか一方を移動させて、被加工物を所望の形状に加工するための工作機械の数値制御装置に関する。
【０００２】
【従来の技術】
従来電子カム制御の工作機械では、基準軸に取りつけられたパルスエンコーダが出力するパルス信号により時々刻々の回転位置データと、基準軸の単位回転位置ごとに対応してそれぞれ設定された移動軸の指令位置データとから時々刻々の移動軸の指令データを生成している。この移動指令データと回転位置データとから回転物の回転速度に同期する移動軸の指令速度データを生成して、生成した移動指令データと指令速度データに基づいて工具の位置を制御することが行われている。
このように、従来の技術では、単一の基準軸に基づいて、主軸台、刃物台等を駆動すると共に位置の制御を行う制御軸の位置を指令することが行われていた。（例えば、特許文献１）
【特許文献１】
特開２００１−１７０８４３号公報（図１、図３、段落００１９〜段落００２３）
【０００３】
【発明が解決しようとする課題】
例えば、主軸を基準とした電子カム制御をするものにおいて、主軸を停止させる必要のある二次加工は、その電子カム制御を利用して加工を行うことは不可能であった。工具を回転させながら移動させてワークに平面を創成する加工であるフライス加工、主軸に直行する方向へワークを貫通するドリル加工、主軸軸心に対して偏心した位置へのドリル加工等である。これらの加工の際には、主軸が停止し、主軸が回転することによって生成される基準信号が出力されなくなるためである。
【０００４】
この電子カム制御が不可能になる原因は、電子カム制御が、そもそも主軸の単位回転位置ごとに対応してそれぞれ設定された移動軸の指令位置データを生成し、高速な加工を行いつつ高い精度を確保できるようにするという特有の技術的背景に起因する。加工する製品が主軸の回転している中でのみ加工を完了出来るのであれば、技術的には何の問題もないが、上述のような加工を電子カム制御を利用して、一連のシークエンスの中で行う必要がある部品の加工に対しても対応しなくてはならない場合には、主軸が回転していなくては加工が出来ないことが問題になる。これは、前述の繰り返しになるが、主軸停止時には、パルスエンコーダからパルス信号が出力されない結果、主軸の回転角の形で与えられる基準軸の単位回転位置ごとに対応してそれぞれ設定された移動軸の指令位置データを読み出すことができないため、移動軸の移動指令データを生成する事ができないことに起因する。
【０００５】
このように、主軸が停止していて基準軸の信号が出力されない為、加工が出来ないという問題に対し、主軸が停止している期間においては、主軸以外の場所から基準軸の信号を出力させることが考えられる。しかしながら、単に主軸以外の部分から基準軸の信号を出力させるように切り替える構成を採用したところで、主軸停止中に上述した回転工具類を利用した適切な加工を行うことが出来ない懸念が新たに生じる。
【０００６】
一方、上述のケースでは、主軸の回転と同期した信号を基準軸の信号として採用した為に、主軸の回転が停止してしまうと起きる問題であった点に着目すると、主軸の回転とは無関係な基準軸の信号を用いれば良いことになる。例えば、電子カム制御が開始されたタイミングから一定の周期でタイミング信号を発生し続ける発信器を用いれば良い。ところがこのようにした場合にあっても、もともと、主軸の回転を基準として用いることによってワークの加工精度が十分でかつ十分に高速な加工を行えていた点からすれば、加工精度で見たときに、あるいは、加工速度との両立という面から見た時に、対象加工ワークによっては、これでは十分な加工精度、加工速度が得られない懸念がある。このような場合には、主軸の回転角を利用して加工を行いたいという要求によって、上述の発信器を基準軸の信号に利用した電子カム制御から主軸回転角と同期した基準軸の信号を利用した電子カム制御への切り替えが必要になる。つまり、このようにした場合であっても、上述と同様に、基準信号が変更された場合に、ワークを適切に加工出来なくなる懸念が新たに生じる。
【０００７】
本発明は上述の点に鑑みてなされたもので、２種類の基準軸を適宜に切り替えつつ電子カム制御を行う中にあっても、ワークの加工を適切に行うことが可能な工作機械の数値制御装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る工作機械の数値制御装置は、被加工物を所定の軸を中心として回転させると共に、前記被加工物及び前記被加工物を加工する工具のうちの少なくともいずれか一方を移動させて、前記被加工物を所望の形状に加工するための工作機械の数値制御装置であって、前記所定の軸における所定回転角度毎に、基準タイミング信号を発生させる第１の基準軸と、該第１の基準軸により定められる複数の異なる基準軸値に対応してそれぞれ設定され、前記被加工物及び前記工具のうちの前記少なくともいずれか一方の移動位置を表す位置データを記憶する第１の位置データ記憶手段と、前記所定の軸の回転とは無関係に、基準タイミング信号を発生させる第２の基準軸と、該第２の基準軸により定められる複数の異なる基準軸値に対応してそれぞれ設定され、前記被加工物及び前記工具のうちの前記少なくともいずれか一方の移動位置を表す位置データを記憶する第２の位置データ記憶手段と、前記基準軸値が位置データ記憶手段に記憶される基準軸値に到達する毎に、到達した前記基準軸値に基づいて対応する位置データを前記位置データ記憶手段から読み出して、前記被加工物及び前記工具のうちの少なくともいずれか一方の移動位置を確定する移動位置確定手段と、を備え、前記移動位置確定手段にて確定した前記移動位置に、前記被加工物及び前記工具のうちの前記少なくともいずれか一方を移動させる工作機械の数値制御装置において、前記第１の基準軸値による移動位置確定と前記第２の基準軸値による移動位置確定との間での切り替えを行うべき切り替えタイミングを判定する切り替えタイミング判定手段と、該切り替えタイミング判定手段に基づき、前記第１の基準軸値による移動位置確定と前記第２の基準軸値による移動位置確定との間での切り替えを行う基準軸切り替え手段と、を備えることを特徴とする。
【０００９】
又、前記切り替えタイミング判定手段は、基準軸切り替え後の前記所定の軸の回転数が所定の状態となることが補償されるようにしたものであることを第２の特徴とする。
【００１０】
又、前記所定の軸が回転停止することを推定する回転停止推定手段と、該推定手段が前記所定の軸の回転停止を推定した時に、回転工具が目標回転数に到達するまで制御する回転工具起動手段とを更に備えることを第３の特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照しながら本発明による工作機械の数値制御装置の好適な第１の実施形態について、これより詳細に説明する。
【００１２】
図１は、本発明の実施形態に係る数値制御工作機械の構成を示すブロック図である。図１において、工作機械１は、主軸回転用モータ１１、工具移動用モータ２１、被加工物移動用モータ３１、工具回転用モータ４１及び各モータ１１，２１，３１，４１の駆動を制御するための制御ユニット部５１を有している。
【００１３】
主軸回転用モータ１１は、被加工物が保持可能に構成された主軸（図示せず）を回転駆動させるためのもので、駆動回路１２及び主軸回転制御回路１３等を介して制御ユニット部５１に接続されている。また、主軸回転用モータ１１には、主軸回転用モータ１１の回転を検知するためのパルスエンコーダ１４が設けられている。このパルスエンコーダ１４の出力は制御ユニット部５１及び速度信号生成回路１５に接続されており、パルスエンコーダ１４から出力される回転検出信号が制御ユニット部５１及び速度信号生成回路１５に入力される。パルスエンコーダ１４は、主軸回転用モータ１１（主軸）の回転に同期して回転検出信号を発生し、制御ユニット部５１及び速度信号生成回路１５に出力する。ここで、パルスエンコーダ１４は、各請求項における第１の基準軸の一部を構成している。また、主軸回転用モータ１１（主軸）の回転中心軸が、各請求項における所定の軸を構成している。速度信号生成回路１５は、パルスエンコーダ１４から出力される回転検出信号を主軸回転用モータ１１（主軸）の回転速度をあらわす主軸回転速度信号に変換する。速度信号生成回路１５の出力は主軸回転制御回路１３に接続されており、変換された主軸回転速度信号が主軸回転制御回路１３に入力される。
【００１４】
主軸回転制御回路１３は、後述するクロック信号発生回路にて発生して出力されたクロック信号を基準にして所望の回転速度となるように被加工物（主軸）の回転を制御するためのものであり、制御ユニット部５１からＩ／Ｆ部５２を介して出力される主軸回転速度指令信号と、速度信号生成回路１５から出力される主軸回転速度信号とを比較して、その差に応じた制御信号をクロック信号を基準にして生成する。主軸回転制御回路１３にて生成された制御信号は、駆動回路１２に出力される。
【００１５】
駆動回路１２は、主軸回転制御回路１３から出力された制御信号に基づいて、主軸回転用モータ１１（主軸）の回転速度が後述する主軸回転速度指令値となるように主軸回転用モータ１１への供給電力を制御する。これら駆動回路１２、主軸回転制御回路１３、及び、速度信号生成回路１５は、主軸回転用モータ１１（主軸）の回転速度のフィードバック制御系を構成している。
【００１６】
次に、工具移動用モータ２１は、被加工物を加工するための工具（旋削加工用バイト等、回転工具（ドリル、タップ等））を、たとえば主軸回転用モータ１１（主軸）の回転中心軸に対して直交する方向（Ｘ軸方向、Ｙ軸方向）や軸方向（Ｚ軸方向）に移動させるためのものである。駆動回路２２、工具送り制御回路２３及びＩ／Ｆ部５２を介して制御ユニット部５１に接続されている。また、工具移動用モータ２１には、工具移動用モータ２１の回転を検出するパルスエンコーダ２４が設けられている。このパルスエンコーダ２４の出力は工具送り制御回路２３に接続されており、パルスエンコーダ２４の回転検出信号が工具送り制御回路２３に入力される。パルスエンコーダ２４は、工具移動用モータ２１の所定回転角度毎に回転位置信号を発生して、工具送り制御回路２３に出力する。
【００１７】
工具送り制御回路２３は、パルスエンコーダ２４から出力された回転位置信号に基づいて実際の工具の移動位置を認識すると共に、認識した実際の工具の移動位置と後述する制御ユニット部５１からＩ／Ｆ部５２を介して出力される工具位置指令信号とを比較して、この比較結果に基づいて工具駆動信号を生成する。工具送り制御回路２３にて生成された工具駆動信号は、駆動回路２２に出力される。駆動回路２２は、工具送り制御回路２３から出力された工具駆動信号に基づいて工具移動用モータ２１への供給電力を制御する。これら、駆動回路２２及び工具送り制御回路２３は、工具の移動位置のフィードバック制御系を構成している。
【００１８】
被加工物移動用モータ３１は、被加工物を、たとえば主軸回転用モータ１１（主軸）の回転中心軸に対して平行な方向（Ｚ軸方向）に移動させるためのもので、駆動回路３２、被加工物送り制御回路３３及びＩ／Ｆ部５２を介して制御ユニット部５１に接続されている。また、被加工物移動用モータ３１には、被加工物移動用モータ３１の回転を検出するパルスエンコーダ３４が設けられている。このパルスエンコーダ３４の出力は被加工物送り制御回路３３に接続されており、パルスエンコーダ３４の回転検出信号が被加工物送り制御回路３３に入力される。パルスエンコーダ３４は、被加工物移動用モータ３１の所定回転角度毎に回転検出信号を発生して、被加工物送り制御回路３３に出力する。
【００１９】
被加工物送り制御回路３３は、パルスエンコーダ３４から出力された回転検出信号に基づいて実際の被加工物の移動位置を認識すると共に、認識した実際の被加工物の移動位置と制御ユニット部５１からＩ／Ｆ部５２を介して出力される被加工物位置指令信号とを比較して、この比較結果に基づいて被加工物駆動信号を生成する。所定回転角度毎に生成された被加工物駆動信号は、駆動回路３２に出力される。駆動回路３２は、所定回転角度毎に出力された被加工物駆動信号に基づいて被加工物移動用モータ３１への供給電力を制御する。これら、駆動回路３２及び被加工物送り制御回路３３は、被加工物の移動位置のフィードバック制御系を構成している。
【００２０】
前記工具に備えられた回転工具などを回転させる工具回転用モータ４１は、回転工具であるドリルや、タップ、フライスカッターなどを回転駆動させるためのもので、駆動回路４２及び工具回転制御回路４３等を介して制御ユニット部５１に接続されている。また、工具回転用モータ４１には、該モータ４１の回転を検知するためのパルスエンコーダ４４が設けられている。ここで、パルスエンコーダ４４は、各請求項ににおける第２の基準軸を構成する。このパルスエンコーダ４４の出力は制御ユニット部５１にＩ／Ｆ部５２を介して接続されており、パルスエンコーダ４４から出力される回転検出信号が制御ユニット部５１に入力される。パルスエンコーダ４４は、工具回転用モータ４１の回転に同期して回転検出信号を発生し、制御ユニット部５１に出力する。
【００２１】
工具回転制御回路４３は、パルスエンコーダ４４からの信号を基準にして所望の回転速度となるように回転工具の回転を制御するためのものであり、制御ユニット部５１から出力される工具回転速度指令信号と、パルスエンコーダ４４から出力される信号とを比較して、その差に応じた制御信号をクロック信号を基準にして生成する。工具回転制御回路４３にて生成された制御信号は、駆動回路４２に出力される。
【００２２】
駆動回路４２は、工具回転制御回路４３から出力された制御信号に基づいて、工具回転用モータ４１の回転速度が工具回転速度指令値となるように工具回転用モータ４１への供給電力を制御する。これら駆動回路４２、工具回転制御回路４３、及び、パルスエンコーダ４４により工具回転用モータ４１の回転速度のフィードバック制御系を構成している。　制御ユニット部５１は、図１に示されるように、ＣＰＵ５３、分割カウンタ／タイマー部５４、ＲＡＭ５６、ＲＯＭ５７ａ、５７ｂ、主軸電子カム制御用位置データ記憶部５８，工具回転軸電子カム制御用位置データ記憶部５９、カウント部５５等を有している。
【００２３】
ＣＰＵ５３は、制御ユニット部５１全体の信号処理等をつかさどる演算部であり、請求項における移動位置確定手段を構成するものである。カウント部５５は、Ｉ／Ｆ部５２に接続されており、パルスエンコーダ１４又はパルスエンコーダ４４から出力された回転検出信号がＩ／Ｆ部５２を介して入力され、この入力された回転検出信号の発生回数をカウントするように構成されている。また、カウント部５５は、ＣＰＵ５３にも接続されており、パルスエンコーダ１４又はパルスエンコーダ４４から出力された回転検出信号の発生回数をカウントした結果をＣＰＵ５３に出力するようにも構成されている。分割カウンタ／タイマー部５４は、所定の周期、たとえば４ミリ秒周期のタイミング信号を生成して出力するように構成されており、分割カウンタ／タイマー部５４にて生成された４ミリ秒周期のタイミング信号はＣＰＵ５３に出力される。なお、タイミング信号の周期は上述した４ミリ秒に限られることなく、ＣＰＵ５３の処理能力、パルスエンコーダ１４の分解能、各モータ１１，２１、３１，４１の性能等を考慮して適宜設定可能である。
【００２４】
主軸電子カム制御用位置データ記憶部５８は、カウント部５５にてカウントされた回転検出信号の発生回数のカウント値のうち、複数の異なるカウント値毎に対応して、被加工物の移動位置をあらわす被加工物位置データと、工具の移動位置をあらわす工具位置データと、を記憶するもので、ＲＡＭ等のメモリーにより構成されている。主軸電子カム制御用位置データ記憶部５８においては、上述した被加工物位置データ及び工具位置データ等が、図２（Ａ）に示されるような位置データテーブルＴの形で記憶されている。なお、図２（Ａ）に示される位置データテーブルＴにおいては、回転検出信号の発生回数のカウント値そのものを用いる代わりに、このカウント値から求められる主軸回転用モータ１１（主軸）の累積回転数（θ）を用いるようにしている。もちろん、カウント値そのものを用いるようにしてもよい。ここで主軸電子カム制御用位置データ記憶部５８は、各請求項における第１の位置データ記憶手段を構成するものである。
【００２５】
位置データテーブルＴでは、図２（Ａ）に示されるように、主軸回転用モータ１１の累積回転数（θ）が所定の値のときの被加工物位置データとして被加工物２の移動位置（Ｚｐ）が、また、主軸回転用モータ１１の累積回転数（θ）が所定の値のときの工具位置データとして工具３の移動位置（Ｘｐ）が、それぞれ異なる複数の累積回転数（θ）毎に対応して設定されており、たとえば累積回転数（θ）が「２００」のときの被加工物２の移動位置（Ｚｐ）が「１」及び工具３の移動位置（Ｘｐ）が「４」というように設定されている。主軸電子カム制御用位置データ記憶部５８は、ＣＰＵ５３に接続されており、記憶されている被加工物の移動位置（Ｚｐ）が被加工物位置データとして、また、工具３の移動位置（Ｘｐ）が工具位置データとして、ＣＰＵ５３に読み出されることになる。ここで、工具回転軸電子カム制御用位置データ記憶部５９は、各請求項における、第２の位置データ記憶手段を構成する。
【００２６】
図２（Ａ）に示された位置データテーブルＴは、たとえば図６（Ｂ）、（Ｃ）に示されるような、被加工物２のＺ軸方向での移動位置の軌跡及び工具３のＸ軸方向での移動位置の軌跡を実現するように設定されている。図６（Ｃ）は、主軸回転用モータ１１（主軸）の累積回転数（θ）に対する被加工物２のＺ軸方向での移動位置の軌跡を示している。累積回転数（θ）が「２００」から「３５０」に達する間において、被加工物２は、数値「１」から数値「３」に移動する。また、累積回転数（θ）が「３５０」から「４００」に達する間において、被加工物２は、数値「３」から数値「４」に移動する。図６（Ｂ）は、主軸回転用モータ１１（主軸）の累積回転数（θ）に対する工具３のＸ軸方向での移動位置の軌跡を示している。累積回転数（θ）が「２００」から「３５０」に達する間においては、工具３は、数値「４」のまま移動しない。また、累積回転数（θ）が「３５０」から「４００」に達する間において、被加工物２は、数値「４」から数値「５」に移動する。上述したような移動位置の軌跡にしたがって被加工物２及び工具３が移動することにより、被加工物２は図６（Ａ）に示されるような形状に加工（切削）されることになる。なお、本実施形態においては、主軸回転用モータ１１（主軸）の回転速度は、累積回転数（θ）が「２００」から「３５０」に達する間、累積回転数（θ）が「３５０」から「４００」に達する間、及び、累積回転数（θ）が「４００」から「７８０」に達する間において、それぞれ定められた一定の値に保持されている。また、主軸回転用モータ１１（主軸）の回転速度は、被加工物２の材質等に応じて適宜設定可能である。
又、図２（Ｂ）に示される位置データテーブルＴｔでは、工具回転用モータ４１の累積回転数（θｔ）が所定の値のときの工具位置データとして回転工具３ａの移動位置Ｘｐｔ、Ｙｐｔが、それぞれ異なる複数の累積回転数（θｔ）毎に対応して設定されている。例えば、累積回転数（θｔ）が「１０００」のときの工具移動位置Ｘｐｔが「１０」、Ｙｐｔが「１０」というように設定されている。工具回転軸電子カム制御用位置データ記憶部５９は、ＣＰＵ５３に接続されており、記憶されている工具３の移動位置Ｘｐｔ、Ｙｐｔ、Ｚｐｔ（この加工例ではデータが存在しないが、軸方向に溝加工を行う場合には、Ｚｐｔのデータが存在）が工具位置データとして、ＣＰＵ５３に読み出されることになる。
【００２７】
図２（Ｂ）に示された位置データテーブルＴｔは、たとえば図７（Ｂ）、（Ｃ）に示されるような、工具回転用モータ４１に回転駆動される工具３ａ（ドリル）のＸ軸方向での移動位置の軌跡及びＹ軸方向での移動位置の軌跡を実現するように設定されている。図７（Ｃ）は、工具回転用モータ４１（工具回転軸）の累積回転数（θｔ）に対する工具３ａのＹ軸方向での移動位置の軌跡を示している。累積回転数（θｔ）が「１０００」から「１０５０」に達する間において、工具３ａは、数値「１０」から数値「１３」に移動する。図７（Ｂ）は、工具回転用モータ４１（工具回転軸）の累積回転数（θｔ）に対する工具３ａのＸ軸方向での移動位置の軌跡を示している。累積回転数（θｔ）が「１０００」から「１０５０」に達する間においては、工具３ａは、数値「１０」から「１５」に移動する。また、累積回転数（θｔ）が「１０５０」から「１１００」に達する間において、工具３ａは、数値「１５」から数値「２０」に移動する。この例では、上述したような移動位置の軌跡に従って、工具３ａが移動することにより、被加工物２は図７（Ａ）に示されるような形状の穴２ａの穴明け加工がされることになる。なお、本実施形態においては、工具回転用モータ４１（工具回転軸）の回転速度は、累積回転数（θｔ）が「１０００」から「１０５０」に達する間、累積回転数（θｔ）が「１０５０」から「１１００」に達する間、累積回転数（θｔ）が「１１００」から「１１５０」に達する間、及び、累積回転数（θｔ）が「１１５０」から「１２００」に達する間において、それぞれ定められた一定の値に保持されている。また、工具回転用モータ４１（工具回転軸）の回転速度は、被加工物２の材質等に応じて適宜設定可能である。
【００２８】
更に、図２（Ｃ）に示される位置データテーブルＴｔでは、工具回転用モータ４１の累積回転数（θｔ）が所定の値のときの工具位置データとして回転工具３ａ（エンドミル、ボールミル等）の移動位置Ｘｐｔ、Ｙｐｔが、それぞれ異なる複数の累積回転数（θｔ）毎に対応して設定されている。例えば、累積回転数（θｔ）が「５０００」のときの工具移動位置Ｘｐｔが「１０」、Ｙｐｔが「９」というように設定されている。工具回転軸電子カム制御用位置データ記憶部５９は、ＣＰＵ５３に接続されており、記憶されている工具３の移動位置Ｘｐｔ、Ｙｐｔ、Ｚｐｔ（この加工例ではデータが存在しないが、軸方向にもミル加工を行う場合には、Ｚｐｔのデータが存在）が工具位置データとして、ＣＰＵ５３に読み出されることになる。
【００２９】
図２（Ｃ）に示された位置データテーブルＴｔは、たとえば図８（Ｂ）、（Ｃ）に示されるように、工具回転用モータ４１に回転駆動される工具３ａのＸ軸方向での移動位置の軌跡及びＹ軸方向での移動位置の軌跡を実現するように設定されている。図８（Ｃ）は、工具回転用モータ４１（工具回転軸）の累積回転数（θｔ）に対する工具３ａのＹ軸方向での移動位置の軌跡を示している。累積回転数（θｔ）が「５０００」から「５０５０」に達する間において、工具３ａは、数値「９」から数値「２２」に移動する。図８（Ｂ）は、工具回転用モータ４１（工具回転軸）の累積回転数（θｔ）に対する工具３ａのＸ軸方向での移動位置の軌跡を示している。累積回転数（θｔ）が「５０００」から「５０５０」に達する間においては、工具３ａは、数値「１０」から「１５」に移動する。また、累積回転数（θｔ）が「５０５０」から「５１００」に達する間において、工具３ａは、数値「１５」から数値「２０」に移動する。この例では、上述したような移動位置の軌跡に従って、工具３ａが移動することにより、被加工物２は図８（Ａ）に示されるような形状の平面２ｂのミル加工がされることになる。なお、本実施形態においては、工具回転用モータ４１（工具回転軸）の回転速度は、累積回転数（θｔ）が「５０００」から「５０５０」に達する間、累積回転数（θｔ）が「５０５０」から「５１００」に達する間、累積回転数（θｔ）が「５１００」から「５１５０」に達する間、及び、累積回転数（θｔ）が「５１５０」から「５２００」に達する間において、それぞれ定められた一定の値に保持されている。また、工具回転用モータ４１（工具回転軸）の回転速度は、被加工物２の材質等に応じて適宜設定可能である。
【００３０】
ＲＯＭ５７ａは、各種処理プログラムを記憶する記憶部であって、その一部が、被加工物及び工具の移動速度特性が記憶された移動速度特性記憶部５７ｂを構成している。移動速度特性記憶部５７ｂには、移動速度特性がデータテーブルあるいは関数式等の形で、複数記憶されている。移動速度特性記憶部５７ｂは、ＣＰＵ５３に接続されており、記憶されている移動速度特性がＣＰＵ５３に読み出されることになる。
【００３１】
Ｉ／Ｆ部５２は、後述するようにＣＰＵ５３にて確定された被加工物の移動位置をあらわすことになる被加工物位置指令信号を被加工物送り制御回路３３に出力する。同じくＣＰＵ５３にて確定された工具の移動位置をあらわすことになる工具位置指令信号を工具送り制御回路２３に出力する。ＣＰＵ５３にて演算されて確定される主軸の回転速度をあらわすことになる主軸回転速度指令信号を主軸回転制御回路１２に出力する。各パルスエンコーダ１４，２４，３４，４４から出力された回転検出信号をＣＰＵ５３、カウント部５５に入力するための信号入出力部である。ＲＡＭ５６は、ＣＰＵ５３における各種演算の結果を読み出し可能に一時的に記憶するように構成されている。
次に、図３に基づいて、ＣＰＵ５３（制御ユニット部５１）における工具位置指令信号及び被加工物位置指令信号の出力処理動作を説明する。
【００３２】
ＣＰＵ５３は、まず、Ｓ１０１にて、カウント部５５における、パルスエンコーダ１４から出力された回転検出信号の発生回数の計数したカウント値を読み込む。続く、Ｓ１０３にて、ＣＰＵ５３は、読み込んだカウント値から主軸回転用モータ１１（主軸）の累積回転数（θ）を算出して、Ｓ１０５に進む。Ｓ１０５では、算出した累積回転数（θ）が位置データテーブルＴにて設定された累積回転数（θ）に到達したか否かを判断する。算出した累積回転数（θ）が位置データテーブルＴにて設定された累積回転数（θ）に到達した場合には（Ｓ１０５で「Ｙｅｓ」）、Ｓ１０７に進む。算出した累積回転数（θ）が位置データテーブルＴにて設定された累積回転数（θ）に到達していない場合には（Ｓ１０５で「Ｎｏ」）、Ｓ１０１にリターンする。
【００３３】
Ｓ１０７に進むと、ＣＰＵ５３は、位置データテーブルＴから、到達した累積回転数（θ）における被加工物の移動位置（Ｚｐ）及び工具の移動位置（Ｘｐ）と、次に到達する累積回転数（θ）における被加工物の移動位置（Ｚｐ）、工具の移動位置（Ｘｐ）及び主軸停止時加工処理フラグ（Ｆｎ）を読み込む。（ＦｎのデータがなければＦｎのデータとしては読み込まれない。）次に、Ｓ１０９に進み、ＣＰＵ５３は、位置データテーブルＴに主軸停止時加工処理フラグ（Ｆｎ）（ｎは主軸停止時加工処理を行う為の電子カムデータテーブルの識別番号）の有無を判定する。この判定において、Ｆｎが存在した場合には、Ｓ１１０に進み、図２（Ｂ）、（Ｃ）で示される如くに、ｎで識別される電子カムデータテーブルに基づいて、工具の移動位置（Ｘｐ）、（Ｙｐ）及び（Ｚｐ）を所定の分割タイミング毎にＣＰＵ５３が確定する。尚、この処理の詳細については後述する。この処理が終了した後に再びＳ１０９における判定を実行する。Ｆｎが存在しなければ、そのままＳ１１１に進み、ＣＰＵ５３は、所定の分割タイミング毎における被加工物及び工具の移動位置を確定する。被加工物２の移動位置（Ｚｐ）は、以下のようにして確定される。到達した累積回転数（θ）における被加工物２の移動位置（Ｚｐ）を始点とし、次に到達する累積回転数（θ）における被加工物２の移動位置（Ｚｐ）を終点として、始点から終点までの間の被加工物２の移動位置を位置データテーブルＴに設定された点を含む軌跡にしたがって変位するように、分割カウンタ／タイマー部５４にて生成されて出力された４ミリ秒周期のタイミング信号に基づいて、４ミリ秒周期の分割タイミング毎における被加工物の移動位置が夫々確定され、ＲＡＭ５６に一時的に記憶される。たとえば、図２（Ａ）に示された位置データテーブルＴにおいて、累積回転数（θ）が「２００」であるときの被加工物２の移動位置（Ｚｐ）の「１」を始点とし、累積回転数（θ）が「３５０」であるときの被加工物２の移動位置（Ｚｐ）の「３」を終点として、「１」から「３」までの間を被加工物が移動するように、４ミリ秒周期の分割タイミング毎における被加工物の移動位置が夫々確定される。このように位置データテーブルＴに設定された点同士の間を補間するように４ミリ秒周期の分割タイミング毎に点を求めて軌跡を定めている。
【００３４】
また、工具の移動位置は、以下のようにして確定される。到達した累積回転数（θ）における工具の移動位置（Ｘｐ）を始点とし、次に到達する累積回転数（θ）における工具の移動位置（Ｘｐ）を終点として、始点から終点までの間の工具の移動位置が位置データテーブルＴに設定された点を含む軌跡にしたがって変位するように、分割カウンタ／タイマー部５４にて生成されて出力された４ミリ秒周期のタイミング信号に基づいて、４ミリ秒周期の分割タイミング毎における工具の移動位置が夫々確定される。たとえば、図２に示された位置データテーブルＴにおいて、累積回転数（θ）が「３５０」であるときの工具の移動位置（Ｘｐ）の「４」を始点とし、累積回転数（θ）が「４００」であるときの工具の移動位置（Ｘｐ）の「５」を終点として、「４」から「５」までの間に、４ミリ秒周期の分割タイミング毎における工具３の移動位置が夫々確定されることになる。このように位置データテーブルＴに設定された点同士の間を補間するように４ミリ秒周期の分割タイミング毎に点を求めて軌跡を定めている。
【００３５】
４ミリ秒周期の分割タイミング毎における被加工物及び工具の移動位置が確定されてＲＡＭ５６に記憶されると、Ｓ１１３に進み、ＣＰＵ５３は、確定されてＲＡＭ５６に記憶された被加工物の移動位置をあらわすことになる被加工物位置指令信号を被加工物送り制御回路３３に出力すると共に、確定されてＲＡＭ５６に記憶された工具の移動位置をあらわすことになる工具位置指令信号を工具送り制御回路２３に出力する。被加工物位置指令信号及び工具位置指令信号は、パルスエンコーダ１４から出力された回転検出信号に対応して出力される。詳細には、パルスエンコーダ１４から出力された回転検出信号に基づいて、主軸回転用モータ１１（主軸）の回転角度が、主軸回転用モータ１１（主軸）の回転速度が一定である場合における４ミリ秒間の主軸回転用モータ１１（主軸）の回転角度に到達したか否かが判断されて、主軸回転用モータ１１（主軸）の回転角度が、４ミリ秒間の主軸回転用モータ１１（主軸）の回転角度に到達したときに、被加工物位置指令信号及び工具位置指令信号が出力される。
【００３６】
その後、Ｓ１１５にて、Ｓ１１１において確定された被加工物及び工具の移動位置のうちの最終の移動位置に対応する被加工物位置指令信号及び工具位置指令信号が出力されたか否かが判断される。最終の移動位置に対応する被加工物位置指令信号及び工具位置指令信号が出力されていない場合には（Ｓ１１５で「Ｎｏ」）、Ｓ１１３にリターンされて、主軸回転用モータ１１（主軸）の回転角度が、上述した４ミリ秒間の主軸回転用モータ１１（主軸）の回転角度に到達する毎に、被加工物位置指令信号及び工具位置指令信号が順次出力されることになる。最終の移動位置に対応する被加工物位置指令信号及び工具位置指令信号が出力された場合には（Ｓ１１５で「Ｙｅｓ」）、リターンし、Ｓ１０１に戻る。
【００３７】
次に、図３のＳ１０９に示される主軸停止時加工処理実行時のＣＰＵ５３（制御ユニット部５１）における工具位置指令信号及び被加工物位置指令信号の出力処理動作を、図４に基づき説明する。なお、主軸回転速度指令信号の出力処理動作等の他の処理動作は、公知である従前の工作機械のものと同様であり、その説明を省略する。
【００３８】
まず、ＣＰＵ５３は、主軸停止時加工処理が開始されると、まず、Ｓ２０１にて主軸回転の検出処理と工具回転の検出処理を、それぞれ主軸モータ１１に備えられるパルスエンコーダ１４と工具回転モータ４１に備えられるパルスエンコーダ４４を使用して開始する。続く、Ｓ２０２にて、主軸電子カム制御用位置データ記憶部５８に記憶される電子カムデータに対し、主軸回転数を０にする指令を検索し、この検索結果をＲＡＭ５６に記憶する処理を行う。次に、Ｓ２０３にて、Ｓ２０２にて得られた結果に、主軸回転数をゼロにする指令が有るか否かを判定する。この判定が否である場合には、これ以降の処理は必要ないので処理をそのまま終了しメインルーチンのＳ１０９に処理を復帰させる。この判定を行うことにより、誤ってフラグＦｎが主軸側電子カムデータテーブルに記述された場合に、この処理がそのまま継続されないようにしている。尚、このＦｎはプログラム作成ツールでこのような加工が指定されたときに自動的に記述されるものであっても、マニュアルで記述されるものであってもいづれでも良い。
【００３９】
又、Ｓ２０３で、主軸回転数を０にする指令有りと判定されていた場合には、Ｓ２０４に進み、更に、主軸回転数の変化率が負になったか否かを判定する。ここでの判定が否である場合には、Ｓ２０３での判定がＹであったものの、現時点ではまだ加工が途中若しくは、主軸回転数が少なくとも減少の状態ではないので、処理をＳ２０４に戻しループさせる。主軸回転が減少する主軸回転数変化率が負となった場合には、Ｓ２０５に進み、ＣＰＵ５３はＩ／Ｆ５２を介して回転工具の回転開始指令を工具回転制御回路５３に対し出力する。この後Ｓ２０６にて、回転工具の目標回転数に対して回転工具の実回転数が一致したか否かの判定を行い、一致しない限りは処理が次に進まないようにする。（Ｓ２０５，Ｓ２０６の両者で請求項２の回転工具起動手段に相当する。）この判定を行っておくことで、工具回転用モータ４１が回転することにより生じるパルスエンコーダ４４の回転角の信号をあらかじめ安定させておくことが出来、又、主軸の回転を停止させる間の時間を有効に利用できる。次に、Ｓ２０７で、主軸回転数が実際にゼロになったか否かを判定する。主軸回転数が０になれば、被加工物の回転を止めた状態での加工が可能になったと言うことなので、回転工具を実際に使用した加工を行うべく処理をＳ２０８に進める。ここで、このＳ２０７が各請求項の切り替えタイミング判定手段を構成するものである。尚、主軸回転が完全に止まった状態になるまで必ずしも待つ必要はなく、要は、回転工具３ａが被加工物２に対して、実際に加工を行う時点で主軸が停止していれば良いので、工具選択後に被加工物付近に待機状態となっている時にこの判定を行うようにすると、更に加工時間の短縮を図ることが出来る。
【００４０】
主軸回転数が０になって、Ｓ２０８に進むと、工具回転用モータ累積回転数による電子カム制御に備えて、工具回転用モータ累積回転数（θｔ）を０にリセットする。続いて、ＣＰＵ５３は、まず、Ｓ２０９にて、カウント部５５における、パルスエンコーダ４４から出力された回転検出信号の発生回数を計数したカウント値を読み込む。続く、Ｓ２１０にて、ＣＰＵ５３は、読み込んだカウント値から工具回転用モータ４１（工具回転軸）の累積回転数（θｔ）を算出して、Ｓ２１１に進む。Ｓ２１１では、算出した累積回転数（θｔ）が位置データテーブルＴｔにて設定された累積回転数（θｔ）に到達したか否かを判断する。算出した累積回転数（θｔ）が位置データテーブルＴｔにて設定された累積回転数（θｔ）に到達した場合には（Ｓ２１１で「Ｙｅｓ」）、Ｓ２１２に進む。算出した累積回転数（θｔ）が位置データテーブルＴｔにて設定された累積回転数（θｔ）に到達していない場合には（Ｓ２１１で「Ｎｏ」）、Ｓ２０９にリターンする。ここで、これらＳ２０８から以下に説明のＳ２１５までに基づき各請求項における基準軸切り替え手段を構成する。
【００４１】
Ｓ２１２に進むと、ＣＰＵ５３は、位置データテーブルＴｔから、到達した累積回転数（θｔ）における工具３ａの移動位置Ｘｐｔ、Ｙｐｔ及びＺｐｔと、次に到達する累積回転数（θｔ）における工具３ａの移動位置Ｘｐｔ、Ｙｐｔ及びＺｐｔを読み込む。Ｓ２１２にて、工具３ａの移動位置Ｘｐｔ、Ｙｐｔ及びＺｐｔが読み込まれると、そのままＳ２１３に進み、ＣＰＵ５３は、所定の分割タイミング毎における工具３ａの移動位置を確定する。工具３ａの移動位置は、以下のようにして確定される。到達した累積回転数（θｔ）における工具３ａの移動位置（Ｘｐｔ）を始点とし、次に到達する累積回転数（θｔ）における工具３ａの移動位置（Ｘｐｔ）を終点として、始点から終点までの間の工具３ａの移動位置が位置データテーブルＴｔに設定された点を含む軌跡にしたがって変位するように、分割カウンタ／タイマー部５５にて生成されて出力された４ミリ秒周期のタイミング信号に基づいて、４ミリ秒周期の分割タイミング毎における工具の移動位置が夫々確定される。たとえば、Ｆ１で分岐された例（クロス穴明け加工）である図２（ｂ）に示された位置データテーブルＴｔにおいて、累積回転数（θｔ）が「１０００」であるときの工具３ａの移動位置Ｘｐｔの「１０」を始点とし、累積回転数（θｔ）が「１０５０」であるときの工具３ａの移動位置Ｘｐｔの「１５」を終点として、「１０００」から「１０５０」までの間に、４ミリ秒周期の分割タイミング毎における工具３ａの移動位置が夫々確定されることになる。工具３ａの移動位置はＹｐｔ、Ｚｐｔについても、それぞれ同様に確定されることになる。
【００４２】
４ミリ秒周期の分割タイミング毎における工具の移動位置が確定されてＲＡＭ５６に記憶されると、Ｓ２１４に進み、ＣＰＵ５３は、確定されてＲＡＭ５６に記憶された工具の移動位置をあらわすことになる工具位置指令信号を工具送り制御回路２３に出力する。工具位置指令信号は、パルスエンコーダ４４から出力された回転検出信号に対応して出力される。詳細には、パルスエンコーダ４４から出力された回転検出信号に基づいて、工具回転用モータ４１（工具回転軸）の回転角度が、工具回転用モータ４１（工具回転軸）の回転速度が一定である場合における４ミリ秒間の工具回転用モータ４１（工具回転軸）の回転角度に到達したか否かが判断されて、工具回転用モータ４１（工具回転軸）の回転角度が、４ミリ秒間の工具回転用モータ４１（工具回転軸）の回転角度に到達したときに、工具位置指令信号が出力される。
【００４３】
その後、Ｓ２１５にて、Ｓ２１３において確定された工具の移動位置のうちの最終の移動位置に対応する工具位置指令信号が出力されたか否かが判断される。最終の移動位置に対応する工具位置指令信号が出力されていない場合には（Ｓ２１５で「Ｎｏ」）、Ｓ２１４にリターンされて、主軸回転用モータ１１（主軸）の回転角度が、上述した４ミリ秒間の主軸回転用モータ１１（主軸）の回転角度に到達する毎に、被加工物位置指令信号及び工具位置指令信号が順次出力されることになる。最終の移動位置に対応する工具位置指令信号が出力された場合には（Ｓ２１５で「Ｙｅｓ」）、Ｓ２１６に進み、回転工具を使って行う加工範囲を規定する最後の累積回転数（θｔ）に到達したか否かを判定する。最後の累積回転数（θｔ）に到達していなければ（Ｓ２１６で「Ｎｏ」）Ｓ２１７に進み、累積回転数（θｔ）を更新処理し、Ｓ２０９からの処理を改めて実行する。又、最後の累積回転数（θｔ）に到達していれば、このルーチンにおける処理を終了し、メインルーチンにおけるＳ１０９に処理を戻す。
【００４４】
ここで、本実施例に基づき実施をする上で、更に好適な実施例を説明する。
工具回転用モータ２１は、被加工物２を加工する際、回転工具を回転させるが、工具が被加工物に対して切削等を行っている間、切削負荷などの変動によって、モーター回転にラフネスを生じる。これは、主軸回転用モータ１１では発生トルクが大きいためラフネスが生じても問題にならないことに対し、それほどのトルクを発生しない工具回転用モータではラフネスが大きく発生し、制御のトリガー条件としての利用には問題がある。具体的には、このラフネスが生じることのために、工具回転用モータに備えられるパルスエンコーダ４４は、単位時間あたりの回転検出信号の発生回数が変動する。つまり、この発生回数をカウントしているカウント部におけるカウント値が単位時間毎で変動し、累積回転数θｔが正しく算出されない懸念がある。
【００４５】
懸念される現象とは、工具３ａによる被加工物２の切削開始のタイミングでは、工具回転用モータ２１への負荷が一気に上昇し、一瞬モータ回転が低下する、その後モータに対して設定される目標回転に対してモータの回転が急激に上昇するときにカウント値が急に変化し、これに即して工具３ａの送りが急に速くなる。この際に被加工物２の表面性状が悪化したり、あるいは、工具３ａの急激な摩耗等による刃もちの悪化が懸念される。
【００４６】
この懸念を払拭するために、カウント値がばらつかないようにするべく、カウント値に対して、急激な変化を抑制するフィルター処理を行うようにすると良い。このフィルター処理そのものは、ソフトウエア的又はハードウエア的に行うことが可能である。ハードウエア的に行う場合には、ディスクリートの回路あるいはＩＣの回路のいずれを用いて処理を行っても良い。ソフトウエア的に実行する場合には、ＣＰＵ５３において、フィルター用のプログラムを実行すると良い。
【００４７】
尚、上述の実施例では、工具回転用モータ４１に備えられたパルスエンコーダ４４を使用して累積回転数θｔを求めていたが、パルスエンコーダ４４が出力する信号に代えて、図５に示す疑似パルス発生回路６１から出力される発振パルスを利用する事が可能である。本図における図１からの変更点は、入力切り替え部６０を設けて、カウント部５５から入力される信号と疑似パルス発生回路が発生する信号とをＣＰＵ５３に対し、ＣＰＵ５３からの指令に応じて選択的に入力させるようにしているものである。このために、入力切り替え部６０にはスイッチ６２を設けている。このスイッチ６２は、カウント部５５に接続される端子部６２ａと疑似パルス発生回路６１に接続される端子部６２ｂとスイッチ片６２ｃとを備えて、それぞれの信号をＣＰＵに対して選択的に入力させることが可能になっている。疑似パルス発生回路６１には、カウント部５５が設けられている。これによってＣＰＵ５３に対し、いずれの経路からの信号であっても等価な信号になるようにしている。疑似パルス発生回路６１そのものは、ＣＰＵ５３が工具回転制御回路４３に対して指令している指令を同時に受け取る構成とされ、これに基づき工具回転用モータ４１のパルスエンコーダ４４が発生するのと、同等の信号を発生するものとされている。
【００４８】
前述のパルスエンコーダ４４の検出信号を使用する場合であれば、回転変動の影響を受けるものであったが、この場合は、工具回転モータを擬似的かつ理想的に回転させたとして得られる信号なので回転変動の影響を受けない。このため、累積回転数θｔが適切に得られると共に、それによって理想的な工具移動位置Ｘｐｔ、Ｙｐｔ、Ｚｐｔが得られる。
【００４９】
次に、図面を参照しながら本発明による工作機械の数値制御装置の好適な第２の実施形態について、これより詳細に説明する。尚、第１の実施例にて説明済みの事項については説明を省略する。
上述の第１の実施例では、主軸が停止することによって主軸回転角基準での動作が行えなくなった場合に、回転工具を駆動するモータの回転角基準での動作を行わせるようにするものであるが、この第２実施例では、主軸の回転とは無関係な基準軸に基づく動作を、主軸台、刃物台などにさせる一方で、特定の加工を行う場合には、主軸台、刃物台などに対して主軸回転角に基づく動作をさせるようにするものである。
【００５０】
まず、最初に、本実施例が実施される際に、数値制御装置にロードされる変換後のプログラムの構成を図９に実例を示しつつ説明する。
このプログラムは、ＣＡＭ等によって作成されたＮＣプログラムを、電子カム制御を行うための電子カムプログラム部分に一部が変換されたＮＣプログラムである。
【００５１】
変換後のプログラムは、通常のＮＣコード及び電子カム制御用のコマンドを含むメインプログラム、テーブル変数が宣言されると共に基準軸と制御軸の位置データとの関係が記述される位置データテーブルを含むサブプログラムと、このサブプログラム内にて宣言されているコマンドＩＮＩＴｓの実体処理を行う下位のプログラムとからなるものである。位置データテーブルは、それぞれのチャンネルに設定された制御軸が特定の軌跡上を移動するように、基準軸のタイミング毎に制御軸の指令位置となる位置データが記述されたテーブルである。
【００５２】
メインプログラムには、通常のＮＣコードの他に、電子カム制御を実行するためのコマンドであるＣＲＶＴＢＬ＿Ｎ（Ｎは、チャンネル番号）、ＬＥＡＤＮＮＮ（ＣＣＣＣ）（ＮＮＮは同期動作をさせる対象を示すチャンネル番号、ＣＣＣＣは、電子カム動作を実行するためにＬＥＡＤコマンドが参照しにいく位置データテーブルを特定する為の引数）が、記述される。元のＮＣプログラムがこれらに書き変わったことによって、元々ＮＣコードで実行されることになっていた動作が、電子カムによって実行される動作となる。つまり、制御軸を特定の軌跡上に基準軸のタイミングに合わせて移動させる実体機能は、このＬＥＡＤＮＮＮ（ＣＣＣＣ）によって、達成されることになる。このコマンドが一旦実行されると、引数ＣＣＣＣに基づいて参照される位置データテーブルのデータが全て実行されるまで実行状態が維持される。
【００５３】
ＣＲＶＴＢＬ＿Ｎは、チャンネルＮの位置データテーブルをＮＣのメモリーにロードするコマンドである。これがメインプログラムの先頭行に記載されることからも分かるように、メインプログラム及びサブプログラム、そしてこのサブプログラム内に記述されるコマンドの実体処理を行う為の、これより下位に位置されるサブプログラムの全てが、数値制御装置のメモリーに同時にロードされる。ＬＥＡＤＮＮＮ（ＣＣＣＣ）は、チャンネルＮに割り当ての制御軸に対応して設定される位置データテーブルＣＣＣＣを同時実行する指令である。具体的には、ＬＥＡＤ１２３（＊＊＊＊），ＬＥＡＤ１２（＊＊＊＊）、ＬＥＡＤ１（＊＊＊＊）等のように記述されるもので、３チャンネル同時、２チャンネル同時、１チャンネル単独などのように、それぞれのチャンネルに割り当てられている制御軸に対応した引数ＣＣＣＣで指定される位置データテーブルが実行される。尚、４チャンネルの機械なら、同時指定が可能なチャンネル数を４チャンネルにするのは当然である。５チャンネルなども同様である。尚、各チャンネル毎に設定されるＸ，Ｙ，Ｚ，Ｃの制御軸の各々に対して位置データテーブルは設定されるものである。
【００５４】
サブプログラムには、それぞれのチャンネルにおいて使用されることになる複数種のテーブル（位置データテーブルもその一種類である）に対応して設定される変数が宣言されている。各々の変数は、ＩＮＩ＿Ｔａｂ＊＊＊＊＊の形で記載される。この宣言された変数に対して、０以外の特定の数値を代入しておくことで、実際の加工に使用されるテーブルが有効に宣言される。テーブルを有効に宣言しない場合には、０を代入するようにするか、あるいは、テーブル変数自身を宣言しないようにしている。このサブプログラム内には、更にＩＮＩＴｓの文字列が含まれているが、これはコマンドである。このコマンドは、更に、このサブプログラムの下位のサブプログラムに処理を移すコマンドになっており、有効に宣言されたテーブル変数に対応するテーブルを有効化する処理を実行する（有効化する処理は、読み込む対象とする各種テーブルを設定するという意味である。）。基準軸の値が増加し始めると、これによって基準軸の値に対応し定められるテーブルの値が実行されるようになる。
【００５５】
一方、ＬＥＡＤＮＮＮ（ＣＣＣＣ）に対応した処理が数値制御装置内において起動された時点から、基準軸の値の変化が始まるので、基準軸の状態をＩＮＩＴｓの実体処理を行うサブルーチン内において監視している。（ＩＮＩＴｓは、ＬＥＡＤＮＮＮ（ＣＣＣＣ）のバックグラウンドで実行される処理になっているため。）監視は、具体的には、基準軸が位置データテーブルを含む種々のテーブルにおける特定の基準軸値に到達後に、該基準軸値に対応して、テーブルに定められる値（コマンドなど）を取得し、個々のテーブルの実効状態の進捗をモニターしている。
ＬＥＡＤＮＮＮ（ＣＣＣＣ）が処理対象としている位置データテーブル以外は、ＩＮＩＴｓが処理に関与するが、ＩＮＩＴｓが基準軸の値の変化を検出し、この結果に基づいて、テーブルを処理の対象とするコマンドに基準軸値が渡されるようにしている。このプログラムが介在しないと、コマンドテーブル等のデータをこれ用の処理プログラムが処理するときに、ＩＮＩＴｓから基準軸値を受け取らないと、処理プログラムには基準軸値をモニターする機能がないため処理が出来ないのである。
【００５６】
上述したＬＥＡＤＮＮＮ（ＣＣＣＣ）によって、データとしての位置データテーブルがどのように処理されるのかを、図１０によって説明する。
【００５７】
まず、例えば、図９に示した変換後のメインプログラムにおけるＮＣコードが解釈実行される中で、メインプログラムに記述されるＭ２０が実行された後に、ＬＥＡＤＮＮＮ（ＣＣＣＣ）が数値制御装置内において、解釈実行される。このコマンドの実行が、図１０に記述したＳ３０１である。Ｓ３０１にてコマンドが実行されると、Ｓ３０２の処理が開始される。Ｓ３０２では、各チャンネル毎に設定される制御軸Ｘ，Ｙ，Ｚ，Ｃ等に対して設定される位置データテーブルの識別用に設定された引数ＣＣＣＣＲＰＰＰを作成する（Ｒ：予備で設定される変数、ＰＰＰ：特定の制御軸を示す軸番号）。このような引数を設定することによって、特定のチャンネルに設定される制御軸に対応して設定される位置データテーブルが特定されるようにしている。Ｓ３０２の処理が済んで、処理がＳ３０３に移ると、引数ＣＣＣＣＲＰＰＰにて指定される位置データテーブルに対して、リードオン（ＬＥＡＤＯＮ）処理が実行される。この処理は、各チャンネルに設定される制御軸を追従軸として基準軸に同期動作させる処理である。この処理を実行するプログラムモジュールに対して、引数として基準軸名称、追従軸名称、ＣＣＣＣＲＰＰＰにて記述される位置データテーブルＮＯ、そしてフラグが渡される。（このフラグは、リードオン（ＬＥＡＤＯＮ）処理の仕方の種類を決めるスイッチになっている。）
【００５８】
更に、これらの引数を用いて、リードオン（ＬＥＡＤＯＮ）処理は、ＣＴＡＢＤＥＦ（基準軸、追従軸、ＣＣＣＣＲＰＰＰで記述されるテーブル名）のフォーマットのコマンドとして、サブプログラム内に記述される位置データテーブルの基準軸値、この基準軸値に対応して設定される制御軸の位置指令値に基づいて、各制御軸に対する位置指令を作成する。Ｓ３０３の処理が済んでＳ３０４に処理が移行すると、上述のように参照した位置データテーブルに記述されている基準軸の最終値を取得する処理を行う。次にＳ３０５に移行すると、本実施例ではイニシャルの基準軸として設定される時間軸の動作が開始される。この後Ｓ３０６に処理が移行されるとＳ３０４にて取得した基準軸の最終値に、現在リードオン（ＬＥＡＤＯＮ）が処理の対象にしている位置データテーブルに記述される基準軸の最終値まで処理が進んだか否かを判定する。処理が進んでいなければ、Ｓ３０６が繰り返し判定されるように処理をループさせ、進んでいれば、Ｓ３０７に処理を移行させる。Ｓ３０７では、上述のリードオン（ＬＥＡＤＯＮ）処理を終了させる処理を行う。リードオン（ＬＥＡＤＯＮ）の処理を終了させるために、リードオフ（ＬＥＡＤＯＦ）処理を起動する。このリードオフ（ＬＥＡＤＯＦ）処理は、各チャンネルに設定される制御軸を追従軸とした基準軸への同期動作を終了させる処理である。この処理を実行するプログラムモジュールに対して、リードオン（ＬＥＡＤＯＮ）処理と同じ引数が渡される。尚、本実施例では、ねじきり加工を対象にして、これらのシステムプログラムが実行されるものだが、Ｓ３０３にてリードオン（ＬＥＡＤＯＮ）処理が実行されるまでは、基準軸の変更の対象になっている制御軸も、他の制御軸と同様に時間軸を基準軸として動作を行っている。上述のように、Ｓ３０３以降Ｓ３０６にてリードオフ（ＬＥＡＤＯＦ）されるまでは、主軸回転角に基づく基準軸により制御軸は制御される。
【００５９】
図１０のＬＥＡＤＮＮＮ（ＣＣＣＣ）の起動処理が行われるのと同時に、数値制御装置内では、別のタスクとして図１１のコマンドテーブル実行サブプログラムが起動される。該プログラムが起動されると、まず、Ｓ４０１にて、基準軸値に対応するコマンドをコマンドテーブルから取得する。次に、Ｓ４０２にて、取得したコマンドが前回取得時のコマンドと異なるか否かの判定を行う。この判定がＮｏとなった時には、Ｓ４０１とＳ４０２の処理が繰り返されるようにループさせる。又、この判定がＹｅｓとなった時には、Ｓ４０３に処理を移行させ、コマンドテーブルから取得したコマンドがねじ切り準備指令であるか否かを判定する。ここでの判定がＹｅｓである時には、Ｓ４０４に処理を移行させて、ねじ切り準備処理を実行する。この処理については、後で詳述する。この処理が完了したなら、Ｓ４０５に処理を移行させＳ４０１での取得コマンドをメモリーに保存する処理を実行する。更に、Ｓ４０６に処理を移行させ、コマンドテーブルの処理が最終値まで到達したか否かを判定し、到達していた場合には、これにて本プログラムの処理を終了し、到達していない場合には、改めてＳ４０１からの処理を繰り返す。
【００６０】
又、Ｓ４０３における判定がＮｏであった時には、Ｓ４０７に処理を移行させＳ４０１での取得コマンドがねじ切り開始指令であったか否かの判定を行う。この判定がＹｅｓであった時には、Ｓ４０８に処理を移行させねじ切り加工処理を実行する。この処理については、後で詳述する。この処理の終了後には、上述のようにＳ４０５，Ｓ４０６の処理を行う。
又、Ｓ４０７における判定がＮｏであった時には、Ｓ４０９に処理を移行させＳ４０１における取得コマンドがねじ切り終了指令であったか否かを判定する。この判定がＹｅｓの時には、Ｓ４１０に処理を移行させ、ねじ切り終了処理を実行する。このねじ切り終了処理については、後で詳述する。この処理の終了後には、上述のようにＳ４０５，Ｓ４０６の処理を行う。
又、Ｓ４０９における判定がＮｏであった時には、Ｓ４１１に処理を移行させ他のコマンド処理を行い、上述のようにＳ４０５，Ｓ４０６の処理を行う。
次に、上述したＳ４０４におけるねじ切り準備処理に対応して設定されるサブルーチンが実行する処理を図１２により説明する。これに示されるねじ切り準備処理は、これが起動されると、Ｓ５０１にて主軸回転角相当のパルス信号のカウントを開始する。この後に、処理がＳ４０５に復帰する。
【００６１】
次に、上述したＳ４０８におけるねじ切り加工処理に対応して設定されるサブルーチンが実行する処理を図１３により説明する。これに示されるねじ切り加工処理は、これが起動されると、まず、Ｓ６０１にて基準軸を切り替える制御軸と基準軸が切り替えられた場合にこの制御軸に対応して設定されている位置データテーブルのテーブル番号を取得する。次にＳ６０２にて、Ｓ６０１で取得された制御軸を、時間基準軸から切り離す処理を行う。つまり、この実行タイミングにおいて時間の基準軸での制御軸の動作を一旦停止させる。次にＳ６０３にて、角度合わせオフセット値を計算し、Ｓ５０１にてカウントを開始したパルスカウント値に加算する処理を行う。つまり、取得されたテーブル番号での位置データテーブルに基づく制御軸の動作を行わせるにあたり、位置データテーブルに記述される基準軸の初期値に一致するようにパルスカウント値を調整し、ねじ切りを行う前に必要になる切り込み開始回転角にて刃物台の動作を行わせるようにしている。このようにしたことによって精度の良いねじが加工可能となる。更に、Ｓ６０４にて、上記の取得された制御軸に対応して設定されたテーブル番号の位置データテーブルを主軸回転角基準にて動作を開始させる。この後に、処理がＳ４０５に復帰する。
【００６２】
次に、上述したＳ４１０におけるねじ切り終了処理に対応して設定されるサブルーチンが実行する処理を図１４により説明する。これに示されるねじ切り終了処理は、これが起動されると、まず、Ｓ７０１にて基準軸を切り替える制御軸と基準軸が切り替えられた場合にこの制御軸に対応して設定されているテーブル番号を取得する。次にＳ７０２にて、主軸回転角パルス信号カウント処理を終了する。次にＳ７０３に処理を移行させ、指定された制御軸を主軸回転角基準から切り離す。つまり、この実行タイミングにおいて主軸回転角基準での制御軸の動作を一旦停止させる。次にＳ７０４に処理を移行させオフセット値をリセットする。次にＳ７０５に処理を移行させ、指定された制御軸のテーブルをもとの時間の基準軸にて動作を再開させる。この処理の終了後に、処理がＳ４０５に復帰する。
【００６３】
ここでこれらの制御が、工作機械１においてどのように実行されるかを、図１５を用いて説明する。尚、この図１５は、図１、５の一部を変更したものであり、共通する部分に関しては、特に説明をしない。変更部分は、時間基準電子カム制御用位置データ記憶部６２、主軸回転角基準電子カム制御用位置データ記憶部６３、時間基準電子カム制御用補助動作指令記憶部６０、時間軸６１が設けられている部分である。ここで時間軸６１が、各請求項における第２の基準軸を構成するものである。時間基準電子カム制御用位置データ記憶部６２は、基準軸に時間を用いた時に、基準軸値に対応して、制御軸の指令位置を記憶するように設けられているメモリーである。ここで、時間基準電子カム制御用位置データ記憶部６２は、各請求項における第２の位置データ記憶手段を構成するものである。又、主軸回転角基準電子カム制御用位置データ記憶部６３は、基準軸に主軸回転角を用いた時に、基準軸値に対応して、制御軸の指令位置を記憶するように設けられているメモリーである。ここで主軸回転角基準電子カム制御用位置データ記憶部６３は、各請求項における第１の位置データ記憶手段を構成するものである。又、時間基準電子カム制御用補助動作指令記憶部６０は、基準軸に時間軸を用いた時に、基準軸値に対応して、補助動作指令の実行タイミングを記憶するメモリーである。時間軸は、実際には、一定速度で動作する仮想軸６１のポジションをモニタリングすることによって与えられるポジション値であり、このポジション値を用いて制御軸の制御を行っている。速度とポジションの関係から時間が割り出せる為この呼び方を用いている。この仮想軸が、上述したＬＥＡＤＮＮＮ（ＣＣＣＣ）のコマンドが実行されると同時に、一定速度での移動を開始し、この移動位置をモニターすることによって、つまり基準軸値としてモニターすることによって、これに対応して位置データテーブルに設定されている制御軸の位置データの読み出しがＣＰＵ５３により行われる。一方、主軸回転角は、パルスエンコーダ１４から出力される信号が、Ｉ／Ｆ５２を介してカウント部５５に入力され、この値が基準軸値としてＣＰＵ５３によりモニターされることによって、これに対応して設定されている制御軸の指令位置の読み出しが行われる。
【００６４】
このように第２の実施例においては、時間軸、主軸回転角の２種類の基準軸が用いられるものとなっている。これら２種類の基準軸は、図１７に示されるように、Ｘ軸テーブル（Ｎｏ．１００）、Ｘ軸テーブル（Ｎｏ．２００）において、それぞれＡ１０００，Ｓ０のように与えられる。それぞれの値に対応してＸ２０、Ｘ２０のようにＸ軸の指令位置が設定される如きものとなっている。これらの基準軸の切り替えは、コマンドテーブルのＡ１０００のブロックに時間軸から主軸回転角への切り替えを指令するコマンドが記述され、Ａ２０００のブロックに主軸回転角から時間軸への切り替えを指令するコマンドが記述されるものとなっている。このようにそれぞれに対応したコマンドが設定されることによって、基準軸の切り替えを数値制御装置が実行するものである。
【００６５】
ところで、この軸の切り替えをいきなり行っても所望の加工が適切に行われ得ない。この為に、図１２に示されるように予め主軸回転角パルス信号のカウントを行う。この主軸回転角パルス信号のカウントを予め行う目的は、ねじ切り加工開始指令が出される段階において、ねじ切り加工を行う状態での主軸回転数が、ねじ切り時に指定される回転数へと確実に移行させるだけの時間の猶予を確保されるようにすることにある。従って、Ｓ５０１に記載される処理形態でなく、単純に主軸回転数が所望の回転数の状態になったか否かを判定しても良い。所望の回転数に移行させ回転が安定した状態で加工させることの意味は、ねじ切り加工を行う際、刃物台又は主軸台が、その指定された回転数状態では、主軸回転に追随した動作が保証されるが、それよりも高い回転数では、動作が保証され得ない懸念があるためである。又、回転が変動している状態でも、同様に、刃物台、主軸台の動作が回転変動に追随し得ない懸念がある。そのようにすることは、結果としてねじが精度良く加工できない可能性がある点に起因する。
【００６６】
その後に、図１３に示されるようにねじ切り加工開始指令が行われた後で、指定された制御軸を時間基準軸から切り離し、主軸回転角を基準軸とする制御に移行する。制御が移行する段階では、Ｓ６０３に示されるように、角度合わせオフセット値を計算し、主軸回転角のパルスカウント値に加算の処理を行った上で移行が行われるが、ここでの計算は、具体的には次の通り。
（角度合せオフセット）＝（現在主軸角度−（切込開始角度）ＭＯＤ３６０）＊（主軸回転方向）
−３６０−現在カウント値
但し、現在主軸角度：主軸の基準位置が測定基準に対して為す角度
切り込み開始角度：加工プログラム上で指定されているワークへの加工を開始させるべき角度
主軸回転方向：正転方向＝１、負転方向＝−１
現在カウント値：Ｓ５０１にてパルスカウントが開始された後、現在までのカウント値
の計算式にて計算が行われる。このようにして演算されたオフセット値を利用して現在の主軸回転角のカウント値を補正する結果として、ねじ切り準備処理の段階からカウントアップしていたカウント値そのものは、結果的に零リセットされる。つまり、角度合わせオフセット値を求めた段階においては、主軸の回転位置は、切り込み開始角度に対しては基本的にマイナス側に位置されるものとして計算され、このマイナスの状態からカウントが進んで、主軸の回転位置が切り込み開始角度となると現在カウント値が零となるように演算される。
【００６７】
現在のカウント値が零となった時に、例えば、図１７のＳ０に対応して設定される制御軸の位置Ｘ２０に向けて動作が開始され、図面に指定された通りのネジがワークに対して精度良く作り込まれることになる。尚、ここまでの中で、Ｓ４０４において、基準軸の切り替えの為の準備が済んだか否かを判定する処理となるＳ４０７が各請求項において、切り替えタイミング判定手段を構成するものであり、又、Ｓ６０１からＳ６０４、Ｓ７０１からＳ７０５が各請求項における基準軸切り替え手段を構成するものである。
【００６８】
このように、切り替えタイミングが適切に判定され、切り替えの為の調整が適切に行われ、その後で基準軸の切り替えが行われるようにしているので、軸制御を行うための基準軸の切り替えを適切に行うことが可能になると共に、所望の加工を精度良く、しかもより高速に加工することが可能になる。あるいは、加工種別に応じて制御基準軸を適宜切り替えて加工することが可能となり、加工の高速性と、高精度な加工とを高次元で両立することが可能になる。
【００６９】
【発明の効果】
切り替えタイミングが適切に判定され、その後で基準軸の切り替えが行われるようにしているので、軸制御を行うための基準軸の切り替えを適切に行うことが可能になると共に、所望の加工を精度良く、しかもより高速に加工することが可能になる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る工作機械の数値制御装置を示すブロック図である。
【図２】本発明の実施形態に係る工作機械の数値制御装置に含まれる、位置データテーブルの構成を説明するための図表である。
【図３】本発明の実施形態に係る工作機械の数値制御装置に含まれる、主軸側電子カムデータテーブルＴを利用した、制御ユニット部における工具位置指令信号及び被加工物位置指令信号の出力動作処理を説明するためのフローチャートである。
【図４】本発明の実施形態に係る工作機械の数値制御装置に含まれる、工具回転用モータ側電子カムデータテーブルＴｔを利用した、制御ユニット部における工具位置指令信号及び被加工物位置指令信号の出力動作処理を説明するためのフローチャートである。
【図５】本発明の実施形態に係る工作機械の数値制御装置を示すブロック図において、工具回転用モータ４１が理想的に回転して、所定回転角度毎に信号が出力されている状態を擬似的に達成する疑似パルス発生回路と、これとパルスエンコーダ１４から入力される信号を切り替えるスイッチ６２とを備える点を示す図である。
【図６】
本発明の実施形態に係る工作機械の数値制御装置における、被加工物の加工動作の一例を説明するための線図であり、（Ａ）は被加工物の加工形状を示す線図、（Ｂ）は工具の移動位置の軌跡（Ｘ軸方向の移動位置の軌跡）を示す線図、（Ｃ）は被加工物の移動位置の軌跡（Ｚ軸方向の移動位置の軌跡）を示す線図である。
【図７】
本発明の実施形態に係る工作機械の数値制御装置における、被加工物の加工動作の一例を説明するための線図であり、（Ａ）は被加工物の加工形状を示す線図、（Ｂ）は工具の移動位置の軌跡（Ｘ軸方向の移動位置の軌跡）を示す線図、（Ｃ）は被加工物の移動位置の軌跡（Ｙ軸方向の移動位置の軌跡）を示す線図である。
【図８】
本発明の実施形態に係る工作機械の数値制御装置における、被加工物の加工動作の一例を説明するための線図であり、（Ａ）は被加工物の加工形状を示す線図、（Ｂ）は工具の移動位置の軌跡（Ｘ軸方向の移動位置の軌跡）を示す線図、（Ｃ）は被加工物の移動位置の軌跡（Ｙ軸方向の移動位置の軌跡）を示す線図である。
【図９】
本発明の第２の実施形態に係る工作機械の数値制御装置内部にて実行される、ＮＣプログラムから変換された状態を示す変換後のプログラム例である。
【図１０】
本発明の第２の実施形態に係る工作機械の数値制御装置に含まれる、位置データテーブルＴ利用した、制御ユニット部における工具位置指令信号又は被加工物位置指令信号の出力動作処理を説明するためのフローチャートである。
【図１１】
本発明の第２の実施形態に係る工作機械の数値制御装置に含まれる、基準軸切り替え動作を達成するために必要となる一連の出力処理動作の一部を説明するフローチャートである。
【図１２】
本発明の第２の実施形態に係る工作機械の数値制御装置に含まれる、基準軸切り替え動作を達成するために必要となる一連の出力処理動作のうち、ねじ切り準備の出力処理動作を特に説明するためのフローチャートである。
【図１３】
本発明の第２の実施形態に係る工作機械の数値制御装置に含まれる、基準軸切り替え動作を達成するために必要となる一連の出力処理動作のうち、ねじ切り加工の出力処理動作を特に説明するためのフローチャートである。
【図１４】
本発明の第２の実施形態に係る工作機械の数値制御装置に含まれる、基準軸切り替え動作を達成するために必要となる一連の出力処理動作のうち、ねじ切り終了の出力処理動作を特に説明するためのフローチャートである。
【図１５】
本発明の第２の実施形態に係る工作機械の数値制御装置を示すブロック図である。
【図１６】
本発明の第２の実施形態に係る工作機械の数値制御装置内部にて実行される変換後プログラムにおけるコマンドテーブル、位置データテーブルの例である。
【符号の説明】
１．．．工作機械、２．．．被加工物、３．．．工具、３ａ．．．回転工具、１１．．．主軸回転用モータ、１４．．．パルスエンコーダ（第１の基準軸）、４４．．．パルスエンコーダ（第２の基準軸）、５３．．．ＣＰＵ（移動位置確定手段）、５５．．．カウント部、５８．．．主軸電子カム制御用位置データ記憶部（第１の位置データ記憶手段）、５９．．．工具回転軸電子カム制御用位置データ記憶部（第２の位置データ記憶手段）　６１．．．時間軸（第２の基準軸）、６２．．．時間基準電子カム制御用位置データ記憶部（第２の位置データ記憶手段）、６３．．．主軸回転角基準電子カム制御用位置データ記憶部（第１の位置データ記憶手段）
【図１】
2004001179.tif 000003
【図２】
2004001179.tif 000004
【図３】
2004001179.tif 000005
【図４】
2004001179.tif 000006
【図５】
2004001179.tif 000007
【図６】
2004001179.tif 000008
【図７】
2004001179.tif 000009
【図８】
2004001179.tif 000010
【図９】
2004001179.tif 000011
【図１０】
2004001179.tif 000012
【図１１】
2004001179.tif 000013
【図１２】
2004001179.tif 000014
【図１３】
2004001179.tif 000015
【図１４】
2004001179.tif 000016
【図１５】
2004001179.tif 000017
【図１６】
2004001179.tif 000018