(57)【要約】【課題】データ量が少なくて円弧形状をも指令できるテーブル形式データによる数値制御方法を提供する。【解決手段】パステーブルの円弧形状の終点位置に対するデータに円弧中心位置、半径及び正弦/余弦の別（三角関数）を設定しておく。基準位置Ｌを読み出し(S1)、該基準位置Ｌと同じ又は小さい基準位置Ｌａに対する軸位置を始点軸位置Ｘａとする(S3)。基準位置Ｌに近く大きい基準位置Ｌｂ、軸位置（終点軸位置Ｘｂ）、関数、円弧中心Ｃｘｂ、半径Ｒｂをテーブルより読み出す(S4)。関数等が記憶されていなければ、直線接続と判断する(S12,S10)。関数が設定されていれば、初期角度Θ、角速度Δを求め、Ｘ軸位置Ｘｉを三角関数によって求め、移動量増分をサーボに出力する(S7〜S10)。円弧形状であっても、テーブルに記憶されるデータは、円弧中心位置、半径及び正弦/余弦の別だけでよく、データ量が少なくてすむ。【選択図】図１０
2007213238.tif 000002
【特許請求の範囲】
【請求項１】
時間あるいは主軸位置を基準にした基準値に対する軸位置を記憶テーブルに記憶したデータで指令して各軸を駆動する数値制御方法において、円弧形状を指令するとき、円弧の始点と終点の２点、該円弧の中心位置、円弧半径及び正弦/余弦の別を記憶テーブル中に設定しておき、該円弧の中心位置、円弧半径と正弦/余弦の別を設定した三角関数に基づいて前記２点間を円弧で接続する移動指令を各軸に出力するようにした数値制御方法。
【請求項２】
円弧初期角度と、基準値の単位変化量に対する円弧角度の変化量を円弧指令に合わせて設定しておき、該円弧初期角度、基準値の変化量に対する円弧角度の変化量、前記円弧の中心位置、円弧半径及び正弦/余弦の別に基づいて三角関数処理を行い前記２点間を円弧で接続する移動指令を各軸に出力するようにした請求項１に記載の数値制御方法。
【請求項３】
テーブル形式データにより運転するための記憶するテーブルが数値制御装置に格納されるとき、数値制御装置が該テーブルに格納されたデータに基づいて、前記円弧初期角度と、基準値の変化量に対する円弧角度の変化量を算出し設定するようにした請求項２に記載の数値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の数値制御方法に関する。特に、テーブル形式で記憶されたデータに基づいて工作機械の各軸を駆動制御する数値制御方法に関する。
【背景技術】
【０００２】
ＮＣプログラムのブロックによる指令ではなく、予め各軸の移動量や位置をテーブル形式で記憶しておき、該テーブルに記憶されたデータに基づいて工作機械の制御軸の各軸を駆動制御することによって、従来のブロックによる指令にとらわれない自由な工具の動作が可能となり、加工時間の短縮や、加工の高精度化を実現した数値制御装置はすでに公知である。  
例えば、時間又は主軸回転角度等を基準とした基準位置（基準値）の各値に対する制御軸の位置を数値制御データとして記憶しておき、基準位置を監視し、記憶した基準位置毎に、制御軸に対応する数値制御データを出力するようにした発明が知られている（特許文献１、２参照）。
【０００３】
図１は、このテーブル形式データによる運転（以下、パステーブル運転という）の一例の概要図である。この例では、Ｘ軸パステーブルＴｘ、Ｙ軸パステーブルＴｙを備えている。これらのパステーブルＴｘ、Ｔｙは基準位置に対応する制御軸のＸ軸、Ｙ軸の位置が記憶されているものであり、図２に、従来から行われている一例（Ｘ軸パステーブルの例）を示す。基準位置Ｌ０〜Ｌ４に対してＸ軸の位置Ｘ０〜Ｘ４が対応して記憶されている。同様にＹ軸パステーブルＴｙにもＹ軸の位置が基準位置に対して記憶されている。
【０００４】
主軸に取り付けられたポジションコーダからのパルス、又は主軸への指令パルス等による主軸位置又は外部パルス発生部からの時間を基準とする基準パルスがカウンタ１に入力され計数される。このカウンタ１の計数値にオーバライド手段に設定されている倍率が乗算器２で乗じられ基準位置カウンタ３に格納される。この基準位置カウンタ３は、パステーブル運転が指令された時点でリセットとされる。基準位置カウンタ３の値が基準位置としてＸ，Ｙ軸パステーブル補間処理部４ｘ，４ｙに入力される。Ｘ軸，Ｙ軸パステーブル補間処理部４ｘ，４ｙでは、Ｘ軸パステーブルＴｘ、Ｙ軸パステーブルＴｙを参照して基準位置に対するＸ，Ｙ軸の指令位置を求め、処理周期での移動量を求め、該移動量を指令として各サーボモータ５ｘ，５ｙに出力し、Ｘ，Ｙ軸を基準位置に合わせて同期運転する。
【０００５】
図３は、この図２に示したＸ軸パステーブルＴｘに基づいて移動したＸ軸の位置を示すグラフである。
【０００６】
以上のように、パステーブル運転では、パステーブルＴｘ、Ｔｙに記憶された基準位置に対する軸位置のデータに基づいて、基準位置に同期してＸ、Ｙ軸のサーボモータ５ｘ，５ｙを制御することによって工作機械等が制御されるものである。
【０００７】
又、上述した特許文献２には、さらに、データテーブルに設定記憶された軸位置間の接続を２次関数接続や３次関数接続することができる発明が記載されている。パステーブルに始点位置での傾きを設定しておき、該傾きと始点と終点の基準軸位置と制御軸の位置で、予め設定されている２次関数、又は３次関数に基づいて各制御軸の位置を求めて制御軸を駆動制御するようにした発明が記載されている。
【０００８】
【特許文献１】特開昭５９−１７７６０４号公報
【特許文献２】特開２００３−３０３００５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
テーブル形式データによって制御軸を制御するパステーブル運転においては、基準となる時間あるいは主軸位置等の基準値（以下基準位置という）に対する各制御軸の位置をテーブル形式で指令するものであるから、複雑な形状を指令する場合には、基準位置（基準値）に対して各制御軸の位置をその複雑な形状に合わせて指令する必要があり、データ容量が増大するという欠点がある。
【００１０】
工作機械による曲線の加工形状では、円弧形状が多い。しかし、この円弧形状を特許文献２に記載された２次関数接続や３次関数接続で指令することはできない。そのため、、円弧を微小な直線の接続として、基準位置（基準パラメータ値）に合わせて各制御軸の位置を細かく指令する必要がある。
【００１１】
例えば、図４に示すように、Ｘ、Ｙ平面上において、点Ｐ１から点Ｐ２までは直線であり、点Ｐ２から点Ｐ４までは円弧である形状を加工するようなとき、点Ｐ２から点Ｐ４までの円弧部分に対しては、該円弧を微小線分に分割した各分割点Ｐ３１、点Ｐ３２，点Ｐ３３，・・・のＸ軸、Ｙ軸位置を基準位置に合わせて指令するデータを記憶するパステーブルＴｘ、Ｔｙを作成しなければならない。
【００１２】
図５（ａ）は、図４に示すような形状を加工するとき、Ｘ軸パステーブルＴｘに記憶するデータの説明図であり、図５（ｂ）は、このＸ軸パステーブルＴｘに記憶したデータのグラフ表示である。又、図６（ａ）は、Ｙ軸パステーブルＴｙに記憶するデータの説明図であり、図６（ｂ）は、このＹ軸パステーブルＴｙに記憶したデータのグラフ表示である。円弧を微小線分に分割する各分割点Ｐ３１、Ｐ３２，Ｐ３３，・・・を基準位置Ｌ３１、Ｌ３２，Ｌ３３，・・・に対応してＸ軸パステーブルＴｘには、各分割点のＸ軸位置をＸ３１、Ｘ３２、Ｘ３３，・・・と記憶させておかねばならず、Ｙ軸パステーブルＴｙには、Ｙ軸位置をＹ３１、Ｙ３２、Ｙ３３，・・・と記憶させる必要がある。そのため、パステーブルＴｘ、Ｔｙに記憶するデータ量が増大することになる。  
そこで、本発明は、データ量が少なくて円弧形状をも指令できるテーブル形式データによる数値制御方法を提供することにある。
【課題を解決するための手段】
【００１３】
本願請求項１に係る発明は、時間あるいは主軸位置を基準にした基準値に対する軸位置を記憶テーブルに記憶したデータで指令して各軸を駆動する数値制御方法において、円弧形状を指令するとき、円弧の始点と終点の２点、該円弧の中心位置、円弧半径及び正弦/余弦の別を記憶テーブル中に設定しておき、該円弧の中心位置、円弧半径と正弦/余弦の別を設定した三角関数に基づいて前記２点間を円弧で接続する移動指令を各軸に出力するようにしたことを特徴とする数値制御方法である。  
さらに、本願請求項２に係る発明においては、円弧初期角度と、基準値の単位変化量に対する円弧角度の変化量を円弧指令に合わせて設定しておき、該円弧初期角度、基準値の変化量に対する円弧角度の変化量、前記円弧の中心位置、円弧半径及び正弦/余弦の別に基づいて三角関数処理を行い前記２点間を円弧で接続する移動指令を各軸に出力するようにしたものである。
又、請求項３に係る発明は、テーブル形式データにより運転するための記憶するテーブルが数値制御装置に格納されるとき、数値制御装置が該テーブルに格納されたデータに基づいて、前記円弧初期角度と、基準値の変化量に対する円弧角度の変化量を算出し設定するようにしたものである。
【発明の効果】
【００１４】
テーブル形式データとして、円弧形状を指令するときにテーブルに設定記憶させるデータが、円弧の始点と終点位置と円弧中心と半径と正弦/余弦の別ですむことから、設定記憶させるデータ量が少なくてすみ、かつ、テーブル形式データの作成が容易となる。
【発明を実施するための最良の形態】
【００１５】
本発明によるテーブル形式データによる運転も、図１に示したパステーブル運転と同一の構成によって行われるものであり、従来と相違する点は、Ｘ、Ｙ軸パステーブルＴｘ，Ｔｙに記憶されるデータの内容と、Ｘ、Ｙ軸パステーブル補間処理部４ｘ、４ｙの内容が従来と相違するものである。
【００１６】
図７は、本発明におけるテーブル形式データによる円弧形状の指令を得るための説明図である。ＸＹ平面上において、基準位置Ｌ１では位置Ｐ１（ｘ１，ｙ１）で、該位置Ｐ１から基準位置Ｌ２での位置Ｐ２（ｘ２，ｙ２）までは直線形状であり、該位置Ｐ２から基準位置Ｌ３での位置Ｐ３（ｘ３，ｙ３）までは円弧形状の加工形状の基準位置Ｌに対応して軸位置のデータが記憶テーブルに設定されるときの例を示している。
【００１７】
円弧の半径をＲ、円弧中心位置Ｃを（Ｃｘ、Ｃｙ）、基準位置（基準値）Ｌの単位変化量に対する角度の変化量（以下この変化量を角速度という）をΔ、円弧始点である位置Ｐ２での円弧開始角をΘとすると、基準位置Ｌｉにおける制御軸のＸ軸、Ｙ軸の位置は、次の（１）式、（２）式によって求められる。
【００１８】
Ｘｉ＝Ｃｘ＋Ｒ＊ｃｏｓ（Δ＊（Ｌｉ−Ｌ２）＋Θ）        …（１）
Ｙｉ＝Ｃｙ＋Ｒ＊ｓｉｎ（Δ＊（Ｌｉ−Ｌ２）＋Θ）        …（２）
又、
Ｘ２＝Ｃｘ＋Ｒ＊ｃｏｓ（Θ）                            …（３）
Ｘ３＝Ｃｘ＋Ｒ＊ｃｏｓ（Δ＊（Ｌ３−Ｌ２）＋Θ）        …（４）
であるから、円弧開始角Θと角速度Δは、円弧半径Ｒと円弧中心位置（Ｃｘ，Ｃｙ）及び、円弧の始点Ｐ２、終点Ｐ３のＸ軸位置より、次の（５）式、（６）式の演算により求められる。
【００１９】
Θ＝ｃｏｓ-1（Ｘ２−Ｃｘ）／Ｒ                        …（５）
Δ＝(ｃｏｓ-1((Ｘ３−Ｃｘ)／Ｒ)−Θ）／(Ｌ３−Ｌ２)   …（６）
こうして求められた円弧開始角Θ、角速度Δを（１）式、（２）式に代入することによって、基準位置Ｌｉに対応する円弧上のＸ軸、Ｙ軸位置（Ｘｉ，Ｙｉ）は求まることになる。
【００２０】
なお、円弧回転角Θの基準を図７に示すようにＸ軸と平行な線からの角度としたときは、上述した（１）〜（６）式で、基準位置Ｌｉに対応する円弧上のＸ軸、Ｙ軸位置（Ｘｉ，Ｙｉ）は求まることになるが、円弧回転角Θの基準をＹ軸と平行な線からの角度としたときには、
Ｘｉ＝Ｃｘ＋Ｒ＊ｓｉｎ（Δ＊（Ｌｉ−Ｌ２）＋Θ）        …（１’）
Ｙｉ＝Ｃｙ＋Ｒ＊ｃｏｓ（Δ＊（Ｌｉ−Ｌ２）＋Θ）        …（２’）
Θ＝ｓｉｎ-1（Ｘ２−Ｃｘ）／Ｒ                          …（５’）
Δ＝(ｓｉｎ-1((Ｘ３−Ｃｘ)／Ｒ)−Θ)／(Ｌ３−Ｌ２)      …（６’）
又、点Ｐ１から点Ｐ２間の直線上の基準位置Ｌｉに対するＸ、Ｙ軸位置（Ｘｉ、Ｙｉ）は次の（７）式、（８）式で求められる。
【００２１】
Ｘｉ＝Ｘ１＋（Ｌｉ−Ｌ１）＊（Ｘ２−Ｘ１）／（Ｌ２−Ｌ１）  …（７）
Ｙｉ＝Ｙ１＋（Ｌｉ−Ｌ１）＊（Ｙ２−Ｙ１）／（Ｌ２−Ｌ１）  …（８）
そこで、本実施形態では、Ｘ軸パステーブルＴｘ、Ｙ軸パステーブルＴｙとして、図８（ａ）、（ｂ）に示すように構成する。  
図８（ａ）は、図７に示したような形状を指令するときの、記憶テーブルとしてのＸ軸パステーブルＴｘの説明図である。図８（ｂ）は、同様に図７に示したような形状を指令するときの、Ｙ軸パステーブルＴｙの説明図である。
【００２２】
Ｘ軸、Ｙ軸のパステーブルＴｘ、Ｔｙには、基準位置Ｌに対して、各軸の位置、設定された位置間が円弧接続である各軸の関数、円弧中心位置、半径が記憶されるようになっている。Ｘ軸パステーブルＴｘで説明すると、点Ｐ１の基準位置Ｌ１に対してＸ軸の位置Ｘ１が設定され、点Ｐ２の基準位置Ｌ２に対してＸ軸の位置Ｘ２が設定されている。そして
点Ｐ１から点Ｐ２間は直線接続であることから、関数、中心位置、半径は設定されていない。点Ｐ３の基準位置Ｌ３に対してＸ軸の位置Ｘ３が設定され、点Ｐ２と点Ｐ３間を円弧で接続することから、関数として三角関数の余弦関数を示すＣＯＳが設定され、円弧の中心のＸ軸位置Ｃｘ、円弧半径Ｒが設定されている。
【００２３】
同様に、Ｙ軸パステーブルＴｙには基準位置Ｌ１に対してＹ軸位置Ｙ１、基準位置Ｌ２に対してＹ軸位置Ｙ２、基準位置Ｌ３に対してＹ軸位置Ｙ３、及び関数として正弦関数ＳＩＮ、円弧中心のＹ軸位置Ｃｙ、円弧半径Ｒが設定されている。
【００２４】
なお、円弧の角度Θを図７に示すようにＸ軸と平行な線からの回転角とすれば、関数としては、Ｘ軸に対してはＣＯＳが指定され、Ｙ軸に対してはＳＩＮが図８に示すように指定されることになるが、円弧の角度ΘをＹ軸と平行な線を基準として、該Ｙ軸と平行な線からの回転角とすれば、Ｘ軸に対してはＳＩＮ、Ｙ軸に対してはＣＯＳが三角関数として指定されるものである。
【００２５】
又、円弧以外の三角関数曲線で、指定点間を接続する場合には、その関数と、該関数による曲線位置を特定する位置データ等をパステーブルに指定することになる。
【００２６】
図９は、本発明の数値制御方法を実施する数値制御装置の一実施形態の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス２０を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データが格納される。ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インターフェイス１５を介して読み込まれた加工プログラムや表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。さらに、前述したＸ軸、Ｙ軸のパステーブルＴｘ，Ｔｙが予め格納されている。
【００２７】
インターフェイス１５は、数値制御装置１０と外部機器との接続を可能とするものである。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで工作機械の補助装置にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２８】
表示器／ＭＤＩユニット７０はＣＲＴや液晶等で構成されるディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インターフェイス１９は操作盤７１に接続され、操作盤７１からの各種指令を受け取るようになっている。
【００２９】
各軸の軸制御回路３０、３１、３２はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０、４１、４２に出力する。サーボアンプ４０、４１、４２はこの指令を受けて、各軸のサーボモータ５ｘ、５ｙ、５ｚを駆動する。各軸のサーボモータ５ｘ、５ｙ、５ｚは位置・速度検出器を内蔵し、この位置・速度検出器からの位置、速度フィードバック信号を軸制御回路３０、３１、３２にフィードバックし、位置・速度のフィードバック制御を行う。なお、図９では、位置・速度のフィードバックについては省略している。
【００３０】
また、スピンドル制御回路６０は主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はスピンドル速度信号を受けて、主軸を駆動する主軸モータ６２を指令された回転速度で回転させる。ポジションコーダ６３は、主軸の回転に同期して帰還パルス及び１回転信号をスピンドル制御回路６０にフィードバックし、速度制御を行う。この帰還パルス及び１回転信号は、スピンドル制御回路６０を介してＣＰＵ１１によって読み取られる。この帰還パルスを基準位置として利用するときには、ＲＡＭ１３に設けられたカウンタ（図１におけるカウンタ１）で計数される。また、主軸の指令パルスを基準パルスとして用いてもよい。
【００３１】
図１０は、この実施形態におけるパステーブル運転時の数値制御装置１０のＣＰＵ１１がＸ軸パステーブル補間処理（図１におけるＸ軸パステーブル補間処理）として実施する処理のアルゴリズムを示すフローチャートである。  
数値制御装置のＣＰＵ１１は、パステーブル運転指令がプログラム等より入力されると、図１０に示す処理を所定周期毎実行する。又、パステーブル運転指令により図１におけるカウンタ１，基準位置カウンタ３がリセットとされ、その後、基準位置Ｌを記憶する基準位置カウンタ３に、主軸位置を示すポジションコーダ６３からの帰還パルス（又は指令値）又は時間基準パルスを計数するカウンタ１のカウンタ値に設定オーバライド値を乗じた値を加算し、基準位置（基準値）を更新されている。
【００３２】
そこで、まず、ＣＰＵ１１は、この基準位置Ｌを基準位置カウンタ３より読み取り（ステップＳ１）、Ｘ軸パステーブルをサーチし読み取った基準位置Ｌ以下の基準位置（以下、パステーブルに記憶されている基準位置を記憶基準位置という）があるか判断する（ステップＳ２）。基準位置Ｌ以下の記憶基準位置がなければ当該周期の処理を終了する。即ち基準位置Ｌが設定されている記憶基準位置に達するまで待つことになる。  
Ｘ軸パステーブルより基準位置Ｌ以下の記憶基準位置が検出されると、読み取った基準位置Ｌと同じ又はこの基準位置Ｌより小さい記憶基準位置と該記憶基準位置に対応して記憶されている軸位置をＸ軸パステーブルより読み出す。この記憶基準位置を始点基準位置Ｌａ、Ｘ軸位置を始点Ｘ軸位置Ｘａとしてレジスタに記憶する。Ｘ軸パステーブルＴｘが図８（ａ）である場合には、最初は記憶基準位置Ｌ１、Ｘ軸位置Ｘ１が読み出され、始点基準位置Ｌａ＝Ｌ１、始点Ｘ軸位置Ｘａ＝Ｘ１とされる（ステップＳ３）。
【００３３】
次に、Ｘパステーブルをサーチして基準位置カウンタ３より読み取った基準位置Ｌに近くて大きい記憶基準位置を求める。サーチの結果このような記憶基準位置が見つかれば、該記憶基準位置を終点基準位置Ｌｂ、該記憶基準位置Ｌｂに対応して記憶されているＸ軸位置を終点Ｘ軸位置Ｘｂとし、さらに関数、中心位置Ｃｘ、半径Ｒが記憶されていれば、これら関数（ＣＯＳ，ＳＩＮ）、中心位置のＸ軸位置をＣｘｂ、半径をＲｂとして記憶する（ステップＳ４）。  
一方、ステップＳ４で、Ｘ軸パステーブルをサーチして基準位置カウンタ３より読み取った基準位置Ｌより大きい記憶基準位置が検出できないときには（ステップＳ５）、バステーブル運転を終了する。
【００３４】
又、基準位置Ｌより大きい記憶基準位置Ｌｂが検出されたときには、該記憶基準位置Ｌｂに対応して関数が設定されており、これが読み出されたか判断し、関数が読み出されないときには、直線接続として、上述した（７）式に対応する次の式に基づいてＸ軸位置Ｘｉを求める（ステップＳ１２）。
【００３５】
Ｘｉ＝Ｘａ＋（Ｌ−Ｌａ）＊（Ｘｂ−Ｘａ）／（Ｌｂ−Ｌａ）
例えば、図８（ａ）に示すＸ軸パステーブルＴｘの場合で、ステップＳ３で始点基準位置Ｌａ＝Ｌ１、始点Ｘ軸位置Ｘａ＝Ｘ１として読み込まれ、ステップＳ４で、終点基準位置Ｌｂ＝Ｌ２、終点Ｘ軸位置Ｘｂ＝Ｘ２として読み込まれたときには、（７）式に基づいてＸ軸位置Ｘｉを求められる（ステップＳ１２）。そして、現在値レジスタに記憶するＸ軸の前周期での現在位置Ｘi-1を、求めたＸ軸位置Ｘｉより減じてＸ軸の移動増分εＸを算出し、Ｘ軸サーボモータ５ｘを駆動制御する軸制御回路３０に出力する（ステップＳ１０）。軸制御回路３０では、従来と同様に、位置、速度、電流のフィードバック処理を行い、サーボアンプ４０を介してＸ軸サーボモータ５ｘが駆動する。  
そして、Ｘ軸の現在位置を記憶するレジスタを更新し、ステップＳ１２で求めたＸ軸位置ＸｉをＸi-1とし（ステップＳ１１）、当該周期の処理を終了する。  
以下、ステップＳ１で基準位置カウンタ３から読み出される基準位置ＬがＸ軸パステーブルＴｘに記憶された次の記憶基準位置（Ｌ２）以上になるまで、ステップＳ１〜Ｓ６、Ｓ１２、Ｓ１０、Ｓ１１の処理を各周期毎実行することになる。
【００３６】
基準位置カウンタ３から読み出される基準位置ＬがＸ軸パステーブルＴｘに記憶された次の記憶基準位置に到達すると、ステップＳ３で、この次の記憶基準位置が始点基準位置Ｌａとして読み出される。図８（ａ）のＸ軸パステーブルＴｘの例で説明すると、基準位置カウンタ３から読み出される基準位置Ｌが、記憶基準位置Ｌ２と同一又は該記憶基準位置Ｌ２より大きくなると、ステップＳ３で、記憶基準位置Ｌ２が始点基準位置Ｌａとして読み出され、Ｘ軸位置Ｘ２が始点Ｘ軸位置Ｘａとして読み出されることになる。又、ステップＳ４では記憶基準位置Ｌ３が終点基準位置Ｌｂ、該記憶基準位置Ｌ３に対応しては記憶されているＸ軸位置Ｘ３が終点Ｘ軸位置Ｘｂとし読み出され、かつ、関数ＣＯＳ、中心位置Ｃｘ、半径Ｒが、それぞれＸｂ、ＣＯＳ、Ｃｘｂ、Ｒｂとして読み出されることになる。
【００３７】
そして、関数が設定されているから、ステップＳ６からステップＳ７に移行し、読み出された始点Ｘ軸位置Ｘａ（＝Ｘ２）、終点Ｘ軸位置Ｘｂ（＝Ｘ３）、中心位置Ｃｘｂ（＝Ｃｘ），半径Ｒｂ（＝Ｒ）、始点、終点基準位置Ｌａ、Ｌｂに基づいて、（５）式に対応する次の演算を行って円弧初期角Θが求められる（ステップＳ７）。
【００３８】
Θ＝ｃｏｓ-1（Ｘａ−Ｃｘｂ）／Ｒｂ
なお、円弧の回転角の基準をＹ軸と平行な線からの角度としたときは、Ｘ軸パステーブルには関数としてＳＩＮが記憶され、このステップＳ７での円弧初期角Θを求める演算は、（５’）式に対応する次の演算となる。
【００３９】
Θ＝ｓｉｎ-1（Ｘａ−Ｃｘｂ）／Ｒｂ
又、円弧角速度Δが（６）式に対応する次の演算を行って求められる。
【００４０】
Δ＝(ｃｏｓ-1((Ｘｂ−Ｃｘｂ)／Ｒｂ)−Θ）／(Ｌｂ−Ｌａ)
なお、円弧の回転角の基準をＹ軸と平行な線からの角度としたときは、（６’）式に対応する次の式の演算によって円弧角速度Δが求められる（ステップＳ８）。
【００４１】
Δ＝(ｓｉｎ-1((Ｘｂ−Ｃｘｂ)／Ｒｂ)−Θ）／(Ｌｂ−Ｌａ)
こうして求められた円弧初期角度Θ、円弧角速度Δを用いて、上述した（１）式（円弧の回転角の基準をＸ軸と平行な線からの角度としたとき）、（１’）式（円弧の回転角の基準をＹ軸と平行な線からの角度としたとき）に対応する次の式の演算をおこなって、基準位置Ｌに対応するＸ軸位置Ｘｉを求める（ステップＳ９）。
【００４２】
Ｘｉ＝Ｃｘｂ＋Ｒｂ＊ｃｏｓ（Δ＊（Ｌ−Ｌａ）＋Θ）
又は、
Ｘｉ＝Ｃｘｂ＋Ｒｂ＊ｓｉｎ（Δ＊（Ｌ−Ｌａ）＋Θ）
こうして求められた基準位置Ｌに対応するＸ軸位置Ｘｉから前周期で求め、現在位置として記憶するＸ軸位置Ｘi-1を減じて、Ｘ軸移動増分εＸを求め、軸制御回路３０に出力しＸ軸サーボモータ５ｘを駆動制御する（ステップＳ１０）。又、当該周期で求めたＸ軸位置Ｘｉを現在位置Ｘi-1として記憶し（ステップＳ１１）、当該周期の処理を終了する。
【００４３】
以下、円弧の終点位置に達するまで、図７，図８に示す例で、基準位置Ｌが記憶基準位置Ｌ３に達し、Ｘ軸位置がＸ３に達するまでは、ステップＳ１〜Ｓ１１の処理が各周期毎実行されることになる。
【００４４】
以下、基準位置カウンタ３から読み込んだ基準位置Ｌに及びＸ軸パステーブルＴｘに設定記憶されているデータにもとづいて、上述した処理を実行し、パステーブル運転が実行されることになる。そして、ステップＳ１で読み込んだ基準位置ＬがＸ軸パステーブルＴｘに記憶されている最後の基準位置に達すると、ステップＳ４で、対応する基準位置Ｌｂが読み出せないことから、ステップＳ５の判断でこのパステーブル運転を終了する。
【００４５】
図７，図８に示す例では、ステップＳ１で読み込んだ基準位置ＬがＸ軸パステーブルＴｘの最後の基準位置Ｌ３に達すると、ステップＳ４では、該基準位置Ｌより大きい基準位置が記憶されていないから、このパステーブル運転は終了することになる。
【００４６】
Ｙ軸のパステーブル補間処理についても、図１０のＸ軸のパステーブル補間処理と同等な処理がなされるものである。図１１にＹ軸のパステーブル補間処理として実施する処理のアルゴリズムを示すフローチャートを示す。Ｘ軸のパステーブル補間処理とほぼ同等
であることから、詳細な説明は省略する。
【００４７】
なお、図１０と図１１を対比して明らかのように、ステップＳ'１〜Ｓ'１２はステップＳ１〜Ｓ１２に対応するものであるから、Ｘ軸、Ｙ軸パステーブル補間処理を同時に行うようにしてもよい。
【００４８】
又、ステップＳ７（Ｓ'７）、Ｓ８（Ｓ'８）で求める円弧初期角度Θ、円弧角速度Δは、Ｘ軸で求めても、Ｙ軸で求めても原理的には同じであるから、一方の軸で求めるだけでよい。  
さらに、この円弧初期角度Θ、円弧角速度Δは、円弧指令がなされているとき、その指令された円弧指令での補間処理では、同じ値を取るものであるから、予め求めておき、Ｘ軸、Ｙ軸パステーブルの少なくとも一方に円弧中心位置や半径と共に記憶させるようにしてもよい。又、Ｘ軸、Ｙ軸パステーブルをメモリに格納する時に、指令されている円弧指令毎に円弧初期角度Θ、円弧角速度Δを計算してパステーブルの円弧指令に対応して記憶するようにし、パステーブル運転時には、この記憶した円弧初期角度Θ、円弧角速度Δを利用することによって、ステップＳ７、Ｓ'７、Ｓ８、Ｓ'８の処理を省略することができる。
【図面の簡単な説明】
【００４９】
【図１】従来及び本発明が実行するテーブル形式データによる運転の一例の概要図である。
【図２】従来のテーブル形式データによる運転に用いられるＸ軸パステーブルの例の説明図である。
【図３】図２に示したＸ軸パステーブルのグラフ表示である。
【図４】従来のテーブル形式データによる運転において円弧接続の場合の指令の説明図である。
【図５】従来のテーブル形式データによる運転において円弧接続の場合のＸ軸テーブルとそのグラフ表示を示す図である。
【図６】従来のテーブル形式データによる運転において円弧接続の場合のＹ軸テーブルとそのグラフ表示を示す図である。
【図７】本発明における円弧接続における処理を説明する説明図である。
【図８】本発明におけるＸ軸、Ｙ軸パステーブルの一例である。
【図９】本発明を実施する数値制御装置の一態様の概要ブロック図である。
【図１０】本発明の一実施形態におけるＸ軸パステーブル補間処理のフローチャートである。
【図１１】同実施形態におけるＹ軸パステーブル補間処理のフローチャートである。
【符号の説明】
【００５０】
１  カウンタ
２  乗算器
３  基準位置カウンタ
４ｘ  Ｘ軸パステーブル補間処理部
４ｙ  Ｙ軸パステーブル補間処理部
５ｘ  Ｘ軸サーボモータ
５ｙ  Ｙ軸サーボモータ
Ｔｘ  Ｘ軸パステーブル
Ｔｙ  Ｙ軸パステーブル
１０  数値制御装置
【図１】
2007213238.tif 000003
【図２】
2007213238.tif 000004
【図３】
2007213238.tif 000005
【図４】
2007213238.tif 000006
【図５】
2007213238.tif 000007
【図６】
2007213238.tif 000008
【図７】
2007213238.tif 000009
【図８】
2007213238.tif 000010
【図９】
2007213238.tif 000011
【図１０】
2007213238.tif 000012
【図１１】
2007213238.tif 000013