(57)【要約】【課題】パステーブル運転において、切削送り／早送りの切換えを可能にした。【解決手段】基準の値Ｌに対応して制御軸の位置記憶したパステーブルに、基準の値Ｌに対応して早送りモードに切換える指令Ｒ２００、切削送りモードに切換える指令Ｒ２０１を設定記憶させておく、パステーブルよりｉ行目の指令の基準の値Ｌと軸位置を始点（Ｒｓ（Ｌ），Ｒｓ（Ｘ））とし（Ｓ３、Ｓ１４、ｓ１５）、ｉ＋１行目の指令の基準の値Ｌと軸位置を終点（Ｒｅ（Ｌ），Ｒｅ（Ｘ））とする（Ｓ５）。基準値Ｌｍに同期して指令関数で始点と終点間を移動させる（Ｓ１１〜Ｓ１３）。指令Ｒ２００、Ｒ２０１が読み出されると、指令された送りモードに適したサーボ制御ゲイン等に切換える（Ｓ６，Ｓ７、Ｓ８，Ｓ９）。バステーブル運転中に切削送り、早送りが可能となる。【選択図】図３
2008130013.tif 000002
【特許請求の範囲】
【請求項１】
時間あるいは主軸位置を基準とし、該基準の値と制御軸の位置とを対応させたパステーブルをメモリに格納しておき、該パステーブルの基準の値と制御軸の位置を順次読み出し、基準値に同期して制御軸の位置を制御する数値制御装置において、
前記パステーブルには、切削送りと早送りの送りモードの切換指令を設定しておき、
前記パステーブルより前記切換指令が読み出され、該切換指令が記憶された基準の値に、基準値が達した時に、制御軸を駆動制御するサーボモータの制御手段の制御ゲインを切換指令された送りモードの値に切換える手段を備えたことを特徴とする数値制御装置。
【請求項２】
前記サーボモータの制御手段がフィードフォワード制御をも含むときには、該フィードフォワード制御の係数をも、切換指令された送りのモードの値に切換える請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械や各種産業機械を制御する数値制御装置に関し、特に、時間や主軸位置等の基準値に対する制御軸の位置をテーブル形式データに基づいて制御する数値制御装置に関する。
【背景技術】
【０００２】
時間や主軸位置等の基準とする値に対する制御軸の位置を、テーブル形式データをパステーブルとしてメモリに記憶しておき、このパステーブルに記憶したデータに基づいて、基準値に同期させて、基準値に対応する制御軸の位置をパステーブルより読み出し、該位置に制御軸の位置を制御するパステーブル運転はすでに公知である（特許文献１参照）。
【０００３】
このパステーブル運転での工作機械による加工では、従来の加工プログラムにとらわれない自由な工具の動作が可能となり、加工時間の短縮や加工の高精度化を実現している。
【０００４】
【特許文献１】特許第３６７１０２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のパステーブル運転においては、加工時間の短縮や加工の高精度化を目的としていることから、実際に切削する部分をパステーブル化してパステーブル運転を行うものが多く、移動指令は、切削送りのみである。パステーブル運転では、制御軸を駆動するサーボモータの位置、速度をフィードバック制御するモータ制御部のゲインや、フィードフォワード制御するときのフィードフォワード係数は、切削送り用のゲインや、フィードフォワード係数に固定されている。そのため、パステーブル運転で早送り相当の高速な移動を行わせると、過度にトルクが高くなるなどの問題が生じ、高速移動に適したモータ制御ができないという問題があった。
【０００６】
そこで、本発明の目的は、高速移動に適したモータ制御をも可能にしたパステーブル運転ができる数値制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明、時間あるいは主軸位置を基準とし、該基準の値と制御軸の位置とを対応させたパステーブルをメモリに格納しておき、該パステーブルの基準の値と制御軸の位置を順次読み出し、基準値に同期して制御軸の位置を制御する数値制御装置において、前記パステーブルには、切削送りと早送りの送りモードの切換指令を設定しておき、前記パステーブルより前記切換指令が読み出され、該切換指令が記憶された基準の値に、基準値が達した時に、制御軸を駆動制御するサーボモータの制御手段の制御ゲインを切換指令された送りモードの値に切換える手段を備えたことを特徴とするものである。又、前記サーボモータの制御手段がフィードフォワード制御をも含むときには、該フィードフォワード制御の係数をも、切換指令された送りモードの値に切換えるようにした。
【発明の効果】
【０００８】
パステーブル運転においても、切削送り、早送りと切換えて実施することができ、高速移動のパステーブル運転ができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の一実施形態について図面と共に説明する。  
図１は本発明の一実施形態の数値制御装置１０の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス１９を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及びＣＲＴや液晶等で構成される表示器とキーボード等で構成される手動入力手段とからなる表示器／ＭＤＩユニット２０を介してオペレータが入力した各種データが格納される。ＳＲＡＭ１４には、インターフェイス１５を介して読み込まれた加工プログラムや表示器／ＭＤＩユニット２０を介して入力された加工プログラム等が記憶される。表示器／ＭＤＩユニット２０は、インターフェイス１８を介してバス１９に接続されている。
【００１０】
インターフェイス１５は、数値制御装置１０とメモリカード２１等の外部機器との接続を可能とするものである。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで制御対象物の工作機械の補助装置にＩ／Ｏユニット１７を介して信号を出力し制御する。また、数値制御装置で制御される制御対象物である工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。  
Ｘ、Ｙ、Ｘ軸のサーボモータ３０ｘ、３０ｙ、３０ｚを駆動制御する軸制御回路３１ｘ、３１ｙ、３１ｚはＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ３２ｘ、３２ｙ、３２ｚに出力する。サーボアンプ３２ｘ、３２ｙ、３２ｚはこの指令を受けて、機械（制御対象物）の各軸のサーボモータ３０ｘ、３０ｙ、３０ｚを駆動する。各軸のサーボモータ３０ｘ、３０ｙ、３０ｚは位置・速度検出器を内蔵し、この位置・速度検出器からの位置、速度フィードバック信号を軸制御回路３１ｘ、３１ｙ、３１ｚにフィードバックし、位置・速度のフィードバック制御を行う。なお、図１では、位置・速度のフィードバックについては省略している。
【００１１】
また、スピンドル制御回路４０は主軸回転指令を受け、スピンドルアンプ４１にスピンドル速度信号を出力する。スピンドルアンプ４１はスピンドル速度信号を受けて、主軸モータ４２を指令された回転速度で回転させる。ポジションコーダ４３は、主軸モータ４２の回転に同期して帰還パルスをスピンドル制御回路４０にフィードバックし、速度制御を行う。
【００１２】
上述したように数値制御装置１０のハードウェア構成としては、従来の数値制御装置と同じであるが、本実施形態では、ＳＲＡＭ１４に、基準値に同期させるためにこの基準の値に対する制御軸の位置をテーブル形式データで記憶したパステーブルを予め格納されていることと、該パステーブルに切削送り、早送りのモード切換指令が組み込まれ、パステーブル運転中に切削送りのモータ制御、早送りの高速移動のモータ制御ができるように構成されている点で従来と相違する。なお、基準値としては、時間や主軸の位置を用い、時間を用いるときには、数値制御装置１０内のクロックに基づいて基準値が生成され、主軸位置を用いるときには、ポジションコーダ４３からの主軸位置信号を、スピンドル制御回路４０を介して読込み、この読み込んだ主軸位置を基準値とする。
【００１３】
このモード切換指令が組み込まれたパステーブルの一例を以下に示す。  
Ｌ０ Ｘ０.０ Ｒ１
Ｌ９００ Ｘ１００.０ Ｒ１
Ｌ１０００ Ｒ２００
Ｌ１１００ Ｘ１００.０ Ｒ１
Ｌ２１００ Ｘ５５０.０ Ｒ１
Ｌ２２００ Ｒ２０１
Ｌ２３００ Ｘ５５０.０ Ｒ１
Ｌ４３００ Ｘ５００.０ Ｒ１
…
…
上述したパステーブルのデータにおいて、「Ｌ□」は基準値に対応する基準の値を示し、「Ｘ□」はパステーブル運転による制御軸の位置を示し、この例では制御軸がＸ軸のパステーブル運転の例を示している。なお、パステーブルで指令される基準の値は、Ｌと記載し、同期するために読み出す基準値をＬｍと記載する。又、Ｒ１の指令は、一次関数で輪郭制御を行う指令であり、パステーブルで指令された各制御軸の位置間を一次関数の直線による接続の輪郭制御を行うように移動指令の分配処理を行わせる指令である。又、この指令をＲ２、Ｒ３として指令することにより、二次関数接続、三次関数接続を指令することもできるものである。この点は、前述した特許文献１に記載されており、本願発明と直接関係しないものであるから、詳細は省略する。  
又、Ｒ２００の指令は、切削送りから早送りへの切換を行う送りモード切換指令であり、Ｒ２０１の指令は、早送りから切削送りへの切換を行う送りモード切換指令である。
【００１４】
このパステーブルによる運転による動作、即ち、基準値に対する制御軸のＸ軸の位置の関係をグラフに表したものが図２である。  
パステーブル運転は、パステーブルの１行に記載されているように基準の値Ｌ＝０で制御軸のＸ軸の位置Ｘ＝０から開始される。  
次の行は、Ｌ＝９００、Ｘ＝１００.０であり、Ｒ１の一次関数接続の指令であるから、図２に示すように、基準値Ｌｍが指令値Ｌ＝９００になったときＸ＝１００.０になるように一次関数接続（直線接続）でＸ軸のサーボモータ３０ｘが制御される。次の行には、基準の値Ｌ＝１０００で早送りに切換える指令Ｒ２００が指令されていることから、基準値Ｌｍが「１０００」となった時点で、早送りモードに切換えられ、各制御軸を駆動するサーボモータ３０ｘ、３０ｙ、３０ｚの制御手段の軸制御回路３１ｘ、３１ｙ、３１ｚにおける制御ゲイン（位置や速度のフィードバック制御ゲイン）さらにはフィードフォワード制御をも行っているときは、このフィードフォワード係数を、パラメータメモリに設定されている早送り用の値に変更する。
【００１５】
次の行では、「Ｌ１１００ Ｘ１００.０ Ｒ１」と指令されているから、基準値Ｌｍ＝１１００になるまで、Ｘ軸は移動せず、次の行で「Ｌ２１００ Ｘ５５０.０ Ｒ１」と指令されているから、基準値Ｌｍが「１１００」から「２１００」までの間は、Ｘ軸は「１００.０」から「５５０.０」の位置まで、早送りにより一次関数接続（直線接続）でＸ軸のサーボモータ３０ｘが駆動制御される。
【００１６】
次の行では、「Ｌ２２００ Ｒ２０１」と指令されているから、基準値Ｌｍが「２２００」に達すると、切削送りモードに切換えられ（制御ゲインやフィードフォワード係数の値の切換）、次の行での指令が「Ｌ２３００ Ｘ５５０.０ Ｒ１」でその次の指令が「Ｌ４３００ Ｘ５００.０ Ｒ１」であるから、基準値Ｌｍが「２３００」になるまで待ち、基準値Ｌｍが「２３００」となると、基準値Ｌｍが「４３００」になるまでの間に、Ｘ軸を「５５０.０」から「５００.０」の位置まで、切削送りにより一次関数接続（直線接続）でＸ軸のサーボモータ３０ｘが駆動制御される。
【００１７】
以上のように、上述したパステーブルの例では、図２に示すように、制御軸のＸ軸が駆動制御されることになり、パステーブル運転中も切削送りから、早送りに、又は、逆に早送りから切削送りに切換えられ制御軸を制御できるものである。
【００１８】
図３は、数値制御装置のＣＰＵ１１がパステーブル運転するときの処理のアルゴリズムを示すフローチャートである。このフローチャートにおいても、パステーブル運転で制御される制御軸はＸ軸として説明しているが、他の軸を制御してもよいことはもちろんである。
【００１９】
パステーブル運転を開始する際には、制御軸は、パステーブル運転開始位置に位置決めされており、パステーブル運転指令が入力されると、ＣＰＵ１１は、まず、パステーブルにおける指令が記載されている行を指定するポインタｉを「１」にセットし（ステップＳ１）、該パステーブルのｉ行のデータを読み取り（ステップＳ２）、指令基準の値Ｌｉを、パス始点を記憶するレジスタＭｓ（Ｌ）に格納し、制御軸の指令、即ちＸ軸への指令位置が指定されていれば、該位置Ｘｉをパスの始点を記憶するレジスタＭｓ（Ｘ）に格納する（ステップＳ３）。次に、パステーブルの（ｉ＋１）行のデータを読み取り（ステップＳ４）、指令基準の値Ｌi+1を、パス終点を記憶するレジスタＭｅ（Ｌ）に格納し、制御軸のＸ軸への指令位置が指定されていれば、該位置Ｘi+1をパスの終点を記憶するレジスタＭｅ（Ｘ）に格納する（ステップＳ５）。
【００２０】
ステップＳ４で読み込んだ（ｉ＋１）行のデータで「Ｒ２００」の送りモード切換指令があるか（ステップＳ６）、「Ｒ２０１」の指令があるか（ステップＳ８）、テーブル運転の終了指令があるか（ステップＳ１０）、判断し、これらの指令がなければ、基準値Ｌｍを読み出し（ステップＳ１１）、該基準値ＬｍがステップＳ５でレジスタＭｅ（Ｌ）に記憶した値（Ｌi+1）以上か判断する（ステップＳ１２）。なお、基準値Ｌｍは増大するものとしてパステーブルデータが登録され、テーブル運転されるものとしている。
【００２１】
最初は、基準値ＬｍはレジスタＭｅ（Ｌ）に記憶した終点の値（Ｌi+1）に達していないから、ステップＳ１３に移行し、レジスタＭｓ（Ｌ）、Ｍｓ（Ｘ）に記憶する始点の基準の値Ｌｉ、Ｘ軸の位置Ｘｉと、レジスタＭｅ（Ｌ）、Ｍｅ（Ｘ）に記憶する終点の基準の値Ｌi+1、Ｘ軸の位置Ｘi+1に基づいて、ステップＳ４で読み込んだ、輪郭制御の関数指令Ｒ（Ｒ１、Ｒ２、Ｒ３等）による処理を行い、補間周期におけるＸ軸の位置を求め、前周期でのＸ軸の位置との差の移動量を、Ｘ軸を駆動する軸制御回路３１ｘに出力する。以下、補間周期毎ステップＳ１１〜Ｓ１３の処理を繰り返し実行し、指令された関数による移動量を求めＸ軸の軸制御回路３１ｘに出力し、Ｘ軸の軸制御回路３１ｘは、この指令された移動量と位置・速度検出器からフィードバックされる位置、速度に基づいて位置、速度のフィードバック制御、さらにはフィードフォワード制御等のモータ制御を行い、サーボアンプ３２ｘを介してＸ軸のサーボモータ３０ｘを駆動制御する。
【００２２】
ステップＳ１１〜１３を繰り返し実行中に、基準値ＬｍがレジスタＭｅ（Ｌ）に記憶した終点の値（Ｌi+1）以上になると、ポインタｉを１インクリメントし（ステップＳ１４）、終点の基準の値を記憶するレジスタＭｅ（Ｌ）の値を、始点の基準の値を記憶するレジスタＭｓ（Ｌ）に格納し、終点Ｘ軸位置を記憶するレジスタＭｅ（Ｘ）の値を、終点Ｘ軸位置を記憶するレジスタＭｓ（Ｘ）に格納し（ステップＳ１５）、ステップＳ４に戻り、前述したステップＳ４〜Ｓ６、Ｓ８、Ｓ１０〜Ｓ１５の処理を実行する。
【００２３】
ステップＳ４〜Ｓ６、Ｓ８、Ｓ１０〜Ｓ１５の処理を実行中、ステップＳ６で、切削送りから早送りへの切換を行う送りモード指令Ｒ２００が読み込まれたことが検出されると、設定されている早送り用のパラメータを読込み、制御軸のサーボモータを制御する軸制御回路３１ｘ、３１ｙ、３１ｚのモータ制御ゲイン等のパラメータ値に切換える。即ち、サーボモータの位置、速度を制御する位置、速度のフィードバック制御の位置ループゲインや速度制御ゲイン等を早送り用の値に変更する。又、軸制御回路３１ｘ、３１ｙ、３１ｚがフィードフォワード制御をも行うものであれば、このフィードフォワード制御のフィードフォワード係数も早送り用の値に切換えて（ステップＳ７）、ステップＳ１１に移行する。以後は、軸制御回路３１ｘ、３１ｙ、３１ｚは切換えられた早送り用のモータ制御のゲインや係数に基づいてサーボモータ３０ｘ、３０ｙ、３０ｚは制御されることになる。
【００２４】
一方、ステップＳ８で、早送りから切削送りへの切換を行う指令Ｒ２０１が読み込まれたことが検出されると、切削送り用のパラメータを読込み、軸制御回路３１ｘ、３１ｙ、３１ｚのモータ制御ゲインやフィードフォワード係数を切削送り用の値に切換えて（ステップＳ９）、ステップＳ１１に移行する。以後は、軸制御回路は切換えられた切削送り用のモータ制御のゲインや係数に基づいてサーボモータは制御されることになる。
【００２５】
上述したステップＳ４からステップＳ１５までの処理が繰り返し実行されて、ステップＳ１０でテーブル運転の終了指令が読み込まれたことが判別されるとこのテーブル運転は終了する。
【００２６】
そこで、図２に示した動作を実行させる上述したパステーブルのデータの例で説明すると、ステップＳ１でポインタｉが「１」にセットされ、ステップＳ３で、ｉ＝１行で指令された基準の値Ｌ＝０がレジスタＭｓ（Ｌ）に格納され、Ｘ軸位置Ｘ＝０.０がレジスタＭｓ（Ｘ）に格納される。又、ステップＳ５では、レジスタＭｅ（Ｌ）に「９００」が格納され、レジスタＭｅ（Ｘ）に「１００.０」が格納される。そして、ステップＳ１１〜Ｓ１３の処理によって、図２に示すように、始点（Ｍｓ（Ｌ），Ｍｓ（Ｘ））＝（Ｌ1，Ｘ1）＝（０，０.０）から終点（Ｍｅ（Ｌ），Ｍｅ（Ｘ））＝（Ｌ2，Ｘ2）＝（９００，１００.０）まで、一次関数（Ｒ１）による直線移動の輪郭制御がなされる。
【００２７】
そして、基準値Ｌｍが「９００」になると、ステップＳ１２からステップＳ１４に移行しポインタｉがインクリメントされ（ｉ＝２）、今までの終点を始点とする置き換え処理のステップＳ１５の処理がなされ、始点（Ｍｓ（Ｌ），Ｍｓ（Ｘ））＝（Ｌ2，Ｘ2）＝（９００，１００.０）とされ、次の３行（ｉ＋１＝２＋１＝３）の指令がステップＳ４で読み込まれるが、この行の指令は、「Ｌ１０００ Ｒ２００」であることから、ステップＳ５では、Ｍｅ（Ｌ）には「１０００」が格納されるが、Ｍｅ（Ｘ）には、指令がないので、先に記憶した「１００.０」が記憶された状態となる。すなわち、終点（Ｍｅ（Ｌ），Ｍｅ（Ｘ））＝（Ｌ3，Ｘ3）＝（１０００，１００.０）となる。又、「Ｒ２００」の指令であることから、早送りモードに切換えられ（ステップＳ７）、ステップＳ１１〜Ｓ１３の処理がなされるが、始点（Ｍｓ（Ｌ），Ｍｓ（Ｘ））＝（Ｌ2，Ｘ2）＝（９００，１００.０）で、終点（Ｍｅ（Ｌ），Ｍｅ（Ｘ））＝（Ｌ3，Ｘ3）＝（１０００，１００.０）であるから、Ｘ軸は移動しない。
【００２８】
基準値Ｌｍが終点位置１０００に達すると、ポインタｉは「３」とされ（ステップＳ１４）、始点を記憶するレジスタＭｓ（Ｌ）には「１０００」、Ｍｓ（Ｘ）には「１００.０」が格納され（ステップＳ１５）、ステップＳ４でｉ＋１＝４行目の指令が読まれ、ステップＳ５で、終点のレジスタＭｅ（Ｌ）には、「１１００」、Ｍｅ（Ｘ）には「１００.０」が格納されることになる。そしてステップＳ１１〜Ｓ１３の処理がなされるが、始点と終点のＸ軸位置が同じであることから、Ｘ軸のサーボモータ３０ｘは移動せず停止したままである。
【００２９】
そして基準値Ｌｍが「１１００」となると、ポインタｉは「４」、レジスタＭｓ（Ｌ）には「１１００」、Ｍｓ（Ｘ）には「１００.０」が格納され（ステップＳ１４、Ｓ１５）、ステップＳ５で、５行目の指令により、レジスタＭｅ（Ｌ）には「２１００」、Ｍｓ（Ｘ）には「５５０.０」が格納されることから、ステップＳ１１〜Ｓ１３の処理では、始点（Ｍｓ（Ｌ），Ｍｓ（Ｘ））＝（１１００，１００.０）から終点（Ｍｅ（Ｌ），Ｍｅ（Ｘ））＝（２１００，５５０.０）まで、一次関数の直線送りによる早送りが図２に示すように実行されることになる。
【００３０】
そして、基準値Ｌｍが「２１００」に達すると、ｉ＝５、Ｍｓ（Ｌ）＝２１００、Ｍｓ（Ｘ）＝５５０.０となり、ステップＳ５で、ｉ＋１行の６行の指令で、Ｍｅ（Ｌ）＝２２００、Ｍｅ（Ｘ）の値は変化なく「５５０.０」となり、「Ｒ２０１」が指令されていることから、ステップＳ９で切削送りモードに切換えられ、ステップＳ１１〜Ｓ１３での処理では、Ｘ軸の始点と終点が同じ「５５０.０」であるから、移動はない。
【００３１】
基準値Ｌｍが「２２００」に達すると、ｉ＝６，Ｍｓ（Ｌ）＝２２００、Ｍｓ（Ｘ）＝５５０.０（ステップＳ１４、Ｓ１５）となり、ｉ＋１＝６＋１＝７行目の指令により、Ｍｅ（Ｌ）＝２３００、Ｍｅ（Ｘ）＝５５０.０となり、ステップＳ１１〜Ｓ１３での処理では、この場合も、Ｘ軸の始点と終点が同じ「５５０.０」であるから、移動はない。
【００３２】
基準値Ｌｍが「２３００」に達すると、ｉ＝７，Ｍｓ（Ｌ）＝２３００、Ｍｓ（Ｘ）＝５５０.０（ステップＳ１４、Ｓ１５）となり、ｉ＋１＝７＋１＝８行目の指令により、Ｍｅ（Ｌ）＝４３００、Ｍｅ（Ｘ）＝５００.０となり、ステップＳ１１〜Ｓ１３での処理では、始点（Ｍｓ（Ｌ），Ｍｓ（Ｘ））＝（２３００，５５０.０）から終点（Ｍｅ（Ｌ），Ｍｅ（Ｘ））＝（４３００，５００.０）まで、一次関数の直線の切削送りが実行されることになる。  
以下、前述した動作がテーブル運転エンドの指令が読み込まれるまで、実行されることになる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態の数値制御装置の要部ブロック図である。
【図２】同実施形態におけるパステーブル運転の一例である。
【図３】同実施形態におけるパステーブル運転のアルゴリズムを示すフローチャートである。
【符号の説明】
【００３４】
１０  数値制御装置
【図１】
2008130013.tif 000003
【図２】
2008130013.tif 000004
【図３】
2008130013.tif 000005