(57)【要約】【課題】  繰り返し実行される同一加工を含む加工を、データ量を少なくしてテーブル形式データによって行うことができるようにする。【解決手段】  時間又は主軸位置による基準位置を更新しながら、パステーブル運転を行う（S1〜S5）。テーブルからパスサイクルテーブルの読み出し指令が読み出されると、基準位置を退避させ、リセットし、このパスサイクル指令開始時の各軸位置を記憶する（S6〜S9）。次の周期からは、パスサイクルテーブルに記憶された基準位置（開始時は０）に対する各軸位置（開始時の位置を０としたときの位置）に、開始時の位置を加算して目標位置を求め、パステーブル運転を行う（S10〜S12）。パステーブル運転が終了すると元の基準位置に戻り、パステーブルによる運転に戻す（S13〜S15）。繰り返し加工される部分の指令を記憶するパスサイクルテーブルは１つでよくデータ量を少なくできる。【選択図】          図６
2006302207.tif 000002
【特許請求の範囲】
【請求項１】
基準位置に対する軸位置をテーブル形式データで指令して各軸を駆動する機能を有する数値制御装置において、
主のテーブル形式データと、繰り返し実行する同一加工の開始時の前記基準位置を基礎とし、該基礎とした基準位置に対する相対基準位置に対して該開始時の各軸の位置に対する各軸相対位置をテーブル形式データとして記憶するパスサイクルテーブルを備える記憶手段と、
前記主のテーブル形式データで前記パスサイクルテーブルを呼び出し、該呼び出したときの基準位置と、呼び出されたときの各軸位置と前記パスサイクルテーブルに記憶されたデータに基づいて各軸への指令を求め駆動する手段と、
を有することを特徴とする数値制御装置。
【請求項２】
前記パスサイクルテーブルに記憶された各軸の位置は、繰り返し実行される加工の開始位置を０とする絶対位置で記憶されている請求項１に記載の数値制御装置。
【請求項３】
前記パスサイクルテーブルに記憶された各軸の位置は、順次その増分値で記憶されている請求項１に記載の数値制御装置。
【請求項４】
前記パスサイクルテーブルに記憶された各基準位置は、繰り返し実行される加工の開始位置を０とする絶対位置で記憶されている請求項１乃至３の内いずれか１項に記載の数値制御装置。
【請求項５】
前記パスサイクルテーブルに記憶された各基準位置は、順次その増分値で記憶されている請求項１乃至３の内いずれか１項に記載の数値制御装置。
【請求項６】
前記基準位置は、時間あるいは主軸位置である請求項１乃至５の内いずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を制御する数値制御装置に関する。特に、テーブル形式で記憶されたデータに基づいて各軸を駆動制御する機能を有する数値制御装置に関する。
【背景技術】
【０００２】
ＮＣプログラムのブロックによる指令ではなく、予め各軸の移動量や位置をテーブル形式で記憶しておき、該テーブルに記憶されたデータに基づいて各軸を駆動制御することによって、従来のブロックによる指令にとらわれない自由な工具の動作が可能となり、加工時間の短縮や、加工の高精度化を実現した数値制御装置はすでに公知である。  
例えば、時間毎又は回転角度毎に対する可動軸の位置を数値制御データとして記憶しておき、時間又は回転角度を監視し、記憶した時間又は回転角度に達する毎に、可動軸に対応する数値制御データを出力するようにした発明が知られている（特許文献１参照）。
【０００３】
又、基準位置に対するＸ軸、Ｚ軸の指令位置を記憶するデータテーブルを設けておき、基準パルスをカウントするカウンタの値にオーバライド値をかけて基準位置を求めて、該基準位置に基づいて、データテーブルに記憶されたＸ軸、Ｚ軸の指令位置を出力してＸ軸、Ｚ軸を同期制御することにより、データテーブルに記憶されたデータによって駆動制御する場合でもオーバライドがかけられるようにし、さらには、指令位置間を直線的に接続するか、２次関数接続、３次関数接続等を指令できると共に、補助機能も指令できるようにした発明も知られている（特許文献２参照）。  
又、一定時間毎の各軸移動量あるいは一定移動量毎の移動時間を記憶したテーブルに基づいて移動指令を出力するようにした発明も知られている（特許文献３参照）。
【０００４】
【特許文献１】特開昭５９−１７７６０４号公報
【特許文献２】特開２００３−３０３００５号公報
【特許文献３】特開平６−１５５４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
工作機械における加工においては、旋削仕上サイクル加工やドリルサイクル加工等では、同一パターンの動作を繰り返し実行し加工する場合がある。このような、同一加工を繰り返し行うような加工を、従来のテーブル形式データによって行うとすると、テーブル形式データのデータ量が増大する。テーブル形式データの記憶は、基準となる時間あるいは主軸位置等を基準位置として各軸の位置データをテーブル形式で記憶するものであるから、繰り返し行う同一加工においても基準位置は各加工時において異なるものとなり、その基準位置に対して各軸位置をデータとして記憶させておかねばならない。そのため、データ量が増大し、データを記憶する記憶手段の容量も大きくなるという問題がある。  
そこで、本発明の目的は繰り返し実行される同一加工を含む加工を、データ量を少なくしたテーブル形式データによって行うことができる数値制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
基準位置に対する軸位置をテーブル形式データで指令して各軸を駆動する機能を有する数値制御装置において、本願請求項１に係る発明は、主のテーブル形式データと、繰り返し実行する同一加工の開始時の基準位置を基礎とし、該基礎とした基準位置に対する相対基準位置に対して該開始時の各軸の位置に対する各軸相対位置をテーブル形式データとして記憶するパスサイクルテーブルを備える記憶手段と、前記主のテーブル形式データで前記パスサイクルテーブルを呼び出し、該呼び出したときの基準位置と、呼び出されたときの各軸位置と前記パスサイクルテーブルに記憶されたデータに基づいて各軸への指令を求め駆動する手段とを備えることで、データ量を少なくした繰り返し加工をテーブル形式データで行うことができるようにした。
【０００７】
請求項２に係る発明は、前記パスサイクルテーブルに記憶された各軸の位置を、繰り返し実行される加工の開始位置を０とする絶対位置で記憶するようにした。又、請求項３に係る発明は、前記パスサイクルテーブルに記憶された各軸の位置を、順次その増分値で記憶するようにした。さらに、請求項４に係る発明は、前記パスサイクルテーブルに記憶された各基準位置を、繰り返し実行される加工の開始位置を０とする絶対位置で記憶するようにした。又、請求項５に係る発明は、前記パスサイクルテーブルに記憶された各基準位置を、順次その増分値で記憶するようにした。そして、請求項６に係る発明は、前記基準位置を、時間あるいは主軸（ここで主軸とは、一方向に回転する軸をいう）位置とした。
【発明の効果】
【０００８】
テーブル形式データにより工作機械を運転し、繰り返し実行される同一加工を含む加工を行うとき、データ量を少なくした加工が実施できる。
【発明を実施するための最良の形態】
【０００９】
図１は、本発明の一実施形態のテーブル形式データによる運転（以下、パステーブル運転という）の概要図である。  
この実施形態では、Ｘ軸パステーブルＴｘ、Ｚ軸パステーブルＴｚを備えている。これらのパステーブルは基準位置に対応する各軸の位置が記憶されているものであり、図１０に、従来から行われている一例（Ｘ軸パステーブルの例）を示す。基準位置Ｌａ〜Ｌｅに対してＸ軸の位置Ｘａ〜Ｘｅが対応して記憶されている。同様にＺ軸用パステーブルＴｚにもＺ軸の位置が基準位置に対して記憶されている。
【００１０】
主軸に取り付けられたポジションコーダからのパルス等による主軸位置又は外部パルス発生部からの時間を基準とする基準パルスがカウンタ１に入力され計数される。又、主軸の指令値に基づいて主軸位置を計数してもよい。このカウンタ１の計数値にオーバライド手段に設定されている倍率が乗算器２で乗じられ基準位置カウンタ３に格納される。この基準位置カウンタ３は、パステーブル運転が指令された時点でリセットとされる。基準位置カウンタ３の値が基準位置としてＸ，Ｚ軸パステーブル補間処理部４ｘ，４ｚに入力される。Ｘ軸，Ｚ軸パステーブル補間処理部４ｘ，４ｚでは、Ｘ軸パステーブルＴｘ、Ｚ軸パステーブルＴｚを参照して基準位置に対するＸ，Ｚ軸の指令位置を求め、処理周期での移動量を求め、該移動量を指令として各制御軸モータ５ｘ，５ｚに出力し、Ｘ，Ｚ軸を基準位置に合わせて同期運転する。
【００１１】
図１１は、この図１０に示したＸ軸パステーブルＴｘに基づいて移動したＸ軸の位置を示すグラフである。
以上の動作は従来のパステーブル運転と同じであるが、本発明においては、このパステーブル運転時に繰り返し行われる同一加工の部分をパスサイクルテーブルとして基準位置に対する各軸位置を記憶しておき、この同一加工が加工される位置では、パステーブルから、このパスサイクルテーブルを読み出して加工するようにする。これによって、同一加工が何回行われようとも、データとして記憶するものは１つのパスサイクルテーブルだけのデータでよく、データ量を少なくし記憶手段の記憶容量を小さいものでよいものとしている。
【００１２】
そこで、本実施形態における加工例として、図２に示すような旋削仕上げサイクル加工の例を以下説明する。  
加工物６はチャック７で主軸に取り付けられ、主軸回転と共に回転する。工具８は、仕上げサイクル開始位置０から１回目の切り込み位置Ａに移動した後、同一加工パターンである、位置Ａから位置Ａ１、位置Ａ１から位置Ａ２、位置Ａ２から位置Ａ３、位置Ａ３から位置Ａ４、位置Ａ４から位置Ａ、その後、２回目の切り込み位置Ｂに移動させた後、前回と同一の加工パターンの加工を行う。すなわち、位置Ａから位置Ｂへのシフト量だけ各位置Ａ，Ａ１〜Ａ４をシフトさせて、位置Ａから位置Ａ１、位置Ａ１から位置Ａ２、位置Ａ２から位置Ａ３、位置Ａ３から位置Ａ４、位置Ａ４から位置Ａの加工を行うもので、切り込み位置Ａを原点として各位置Ａ１〜Ａ４を指令しておけば、第２回目の切り込み位置Ｂを原点とし、指令された各位置Ａ１〜Ａ４への移動を実行すれば、同一加工ができることになる。第３回目の加工サイクルにおいても、第３回目の切り込み位置Ｃを原点とし、指令位置Ａ１〜Ａ４への移動を実行すれば、同一加工がなされることになる。
【００１３】
同一加工を行うときの開始位置が異なるだけで、後は同一の移動パターンを実行すればよいものであり、切り込み位置を順次Ａ，Ｂ，Ｃと変えて同一加工パターンの指令で加工ができるものである。
【００１４】
そこで、図３（ａ），（ｂ）に示すようなＸ軸，Ｚ軸パステーブルＴｘ，Ｔｚと、図４（ａ），（ｂ）に示すようなＸ軸、Ｚ軸パスサイクルテーブルＴｘｓ，Ｔｚｓを用意する。なお、Ｘ軸パステーブルＴｘ（図３（ａ））には、Ｘ軸パスサイクルテーブルＴｘｓ（図４（ａ））を包含し、Ｚ軸パステーブルＴｚ（図３（ｂ））はＺ軸パスサイクルテーブルＴｚｓ（図４（ｂ））を包含するものである。
【００１５】
Ｘ軸パステーブルＴｘは、基準位置Ｌ０に対して仕上げサイクルの開始位置０のＸ座標位置Ｘ０が記憶され、次に、基準位置Ｌ１に対して１回目の切り込み位置ＡのＸ座標位置Ｘ１とサイクル呼び出しＱ１０００が記憶され、基準位置Ｌ２に対して２回目の切り込み位置ＢのＸ座標位置Ｘ２とサイクル呼び出しＱ１０００が記憶され、基準位置Ｌ３に対して３回目の切り込み位置ＣのＸ座標位置Ｘ３とサイクル呼び出しＱ１０００が記憶され、基準位置Ｌ４に対して仕上げサイクルの開始位置０のＸ座標位置Ｘ０が記憶されている。なお、仕上げサイクル開始位置より前に、及び仕上げサイクル加工終了後にテーブル運転する場合には、図１０に示すような基準位置に対する軸位置が設定記憶されているものであるが、本発明と直接関係ないので、同一加工を繰り返し行う加工に関係する部分のみのテーブルを示している。
【００１６】
一方、Ｑ１０００によって呼び出されるＸ軸パスサイクルテーブルＴｘｓは、図４に示すように、基準位置は、同一加工の開始位置での基準位置からの相対基準位置として、又、各軸位置は、同一加工の開始位置からの相対位置を、基準位置に対して記憶されているものである。すなわち、同一加工の開始位置での基準位置を「０」として、該「０」から移動した基準位置に対して、切り込み位置Ａ，Ｂ，Ｃを原点「０」としたときの仕上げサイクル位置Ａ１〜Ａ４に対応する位置Ｘ１１〜Ｘ１４が設定記憶されている。図４に示す例では、基準位置Ｌ１１に対して仕上げサイクル位置Ａ１に対応する位置Ｘ１１、基準位置Ｌ１２に対して仕上げサイクル位置Ａ２に対応する位置Ｘ１２、基準位置Ｌ１３に対して仕上げサイクル位置Ａ３に対応する位置Ｘ１３、基準位置Ｌ１４に対して仕上げサイクル位置Ａ４に対応する位置Ｘ１４、そして、基準位置Ｌ１５に対して仕上げサイクル開始位置Ａに対応する位置Ｘ１５が設定記憶されている。
【００１７】
Ｚ軸に対するＺ軸パステーブルＴｚ、Ｚ軸パスサイクルテーブルＴｚｓも、図３（ｂ）、図４（ｂ）に示すように上述したＸ軸の各テーブルと同様であるが、サイクルテーブルを読み出す指令がＱ１０１０となっており、この指令Ｑ１０１０が読み出されると図４（ｂ）に示すＺ軸パスサイクルテーブルＴｚｓが実行されて読み出されることになる。
【００１８】
図５は、本発明のパステーブル運転機能により工作機械を駆動する一実施形態の数値制御装置１０の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データが格納される。ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インターフェイス１５を介して読み込まれた加工プログラムや表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。さらに、前述したパスサイクルテーブルＴｘｓ，Ｔｚｓを含むＸ軸，Ｚ軸のパステーブルＴｘ，Ｔｚが予め格納されている。
【００１９】
インターフェイス１５は、数値制御装置１０と外部機器との接続を可能とするものである。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで工作機械の補助装置にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２０】
表示器／ＭＤＩユニット７０はＣＲＴや液晶等で構成されるディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インターフェイス１９は操作盤７１に接続され、操作盤７１からの各種指令を受け取るようになっている。
【００２１】
各軸の軸制御回路３０，３１はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０，４１に出力する。サーボアンプ４０，４１はこの指令を受けて、各軸のサーボモータ５ｘ，５ｚを駆動する。各軸のサーボモータ５ｘ，５ｚは位置・速度検出器を内蔵し、この位置・速度検出器からの位置、速度フィードバック信号を軸制御回路３０，３１にフィードバックし、位置・速度のフィードバック制御を行う。なお、図５では、位置・速度のフィードバックについては省略している。
【００２２】
また、スピンドル制御回路６０は主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はスピンドル速度信号を受けて、主軸を駆動する主軸モータ６２を指令された回転速度で回転させる。ポジションコーダ６３は、主軸の回転に同期して帰還パルス（基準パルス）及び１回転信号をスピンドル制御回路６０にフィードバックし、速度制御を行う。この帰還パルス及び１回転信号は、スピンドル制御回路６０を介してＣＰＵ１１によって読み取られ、帰還パルス（基準パルス）はＲＡＭ１３に設けられたカウンタ（図１におけるカウンタ１）で計数される。また、主軸の指令パルスを基準パルスとしてもよい。
【００２３】
図６は、この第１の実施形態におけるパステーブル運転時の数値制御装置ＣＰＵ１１が実施する処理のアルゴリズムを示すフローチャートである。  
数値制御装置のＣＰＵ１１は、図６に示す処理を所定周期毎実行する。
【００２４】
まず、基準位置Ｌを更新する（図１における基準位置カウンタ３の処理）。すなわち、基準位置Ｌを記憶するレジスタに、主軸位置を示すポジションコーダ６３からの帰還パルス（又は指令値）又は時間基準パルスを計数するカウンタ１のカウンタ値に設定オーバライド値を乗じた値を加算し、基準位置を更新する（ステップＳ１）。なお、基準位置として主軸位置を用いた場合は、主軸位置を示すポジションコーダ６３からの帰還パルス又は指令値は、すでにオーバライド値が掛けられた状態で発生するパルスであることから、このオーバライド値は１とされる。また、基準位置Ｌを主軸の指令位置を基に更新してもよい。
【００２５】
パスサイクル処理中はオンとなるパスサイクルフラグによりパスサイクル処理中か判断し（ステップＳ２）、オンでなければ、現在の基準位置ＬがパステーブルＴｘ，Ｔｚで指令された指令基準位置に到達か判断し（ステップＳ３）、達してなければ、通常のパステーブル運転を実行する（ステップＳ５）。現在の基準位置Ｌが指令基準位置に到達しているときには、該指令基準位置に対してサイクル呼び出し指令（Ｑ１０００，Ｑ１０１０）が設定されているか判断する（ステップＳ４）。サイクル呼び出し指令が設定記憶されていないときは、ステップＳ５の通常のパステーブル運転を行うが、この場合、パステーブルに記憶されている現在基準位置より大きい次の基準位置を指令基準位置としこの基準位置に対して記憶されているＸ，Ｚ軸の位置を指令位置とする。
【００２６】
一方、基準位置Ｌがパステーブルに設定記憶されている位置Ｌ１に達し、ステップＳ４でサイクル呼び出し指令（Ｑ１０００，Ｑ１０１０）が読み出されると、ＣＰＵ１１は、現在の基準位置Ｌ（＝Ｌ１）を退避させ（レジスタに記憶）、基準位置をリセット（図１の基準位置カウンタ３をリセット）し「０」とし（ステップＳ６）、現在のＸ軸，Ｚ軸の位置（＝Ｘ１，Ｚ１）をサイクル開始位置（この開始位置をＸｓ，Ｚｓと呼ぶ）としてレジスタに記憶する（ステップＳ７）。
【００２７】
さらに、サイクル呼び出し指令（Ｑ１０００，Ｑ１０１０）のパステーブルに切り換える（ステップＳ８）。Ｘ軸に対してはＱ１０００が呼び出されることから、図４（ａ）に示すパスサイクルテーブルＴｘｓに切り替わる。Ｚ軸に対してはＱ１０１０が呼び出されることから図４（ｂ）に示すパスサイクルテーブルＴｚｓに切り替わる。そして、パスサイクルフラグをオンとし（ステップＳ９）、当該周期の処理を終了する。
【００２８】
次の周期では、ステップＳ１、ステップＳ２の処理を行い、該ステップＳ２でパスサイクルフラグがオンとなっていることが検出されるから、ステップＳ１０に移行し、切り替わったパスサイクルテーブルＴｘｓ，Ｔｚｓから、現在の基準位置Ｌによりも大きく一番近い指令基準位置を読み込む（ステップＳ１０）。なお、本実施形態では、基準となる時間あるいは主軸位置は増大方向であるものとしている。このとき読み込むデータがないときは（ステップＳ１１）、パスサイクルテーブルＴｘｓ，Ｔｚｓによる運転が終了しているもでありステップＳ１３に移行するが、最初は、指令基準位置Ｌ１１が読み出され、この指令基準位置に対して設定されている位置Ｘ１１，Ｚ１１が読み出され、該位置にステップＳ７でレジスタに記憶したサイクル開始位置（Ｘｓ，Ｚｓ、なお基準位置Ｌ１で切り替わったときはＸｓ＝Ｘ１，Ｚｓ＝Ｚ１である）を加算して、サイクル運転のパスの終点位置を求める。パスサイクルテーブルＴｘｓ，Ｔｚｓは、パスサイクルテーブルが呼び出されたバスサイクル開始位置の点を原点として、各軸の位置Ｘ１１〜Ｘ１５、Ｚ１１〜Ｚ１５が設定記憶されているものであるから、該位置Ｘ１１〜Ｘ１５、Ｚ１１〜Ｚ１５にパスサイクル開始時に記憶したＸ，Ｚ軸の位置Ｘｓ，Ｚｓをそれぞれ加算すれば、この加工制御における採用されている座標系上の位置が得られる。  
こうして得られた、位置（目標位置）に基づいて、従来と同様のパステーブル運転処理を行い、当該周期の移動指令を各軸制御回路３０，３１に出力する（ステップＳ１２）。
【００２９】
以下、各周期毎、ステップＳ１、Ｓ２，Ｓ１０〜Ｓ１２を実行し、現在基準位置Ｌより大きく、且つ近い指令基準位置に対する各軸指令位置を目標位置としてパステーブル運転処理を行い、当該周期の移動指令を求め各軸モータ５ｘ，５ｚを駆動する。
【００３０】
基準位置がＬ１１，Ｌ１２，Ｌ１３，Ｌ１４，Ｌ１５と通過し、Ｘ軸が（Ｘｓ＋Ｘ１１）、（Ｘｓ＋Ｘ１２）、（Ｘｓ＋Ｘ１３）、（Ｘｓ＋Ｘ１４）、（Ｘｓ＋Ｘ１５）と移動し、Ｚ軸が（Ｚｓ＋Ｚ１１）、（Ｚｓ＋Ｚ１２）、（Ｚｓ＋Ｚ１３）、（Ｚｓ＋Ｚ１４）、（Ｚｓ＋Ｚ１５）と移動し、基準位置Ｌが指令基準位置Ｌ１５に達し、次の指令基準位置を読み出すとき、読み出す指令基準位置がないと判断されたとき（ステップＳ１１）、パスサイクル運転は終了したことを意味し、ステップＳ１３に移行し、ステップＳ６で退避させていた基準位置（最初はＬ１）を復元し（図１に示す基準位置カウンタ３に退避していた基準位置をセット）、呼び出し元のパステーブルに戻し（ステップＳ１４）、パスサイクルフラグをオフとする（ステップＳ１５）。
【００３１】
図３（ａ）、（ｂ）に示すパステーブルに戻り、ステップＳ１〜Ｓ３、ステップＳ５の処理を所定周期毎実施することになる。そして、基準位置ＬがパステーブルＴｘ，Ｔｚに記憶する次の指令基準位置Ｌ２に達すると、サイクル呼び出し指令Ｑ１０００，Ｑ１０１０が呼び出され、前述したステップＳ６〜Ｓ９が実行され、次の周期から、前述したステップＳ１，Ｓ２，Ｓ１０〜Ｓ１２の処理がなされ、図４（ａ），（ｂ）に示すパスサイクルテーブルＴｘｓ，Ｔｚｓに基づく、２回目のサイクル動作処理がなされる。
【００３２】
以下、同様にして３回のサイクル動作が実行され、基準位置ＬがパステーブルＴｘ，Ｔｚに記憶する指令基準位置Ｌ４に達するとこの仕上げサイクル加工は終了する。
【００３３】
図７は、本実施形態が適用される一例のドリルサイクル加工の説明図である。  
ドリルサイクル加工は、加工物６に対してドリル９により複数の箇所にドリル穴加工を行うものであり、ドリル穴加工は同一加工サイクルで行われるものである。図７に示す例では、ドリルサイクル開始位置Ａにドリル９を位置決めした後、１回目の穴加工開始位置Ｂに移動し、該位置より同一加工のドリル穴加工を開始する。ドリル９が開始位置Ｂまで戻りドリル穴加工を終えると、次のドリル穴加工位置への２つの中間点Ｂ１，Ｂ２を経て、２つ目のドリル穴加工の開始位置Ｃへ移動し、ドリル穴加工を行い、同様に、指令された中間点を経て次のドリル穴加工位置の開始位置Ｄ、さらにはＥと進み、複数のドリル穴を加工するものである。
【００３４】
ドリル穴加工の開始位置（Ｂ，Ｃ，Ｄ，Ｅ）から加工を開始してこの開始位置まで戻る加工工程は各ドリル穴とも同一であり、この部分をパスサイクルテーブルで指令することができる。  
図８（ａ），（ｂ）は、このドリルサイクル加工を行うときのＸ、Ｚ軸のパステーブルＴｘ，Ｔｚの一例である。なお、Ｙ軸方向（Ｘ，Ｚ軸と垂直方向）にも移動させて加工する場合は、Ｘ軸のパステーブルと同様なＹ軸用のパステーブルが用いられる。  
Ｘ軸パステーブルＴｘには、基準位置Ｌ０に対してドリルサイクル開始位置ＡのＸ座標位置Ｘ０が指令位置として設定記憶されており、続いて基準位置Ｌ１に対して１回目の開始位置Ｂ、基準位置Ｌ４に対して２回目開始位置Ｃの、Ｘ軸座標位置が指令位置Ｘ１，Ｘ４として設定記憶されると共に、Ｘ軸用のパスサイクルテーブルＴｘｓを呼び出すためのサイクル呼び出し指令Ｑ１０２０、が指令されている。同様に、３回目、４回目の開始位置Ｄ，Ｅに対してもそれに対応する基準位置と座標位置が指定されると共にサイクル呼び出し指令Ｑ１０２０が指定される。
【００３５】
Ｚ軸パステーブルＴｚには、基準位置Ｌ０に対してドリルサイクル開始位置ＡのＺ座標位置Ｚ０が指令位置として設定記憶されており、基準位置Ｌ１では、１回目開始位置ＢのＺ軸座標位置のＺ１が設定記憶されると共にＺ軸用のパスサイクルテーブルＴｚｓを呼び出すためのサイクル呼び出し指令Ｑ１０３０、が指令されている。そして、基準位置Ｌ２，Ｌ３に対して中間位置Ｂ１，Ｂ２に対するＺ軸座標位置Ｚ２，Ｚ３が設定記憶され、次に、基準位置Ｌ４に対して２回目開始位置のＺ軸座標位置のＺ２が設定記憶されると共にサイクル呼び出し指令Ｑ１０３０、が指令されている。図面では省略しているが、以下この繰り返しで各開始位置Ｄ，Ｅ及び中間位置が設定記憶されている。
【００３６】
図９は、このドリルサイクル加工におけるパスサイクルテーブルの例である。図９（ａ）は、Ｘ軸用のパスサイクルテーブルＴｘｓであり、図９（ｂ）は、Ｚ軸用のパスサイクルテーブルＴｚｓである。  
このパスサイクルテーブルＴｘｓ，Ｔｚｓにおいては、先の図２に示した旋削仕上げサイクル加工の例と同様に、サイクル加工の開始位置Ｂ，Ｃ，Ｄ，Ｅに到達した時（サイクル呼び出し指令が読み出された時）、基準位置が「０」にリセットされ、且つ、Ｘ、Ｚ軸の指令位置は、この開始位置Ｂ，Ｃ，Ｄ，Ｅを原点「０」としたときの位置としてこのパスサイクルテーブルＴｘｓ，Ｔｚｓに設定記憶されているものである。
【００３７】
まず、Ｚ軸用のパスサイクルテーブルＴｚｓから説明する。  
基準位置０からドリル穴加工を開始し、基準位置Ｌ１１，Ｌ１２，Ｌ１３，Ｌ１４，Ｌ１５に対してそれぞれドリルサイクル動作のＺ軸位置Ｚ１１，Ｚ１２，Ｚ１３，Ｚ１４，Ｚ１５が設定記憶されている。なお、このドリルサイクル動作の最後の位置Ｚ１５は、開始位置（Ｂ，Ｃ，Ｄ，Ｅ）であることから「０」である。
【００３８】
以上のように、ドリル穴加工のサイクルでは、基準位置がＬ１５に達したとき、Ｚ軸は開始位置（Ｂ，Ｃ，Ｄ，Ｅ）に戻るものであり、その間は、Ｘ軸は移動を停止した状態である。そのため、Ｘ軸用のパスサイクルテーブルＴｘｓには、基準位置Ｌ１５に対して「０」が設定記憶されている。
【００３９】
以上のようなパスサイクルテーブルＴｘｓ，Ｔｚｓを包含するパステーブルＴｘ，Ｔｚによってパステーブル運転が数値制御装置１０によって実行されるものであるが、このときのＣＰＵ１１が行う処理動作のフローチャートは前述した旋削仕上げサイクル加工の例と同一であり、単にパステーブルＴｘ，Ｔｚが相違するのみである。このドリルサイクル加工の動作処理については、簡単に図６と共に説明する。
【００４０】
前述したように、所定周期毎、基準位置Ｌを更新しながら、該基準位置がパステーブルＴｘ，Ｔｚで指令された位置に到達しているか否か、及び到達していると、サイクル呼び出し指令が設定記憶されているか判断し、指令位置まで到達していないとき、及び到達してもサイクル呼び出し指令が設定記憶されていなければ、通常のパステーブル運転を行う（ステップＳ１〜Ｓ５）。
【００４１】
そして、基準位置がＬ１に達し、該位置に対応してサイクル呼び出しＱ１０２０，Ｑ１０３０がＸ，Ｚ軸パステーブルＴｘ，Ｔｚより読み出されると、現在の基準位置（Ｌ１）を退避させ、基準位置をリセットし、現在の指令位置（開始位置Ｂ，Ｃ，Ｄ，ＥのＸ軸，Ｚ軸の位置（Ｘｓ，Ｚｓ）を記憶し、パスサイクルテーブルＴｘｓ，Ｔｚｓに切換え、パスサイクルフラグをオンとする。  
次の周期からは、ステップＳ２からステップＳ１０に移行し、現在の基準位置Ｌよりも大きい次の指令基準位置に対して設定されている指令位置を読む。最初はＸ軸パスサイクルテーブルＴｘｓからはＬ１５に対する指令位置０が読み込まれ、Ｚ軸パスサイクルテーブルＴｚｓからは基準位置Ｌ１１に対する指令位置Ｚ１１が読み込まれ、この読み込まれた位置に記憶しているサイクル開始位置（Ｘｓ，Ｚｓ）を加算し、目標位置を求めて従来と同様にパステーブル運転を実行する（ステップＳ１０〜Ｓ１２）。なおＸ軸は指令位置が０であることから、移動はない。
【００４２】
以下、基準位置Ｌが更新されて、該基準位置ＬがＺ軸パスサイクルテーブルＴｚｓに設定されている指令基準位置（Ｌ１２，Ｌ１３，Ｌ１４，Ｌ１５）に到達する毎に、そのときの指令位置を目標位置（Ｚ１２，Ｚ１３，Ｚ１４，Ｚ１５）としてパステーブル運転を行い、パスサイクルテーブルＴｘｓ，Ｔｚｓから読み出すべき基準位置がなくなると、このパスサイクルテーブルによる処理は終了し、退避した基準位置を戻し、元のパステーブルに戻すと共にパスサイクルフラグをオフとする（ステップＳ１３〜Ｓ１５）。これにより、次の周期からは図８に示すパステーブルＴｘ，Ｔｚによるパステーブル運転が実施される。
【００４３】
パスサイクルテーブルＴｘｓ，Ｔｚｓに記憶する基準位置及び各軸位置は、同一加工のパスサイクルが開始する時の基準位置、各軸位置からの相対基準位置及び、各軸の相対位置であることから、パスサイクルが開始する時の基準位置、各軸位置からの相対位置を指定できる方法を用いればよいものである。
【００４４】
そのため、上述した実施形態では、ステップＳ６で、基準位置を退避させリセットしてパスサイクルテーブルＴｘｓ，Ｔｚｓによる運転を開始する基準位置を「０」としたが、この処理に代えてステップＳ６では、そのときの基準位置をパスサイクル開始基準位置として記憶しておき、ステップ１０では、基準位置からこのパスサイクル開始基準位置を減算した値とパスサイクルテーブルＴｘｓ，Ｔｚｓに設定記憶されている指令基準位置と比較するようにしてもよいものである。
【００４５】
又、上述した実施形態では、パスサイクルテーブルＴｘｓ，Ｔｚｓ（図４，図９）において、指令基準位置をサイクル開始の位置を原点０とした位置（アブソリュート位置）としたが、この点を増分値（インクレメンタル量）としてもよい。すなわち、移動量として設定してもよい。この場合、レジスタを用意し、該レジスタに指令基準位置を順次積算して行き、アブソリュートの位置を求め基準位置と比較するようにすればよい。
【００４６】
又、パスサイクルテーブルＴｘｓ，Ｔｚｓ（図４，図９）における指令位置も、前述した実施形態の例では、各指令位置を、サイクル開始位置を原点０とたときの座標位置で設定記憶したものであるが、この指令位置もインクレメンタル量（増分値）で指令してもよいものである。この場合、ステップＳ７でレジスタに現在指令位置をサイクル開始位置として格納しておき、該レジスタに各指令位置のインクレメンタル量（増分値）を順次積算して行き、アブソリュートの位置を求めるようにすればよい。又、パステーブル運転をこのパスサイクルテーブルＴｘｓ，Ｔｚｓによる運転時には、インクレメンタル量（増分値）に基づいて運転するようにしてもよい。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態が実行するパステーブル運転の概要図である。
【図２】同実施形態で適用する旋削仕上げサイクル加工の説明図である。
【図３】同旋削仕上げサイクル加工におけるパステーブルの一例の説明図である。
【図４】同旋削仕上げサイクル加工におけるパスサイクルテーブルの一例の説明図である。
【図５】本発明の一実施形態の数値制御装置の要部ブロック図である。
【図６】同実施形態におけるパステーブル運転のアルゴリズムを示すフローチャートである。
【図７】同実施形態で適用するドリルサイクル加工の説明図である。
【図８】同ドリルサイクル加工におけるパステーブルの一例の説明図である。
【図９】同ドリルサイクル加工におけるパスサイクルテーブルの一例の説明図である。
【図１０】通常のパステーブル運転で使用するパステーブルの例の説明図である。
【図１１】図１０のパステーブルを用いたときのＸ軸の動作説明図である。
【符号の説明】
【００４８】
１  カウンタ
２  乗算器
３  基準位置カウンタ
５ｘ  Ｘ軸サーボモータ
５ｚ  Ｚ軸サーボモータ
１０  数値制御装置
６２  主軸モータ
６３  ポジションコーダ
【図１】
2006302207.tif 000003
【図２】
2006302207.tif 000004
【図３】
2006302207.tif 000005
【図４】
2006302207.tif 000006
【図５】
2006302207.tif 000007
【図６】
2006302207.tif 000008
【図７】
2006302207.tif 000009
【図８】
2006302207.tif 000010
【図９】
2006302207.tif 000011
【図１０】
2006302207.tif 000012
【図１１】
2006302207.tif 000013