(57)【特許請求の範囲】
【請求項１】
基準軸の位置に対する制御軸の指令位置情報を記憶するデータテーブルを備え、該データテーブルに基づいて前記基準軸の運動に対して前記制御軸の運動を同期させて駆動する数値制御装置において、
前記データテーブルに基準軸の位置に対して、補助機能及び主軸機能をも設定記憶しておき、
前記基準軸の運動を表す基準パルスより得られる位置に任意の倍率を掛けるオーバライド手段と、前記基準パルスで得られた位置に前記オーバライド手段で設定された倍率を掛けた位置を前記基準軸の位置として求める基準軸位置算定手段とを設け、該基準軸位置算定手段で求めた基準軸の位置に基づいて前記データテーブルに従って前記制御軸を駆動制御すると共に、記憶した補助機能、主軸機能をも実行するようにしたことを特徴とする数値制御装置。
【請求項２】
前記データテーブルには、前記基準軸の位置に対応して工具摩耗補正を指定することができる請求項１記載の数値制御装置。
【請求項３】
前記データテーブルには、前記基準軸の位置に対応して座標系を指定することができる請求項１又は請求項２記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械や産業機械を制御する数値制御装置に関し、特に、該数値制御装置で制御される機械の各軸が同期して動作をするパステーブル運転、いわゆる電子カム制御に関する発明である。
【０００２】
【従来の技術】
基準軸の運動に同期して各制御軸をそれぞれ同期して駆動制御する方法として、基準軸位置に対応して制御軸の位置情報をメモリに設けられたパステーブル運転データテーブルに記憶しておき、このデータテーブルに記憶された情報に基づいて、各々の制御軸を基準軸と同期運転するパステーブル運転方法は、いわゆる「電子カム制御」と呼ばれてすでに公知である（例えば、特開平３−２９６１０９号公報等参照）。基準軸としては、工作機械の主軸や外部の軸が採用され、主軸に設けられたポジションコーダからのパルス、あるいは、外部に設けた軸からの信号として外部パルスに基づいて基準軸の位置が求められる。各制御軸のパステーブル運転データテーブルに記憶した基準軸位置と各制御軸の位置情報に基づいて、基準軸の位置に対して制御軸位置を求め、制御軸を移動させることによって、基準軸と各制御軸の同期運転を行っている。
【０００３】
【発明が解決しようとする課題】
上述した従来のパステーブル運転（電子カム制御）では、基準軸（主軸）の回転速度に合わせて各制御軸の速度も一定であり、制御軸の速度を制御はできない。しかし、工作機械における加工においては、一般的に初加工する前に主軸をワークに取り付けないで空運転し、Ｘ，Ｚ軸等の制御軸の送り速度をあげたり、又は落として軸の移動をチェックすることが行われている。また、加工条件によっては、実加工途中でも、制御軸の送り速度を変化させる場合もある。
【０００４】
パステーブル運転（電子カム制御）においても、上述したような、制御軸の速度を変化させることが望ましいが、従来は制御軸の速度は、主軸（基準軸）の速度に依存し変化させることができなかった。
また、工作機械においては、一般的に運転中、切削油ＯＮ／ＯＦＦするなどの補助機能や主軸回転数を変える主軸機能等を有し、これらの補助機能、主軸機能をも使用して加工運転を行っている。しかし、従来のパステーブル運転（電子カム制御）においては、これらの補助機能や主軸機能を利用できるようにはなっておらず、不便な状態であった。
【０００５】
さらに、工具が摩耗した場合、従来のパステーブル運転（電子カム制御）では、パステーブル運転データテーブルのデータを変えるしかなく、不便であった。また、基準軸の位置と各制御軸の位置は、ある決められた位置を基準として対応付ける必要があり、ある決めれた位置を基準として、予め運転を開始する前に開始位置を決めておかねばならないという不便さがあった。
そこで、本発明の目的は、上述した従来のパステーブル運転（電子カム制御）の不便さ、問題点を解決することにある。
【０００６】
【課題を解決するための手段】
本発明は、基準軸の位置に対する制御軸の指令位置情報を記憶するデータテーブルを備え、該データテーブルに基づいて前記基準軸の運動に対して前記制御軸の運動を同期させて駆動する数値制御装置において、前記データテーブルに基準軸の位置に対して、補助機能及び主軸機能をも設定記憶しておき、前記基準軸の運動を表す基準パルスより得られる位置に任意の倍率を掛けるオーバライド手段と、前記基準パルスで得られた位置に前記オーバライド手段で設定された倍率を掛けた位置を前記基準軸の位置として求める基準軸位置算定手段とを設け、該基準軸位置算定手段で求めた基準軸の位置に基づいて前記データテーブルに従って前記制御軸を駆動制御すると共に、記憶した補助機能、主軸機能をも実行するようにした。これによって、基準軸の運転速度に拘束されることなく、各制御軸を同期させて駆動することができる。
【０００７】
さらに、前記基準軸の位置に対応して補助機能及び主軸機能をも実行できる。また、前記データテーブルに、前記基準軸の位置に対応して工具摩耗補正を指定することにより、工具摩耗補正もできるようにした。さらに、前記データテーブルに、前記基準軸の位置に対応して座標系を指定することによって、座標系を設定した基準軸の位置に対応する制御軸の位置をパステーブル運転の開始位置とすることができるようにした。
【０００８】
【発明の実施の形態】
図１は、本発明の一実施形態が実行するパステーブル運転機能の概要図である。図１において、主軸に取り付けられたポジションコーダからのパルス又は基準とする外部パルス発生部からのパルス等の基準軸の運動を表す基準パルスが、所定周期毎（ＩＴＰ毎）カウンタ１に入力され計数される。このカウンタ１の計数値にオーバライド手段に設定されている倍率が乗算器２で乗じられ基準位置カウンタ３に格納される。この基準位置カウンタ３は、パステーブル運転機能が指令された時点、又は、パステーブル運転機能が指令された後の最初の基準軸からの１回転信号によりリセットとされる。この基準位置カウンタ３は、オーバライドによる倍率によって変更された基準軸位置を求めるものであり、基準軸位置算定手段を構成する。
【０００９】
基準位置カウンタ３の値（以下この値を基準軸位置と言う）は、各制御軸（この実施形態ではＸ，Ｚ軸）のパステーブル運転補間処理部４ｘ，４ｚに入力され、メモリに記憶されている各制御軸パステーブル運転データテーブルＴｘ，Ｔｚを参照して各設定基準位置に対する各制御軸の指令位置を求め、前回の周期での指令位置との差分を移動指令として各制御軸モータ５ｘ，５ｚに出力する。
【００１０】
以上のようにパステーブル運転が実行されるので、オーバライド手段による倍率が「１」の場合には、基準パルスがそのまま基準位置カウンタ３で計数されて基準軸位置となるから、従来と同様に基準軸と同期して各制御軸の運転がなされることになる。すなわち、基準パルスの発生が主軸に取り付けられたポジションコーダからのパルスであれば、主軸に同期して各軸（Ｘ，Ｚ軸）が同期して運動することになる。また、オーバライド手段による倍率値を変えて、例えば、オーバライドによる倍率を「０．５」とすると、主軸の回転速度に対して各軸はその半分の速さで移動することになる。このように、オーバライド値を変えることにより、基準軸（主軸）に対して任意の速度で各制御軸（Ｘ，Ｚ軸）を同期してパステーブル運転することができる。
【００１１】
図３は、パステーブル運転データテーブルの一例として、Ｘ軸のパステーブル運転データテーブルＴｘの例を示すものであり、図２は、このＸ軸パステーブル運転データテーブルＴｘによる基準軸位置Ｓに対するＸ軸の位置を表す図である。図３において、基準軸位置Ｓのデータは基準位置カウンタ３の値に対応するものであり、該基準軸位置Ｓのデータに対してＸ軸の位置情報が記憶され、かつ、属性が記憶されている。この属性としては、従来と同様のパスの接続パターンと本発明による座標系設定がある。属性のコードとその内容は次の通りである。
【００１２】
属性コード              意味
０                直線的接続
１あるいは２            ２次関数接続
３                ３次関数接続
４                座標系設定
コード「０」の直線的接続は、始点位置（前終点位置）からその終点位置まで直線的に接続する接続指令を意味し、コード「１」又は「２」は、始点位置（前終点位置）からその終点位置まで２次関数で接続することを意味する。また、コード「３」は、始点位置（前終点位置）からその終点位置まで３次関数で接続することを意味する。なお、コード「１」又は「２」の２次関数接続の場合、その始点位置若しくは終点位置のいずれかの傾きＦｓを設定する必要があり、コード「３」の３次関数接続の場合には、始点位置及び終点位置の傾きＦｓ，Ｆｅを設定しておく必要がある。また、コード「４」の座標系設定は、パステーブル運転開始位置、すなわち設定基準位置Ｓ０＝０に対する制御軸（Ｘ軸）の位置を変更して、該位置よりパステーブル運転データテーブルで示される移動パターンで運転させることを意味する。この座標系設定では制御軸の移動はなく、そのときの制御軸の位置が設定基準位置Ｓ０＝０に対応する。これによって任意の制御軸の位置からパステーブル運転を行うことができるようにしたものである。
【００１３】
なお、上述した属性の接続パターンや座標系設定は、すでに実施され公知の事項であるので、接続パターンについて簡単に説明する。
始点位置の設定基準位置をＳｓ、制御軸のＸ軸の位置をＸｓ、終点位置の設定基準位置をＳｅ、制御軸のＸ軸の位置をＸｅとすると基準軸位置Ｓに対する制御軸の位置Ｘは、直線的接続では次の１式で表される。
【００１４】
Ｘ＝［（Ｓ−Ｓｓ）・（Ｘｅ−Ｘｓ）／（Ｓｅ−Ｓｓ）］＋Ｘｓ    …（１）
また、２次関数接続は、始点位置での傾きＦｓが設定されているとすると、次の２式で表される。
【００１５】
Ｘ＝(1/2)・((Fe-Fs)/(Se-Ss))・(S-Ss)２＋Fs(S-Ss)＋Xs    …（２）
なお、Ｆｅ＝２・((Xe-Xs)/(Se-Ss))−Fsである。
また、３次関数接続は、次の３式で表される。
Ｘ＝(1/6)・((Ae-As)/(Se-Ss))・(S-Ss)３+（1/2）・As(S-Ss)２+Fs(S-Ss)+Xs  …（３）
なお、Ｓ＝Ｓｅの時、Ｆ＝Ｆｅ、Ｘ＝Ｘｅの条件より加速度Ａｓ、Ａｅは求める。
【００１６】
再び図３のパステーブル運転データテーブルＴｘに戻り、設定基準位置Ｓ０＝０に対する制御軸Ｘの指令位置Ｘ０には、このパステーブル運転を開始する前に位置決めされているものとする。位置決めされていなければ、後述するように、アラームを発生させるようにしている。
また、このパステーブル運転データテーブルＴｘの設定基準位置の欄の最後に記憶された「−１」は、このテーブルデータの終わりを示している。
【００１７】
図２は、この図３に示すパステーブル運転データテーブルＴｘに記憶されたデータに基づいたＸ軸の移動パターンを示す図である。
Ｘ軸はＸ０の位置に位置決めされており、パステーブル運転指令が出され、基準位置カウンタ３で示されるが基準軸位置Ｓが「０」になると、このテーブルＴｘの設定基準位置Ｓ０＝０に対応する指令位置Ｘ０、属性「０」が読み出される。属性が「０」であるから直線的接続であり、該位置Ｘ０から設定基準位置Ｓ１に対応する指令位置Ｘ１まで直線的に接続される。基準軸位置ＳがＳ１となると、該位置に対応する位置Ｘ１及び属性「１」と傾きＦ１が読み出され、該位置Ｘ１から次のデータである設定基準位置Ｓ２に対応する指令位置Ｘ２まで２次関数で接続される。
【００１８】
基準軸位置Ｓが設定基準位置Ｓ２となると、属性が「０」に設定されているから、該位置Ｘ２より次のデータである設定基準位置Ｓ３に対応するＸ軸位置Ｘ３まで直線的に接続される。ただし、この場合、Ｘ軸位置はＸ３＝Ｘ２であるから、Ｘ軸の移動はない。さらに、同様にＸ３からＸ４まで直線的に接続される。そして、基準軸位置がＳ５になると、対応する指令位置Ｘ５、属性「４」が読み出される。この場合、属性が「４」であることから座標設定であり、制御軸の現在位置Ｘ５を設定基準位置Ｓ０＝０の位置に対応するように座標系を設定することになる。すなわち、図２で示したＸ軸の移動パターンが、Ｘ５から始まるようにシフトさせるものであり、このシフト量（Ｘ５−Ｘ０）が記憶され、次のパステーブル運転時には、このパステーブル運転データテーブルＴｘに記憶する指令位置よりこのシフト量だけシフトさせた位置となる。なお、座標系設定の場合、制御軸の移動はなく、この図２、図３で示す例ではＸ５＝Ｘ４である。
【００１９】
各制御軸は、それぞれのパステーブル運転データテーブルＴｘ，Ｔｚに基づいて、上述したように、パステーブル運転が行われ、オーバライド手段によって、基準軸位置の変化速度が代わったとしても、各制御軸は、それぞれ同期してパステーブル運転データテーブルＴｘ，Ｔｚで指令された移動動作を実施することになる。
【００２０】
さらに、本実施形態では、補助機能、主軸機能、工具摩耗補正機能をも行うことができるもので、これらの機能を行うために、データテーブルとして前記パステーブル運転データテーブルに加えて、１つの機能データテーブルＴ０を有する。この機能データテーブルＴ０は図４に示すように、基準軸位置Ｓに対して補助機能のＭコード、主軸機能のＳコード、工具機能のＴコードが設定記憶されている。なお、このパステーブル運転を開始する際には、加工プログラムの実行による運転でそれまでに使用していた工具のＴコードが、機能データテーブルＴ０のパステーブル運転開始時の設定基準位置Ｓ０＝０の指令に対応する指令の欄に格納される。図４に示す例では、Ｔ０１が格納されている。
また、設定基準位置ＳＰ１に対して補助機能コードＭ１１（クランプ指令）が設定されており、基準軸位置ＳがＳＰ１となった時、図２に示すようにこの補助機能コードが出力されるようになっている。また、設定基準位置ＳＰ２（＝Ｓ３）に対応して、工具コードＴ０２、主軸機能コードＳ１００００が記憶されていることから、基準軸位置ＳがＳＰ２（＝Ｓ３）となると図２に示すように主軸機能コードＳ１００００が出力されると共に、前の工具コードＴ０１と読みとった工具コードＴ０２の摩耗補正量の差分が全制御軸に対して出力される。
【００２１】
以上が、本実施形態の動作概要である。
図５は、本発明のパステーブル運転を実行する一実施形態の数値制御装置１０の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及びＣＲＴ／ＭＤＩユニット７０を介してオペレータが入力した各種データが格納される。ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インターフェイス１５を介して読み込まれた加工プログラムやＣＲＴ／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。さらに、前述したパステーブル運転データテーブルＴｘ，Ｔｚ及び機能データテーブルＴ０が予め格納されている。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。
【００２２】
インターフェイス１５は、数値制御装置１０とアダプタ等の外部機器７２との接続を可能とするものである。また、数値制御装置１０内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで工作機械の補助装置にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２３】
ＣＲＴ／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス１８はＣＲＴ／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インターフェイス１９は操作盤７１に接続され、操作盤７１からの各種指令を受け取るようになっている。
【００２４】
各軸の軸制御回路３０、３１はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０、４１に出力する。サーボアンプ４０、４１はこの指令を受けて、各軸のサーボモータ５ｘ，５ｚを駆動する。各軸のサーボモータ５ｘ，５ｚは位置・速度検出器を内蔵し、この位置・速度検出器からの位置、速度フィードバック信号を軸制御回路３０、３１にフィードバックし、位置・速度のフィードバック制御を行う。なお、図５では、位置・速度のフィードバックについては省略している。
【００２５】
また、スピンドル制御回路６０は主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はスピンドル速度信号を受けて、主軸モータ６２を指令された回転速度で回転させる。ポジションコーダ６３は、主軸モータ６２の回転に同期して帰還パルス（基準パルス）及び１回転信号をスピンドル制御回路６０にフィードバックし、速度制御を行う。この帰還パルス（基準パルス）及び１回転信号は、スピンドル制御回路６０を介してＣＰＵ１１によって読みとられ、帰還パルス（基準パルス）はＲＡＭ１３に設けられたカウンタ（図１におけるカウンタ１に対応するカウンタ）で計数される。
【００２６】
上記実施形態においては、主軸に取り付けられたポジションコーダからの帰還パルスを基準パルスとし、主軸を基準軸、Ｘ，Ｚ軸を制御軸とする例を示しているが、制御軸としては、さらに増加してもよいことはもちろんである。増加する場合、増加制御軸のパステーブル運転データテーブルを不揮発性メモリに格納し、軸制御回路、サーボアンプ、サーボモータを増加すればよいことになる。また、主軸を基準軸とせず、外部に基準軸を設けて、該基準軸の移動等に伴ってパルスを発生させ、このパルスを基準パルスとするとには、この基準パルスを計数するカウンタを設ければよい。
【００２７】
この実施形態では、不揮発性メモリ１４に制御軸のＸ軸分、Ｚ軸分の図３に示すようなパステーブル運転データテーブルＴｘ，Ｔｚが格納されていると共に、図４に示すような機能データテーブルＴ０がデータテーブルとして格納されている。
そして、不揮発性メモリ１４に記憶されている加工プログラムを実行し、また、ＣＰＵ１１は、本発明に関係し、図６にフローチャートで示す処理を所定周期毎実行する。
【００２８】
まず、オーバライドキャンセル信号が加工プログラム若しくは操作盤７１若しくはＭＤＩ７０から指令されているか判断し（ステップ１０１）、指令されていなければステップ１０３へ進み、指令されていると、すでに設定され記憶しているオーバライドによる倍率Ａを「１」にセットし（ステップ１０２）、ステップ１０３に進む。ステップ１０３では、オーバライドの倍率を記憶するレジスタからオーバライドの倍率Ａを読み出し、次に基準パルスを計数するカウンタからその計数値を読み出し（ステップ１０４）、このカウンタの値にオーバライドの倍率Ａを乗じた値を基準位置カウンタに格納する（ステップ１０５）。このステップ１０１からステップ１０５の処理を所定周期毎実行している。
【００２９】
一方、加工プログラムからパステーブル運転指令が読みとられると、ＣＰＵは図７及び図８の処理を所定周期毎実行するが、図７に示す機能データテーブルＴ０による処理の実行周期は図８に示す各制御軸毎の処理の実行周期よりも前に実行される。
図７に示す機能データテーブルＴ０に基づく補助機能、主軸機能、工具摩耗補正機能の処理についてまず説明する。
【００３０】
加工プログラムからパステーブル運転指令が読み込まれると図７に示す処理を所定周期毎実行する。まず、ポジションコーダ６３から１回転信号が入力されたか判断する（ステップ２０１）。該信号が入力されるまで待ち、入力されると、この時点までに加工プログラムによって工具補正のためにＴコードが指令されていれば、この指令Ｔコードを機能データテーブルＴ０の設定基準位置がＳ０に対応する指令の欄に書き込む（ステップ２０２）。さらに、基準位置カウンタをリセットし、機能データテーブルＴ０の読み出し位置を示すポインタｉを「０」にセットする（ステップ２０３）。
【００３１】
次に、基準位置カウンタの値である基準軸位置Ｓを読みとり、該基準軸位置Ｓが「０」か判断する（ステップ２０４）。最初は、ステップ２０３で「０」にリセットされているから、ステップ２１７に移行し、該基準軸位置Ｓ＝０に対応する設定基準位置Ｓ０＝０に対する指令の欄にＴコードが記憶されているか判断し、すでに工具補正がなされ、この欄にステップ２０２でＴコードが格納されていれば、このＴコードの補正量をレジスタにセーブし（ステップ２１５）、ステップ２１６に進む。また、Ｔコードが格納されていなければ、ステップ２１７からステップ２１６に進む。ステップ２１６では、ポインタｉを「１」インクリメントし、ステップ２０５に戻る。
【００３２】
ステップ２０５では、ポインタｉに示される機能データテーブルＴ０のｉ番目の欄に格納されている設定基準位置ＳＰｉを読みとり、該設定基準位置ＳＰｉが「−１」か否か判断する（ステップ２０６）。「−１」であれば、この機能データテーブルＴ０はデータが終了していることを意味するので、この図７の処理は終了する。
【００３３】
一方、「−１」でなければ、基準位置カウンタから読み出される基準軸位置Ｓがステップ２０５で読み出した設定基準軸位置ＳＰｉ以上か判断し、達するまで待つ（ステップ２０７）。なお、この実施形態では主軸は正回転しているものとして以下説明している。逆転の場合は、この判断はＳＰｉ以下かの判断となる。基準軸位置Ｓが設定基準位置ＳＰｉに達すると、該ポインタｉで示される機能データテーブルＴ０の指令の欄にＭコード、Ｓコード、Ｔコードが記憶されているか判断し（ステップ２０８、２１０、２１２）、Ｍコードが記憶されていれば、そのＭコードに対応する指令をＰＭＣ１６、Ｉ／Ｏユニット１７を介して補助装置等に出力する（ステップ２０９）。また、Ｓコードが記憶されていれば、ＣＰＵ１１は、スピンドル制御回路６０にこのＳコードに対応する指令を出力する（ステップ２１１）。
【００３４】
またＴコードが記憶されていると、この記憶されたＴｉコードの摩耗補正量を読み出し（ステップ２１３）、レジスタにセーブしていた補正量との差分を求め、この差分を全制御軸に出力する（ステップ２１４）。そして、ステップ２１３で求めた補正量をレジスタにセーブし（ステップ２１５）、ポインタｉを「１」インクリメントし（ステップ２１６）、再びステップ２０５に戻る。以下、ステップ２０６で、設定基準位置ＳＰｉの「−１」が読み込まれるまで、ステップ２０５からステップ２１６の処理が所定周期毎割り込み処理される。そして、設定基準位置ＳＰｉの「−１」が読み込まれて、パステーブル運転における機能データテーブルＴ０による補助機能、主軸機能、工具摩耗補正機能の処理は終了する。
【００３５】
一方、各制御軸に対しては、図８に示す処理を所定周期毎実行する。この図８では制御軸としてＸ軸の例を示しており、他の制御軸であるＺ軸に対しても同様な処理がなされるものであるが、Ｚ軸に対する処理については説明を省略する。
【００３６】
加工プログラムからパステーブル運転指令が読み込まれると、図８に示す処理を所定周期毎実行し、ポジションコーダ６３から１回転信号が入力されるまで待ち（ステップ３０１）、該信号が入力されると、ポインタｊを「０」にセットし（ステップ３０２）、制御軸のＸ軸の現在位置がパステーブル運転データテーブルＴｘの設定基準位置Ｓｊ＝０に対応するパステーブル運転開始位置Ｘ０（＝Ｘｊ）であるか否か判断する（ステップ３０３）。通常は、このパステーブル運転指令が指令される前に、このパステーブル運転開始位置Ｘ０に位置決めされているが、もし位置決めされていない場合には、アラームを出力して停止する（ステップ３１８）。
【００３７】
パステーブル運転開始位置Ｘ０に位置決めされていれば、基準位置カウンタの値である基準軸位置Ｓを読み出し、該基準軸位置Ｓがパステーブル運転データテーブルＴｘのポインタｊで示される位置の設定基準位置Ｓｊ（＝Ｓ０＝０）以上かを判断する（ステップ３０４，３０５）。通常、この図８で示す処理より先に図７で示す処理が実行され、図７におけるステップ２０３で基準位置カウンタは「０」にリセットされていることから、ステップ３０４で読み出される基準軸位置Ｓは「０」であるので、ステップ３０５の判断はＹｅｓとなる。
【００３８】
次に、パステーブル運転データテーブルＴｘのポインタｊに対応する欄の設定基準位置Ｓｊ，指令位置Ｘｊと属性データを読み出すと共に、次の欄のｊ＋１の欄に格納されている設定基準位置Ｓj+1，指令位置Ｘj+1を読み出す（ステップ３０６）。そして、設定基準位置Ｓｊが「−１」か否か判断し（ステップ３０７）、「−１」ならばこの処理を終了し、「−１」でなければ、基準位置カウンタの値の基準軸位置Ｓを読み出し（ステップ３０８）、該読み出した基準軸位置Ｓが次の設定基準位置Ｓj+1以上かを判断する（ステップ３０９）。
【００３９】
当初は、読み出した基準軸位置Ｓは次の設定基準位置Ｓj+1に達していないから、ステップ３０６で読み出したポインタｊに対応する属性データが「０」か、「１又は２」か、「３」か「４」かを判断する（ステップ３１１，３１２，３１３）。そして、属性データが「０」の場合には、直線接続処理を行う（ステップ３１５）。すなわち、ステップ３０６で読み込んだ設定基準位置Ｓｊ，Ｓj+1、指令データＸｊ，Ｘj+1とステップ３０８で読み込んだ基準軸位置Ｓより上述した１式の演算を行い、基準軸位置Ｓに対応する指令位置Ｘを求め、先の周期で求めていた指令位置との差分を求め、この差分をＸ軸の軸制御回路３０に出力する（ステップ３１５）。
【００４０】
また、属性データが「１又は２」の場合には、２次関数接続処理を行う。この場合は上記２式の演算を行い基準軸位置Ｓに対応する指令位置Ｘを求め、先の周期で求めていた指令位置との差分を求め。この差分をＸ軸の軸制御回路３０に出力する（ステップ３１６）。属性データが「３」の場合には、３次関数接続処理を行うが、この場合は、上記３式によって、基準軸位置Ｓに対応する指令位置Ｘを求め、先の周期で求めていた指令位置との差分を求め、この差分をＸ軸の軸制御回路３０に出力する（ステップ３１７）。
【００４１】
また、属性データが「４」の場合には座標系設定処理を行う（ステップ３１４）。これは、現在の制御軸の位置をパステーブル運転の開始位置にするもので、現在位置をＸｒとすると、該位置Ｘｒとパステーブル運転データテーブルＴｘのパステーブル運転開始位置Ｘ０との差（Ｘｒ−Ｘ０）をシフト量として記憶する。
【００４２】
こうして記憶されたシフト量は、次のパステーブル運転を行うときに、ステップ３０３でパステーブル運転開始時の制御軸であるＸ軸の現在位置の判断は、このパステーブル運転データテーブルＴｘに記憶された開始位置Ｘ０に上記シフト量を加算した位置か否かの判断となる。
【００４３】
以下、指令された属性に応じて、属性コードが「０」の場合には、ステップ３０８，３０９，３１１，３１５が、属性コードが「１又は２」の場合には、ステップ３０８、３０９，３１１，３１２，３１６、属性コードが「３」の場合には、ステップ３０８、３０９，３１１，３１２，３１３，３１７の処理が所定周期毎実行される。
【００４４】
かくして、基準軸位置Ｓが次の設定基準位置Ｓj+1以上になると、ポインタｊを「１」インクリメントし（ステップ３１０）、ステップ３０６に戻り、前述したステップ３０６以下の処理を実行する。そして、ステップ３０７で設定基準位置Ｓｊがテーブルの終わりを示す「−１」となったとき、このパステーブル運転は終了する。
【００４５】
図３に示すパステーブル運転データテーブルＴｘの例で、図２に示すような制御軸のＸ軸の運動を行うことの例を簡単に説明する。
Ｘ軸がパステーブル運転の開始位置Ｘ０に位置決めされ、ステップ３０５で、基準軸位置Ｓがパステーブル運転の開始位置Ｓ０＝０となったことが検出されると、ポインタｊ＝０、及びｊ＋１＝１で示されるデータテーブルＴｘ中のデータが読み出され（ステップ３０６）、属性データが「０」であるから、読み出したデータＳ０＝０，Ｓ１，Ｘ０，Ｘ１とそのときの基準位置カウンタの値Ｓより所定周期毎１式の演算の直線的処理を行い（ステップ３１５）、図２に示すようにＸ０からＸ１まで直線的に移動する。そして、基準軸位置Ｓが次の設定基準位置Ｓ１に達すると（ステップ３０９）、データＳ１，Ｓ２，Ｘ１，Ｘ２、属性データ「１」、傾きＦ１が読み出され（ステップ３０６）、かつ、属性データが「１」であることから、ステップ３１６の２次関数接続処理が所定周期毎なされ（ステップ３１６）、データＳ１，Ｓ２，Ｘ１，Ｘ２、及びそのときの基準軸位置Ｓより２式の演算が行われて、移動指令が出され、図２に示すようにＸ１からＸ２まで２次曲線的に移動する。
【００４６】
基準軸位置Ｓが設定基準位置Ｓ２に達すると（ステップ３０９）、設定データＳ２，Ｘ２、次のデータＳ３、Ｘ３（＝Ｘ２）が読み出される。また属性データ「０」が読み出され、ステップ３１５の処理がなされることになるが、制御軸の指令が当該ポインタの指令データも次の指令データも同じであることから、Ｘ軸の移動はなく、Ｘ軸は停止した状態である。そして、基準軸位置ＳがＳ３となると（ステップ３０９）、設定データＳ３，Ｘ３（＝Ｘ２），Ｓ４，Ｘ４、属性データ「０」が読み出され（ステップ３０６）、これらのデータと基準軸位置Ｓ（ステップ３０８）により直線的接続処理（ステップ３１５）が所定周期毎実行され、図２に示すように位置Ｘ３（＝Ｘ２）から位置Ｘ４へ直線的に移動する。
【００４７】
そして基準軸位置Ｓが次の設定データＳ４に達すると、設定データＳ４，Ｘ４，Ｓ５，Ｘ５（＝Ｘ４）、属性データ「０」が読み出され（ステップ３０６）、Ｘ４からＸ５まで直線接続であるが、Ｘ５＝Ｘ４であるからＸ軸は停止したままである。基準軸位置Ｓが次の設定データＳ５に達すると、設定データＳ５，Ｘ５，Ｓ６＝−１、属性データ「４」が読み出される（ステップ３０６）。属性データが「４」であることから、座標系設定処理がなされ（ステップ３１４）、シフト量（Ｘ５−Ｘ０）が求められ記憶される。なお、属性データ「４」の座標系設定がセットされたときには次の制御軸指令位置は現在の位置と同じデータが設定され、上記の例ではＸ４＝Ｘ５であり、座標系設定処理中は制御軸の移動はない。
【００４８】
【発明の効果】
本発明は、パステーブル運転においても、基準軸の速度に拘束されずに各制御軸の速度を変化させて同期させることができ、制御軸の移動動作のチェックにおいて便利である。また、補助機能、主軸機能、工具摩耗補正機能をもパステーブル運転において実施できる。さらに座標系設定機能をも設けることによって、該座標系設定したときの基準軸位置に対する制御軸の位置をこのパステーブル運転の開始位置とすることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態が実行するパステーブル運転機能の概要図である。
【図２】図３に示すパステーブル運転データテーブルの例に対応したこの制御軸の移動パターンを説明する図である。
【図３】本実施形態のパステーブル運転データテーブルの一例である。
【図４】同実施形態における機能データテーブルの一例である。
【図５】本発明の一実施形態の数値制御装置の要部ブロック図である。
【図６】同実施形態におけるオーバライドを掛けて基準軸位置を求めるフローチャートである。
【図７】同実施形態における機能データテーブルによる、パステーブル運転による補助機能、主軸機能、工具摩耗補正機能の処理フローチャートである。
【図８】同実施形態におけるパステーブル運転の制御軸の同期運転処理のフローチャートである。
【符号の説明】
１  カウンタ
２  乗算器
３  基準位置カウンタ
５ｘ  Ｘ軸サーボモータ
５ｚ  Ｚ軸サーボモータ
Ｔ０  機能データテーブル
１０  数値制御装置
６２  スピンドル（主軸）モータ
６３  ポジションコーダ
【図１】
0003671020.tif 000002
【図２】
0003671020.tif 000003
【図３】
0003671020.tif 000004
【図４】
0003671020.tif 000005
【図５】
0003671020.tif 000006
【図６】
0003671020.tif 000007
【図７】
0003671020.tif 000008
【図８】
0003671020.tif 000009